<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://newgrf-specs.tt-wiki.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Lurkmore</id>
	<title>GRFSpecs - User contributions [en-gb]</title>
	<link rel="self" type="application/atom+xml" href="https://newgrf-specs.tt-wiki.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Lurkmore"/>
	<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/wiki/Special:Contributions/Lurkmore"/>
	<updated>2026-06-03T17:41:35Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=Standardized_Railtype_Scheme&amp;diff=4785</id>
		<title>Standardized Railtype Scheme</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=Standardized_Railtype_Scheme&amp;diff=4785"/>
		<updated>2024-05-01T01:41:57Z</updated>

		<summary type="html">&lt;p&gt;Lurkmore: /* Rail System/Gauge */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This railtype label scheme aims to bring order to the uncontrolled growth of railtype labels. It groups the rail types into what matters from a technical perspective. The scheme provides a standardized way of defining railtype labels, based on track gauge and type, speed class, allowable axle weight and electrification type.&lt;br /&gt;
&lt;br /&gt;
It is the explicit intent of this scheme to decouple track sets from vehicle sets to facilitate easy mixing. This way the player can select a track set of choice to go with a train set of choice. It allows the player to play with or without axle load classes, or with or without speed limit classes, simply by loading a track set that does or does not provide these features. In some cases it will also be possible to combine niche track sets, for instance a standard gauge track set with a narrow gauge and a metro track set.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== The Label Scheme ==&lt;br /&gt;
A railtype label consists of four characters. In this scheme, each position has a different purpose:&lt;br /&gt;
# Track gauge and type class (e.g. standard gauge rail, narrow gauge rail, monorail)&lt;br /&gt;
# Speed limit class&lt;br /&gt;
# Axle load class (maximum allowed axle weight for this track)&lt;br /&gt;
# Energy source type class&lt;br /&gt;
&lt;br /&gt;
In the next sections, each of the four positions will be explained.&lt;br /&gt;
&lt;br /&gt;
=== Track gauge and type class [X***] ===&lt;br /&gt;
The first position in the railtype label defines track gauge and/or track type class. The following classes are currently defined:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Track type/gauge&lt;br /&gt;
|- &lt;br /&gt;
|S ||Standard gauge rail&lt;br /&gt;
|-&lt;br /&gt;
|B ||Broad gauge rail &lt;br /&gt;
|-&lt;br /&gt;
|N ||Narrow gauge rail&lt;br /&gt;
|-&lt;br /&gt;
|n ||Secondary narrow gauge rail (e.g. when providing both metre and cape gauge, always use N in case of just one type of narrow gauge)&lt;br /&gt;
|-&lt;br /&gt;
|D ||Dual gauge rail, standard/broad gauge&lt;br /&gt;
|-&lt;br /&gt;
|d ||Dual gauge rail, standard/narrow gauge&lt;br /&gt;
|-&lt;br /&gt;
|M ||Monorail&lt;br /&gt;
|-&lt;br /&gt;
|L ||Magnetic Levitation&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Speed limit class [*X**] ===&lt;br /&gt;
The second position in the railtype label defines the speed limit class. These classes do not map to a fixed numeric value, but are used to define an internal speed limit order for the track set. This means that if your track set has two different speed limits for track types that are otherwise identical, you&#039;ll use letters A and B here. In case of three different speed limits, use A, B and C. In case your track set does not employ speed limits, always use A. Train sets do not care about the speed limit, and will always set the lowest speed class, i.e. A.&lt;br /&gt;
&lt;br /&gt;
This gives for instance the following options:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||no speed limits&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;OR&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||low speed&lt;br /&gt;
|-&lt;br /&gt;
|B ||high speed&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;OR&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||low speed&lt;br /&gt;
|-&lt;br /&gt;
|B ||medium speed&lt;br /&gt;
|-&lt;br /&gt;
|C ||high speed&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;etc.&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear:left;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The speed limit class may also be used for some advanced features of the label scheme, like specialized track types and eyecandy purposes. Be careful not to break the compatibility with other sets when using the speed limit class for these purposes.&lt;br /&gt;
&lt;br /&gt;
An example of a special use is rack rail. In the French set it is used to give rack rail engines a higher speed and TE than normal rail engines when used on rack rail. When defining trains with a special speed limit class, always allow a fallback to speed limit class A via the railtype table.&lt;br /&gt;
&lt;br /&gt;
An example of eyecandy use are urban tracks. These are a variation of regular tracks, but with concrete ground tiles to better match the urban environment. Train sets must not define vehicles for eyecandy classes. If you think you have special vehicles that should only run on the eyecandy class, it is &#039;&#039;not&#039;&#039; eyecandy but a separate track gauge/type.&lt;br /&gt;
&lt;br /&gt;
The following special and eyecandy classes have been defined so far:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Description !!Type !!Used by&lt;br /&gt;
|- &lt;br /&gt;
|A-H ||speed limits ||colspan=&amp;quot;2&amp;quot;| reserved&lt;br /&gt;
|- &lt;br /&gt;
|R ||rack rail, that allows this vehicle to not slow down going uphill ||special ||French Set Rails&lt;br /&gt;
|- &lt;br /&gt;
|S ||subterranean ||eyecandy ||Metro Track Set&lt;br /&gt;
|- &lt;br /&gt;
|U ||urban ||eyecandy ||Metro Track Set&lt;br /&gt;
|}&lt;br /&gt;
Rack rail needs a bit greater of a explanation, idealy it would be coded in a way where both Pure rack and Rack-and-adhesion systems are supported.&lt;br /&gt;
This can be achieved by making regular tracks powered on rackrail without the opposite being true. This means vehicles defined for NRAN can&#039;t go on NAAN (like a pure rack system) but NAAN vehicles can go on NRAN (like a rack-and-adhesion system). Currently French Set Rails implements compatiblility both ways which makes pure rack systems impossible.&lt;br /&gt;
&lt;br /&gt;
=== Axle load class [**X*] ===&lt;br /&gt;
The third position defines the axle weight limit. Heavy trains cannot run on tracks with a low axle weight limit; these trains need more expensive tracks with a heigher weight limit. There are five axle load classes &#039;&#039;&#039;A&#039;&#039;&#039; through &#039;&#039;&#039;E&#039;&#039;&#039;. &#039;&#039;&#039;A&#039;&#039;&#039; is for the lowest axle load limit, &#039;&#039;&#039;E&#039;&#039;&#039; for the highest. The exact axle load attached to each class is relative to the track gauge/type and trains in the set. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A train set should set the appropriate axle weight for each train via the railtype label, as to make the set work with track sets that do provide tracks with different weight limits, even if you don&#039;t care about it for your trainset. Split all vehicles of a certain track gauge/type into five groups of similar axle weight. The group with the lowest axle weights will get class &#039;&#039;&#039;A&#039;&#039;&#039;, the second lowest class &#039;&#039;&#039;B&#039;&#039;&#039;, etc. up to the group with the highest axle weights which will get class &#039;&#039;&#039;E&#039;&#039;&#039;. Do the same for the other track gauge/types if your train set has those.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A track set does not have to provide a dedicated track type for each axle weight limit. A track set that does not provide a dedicated track for each axle load class, must make sure to map all undefined axle load classes to a real railtype using property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]]. This way a train set can rely on all labels for all axle load classes being available. Example: if you only want to provide 2 axle load classes for standard gauge unelectrified with no speed limits, you can map SA&#039;&#039;&#039;A&#039;&#039;&#039;N + SA&#039;&#039;&#039;B&#039;&#039;&#039;N to SA&#039;&#039;&#039;C&#039;&#039;&#039;N and SA&#039;&#039;&#039;D&#039;&#039;&#039;N to SA&#039;&#039;&#039;E&#039;&#039;&#039;N if the cost difference between the two railtypes is high, or SA&#039;&#039;&#039;A&#039;&#039;&#039;N to SA&#039;&#039;&#039;B&#039;&#039;&#039;N and SA&#039;&#039;&#039;C&#039;&#039;&#039;N + SA&#039;&#039;&#039;D&#039;&#039;&#039;N to SA&#039;&#039;&#039;E&#039;&#039;&#039;N if the cost difference is low.&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t want to provide any axle load classes in your track set, it doesn&#039;t really matter what axle load class you choose for the track, as you&#039;ll be mapping all other classes to this track anyways. But the lowest or highest class are the obvious choice. Example: if your track set only provides narrow gauge unelectrified track with no speed limits and no axle load limits, you may use NA&#039;&#039;&#039;A&#039;&#039;&#039;N for the track label, and provide NA&#039;&#039;&#039;B&#039;&#039;&#039;N, NA&#039;&#039;&#039;C&#039;&#039;&#039;N, NA&#039;&#039;&#039;D&#039;&#039;&#039;N, NA&#039;&#039;&#039;E&#039;&#039;&#039;N in property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you need more than five axle load class, you may use lowercase letters for very low axle loads and continue the uppercase letters for very high axle loads. Be advised that your train set may not assume the existance of any other class than &#039;&#039;&#039;A&#039;&#039;&#039; through &#039;&#039;&#039;E&#039;&#039;&#039;, so when the range make sure to program your railtype table such that trains with such a class will fall back to class &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;E&#039;&#039;&#039;. If you make a track set with an extended range, be aware that not all train sets will define trains for these tracks. In general: only do this in case of a train set with a matching track set.&lt;br /&gt;
&lt;br /&gt;
For the lowercase letters, &#039;&#039;&#039;b&#039;&#039;&#039; is lower than &#039;&#039;&#039;a&#039;&#039;&#039;, so for increasing axle load limits: b &amp;lt; a &amp;lt; A &amp;lt; B &amp;lt; C etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that the axle load classes never map to a specific weight in tonnes. For that reason it does not make sense to add a numeric value for the axle load to the name of a track type or in the extended purchase info of a train. Instead use the relative expressions &#039;very low&#039;, &#039;low&#039;, &#039;medium&#039;, &#039;high&#039; and &#039;very high&#039; or use the class letters directly.&lt;br /&gt;
&lt;br /&gt;
If a guideline is needed for updating a set to use axle loads in a train set where they don&#039;t yet exist, the following might serve as a basic &amp;quot;generic&amp;quot; guideline...&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&lt;br /&gt;
! !!Indefinite !!Generic !! First usage&lt;br /&gt;
|-&lt;br /&gt;
|c ||Horse-drawn Wagonway ||1 metric tonne (1000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|1594&lt;br /&gt;
|-&lt;br /&gt;
|b ||Iron Plateway ||1 metric tonne (1000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|1799&lt;br /&gt;
|-&lt;br /&gt;
|a ||Prototype Rails ||5 metric tonnes (5000kg) per axle; Because reserved by examples || style=&amp;quot;text-align:right;&amp;quot;|1820&lt;br /&gt;
|-&lt;br /&gt;
|A ||Very Low (2012 OG Default)||10 metric tonnes (10000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|1828&lt;br /&gt;
|-&lt;br /&gt;
|B ||Low (2024 &amp;quot;New&amp;quot; Default) ||20 metric tonnes (20000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|1968&lt;br /&gt;
|-&lt;br /&gt;
|C ||Medium ||30 metric tonnes (30000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|~1978&lt;br /&gt;
|-&lt;br /&gt;
|D ||High ||40 metric tonnes (40000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|1988&lt;br /&gt;
|-&lt;br /&gt;
|E ||Very High ||50 metric tonnes (50000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|2008&lt;br /&gt;
|-&lt;br /&gt;
|F ||Future-proofing ||No limit per axle (update in 2030 or so?) || style=&amp;quot;text-align:right;&amp;quot;|~2028&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Energy source type class [***X] ===&lt;br /&gt;
The last position defines the energy source type class. This is split in generic energy source types like overhead wires and third rail and specialized types like alternating and direct current.&lt;br /&gt;
&lt;br /&gt;
A track set that only uses specialized types, should map the generic types to the most suitable specialized type in the set.&lt;br /&gt;
&lt;br /&gt;
A vehicle set that uses specialized types should define a generic type as fallback, via the railtype table. If such a fallback is omitted, please note that certain vehicles may be unavailable depending on track set loaded.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Generic energy type classes&lt;br /&gt;
|-&lt;br /&gt;
|N ||no electrification&lt;br /&gt;
|-&lt;br /&gt;
|E ||overhead wires/catenary electrification&lt;br /&gt;
|-&lt;br /&gt;
|3 ||3rd rail electrification&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Specialized energy type classes !!Vehicle set fallback&lt;br /&gt;
|-&lt;br /&gt;
|Z ||3rd rail and catenary electrification || 3 or E&lt;br /&gt;
|-&lt;br /&gt;
|4 ||4th rail electrification || 3&lt;br /&gt;
|-&lt;br /&gt;
|Y ||4th rail and catenary electrification || 4 or E&lt;br /&gt;
|-&lt;br /&gt;
|T ||[http://en.wikipedia.org/wiki/Three-phase_AC_railway_electrification three phase AC electrification] || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|D ||DC catenary electrification || E&lt;br /&gt;
|-&lt;br /&gt;
|d ||low voltage DC catenary electrification (only when D also used in set) || First A then E&lt;br /&gt;
|-&lt;br /&gt;
|A ||AC catenary electrification || E&lt;br /&gt;
|-&lt;br /&gt;
|a ||low voltage AC catenary electrification (only when A also used in set) || First A then E&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
If you want multi-voltage/current vehicles in your set (i.e. a train that can run on both AC and DC current), you have to define a dedicated railtype for those vehicles. Without the railtype, it&#039;s not possible to define vehicles with this property. If you only have vehicles that can run on either one type of voltage/current or on all types of voltage/current (e.g. a 2-system if you only have &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;D&#039;&#039;&#039; tracks, or a 4-system in case of all &#039;&#039;&#039;A&#039;&#039;&#039;, &#039;&#039;&#039;a&#039;&#039;&#039;, &#039;&#039;&#039;D&#039;&#039;&#039; and &#039;&#039;&#039;d&#039;&#039;&#039;), then use the generic class &#039;&#039;&#039;E&#039;&#039;&#039; for vehicles that should be able to run on all different voltage/currents. Also the track set needs to have one at least one railtype with class &#039;&#039;&#039;E&#039;&#039;&#039; defined.&lt;br /&gt;
&lt;br /&gt;
Note that if you want more than one type of multi-voltage/current, you&#039;ll quickly get a combinatory explosion of railtype labels, so plan carefully or do not attempt it. For every different multi-voltage/current vehicle type a dedicated railtype is needed. If you want all possible combinations, then you need to define an additional 8 classes. It is not recommended to make your train/track set this complicated.&lt;br /&gt;
&lt;br /&gt;
Example approach for a 4-system set, with trains that can run on either one or all systems:&lt;br /&gt;
* &#039;&#039;&#039;E&#039;&#039;&#039;: generic catenary-powered electric engines. &amp;quot;universal&amp;quot; [4-system] if any of &#039;&#039;&#039;D&#039;&#039;&#039;/&#039;&#039;&#039;d&#039;&#039;&#039;/&#039;&#039;&#039;A&#039;&#039;&#039;/&#039;&#039;&#039;a&#039;&#039;&#039; are defined.&lt;br /&gt;
* &#039;&#039;&#039;A&#039;&#039;&#039;: generic AC catenary electric engines. 25kV only if &#039;&#039;&#039;a&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;A&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;a&#039;&#039;&#039;: 15kV AC catenary electric engines. Only defined if &#039;&#039;&#039;A&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;a&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;D&#039;&#039;&#039;: generic DC catenary electric engines. 3kV if &#039;&#039;&#039;d&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;D&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;d&#039;&#039;&#039;: 1.5kV DC catenary electric engines. Only defined if &#039;&#039;&#039;D&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;D&#039;&#039;&#039; and &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;d&#039;&#039;&#039;.&lt;br /&gt;
For a 2-system set, you can simply drop &#039;&#039;&#039;a&#039;&#039;&#039; and &#039;&#039;&#039;d&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Standard labels: RAIL, ELRL, MONO, MGLV ===&lt;br /&gt;
It&#039;s not possible to undefine the standard railtypes RAIL, ELRL, MONO and MGLV. The game will always add those if there are vehicles defined for these track types. As a result, for a track set it&#039;s best not to ignore those standard labels, but rather work with them and define them in the set. If your track set does not have monorail or maglev tracks, there of course is no need to define those. But if your track set defines anything that resembles unelectrified or electrified rail, you should use the RAIL and ELRL labels. Matching labels from the above scheme will then be defined in property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
As vehicles from NewGRFs that do not use explicit railtypes will end up on these standard railtypes, you should use RAIL instead of whatever type could be regarded as the most commonly used unelectrified type, ELRL instead of the most commonly used electrified type and so on. The label according to this scheme is then set as an alternate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Summary for track sets ==&lt;br /&gt;
This section summarizes the above for track sets.&lt;br /&gt;
&lt;br /&gt;
; [X***] Track gauge and type class&lt;br /&gt;
* Define at least one track type for every track gauge/type class you want in your set.&lt;br /&gt;
* If you only provide tracks for one gauge/type, consider leaving some free railtypes so a player can load an additional set for some other type.&lt;br /&gt;
; [*X**] Speed limit class&lt;br /&gt;
* Make sure class A is always available, either directly or via an alternate label.&lt;br /&gt;
* Use only class A if you don&#039;t want speed limits;&lt;br /&gt;
* With speed limits, A is the lowest speed limit. Continue with B, C, etc. for increasing speed limits;&lt;br /&gt;
* The speed class can also be used to implement additional eye-candy track types, use letters higher in the alphabet for this.&lt;br /&gt;
; [**X*] Axle load class&lt;br /&gt;
* Always define all classes A through E for every track type class / electrification combination, either:&lt;br /&gt;
** Directly via a real railtype definition;&lt;br /&gt;
** Indirectly via the alternate rail type label list, property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
* Extend the predefined classes only if you also provide a train set that makes use of these.&lt;br /&gt;
; [***X] Energy source type class&lt;br /&gt;
* If your set only uses specialized classes, always map the generic classes to the closest matching specialized type via property 1D.&lt;br /&gt;
; Standard labels [RAIL, ELRL, MONO, MGLV]&lt;br /&gt;
* Always define the standard labels when possible, instead of what would be the equivalent of the standard label in this scheme.&lt;br /&gt;
* Map the equivalent labels from this scheme to the standard labels using property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
Or, put differently, for each gauge/type, select one or more energy source types. For each type/energy combination provide all axle load classes for the speed class &amp;quot;A&amp;quot;, either as a real type or as an alternate of another type. Provide more types with a different speed letter if you want to provide several different speeds or other eye-candy tracks.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Summary for train sets ==&lt;br /&gt;
This section summarizes the above for train sets.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; [X***] Track gauge and type class&lt;br /&gt;
* Use the track type class that matches the vehicle;&lt;br /&gt;
* Define a fallback type via the railtype table in case you want the vehicle to be available on a different track if no matching track set is loaded.&lt;br /&gt;
** Specialized subtypes like &amp;quot;n&amp;quot; might not always be available. If you want those vehicles to be still available then, fall back the the generic class (e.g. &amp;quot;N&amp;quot;).&lt;br /&gt;
; [*X**] Speed limit class &lt;br /&gt;
* Always use class A for every vehicle.&lt;br /&gt;
; [**X*] Axle load class&lt;br /&gt;
* Use all classes A through E according to the maximum axle weight of the vehicle.&lt;br /&gt;
* Extend the predefined classes only if you also provide a track set that makes use of these;&lt;br /&gt;
** When extending the predefined classes A through E, define a fallback type via the railtype table in case you want the vehicle to be available if no matching track set is loaded.&lt;br /&gt;
; [***X] Energy source type class&lt;br /&gt;
* Use the energy source type class that matches the vehicle;&lt;br /&gt;
* When using specialized classes, define a fallback type via the railtype table in case you want the vehicle to be available if no matching track set is loaded.&lt;br /&gt;
; Standard labels [RAIL, ELRL, MONO, MGLV]&lt;br /&gt;
* Define a fallback type to the standard labels via the railtype table in case you want the vehicle to be available on the standard tracks if no matching track set is loaded.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Be as specific as you want when selecting the railtype, it is the job of the track set to select a playable, reduced subset out of all possible type combinations.&lt;br /&gt;
&lt;br /&gt;
== In case you&#039;re not convinced by this scheme ==&lt;br /&gt;
Adopting this scheme gives the player freedom to use any track set in combination with any train set that follow the scheme. &lt;br /&gt;
&lt;br /&gt;
This means that you can make your train set compatible with track sets that provide axle load classes, and track sets that provide speed limits, and at the same time with track sets that provide none of this. This way, the player can decide to play with or without axle load classes, or with or without speed limits, simply by loading a track set that does or does not provide these features.&lt;br /&gt;
&lt;br /&gt;
And for your track set, it means that you can make it as simple or as complicated as you want (within the 64 track type limit), while not having to worry about compatibility with train sets.&lt;br /&gt;
&lt;br /&gt;
Still not convinced? Feel free to use railtype labels of your own, but know that you will likely come to regret that at some point in the future.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Forum topic==&lt;br /&gt;
If you want to discuss the standardized railtype scheme or have any questions about it, you can visit [http://www.tt-forums.net/viewtopic.php?t=59379 the forum topic].&lt;br /&gt;
&lt;br /&gt;
==&amp;quot;Innsbruck 2022 Convention&amp;quot; for partial compliance==&lt;br /&gt;
&lt;br /&gt;
This is really esoteric, but eh. It was the product of long discussion / debate / argument / reasoning between grf authors.&lt;br /&gt;
&lt;br /&gt;
1. The Standardized Railtype Scheme &#039;&#039;&#039;is a useful tool&#039;&#039;&#039; for providing reliable compatibility between train grfs and railtype grfs.&lt;br /&gt;
&lt;br /&gt;
2. The &#039;&#039;&#039;axle load class&#039;&#039;&#039; in the scheme presents a number of issues for compliance.&lt;br /&gt;
&lt;br /&gt;
2.1. Over 10 years since the scheme was standardised, not many train grfs implement multiple axle load classes &#039;&#039;&#039;as required by the scheme&#039;&#039;&#039;.  Known examples that &#039;&#039;&#039;do&#039;&#039;&#039; comply include Dutch Train Set, French Narrow Gauge Trains, and Finnish Trains.&lt;br /&gt;
&lt;br /&gt;
2.2. Elements of the axle load rules have proven hard to interpret.  For example:&lt;br /&gt;
&lt;br /&gt;
* is it compliant to use &#039;&#039;fewer&#039;&#039; than 5 classes in a train grf?  There is a lack of consensus on this.&lt;br /&gt;
* axle load is only one of many factors that govern whether a vehicle is compatible with a route, for example loading gauge, minimum curve, signalling types etc&lt;br /&gt;
&lt;br /&gt;
2.3. Meanwhile &#039;&#039;multiple existing train grfs use class &#039;&#039;A&#039;&#039; for the axle load for all trains&#039;&#039; (except where relying on default railtypes such as RAIL and ELRL).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3. The Innsbruck 2022 Convention uses class &#039;&#039;A&#039;&#039; for axle load for &#039;&#039;&#039;all&#039;&#039;&#039; trains in a train grf (except where relying on default railtypes such as RAIL and ELRL).&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is &#039;&#039;&#039;not&#039;&#039;&#039; fully compliant with the Standardized Railtype Scheme and does not claim to be.&lt;br /&gt;
&lt;br /&gt;
However train grfs using the Innsbruck 2022 Convention are &#039;&#039;broadly compatible&#039;&#039; with railtype grfs using the Standardized Railtype Scheme.  &lt;br /&gt;
&lt;br /&gt;
Obligatory XKCD link about &#039;standards&#039;: https://xkcd.com/927/&lt;br /&gt;
&lt;br /&gt;
===Known issues===&lt;br /&gt;
&lt;br /&gt;
Known problems are that trains using only class &#039;A&#039; may limit the ability of railtype grf authors to achieve their design goals for separating railtypes by axle load.  &lt;br /&gt;
But on reflection, it can be seen that a train grf might not be able to provide a broad enough range of vehicles to cover at least 5 axle load classes.&lt;br /&gt;
&lt;br /&gt;
3.1. The Innsbruck 2022 Convention is &#039;&#039;&#039;not&#039;&#039;&#039; appropriate for train grf authors who wish to provide more than one axle load class.&lt;br /&gt;
&lt;br /&gt;
3.2. The Innsbruck 2022 Convention treats the meaning of class &#039;&#039;A&#039;&#039; as &#039;&#039;undefined&#039;&#039;, &#039;&#039;ignored&#039;&#039; or &#039;&#039;compatible with most restricted railtype&#039;&#039; for axle load.  &lt;br /&gt;
&lt;br /&gt;
Axle load class &#039;&#039;A&#039;&#039; &#039;&#039;&#039;cannot&#039;&#039;&#039; be safely interpreted as &#039;&#039;universal&#039;&#039; because from the perspective of a railtype grf &#039;&#039;A&#039;&#039; is &#039;&#039;most restricted railtype&#039;&#039;, where &#039;&#039;universal&#039;&#039; is better represented as &#039;&#039;least restricted railtype&#039;&#039;. Depending how many axle load classes are in use by the railtype grf, this could be class &#039;&#039;B&#039;&#039;, &#039;&#039;C&#039;&#039;, &#039;&#039;D&#039;&#039;, &#039;&#039;E&#039;&#039; etc.  To illustrate this issue, take the following scenario&lt;br /&gt;
&lt;br /&gt;
* railtype grf defines axle loads &#039;&#039;A&#039;&#039; to &#039;&#039;E&#039;&#039;. In this case the railtype grf author intends that &#039;&#039;A&#039;&#039; is compatible with the smallest range of vehicles, &#039;&#039;E&#039;&#039; is compatible with the largest range of vehicles, and &#039;&#039;B&#039;&#039;, &#039;&#039;C&#039;&#039; and &#039;&#039;D&#039;&#039; are compatible with some intermediate ranges of vehicles&lt;br /&gt;
* but the vehicle grf author has defined all vehicles to be axle load &#039;&#039;A&#039;&#039; in an attempt to express this vehicle is &#039;&#039;universal&#039;&#039;.  The result in the game is that an identical range of vehicles will be compatible with railtypes &#039;&#039;A&#039;&#039; to &#039;&#039;E&#039;&#039;.  &lt;br /&gt;
&lt;br /&gt;
This is clearly &#039;&#039;&#039;not&#039;&#039;&#039; the intended outcome of the railtype author. But nor is it clear within the spec that the vehicle author has particularly done anything wrong. &lt;br /&gt;
&lt;br /&gt;
It &#039;&#039;would&#039;&#039; be possible to use railtype availability testing to adjust the vehicle property 05 (track_type) to fit the highest defined axle load (&#039;&#039;E&#039;&#039; in this example case), but this is not insignificant work, and it&#039;s unlikely to be widely adopted by vehicle grf authors.  Nor would this solution achieve &#039;&#039;universal&#039;&#039; as all vehicles in vehicle grf then would be incompatible with types &#039;&#039;A&#039;&#039; through &#039;&#039;D&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
3.3. When the Innsbruck 2022 Convention is used, this &#039;&#039;&#039;does not prevent&#039;&#039;&#039; a train grf being extended in some future release to achieve full compliance with Standardized Railtype Scheme. &#039;&#039;That choice remains with train grf authors&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
3.4. If 2012 could be revisited, providing an optional &#039;&#039;_&#039;&#039; axle load class in the Standardized Railtype Scheme for &#039;&#039;undefined&#039;&#039; would have been preferable, but as of 2022, &#039;&#039;A&#039;&#039; is already widely used for this purpose, and time travel is not known to be possible.&lt;br /&gt;
&lt;br /&gt;
==Extended multivoltage support addition==&lt;br /&gt;
These are extensions to the energy source type class currently supported by SETS and xUSSR Rails which allow trainsets to code trains which are limited to a certain selection of voltages. As stated in the energy source type class section this might not be of use for all sets, as such it is optional but still recommended for trainsets for ideal functionality with tracksets which support the extended labels.&lt;br /&gt;
{|&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Specialized energy type classes !!Vehicle set fallback&lt;br /&gt;
|-&lt;br /&gt;
|* ||Equivilent to A, a, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|&#039; ||Equivilent to A, a and D || E&lt;br /&gt;
|-&lt;br /&gt;
|^ ||Equivilent to A, a and d || E&lt;br /&gt;
|-&lt;br /&gt;
|_ ||Equivilent to A, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
|, ||Equivilent to a, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|$ ||Equivilent to A and a  || First A then E or just E&lt;br /&gt;
|-&lt;br /&gt;
|= ||Equivilent to D and d  || First D then E or just E&lt;br /&gt;
|-&lt;br /&gt;
|) ||Equivilent to A and D  || E&lt;br /&gt;
|-&lt;br /&gt;
|( ||Equivilent to A and d  || E&lt;br /&gt;
|-&lt;br /&gt;
|] ||Equivilent to a and D  || E&lt;br /&gt;
|-&lt;br /&gt;
|[ ||Equivilent to a and d  || E&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Possible additions==&lt;br /&gt;
&lt;br /&gt;
There are a number of proposed labels for standardization of non-standardized labels...&lt;br /&gt;
&lt;br /&gt;
===Rail System/Gauge [X***]===&lt;br /&gt;
{| class=&amp;quot;mw-collapsible mw-collapsed wikitable&amp;quot;&lt;br /&gt;
! !!Track type/gauge&lt;br /&gt;
|-&lt;br /&gt;
|_ ||Universal &amp;quot;cheat&amp;quot; rail; ALWAYS add &amp;quot;_H_c&amp;quot; and &amp;quot;_S_t&amp;quot; to EVERY [[NML:Railtypes#Railtype_properties|compatible_railtype_list (NML)]], and ALWAYS add &amp;quot;_S_t&amp;quot; to EVERY [[NML:Railtypes#Railtype_properties|powered_railtype_list (NML)]] if you intend to support this&lt;br /&gt;
|-&lt;br /&gt;
|0 ||(A number zero, not a letter &amp;quot;Oh&amp;quot;) No track, eyecandy-use only&lt;br /&gt;
|-&lt;br /&gt;
|U ||[https://perma.cc/93VE-8JQZ &amp;quot;Ukrainian monorail&amp;quot; or Şaropoí̈zd (Шаропоїзд)], a u-shaped concrete &amp;quot;monorail trench&amp;quot; from 1920&#039;s Soviet Union; see [https://www.tt-forums.net/viewtopic.php?f=26&amp;amp;t=47432 the Yarmanchuk Express] for graphics&lt;br /&gt;
|-&lt;br /&gt;
|1 ||Early Monorail; See [https://perma.cc/6BVS-2P2X here] and [https://perma.cc/VCG2-ATUA here]&lt;br /&gt;
|-&lt;br /&gt;
|G ||Gyrail; [https://en.wikipedia.org/wiki/Gyro_monorail Gyro monorail/Gyroscopic monorail/Gyro-stabilized monorail] for description and IRL example, and [https://wikimon.net/Trailmon here] ([https://web.archive.org/web/20240227205547/https://wikimon.net/Trailmon archived]) for good fictional examples&lt;br /&gt;
|-&lt;br /&gt;
|A ||Alweg-based Monorail&lt;br /&gt;
|-&lt;br /&gt;
|m ||Minimum gauge rail; [https://en.wikipedia.org/wiki/Minimum-gauge_railway 15 in (381 mm), 400 mm (15+3⁄4 in), 16 in (406 mm), 18 in (457 mm), 19 in (483 mm), 500 mm (19+3⁄4 in) or 20 in (508 mm)]&lt;br /&gt;
|-&lt;br /&gt;
|n ||600mm &amp;quot;Decauville&amp;quot; or &amp;quot;Feldsbahn&amp;quot;, formerly labelled &amp;quot;NG60&amp;quot; before standardization; the most common narrow gauge track type in OpenTTD other than metre gauge, 600mm gauge is thus ideal for taking up the &amp;quot;n&amp;quot; gauge, though this is an ultimately optional distinction&lt;br /&gt;
|-&lt;br /&gt;
|7 ||750mm, Bosnian gauge (760 mm), and 762mm; all start with 7 and are close in size&lt;br /&gt;
|-&lt;br /&gt;
|3 ||Swedish 3 foot (891 mm), 900mm, 3 foot (914 mm) and Italian Metre (950mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|R ||Metre gauge; potentially compatible with base tramtype &amp;quot;RABN&amp;quot;, most early tramways were metre gauge&lt;br /&gt;
|-&lt;br /&gt;
|4 ||4 foot gauge (1219 mm), and possibly 4&#039;6&amp;quot; in. (1372 mm) if standardization is needed for 1372mm&lt;br /&gt;
|-&lt;br /&gt;
|s ||Scotch gauge (1372 mm)&lt;br /&gt;
|-&lt;br /&gt;
|S ||Standard gauge; already implemented in original standardized railtype scheme, but could include near-standard (1432 mm) as well as existing true standard (1435 mm) and is also potentially compatible with the SABN tramtype&lt;br /&gt;
|-&lt;br /&gt;
|X ||Omni-gauge rail (for at-grade multi-gauge crossings and stations); ultrabroad/secondary broad/primary broad/standard/primary narrow/secondary narrow gauge&lt;br /&gt;
|-&lt;br /&gt;
|x ||Multi-gauge rail (for at-grade multi-gauge crossings and stations); secondary broad/primary broad/standard/primary narrow/secondary narrow&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;+&amp;lt;/nowiki&amp;gt; ||Quad-gauge (Four-gauge) rail (for at-grade multi-gauge crossings and stations); secondary broad/primary broad/standard/primary narrow&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt; ||Four-gauge rail (for at-grade multi-gauge crossings and stations); primary broad/standard/primary narrow/secondary narrow&lt;br /&gt;
|-&lt;br /&gt;
|b ||Broad gauge rail - As broad gauge is a rare tracktype, it may still be feasible to cement B and b as broad gauges of two differing sizes, but the rarity among gauges in the real world would need to match; Italian (1445 mm), Dresden (1450 mm) and Leipzig (1458 mm) gauges are all based on streetcar/tram systems and may be better grouped here&lt;br /&gt;
|-&lt;br /&gt;
|t ||Greater Toronto Area streetcars (1495 mm)&lt;br /&gt;
|-&lt;br /&gt;
|5 ||1520mm and 5 foot (1524 mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|V ||Pennsylvanian (1581 mm and 1588 mm) and Australian &amp;quot;Victorian&amp;quot; (1600 mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|6 ||6 foot (1829 mm) broad gauge&lt;br /&gt;
|-&lt;br /&gt;
|g ||Brunel&#039;s Great Western Railway gauge (2140 mm)&lt;br /&gt;
|-&lt;br /&gt;
|B ||Biggest Broad gauge rail - As broad gauge is a rare tracktype, and the variation in common real life track types too wide, it may be desirable to cement B and b as broad gauges of two differing sizes; With no real life examples that match the usage frequency of &amp;quot;B&amp;quot;, the gauge might best draw inspiration from the infamous [https://en.wikipedia.org/wiki/Breitspurbahn Breitspurbahn] (3000 mm) and [https://perma.cc/KQ2Z-5RCR the never-built vehicles designed for it], or from the [https://en.wikipedia.org/wiki/Brighton_and_Rottingdean_Seashore_Electric_Railway Brighton &amp;amp; Rottingdean Seashore Electric Railway] (18 ft/5,486 mm) &lt;br /&gt;
|-&lt;br /&gt;
|L ||Maglevs that have a u-shaped track&lt;br /&gt;
|-&lt;br /&gt;
|T ||Maglevs that have a monorail track&lt;br /&gt;
|-&lt;br /&gt;
|F ||Flightrail; A [https://web.archive.org/web/20231213122530/http://www.flightrail.com/ system capable of high speeds and steep hill grades] that uses a pneumatic pipe for propulsion (see &amp;quot;P&amp;quot; under energy sources), and &#039;&#039;wheels pointed inwards at a 45-degree angle&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
It might be preferred to instead use/keep &amp;quot;B&amp;quot; for &amp;quot;all (current) broad gauges&amp;quot; (mostly Victorian gauge) instead using lowercase &amp;quot;b&amp;quot; for Brunel/GWR broad gauge. This wouldn&#039;t be to different from narrow gauge since the lesser used ones are lowercase and fallback to the uppercase ones.&lt;br /&gt;
&lt;br /&gt;
=== Axle load class [**X*] ===&lt;br /&gt;
{| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&lt;br /&gt;
! !!Indefinite !!Generic !! First usage&lt;br /&gt;
|-&lt;br /&gt;
|c ||Horse-drawn Wagonway ||1 metric tonne (1000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|1594&lt;br /&gt;
|-&lt;br /&gt;
|b ||Iron Plateway ||1 metric tonne (1000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|1799&lt;br /&gt;
|-&lt;br /&gt;
|a ||Prototype Rails ||5 metric tonnes (5000kg) per axle; Because reserved by examples || style=&amp;quot;text-align:right;&amp;quot;|1820&lt;br /&gt;
|-&lt;br /&gt;
|A ||Very Low (2012 OG Default)||10 metric tonnes (10000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|1828&lt;br /&gt;
|-&lt;br /&gt;
|B ||Low (2024 &amp;quot;New&amp;quot; Default) ||20 metric tonnes (20000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|1968&lt;br /&gt;
|-&lt;br /&gt;
|C ||Medium ||30 metric tonnes (30000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|~1978&lt;br /&gt;
|-&lt;br /&gt;
|D ||High ||40 metric tonnes (40000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|1988&lt;br /&gt;
|-&lt;br /&gt;
|d ||High, extra-lean freight bogies ||50 metric tonnes (50000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|2008&lt;br /&gt;
|-&lt;br /&gt;
|E ||Very High ||50 metric tonnes (50000kg) per axle (update in 2030 or so?)|| style=&amp;quot;text-align:right;&amp;quot;|~2028&lt;br /&gt;
|-&lt;br /&gt;
|F ||Future-proofing ||No limit per axle (update in 2050 or so?) || style=&amp;quot;text-align:right;&amp;quot;|~2048&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
If the above scheme is used, &amp;quot;d&amp;quot; should NEVER be used as the axle weight of a railtype. Instead, if your train set supports axle weights, use SAdN/SAdE/etc. as a vehicle&#039;s axle weight if they are a freight car available between 2008 and 2028 but are more than 40 metric tonnes (40000kg) per axle, and add the railtype to the [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]] of SADN or equivalent.&lt;br /&gt;
&lt;br /&gt;
=== Energy source type class [***X] ===&lt;br /&gt;
{| class=&amp;quot;mw-collapsible mw-collapsed wikitable&amp;quot;&lt;br /&gt;
! !!Electrification !!Fallback !!Notes&lt;br /&gt;
|-&lt;br /&gt;
|1 ||Unspecified monorail electrification |||MONO (the whole label) ||&lt;br /&gt;
|-&lt;br /&gt;
|S ||Maglevs that use a synchronous linear motor ||N/A ||&lt;br /&gt;
|-&lt;br /&gt;
|I ||Maglevs that use a linear induction motor ||MGLV (the whole label) ||&lt;br /&gt;
|-&lt;br /&gt;
|V ||Vactrains/Hyperloop ||t, then I, then MGLV (the whole label) ||&lt;br /&gt;
|-&lt;br /&gt;
|t ||&amp;quot;Universal custom tunnel&amp;quot; (for diagonal sub-surface &amp;quot;rail tunnels&amp;quot; that use decorative track types to complete the illusion) ||c, then p, then 7, then U (mandatory) ||&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt; ||Universal energy type (&#039;&#039;not&#039;&#039; meant to replace &amp;quot;***N&amp;quot;; use for vehicles such as driving cabs which cannot move under their own power regardless, if desired) ||N/A (Be sure to put &amp;quot;***E&amp;quot; in the [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]] of a &amp;quot;***-&amp;quot; label) ||(&#039;&#039;Do not give a fallback or use for railtypes, this is for unpowered &amp;quot;locomotives&amp;quot; only!&#039;&#039;)&lt;br /&gt;
|-&lt;br /&gt;
|5 ||750v DC Outer 3rd Rail (&amp;quot;MTRO&amp;quot; or &amp;quot;SA_3&amp;quot;) and 630v DC Inner 3rd/4th Rail; a total of 5 rails (2 for wheels, 3 for electricity), plausible in the London Underground network ||3 or 4 ||&lt;br /&gt;
|-&lt;br /&gt;
|U ||750v DC Outer 3rd Rail (&amp;quot;MTRO&amp;quot; or &amp;quot;SA_3&amp;quot;), 630v DC Inner 3rd/4th Rail and universal catenary (SAEE); a total of 5 rails (2 for wheels, 3 for electricity) if only one gauge, plausible in the London Underground network and an &amp;quot;ultimate&amp;quot; dual rail electrification without being a cheat (make it expensive or toggle-able?) as SAEU or as XAEU (universal dual rail electrified tracks) ||E ||&lt;br /&gt;
|-&lt;br /&gt;
|7 ||750v DC Outer 3rd Rail (&amp;quot;MTRO&amp;quot; or &amp;quot;SA_3&amp;quot;), 630v DC Inner 3rd/4th Rail, Three-phase AC (SA_T) 3rd/4th rail &amp;amp; catenary, and universal catenary (SA_E); a total of 7 rails (2 for wheels, 5 for electricity) if only one gauge, a truly universal dual rail electrification without being impossible (make it VERY expensive or toggle-able so it isn&#039;t cheat-y?) as SAE7, XAE7 or even as XRE7 (combination of ALL two-rail track gauges with universally-compatible electrification including an outer 3rd rail and a paired set of inner 3rd/4th rails, and a rack rail in the exact center; improbable, but not physically impossible) ||U ||&lt;br /&gt;
|-&lt;br /&gt;
|P ||Pneumatic tube with physical piston slit, or closed pneumatic tube with magnetic piston (i.e. that used by [https://web.archive.org/web/20231213122530/http://www.flightrail.com/ Flightrail]) ||N/A ||&lt;br /&gt;
|-&lt;br /&gt;
|p ||Pneumatic and universal electrical power ||P or 7 (Be sure to put &amp;quot;***_&amp;quot; and ***P&amp;quot; in the [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]] of a &amp;quot;***p&amp;quot; label) || XREp is a combination of ALL two-rail track gauges with improbably high axle load with universally-compatible electrification including an outer 3rd rail and a paired set of inner 3rd/4th rails, and a rack rail in the exact center; improbable, but not physically impossible)&lt;br /&gt;
|-&lt;br /&gt;
|c ||Cheat electrification type; use solely for the &amp;quot;_R_c&amp;quot; and &amp;quot;_R_t&amp;quot; railtype labels specifically (runs everything if coded properly), the latter (&amp;quot;_R_t&amp;quot;) is for tunnels, while the former (&amp;quot;_R_c&amp;quot;) is for &amp;quot;cheat rail upgrade&amp;quot; newgrfs ||p, then 7, then U, then E, then N, then &amp;quot;SA_-&amp;quot; (the whole label) ||&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Lurkmore</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=Standardized_Railtype_Scheme&amp;diff=4784</id>
		<title>Standardized Railtype Scheme</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=Standardized_Railtype_Scheme&amp;diff=4784"/>
		<updated>2024-05-01T01:41:41Z</updated>

		<summary type="html">&lt;p&gt;Lurkmore: /* Possible additions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This railtype label scheme aims to bring order to the uncontrolled growth of railtype labels. It groups the rail types into what matters from a technical perspective. The scheme provides a standardized way of defining railtype labels, based on track gauge and type, speed class, allowable axle weight and electrification type.&lt;br /&gt;
&lt;br /&gt;
It is the explicit intent of this scheme to decouple track sets from vehicle sets to facilitate easy mixing. This way the player can select a track set of choice to go with a train set of choice. It allows the player to play with or without axle load classes, or with or without speed limit classes, simply by loading a track set that does or does not provide these features. In some cases it will also be possible to combine niche track sets, for instance a standard gauge track set with a narrow gauge and a metro track set.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== The Label Scheme ==&lt;br /&gt;
A railtype label consists of four characters. In this scheme, each position has a different purpose:&lt;br /&gt;
# Track gauge and type class (e.g. standard gauge rail, narrow gauge rail, monorail)&lt;br /&gt;
# Speed limit class&lt;br /&gt;
# Axle load class (maximum allowed axle weight for this track)&lt;br /&gt;
# Energy source type class&lt;br /&gt;
&lt;br /&gt;
In the next sections, each of the four positions will be explained.&lt;br /&gt;
&lt;br /&gt;
=== Track gauge and type class [X***] ===&lt;br /&gt;
The first position in the railtype label defines track gauge and/or track type class. The following classes are currently defined:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Track type/gauge&lt;br /&gt;
|- &lt;br /&gt;
|S ||Standard gauge rail&lt;br /&gt;
|-&lt;br /&gt;
|B ||Broad gauge rail &lt;br /&gt;
|-&lt;br /&gt;
|N ||Narrow gauge rail&lt;br /&gt;
|-&lt;br /&gt;
|n ||Secondary narrow gauge rail (e.g. when providing both metre and cape gauge, always use N in case of just one type of narrow gauge)&lt;br /&gt;
|-&lt;br /&gt;
|D ||Dual gauge rail, standard/broad gauge&lt;br /&gt;
|-&lt;br /&gt;
|d ||Dual gauge rail, standard/narrow gauge&lt;br /&gt;
|-&lt;br /&gt;
|M ||Monorail&lt;br /&gt;
|-&lt;br /&gt;
|L ||Magnetic Levitation&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Speed limit class [*X**] ===&lt;br /&gt;
The second position in the railtype label defines the speed limit class. These classes do not map to a fixed numeric value, but are used to define an internal speed limit order for the track set. This means that if your track set has two different speed limits for track types that are otherwise identical, you&#039;ll use letters A and B here. In case of three different speed limits, use A, B and C. In case your track set does not employ speed limits, always use A. Train sets do not care about the speed limit, and will always set the lowest speed class, i.e. A.&lt;br /&gt;
&lt;br /&gt;
This gives for instance the following options:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||no speed limits&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;OR&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||low speed&lt;br /&gt;
|-&lt;br /&gt;
|B ||high speed&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;OR&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||low speed&lt;br /&gt;
|-&lt;br /&gt;
|B ||medium speed&lt;br /&gt;
|-&lt;br /&gt;
|C ||high speed&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;etc.&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear:left;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The speed limit class may also be used for some advanced features of the label scheme, like specialized track types and eyecandy purposes. Be careful not to break the compatibility with other sets when using the speed limit class for these purposes.&lt;br /&gt;
&lt;br /&gt;
An example of a special use is rack rail. In the French set it is used to give rack rail engines a higher speed and TE than normal rail engines when used on rack rail. When defining trains with a special speed limit class, always allow a fallback to speed limit class A via the railtype table.&lt;br /&gt;
&lt;br /&gt;
An example of eyecandy use are urban tracks. These are a variation of regular tracks, but with concrete ground tiles to better match the urban environment. Train sets must not define vehicles for eyecandy classes. If you think you have special vehicles that should only run on the eyecandy class, it is &#039;&#039;not&#039;&#039; eyecandy but a separate track gauge/type.&lt;br /&gt;
&lt;br /&gt;
The following special and eyecandy classes have been defined so far:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Description !!Type !!Used by&lt;br /&gt;
|- &lt;br /&gt;
|A-H ||speed limits ||colspan=&amp;quot;2&amp;quot;| reserved&lt;br /&gt;
|- &lt;br /&gt;
|R ||rack rail, that allows this vehicle to not slow down going uphill ||special ||French Set Rails&lt;br /&gt;
|- &lt;br /&gt;
|S ||subterranean ||eyecandy ||Metro Track Set&lt;br /&gt;
|- &lt;br /&gt;
|U ||urban ||eyecandy ||Metro Track Set&lt;br /&gt;
|}&lt;br /&gt;
Rack rail needs a bit greater of a explanation, idealy it would be coded in a way where both Pure rack and Rack-and-adhesion systems are supported.&lt;br /&gt;
This can be achieved by making regular tracks powered on rackrail without the opposite being true. This means vehicles defined for NRAN can&#039;t go on NAAN (like a pure rack system) but NAAN vehicles can go on NRAN (like a rack-and-adhesion system). Currently French Set Rails implements compatiblility both ways which makes pure rack systems impossible.&lt;br /&gt;
&lt;br /&gt;
=== Axle load class [**X*] ===&lt;br /&gt;
The third position defines the axle weight limit. Heavy trains cannot run on tracks with a low axle weight limit; these trains need more expensive tracks with a heigher weight limit. There are five axle load classes &#039;&#039;&#039;A&#039;&#039;&#039; through &#039;&#039;&#039;E&#039;&#039;&#039;. &#039;&#039;&#039;A&#039;&#039;&#039; is for the lowest axle load limit, &#039;&#039;&#039;E&#039;&#039;&#039; for the highest. The exact axle load attached to each class is relative to the track gauge/type and trains in the set. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A train set should set the appropriate axle weight for each train via the railtype label, as to make the set work with track sets that do provide tracks with different weight limits, even if you don&#039;t care about it for your trainset. Split all vehicles of a certain track gauge/type into five groups of similar axle weight. The group with the lowest axle weights will get class &#039;&#039;&#039;A&#039;&#039;&#039;, the second lowest class &#039;&#039;&#039;B&#039;&#039;&#039;, etc. up to the group with the highest axle weights which will get class &#039;&#039;&#039;E&#039;&#039;&#039;. Do the same for the other track gauge/types if your train set has those.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A track set does not have to provide a dedicated track type for each axle weight limit. A track set that does not provide a dedicated track for each axle load class, must make sure to map all undefined axle load classes to a real railtype using property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]]. This way a train set can rely on all labels for all axle load classes being available. Example: if you only want to provide 2 axle load classes for standard gauge unelectrified with no speed limits, you can map SA&#039;&#039;&#039;A&#039;&#039;&#039;N + SA&#039;&#039;&#039;B&#039;&#039;&#039;N to SA&#039;&#039;&#039;C&#039;&#039;&#039;N and SA&#039;&#039;&#039;D&#039;&#039;&#039;N to SA&#039;&#039;&#039;E&#039;&#039;&#039;N if the cost difference between the two railtypes is high, or SA&#039;&#039;&#039;A&#039;&#039;&#039;N to SA&#039;&#039;&#039;B&#039;&#039;&#039;N and SA&#039;&#039;&#039;C&#039;&#039;&#039;N + SA&#039;&#039;&#039;D&#039;&#039;&#039;N to SA&#039;&#039;&#039;E&#039;&#039;&#039;N if the cost difference is low.&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t want to provide any axle load classes in your track set, it doesn&#039;t really matter what axle load class you choose for the track, as you&#039;ll be mapping all other classes to this track anyways. But the lowest or highest class are the obvious choice. Example: if your track set only provides narrow gauge unelectrified track with no speed limits and no axle load limits, you may use NA&#039;&#039;&#039;A&#039;&#039;&#039;N for the track label, and provide NA&#039;&#039;&#039;B&#039;&#039;&#039;N, NA&#039;&#039;&#039;C&#039;&#039;&#039;N, NA&#039;&#039;&#039;D&#039;&#039;&#039;N, NA&#039;&#039;&#039;E&#039;&#039;&#039;N in property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you need more than five axle load class, you may use lowercase letters for very low axle loads and continue the uppercase letters for very high axle loads. Be advised that your train set may not assume the existance of any other class than &#039;&#039;&#039;A&#039;&#039;&#039; through &#039;&#039;&#039;E&#039;&#039;&#039;, so when the range make sure to program your railtype table such that trains with such a class will fall back to class &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;E&#039;&#039;&#039;. If you make a track set with an extended range, be aware that not all train sets will define trains for these tracks. In general: only do this in case of a train set with a matching track set.&lt;br /&gt;
&lt;br /&gt;
For the lowercase letters, &#039;&#039;&#039;b&#039;&#039;&#039; is lower than &#039;&#039;&#039;a&#039;&#039;&#039;, so for increasing axle load limits: b &amp;lt; a &amp;lt; A &amp;lt; B &amp;lt; C etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that the axle load classes never map to a specific weight in tonnes. For that reason it does not make sense to add a numeric value for the axle load to the name of a track type or in the extended purchase info of a train. Instead use the relative expressions &#039;very low&#039;, &#039;low&#039;, &#039;medium&#039;, &#039;high&#039; and &#039;very high&#039; or use the class letters directly.&lt;br /&gt;
&lt;br /&gt;
If a guideline is needed for updating a set to use axle loads in a train set where they don&#039;t yet exist, the following might serve as a basic &amp;quot;generic&amp;quot; guideline...&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&lt;br /&gt;
! !!Indefinite !!Generic !! First usage&lt;br /&gt;
|-&lt;br /&gt;
|c ||Horse-drawn Wagonway ||1 metric tonne (1000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|1594&lt;br /&gt;
|-&lt;br /&gt;
|b ||Iron Plateway ||1 metric tonne (1000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|1799&lt;br /&gt;
|-&lt;br /&gt;
|a ||Prototype Rails ||5 metric tonnes (5000kg) per axle; Because reserved by examples || style=&amp;quot;text-align:right;&amp;quot;|1820&lt;br /&gt;
|-&lt;br /&gt;
|A ||Very Low (2012 OG Default)||10 metric tonnes (10000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|1828&lt;br /&gt;
|-&lt;br /&gt;
|B ||Low (2024 &amp;quot;New&amp;quot; Default) ||20 metric tonnes (20000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|1968&lt;br /&gt;
|-&lt;br /&gt;
|C ||Medium ||30 metric tonnes (30000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|~1978&lt;br /&gt;
|-&lt;br /&gt;
|D ||High ||40 metric tonnes (40000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|1988&lt;br /&gt;
|-&lt;br /&gt;
|E ||Very High ||50 metric tonnes (50000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|2008&lt;br /&gt;
|-&lt;br /&gt;
|F ||Future-proofing ||No limit per axle (update in 2030 or so?) || style=&amp;quot;text-align:right;&amp;quot;|~2028&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Energy source type class [***X] ===&lt;br /&gt;
The last position defines the energy source type class. This is split in generic energy source types like overhead wires and third rail and specialized types like alternating and direct current.&lt;br /&gt;
&lt;br /&gt;
A track set that only uses specialized types, should map the generic types to the most suitable specialized type in the set.&lt;br /&gt;
&lt;br /&gt;
A vehicle set that uses specialized types should define a generic type as fallback, via the railtype table. If such a fallback is omitted, please note that certain vehicles may be unavailable depending on track set loaded.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Generic energy type classes&lt;br /&gt;
|-&lt;br /&gt;
|N ||no electrification&lt;br /&gt;
|-&lt;br /&gt;
|E ||overhead wires/catenary electrification&lt;br /&gt;
|-&lt;br /&gt;
|3 ||3rd rail electrification&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Specialized energy type classes !!Vehicle set fallback&lt;br /&gt;
|-&lt;br /&gt;
|Z ||3rd rail and catenary electrification || 3 or E&lt;br /&gt;
|-&lt;br /&gt;
|4 ||4th rail electrification || 3&lt;br /&gt;
|-&lt;br /&gt;
|Y ||4th rail and catenary electrification || 4 or E&lt;br /&gt;
|-&lt;br /&gt;
|T ||[http://en.wikipedia.org/wiki/Three-phase_AC_railway_electrification three phase AC electrification] || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|D ||DC catenary electrification || E&lt;br /&gt;
|-&lt;br /&gt;
|d ||low voltage DC catenary electrification (only when D also used in set) || First A then E&lt;br /&gt;
|-&lt;br /&gt;
|A ||AC catenary electrification || E&lt;br /&gt;
|-&lt;br /&gt;
|a ||low voltage AC catenary electrification (only when A also used in set) || First A then E&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
If you want multi-voltage/current vehicles in your set (i.e. a train that can run on both AC and DC current), you have to define a dedicated railtype for those vehicles. Without the railtype, it&#039;s not possible to define vehicles with this property. If you only have vehicles that can run on either one type of voltage/current or on all types of voltage/current (e.g. a 2-system if you only have &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;D&#039;&#039;&#039; tracks, or a 4-system in case of all &#039;&#039;&#039;A&#039;&#039;&#039;, &#039;&#039;&#039;a&#039;&#039;&#039;, &#039;&#039;&#039;D&#039;&#039;&#039; and &#039;&#039;&#039;d&#039;&#039;&#039;), then use the generic class &#039;&#039;&#039;E&#039;&#039;&#039; for vehicles that should be able to run on all different voltage/currents. Also the track set needs to have one at least one railtype with class &#039;&#039;&#039;E&#039;&#039;&#039; defined.&lt;br /&gt;
&lt;br /&gt;
Note that if you want more than one type of multi-voltage/current, you&#039;ll quickly get a combinatory explosion of railtype labels, so plan carefully or do not attempt it. For every different multi-voltage/current vehicle type a dedicated railtype is needed. If you want all possible combinations, then you need to define an additional 8 classes. It is not recommended to make your train/track set this complicated.&lt;br /&gt;
&lt;br /&gt;
Example approach for a 4-system set, with trains that can run on either one or all systems:&lt;br /&gt;
* &#039;&#039;&#039;E&#039;&#039;&#039;: generic catenary-powered electric engines. &amp;quot;universal&amp;quot; [4-system] if any of &#039;&#039;&#039;D&#039;&#039;&#039;/&#039;&#039;&#039;d&#039;&#039;&#039;/&#039;&#039;&#039;A&#039;&#039;&#039;/&#039;&#039;&#039;a&#039;&#039;&#039; are defined.&lt;br /&gt;
* &#039;&#039;&#039;A&#039;&#039;&#039;: generic AC catenary electric engines. 25kV only if &#039;&#039;&#039;a&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;A&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;a&#039;&#039;&#039;: 15kV AC catenary electric engines. Only defined if &#039;&#039;&#039;A&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;a&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;D&#039;&#039;&#039;: generic DC catenary electric engines. 3kV if &#039;&#039;&#039;d&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;D&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;d&#039;&#039;&#039;: 1.5kV DC catenary electric engines. Only defined if &#039;&#039;&#039;D&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;D&#039;&#039;&#039; and &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;d&#039;&#039;&#039;.&lt;br /&gt;
For a 2-system set, you can simply drop &#039;&#039;&#039;a&#039;&#039;&#039; and &#039;&#039;&#039;d&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Standard labels: RAIL, ELRL, MONO, MGLV ===&lt;br /&gt;
It&#039;s not possible to undefine the standard railtypes RAIL, ELRL, MONO and MGLV. The game will always add those if there are vehicles defined for these track types. As a result, for a track set it&#039;s best not to ignore those standard labels, but rather work with them and define them in the set. If your track set does not have monorail or maglev tracks, there of course is no need to define those. But if your track set defines anything that resembles unelectrified or electrified rail, you should use the RAIL and ELRL labels. Matching labels from the above scheme will then be defined in property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
As vehicles from NewGRFs that do not use explicit railtypes will end up on these standard railtypes, you should use RAIL instead of whatever type could be regarded as the most commonly used unelectrified type, ELRL instead of the most commonly used electrified type and so on. The label according to this scheme is then set as an alternate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Summary for track sets ==&lt;br /&gt;
This section summarizes the above for track sets.&lt;br /&gt;
&lt;br /&gt;
; [X***] Track gauge and type class&lt;br /&gt;
* Define at least one track type for every track gauge/type class you want in your set.&lt;br /&gt;
* If you only provide tracks for one gauge/type, consider leaving some free railtypes so a player can load an additional set for some other type.&lt;br /&gt;
; [*X**] Speed limit class&lt;br /&gt;
* Make sure class A is always available, either directly or via an alternate label.&lt;br /&gt;
* Use only class A if you don&#039;t want speed limits;&lt;br /&gt;
* With speed limits, A is the lowest speed limit. Continue with B, C, etc. for increasing speed limits;&lt;br /&gt;
* The speed class can also be used to implement additional eye-candy track types, use letters higher in the alphabet for this.&lt;br /&gt;
; [**X*] Axle load class&lt;br /&gt;
* Always define all classes A through E for every track type class / electrification combination, either:&lt;br /&gt;
** Directly via a real railtype definition;&lt;br /&gt;
** Indirectly via the alternate rail type label list, property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
* Extend the predefined classes only if you also provide a train set that makes use of these.&lt;br /&gt;
; [***X] Energy source type class&lt;br /&gt;
* If your set only uses specialized classes, always map the generic classes to the closest matching specialized type via property 1D.&lt;br /&gt;
; Standard labels [RAIL, ELRL, MONO, MGLV]&lt;br /&gt;
* Always define the standard labels when possible, instead of what would be the equivalent of the standard label in this scheme.&lt;br /&gt;
* Map the equivalent labels from this scheme to the standard labels using property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
Or, put differently, for each gauge/type, select one or more energy source types. For each type/energy combination provide all axle load classes for the speed class &amp;quot;A&amp;quot;, either as a real type or as an alternate of another type. Provide more types with a different speed letter if you want to provide several different speeds or other eye-candy tracks.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Summary for train sets ==&lt;br /&gt;
This section summarizes the above for train sets.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; [X***] Track gauge and type class&lt;br /&gt;
* Use the track type class that matches the vehicle;&lt;br /&gt;
* Define a fallback type via the railtype table in case you want the vehicle to be available on a different track if no matching track set is loaded.&lt;br /&gt;
** Specialized subtypes like &amp;quot;n&amp;quot; might not always be available. If you want those vehicles to be still available then, fall back the the generic class (e.g. &amp;quot;N&amp;quot;).&lt;br /&gt;
; [*X**] Speed limit class &lt;br /&gt;
* Always use class A for every vehicle.&lt;br /&gt;
; [**X*] Axle load class&lt;br /&gt;
* Use all classes A through E according to the maximum axle weight of the vehicle.&lt;br /&gt;
* Extend the predefined classes only if you also provide a track set that makes use of these;&lt;br /&gt;
** When extending the predefined classes A through E, define a fallback type via the railtype table in case you want the vehicle to be available if no matching track set is loaded.&lt;br /&gt;
; [***X] Energy source type class&lt;br /&gt;
* Use the energy source type class that matches the vehicle;&lt;br /&gt;
* When using specialized classes, define a fallback type via the railtype table in case you want the vehicle to be available if no matching track set is loaded.&lt;br /&gt;
; Standard labels [RAIL, ELRL, MONO, MGLV]&lt;br /&gt;
* Define a fallback type to the standard labels via the railtype table in case you want the vehicle to be available on the standard tracks if no matching track set is loaded.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Be as specific as you want when selecting the railtype, it is the job of the track set to select a playable, reduced subset out of all possible type combinations.&lt;br /&gt;
&lt;br /&gt;
== In case you&#039;re not convinced by this scheme ==&lt;br /&gt;
Adopting this scheme gives the player freedom to use any track set in combination with any train set that follow the scheme. &lt;br /&gt;
&lt;br /&gt;
This means that you can make your train set compatible with track sets that provide axle load classes, and track sets that provide speed limits, and at the same time with track sets that provide none of this. This way, the player can decide to play with or without axle load classes, or with or without speed limits, simply by loading a track set that does or does not provide these features.&lt;br /&gt;
&lt;br /&gt;
And for your track set, it means that you can make it as simple or as complicated as you want (within the 64 track type limit), while not having to worry about compatibility with train sets.&lt;br /&gt;
&lt;br /&gt;
Still not convinced? Feel free to use railtype labels of your own, but know that you will likely come to regret that at some point in the future.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Forum topic==&lt;br /&gt;
If you want to discuss the standardized railtype scheme or have any questions about it, you can visit [http://www.tt-forums.net/viewtopic.php?t=59379 the forum topic].&lt;br /&gt;
&lt;br /&gt;
==&amp;quot;Innsbruck 2022 Convention&amp;quot; for partial compliance==&lt;br /&gt;
&lt;br /&gt;
This is really esoteric, but eh. It was the product of long discussion / debate / argument / reasoning between grf authors.&lt;br /&gt;
&lt;br /&gt;
1. The Standardized Railtype Scheme &#039;&#039;&#039;is a useful tool&#039;&#039;&#039; for providing reliable compatibility between train grfs and railtype grfs.&lt;br /&gt;
&lt;br /&gt;
2. The &#039;&#039;&#039;axle load class&#039;&#039;&#039; in the scheme presents a number of issues for compliance.&lt;br /&gt;
&lt;br /&gt;
2.1. Over 10 years since the scheme was standardised, not many train grfs implement multiple axle load classes &#039;&#039;&#039;as required by the scheme&#039;&#039;&#039;.  Known examples that &#039;&#039;&#039;do&#039;&#039;&#039; comply include Dutch Train Set, French Narrow Gauge Trains, and Finnish Trains.&lt;br /&gt;
&lt;br /&gt;
2.2. Elements of the axle load rules have proven hard to interpret.  For example:&lt;br /&gt;
&lt;br /&gt;
* is it compliant to use &#039;&#039;fewer&#039;&#039; than 5 classes in a train grf?  There is a lack of consensus on this.&lt;br /&gt;
* axle load is only one of many factors that govern whether a vehicle is compatible with a route, for example loading gauge, minimum curve, signalling types etc&lt;br /&gt;
&lt;br /&gt;
2.3. Meanwhile &#039;&#039;multiple existing train grfs use class &#039;&#039;A&#039;&#039; for the axle load for all trains&#039;&#039; (except where relying on default railtypes such as RAIL and ELRL).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3. The Innsbruck 2022 Convention uses class &#039;&#039;A&#039;&#039; for axle load for &#039;&#039;&#039;all&#039;&#039;&#039; trains in a train grf (except where relying on default railtypes such as RAIL and ELRL).&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is &#039;&#039;&#039;not&#039;&#039;&#039; fully compliant with the Standardized Railtype Scheme and does not claim to be.&lt;br /&gt;
&lt;br /&gt;
However train grfs using the Innsbruck 2022 Convention are &#039;&#039;broadly compatible&#039;&#039; with railtype grfs using the Standardized Railtype Scheme.  &lt;br /&gt;
&lt;br /&gt;
Obligatory XKCD link about &#039;standards&#039;: https://xkcd.com/927/&lt;br /&gt;
&lt;br /&gt;
===Known issues===&lt;br /&gt;
&lt;br /&gt;
Known problems are that trains using only class &#039;A&#039; may limit the ability of railtype grf authors to achieve their design goals for separating railtypes by axle load.  &lt;br /&gt;
But on reflection, it can be seen that a train grf might not be able to provide a broad enough range of vehicles to cover at least 5 axle load classes.&lt;br /&gt;
&lt;br /&gt;
3.1. The Innsbruck 2022 Convention is &#039;&#039;&#039;not&#039;&#039;&#039; appropriate for train grf authors who wish to provide more than one axle load class.&lt;br /&gt;
&lt;br /&gt;
3.2. The Innsbruck 2022 Convention treats the meaning of class &#039;&#039;A&#039;&#039; as &#039;&#039;undefined&#039;&#039;, &#039;&#039;ignored&#039;&#039; or &#039;&#039;compatible with most restricted railtype&#039;&#039; for axle load.  &lt;br /&gt;
&lt;br /&gt;
Axle load class &#039;&#039;A&#039;&#039; &#039;&#039;&#039;cannot&#039;&#039;&#039; be safely interpreted as &#039;&#039;universal&#039;&#039; because from the perspective of a railtype grf &#039;&#039;A&#039;&#039; is &#039;&#039;most restricted railtype&#039;&#039;, where &#039;&#039;universal&#039;&#039; is better represented as &#039;&#039;least restricted railtype&#039;&#039;. Depending how many axle load classes are in use by the railtype grf, this could be class &#039;&#039;B&#039;&#039;, &#039;&#039;C&#039;&#039;, &#039;&#039;D&#039;&#039;, &#039;&#039;E&#039;&#039; etc.  To illustrate this issue, take the following scenario&lt;br /&gt;
&lt;br /&gt;
* railtype grf defines axle loads &#039;&#039;A&#039;&#039; to &#039;&#039;E&#039;&#039;. In this case the railtype grf author intends that &#039;&#039;A&#039;&#039; is compatible with the smallest range of vehicles, &#039;&#039;E&#039;&#039; is compatible with the largest range of vehicles, and &#039;&#039;B&#039;&#039;, &#039;&#039;C&#039;&#039; and &#039;&#039;D&#039;&#039; are compatible with some intermediate ranges of vehicles&lt;br /&gt;
* but the vehicle grf author has defined all vehicles to be axle load &#039;&#039;A&#039;&#039; in an attempt to express this vehicle is &#039;&#039;universal&#039;&#039;.  The result in the game is that an identical range of vehicles will be compatible with railtypes &#039;&#039;A&#039;&#039; to &#039;&#039;E&#039;&#039;.  &lt;br /&gt;
&lt;br /&gt;
This is clearly &#039;&#039;&#039;not&#039;&#039;&#039; the intended outcome of the railtype author. But nor is it clear within the spec that the vehicle author has particularly done anything wrong. &lt;br /&gt;
&lt;br /&gt;
It &#039;&#039;would&#039;&#039; be possible to use railtype availability testing to adjust the vehicle property 05 (track_type) to fit the highest defined axle load (&#039;&#039;E&#039;&#039; in this example case), but this is not insignificant work, and it&#039;s unlikely to be widely adopted by vehicle grf authors.  Nor would this solution achieve &#039;&#039;universal&#039;&#039; as all vehicles in vehicle grf then would be incompatible with types &#039;&#039;A&#039;&#039; through &#039;&#039;D&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
3.3. When the Innsbruck 2022 Convention is used, this &#039;&#039;&#039;does not prevent&#039;&#039;&#039; a train grf being extended in some future release to achieve full compliance with Standardized Railtype Scheme. &#039;&#039;That choice remains with train grf authors&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
3.4. If 2012 could be revisited, providing an optional &#039;&#039;_&#039;&#039; axle load class in the Standardized Railtype Scheme for &#039;&#039;undefined&#039;&#039; would have been preferable, but as of 2022, &#039;&#039;A&#039;&#039; is already widely used for this purpose, and time travel is not known to be possible.&lt;br /&gt;
&lt;br /&gt;
==Extended multivoltage support addition==&lt;br /&gt;
These are extensions to the energy source type class currently supported by SETS and xUSSR Rails which allow trainsets to code trains which are limited to a certain selection of voltages. As stated in the energy source type class section this might not be of use for all sets, as such it is optional but still recommended for trainsets for ideal functionality with tracksets which support the extended labels.&lt;br /&gt;
{|&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Specialized energy type classes !!Vehicle set fallback&lt;br /&gt;
|-&lt;br /&gt;
|* ||Equivilent to A, a, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|&#039; ||Equivilent to A, a and D || E&lt;br /&gt;
|-&lt;br /&gt;
|^ ||Equivilent to A, a and d || E&lt;br /&gt;
|-&lt;br /&gt;
|_ ||Equivilent to A, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
|, ||Equivilent to a, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|$ ||Equivilent to A and a  || First A then E or just E&lt;br /&gt;
|-&lt;br /&gt;
|= ||Equivilent to D and d  || First D then E or just E&lt;br /&gt;
|-&lt;br /&gt;
|) ||Equivilent to A and D  || E&lt;br /&gt;
|-&lt;br /&gt;
|( ||Equivilent to A and d  || E&lt;br /&gt;
|-&lt;br /&gt;
|] ||Equivilent to a and D  || E&lt;br /&gt;
|-&lt;br /&gt;
|[ ||Equivilent to a and d  || E&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Possible additions==&lt;br /&gt;
&lt;br /&gt;
There are a number of proposed labels for standardization of non-standardized labels...&lt;br /&gt;
&lt;br /&gt;
===Rail System/Gauge===&lt;br /&gt;
{| class=&amp;quot;mw-collapsible mw-collapsed wikitable&amp;quot;&lt;br /&gt;
! !!Track type/gauge&lt;br /&gt;
|-&lt;br /&gt;
|_ ||Universal &amp;quot;cheat&amp;quot; rail; ALWAYS add &amp;quot;_H_c&amp;quot; and &amp;quot;_S_t&amp;quot; to EVERY [[NML:Railtypes#Railtype_properties|compatible_railtype_list (NML)]], and ALWAYS add &amp;quot;_S_t&amp;quot; to EVERY [[NML:Railtypes#Railtype_properties|powered_railtype_list (NML)]] if you intend to support this&lt;br /&gt;
|-&lt;br /&gt;
|0 ||(A number zero, not a letter &amp;quot;Oh&amp;quot;) No track, eyecandy-use only&lt;br /&gt;
|-&lt;br /&gt;
|U ||[https://perma.cc/93VE-8JQZ &amp;quot;Ukrainian monorail&amp;quot; or Şaropoí̈zd (Шаропоїзд)], a u-shaped concrete &amp;quot;monorail trench&amp;quot; from 1920&#039;s Soviet Union; see [https://www.tt-forums.net/viewtopic.php?f=26&amp;amp;t=47432 the Yarmanchuk Express] for graphics&lt;br /&gt;
|-&lt;br /&gt;
|1 ||Early Monorail; See [https://perma.cc/6BVS-2P2X here] and [https://perma.cc/VCG2-ATUA here]&lt;br /&gt;
|-&lt;br /&gt;
|G ||Gyrail; [https://en.wikipedia.org/wiki/Gyro_monorail Gyro monorail/Gyroscopic monorail/Gyro-stabilized monorail] for description and IRL example, and [https://wikimon.net/Trailmon here] ([https://web.archive.org/web/20240227205547/https://wikimon.net/Trailmon archived]) for good fictional examples&lt;br /&gt;
|-&lt;br /&gt;
|A ||Alweg-based Monorail&lt;br /&gt;
|-&lt;br /&gt;
|m ||Minimum gauge rail; [https://en.wikipedia.org/wiki/Minimum-gauge_railway 15 in (381 mm), 400 mm (15+3⁄4 in), 16 in (406 mm), 18 in (457 mm), 19 in (483 mm), 500 mm (19+3⁄4 in) or 20 in (508 mm)]&lt;br /&gt;
|-&lt;br /&gt;
|n ||600mm &amp;quot;Decauville&amp;quot; or &amp;quot;Feldsbahn&amp;quot;, formerly labelled &amp;quot;NG60&amp;quot; before standardization; the most common narrow gauge track type in OpenTTD other than metre gauge, 600mm gauge is thus ideal for taking up the &amp;quot;n&amp;quot; gauge, though this is an ultimately optional distinction&lt;br /&gt;
|-&lt;br /&gt;
|7 ||750mm, Bosnian gauge (760 mm), and 762mm; all start with 7 and are close in size&lt;br /&gt;
|-&lt;br /&gt;
|3 ||Swedish 3 foot (891 mm), 900mm, 3 foot (914 mm) and Italian Metre (950mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|R ||Metre gauge; potentially compatible with base tramtype &amp;quot;RABN&amp;quot;, most early tramways were metre gauge&lt;br /&gt;
|-&lt;br /&gt;
|4 ||4 foot gauge (1219 mm), and possibly 4&#039;6&amp;quot; in. (1372 mm) if standardization is needed for 1372mm&lt;br /&gt;
|-&lt;br /&gt;
|s ||Scotch gauge (1372 mm)&lt;br /&gt;
|-&lt;br /&gt;
|S ||Standard gauge; already implemented in original standardized railtype scheme, but could include near-standard (1432 mm) as well as existing true standard (1435 mm) and is also potentially compatible with the SABN tramtype&lt;br /&gt;
|-&lt;br /&gt;
|X ||Omni-gauge rail (for at-grade multi-gauge crossings and stations); ultrabroad/secondary broad/primary broad/standard/primary narrow/secondary narrow gauge&lt;br /&gt;
|-&lt;br /&gt;
|x ||Multi-gauge rail (for at-grade multi-gauge crossings and stations); secondary broad/primary broad/standard/primary narrow/secondary narrow&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;+&amp;lt;/nowiki&amp;gt; ||Quad-gauge (Four-gauge) rail (for at-grade multi-gauge crossings and stations); secondary broad/primary broad/standard/primary narrow&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt; ||Four-gauge rail (for at-grade multi-gauge crossings and stations); primary broad/standard/primary narrow/secondary narrow&lt;br /&gt;
|-&lt;br /&gt;
|b ||Broad gauge rail - As broad gauge is a rare tracktype, it may still be feasible to cement B and b as broad gauges of two differing sizes, but the rarity among gauges in the real world would need to match; Italian (1445 mm), Dresden (1450 mm) and Leipzig (1458 mm) gauges are all based on streetcar/tram systems and may be better grouped here&lt;br /&gt;
|-&lt;br /&gt;
|t ||Greater Toronto Area streetcars (1495 mm)&lt;br /&gt;
|-&lt;br /&gt;
|5 ||1520mm and 5 foot (1524 mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|V ||Pennsylvanian (1581 mm and 1588 mm) and Australian &amp;quot;Victorian&amp;quot; (1600 mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|6 ||6 foot (1829 mm) broad gauge&lt;br /&gt;
|-&lt;br /&gt;
|g ||Brunel&#039;s Great Western Railway gauge (2140 mm)&lt;br /&gt;
|-&lt;br /&gt;
|B ||Biggest Broad gauge rail - As broad gauge is a rare tracktype, and the variation in common real life track types too wide, it may be desirable to cement B and b as broad gauges of two differing sizes; With no real life examples that match the usage frequency of &amp;quot;B&amp;quot;, the gauge might best draw inspiration from the infamous [https://en.wikipedia.org/wiki/Breitspurbahn Breitspurbahn] (3000 mm) and [https://perma.cc/KQ2Z-5RCR the never-built vehicles designed for it], or from the [https://en.wikipedia.org/wiki/Brighton_and_Rottingdean_Seashore_Electric_Railway Brighton &amp;amp; Rottingdean Seashore Electric Railway] (18 ft/5,486 mm) &lt;br /&gt;
|-&lt;br /&gt;
|L ||Maglevs that have a u-shaped track&lt;br /&gt;
|-&lt;br /&gt;
|T ||Maglevs that have a monorail track&lt;br /&gt;
|-&lt;br /&gt;
|F ||Flightrail; A [https://web.archive.org/web/20231213122530/http://www.flightrail.com/ system capable of high speeds and steep hill grades] that uses a pneumatic pipe for propulsion (see &amp;quot;P&amp;quot; under energy sources), and &#039;&#039;wheels pointed inwards at a 45-degree angle&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
It might be preferred to instead use/keep &amp;quot;B&amp;quot; for &amp;quot;all (current) broad gauges&amp;quot; (mostly Victorian gauge) instead using lowercase &amp;quot;b&amp;quot; for Brunel/GWR broad gauge. This wouldn&#039;t be to different from narrow gauge since the lesser used ones are lowercase and fallback to the uppercase ones.&lt;br /&gt;
&lt;br /&gt;
=== Axle load class [**X*] ===&lt;br /&gt;
{| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&lt;br /&gt;
! !!Indefinite !!Generic !! First usage&lt;br /&gt;
|-&lt;br /&gt;
|c ||Horse-drawn Wagonway ||1 metric tonne (1000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|1594&lt;br /&gt;
|-&lt;br /&gt;
|b ||Iron Plateway ||1 metric tonne (1000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|1799&lt;br /&gt;
|-&lt;br /&gt;
|a ||Prototype Rails ||5 metric tonnes (5000kg) per axle; Because reserved by examples || style=&amp;quot;text-align:right;&amp;quot;|1820&lt;br /&gt;
|-&lt;br /&gt;
|A ||Very Low (2012 OG Default)||10 metric tonnes (10000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|1828&lt;br /&gt;
|-&lt;br /&gt;
|B ||Low (2024 &amp;quot;New&amp;quot; Default) ||20 metric tonnes (20000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|1968&lt;br /&gt;
|-&lt;br /&gt;
|C ||Medium ||30 metric tonnes (30000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|~1978&lt;br /&gt;
|-&lt;br /&gt;
|D ||High ||40 metric tonnes (40000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|1988&lt;br /&gt;
|-&lt;br /&gt;
|d ||High, extra-lean freight bogies ||50 metric tonnes (50000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|2008&lt;br /&gt;
|-&lt;br /&gt;
|E ||Very High ||50 metric tonnes (50000kg) per axle (update in 2030 or so?)|| style=&amp;quot;text-align:right;&amp;quot;|~2028&lt;br /&gt;
|-&lt;br /&gt;
|F ||Future-proofing ||No limit per axle (update in 2050 or so?) || style=&amp;quot;text-align:right;&amp;quot;|~2048&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
If the above scheme is used, &amp;quot;d&amp;quot; should NEVER be used as the axle weight of a railtype. Instead, if your train set supports axle weights, use SAdN/SAdE/etc. as a vehicle&#039;s axle weight if they are a freight car available between 2008 and 2028 but are more than 40 metric tonnes (40000kg) per axle, and add the railtype to the [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]] of SADN or equivalent.&lt;br /&gt;
&lt;br /&gt;
=== Energy source type class [***X] ===&lt;br /&gt;
{| class=&amp;quot;mw-collapsible mw-collapsed wikitable&amp;quot;&lt;br /&gt;
! !!Electrification !!Fallback !!Notes&lt;br /&gt;
|-&lt;br /&gt;
|1 ||Unspecified monorail electrification |||MONO (the whole label) ||&lt;br /&gt;
|-&lt;br /&gt;
|S ||Maglevs that use a synchronous linear motor ||N/A ||&lt;br /&gt;
|-&lt;br /&gt;
|I ||Maglevs that use a linear induction motor ||MGLV (the whole label) ||&lt;br /&gt;
|-&lt;br /&gt;
|V ||Vactrains/Hyperloop ||t, then I, then MGLV (the whole label) ||&lt;br /&gt;
|-&lt;br /&gt;
|t ||&amp;quot;Universal custom tunnel&amp;quot; (for diagonal sub-surface &amp;quot;rail tunnels&amp;quot; that use decorative track types to complete the illusion) ||c, then p, then 7, then U (mandatory) ||&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt; ||Universal energy type (&#039;&#039;not&#039;&#039; meant to replace &amp;quot;***N&amp;quot;; use for vehicles such as driving cabs which cannot move under their own power regardless, if desired) ||N/A (Be sure to put &amp;quot;***E&amp;quot; in the [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]] of a &amp;quot;***-&amp;quot; label) ||(&#039;&#039;Do not give a fallback or use for railtypes, this is for unpowered &amp;quot;locomotives&amp;quot; only!&#039;&#039;)&lt;br /&gt;
|-&lt;br /&gt;
|5 ||750v DC Outer 3rd Rail (&amp;quot;MTRO&amp;quot; or &amp;quot;SA_3&amp;quot;) and 630v DC Inner 3rd/4th Rail; a total of 5 rails (2 for wheels, 3 for electricity), plausible in the London Underground network ||3 or 4 ||&lt;br /&gt;
|-&lt;br /&gt;
|U ||750v DC Outer 3rd Rail (&amp;quot;MTRO&amp;quot; or &amp;quot;SA_3&amp;quot;), 630v DC Inner 3rd/4th Rail and universal catenary (SAEE); a total of 5 rails (2 for wheels, 3 for electricity) if only one gauge, plausible in the London Underground network and an &amp;quot;ultimate&amp;quot; dual rail electrification without being a cheat (make it expensive or toggle-able?) as SAEU or as XAEU (universal dual rail electrified tracks) ||E ||&lt;br /&gt;
|-&lt;br /&gt;
|7 ||750v DC Outer 3rd Rail (&amp;quot;MTRO&amp;quot; or &amp;quot;SA_3&amp;quot;), 630v DC Inner 3rd/4th Rail, Three-phase AC (SA_T) 3rd/4th rail &amp;amp; catenary, and universal catenary (SA_E); a total of 7 rails (2 for wheels, 5 for electricity) if only one gauge, a truly universal dual rail electrification without being impossible (make it VERY expensive or toggle-able so it isn&#039;t cheat-y?) as SAE7, XAE7 or even as XRE7 (combination of ALL two-rail track gauges with universally-compatible electrification including an outer 3rd rail and a paired set of inner 3rd/4th rails, and a rack rail in the exact center; improbable, but not physically impossible) ||U ||&lt;br /&gt;
|-&lt;br /&gt;
|P ||Pneumatic tube with physical piston slit, or closed pneumatic tube with magnetic piston (i.e. that used by [https://web.archive.org/web/20231213122530/http://www.flightrail.com/ Flightrail]) ||N/A ||&lt;br /&gt;
|-&lt;br /&gt;
|p ||Pneumatic and universal electrical power ||P or 7 (Be sure to put &amp;quot;***_&amp;quot; and ***P&amp;quot; in the [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]] of a &amp;quot;***p&amp;quot; label) || XREp is a combination of ALL two-rail track gauges with improbably high axle load with universally-compatible electrification including an outer 3rd rail and a paired set of inner 3rd/4th rails, and a rack rail in the exact center; improbable, but not physically impossible)&lt;br /&gt;
|-&lt;br /&gt;
|c ||Cheat electrification type; use solely for the &amp;quot;_R_c&amp;quot; and &amp;quot;_R_t&amp;quot; railtype labels specifically (runs everything if coded properly), the latter (&amp;quot;_R_t&amp;quot;) is for tunnels, while the former (&amp;quot;_R_c&amp;quot;) is for &amp;quot;cheat rail upgrade&amp;quot; newgrfs ||p, then 7, then U, then E, then N, then &amp;quot;SA_-&amp;quot; (the whole label) ||&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Lurkmore</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=Standardized_Railtype_Scheme&amp;diff=4778</id>
		<title>Standardized Railtype Scheme</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=Standardized_Railtype_Scheme&amp;diff=4778"/>
		<updated>2024-04-16T22:16:51Z</updated>

		<summary type="html">&lt;p&gt;Lurkmore: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This railtype label scheme aims to bring order to the uncontrolled growth of railtype labels. It groups the rail types into what matters from a technical perspective. The scheme provides a standardized way of defining railtype labels, based on track gauge and type, speed class, allowable axle weight and electrification type.&lt;br /&gt;
&lt;br /&gt;
It is the explicit intent of this scheme to decouple track sets from vehicle sets to facilitate easy mixing. This way the player can select a track set of choice to go with a train set of choice. It allows the player to play with or without axle load classes, or with or without speed limit classes, simply by loading a track set that does or does not provide these features. In some cases it will also be possible to combine niche track sets, for instance a standard gauge track set with a narrow gauge and a metro track set.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== The Label Scheme ==&lt;br /&gt;
A railtype label consists of four characters. In this scheme, each position has a different purpose:&lt;br /&gt;
# Track gauge and type class (e.g. standard gauge rail, narrow gauge rail, monorail)&lt;br /&gt;
# Speed limit class&lt;br /&gt;
# Axle load class (maximum allowed axle weight for this track)&lt;br /&gt;
# Energy source type class&lt;br /&gt;
&lt;br /&gt;
In the next sections, each of the four positions will be explained.&lt;br /&gt;
&lt;br /&gt;
=== Track gauge and type class [X***] ===&lt;br /&gt;
The first position in the railtype label defines track gauge and/or track type class. The following classes are currently defined:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Track type/gauge&lt;br /&gt;
|- &lt;br /&gt;
|S ||Standard gauge rail&lt;br /&gt;
|-&lt;br /&gt;
|B ||Broad gauge rail &lt;br /&gt;
|-&lt;br /&gt;
|N ||Narrow gauge rail&lt;br /&gt;
|-&lt;br /&gt;
|n ||Secondary narrow gauge rail (e.g. when providing both metre and cape gauge, always use N in case of just one type of narrow gauge)&lt;br /&gt;
|-&lt;br /&gt;
|D ||Dual gauge rail, standard/broad gauge&lt;br /&gt;
|-&lt;br /&gt;
|d ||Dual gauge rail, standard/narrow gauge&lt;br /&gt;
|-&lt;br /&gt;
|M ||Monorail&lt;br /&gt;
|-&lt;br /&gt;
|L ||Magnetic Levitation&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Speed limit class [*X**] ===&lt;br /&gt;
The second position in the railtype label defines the speed limit class. These classes do not map to a fixed numeric value, but are used to define an internal speed limit order for the track set. This means that if your track set has two different speed limits for track types that are otherwise identical, you&#039;ll use letters A and B here. In case of three different speed limits, use A, B and C. In case your track set does not employ speed limits, always use A. Train sets do not care about the speed limit, and will always set the lowest speed class, i.e. A.&lt;br /&gt;
&lt;br /&gt;
This gives for instance the following options:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||no speed limits&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;OR&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||low speed&lt;br /&gt;
|-&lt;br /&gt;
|B ||high speed&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;OR&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||low speed&lt;br /&gt;
|-&lt;br /&gt;
|B ||medium speed&lt;br /&gt;
|-&lt;br /&gt;
|C ||high speed&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;etc.&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear:left;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The speed limit class may also be used for some advanced features of the label scheme, like specialized track types and eyecandy purposes. Be careful not to break the compatibility with other sets when using the speed limit class for these purposes.&lt;br /&gt;
&lt;br /&gt;
An example of a special use is rack rail. In the French set it is used to give rack rail engines a higher speed and TE than normal rail engines when used on rack rail. When defining trains with a special speed limit class, always allow a fallback to speed limit class A via the railtype table.&lt;br /&gt;
&lt;br /&gt;
An example of eyecandy use are urban tracks. These are a variation of regular tracks, but with concrete ground tiles to better match the urban environment. Train sets must not define vehicles for eyecandy classes. If you think you have special vehicles that should only run on the eyecandy class, it is &#039;&#039;not&#039;&#039; eyecandy but a separate track gauge/type.&lt;br /&gt;
&lt;br /&gt;
The following special and eyecandy classes have been defined so far:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Description !!Type !!Used by&lt;br /&gt;
|- &lt;br /&gt;
|A-H ||speed limits ||colspan=&amp;quot;2&amp;quot;| reserved&lt;br /&gt;
|- &lt;br /&gt;
|R ||rack rail, that allows this vehicle to not slow down going uphill ||special ||French Set Rails&lt;br /&gt;
|- &lt;br /&gt;
|S ||subterranean ||eyecandy ||Metro Track Set&lt;br /&gt;
|- &lt;br /&gt;
|U ||urban ||eyecandy ||Metro Track Set&lt;br /&gt;
|}&lt;br /&gt;
Rack rail needs a bit greater of a explanation, idealy it would be coded in a way where both Pure rack and Rack-and-adhesion systems are supported.&lt;br /&gt;
This can be achieved by making regular tracks powered on rackrail without the opposite being true. This means vehicles defined for NRAN can&#039;t go on NAAN (like a pure rack system) but NAAN vehicles can go on NRAN (like a rack-and-adhesion system). Currently French Set Rails implements compatiblility both ways which makes pure rack systems impossible.&lt;br /&gt;
&lt;br /&gt;
=== Axle load class [**X*] ===&lt;br /&gt;
The third position defines the axle weight limit. Heavy trains cannot run on tracks with a low axle weight limit; these trains need more expensive tracks with a heigher weight limit. There are five axle load classes &#039;&#039;&#039;A&#039;&#039;&#039; through &#039;&#039;&#039;E&#039;&#039;&#039;. &#039;&#039;&#039;A&#039;&#039;&#039; is for the lowest axle load limit, &#039;&#039;&#039;E&#039;&#039;&#039; for the highest. The exact axle load attached to each class is relative to the track gauge/type and trains in the set. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A train set should set the appropriate axle weight for each train via the railtype label, as to make the set work with track sets that do provide tracks with different weight limits, even if you don&#039;t care about it for your trainset. Split all vehicles of a certain track gauge/type into five groups of similar axle weight. The group with the lowest axle weights will get class &#039;&#039;&#039;A&#039;&#039;&#039;, the second lowest class &#039;&#039;&#039;B&#039;&#039;&#039;, etc. up to the group with the highest axle weights which will get class &#039;&#039;&#039;E&#039;&#039;&#039;. Do the same for the other track gauge/types if your train set has those.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A track set does not have to provide a dedicated track type for each axle weight limit. A track set that does not provide a dedicated track for each axle load class, must make sure to map all undefined axle load classes to a real railtype using property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]]. This way a train set can rely on all labels for all axle load classes being available. Example: if you only want to provide 2 axle load classes for standard gauge unelectrified with no speed limits, you can map SA&#039;&#039;&#039;A&#039;&#039;&#039;N + SA&#039;&#039;&#039;B&#039;&#039;&#039;N to SA&#039;&#039;&#039;C&#039;&#039;&#039;N and SA&#039;&#039;&#039;D&#039;&#039;&#039;N to SA&#039;&#039;&#039;E&#039;&#039;&#039;N if the cost difference between the two railtypes is high, or SA&#039;&#039;&#039;A&#039;&#039;&#039;N to SA&#039;&#039;&#039;B&#039;&#039;&#039;N and SA&#039;&#039;&#039;C&#039;&#039;&#039;N + SA&#039;&#039;&#039;D&#039;&#039;&#039;N to SA&#039;&#039;&#039;E&#039;&#039;&#039;N if the cost difference is low.&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t want to provide any axle load classes in your track set, it doesn&#039;t really matter what axle load class you choose for the track, as you&#039;ll be mapping all other classes to this track anyways. But the lowest or highest class are the obvious choice. Example: if your track set only provides narrow gauge unelectrified track with no speed limits and no axle load limits, you may use NA&#039;&#039;&#039;A&#039;&#039;&#039;N for the track label, and provide NA&#039;&#039;&#039;B&#039;&#039;&#039;N, NA&#039;&#039;&#039;C&#039;&#039;&#039;N, NA&#039;&#039;&#039;D&#039;&#039;&#039;N, NA&#039;&#039;&#039;E&#039;&#039;&#039;N in property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you need more than five axle load class, you may use lowercase letters for very low axle loads and continue the uppercase letters for very high axle loads. Be advised that your train set may not assume the existance of any other class than &#039;&#039;&#039;A&#039;&#039;&#039; through &#039;&#039;&#039;E&#039;&#039;&#039;, so when the range make sure to program your railtype table such that trains with such a class will fall back to class &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;E&#039;&#039;&#039;. If you make a track set with an extended range, be aware that not all train sets will define trains for these tracks. In general: only do this in case of a train set with a matching track set.&lt;br /&gt;
&lt;br /&gt;
For the lowercase letters, &#039;&#039;&#039;b&#039;&#039;&#039; is lower than &#039;&#039;&#039;a&#039;&#039;&#039;, so for increasing axle load limits: b &amp;lt; a &amp;lt; A &amp;lt; B &amp;lt; C etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that the axle load classes never map to a specific weight in tonnes. For that reason it does not make sense to add a numeric value for the axle load to the name of a track type or in the extended purchase info of a train. Instead use the relative expressions &#039;very low&#039;, &#039;low&#039;, &#039;medium&#039;, &#039;high&#039; and &#039;very high&#039; or use the class letters directly.&lt;br /&gt;
&lt;br /&gt;
If a guideline is needed for updating a set to use axle loads in a train set where they don&#039;t yet exist, the following might serve as a basic &amp;quot;generic&amp;quot; guideline...&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&lt;br /&gt;
! !!Indefinite !!Generic !! First usage&lt;br /&gt;
|-&lt;br /&gt;
|c ||Horse-drawn Wagonway ||1 metric tonne (1000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|1594&lt;br /&gt;
|-&lt;br /&gt;
|b ||Iron Plateway ||1 metric tonne (1000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|1799&lt;br /&gt;
|-&lt;br /&gt;
|a ||Prototype Rails ||5 metric tonnes (5000kg) per axle; Because reserved by examples || style=&amp;quot;text-align:right;&amp;quot;|1820&lt;br /&gt;
|-&lt;br /&gt;
|A ||Very Low (2012 OG Default)||10 metric tonnes (10000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|1828&lt;br /&gt;
|-&lt;br /&gt;
|B ||Low (2024 &amp;quot;New&amp;quot; Default) ||20 metric tonnes (20000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|1968&lt;br /&gt;
|-&lt;br /&gt;
|C ||Medium ||30 metric tonnes (30000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|~1978&lt;br /&gt;
|-&lt;br /&gt;
|D ||High ||40 metric tonnes (40000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|1988&lt;br /&gt;
|-&lt;br /&gt;
|E ||Very High ||50 metric tonnes (50000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|2008&lt;br /&gt;
|-&lt;br /&gt;
|F ||Future-proofing ||No limit per axle (update in 2030 or so?) || style=&amp;quot;text-align:right;&amp;quot;|~2028&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Energy source type class [***X] ===&lt;br /&gt;
The last position defines the energy source type class. This is split in generic energy source types like overhead wires and third rail and specialized types like alternating and direct current.&lt;br /&gt;
&lt;br /&gt;
A track set that only uses specialized types, should map the generic types to the most suitable specialized type in the set.&lt;br /&gt;
&lt;br /&gt;
A vehicle set that uses specialized types should define a generic type as fallback, via the railtype table. If such a fallback is omitted, please note that certain vehicles may be unavailable depending on track set loaded.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Generic energy type classes&lt;br /&gt;
|-&lt;br /&gt;
|N ||no electrification&lt;br /&gt;
|-&lt;br /&gt;
|E ||overhead wires/catenary electrification&lt;br /&gt;
|-&lt;br /&gt;
|3 ||3rd rail electrification&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Specialized energy type classes !!Vehicle set fallback&lt;br /&gt;
|-&lt;br /&gt;
|Z ||3rd rail and catenary electrification || 3 or E&lt;br /&gt;
|-&lt;br /&gt;
|4 ||4th rail electrification || 3&lt;br /&gt;
|-&lt;br /&gt;
|Y ||4th rail and catenary electrification || 4 or E&lt;br /&gt;
|-&lt;br /&gt;
|T ||[http://en.wikipedia.org/wiki/Three-phase_AC_railway_electrification three phase AC electrification] || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|D ||DC catenary electrification || E&lt;br /&gt;
|-&lt;br /&gt;
|d ||low voltage DC catenary electrification (only when D also used in set) || First A then E&lt;br /&gt;
|-&lt;br /&gt;
|A ||AC catenary electrification || E&lt;br /&gt;
|-&lt;br /&gt;
|a ||low voltage AC catenary electrification (only when A also used in set) || First A then E&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
If you want multi-voltage/current vehicles in your set (i.e. a train that can run on both AC and DC current), you have to define a dedicated railtype for those vehicles. Without the railtype, it&#039;s not possible to define vehicles with this property. If you only have vehicles that can run on either one type of voltage/current or on all types of voltage/current (e.g. a 2-system if you only have &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;D&#039;&#039;&#039; tracks, or a 4-system in case of all &#039;&#039;&#039;A&#039;&#039;&#039;, &#039;&#039;&#039;a&#039;&#039;&#039;, &#039;&#039;&#039;D&#039;&#039;&#039; and &#039;&#039;&#039;d&#039;&#039;&#039;), then use the generic class &#039;&#039;&#039;E&#039;&#039;&#039; for vehicles that should be able to run on all different voltage/currents. Also the track set needs to have one at least one railtype with class &#039;&#039;&#039;E&#039;&#039;&#039; defined.&lt;br /&gt;
&lt;br /&gt;
Note that if you want more than one type of multi-voltage/current, you&#039;ll quickly get a combinatory explosion of railtype labels, so plan carefully or do not attempt it. For every different multi-voltage/current vehicle type a dedicated railtype is needed. If you want all possible combinations, then you need to define an additional 8 classes. It is not recommended to make your train/track set this complicated.&lt;br /&gt;
&lt;br /&gt;
Example approach for a 4-system set, with trains that can run on either one or all systems:&lt;br /&gt;
* &#039;&#039;&#039;E&#039;&#039;&#039;: generic catenary-powered electric engines. &amp;quot;universal&amp;quot; [4-system] if any of &#039;&#039;&#039;D&#039;&#039;&#039;/&#039;&#039;&#039;d&#039;&#039;&#039;/&#039;&#039;&#039;A&#039;&#039;&#039;/&#039;&#039;&#039;a&#039;&#039;&#039; are defined.&lt;br /&gt;
* &#039;&#039;&#039;A&#039;&#039;&#039;: generic AC catenary electric engines. 25kV only if &#039;&#039;&#039;a&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;A&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;a&#039;&#039;&#039;: 15kV AC catenary electric engines. Only defined if &#039;&#039;&#039;A&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;a&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;D&#039;&#039;&#039;: generic DC catenary electric engines. 3kV if &#039;&#039;&#039;d&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;D&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;d&#039;&#039;&#039;: 1.5kV DC catenary electric engines. Only defined if &#039;&#039;&#039;D&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;D&#039;&#039;&#039; and &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;d&#039;&#039;&#039;.&lt;br /&gt;
For a 2-system set, you can simply drop &#039;&#039;&#039;a&#039;&#039;&#039; and &#039;&#039;&#039;d&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Standard labels: RAIL, ELRL, MONO, MGLV ===&lt;br /&gt;
It&#039;s not possible to undefine the standard railtypes RAIL, ELRL, MONO and MGLV. The game will always add those if there are vehicles defined for these track types. As a result, for a track set it&#039;s best not to ignore those standard labels, but rather work with them and define them in the set. If your track set does not have monorail or maglev tracks, there of course is no need to define those. But if your track set defines anything that resembles unelectrified or electrified rail, you should use the RAIL and ELRL labels. Matching labels from the above scheme will then be defined in property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
As vehicles from NewGRFs that do not use explicit railtypes will end up on these standard railtypes, you should use RAIL instead of whatever type could be regarded as the most commonly used unelectrified type, ELRL instead of the most commonly used electrified type and so on. The label according to this scheme is then set as an alternate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Summary for track sets ==&lt;br /&gt;
This section summarizes the above for track sets.&lt;br /&gt;
&lt;br /&gt;
; [X***] Track gauge and type class&lt;br /&gt;
* Define at least one track type for every track gauge/type class you want in your set.&lt;br /&gt;
* If you only provide tracks for one gauge/type, consider leaving some free railtypes so a player can load an additional set for some other type.&lt;br /&gt;
; [*X**] Speed limit class&lt;br /&gt;
* Make sure class A is always available, either directly or via an alternate label.&lt;br /&gt;
* Use only class A if you don&#039;t want speed limits;&lt;br /&gt;
* With speed limits, A is the lowest speed limit. Continue with B, C, etc. for increasing speed limits;&lt;br /&gt;
* The speed class can also be used to implement additional eye-candy track types, use letters higher in the alphabet for this.&lt;br /&gt;
; [**X*] Axle load class&lt;br /&gt;
* Always define all classes A through E for every track type class / electrification combination, either:&lt;br /&gt;
** Directly via a real railtype definition;&lt;br /&gt;
** Indirectly via the alternate rail type label list, property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
* Extend the predefined classes only if you also provide a train set that makes use of these.&lt;br /&gt;
; [***X] Energy source type class&lt;br /&gt;
* If your set only uses specialized classes, always map the generic classes to the closest matching specialized type via property 1D.&lt;br /&gt;
; Standard labels [RAIL, ELRL, MONO, MGLV]&lt;br /&gt;
* Always define the standard labels when possible, instead of what would be the equivalent of the standard label in this scheme.&lt;br /&gt;
* Map the equivalent labels from this scheme to the standard labels using property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
Or, put differently, for each gauge/type, select one or more energy source types. For each type/energy combination provide all axle load classes for the speed class &amp;quot;A&amp;quot;, either as a real type or as an alternate of another type. Provide more types with a different speed letter if you want to provide several different speeds or other eye-candy tracks.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Summary for train sets ==&lt;br /&gt;
This section summarizes the above for train sets.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; [X***] Track gauge and type class&lt;br /&gt;
* Use the track type class that matches the vehicle;&lt;br /&gt;
* Define a fallback type via the railtype table in case you want the vehicle to be available on a different track if no matching track set is loaded.&lt;br /&gt;
** Specialized subtypes like &amp;quot;n&amp;quot; might not always be available. If you want those vehicles to be still available then, fall back the the generic class (e.g. &amp;quot;N&amp;quot;).&lt;br /&gt;
; [*X**] Speed limit class &lt;br /&gt;
* Always use class A for every vehicle.&lt;br /&gt;
; [**X*] Axle load class&lt;br /&gt;
* Use all classes A through E according to the maximum axle weight of the vehicle.&lt;br /&gt;
* Extend the predefined classes only if you also provide a track set that makes use of these;&lt;br /&gt;
** When extending the predefined classes A through E, define a fallback type via the railtype table in case you want the vehicle to be available if no matching track set is loaded.&lt;br /&gt;
; [***X] Energy source type class&lt;br /&gt;
* Use the energy source type class that matches the vehicle;&lt;br /&gt;
* When using specialized classes, define a fallback type via the railtype table in case you want the vehicle to be available if no matching track set is loaded.&lt;br /&gt;
; Standard labels [RAIL, ELRL, MONO, MGLV]&lt;br /&gt;
* Define a fallback type to the standard labels via the railtype table in case you want the vehicle to be available on the standard tracks if no matching track set is loaded.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Be as specific as you want when selecting the railtype, it is the job of the track set to select a playable, reduced subset out of all possible type combinations.&lt;br /&gt;
&lt;br /&gt;
== In case you&#039;re not convinced by this scheme ==&lt;br /&gt;
Adopting this scheme gives the player freedom to use any track set in combination with any train set that follow the scheme. &lt;br /&gt;
&lt;br /&gt;
This means that you can make your train set compatible with track sets that provide axle load classes, and track sets that provide speed limits, and at the same time with track sets that provide none of this. This way, the player can decide to play with or without axle load classes, or with or without speed limits, simply by loading a track set that does or does not provide these features.&lt;br /&gt;
&lt;br /&gt;
And for your track set, it means that you can make it as simple or as complicated as you want (within the 64 track type limit), while not having to worry about compatibility with train sets.&lt;br /&gt;
&lt;br /&gt;
Still not convinced? Feel free to use railtype labels of your own, but know that you will likely come to regret that at some point in the future.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Forum topic==&lt;br /&gt;
If you want to discuss the standardized railtype scheme or have any questions about it, you can visit [http://www.tt-forums.net/viewtopic.php?t=59379 the forum topic].&lt;br /&gt;
&lt;br /&gt;
==&amp;quot;Innsbruck 2022 Convention&amp;quot; for partial compliance==&lt;br /&gt;
&lt;br /&gt;
This is really esoteric, but eh. It was the product of long discussion / debate / argument / reasoning between grf authors.&lt;br /&gt;
&lt;br /&gt;
1. The Standardized Railtype Scheme &#039;&#039;&#039;is a useful tool&#039;&#039;&#039; for providing reliable compatibility between train grfs and railtype grfs.&lt;br /&gt;
&lt;br /&gt;
2. The &#039;&#039;&#039;axle load class&#039;&#039;&#039; in the scheme presents a number of issues for compliance.&lt;br /&gt;
&lt;br /&gt;
2.1. Over 10 years since the scheme was standardised, not many train grfs implement multiple axle load classes &#039;&#039;&#039;as required by the scheme&#039;&#039;&#039;.  Known examples that &#039;&#039;&#039;do&#039;&#039;&#039; comply include Dutch Train Set, French Narrow Gauge Trains, and Finnish Trains.&lt;br /&gt;
&lt;br /&gt;
2.2. Elements of the axle load rules have proven hard to interpret.  For example:&lt;br /&gt;
&lt;br /&gt;
* is it compliant to use &#039;&#039;fewer&#039;&#039; than 5 classes in a train grf?  There is a lack of consensus on this.&lt;br /&gt;
* axle load is only one of many factors that govern whether a vehicle is compatible with a route, for example loading gauge, minimum curve, signalling types etc&lt;br /&gt;
&lt;br /&gt;
2.3. Meanwhile &#039;&#039;multiple existing train grfs use class &#039;&#039;A&#039;&#039; for the axle load for all trains&#039;&#039; (except where relying on default railtypes such as RAIL and ELRL).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3. The Innsbruck 2022 Convention uses class &#039;&#039;A&#039;&#039; for axle load for &#039;&#039;&#039;all&#039;&#039;&#039; trains in a train grf (except where relying on default railtypes such as RAIL and ELRL).&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is &#039;&#039;&#039;not&#039;&#039;&#039; fully compliant with the Standardized Railtype Scheme and does not claim to be.&lt;br /&gt;
&lt;br /&gt;
However train grfs using the Innsbruck 2022 Convention are &#039;&#039;broadly compatible&#039;&#039; with railtype grfs using the Standardized Railtype Scheme.  &lt;br /&gt;
&lt;br /&gt;
Obligatory XKCD link about &#039;standards&#039;: https://xkcd.com/927/&lt;br /&gt;
&lt;br /&gt;
===Known issues===&lt;br /&gt;
&lt;br /&gt;
Known problems are that trains using only class &#039;A&#039; may limit the ability of railtype grf authors to achieve their design goals for separating railtypes by axle load.  &lt;br /&gt;
But on reflection, it can be seen that a train grf might not be able to provide a broad enough range of vehicles to cover at least 5 axle load classes.&lt;br /&gt;
&lt;br /&gt;
3.1. The Innsbruck 2022 Convention is &#039;&#039;&#039;not&#039;&#039;&#039; appropriate for train grf authors who wish to provide more than one axle load class.&lt;br /&gt;
&lt;br /&gt;
3.2. The Innsbruck 2022 Convention treats the meaning of class &#039;&#039;A&#039;&#039; as &#039;&#039;undefined&#039;&#039;, &#039;&#039;ignored&#039;&#039; or &#039;&#039;compatible with most restricted railtype&#039;&#039; for axle load.  &lt;br /&gt;
&lt;br /&gt;
Axle load class &#039;&#039;A&#039;&#039; &#039;&#039;&#039;cannot&#039;&#039;&#039; be safely interpreted as &#039;&#039;universal&#039;&#039; because from the perspective of a railtype grf &#039;&#039;A&#039;&#039; is &#039;&#039;most restricted railtype&#039;&#039;, where &#039;&#039;universal&#039;&#039; is better represented as &#039;&#039;least restricted railtype&#039;&#039;. Depending how many axle load classes are in use by the railtype grf, this could be class &#039;&#039;B&#039;&#039;, &#039;&#039;C&#039;&#039;, &#039;&#039;D&#039;&#039;, &#039;&#039;E&#039;&#039; etc.  To illustrate this issue, take the following scenario&lt;br /&gt;
&lt;br /&gt;
* railtype grf defines axle loads &#039;&#039;A&#039;&#039; to &#039;&#039;E&#039;&#039;. In this case the railtype grf author intends that &#039;&#039;A&#039;&#039; is compatible with the smallest range of vehicles, &#039;&#039;E&#039;&#039; is compatible with the largest range of vehicles, and &#039;&#039;B&#039;&#039;, &#039;&#039;C&#039;&#039; and &#039;&#039;D&#039;&#039; are compatible with some intermediate ranges of vehicles&lt;br /&gt;
* but the vehicle grf author has defined all vehicles to be axle load &#039;&#039;A&#039;&#039; in an attempt to express this vehicle is &#039;&#039;universal&#039;&#039;.  The result in the game is that an identical range of vehicles will be compatible with railtypes &#039;&#039;A&#039;&#039; to &#039;&#039;E&#039;&#039;.  &lt;br /&gt;
&lt;br /&gt;
This is clearly &#039;&#039;&#039;not&#039;&#039;&#039; the intended outcome of the railtype author. But nor is it clear within the spec that the vehicle author has particularly done anything wrong. &lt;br /&gt;
&lt;br /&gt;
It &#039;&#039;would&#039;&#039; be possible to use railtype availability testing to adjust the vehicle property 05 (track_type) to fit the highest defined axle load (&#039;&#039;E&#039;&#039; in this example case), but this is not insignificant work, and it&#039;s unlikely to be widely adopted by vehicle grf authors.  Nor would this solution achieve &#039;&#039;universal&#039;&#039; as all vehicles in vehicle grf then would be incompatible with types &#039;&#039;A&#039;&#039; through &#039;&#039;D&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
3.3. When the Innsbruck 2022 Convention is used, this &#039;&#039;&#039;does not prevent&#039;&#039;&#039; a train grf being extended in some future release to achieve full compliance with Standardized Railtype Scheme. &#039;&#039;That choice remains with train grf authors&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
3.4. If 2012 could be revisited, providing an optional &#039;&#039;_&#039;&#039; axle load class in the Standardized Railtype Scheme for &#039;&#039;undefined&#039;&#039; would have been preferable, but as of 2022, &#039;&#039;A&#039;&#039; is already widely used for this purpose, and time travel is not known to be possible.&lt;br /&gt;
&lt;br /&gt;
==Extended multivoltage support addition==&lt;br /&gt;
These are extensions to the energy source type class currently supported by SETS and xUSSR Rails which allow trainsets to code trains which are limited to a certain selection of voltages. As stated in the energy source type class section this might not be of use for all sets, as such it is optional but still recommended for trainsets for ideal functionality with tracksets which support the extended labels.&lt;br /&gt;
{|&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Specialized energy type classes !!Vehicle set fallback&lt;br /&gt;
|-&lt;br /&gt;
|* ||Equivilent to A, a, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|&#039; ||Equivilent to A, a and D || E&lt;br /&gt;
|-&lt;br /&gt;
|^ ||Equivilent to A, a and d || E&lt;br /&gt;
|-&lt;br /&gt;
|_ ||Equivilent to A, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
|, ||Equivilent to a, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|$ ||Equivilent to A and a  || First A then E or just E&lt;br /&gt;
|-&lt;br /&gt;
|= ||Equivilent to D and d  || First D then E or just E&lt;br /&gt;
|-&lt;br /&gt;
|) ||Equivilent to A and D  || E&lt;br /&gt;
|-&lt;br /&gt;
|( ||Equivilent to A and d  || E&lt;br /&gt;
|-&lt;br /&gt;
|] ||Equivilent to a and D  || E&lt;br /&gt;
|-&lt;br /&gt;
|[ ||Equivilent to a and d  || E&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Possible additions==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;mw-collapsible mw-collapsed wikitable&amp;quot;&lt;br /&gt;
! !!Track type/gauge&lt;br /&gt;
|-&lt;br /&gt;
|_ ||Universal &amp;quot;cheat&amp;quot; rail; ALWAYS add &amp;quot;_H_c&amp;quot; and &amp;quot;_S_t&amp;quot; to EVERY [[NML:Railtypes#Railtype_properties|compatible_railtype_list (NML)]], and ALWAYS add &amp;quot;_S_t&amp;quot; to EVERY [[NML:Railtypes#Railtype_properties|powered_railtype_list (NML)]] if you intend to support this&lt;br /&gt;
|-&lt;br /&gt;
|0 ||(A number zero, not a letter &amp;quot;Oh&amp;quot;) No track, eyecandy-use only&lt;br /&gt;
|-&lt;br /&gt;
|U ||[https://perma.cc/93VE-8JQZ &amp;quot;Ukrainian monorail&amp;quot; or Şaropoí̈zd (Шаропоїзд)], a u-shaped concrete &amp;quot;monorail trench&amp;quot; from 1920&#039;s Soviet Union; see [https://www.tt-forums.net/viewtopic.php?f=26&amp;amp;t=47432 the Yarmanchuk Express] for graphics&lt;br /&gt;
|-&lt;br /&gt;
|1 ||Early Monorail; See [https://perma.cc/6BVS-2P2X here] and [https://perma.cc/VCG2-ATUA here]&lt;br /&gt;
|-&lt;br /&gt;
|G ||Gyrail; [https://en.wikipedia.org/wiki/Gyro_monorail Gyro monorail/Gyroscopic monorail/Gyro-stabilized monorail] for description and IRL example, and [https://wikimon.net/Trailmon here] ([https://web.archive.org/web/20240227205547/https://wikimon.net/Trailmon archived]) for good fictional examples&lt;br /&gt;
|-&lt;br /&gt;
|A ||Alweg-based Monorail&lt;br /&gt;
|-&lt;br /&gt;
|m ||Minimum gauge rail; [https://en.wikipedia.org/wiki/Minimum-gauge_railway 15 in (381 mm), 400 mm (15+3⁄4 in), 16 in (406 mm), 18 in (457 mm), 19 in (483 mm), 500 mm (19+3⁄4 in) or 20 in (508 mm)]&lt;br /&gt;
|-&lt;br /&gt;
|n ||600mm &amp;quot;Decauville&amp;quot; or &amp;quot;Feldsbahn&amp;quot;, formerly labelled &amp;quot;NG60&amp;quot; before standardization; the most common narrow gauge track type in OpenTTD other than metre gauge, 600mm gauge is thus ideal for taking up the &amp;quot;n&amp;quot; gauge, though this is an ultimately optional distinction&lt;br /&gt;
|-&lt;br /&gt;
|7 ||750mm, Bosnian gauge (760 mm), and 762mm; all start with 7 and are close in size&lt;br /&gt;
|-&lt;br /&gt;
|3 ||Swedish 3 foot (891 mm), 900mm, 3 foot (914 mm) and Italian Metre (950mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|R ||Metre gauge; potentially compatible with base tramtype &amp;quot;RABN&amp;quot;, most early tramways were metre gauge&lt;br /&gt;
|-&lt;br /&gt;
|4 ||4 foot gauge (1219 mm), and possibly 4&#039;6&amp;quot; in. (1372 mm) if standardization is needed for 1372mm&lt;br /&gt;
|-&lt;br /&gt;
|s ||Scotch gauge (1372 mm)&lt;br /&gt;
|-&lt;br /&gt;
|S ||Standard gauge; already implemented in original standardized railtype scheme, but could include near-standard (1432 mm) as well as existing true standard (1435 mm) and is also potentially compatible with the SABN tramtype&lt;br /&gt;
|-&lt;br /&gt;
|X ||Omni-gauge rail (for at-grade multi-gauge crossings and stations); ultrabroad/secondary broad/primary broad/standard/primary narrow/secondary narrow gauge&lt;br /&gt;
|-&lt;br /&gt;
|x ||Multi-gauge rail (for at-grade multi-gauge crossings and stations); secondary broad/primary broad/standard/primary narrow/secondary narrow&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;+&amp;lt;/nowiki&amp;gt; ||Quad-gauge (Four-gauge) rail (for at-grade multi-gauge crossings and stations); secondary broad/primary broad/standard/primary narrow&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt; ||Four-gauge rail (for at-grade multi-gauge crossings and stations); primary broad/standard/primary narrow/secondary narrow&lt;br /&gt;
|-&lt;br /&gt;
|b ||Broad gauge rail - As broad gauge is a rare tracktype, it may still be feasible to cement B and b as broad gauges of two differing sizes, but the rarity among gauges in the real world would need to match; Italian (1445 mm) and Dresden (1450 mm) gauges may be better grouped here&lt;br /&gt;
|-&lt;br /&gt;
|t ||Leipzig trams (1458 mm) and Greater Toronto Area streetcars (1495 mm)&lt;br /&gt;
|-&lt;br /&gt;
|5 ||1520mm and 5 foot (1524 mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|V ||Pennsylvanian (1581 mm and 1588 mm) and Australian &amp;quot;Victorian&amp;quot; (1600 mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|6 ||6 foot (1829 mm) broad gauge&lt;br /&gt;
|-&lt;br /&gt;
|g ||Brunel&#039;s Great Western Railway gauge (2140 mm)&lt;br /&gt;
|-&lt;br /&gt;
|B ||Biggest Broad gauge rail - As broad gauge is a rare tracktype, and the variation in common real life track types too wide, it may be desirable to cement B and b as broad gauges of two differing sizes; With no real life examples that match the usage frequency of &amp;quot;B&amp;quot;, the gauge might best draw inspiration from the infamous [https://en.wikipedia.org/wiki/Breitspurbahn Breitspurbahn] (3000 mm) and [https://perma.cc/KQ2Z-5RCR the never-built vehicles designed for it], or from the [https://en.wikipedia.org/wiki/Brighton_and_Rottingdean_Seashore_Electric_Railway Brighton &amp;amp; Rottingdean Seashore Electric Railway] (18 ft/5,486 mm) &lt;br /&gt;
|-&lt;br /&gt;
|L ||Maglevs that have a u-shaped track&lt;br /&gt;
|-&lt;br /&gt;
|T ||Maglevs that have a monorail track&lt;br /&gt;
|-&lt;br /&gt;
|F ||Flightrail; A [https://web.archive.org/web/20231213122530/http://www.flightrail.com/ system capable of high speeds and steep hill grades] that uses a pneumatic pipe for propulsion (see &amp;quot;P&amp;quot; under energy sources), and &#039;&#039;wheels pointed inwards at a 45-degree angle&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
It might be preferred to instead use/keep &amp;quot;B&amp;quot; for &amp;quot;all (current) broad gauges&amp;quot; (mostly Victorian gauge) instead using lowercase &amp;quot;b&amp;quot; for Brunel/GWR broad gauge. This wouldn&#039;t be to different from narrow gauge since the lesser used ones are lowercase and fallback to the uppercase ones.&lt;br /&gt;
&lt;br /&gt;
=== Axle load class [**X*] ===&lt;br /&gt;
{| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&lt;br /&gt;
! !!Indefinite !!Generic !! First usage&lt;br /&gt;
|-&lt;br /&gt;
|c ||Horse-drawn Wagonway ||1 metric tonne (1000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|1594&lt;br /&gt;
|-&lt;br /&gt;
|b ||Iron Plateway ||1 metric tonne (1000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|1799&lt;br /&gt;
|-&lt;br /&gt;
|a ||Prototype Rails ||5 metric tonnes (5000kg) per axle; Because reserved by examples || style=&amp;quot;text-align:right;&amp;quot;|1820&lt;br /&gt;
|-&lt;br /&gt;
|A ||Very Low (2012 OG Default)||10 metric tonnes (10000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|1828&lt;br /&gt;
|-&lt;br /&gt;
|B ||Low (2024 &amp;quot;New&amp;quot; Default) ||20 metric tonnes (20000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|1968&lt;br /&gt;
|-&lt;br /&gt;
|C ||Medium ||30 metric tonnes (30000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|~1978&lt;br /&gt;
|-&lt;br /&gt;
|D ||High ||40 metric tonnes (40000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|1988&lt;br /&gt;
|-&lt;br /&gt;
|d ||High, extra-lean freight bogies ||50 metric tonnes (50000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|2008&lt;br /&gt;
|-&lt;br /&gt;
|E ||Very High ||50 metric tonnes (50000kg) per axle (update in 2030 or so?)|| style=&amp;quot;text-align:right;&amp;quot;|~2028&lt;br /&gt;
|-&lt;br /&gt;
|F ||Future-proofing ||No limit per axle (update in 2050 or so?) || style=&amp;quot;text-align:right;&amp;quot;|~2048&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
If the above scheme is used, &amp;quot;d&amp;quot; should NEVER be used as the axle weight of a railtype. Instead, if your train set supports axle weights, use SAdN/SAdE/etc. as a vehicle&#039;s axle weight if they are a freight car available between 2008 and 2028 but are more than 40 metric tonnes (40000kg) per axle, and add the railtype to the [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]] of SADN or equivalent.&lt;br /&gt;
&lt;br /&gt;
=== Energy source type class [***X] ===&lt;br /&gt;
{| class=&amp;quot;mw-collapsible mw-collapsed wikitable&amp;quot;&lt;br /&gt;
! !!Electrification !!Fallback !!Notes&lt;br /&gt;
|-&lt;br /&gt;
|1 ||Unspecified monorail electrification |||MONO (the whole label) ||&lt;br /&gt;
|-&lt;br /&gt;
|S ||Maglevs that use a synchronous linear motor ||N/A ||&lt;br /&gt;
|-&lt;br /&gt;
|I ||Maglevs that use a linear induction motor ||MGLV (the whole label) ||&lt;br /&gt;
|-&lt;br /&gt;
|V ||Vactrains/Hyperloop ||t, then I, then MGLV (the whole label) ||&lt;br /&gt;
|-&lt;br /&gt;
|t ||&amp;quot;Universal custom tunnel&amp;quot; (for diagonal sub-surface &amp;quot;rail tunnels&amp;quot; that use decorative track types to complete the illusion) ||c, then p, then 7, then U (mandatory) ||&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt; ||Universal energy type (&#039;&#039;not&#039;&#039; meant to replace &amp;quot;***N&amp;quot;; use for vehicles such as driving cabs which cannot move under their own power regardless, if desired) ||N/A (Be sure to put &amp;quot;***E&amp;quot; in the [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]] of a &amp;quot;***-&amp;quot; label) ||(&#039;&#039;Do not give a fallback or use for railtypes, this is for unpowered &amp;quot;locomotives&amp;quot; only!&#039;&#039;)&lt;br /&gt;
|-&lt;br /&gt;
|5 ||750v DC Outer 3rd Rail (&amp;quot;MTRO&amp;quot; or &amp;quot;SA_3&amp;quot;) and 630v DC Inner 3rd/4th Rail; a total of 5 rails (2 for wheels, 3 for electricity), plausible in the London Underground network ||3 or 4 ||&lt;br /&gt;
|-&lt;br /&gt;
|U ||750v DC Outer 3rd Rail (&amp;quot;MTRO&amp;quot; or &amp;quot;SA_3&amp;quot;), 630v DC Inner 3rd/4th Rail and universal catenary (SAEE); a total of 5 rails (2 for wheels, 3 for electricity) if only one gauge, plausible in the London Underground network and an &amp;quot;ultimate&amp;quot; dual rail electrification without being a cheat (make it expensive or toggle-able?) as SAEU or as XAEU (universal dual rail electrified tracks) ||E ||&lt;br /&gt;
|-&lt;br /&gt;
|7 ||750v DC Outer 3rd Rail (&amp;quot;MTRO&amp;quot; or &amp;quot;SA_3&amp;quot;), 630v DC Inner 3rd/4th Rail, Three-phase AC (SA_T) 3rd/4th rail &amp;amp; catenary, and universal catenary (SA_E); a total of 7 rails (2 for wheels, 5 for electricity) if only one gauge, a truly universal dual rail electrification without being impossible (make it VERY expensive or toggle-able so it isn&#039;t cheat-y?) as SAE7, XAE7 or even as XRE7 (combination of ALL two-rail track gauges with universally-compatible electrification including an outer 3rd rail and a paired set of inner 3rd/4th rails, and a rack rail in the exact center; improbable, but not physically impossible) ||U ||&lt;br /&gt;
|-&lt;br /&gt;
|P ||Pneumatic tube with physical piston slit, or closed pneumatic tube with magnetic piston (i.e. that used by [https://web.archive.org/web/20231213122530/http://www.flightrail.com/ Flightrail]) ||N/A ||&lt;br /&gt;
|-&lt;br /&gt;
|p ||Pneumatic and universal electrical power ||P or 7 (Be sure to put &amp;quot;***_&amp;quot; and ***P&amp;quot; in the [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]] of a &amp;quot;***p&amp;quot; label) || XREp is a combination of ALL two-rail track gauges with improbably high axle load with universally-compatible electrification including an outer 3rd rail and a paired set of inner 3rd/4th rails, and a rack rail in the exact center; improbable, but not physically impossible)&lt;br /&gt;
|-&lt;br /&gt;
|c ||Cheat electrification type; use solely for the &amp;quot;_R_c&amp;quot; and &amp;quot;_R_t&amp;quot; railtype labels specifically (runs everything if coded properly), the latter (&amp;quot;_R_t&amp;quot;) is for tunnels, while the former (&amp;quot;_R_c&amp;quot;) is for &amp;quot;cheat rail upgrade&amp;quot; newgrfs ||p, then 7, then U, then E, then N, then &amp;quot;SA_-&amp;quot; (the whole label) ||&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Lurkmore</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=User_talk:Brickblock1&amp;diff=4777</id>
		<title>User talk:Brickblock1</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=User_talk:Brickblock1&amp;diff=4777"/>
		<updated>2024-04-07T06:59:34Z</updated>

		<summary type="html">&lt;p&gt;Lurkmore: Created page with &amp;#039;Thanks for fixing the IHBA railtype, I didn&amp;#039;t notice the mistake! ~~~~&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Thanks for fixing the IHBA railtype, I didn&#039;t notice the mistake! [[User:Lurkmore|Lurkmore]] ([[User talk:Lurkmore|talk]]) 06:59, 7 April 2024 (UTC)&lt;/div&gt;</summary>
		<author><name>Lurkmore</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=Standardized_Railtype_Scheme&amp;diff=4775</id>
		<title>Standardized Railtype Scheme</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=Standardized_Railtype_Scheme&amp;diff=4775"/>
		<updated>2024-04-05T04:50:05Z</updated>

		<summary type="html">&lt;p&gt;Lurkmore: /* Possible additions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This railtype label scheme aims to bring order to the uncontrolled growth of railtype labels. It groups the rail types into what matters from a technical perspective. The scheme provides a standardized way of defining railtype labels, based on track gauge and type, speed class, allowable axle weight and electrification type.&lt;br /&gt;
&lt;br /&gt;
It is the explicit intent of this scheme to decouple track sets from vehicle sets to facilitate easy mixing. This way the player can select a track set of choice to go with a train set of choice. It allows the player to play with or without axle load classes, or with or without speed limit classes, simply by loading a track set that does or does not provide these features. In some cases it will also be possible to combine niche track sets, for instance a standard gauge track set with a narrow gauge and a metro track set.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== The Label Scheme ==&lt;br /&gt;
A railtype label consists of four characters. In this scheme, each position has a different purpose:&lt;br /&gt;
# Track gauge and type class (e.g. standard gauge rail, narrow gauge rail, monorail)&lt;br /&gt;
# Speed limit class&lt;br /&gt;
# Axle load class (maximum allowed axle weight for this track)&lt;br /&gt;
# Energy source type class&lt;br /&gt;
&lt;br /&gt;
In the next sections, each of the four positions will be explained.&lt;br /&gt;
&lt;br /&gt;
=== Track gauge and type class [X***] ===&lt;br /&gt;
The first position in the railtype label defines track gauge and/or track type class. The following classes are currently defined:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Track type/gauge&lt;br /&gt;
|- &lt;br /&gt;
|S ||Standard gauge rail&lt;br /&gt;
|-&lt;br /&gt;
|B ||Broad gauge rail &lt;br /&gt;
|-&lt;br /&gt;
|N ||Narrow gauge rail&lt;br /&gt;
|-&lt;br /&gt;
|n ||Secondary narrow gauge rail (e.g. when providing both metre and cape gauge, always use N in case of just one type of narrow gauge)&lt;br /&gt;
|-&lt;br /&gt;
|D ||Dual gauge rail, standard/broad gauge&lt;br /&gt;
|-&lt;br /&gt;
|d ||Dual gauge rail, standard/narrow gauge&lt;br /&gt;
|-&lt;br /&gt;
|M ||Monorail&lt;br /&gt;
|-&lt;br /&gt;
|L ||Magnetic Levitation&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Speed limit class [*X**] ===&lt;br /&gt;
The second position in the railtype label defines the speed limit class. These classes do not map to a fixed numeric value, but are used to define an internal speed limit order for the track set. This means that if your track set has two different speed limits for track types that are otherwise identical, you&#039;ll use letters A and B here. In case of three different speed limits, use A, B and C. In case your track set does not employ speed limits, always use A. Train sets do not care about the speed limit, and will always set the lowest speed class, i.e. A.&lt;br /&gt;
&lt;br /&gt;
This gives for instance the following options:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||no speed limits&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;OR&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||low speed&lt;br /&gt;
|-&lt;br /&gt;
|B ||high speed&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;OR&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||low speed&lt;br /&gt;
|-&lt;br /&gt;
|B ||medium speed&lt;br /&gt;
|-&lt;br /&gt;
|C ||high speed&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;etc.&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear:left;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The speed limit class may also be used for some advanced features of the label scheme, like specialized track types and eyecandy purposes. Be careful not to break the compatibility with other sets when using the speed limit class for these purposes.&lt;br /&gt;
&lt;br /&gt;
An example of a special use is rack rail. In the French set it is used to give rack rail engines a higher speed and TE than normal rail engines when used on rack rail. When defining trains with a special speed limit class, always allow a fallback to speed limit class A via the railtype table.&lt;br /&gt;
&lt;br /&gt;
An example of eyecandy use are urban tracks. These are a variation of regular tracks, but with concrete ground tiles to better match the urban environment. Train sets must not define vehicles for eyecandy classes. If you think you have special vehicles that should only run on the eyecandy class, it is &#039;&#039;not&#039;&#039; eyecandy but a separate track gauge/type.&lt;br /&gt;
&lt;br /&gt;
The following special and eyecandy classes have been defined so far:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Description !!Type !!Used by&lt;br /&gt;
|- &lt;br /&gt;
|A-H ||speed limits ||colspan=&amp;quot;2&amp;quot;| reserved&lt;br /&gt;
|- &lt;br /&gt;
|R ||rack rail, that allows this vehicle to not slow down going uphill ||special ||French Set Rails&lt;br /&gt;
|- &lt;br /&gt;
|S ||subterranean ||eyecandy ||Metro Track Set&lt;br /&gt;
|- &lt;br /&gt;
|U ||urban ||eyecandy ||Metro Track Set&lt;br /&gt;
|}&lt;br /&gt;
Rack rail needs a bit greater of a explanation, idealy it would be coded in a way where both Pure rack and Rack-and-adhesion systems are supported.&lt;br /&gt;
This can be achieved by making regular tracks powered on rackrail without the opposite being true. This means vehicles defined for NRAN can&#039;t go on NAAN (like a pure rack system) but NAAN vehicles can go on NRAN (like a rack-and-adhesion system). Currently French Set Rails implements compatiblility both ways which makes pure rack systems impossible.&lt;br /&gt;
&lt;br /&gt;
=== Axle load class [**X*] ===&lt;br /&gt;
The third position defines the axle weight limit. Heavy trains cannot run on tracks with a low axle weight limit; these trains need more expensive tracks with a heigher weight limit. There are five axle load classes &#039;&#039;&#039;A&#039;&#039;&#039; through &#039;&#039;&#039;E&#039;&#039;&#039;. &#039;&#039;&#039;A&#039;&#039;&#039; is for the lowest axle load limit, &#039;&#039;&#039;E&#039;&#039;&#039; for the highest. The exact axle load attached to each class is relative to the track gauge/type and trains in the set. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A train set should set the appropriate axle weight for each train via the railtype label, as to make the set work with track sets that do provide tracks with different weight limits, even if you don&#039;t care about it for your trainset. Split all vehicles of a certain track gauge/type into five groups of similar axle weight. The group with the lowest axle weights will get class &#039;&#039;&#039;A&#039;&#039;&#039;, the second lowest class &#039;&#039;&#039;B&#039;&#039;&#039;, etc. up to the group with the highest axle weights which will get class &#039;&#039;&#039;E&#039;&#039;&#039;. Do the same for the other track gauge/types if your train set has those.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A track set does not have to provide a dedicated track type for each axle weight limit. A track set that does not provide a dedicated track for each axle load class, must make sure to map all undefined axle load classes to a real railtype using property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]]. This way a train set can rely on all labels for all axle load classes being available. Example: if you only want to provide 2 axle load classes for standard gauge unelectrified with no speed limits, you can map SA&#039;&#039;&#039;A&#039;&#039;&#039;N + SA&#039;&#039;&#039;B&#039;&#039;&#039;N to SA&#039;&#039;&#039;C&#039;&#039;&#039;N and SA&#039;&#039;&#039;D&#039;&#039;&#039;N to SA&#039;&#039;&#039;E&#039;&#039;&#039;N if the cost difference between the two railtypes is high, or SA&#039;&#039;&#039;A&#039;&#039;&#039;N to SA&#039;&#039;&#039;B&#039;&#039;&#039;N and SA&#039;&#039;&#039;C&#039;&#039;&#039;N + SA&#039;&#039;&#039;D&#039;&#039;&#039;N to SA&#039;&#039;&#039;E&#039;&#039;&#039;N if the cost difference is low.&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t want to provide any axle load classes in your track set, it doesn&#039;t really matter what axle load class you choose for the track, as you&#039;ll be mapping all other classes to this track anyways. But the lowest or highest class are the obvious choice. Example: if your track set only provides narrow gauge unelectrified track with no speed limits and no axle load limits, you may use NA&#039;&#039;&#039;A&#039;&#039;&#039;N for the track label, and provide NA&#039;&#039;&#039;B&#039;&#039;&#039;N, NA&#039;&#039;&#039;C&#039;&#039;&#039;N, NA&#039;&#039;&#039;D&#039;&#039;&#039;N, NA&#039;&#039;&#039;E&#039;&#039;&#039;N in property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you need more than five axle load class, you may use lowercase letters for very low axle loads and continue the uppercase letters for very high axle loads. Be advised that your train set may not assume the existance of any other class than &#039;&#039;&#039;A&#039;&#039;&#039; through &#039;&#039;&#039;E&#039;&#039;&#039;, so when the range make sure to program your railtype table such that trains with such a class will fall back to class &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;E&#039;&#039;&#039;. If you make a track set with an extended range, be aware that not all train sets will define trains for these tracks. In general: only do this in case of a train set with a matching track set.&lt;br /&gt;
&lt;br /&gt;
For the lowercase letters, &#039;&#039;&#039;b&#039;&#039;&#039; is lower than &#039;&#039;&#039;a&#039;&#039;&#039;, so for increasing axle load limits: b &amp;lt; a &amp;lt; A &amp;lt; B &amp;lt; C etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that the axle load classes never map to a specific weight in tonnes. For that reason it does not make sense to add a numeric value for the axle load to the name of a track type or in the extended purchase info of a train. Instead use the relative expressions &#039;very low&#039;, &#039;low&#039;, &#039;medium&#039;, &#039;high&#039; and &#039;very high&#039; or use the class letters directly.&lt;br /&gt;
&lt;br /&gt;
If a guideline is needed for updating a set to use axle loads in a train set where they don&#039;t yet exist, the following might serve as a basic &amp;quot;generic&amp;quot; guideline...&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&lt;br /&gt;
! !!Indefinite !!Generic !! First usage&lt;br /&gt;
|-&lt;br /&gt;
|c ||Horse-drawn Wagonway ||1 metric tonne (1000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|1594&lt;br /&gt;
|-&lt;br /&gt;
|b ||Iron Plateway ||1 metric tonne (1000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|1799&lt;br /&gt;
|-&lt;br /&gt;
|a ||Prototype Rails ||5 metric tonnes (5000kg) per axle; Because reserved by examples || style=&amp;quot;text-align:right;&amp;quot;|1820&lt;br /&gt;
|-&lt;br /&gt;
|A ||Very Low (2012 OG Default)||10 metric tonnes (10000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|1828&lt;br /&gt;
|-&lt;br /&gt;
|B ||Low (2024 &amp;quot;New&amp;quot; Default) ||20 metric tonnes (20000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|1968&lt;br /&gt;
|-&lt;br /&gt;
|C ||Medium ||30 metric tonnes (30000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|~1978&lt;br /&gt;
|-&lt;br /&gt;
|D ||High ||40 metric tonnes (40000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|1988&lt;br /&gt;
|-&lt;br /&gt;
|E ||Very High ||50 metric tonnes (50000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|2008&lt;br /&gt;
|-&lt;br /&gt;
|F ||Future-proofing ||No limit per axle (update in 2030 or so?) || style=&amp;quot;text-align:right;&amp;quot;|~2028&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Energy source type class [***X] ===&lt;br /&gt;
The last position defines the energy source type class. This is split in generic energy source types like overhead wires and third rail and specialized types like alternating and direct current.&lt;br /&gt;
&lt;br /&gt;
A track set that only uses specialized types, should map the generic types to the most suitable specialized type in the set.&lt;br /&gt;
&lt;br /&gt;
A vehicle set that uses specialized types should define a generic type as fallback, via the railtype table. If such a fallback is omitted, please note that certain vehicles may be unavailable depending on track set loaded.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Generic energy type classes&lt;br /&gt;
|-&lt;br /&gt;
|N ||no electrification&lt;br /&gt;
|-&lt;br /&gt;
|E ||overhead wires/catenary electrification&lt;br /&gt;
|-&lt;br /&gt;
|3 ||3rd rail electrification&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Specialized energy type classes !!Vehicle set fallback&lt;br /&gt;
|-&lt;br /&gt;
|Z ||3rd rail and catenary electrification || 3 or E&lt;br /&gt;
|-&lt;br /&gt;
|4 ||4th rail electrification || 3&lt;br /&gt;
|-&lt;br /&gt;
|Y ||4th rail and catenary electrification || 4 or E&lt;br /&gt;
|-&lt;br /&gt;
|T ||[http://en.wikipedia.org/wiki/Three-phase_AC_railway_electrification three phase AC electrification] || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|D ||DC catenary electrification || E&lt;br /&gt;
|-&lt;br /&gt;
|d ||low voltage DC catenary electrification (only when D also used in set) || First A then E&lt;br /&gt;
|-&lt;br /&gt;
|A ||AC catenary electrification || E&lt;br /&gt;
|-&lt;br /&gt;
|a ||low voltage AC catenary electrification (only when A also used in set) || First A then E&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
If you want multi-voltage/current vehicles in your set (i.e. a train that can run on both AC and DC current), you have to define a dedicated railtype for those vehicles. Without the railtype, it&#039;s not possible to define vehicles with this property. If you only have vehicles that can run on either one type of voltage/current or on all types of voltage/current (e.g. a 2-system if you only have &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;D&#039;&#039;&#039; tracks, or a 4-system in case of all &#039;&#039;&#039;A&#039;&#039;&#039;, &#039;&#039;&#039;a&#039;&#039;&#039;, &#039;&#039;&#039;D&#039;&#039;&#039; and &#039;&#039;&#039;d&#039;&#039;&#039;), then use the generic class &#039;&#039;&#039;E&#039;&#039;&#039; for vehicles that should be able to run on all different voltage/currents. Also the track set needs to have one at least one railtype with class &#039;&#039;&#039;E&#039;&#039;&#039; defined.&lt;br /&gt;
&lt;br /&gt;
Note that if you want more than one type of multi-voltage/current, you&#039;ll quickly get a combinatory explosion of railtype labels, so plan carefully or do not attempt it. For every different multi-voltage/current vehicle type a dedicated railtype is needed. If you want all possible combinations, then you need to define an additional 8 classes. It is not recommended to make your train/track set this complicated.&lt;br /&gt;
&lt;br /&gt;
Example approach for a 4-system set, with trains that can run on either one or all systems:&lt;br /&gt;
* &#039;&#039;&#039;E&#039;&#039;&#039;: generic catenary-powered electric engines. &amp;quot;universal&amp;quot; [4-system] if any of &#039;&#039;&#039;D&#039;&#039;&#039;/&#039;&#039;&#039;d&#039;&#039;&#039;/&#039;&#039;&#039;A&#039;&#039;&#039;/&#039;&#039;&#039;a&#039;&#039;&#039; are defined.&lt;br /&gt;
* &#039;&#039;&#039;A&#039;&#039;&#039;: generic AC catenary electric engines. 25kV only if &#039;&#039;&#039;a&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;A&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;a&#039;&#039;&#039;: 15kV AC catenary electric engines. Only defined if &#039;&#039;&#039;A&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;a&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;D&#039;&#039;&#039;: generic DC catenary electric engines. 3kV if &#039;&#039;&#039;d&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;D&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;d&#039;&#039;&#039;: 1.5kV DC catenary electric engines. Only defined if &#039;&#039;&#039;D&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;D&#039;&#039;&#039; and &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;d&#039;&#039;&#039;.&lt;br /&gt;
For a 2-system set, you can simply drop &#039;&#039;&#039;a&#039;&#039;&#039; and &#039;&#039;&#039;d&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Standard labels: RAIL, ELRL, MONO, MGLV ===&lt;br /&gt;
It&#039;s not possible to undefine the standard railtypes RAIL, ELRL, MONO and MGLV. The game will always add those if there are vehicles defined for these track types. As a result, for a track set it&#039;s best not to ignore those standard labels, but rather work with them and define them in the set. If your track set does not have monorail or maglev tracks, there of course is no need to define those. But if your track set defines anything that resembles unelectrified or electrified rail, you should use the RAIL and ELRL labels. Matching labels from the above scheme will then be defined in property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
As vehicles from NewGRFs that do not use explicit railtypes will end up on these standard railtypes, you should use RAIL instead of whatever type could be regarded as the most commonly used unelectrified type, ELRL instead of the most commonly used electrified type and so on. The label according to this scheme is then set as an alternate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Summary for track sets ==&lt;br /&gt;
This section summarizes the above for track sets.&lt;br /&gt;
&lt;br /&gt;
; [X***] Track gauge and type class&lt;br /&gt;
* Define at least one track type for every track gauge/type class you want in your set.&lt;br /&gt;
* If you only provide tracks for one gauge/type, consider leaving some free railtypes so a player can load an additional set for some other type.&lt;br /&gt;
; [*X**] Speed limit class&lt;br /&gt;
* Make sure class A is always available, either directly or via an alternate label.&lt;br /&gt;
* Use only class A if you don&#039;t want speed limits;&lt;br /&gt;
* With speed limits, A is the lowest speed limit. Continue with B, C, etc. for increasing speed limits;&lt;br /&gt;
* The speed class can also be used to implement additional eye-candy track types, use letters higher in the alphabet for this.&lt;br /&gt;
; [**X*] Axle load class&lt;br /&gt;
* Always define all classes A through E for every track type class / electrification combination, either:&lt;br /&gt;
** Directly via a real railtype definition;&lt;br /&gt;
** Indirectly via the alternate rail type label list, property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
* Extend the predefined classes only if you also provide a train set that makes use of these.&lt;br /&gt;
; [***X] Energy source type class&lt;br /&gt;
* If your set only uses specialized classes, always map the generic classes to the closest matching specialized type via property 1D.&lt;br /&gt;
; Standard labels [RAIL, ELRL, MONO, MGLV]&lt;br /&gt;
* Always define the standard labels when possible, instead of what would be the equivalent of the standard label in this scheme.&lt;br /&gt;
* Map the equivalent labels from this scheme to the standard labels using property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
Or, put differently, for each gauge/type, select one or more energy source types. For each type/energy combination provide all axle load classes for the speed class &amp;quot;A&amp;quot;, either as a real type or as an alternate of another type. Provide more types with a different speed letter if you want to provide several different speeds or other eye-candy tracks.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Summary for train sets ==&lt;br /&gt;
This section summarizes the above for train sets.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; [X***] Track gauge and type class&lt;br /&gt;
* Use the track type class that matches the vehicle;&lt;br /&gt;
* Define a fallback type via the railtype table in case you want the vehicle to be available on a different track if no matching track set is loaded.&lt;br /&gt;
** Specialized subtypes like &amp;quot;n&amp;quot; might not always be available. If you want those vehicles to be still available then, fall back the the generic class (e.g. &amp;quot;N&amp;quot;).&lt;br /&gt;
; [*X**] Speed limit class &lt;br /&gt;
* Always use class A for every vehicle.&lt;br /&gt;
; [**X*] Axle load class&lt;br /&gt;
* Use all classes A through E according to the maximum axle weight of the vehicle.&lt;br /&gt;
* Extend the predefined classes only if you also provide a track set that makes use of these;&lt;br /&gt;
** When extending the predefined classes A through E, define a fallback type via the railtype table in case you want the vehicle to be available if no matching track set is loaded.&lt;br /&gt;
; [***X] Energy source type class&lt;br /&gt;
* Use the energy source type class that matches the vehicle;&lt;br /&gt;
* When using specialized classes, define a fallback type via the railtype table in case you want the vehicle to be available if no matching track set is loaded.&lt;br /&gt;
; Standard labels [RAIL, ELRL, MONO, MGLV]&lt;br /&gt;
* Define a fallback type to the standard labels via the railtype table in case you want the vehicle to be available on the standard tracks if no matching track set is loaded.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Be as specific as you want when selecting the railtype, it is the job of the track set to select a playable, reduced subset out of all possible type combinations.&lt;br /&gt;
&lt;br /&gt;
== In case you&#039;re not convinced by this scheme ==&lt;br /&gt;
Adopting this scheme gives the player freedom to use any track set in combination with any train set that follow the scheme. &lt;br /&gt;
&lt;br /&gt;
This means that you can make your train set compatible with track sets that provide axle load classes, and track sets that provide speed limits, and at the same time with track sets that provide none of this. This way, the player can decide to play with or without axle load classes, or with or without speed limits, simply by loading a track set that does or does not provide these features.&lt;br /&gt;
&lt;br /&gt;
And for your track set, it means that you can make it as simple or as complicated as you want (within the 64 track type limit), while not having to worry about compatibility with train sets.&lt;br /&gt;
&lt;br /&gt;
Still not convinced? Feel free to use railtype labels of your own, but know that you will likely come to regret that at some point in the future.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Forum topic==&lt;br /&gt;
If you want to discuss the standardized railtype scheme or have any questions about it, you can visit [http://www.tt-forums.net/viewtopic.php?t=59379 the forum topic].&lt;br /&gt;
&lt;br /&gt;
==&amp;quot;Innsbruck 2022 Convention&amp;quot; for partial compliance==&lt;br /&gt;
&lt;br /&gt;
This is really esoteric, but eh. It was the product of long discussion / debate / argument / reasoning between grf authors.&lt;br /&gt;
&lt;br /&gt;
1. The Standardized Railtype Scheme &#039;&#039;&#039;is a useful tool&#039;&#039;&#039; for providing reliable compatibility between train grfs and railtype grfs.&lt;br /&gt;
&lt;br /&gt;
2. The &#039;&#039;&#039;axle load class&#039;&#039;&#039; in the scheme presents a number of issues for compliance.&lt;br /&gt;
&lt;br /&gt;
2.1. Over 10 years since the scheme was standardised, not many train grfs implement multiple axle load classes &#039;&#039;&#039;as required by the scheme&#039;&#039;&#039;.  Known examples that &#039;&#039;&#039;do&#039;&#039;&#039; comply include Dutch Train Set, French Narrow Gauge Trains, and Finnish Trains.&lt;br /&gt;
&lt;br /&gt;
2.2. Elements of the axle load rules have proven hard to interpret.  For example:&lt;br /&gt;
&lt;br /&gt;
* is it compliant to use &#039;&#039;fewer&#039;&#039; than 5 classes in a train grf?  There is a lack of consensus on this.&lt;br /&gt;
* axle load is only one of many factors that govern whether a vehicle is compatible with a route, for example loading gauge, minimum curve, signalling types etc&lt;br /&gt;
&lt;br /&gt;
2.3. Meanwhile &#039;&#039;multiple existing train grfs use class &#039;&#039;A&#039;&#039; for the axle load for all trains&#039;&#039; (except where relying on default railtypes such as RAIL and ELRL).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3. The Innsbruck 2022 Convention uses class &#039;&#039;A&#039;&#039; for axle load for &#039;&#039;&#039;all&#039;&#039;&#039; trains in a train grf (except where relying on default railtypes such as RAIL and ELRL).&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is &#039;&#039;&#039;not&#039;&#039;&#039; fully compliant with the Standardized Railtype Scheme and does not claim to be.&lt;br /&gt;
&lt;br /&gt;
However train grfs using the Innsbruck 2022 Convention are &#039;&#039;broadly compatible&#039;&#039; with railtype grfs using the Standardized Railtype Scheme.  &lt;br /&gt;
&lt;br /&gt;
Obligatory XKCD link about &#039;standards&#039;: https://xkcd.com/927/&lt;br /&gt;
&lt;br /&gt;
===Known issues===&lt;br /&gt;
&lt;br /&gt;
Known problems are that trains using only class &#039;A&#039; may limit the ability of railtype grf authors to achieve their design goals for separating railtypes by axle load.  &lt;br /&gt;
But on reflection, it can be seen that a train grf might not be able to provide a broad enough range of vehicles to cover at least 5 axle load classes.&lt;br /&gt;
&lt;br /&gt;
3.1. The Innsbruck 2022 Convention is &#039;&#039;&#039;not&#039;&#039;&#039; appropriate for train grf authors who wish to provide more than one axle load class.&lt;br /&gt;
&lt;br /&gt;
3.2. The Innsbruck 2022 Convention treats the meaning of class &#039;&#039;A&#039;&#039; as &#039;&#039;undefined&#039;&#039;, &#039;&#039;ignored&#039;&#039; or &#039;&#039;compatible with most restricted railtype&#039;&#039; for axle load.  &lt;br /&gt;
&lt;br /&gt;
Axle load class &#039;&#039;A&#039;&#039; &#039;&#039;&#039;cannot&#039;&#039;&#039; be safely interpreted as &#039;&#039;universal&#039;&#039; because from the perspective of a railtype grf &#039;&#039;A&#039;&#039; is &#039;&#039;most restricted railtype&#039;&#039;, where &#039;&#039;universal&#039;&#039; is better represented as &#039;&#039;least restricted railtype&#039;&#039;. Depending how many axle load classes are in use by the railtype grf, this could be class &#039;&#039;B&#039;&#039;, &#039;&#039;C&#039;&#039;, &#039;&#039;D&#039;&#039;, &#039;&#039;E&#039;&#039; etc.  To illustrate this issue, take the following scenario&lt;br /&gt;
&lt;br /&gt;
* railtype grf defines axle loads &#039;&#039;A&#039;&#039; to &#039;&#039;E&#039;&#039;. In this case the railtype grf author intends that &#039;&#039;A&#039;&#039; is compatible with the smallest range of vehicles, &#039;&#039;E&#039;&#039; is compatible with the largest range of vehicles, and &#039;&#039;B&#039;&#039;, &#039;&#039;C&#039;&#039; and &#039;&#039;D&#039;&#039; are compatible with some intermediate ranges of vehicles&lt;br /&gt;
* but the vehicle grf author has defined all vehicles to be axle load &#039;&#039;A&#039;&#039; in an attempt to express this vehicle is &#039;&#039;universal&#039;&#039;.  The result in the game is that an identical range of vehicles will be compatible with railtypes &#039;&#039;A&#039;&#039; to &#039;&#039;E&#039;&#039;.  &lt;br /&gt;
&lt;br /&gt;
This is clearly &#039;&#039;&#039;not&#039;&#039;&#039; the intended outcome of the railtype author. But nor is it clear within the spec that the vehicle author has particularly done anything wrong. &lt;br /&gt;
&lt;br /&gt;
It &#039;&#039;would&#039;&#039; be possible to use railtype availability testing to adjust the vehicle property 05 (track_type) to fit the highest defined axle load (&#039;&#039;E&#039;&#039; in this example case), but this is not insignificant work, and it&#039;s unlikely to be widely adopted by vehicle grf authors.  Nor would this solution achieve &#039;&#039;universal&#039;&#039; as all vehicles in vehicle grf then would be incompatible with types &#039;&#039;A&#039;&#039; through &#039;&#039;D&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
3.3. When the Innsbruck 2022 Convention is used, this &#039;&#039;&#039;does not prevent&#039;&#039;&#039; a train grf being extended in some future release to achieve full compliance with Standardized Railtype Scheme. &#039;&#039;That choice remains with train grf authors&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
3.4. If 2012 could be revisited, providing an optional &#039;&#039;_&#039;&#039; axle load class in the Standardized Railtype Scheme for &#039;&#039;undefined&#039;&#039; would have been preferable, but as of 2022, &#039;&#039;A&#039;&#039; is already widely used for this purpose, and time travel is not known to be possible.&lt;br /&gt;
&lt;br /&gt;
==Extended multivoltage support addition==&lt;br /&gt;
These are extensions to the energy source type class currently supported by SETS and xUSSR Rails which allow trainsets to code trains which are limited to a certain selection of voltages. As stated in the energy source type class section this might not be of use for all sets, as such it is optional but still recommended for trainsets for ideal functionality with tracksets which support the extended labels.&lt;br /&gt;
{|&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Specialized energy type classes !!Vehicle set fallback&lt;br /&gt;
|-&lt;br /&gt;
|* ||Equivilent to A, a, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|&#039; ||Equivilent to A, a and D || E&lt;br /&gt;
|-&lt;br /&gt;
|^ ||Equivilent to A, a and d || E&lt;br /&gt;
|-&lt;br /&gt;
|_ ||Equivilent to A, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
|, ||Equivilent to a, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|$ ||Equivilent to A and a  || First A then E or just E&lt;br /&gt;
|-&lt;br /&gt;
|= ||Equivilent to D and d  || First D then E or just E&lt;br /&gt;
|-&lt;br /&gt;
|) ||Equivilent to A and D  || E&lt;br /&gt;
|-&lt;br /&gt;
|( ||Equivilent to A and d  || E&lt;br /&gt;
|-&lt;br /&gt;
|] ||Equivilent to a and D  || E&lt;br /&gt;
|-&lt;br /&gt;
|[ ||Equivilent to a and d  || E&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Possible additions==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;mw-collapsible mw-collapsed wikitable&amp;quot;&lt;br /&gt;
! !!Track type/gauge&lt;br /&gt;
|-&lt;br /&gt;
|_ ||Universal &amp;quot;cheat&amp;quot; rail; ALWAYS add &amp;quot;_H_c&amp;quot; and &amp;quot;_S_t&amp;quot; to EVERY [[NML:Railtypes#Railtype_properties|compatible_railtype_list (NML)]], and ALWAYS add &amp;quot;_S_t&amp;quot; to EVERY [[NML:Railtypes#Railtype_properties|powered_railtype_list (NML)]] if you intend to support this&lt;br /&gt;
|-&lt;br /&gt;
|0 ||(A number zero, not a letter &amp;quot;Oh&amp;quot;) No track, eyecandy-use only&lt;br /&gt;
|-&lt;br /&gt;
|U ||[https://perma.cc/93VE-8JQZ &amp;quot;Ukrainian monorail&amp;quot; or Şaropoí̈zd (Шаропоїзд)], a u-shaped concrete &amp;quot;monorail trench&amp;quot; from 1920&#039;s Soviet Union; see [https://www.tt-forums.net/viewtopic.php?f=26&amp;amp;t=47432 the Yarmanchuk Express] for graphics&lt;br /&gt;
|-&lt;br /&gt;
|1 ||Early Monorail; See [https://perma.cc/6BVS-2P2X here] and [https://perma.cc/VCG2-ATUA here]&lt;br /&gt;
|-&lt;br /&gt;
|G ||Gyrail; [https://en.wikipedia.org/wiki/Gyro_monorail Gyro monorail/Gyroscopic monorail/Gyro-stabilized monorail] for description and IRL example, and [https://wikimon.net/Trailmon here] ([https://web.archive.org/web/20240227205547/https://wikimon.net/Trailmon archived]) for good fictional examples&lt;br /&gt;
|-&lt;br /&gt;
|A ||Alweg-based Monorail&lt;br /&gt;
|-&lt;br /&gt;
|m ||Minimum gauge rail; [https://en.wikipedia.org/wiki/Minimum-gauge_railway 15 in (381 mm), 400 mm (15+3⁄4 in), 16 in (406 mm), 18 in (457 mm), 19 in (483 mm), 500 mm (19+3⁄4 in) or 20 in (508 mm)]&lt;br /&gt;
|-&lt;br /&gt;
|n ||600mm &amp;quot;Decauville&amp;quot; or &amp;quot;Feldsbahn&amp;quot;, formerly labelled &amp;quot;NG60&amp;quot; before standardization; the most common narrow gauge track type in OpenTTD other than metre gauge, 600mm gauge is thus ideal for taking up the &amp;quot;n&amp;quot; gauge, though this is an ultimately optional distinction&lt;br /&gt;
|-&lt;br /&gt;
|7 ||750mm, Bosnian gauge (760 mm), and 762mm; all start with 7 and are close in size&lt;br /&gt;
|-&lt;br /&gt;
|3 ||Swedish 3 foot (891 mm), 900mm, 3 foot (914 mm) and Italian Metre (950mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|R ||Metre gauge; potentially compatible with base tramtype &amp;quot;RABN&amp;quot;, most early tramways were metre gauge&lt;br /&gt;
|-&lt;br /&gt;
|4 ||4 foot gauge (1219 mm), and possibly 4&#039;6&amp;quot; in. (1372 mm) if standardization is needed for 1372mm&lt;br /&gt;
|-&lt;br /&gt;
|s ||Scotch gauge (1372 mm)&lt;br /&gt;
|-&lt;br /&gt;
|S ||Standard gauge; already implemented in original standardized railtype scheme, but could include near-standard (1432 mm) as well as existing true standard (1435 mm) and is also potentially compatible with the SABN tramtype&lt;br /&gt;
|-&lt;br /&gt;
|X ||Omni-gauge rail (for at-grade multi-gauge crossings and stations); ultrabroad/secondary broad/primary broad/standard/primary narrow/secondary narrow gauge&lt;br /&gt;
|-&lt;br /&gt;
|x ||Multi-gauge rail (for at-grade multi-gauge crossings and stations); secondary broad/primary broad/standard/primary narrow/secondary narrow&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;+&amp;lt;/nowiki&amp;gt; ||Quad-gauge (Four-gauge) rail (for at-grade multi-gauge crossings and stations); secondary broad/primary broad/standard/primary narrow&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt; ||Four-gauge rail (for at-grade multi-gauge crossings and stations); primary broad/standard/primary narrow/secondary narrow&lt;br /&gt;
|-&lt;br /&gt;
|b ||Broad gauge rail - As broad gauge is a rare tracktype, it may still be feasible to cement B and b as broad gauges of two differing sizes, but the rarity among gauges in the real world would need to match; Italian (1445 mm) and Dresden (1450 mm) gauges may be better grouped here&lt;br /&gt;
|-&lt;br /&gt;
|t ||Leipzig trams (1458 mm) and Greater Toronto Area streetcars (1495 mm)&lt;br /&gt;
|-&lt;br /&gt;
|5 ||1520mm and 5 foot (1524 mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|V ||Pennsylvanian (1581 mm and 1588 mm) and Australian &amp;quot;Victorian&amp;quot; (1600 mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|6 ||6 foot (1829 mm) broad gauge&lt;br /&gt;
|-&lt;br /&gt;
|g ||Brunel&#039;s Great Western Railway gauge (2140 mm)&lt;br /&gt;
|-&lt;br /&gt;
|B ||Biggest Broad gauge rail - As broad gauge is a rare tracktype, and the variation in common real life track types too wide, it may be desirable to cement B and b as broad gauges of two differing sizes; With no real life examples that match the usage frequency of &amp;quot;B&amp;quot;, the gauge might best draw inspiration from the infamous [https://en.wikipedia.org/wiki/Breitspurbahn Breitspurbahn] (3000 mm) and [https://perma.cc/KQ2Z-5RCR the never-built vehicles designed for it], or from the [https://en.wikipedia.org/wiki/Brighton_and_Rottingdean_Seashore_Electric_Railway Brighton &amp;amp; Rottingdean Seashore Electric Railway] (18 ft/5,486 mm) &lt;br /&gt;
|-&lt;br /&gt;
|L ||Maglevs that have a u-shaped track&lt;br /&gt;
|-&lt;br /&gt;
|T ||Maglevs that have a monorail track&lt;br /&gt;
|-&lt;br /&gt;
|F ||Flightrail; A [https://web.archive.org/web/20231213122530/http://www.flightrail.com/ system capable of high speeds and steep hill grades] that uses a pneumatic pipe for propulsion (see &amp;quot;P&amp;quot; under energy sources), and &#039;&#039;wheels pointed inwards at a 45-degree angle&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
It might be preferred to instead use/keep &amp;quot;B&amp;quot; for &amp;quot;all (current) broad gauges&amp;quot; (mostly Victorian gauge) instead using lowercase &amp;quot;b&amp;quot; for Brunel/GWR broad gauge. This wouldn&#039;t be to different from narrow gauge since the lesser used ones are lowercase and fallback to the uppercase ones.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;mw-collapsible mw-collapsed wikitable&amp;quot;&lt;br /&gt;
! !!Electrification !!Fallback !!Notes&lt;br /&gt;
|-&lt;br /&gt;
|1 ||Unspecified monorail electrification |||MONO (the whole label) ||&lt;br /&gt;
|-&lt;br /&gt;
|S ||Maglevs that use a synchronous linear motor ||N/A ||&lt;br /&gt;
|-&lt;br /&gt;
|I ||Maglevs that use a linear induction motor ||MGLV (the whole label) ||&lt;br /&gt;
|-&lt;br /&gt;
|V ||Vactrains/Hyperloop ||t, then I, then MGLV (the whole label) ||&lt;br /&gt;
|-&lt;br /&gt;
|t ||&amp;quot;Universal custom tunnel&amp;quot; (for diagonal sub-surface &amp;quot;rail tunnels&amp;quot; that use decorative track types to complete the illusion) ||c, then p, then 7, then U (mandatory) ||&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt; ||Universal energy type (&#039;&#039;not&#039;&#039; meant to replace &amp;quot;***N&amp;quot;; use for vehicles such as driving cabs which cannot move under their own power regardless, if desired) ||N/A (Be sure to put &amp;quot;***E&amp;quot; in the [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]] of a &amp;quot;***-&amp;quot; label) ||(&#039;&#039;Do not give a fallback or use for railtypes, this is for unpowered &amp;quot;locomotives&amp;quot; only!&#039;&#039;)&lt;br /&gt;
|-&lt;br /&gt;
|5 ||750v DC Outer 3rd Rail (&amp;quot;MTRO&amp;quot; or &amp;quot;SA_3&amp;quot;) and 630v DC Inner 3rd/4th Rail; a total of 5 rails (2 for wheels, 3 for electricity), plausible in the London Underground network ||3 or 4 ||&lt;br /&gt;
|-&lt;br /&gt;
|U ||750v DC Outer 3rd Rail (&amp;quot;MTRO&amp;quot; or &amp;quot;SA_3&amp;quot;), 630v DC Inner 3rd/4th Rail and universal catenary (SAEE); a total of 5 rails (2 for wheels, 3 for electricity) if only one gauge, plausible in the London Underground network and an &amp;quot;ultimate&amp;quot; dual rail electrification without being a cheat (make it expensive or toggle-able?) as SAEU or as XAEU (universal dual rail electrified tracks) ||E ||&lt;br /&gt;
|-&lt;br /&gt;
|7 ||750v DC Outer 3rd Rail (&amp;quot;MTRO&amp;quot; or &amp;quot;SA_3&amp;quot;), 630v DC Inner 3rd/4th Rail, Three-phase AC (SA_T) 3rd/4th rail &amp;amp; catenary, and universal catenary (SA_E); a total of 7 rails (2 for wheels, 5 for electricity) if only one gauge, a truly universal dual rail electrification without being impossible (make it VERY expensive or toggle-able so it isn&#039;t cheat-y?) as SAE7, XAE7 or even as XRE7 (combination of ALL two-rail track gauges with universally-compatible electrification including an outer 3rd rail and a paired set of inner 3rd/4th rails, and a rack rail in the exact center; improbable, but not physically impossible) ||U ||&lt;br /&gt;
|-&lt;br /&gt;
|P ||Pneumatic tube with physical piston slit, or closed pneumatic tube with magnetic piston (i.e. that used by [https://web.archive.org/web/20231213122530/http://www.flightrail.com/ Flightrail]) ||N/A ||&lt;br /&gt;
|-&lt;br /&gt;
|p ||Pneumatic and universal electrical power ||P or 7 (Be sure to put &amp;quot;***_&amp;quot; and ***P&amp;quot; in the [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]] of a &amp;quot;***p&amp;quot; label) || XREp is a combination of ALL two-rail track gauges with improbably high axle load with universally-compatible electrification including an outer 3rd rail and a paired set of inner 3rd/4th rails, and a rack rail in the exact center; improbable, but not physically impossible)&lt;br /&gt;
|-&lt;br /&gt;
|c ||Cheat electrification type; use solely for the &amp;quot;_R_c&amp;quot; and &amp;quot;_R_t&amp;quot; railtype labels specifically (runs everything if coded properly), the latter (&amp;quot;_R_t&amp;quot;) is for tunnels, while the former (&amp;quot;_R_c&amp;quot;) is for &amp;quot;cheat rail upgrade&amp;quot; newgrfs ||p, then 7, then U, then E, then N, then &amp;quot;SA_-&amp;quot; (the whole label) ||&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Lurkmore</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=Standardized_Railtype_Scheme&amp;diff=4774</id>
		<title>Standardized Railtype Scheme</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=Standardized_Railtype_Scheme&amp;diff=4774"/>
		<updated>2024-04-05T04:39:50Z</updated>

		<summary type="html">&lt;p&gt;Lurkmore: /* Possible additions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This railtype label scheme aims to bring order to the uncontrolled growth of railtype labels. It groups the rail types into what matters from a technical perspective. The scheme provides a standardized way of defining railtype labels, based on track gauge and type, speed class, allowable axle weight and electrification type.&lt;br /&gt;
&lt;br /&gt;
It is the explicit intent of this scheme to decouple track sets from vehicle sets to facilitate easy mixing. This way the player can select a track set of choice to go with a train set of choice. It allows the player to play with or without axle load classes, or with or without speed limit classes, simply by loading a track set that does or does not provide these features. In some cases it will also be possible to combine niche track sets, for instance a standard gauge track set with a narrow gauge and a metro track set.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== The Label Scheme ==&lt;br /&gt;
A railtype label consists of four characters. In this scheme, each position has a different purpose:&lt;br /&gt;
# Track gauge and type class (e.g. standard gauge rail, narrow gauge rail, monorail)&lt;br /&gt;
# Speed limit class&lt;br /&gt;
# Axle load class (maximum allowed axle weight for this track)&lt;br /&gt;
# Energy source type class&lt;br /&gt;
&lt;br /&gt;
In the next sections, each of the four positions will be explained.&lt;br /&gt;
&lt;br /&gt;
=== Track gauge and type class [X***] ===&lt;br /&gt;
The first position in the railtype label defines track gauge and/or track type class. The following classes are currently defined:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Track type/gauge&lt;br /&gt;
|- &lt;br /&gt;
|S ||Standard gauge rail&lt;br /&gt;
|-&lt;br /&gt;
|B ||Broad gauge rail &lt;br /&gt;
|-&lt;br /&gt;
|N ||Narrow gauge rail&lt;br /&gt;
|-&lt;br /&gt;
|n ||Secondary narrow gauge rail (e.g. when providing both metre and cape gauge, always use N in case of just one type of narrow gauge)&lt;br /&gt;
|-&lt;br /&gt;
|D ||Dual gauge rail, standard/broad gauge&lt;br /&gt;
|-&lt;br /&gt;
|d ||Dual gauge rail, standard/narrow gauge&lt;br /&gt;
|-&lt;br /&gt;
|M ||Monorail&lt;br /&gt;
|-&lt;br /&gt;
|L ||Magnetic Levitation&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Speed limit class [*X**] ===&lt;br /&gt;
The second position in the railtype label defines the speed limit class. These classes do not map to a fixed numeric value, but are used to define an internal speed limit order for the track set. This means that if your track set has two different speed limits for track types that are otherwise identical, you&#039;ll use letters A and B here. In case of three different speed limits, use A, B and C. In case your track set does not employ speed limits, always use A. Train sets do not care about the speed limit, and will always set the lowest speed class, i.e. A.&lt;br /&gt;
&lt;br /&gt;
This gives for instance the following options:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||no speed limits&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;OR&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||low speed&lt;br /&gt;
|-&lt;br /&gt;
|B ||high speed&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;OR&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||low speed&lt;br /&gt;
|-&lt;br /&gt;
|B ||medium speed&lt;br /&gt;
|-&lt;br /&gt;
|C ||high speed&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;etc.&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear:left;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The speed limit class may also be used for some advanced features of the label scheme, like specialized track types and eyecandy purposes. Be careful not to break the compatibility with other sets when using the speed limit class for these purposes.&lt;br /&gt;
&lt;br /&gt;
An example of a special use is rack rail. In the French set it is used to give rack rail engines a higher speed and TE than normal rail engines when used on rack rail. When defining trains with a special speed limit class, always allow a fallback to speed limit class A via the railtype table.&lt;br /&gt;
&lt;br /&gt;
An example of eyecandy use are urban tracks. These are a variation of regular tracks, but with concrete ground tiles to better match the urban environment. Train sets must not define vehicles for eyecandy classes. If you think you have special vehicles that should only run on the eyecandy class, it is &#039;&#039;not&#039;&#039; eyecandy but a separate track gauge/type.&lt;br /&gt;
&lt;br /&gt;
The following special and eyecandy classes have been defined so far:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Description !!Type !!Used by&lt;br /&gt;
|- &lt;br /&gt;
|A-H ||speed limits ||colspan=&amp;quot;2&amp;quot;| reserved&lt;br /&gt;
|- &lt;br /&gt;
|R ||rack rail, that allows this vehicle to not slow down going uphill ||special ||French Set Rails&lt;br /&gt;
|- &lt;br /&gt;
|S ||subterranean ||eyecandy ||Metro Track Set&lt;br /&gt;
|- &lt;br /&gt;
|U ||urban ||eyecandy ||Metro Track Set&lt;br /&gt;
|}&lt;br /&gt;
Rack rail needs a bit greater of a explanation, idealy it would be coded in a way where both Pure rack and Rack-and-adhesion systems are supported.&lt;br /&gt;
This can be achieved by making regular tracks powered on rackrail without the opposite being true. This means vehicles defined for NRAN can&#039;t go on NAAN (like a pure rack system) but NAAN vehicles can go on NRAN (like a rack-and-adhesion system). Currently French Set Rails implements compatiblility both ways which makes pure rack systems impossible.&lt;br /&gt;
&lt;br /&gt;
=== Axle load class [**X*] ===&lt;br /&gt;
The third position defines the axle weight limit. Heavy trains cannot run on tracks with a low axle weight limit; these trains need more expensive tracks with a heigher weight limit. There are five axle load classes &#039;&#039;&#039;A&#039;&#039;&#039; through &#039;&#039;&#039;E&#039;&#039;&#039;. &#039;&#039;&#039;A&#039;&#039;&#039; is for the lowest axle load limit, &#039;&#039;&#039;E&#039;&#039;&#039; for the highest. The exact axle load attached to each class is relative to the track gauge/type and trains in the set. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A train set should set the appropriate axle weight for each train via the railtype label, as to make the set work with track sets that do provide tracks with different weight limits, even if you don&#039;t care about it for your trainset. Split all vehicles of a certain track gauge/type into five groups of similar axle weight. The group with the lowest axle weights will get class &#039;&#039;&#039;A&#039;&#039;&#039;, the second lowest class &#039;&#039;&#039;B&#039;&#039;&#039;, etc. up to the group with the highest axle weights which will get class &#039;&#039;&#039;E&#039;&#039;&#039;. Do the same for the other track gauge/types if your train set has those.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A track set does not have to provide a dedicated track type for each axle weight limit. A track set that does not provide a dedicated track for each axle load class, must make sure to map all undefined axle load classes to a real railtype using property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]]. This way a train set can rely on all labels for all axle load classes being available. Example: if you only want to provide 2 axle load classes for standard gauge unelectrified with no speed limits, you can map SA&#039;&#039;&#039;A&#039;&#039;&#039;N + SA&#039;&#039;&#039;B&#039;&#039;&#039;N to SA&#039;&#039;&#039;C&#039;&#039;&#039;N and SA&#039;&#039;&#039;D&#039;&#039;&#039;N to SA&#039;&#039;&#039;E&#039;&#039;&#039;N if the cost difference between the two railtypes is high, or SA&#039;&#039;&#039;A&#039;&#039;&#039;N to SA&#039;&#039;&#039;B&#039;&#039;&#039;N and SA&#039;&#039;&#039;C&#039;&#039;&#039;N + SA&#039;&#039;&#039;D&#039;&#039;&#039;N to SA&#039;&#039;&#039;E&#039;&#039;&#039;N if the cost difference is low.&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t want to provide any axle load classes in your track set, it doesn&#039;t really matter what axle load class you choose for the track, as you&#039;ll be mapping all other classes to this track anyways. But the lowest or highest class are the obvious choice. Example: if your track set only provides narrow gauge unelectrified track with no speed limits and no axle load limits, you may use NA&#039;&#039;&#039;A&#039;&#039;&#039;N for the track label, and provide NA&#039;&#039;&#039;B&#039;&#039;&#039;N, NA&#039;&#039;&#039;C&#039;&#039;&#039;N, NA&#039;&#039;&#039;D&#039;&#039;&#039;N, NA&#039;&#039;&#039;E&#039;&#039;&#039;N in property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you need more than five axle load class, you may use lowercase letters for very low axle loads and continue the uppercase letters for very high axle loads. Be advised that your train set may not assume the existance of any other class than &#039;&#039;&#039;A&#039;&#039;&#039; through &#039;&#039;&#039;E&#039;&#039;&#039;, so when the range make sure to program your railtype table such that trains with such a class will fall back to class &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;E&#039;&#039;&#039;. If you make a track set with an extended range, be aware that not all train sets will define trains for these tracks. In general: only do this in case of a train set with a matching track set.&lt;br /&gt;
&lt;br /&gt;
For the lowercase letters, &#039;&#039;&#039;b&#039;&#039;&#039; is lower than &#039;&#039;&#039;a&#039;&#039;&#039;, so for increasing axle load limits: b &amp;lt; a &amp;lt; A &amp;lt; B &amp;lt; C etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that the axle load classes never map to a specific weight in tonnes. For that reason it does not make sense to add a numeric value for the axle load to the name of a track type or in the extended purchase info of a train. Instead use the relative expressions &#039;very low&#039;, &#039;low&#039;, &#039;medium&#039;, &#039;high&#039; and &#039;very high&#039; or use the class letters directly.&lt;br /&gt;
&lt;br /&gt;
If a guideline is needed for updating a set to use axle loads in a train set where they don&#039;t yet exist, the following might serve as a basic &amp;quot;generic&amp;quot; guideline...&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&lt;br /&gt;
! !!Indefinite !!Generic !! First usage&lt;br /&gt;
|-&lt;br /&gt;
|c ||Horse-drawn Wagonway ||1 metric tonne (1000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|1594&lt;br /&gt;
|-&lt;br /&gt;
|b ||Iron Plateway ||1 metric tonne (1000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|1799&lt;br /&gt;
|-&lt;br /&gt;
|a ||Prototype Rails ||5 metric tonnes (5000kg) per axle; Because reserved by examples || style=&amp;quot;text-align:right;&amp;quot;|1820&lt;br /&gt;
|-&lt;br /&gt;
|A ||Very Low (2012 OG Default)||10 metric tonnes (10000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|1828&lt;br /&gt;
|-&lt;br /&gt;
|B ||Low (2024 &amp;quot;New&amp;quot; Default) ||20 metric tonnes (20000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|1968&lt;br /&gt;
|-&lt;br /&gt;
|C ||Medium ||30 metric tonnes (30000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|~1978&lt;br /&gt;
|-&lt;br /&gt;
|D ||High ||40 metric tonnes (40000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|1988&lt;br /&gt;
|-&lt;br /&gt;
|E ||Very High ||50 metric tonnes (50000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|2008&lt;br /&gt;
|-&lt;br /&gt;
|F ||Future-proofing ||No limit per axle (update in 2030 or so?) || style=&amp;quot;text-align:right;&amp;quot;|~2028&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Energy source type class [***X] ===&lt;br /&gt;
The last position defines the energy source type class. This is split in generic energy source types like overhead wires and third rail and specialized types like alternating and direct current.&lt;br /&gt;
&lt;br /&gt;
A track set that only uses specialized types, should map the generic types to the most suitable specialized type in the set.&lt;br /&gt;
&lt;br /&gt;
A vehicle set that uses specialized types should define a generic type as fallback, via the railtype table. If such a fallback is omitted, please note that certain vehicles may be unavailable depending on track set loaded.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Generic energy type classes&lt;br /&gt;
|-&lt;br /&gt;
|N ||no electrification&lt;br /&gt;
|-&lt;br /&gt;
|E ||overhead wires/catenary electrification&lt;br /&gt;
|-&lt;br /&gt;
|3 ||3rd rail electrification&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Specialized energy type classes !!Vehicle set fallback&lt;br /&gt;
|-&lt;br /&gt;
|Z ||3rd rail and catenary electrification || 3 or E&lt;br /&gt;
|-&lt;br /&gt;
|4 ||4th rail electrification || 3&lt;br /&gt;
|-&lt;br /&gt;
|Y ||4th rail and catenary electrification || 4 or E&lt;br /&gt;
|-&lt;br /&gt;
|T ||[http://en.wikipedia.org/wiki/Three-phase_AC_railway_electrification three phase AC electrification] || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|D ||DC catenary electrification || E&lt;br /&gt;
|-&lt;br /&gt;
|d ||low voltage DC catenary electrification (only when D also used in set) || First A then E&lt;br /&gt;
|-&lt;br /&gt;
|A ||AC catenary electrification || E&lt;br /&gt;
|-&lt;br /&gt;
|a ||low voltage AC catenary electrification (only when A also used in set) || First A then E&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
If you want multi-voltage/current vehicles in your set (i.e. a train that can run on both AC and DC current), you have to define a dedicated railtype for those vehicles. Without the railtype, it&#039;s not possible to define vehicles with this property. If you only have vehicles that can run on either one type of voltage/current or on all types of voltage/current (e.g. a 2-system if you only have &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;D&#039;&#039;&#039; tracks, or a 4-system in case of all &#039;&#039;&#039;A&#039;&#039;&#039;, &#039;&#039;&#039;a&#039;&#039;&#039;, &#039;&#039;&#039;D&#039;&#039;&#039; and &#039;&#039;&#039;d&#039;&#039;&#039;), then use the generic class &#039;&#039;&#039;E&#039;&#039;&#039; for vehicles that should be able to run on all different voltage/currents. Also the track set needs to have one at least one railtype with class &#039;&#039;&#039;E&#039;&#039;&#039; defined.&lt;br /&gt;
&lt;br /&gt;
Note that if you want more than one type of multi-voltage/current, you&#039;ll quickly get a combinatory explosion of railtype labels, so plan carefully or do not attempt it. For every different multi-voltage/current vehicle type a dedicated railtype is needed. If you want all possible combinations, then you need to define an additional 8 classes. It is not recommended to make your train/track set this complicated.&lt;br /&gt;
&lt;br /&gt;
Example approach for a 4-system set, with trains that can run on either one or all systems:&lt;br /&gt;
* &#039;&#039;&#039;E&#039;&#039;&#039;: generic catenary-powered electric engines. &amp;quot;universal&amp;quot; [4-system] if any of &#039;&#039;&#039;D&#039;&#039;&#039;/&#039;&#039;&#039;d&#039;&#039;&#039;/&#039;&#039;&#039;A&#039;&#039;&#039;/&#039;&#039;&#039;a&#039;&#039;&#039; are defined.&lt;br /&gt;
* &#039;&#039;&#039;A&#039;&#039;&#039;: generic AC catenary electric engines. 25kV only if &#039;&#039;&#039;a&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;A&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;a&#039;&#039;&#039;: 15kV AC catenary electric engines. Only defined if &#039;&#039;&#039;A&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;a&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;D&#039;&#039;&#039;: generic DC catenary electric engines. 3kV if &#039;&#039;&#039;d&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;D&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;d&#039;&#039;&#039;: 1.5kV DC catenary electric engines. Only defined if &#039;&#039;&#039;D&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;D&#039;&#039;&#039; and &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;d&#039;&#039;&#039;.&lt;br /&gt;
For a 2-system set, you can simply drop &#039;&#039;&#039;a&#039;&#039;&#039; and &#039;&#039;&#039;d&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Standard labels: RAIL, ELRL, MONO, MGLV ===&lt;br /&gt;
It&#039;s not possible to undefine the standard railtypes RAIL, ELRL, MONO and MGLV. The game will always add those if there are vehicles defined for these track types. As a result, for a track set it&#039;s best not to ignore those standard labels, but rather work with them and define them in the set. If your track set does not have monorail or maglev tracks, there of course is no need to define those. But if your track set defines anything that resembles unelectrified or electrified rail, you should use the RAIL and ELRL labels. Matching labels from the above scheme will then be defined in property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
As vehicles from NewGRFs that do not use explicit railtypes will end up on these standard railtypes, you should use RAIL instead of whatever type could be regarded as the most commonly used unelectrified type, ELRL instead of the most commonly used electrified type and so on. The label according to this scheme is then set as an alternate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Summary for track sets ==&lt;br /&gt;
This section summarizes the above for track sets.&lt;br /&gt;
&lt;br /&gt;
; [X***] Track gauge and type class&lt;br /&gt;
* Define at least one track type for every track gauge/type class you want in your set.&lt;br /&gt;
* If you only provide tracks for one gauge/type, consider leaving some free railtypes so a player can load an additional set for some other type.&lt;br /&gt;
; [*X**] Speed limit class&lt;br /&gt;
* Make sure class A is always available, either directly or via an alternate label.&lt;br /&gt;
* Use only class A if you don&#039;t want speed limits;&lt;br /&gt;
* With speed limits, A is the lowest speed limit. Continue with B, C, etc. for increasing speed limits;&lt;br /&gt;
* The speed class can also be used to implement additional eye-candy track types, use letters higher in the alphabet for this.&lt;br /&gt;
; [**X*] Axle load class&lt;br /&gt;
* Always define all classes A through E for every track type class / electrification combination, either:&lt;br /&gt;
** Directly via a real railtype definition;&lt;br /&gt;
** Indirectly via the alternate rail type label list, property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
* Extend the predefined classes only if you also provide a train set that makes use of these.&lt;br /&gt;
; [***X] Energy source type class&lt;br /&gt;
* If your set only uses specialized classes, always map the generic classes to the closest matching specialized type via property 1D.&lt;br /&gt;
; Standard labels [RAIL, ELRL, MONO, MGLV]&lt;br /&gt;
* Always define the standard labels when possible, instead of what would be the equivalent of the standard label in this scheme.&lt;br /&gt;
* Map the equivalent labels from this scheme to the standard labels using property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
Or, put differently, for each gauge/type, select one or more energy source types. For each type/energy combination provide all axle load classes for the speed class &amp;quot;A&amp;quot;, either as a real type or as an alternate of another type. Provide more types with a different speed letter if you want to provide several different speeds or other eye-candy tracks.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Summary for train sets ==&lt;br /&gt;
This section summarizes the above for train sets.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; [X***] Track gauge and type class&lt;br /&gt;
* Use the track type class that matches the vehicle;&lt;br /&gt;
* Define a fallback type via the railtype table in case you want the vehicle to be available on a different track if no matching track set is loaded.&lt;br /&gt;
** Specialized subtypes like &amp;quot;n&amp;quot; might not always be available. If you want those vehicles to be still available then, fall back the the generic class (e.g. &amp;quot;N&amp;quot;).&lt;br /&gt;
; [*X**] Speed limit class &lt;br /&gt;
* Always use class A for every vehicle.&lt;br /&gt;
; [**X*] Axle load class&lt;br /&gt;
* Use all classes A through E according to the maximum axle weight of the vehicle.&lt;br /&gt;
* Extend the predefined classes only if you also provide a track set that makes use of these;&lt;br /&gt;
** When extending the predefined classes A through E, define a fallback type via the railtype table in case you want the vehicle to be available if no matching track set is loaded.&lt;br /&gt;
; [***X] Energy source type class&lt;br /&gt;
* Use the energy source type class that matches the vehicle;&lt;br /&gt;
* When using specialized classes, define a fallback type via the railtype table in case you want the vehicle to be available if no matching track set is loaded.&lt;br /&gt;
; Standard labels [RAIL, ELRL, MONO, MGLV]&lt;br /&gt;
* Define a fallback type to the standard labels via the railtype table in case you want the vehicle to be available on the standard tracks if no matching track set is loaded.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Be as specific as you want when selecting the railtype, it is the job of the track set to select a playable, reduced subset out of all possible type combinations.&lt;br /&gt;
&lt;br /&gt;
== In case you&#039;re not convinced by this scheme ==&lt;br /&gt;
Adopting this scheme gives the player freedom to use any track set in combination with any train set that follow the scheme. &lt;br /&gt;
&lt;br /&gt;
This means that you can make your train set compatible with track sets that provide axle load classes, and track sets that provide speed limits, and at the same time with track sets that provide none of this. This way, the player can decide to play with or without axle load classes, or with or without speed limits, simply by loading a track set that does or does not provide these features.&lt;br /&gt;
&lt;br /&gt;
And for your track set, it means that you can make it as simple or as complicated as you want (within the 64 track type limit), while not having to worry about compatibility with train sets.&lt;br /&gt;
&lt;br /&gt;
Still not convinced? Feel free to use railtype labels of your own, but know that you will likely come to regret that at some point in the future.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Forum topic==&lt;br /&gt;
If you want to discuss the standardized railtype scheme or have any questions about it, you can visit [http://www.tt-forums.net/viewtopic.php?t=59379 the forum topic].&lt;br /&gt;
&lt;br /&gt;
==&amp;quot;Innsbruck 2022 Convention&amp;quot; for partial compliance==&lt;br /&gt;
&lt;br /&gt;
This is really esoteric, but eh. It was the product of long discussion / debate / argument / reasoning between grf authors.&lt;br /&gt;
&lt;br /&gt;
1. The Standardized Railtype Scheme &#039;&#039;&#039;is a useful tool&#039;&#039;&#039; for providing reliable compatibility between train grfs and railtype grfs.&lt;br /&gt;
&lt;br /&gt;
2. The &#039;&#039;&#039;axle load class&#039;&#039;&#039; in the scheme presents a number of issues for compliance.&lt;br /&gt;
&lt;br /&gt;
2.1. Over 10 years since the scheme was standardised, not many train grfs implement multiple axle load classes &#039;&#039;&#039;as required by the scheme&#039;&#039;&#039;.  Known examples that &#039;&#039;&#039;do&#039;&#039;&#039; comply include Dutch Train Set, French Narrow Gauge Trains, and Finnish Trains.&lt;br /&gt;
&lt;br /&gt;
2.2. Elements of the axle load rules have proven hard to interpret.  For example:&lt;br /&gt;
&lt;br /&gt;
* is it compliant to use &#039;&#039;fewer&#039;&#039; than 5 classes in a train grf?  There is a lack of consensus on this.&lt;br /&gt;
* axle load is only one of many factors that govern whether a vehicle is compatible with a route, for example loading gauge, minimum curve, signalling types etc&lt;br /&gt;
&lt;br /&gt;
2.3. Meanwhile &#039;&#039;multiple existing train grfs use class &#039;&#039;A&#039;&#039; for the axle load for all trains&#039;&#039; (except where relying on default railtypes such as RAIL and ELRL).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3. The Innsbruck 2022 Convention uses class &#039;&#039;A&#039;&#039; for axle load for &#039;&#039;&#039;all&#039;&#039;&#039; trains in a train grf (except where relying on default railtypes such as RAIL and ELRL).&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is &#039;&#039;&#039;not&#039;&#039;&#039; fully compliant with the Standardized Railtype Scheme and does not claim to be.&lt;br /&gt;
&lt;br /&gt;
However train grfs using the Innsbruck 2022 Convention are &#039;&#039;broadly compatible&#039;&#039; with railtype grfs using the Standardized Railtype Scheme.  &lt;br /&gt;
&lt;br /&gt;
Obligatory XKCD link about &#039;standards&#039;: https://xkcd.com/927/&lt;br /&gt;
&lt;br /&gt;
===Known issues===&lt;br /&gt;
&lt;br /&gt;
Known problems are that trains using only class &#039;A&#039; may limit the ability of railtype grf authors to achieve their design goals for separating railtypes by axle load.  &lt;br /&gt;
But on reflection, it can be seen that a train grf might not be able to provide a broad enough range of vehicles to cover at least 5 axle load classes.&lt;br /&gt;
&lt;br /&gt;
3.1. The Innsbruck 2022 Convention is &#039;&#039;&#039;not&#039;&#039;&#039; appropriate for train grf authors who wish to provide more than one axle load class.&lt;br /&gt;
&lt;br /&gt;
3.2. The Innsbruck 2022 Convention treats the meaning of class &#039;&#039;A&#039;&#039; as &#039;&#039;undefined&#039;&#039;, &#039;&#039;ignored&#039;&#039; or &#039;&#039;compatible with most restricted railtype&#039;&#039; for axle load.  &lt;br /&gt;
&lt;br /&gt;
Axle load class &#039;&#039;A&#039;&#039; &#039;&#039;&#039;cannot&#039;&#039;&#039; be safely interpreted as &#039;&#039;universal&#039;&#039; because from the perspective of a railtype grf &#039;&#039;A&#039;&#039; is &#039;&#039;most restricted railtype&#039;&#039;, where &#039;&#039;universal&#039;&#039; is better represented as &#039;&#039;least restricted railtype&#039;&#039;. Depending how many axle load classes are in use by the railtype grf, this could be class &#039;&#039;B&#039;&#039;, &#039;&#039;C&#039;&#039;, &#039;&#039;D&#039;&#039;, &#039;&#039;E&#039;&#039; etc.  To illustrate this issue, take the following scenario&lt;br /&gt;
&lt;br /&gt;
* railtype grf defines axle loads &#039;&#039;A&#039;&#039; to &#039;&#039;E&#039;&#039;. In this case the railtype grf author intends that &#039;&#039;A&#039;&#039; is compatible with the smallest range of vehicles, &#039;&#039;E&#039;&#039; is compatible with the largest range of vehicles, and &#039;&#039;B&#039;&#039;, &#039;&#039;C&#039;&#039; and &#039;&#039;D&#039;&#039; are compatible with some intermediate ranges of vehicles&lt;br /&gt;
* but the vehicle grf author has defined all vehicles to be axle load &#039;&#039;A&#039;&#039; in an attempt to express this vehicle is &#039;&#039;universal&#039;&#039;.  The result in the game is that an identical range of vehicles will be compatible with railtypes &#039;&#039;A&#039;&#039; to &#039;&#039;E&#039;&#039;.  &lt;br /&gt;
&lt;br /&gt;
This is clearly &#039;&#039;&#039;not&#039;&#039;&#039; the intended outcome of the railtype author. But nor is it clear within the spec that the vehicle author has particularly done anything wrong. &lt;br /&gt;
&lt;br /&gt;
It &#039;&#039;would&#039;&#039; be possible to use railtype availability testing to adjust the vehicle property 05 (track_type) to fit the highest defined axle load (&#039;&#039;E&#039;&#039; in this example case), but this is not insignificant work, and it&#039;s unlikely to be widely adopted by vehicle grf authors.  Nor would this solution achieve &#039;&#039;universal&#039;&#039; as all vehicles in vehicle grf then would be incompatible with types &#039;&#039;A&#039;&#039; through &#039;&#039;D&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
3.3. When the Innsbruck 2022 Convention is used, this &#039;&#039;&#039;does not prevent&#039;&#039;&#039; a train grf being extended in some future release to achieve full compliance with Standardized Railtype Scheme. &#039;&#039;That choice remains with train grf authors&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
3.4. If 2012 could be revisited, providing an optional &#039;&#039;_&#039;&#039; axle load class in the Standardized Railtype Scheme for &#039;&#039;undefined&#039;&#039; would have been preferable, but as of 2022, &#039;&#039;A&#039;&#039; is already widely used for this purpose, and time travel is not known to be possible.&lt;br /&gt;
&lt;br /&gt;
==Extended multivoltage support addition==&lt;br /&gt;
These are extensions to the energy source type class currently supported by SETS and xUSSR Rails which allow trainsets to code trains which are limited to a certain selection of voltages. As stated in the energy source type class section this might not be of use for all sets, as such it is optional but still recommended for trainsets for ideal functionality with tracksets which support the extended labels.&lt;br /&gt;
{|&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Specialized energy type classes !!Vehicle set fallback&lt;br /&gt;
|-&lt;br /&gt;
|* ||Equivilent to A, a, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|&#039; ||Equivilent to A, a and D || E&lt;br /&gt;
|-&lt;br /&gt;
|^ ||Equivilent to A, a and d || E&lt;br /&gt;
|-&lt;br /&gt;
|_ ||Equivilent to A, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
|, ||Equivilent to a, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|$ ||Equivilent to A and a  || First A then E or just E&lt;br /&gt;
|-&lt;br /&gt;
|= ||Equivilent to D and d  || First D then E or just E&lt;br /&gt;
|-&lt;br /&gt;
|) ||Equivilent to A and D  || E&lt;br /&gt;
|-&lt;br /&gt;
|( ||Equivilent to A and d  || E&lt;br /&gt;
|-&lt;br /&gt;
|] ||Equivilent to a and D  || E&lt;br /&gt;
|-&lt;br /&gt;
|[ ||Equivilent to a and d  || E&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Possible additions==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;mw-collapsible mw-collapsed wikitable&amp;quot;&lt;br /&gt;
! !!Track type/gauge&lt;br /&gt;
|-&lt;br /&gt;
|_ ||Universal &amp;quot;cheat&amp;quot; rail; ALWAYS add &amp;quot;_H_c&amp;quot; and &amp;quot;_S_t&amp;quot; to EVERY [[NML:Railtypes#Railtype_properties|compatible_railtype_list (NML)]], and ALWAYS add &amp;quot;_S_t&amp;quot; to EVERY [[NML:Railtypes#Railtype_properties|powered_railtype_list (NML)]] if you intend to support this&lt;br /&gt;
|-&lt;br /&gt;
|0 ||(A number zero, not a letter &amp;quot;Oh&amp;quot;) No track, eyecandy-use only&lt;br /&gt;
|-&lt;br /&gt;
|U ||[https://perma.cc/93VE-8JQZ &amp;quot;Ukrainian monorail&amp;quot; or Şaropoí̈zd (Шаропоїзд)], a u-shaped concrete &amp;quot;monorail trench&amp;quot; from 1920&#039;s Soviet Union; see [https://www.tt-forums.net/viewtopic.php?f=26&amp;amp;t=47432 the Yarmanchuk Express] for graphics&lt;br /&gt;
|-&lt;br /&gt;
|1 ||Early Monorail; See [https://perma.cc/6BVS-2P2X here] and [https://perma.cc/VCG2-ATUA here]&lt;br /&gt;
|-&lt;br /&gt;
|G ||Gyrail; [https://en.wikipedia.org/wiki/Gyro_monorail Gyro monorail/Gyroscopic monorail/Gyro-stabilized monorail] for description and IRL example, and [https://wikimon.net/Trailmon here] ([https://web.archive.org/web/20240227205547/https://wikimon.net/Trailmon archived]) for good fictional examples&lt;br /&gt;
|-&lt;br /&gt;
|m ||Minimum gauge rail; [https://en.wikipedia.org/wiki/Minimum-gauge_railway 15 in (381 mm), 400 mm (15+3⁄4 in), 16 in (406 mm), 18 in (457 mm), 19 in (483 mm), 500 mm (19+3⁄4 in) or 20 in (508 mm)]&lt;br /&gt;
|-&lt;br /&gt;
|n ||600mm &amp;quot;Decauville&amp;quot; or &amp;quot;Feldsbahn&amp;quot;, formerly labelled &amp;quot;NG60&amp;quot; before standardization; the most common narrow gauge track type in OpenTTD other than metre gauge, 600mm gauge is thus ideal for taking up the &amp;quot;n&amp;quot; gauge, though this is an ultimately optional distinction&lt;br /&gt;
|-&lt;br /&gt;
|7 ||750mm, Bosnian gauge (760 mm), and 762mm; all start with 7 and are close in size&lt;br /&gt;
|-&lt;br /&gt;
|3 ||Swedish 3 foot (891 mm), 900mm, 3 foot (914 mm) and Italian Metre (950mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|R ||Metre gauge; potentially compatible with base tramtype &amp;quot;RABN&amp;quot;, most early tramways were metre gauge&lt;br /&gt;
|-&lt;br /&gt;
|4 ||4 foot gauge (1219 mm), and possibly 4&#039;6&amp;quot; in. (1372 mm) if standardization is needed for 1372mm&lt;br /&gt;
|-&lt;br /&gt;
|s ||Scotch gauge (1372 mm)&lt;br /&gt;
|-&lt;br /&gt;
|S ||Standard gauge; already implemented in original standardized railtype scheme, but could include near-standard (1432 mm) as well as existing true standard (1435 mm) and is also potentially compatible with the SABN tramtype&lt;br /&gt;
|-&lt;br /&gt;
|X ||Omni-gauge rail (for at-grade multi-gauge crossings and stations); ultrabroad/secondary broad/primary broad/standard/primary narrow/secondary narrow gauge&lt;br /&gt;
|-&lt;br /&gt;
|x ||Multi-gauge rail (for at-grade multi-gauge crossings and stations); secondary broad/primary broad/standard/primary narrow/secondary narrow&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;+&amp;lt;/nowiki&amp;gt; ||Quad-gauge (Four-gauge) rail (for at-grade multi-gauge crossings and stations); secondary broad/primary broad/standard/primary narrow&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt; ||Four-gauge rail (for at-grade multi-gauge crossings and stations); primary broad/standard/primary narrow/secondary narrow&lt;br /&gt;
|-&lt;br /&gt;
|b ||Broad gauge rail - As broad gauge is a rare tracktype, it may still be feasible to cement B and b as broad gauges of two differing sizes, but the rarity among gauges in the real world would need to match; Italian (1445 mm) and Dresden (1450 mm) gauges may be better grouped here&lt;br /&gt;
|-&lt;br /&gt;
|t ||Leipzig trams (1458 mm) and Greater Toronto Area streetcars (1495 mm)&lt;br /&gt;
|-&lt;br /&gt;
|5 ||1520mm and 5 foot (1524 mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|V ||Pennsylvanian (1581 mm and 1588 mm) and Australian &amp;quot;Victorian&amp;quot; (1600 mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|6 ||6 foot (1829 mm) broad gauge&lt;br /&gt;
|-&lt;br /&gt;
|g ||Brunel&#039;s Great Western Railway gauge (2140 mm)&lt;br /&gt;
|-&lt;br /&gt;
|B ||Biggest Broad gauge rail - As broad gauge is a rare tracktype, and the variation in common real life track types too wide, it may be desirable to cement B and b as broad gauges of two differing sizes; With no real life examples that match the usage frequency of &amp;quot;B&amp;quot;, the gauge might best draw inspiration from the infamous [https://en.wikipedia.org/wiki/Breitspurbahn Breitspurbahn] (3000 mm) and [https://perma.cc/KQ2Z-5RCR the never-built vehicles designed for it], or from the [https://en.wikipedia.org/wiki/Brighton_and_Rottingdean_Seashore_Electric_Railway Brighton &amp;amp; Rottingdean Seashore Electric Railway] (18 ft/5,486 mm) &lt;br /&gt;
|-&lt;br /&gt;
|L ||Maglevs that have a u-shaped track&lt;br /&gt;
|-&lt;br /&gt;
|T ||Maglevs that have a monorail track&lt;br /&gt;
|-&lt;br /&gt;
|F ||Flightrail; A [https://web.archive.org/web/20231213122530/http://www.flightrail.com/ system capable of high speeds and steep hill grades] that uses a pneumatic pipe for propulsion (see &amp;quot;P&amp;quot; under energy sources), and &#039;&#039;wheels pointed inwards at a 45-degree angle&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
It might be preferred to instead use/keep &amp;quot;B&amp;quot; for &amp;quot;all (current) broad gauges&amp;quot; (mostly Victorian gauge) instead using lowercase &amp;quot;b&amp;quot; for Brunel/GWR broad gauge. This wouldn&#039;t be to different from narrow gauge since the lesser used ones are lowercase and fallback to the uppercase ones.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;mw-collapsible mw-collapsed wikitable&amp;quot;&lt;br /&gt;
! !!Electrification !!Fallback !!Notes&lt;br /&gt;
|-&lt;br /&gt;
|1 ||Unspecified monorail electrification |||MONO (the whole label) ||&lt;br /&gt;
|-&lt;br /&gt;
|S ||Maglevs that use a synchronous linear motor ||N/A ||&lt;br /&gt;
|-&lt;br /&gt;
|I ||Maglevs that use a linear induction motor ||MGLV (the whole label) ||&lt;br /&gt;
|-&lt;br /&gt;
|V ||Vactrains/Hyperloop ||t, then I, then MGLV (the whole label) ||&lt;br /&gt;
|-&lt;br /&gt;
|t ||&amp;quot;Universal custom tunnel&amp;quot; (for diagonal sub-surface &amp;quot;rail tunnels&amp;quot; that use decorative track types to complete the illusion) ||c, then p, then 7, then U (mandatory) ||&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt; ||Universal energy type (&#039;&#039;not&#039;&#039; meant to replace &amp;quot;***N&amp;quot;; use for vehicles such as driving cabs which cannot move under their own power regardless, if desired) ||N/A (Be sure to put &amp;quot;***E&amp;quot; in the [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]] of a &amp;quot;***-&amp;quot; label) ||(&#039;&#039;Do not give a fallback or use for railtypes, this is for unpowered &amp;quot;locomotives&amp;quot; only!&#039;&#039;)&lt;br /&gt;
|-&lt;br /&gt;
|5 ||750v DC Outer 3rd Rail (&amp;quot;MTRO&amp;quot; or &amp;quot;SA_3&amp;quot;) and 630v DC Inner 3rd/4th Rail; a total of 5 rails (2 for wheels, 3 for electricity), plausible in the London Underground network ||3 or 4 ||&lt;br /&gt;
|-&lt;br /&gt;
|U ||750v DC Outer 3rd Rail (&amp;quot;MTRO&amp;quot; or &amp;quot;SA_3&amp;quot;), 630v DC Inner 3rd/4th Rail and universal catenary (SAEE); a total of 5 rails (2 for wheels, 3 for electricity) if only one gauge, plausible in the London Underground network and an &amp;quot;ultimate&amp;quot; dual rail electrification without being a cheat (make it expensive or toggle-able?) as SAEU or as XAEU (universal dual rail electrified tracks) ||E ||&lt;br /&gt;
|-&lt;br /&gt;
|7 ||750v DC Outer 3rd Rail (&amp;quot;MTRO&amp;quot; or &amp;quot;SA_3&amp;quot;), 630v DC Inner 3rd/4th Rail, Three-phase AC (SA_T) 3rd/4th rail &amp;amp; catenary, and universal catenary (SA_E); a total of 7 rails (2 for wheels, 5 for electricity) if only one gauge, a truly universal dual rail electrification without being impossible (make it VERY expensive or toggle-able so it isn&#039;t cheat-y?) as SAE7, XAE7 or even as XRE7 (combination of ALL two-rail track gauges with universally-compatible electrification including an outer 3rd rail and a paired set of inner 3rd/4th rails, and a rack rail in the exact center; improbable, but not physically impossible) ||U ||&lt;br /&gt;
|-&lt;br /&gt;
|P ||Pneumatic tube with physical piston slit, or closed pneumatic tube with magnetic piston (i.e. that used by [https://web.archive.org/web/20231213122530/http://www.flightrail.com/ Flightrail]) ||N/A ||&lt;br /&gt;
|-&lt;br /&gt;
|p ||Pneumatic and universal electrical power ||P or 7 (Be sure to put &amp;quot;***_&amp;quot; and ***P&amp;quot; in the [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]] of a &amp;quot;***p&amp;quot; label) || XREp is a combination of ALL two-rail track gauges with improbably high axle load with universally-compatible electrification including an outer 3rd rail and a paired set of inner 3rd/4th rails, and a rack rail in the exact center; improbable, but not physically impossible)&lt;br /&gt;
|-&lt;br /&gt;
|c ||Cheat electrification type; use solely for the &amp;quot;_R_c&amp;quot; and &amp;quot;_R_t&amp;quot; railtype labels specifically (runs everything if coded properly), the latter (&amp;quot;_R_t&amp;quot;) is for tunnels, while the former (&amp;quot;_R_c&amp;quot;) is for &amp;quot;cheat rail upgrade&amp;quot; newgrfs ||p, then 7, then U, then E, then N, then &amp;quot;SA_-&amp;quot; (the whole label) ||&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Lurkmore</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=Standardized_Railtype_Scheme&amp;diff=4773</id>
		<title>Standardized Railtype Scheme</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=Standardized_Railtype_Scheme&amp;diff=4773"/>
		<updated>2024-04-04T17:46:05Z</updated>

		<summary type="html">&lt;p&gt;Lurkmore: /* Possible additions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This railtype label scheme aims to bring order to the uncontrolled growth of railtype labels. It groups the rail types into what matters from a technical perspective. The scheme provides a standardized way of defining railtype labels, based on track gauge and type, speed class, allowable axle weight and electrification type.&lt;br /&gt;
&lt;br /&gt;
It is the explicit intent of this scheme to decouple track sets from vehicle sets to facilitate easy mixing. This way the player can select a track set of choice to go with a train set of choice. It allows the player to play with or without axle load classes, or with or without speed limit classes, simply by loading a track set that does or does not provide these features. In some cases it will also be possible to combine niche track sets, for instance a standard gauge track set with a narrow gauge and a metro track set.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== The Label Scheme ==&lt;br /&gt;
A railtype label consists of four characters. In this scheme, each position has a different purpose:&lt;br /&gt;
# Track gauge and type class (e.g. standard gauge rail, narrow gauge rail, monorail)&lt;br /&gt;
# Speed limit class&lt;br /&gt;
# Axle load class (maximum allowed axle weight for this track)&lt;br /&gt;
# Energy source type class&lt;br /&gt;
&lt;br /&gt;
In the next sections, each of the four positions will be explained.&lt;br /&gt;
&lt;br /&gt;
=== Track gauge and type class [X***] ===&lt;br /&gt;
The first position in the railtype label defines track gauge and/or track type class. The following classes are currently defined:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Track type/gauge&lt;br /&gt;
|- &lt;br /&gt;
|S ||Standard gauge rail&lt;br /&gt;
|-&lt;br /&gt;
|B ||Broad gauge rail &lt;br /&gt;
|-&lt;br /&gt;
|N ||Narrow gauge rail&lt;br /&gt;
|-&lt;br /&gt;
|n ||Secondary narrow gauge rail (e.g. when providing both metre and cape gauge, always use N in case of just one type of narrow gauge)&lt;br /&gt;
|-&lt;br /&gt;
|D ||Dual gauge rail, standard/broad gauge&lt;br /&gt;
|-&lt;br /&gt;
|d ||Dual gauge rail, standard/narrow gauge&lt;br /&gt;
|-&lt;br /&gt;
|M ||Monorail&lt;br /&gt;
|-&lt;br /&gt;
|L ||Magnetic Levitation&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Speed limit class [*X**] ===&lt;br /&gt;
The second position in the railtype label defines the speed limit class. These classes do not map to a fixed numeric value, but are used to define an internal speed limit order for the track set. This means that if your track set has two different speed limits for track types that are otherwise identical, you&#039;ll use letters A and B here. In case of three different speed limits, use A, B and C. In case your track set does not employ speed limits, always use A. Train sets do not care about the speed limit, and will always set the lowest speed class, i.e. A.&lt;br /&gt;
&lt;br /&gt;
This gives for instance the following options:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||no speed limits&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;OR&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||low speed&lt;br /&gt;
|-&lt;br /&gt;
|B ||high speed&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;OR&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||low speed&lt;br /&gt;
|-&lt;br /&gt;
|B ||medium speed&lt;br /&gt;
|-&lt;br /&gt;
|C ||high speed&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;etc.&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear:left;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The speed limit class may also be used for some advanced features of the label scheme, like specialized track types and eyecandy purposes. Be careful not to break the compatibility with other sets when using the speed limit class for these purposes.&lt;br /&gt;
&lt;br /&gt;
An example of a special use is rack rail. In the French set it is used to give rack rail engines a higher speed and TE than normal rail engines when used on rack rail. When defining trains with a special speed limit class, always allow a fallback to speed limit class A via the railtype table.&lt;br /&gt;
&lt;br /&gt;
An example of eyecandy use are urban tracks. These are a variation of regular tracks, but with concrete ground tiles to better match the urban environment. Train sets must not define vehicles for eyecandy classes. If you think you have special vehicles that should only run on the eyecandy class, it is &#039;&#039;not&#039;&#039; eyecandy but a separate track gauge/type.&lt;br /&gt;
&lt;br /&gt;
The following special and eyecandy classes have been defined so far:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Description !!Type !!Used by&lt;br /&gt;
|- &lt;br /&gt;
|A-H ||speed limits ||colspan=&amp;quot;2&amp;quot;| reserved&lt;br /&gt;
|- &lt;br /&gt;
|R ||rack rail, that allows this vehicle to not slow down going uphill ||special ||French Set Rails&lt;br /&gt;
|- &lt;br /&gt;
|S ||subterranean ||eyecandy ||Metro Track Set&lt;br /&gt;
|- &lt;br /&gt;
|U ||urban ||eyecandy ||Metro Track Set&lt;br /&gt;
|}&lt;br /&gt;
Rack rail needs a bit greater of a explanation, idealy it would be coded in a way where both Pure rack and Rack-and-adhesion systems are supported.&lt;br /&gt;
This can be achieved by making regular tracks powered on rackrail without the opposite being true. This means vehicles defined for NRAN can&#039;t go on NAAN (like a pure rack system) but NAAN vehicles can go on NRAN (like a rack-and-adhesion system). Currently French Set Rails implements compatiblility both ways which makes pure rack systems impossible.&lt;br /&gt;
&lt;br /&gt;
=== Axle load class [**X*] ===&lt;br /&gt;
The third position defines the axle weight limit. Heavy trains cannot run on tracks with a low axle weight limit; these trains need more expensive tracks with a heigher weight limit. There are five axle load classes &#039;&#039;&#039;A&#039;&#039;&#039; through &#039;&#039;&#039;E&#039;&#039;&#039;. &#039;&#039;&#039;A&#039;&#039;&#039; is for the lowest axle load limit, &#039;&#039;&#039;E&#039;&#039;&#039; for the highest. The exact axle load attached to each class is relative to the track gauge/type and trains in the set. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A train set should set the appropriate axle weight for each train via the railtype label, as to make the set work with track sets that do provide tracks with different weight limits, even if you don&#039;t care about it for your trainset. Split all vehicles of a certain track gauge/type into five groups of similar axle weight. The group with the lowest axle weights will get class &#039;&#039;&#039;A&#039;&#039;&#039;, the second lowest class &#039;&#039;&#039;B&#039;&#039;&#039;, etc. up to the group with the highest axle weights which will get class &#039;&#039;&#039;E&#039;&#039;&#039;. Do the same for the other track gauge/types if your train set has those.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A track set does not have to provide a dedicated track type for each axle weight limit. A track set that does not provide a dedicated track for each axle load class, must make sure to map all undefined axle load classes to a real railtype using property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]]. This way a train set can rely on all labels for all axle load classes being available. Example: if you only want to provide 2 axle load classes for standard gauge unelectrified with no speed limits, you can map SA&#039;&#039;&#039;A&#039;&#039;&#039;N + SA&#039;&#039;&#039;B&#039;&#039;&#039;N to SA&#039;&#039;&#039;C&#039;&#039;&#039;N and SA&#039;&#039;&#039;D&#039;&#039;&#039;N to SA&#039;&#039;&#039;E&#039;&#039;&#039;N if the cost difference between the two railtypes is high, or SA&#039;&#039;&#039;A&#039;&#039;&#039;N to SA&#039;&#039;&#039;B&#039;&#039;&#039;N and SA&#039;&#039;&#039;C&#039;&#039;&#039;N + SA&#039;&#039;&#039;D&#039;&#039;&#039;N to SA&#039;&#039;&#039;E&#039;&#039;&#039;N if the cost difference is low.&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t want to provide any axle load classes in your track set, it doesn&#039;t really matter what axle load class you choose for the track, as you&#039;ll be mapping all other classes to this track anyways. But the lowest or highest class are the obvious choice. Example: if your track set only provides narrow gauge unelectrified track with no speed limits and no axle load limits, you may use NA&#039;&#039;&#039;A&#039;&#039;&#039;N for the track label, and provide NA&#039;&#039;&#039;B&#039;&#039;&#039;N, NA&#039;&#039;&#039;C&#039;&#039;&#039;N, NA&#039;&#039;&#039;D&#039;&#039;&#039;N, NA&#039;&#039;&#039;E&#039;&#039;&#039;N in property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you need more than five axle load class, you may use lowercase letters for very low axle loads and continue the uppercase letters for very high axle loads. Be advised that your train set may not assume the existance of any other class than &#039;&#039;&#039;A&#039;&#039;&#039; through &#039;&#039;&#039;E&#039;&#039;&#039;, so when the range make sure to program your railtype table such that trains with such a class will fall back to class &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;E&#039;&#039;&#039;. If you make a track set with an extended range, be aware that not all train sets will define trains for these tracks. In general: only do this in case of a train set with a matching track set.&lt;br /&gt;
&lt;br /&gt;
For the lowercase letters, &#039;&#039;&#039;b&#039;&#039;&#039; is lower than &#039;&#039;&#039;a&#039;&#039;&#039;, so for increasing axle load limits: b &amp;lt; a &amp;lt; A &amp;lt; B &amp;lt; C etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that the axle load classes never map to a specific weight in tonnes. For that reason it does not make sense to add a numeric value for the axle load to the name of a track type or in the extended purchase info of a train. Instead use the relative expressions &#039;very low&#039;, &#039;low&#039;, &#039;medium&#039;, &#039;high&#039; and &#039;very high&#039; or use the class letters directly.&lt;br /&gt;
&lt;br /&gt;
If a guideline is needed for updating a set to use axle loads in a train set where they don&#039;t yet exist, the following might serve as a basic &amp;quot;generic&amp;quot; guideline...&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&lt;br /&gt;
! !!Indefinite !!Generic !! First usage&lt;br /&gt;
|-&lt;br /&gt;
|c ||Horse-drawn Wagonway ||1 metric tonne (1000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|1594&lt;br /&gt;
|-&lt;br /&gt;
|b ||Iron Plateway ||1 metric tonne (1000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|1799&lt;br /&gt;
|-&lt;br /&gt;
|a ||Prototype Rails ||5 metric tonnes (5000kg) per axle; Because reserved by examples || style=&amp;quot;text-align:right;&amp;quot;|1820&lt;br /&gt;
|-&lt;br /&gt;
|A ||Very Low (2012 OG Default)||10 metric tonnes (10000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|1828&lt;br /&gt;
|-&lt;br /&gt;
|B ||Low (2024 &amp;quot;New&amp;quot; Default) ||20 metric tonnes (20000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|1968&lt;br /&gt;
|-&lt;br /&gt;
|C ||Medium ||30 metric tonnes (30000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|~1978&lt;br /&gt;
|-&lt;br /&gt;
|D ||High ||40 metric tonnes (40000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|1988&lt;br /&gt;
|-&lt;br /&gt;
|E ||Very High ||50 metric tonnes (50000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|2008&lt;br /&gt;
|-&lt;br /&gt;
|F ||Future-proofing ||No limit per axle (update in 2030 or so?) || style=&amp;quot;text-align:right;&amp;quot;|~2028&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Energy source type class [***X] ===&lt;br /&gt;
The last position defines the energy source type class. This is split in generic energy source types like overhead wires and third rail and specialized types like alternating and direct current.&lt;br /&gt;
&lt;br /&gt;
A track set that only uses specialized types, should map the generic types to the most suitable specialized type in the set.&lt;br /&gt;
&lt;br /&gt;
A vehicle set that uses specialized types should define a generic type as fallback, via the railtype table. If such a fallback is omitted, please note that certain vehicles may be unavailable depending on track set loaded.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Generic energy type classes&lt;br /&gt;
|-&lt;br /&gt;
|N ||no electrification&lt;br /&gt;
|-&lt;br /&gt;
|E ||overhead wires/catenary electrification&lt;br /&gt;
|-&lt;br /&gt;
|3 ||3rd rail electrification&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Specialized energy type classes !!Vehicle set fallback&lt;br /&gt;
|-&lt;br /&gt;
|Z ||3rd rail and catenary electrification || 3 or E&lt;br /&gt;
|-&lt;br /&gt;
|4 ||4th rail electrification || 3&lt;br /&gt;
|-&lt;br /&gt;
|Y ||4th rail and catenary electrification || 4 or E&lt;br /&gt;
|-&lt;br /&gt;
|T ||[http://en.wikipedia.org/wiki/Three-phase_AC_railway_electrification three phase AC electrification] || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|D ||DC catenary electrification || E&lt;br /&gt;
|-&lt;br /&gt;
|d ||low voltage DC catenary electrification (only when D also used in set) || First A then E&lt;br /&gt;
|-&lt;br /&gt;
|A ||AC catenary electrification || E&lt;br /&gt;
|-&lt;br /&gt;
|a ||low voltage AC catenary electrification (only when A also used in set) || First A then E&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
If you want multi-voltage/current vehicles in your set (i.e. a train that can run on both AC and DC current), you have to define a dedicated railtype for those vehicles. Without the railtype, it&#039;s not possible to define vehicles with this property. If you only have vehicles that can run on either one type of voltage/current or on all types of voltage/current (e.g. a 2-system if you only have &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;D&#039;&#039;&#039; tracks, or a 4-system in case of all &#039;&#039;&#039;A&#039;&#039;&#039;, &#039;&#039;&#039;a&#039;&#039;&#039;, &#039;&#039;&#039;D&#039;&#039;&#039; and &#039;&#039;&#039;d&#039;&#039;&#039;), then use the generic class &#039;&#039;&#039;E&#039;&#039;&#039; for vehicles that should be able to run on all different voltage/currents. Also the track set needs to have one at least one railtype with class &#039;&#039;&#039;E&#039;&#039;&#039; defined.&lt;br /&gt;
&lt;br /&gt;
Note that if you want more than one type of multi-voltage/current, you&#039;ll quickly get a combinatory explosion of railtype labels, so plan carefully or do not attempt it. For every different multi-voltage/current vehicle type a dedicated railtype is needed. If you want all possible combinations, then you need to define an additional 8 classes. It is not recommended to make your train/track set this complicated.&lt;br /&gt;
&lt;br /&gt;
Example approach for a 4-system set, with trains that can run on either one or all systems:&lt;br /&gt;
* &#039;&#039;&#039;E&#039;&#039;&#039;: generic catenary-powered electric engines. &amp;quot;universal&amp;quot; [4-system] if any of &#039;&#039;&#039;D&#039;&#039;&#039;/&#039;&#039;&#039;d&#039;&#039;&#039;/&#039;&#039;&#039;A&#039;&#039;&#039;/&#039;&#039;&#039;a&#039;&#039;&#039; are defined.&lt;br /&gt;
* &#039;&#039;&#039;A&#039;&#039;&#039;: generic AC catenary electric engines. 25kV only if &#039;&#039;&#039;a&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;A&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;a&#039;&#039;&#039;: 15kV AC catenary electric engines. Only defined if &#039;&#039;&#039;A&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;a&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;D&#039;&#039;&#039;: generic DC catenary electric engines. 3kV if &#039;&#039;&#039;d&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;D&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;d&#039;&#039;&#039;: 1.5kV DC catenary electric engines. Only defined if &#039;&#039;&#039;D&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;D&#039;&#039;&#039; and &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;d&#039;&#039;&#039;.&lt;br /&gt;
For a 2-system set, you can simply drop &#039;&#039;&#039;a&#039;&#039;&#039; and &#039;&#039;&#039;d&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Standard labels: RAIL, ELRL, MONO, MGLV ===&lt;br /&gt;
It&#039;s not possible to undefine the standard railtypes RAIL, ELRL, MONO and MGLV. The game will always add those if there are vehicles defined for these track types. As a result, for a track set it&#039;s best not to ignore those standard labels, but rather work with them and define them in the set. If your track set does not have monorail or maglev tracks, there of course is no need to define those. But if your track set defines anything that resembles unelectrified or electrified rail, you should use the RAIL and ELRL labels. Matching labels from the above scheme will then be defined in property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
As vehicles from NewGRFs that do not use explicit railtypes will end up on these standard railtypes, you should use RAIL instead of whatever type could be regarded as the most commonly used unelectrified type, ELRL instead of the most commonly used electrified type and so on. The label according to this scheme is then set as an alternate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Summary for track sets ==&lt;br /&gt;
This section summarizes the above for track sets.&lt;br /&gt;
&lt;br /&gt;
; [X***] Track gauge and type class&lt;br /&gt;
* Define at least one track type for every track gauge/type class you want in your set.&lt;br /&gt;
* If you only provide tracks for one gauge/type, consider leaving some free railtypes so a player can load an additional set for some other type.&lt;br /&gt;
; [*X**] Speed limit class&lt;br /&gt;
* Make sure class A is always available, either directly or via an alternate label.&lt;br /&gt;
* Use only class A if you don&#039;t want speed limits;&lt;br /&gt;
* With speed limits, A is the lowest speed limit. Continue with B, C, etc. for increasing speed limits;&lt;br /&gt;
* The speed class can also be used to implement additional eye-candy track types, use letters higher in the alphabet for this.&lt;br /&gt;
; [**X*] Axle load class&lt;br /&gt;
* Always define all classes A through E for every track type class / electrification combination, either:&lt;br /&gt;
** Directly via a real railtype definition;&lt;br /&gt;
** Indirectly via the alternate rail type label list, property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
* Extend the predefined classes only if you also provide a train set that makes use of these.&lt;br /&gt;
; [***X] Energy source type class&lt;br /&gt;
* If your set only uses specialized classes, always map the generic classes to the closest matching specialized type via property 1D.&lt;br /&gt;
; Standard labels [RAIL, ELRL, MONO, MGLV]&lt;br /&gt;
* Always define the standard labels when possible, instead of what would be the equivalent of the standard label in this scheme.&lt;br /&gt;
* Map the equivalent labels from this scheme to the standard labels using property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
Or, put differently, for each gauge/type, select one or more energy source types. For each type/energy combination provide all axle load classes for the speed class &amp;quot;A&amp;quot;, either as a real type or as an alternate of another type. Provide more types with a different speed letter if you want to provide several different speeds or other eye-candy tracks.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Summary for train sets ==&lt;br /&gt;
This section summarizes the above for train sets.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; [X***] Track gauge and type class&lt;br /&gt;
* Use the track type class that matches the vehicle;&lt;br /&gt;
* Define a fallback type via the railtype table in case you want the vehicle to be available on a different track if no matching track set is loaded.&lt;br /&gt;
** Specialized subtypes like &amp;quot;n&amp;quot; might not always be available. If you want those vehicles to be still available then, fall back the the generic class (e.g. &amp;quot;N&amp;quot;).&lt;br /&gt;
; [*X**] Speed limit class &lt;br /&gt;
* Always use class A for every vehicle.&lt;br /&gt;
; [**X*] Axle load class&lt;br /&gt;
* Use all classes A through E according to the maximum axle weight of the vehicle.&lt;br /&gt;
* Extend the predefined classes only if you also provide a track set that makes use of these;&lt;br /&gt;
** When extending the predefined classes A through E, define a fallback type via the railtype table in case you want the vehicle to be available if no matching track set is loaded.&lt;br /&gt;
; [***X] Energy source type class&lt;br /&gt;
* Use the energy source type class that matches the vehicle;&lt;br /&gt;
* When using specialized classes, define a fallback type via the railtype table in case you want the vehicle to be available if no matching track set is loaded.&lt;br /&gt;
; Standard labels [RAIL, ELRL, MONO, MGLV]&lt;br /&gt;
* Define a fallback type to the standard labels via the railtype table in case you want the vehicle to be available on the standard tracks if no matching track set is loaded.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Be as specific as you want when selecting the railtype, it is the job of the track set to select a playable, reduced subset out of all possible type combinations.&lt;br /&gt;
&lt;br /&gt;
== In case you&#039;re not convinced by this scheme ==&lt;br /&gt;
Adopting this scheme gives the player freedom to use any track set in combination with any train set that follow the scheme. &lt;br /&gt;
&lt;br /&gt;
This means that you can make your train set compatible with track sets that provide axle load classes, and track sets that provide speed limits, and at the same time with track sets that provide none of this. This way, the player can decide to play with or without axle load classes, or with or without speed limits, simply by loading a track set that does or does not provide these features.&lt;br /&gt;
&lt;br /&gt;
And for your track set, it means that you can make it as simple or as complicated as you want (within the 64 track type limit), while not having to worry about compatibility with train sets.&lt;br /&gt;
&lt;br /&gt;
Still not convinced? Feel free to use railtype labels of your own, but know that you will likely come to regret that at some point in the future.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Forum topic==&lt;br /&gt;
If you want to discuss the standardized railtype scheme or have any questions about it, you can visit [http://www.tt-forums.net/viewtopic.php?t=59379 the forum topic].&lt;br /&gt;
&lt;br /&gt;
==&amp;quot;Innsbruck 2022 Convention&amp;quot; for partial compliance==&lt;br /&gt;
&lt;br /&gt;
This is really esoteric, but eh. It was the product of long discussion / debate / argument / reasoning between grf authors.&lt;br /&gt;
&lt;br /&gt;
1. The Standardized Railtype Scheme &#039;&#039;&#039;is a useful tool&#039;&#039;&#039; for providing reliable compatibility between train grfs and railtype grfs.&lt;br /&gt;
&lt;br /&gt;
2. The &#039;&#039;&#039;axle load class&#039;&#039;&#039; in the scheme presents a number of issues for compliance.&lt;br /&gt;
&lt;br /&gt;
2.1. Over 10 years since the scheme was standardised, not many train grfs implement multiple axle load classes &#039;&#039;&#039;as required by the scheme&#039;&#039;&#039;.  Known examples that &#039;&#039;&#039;do&#039;&#039;&#039; comply include Dutch Train Set, French Narrow Gauge Trains, and Finnish Trains.&lt;br /&gt;
&lt;br /&gt;
2.2. Elements of the axle load rules have proven hard to interpret.  For example:&lt;br /&gt;
&lt;br /&gt;
* is it compliant to use &#039;&#039;fewer&#039;&#039; than 5 classes in a train grf?  There is a lack of consensus on this.&lt;br /&gt;
* axle load is only one of many factors that govern whether a vehicle is compatible with a route, for example loading gauge, minimum curve, signalling types etc&lt;br /&gt;
&lt;br /&gt;
2.3. Meanwhile &#039;&#039;multiple existing train grfs use class &#039;&#039;A&#039;&#039; for the axle load for all trains&#039;&#039; (except where relying on default railtypes such as RAIL and ELRL).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3. The Innsbruck 2022 Convention uses class &#039;&#039;A&#039;&#039; for axle load for &#039;&#039;&#039;all&#039;&#039;&#039; trains in a train grf (except where relying on default railtypes such as RAIL and ELRL).&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is &#039;&#039;&#039;not&#039;&#039;&#039; fully compliant with the Standardized Railtype Scheme and does not claim to be.&lt;br /&gt;
&lt;br /&gt;
However train grfs using the Innsbruck 2022 Convention are &#039;&#039;broadly compatible&#039;&#039; with railtype grfs using the Standardized Railtype Scheme.  &lt;br /&gt;
&lt;br /&gt;
Obligatory XKCD link about &#039;standards&#039;: https://xkcd.com/927/&lt;br /&gt;
&lt;br /&gt;
===Known issues===&lt;br /&gt;
&lt;br /&gt;
Known problems are that trains using only class &#039;A&#039; may limit the ability of railtype grf authors to achieve their design goals for separating railtypes by axle load.  &lt;br /&gt;
But on reflection, it can be seen that a train grf might not be able to provide a broad enough range of vehicles to cover at least 5 axle load classes.&lt;br /&gt;
&lt;br /&gt;
3.1. The Innsbruck 2022 Convention is &#039;&#039;&#039;not&#039;&#039;&#039; appropriate for train grf authors who wish to provide more than one axle load class.&lt;br /&gt;
&lt;br /&gt;
3.2. The Innsbruck 2022 Convention treats the meaning of class &#039;&#039;A&#039;&#039; as &#039;&#039;undefined&#039;&#039;, &#039;&#039;ignored&#039;&#039; or &#039;&#039;compatible with most restricted railtype&#039;&#039; for axle load.  &lt;br /&gt;
&lt;br /&gt;
Axle load class &#039;&#039;A&#039;&#039; &#039;&#039;&#039;cannot&#039;&#039;&#039; be safely interpreted as &#039;&#039;universal&#039;&#039; because from the perspective of a railtype grf &#039;&#039;A&#039;&#039; is &#039;&#039;most restricted railtype&#039;&#039;, where &#039;&#039;universal&#039;&#039; is better represented as &#039;&#039;least restricted railtype&#039;&#039;. Depending how many axle load classes are in use by the railtype grf, this could be class &#039;&#039;B&#039;&#039;, &#039;&#039;C&#039;&#039;, &#039;&#039;D&#039;&#039;, &#039;&#039;E&#039;&#039; etc.  To illustrate this issue, take the following scenario&lt;br /&gt;
&lt;br /&gt;
* railtype grf defines axle loads &#039;&#039;A&#039;&#039; to &#039;&#039;E&#039;&#039;. In this case the railtype grf author intends that &#039;&#039;A&#039;&#039; is compatible with the smallest range of vehicles, &#039;&#039;E&#039;&#039; is compatible with the largest range of vehicles, and &#039;&#039;B&#039;&#039;, &#039;&#039;C&#039;&#039; and &#039;&#039;D&#039;&#039; are compatible with some intermediate ranges of vehicles&lt;br /&gt;
* but the vehicle grf author has defined all vehicles to be axle load &#039;&#039;A&#039;&#039; in an attempt to express this vehicle is &#039;&#039;universal&#039;&#039;.  The result in the game is that an identical range of vehicles will be compatible with railtypes &#039;&#039;A&#039;&#039; to &#039;&#039;E&#039;&#039;.  &lt;br /&gt;
&lt;br /&gt;
This is clearly &#039;&#039;&#039;not&#039;&#039;&#039; the intended outcome of the railtype author. But nor is it clear within the spec that the vehicle author has particularly done anything wrong. &lt;br /&gt;
&lt;br /&gt;
It &#039;&#039;would&#039;&#039; be possible to use railtype availability testing to adjust the vehicle property 05 (track_type) to fit the highest defined axle load (&#039;&#039;E&#039;&#039; in this example case), but this is not insignificant work, and it&#039;s unlikely to be widely adopted by vehicle grf authors.  Nor would this solution achieve &#039;&#039;universal&#039;&#039; as all vehicles in vehicle grf then would be incompatible with types &#039;&#039;A&#039;&#039; through &#039;&#039;D&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
3.3. When the Innsbruck 2022 Convention is used, this &#039;&#039;&#039;does not prevent&#039;&#039;&#039; a train grf being extended in some future release to achieve full compliance with Standardized Railtype Scheme. &#039;&#039;That choice remains with train grf authors&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
3.4. If 2012 could be revisited, providing an optional &#039;&#039;_&#039;&#039; axle load class in the Standardized Railtype Scheme for &#039;&#039;undefined&#039;&#039; would have been preferable, but as of 2022, &#039;&#039;A&#039;&#039; is already widely used for this purpose, and time travel is not known to be possible.&lt;br /&gt;
&lt;br /&gt;
==Extended multivoltage support addition==&lt;br /&gt;
These are extensions to the energy source type class currently supported by SETS and xUSSR Rails which allow trainsets to code trains which are limited to a certain selection of voltages. As stated in the energy source type class section this might not be of use for all sets, as such it is optional but still recommended for trainsets for ideal functionality with tracksets which support the extended labels.&lt;br /&gt;
{|&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Specialized energy type classes !!Vehicle set fallback&lt;br /&gt;
|-&lt;br /&gt;
|* ||Equivilent to A, a, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|&#039; ||Equivilent to A, a and D || E&lt;br /&gt;
|-&lt;br /&gt;
|^ ||Equivilent to A, a and d || E&lt;br /&gt;
|-&lt;br /&gt;
|_ ||Equivilent to A, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
|, ||Equivilent to a, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|$ ||Equivilent to A and a  || First A then E or just E&lt;br /&gt;
|-&lt;br /&gt;
|= ||Equivilent to D and d  || First D then E or just E&lt;br /&gt;
|-&lt;br /&gt;
|) ||Equivilent to A and D  || E&lt;br /&gt;
|-&lt;br /&gt;
|( ||Equivilent to A and d  || E&lt;br /&gt;
|-&lt;br /&gt;
|] ||Equivilent to a and D  || E&lt;br /&gt;
|-&lt;br /&gt;
|[ ||Equivilent to a and d  || E&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Possible additions==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;mw-collapsible mw-collapsed wikitable&amp;quot;&lt;br /&gt;
! !!Track type/gauge&lt;br /&gt;
|-&lt;br /&gt;
|_ ||Universal &amp;quot;cheat&amp;quot; rail; ALWAYS add &amp;quot;_S_-&amp;quot;, &amp;quot;_S_t and &amp;quot;_S_N&amp;quot; to EVERY [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]] (as well as the equivalent electrified/pneumatic railtype that is powered on your electrified/pneumatic railtype to support it if you are making a new railtype set, older sets can be covered by fix or patch grfs) and &amp;quot;_S_t&amp;quot; to EVERY [[NML:Railtypes#Railtype_properties|powered_railtype_list (NML)]]&lt;br /&gt;
|-&lt;br /&gt;
|0 ||(A number zero, not a letter &amp;quot;Oh&amp;quot;) No track, eyecandy-use only&lt;br /&gt;
|-&lt;br /&gt;
|U ||[https://perma.cc/93VE-8JQZ &amp;quot;Ukrainian monorail&amp;quot; or Şaropoí̈zd (Шаропоїзд)], a u-shaped concrete &amp;quot;monorail trench&amp;quot; from 1920&#039;s Soviet Union; see [https://www.tt-forums.net/viewtopic.php?f=26&amp;amp;t=47432 the Yarmanchuk Express] for graphics&lt;br /&gt;
|-&lt;br /&gt;
|1 ||Early Monorail; See [https://perma.cc/6BVS-2P2X here] and [https://perma.cc/VCG2-ATUA here]&lt;br /&gt;
|-&lt;br /&gt;
|G ||Gyrail; [https://en.wikipedia.org/wiki/Gyro_monorail Gyro monorail/Gyroscopic monorail/Gyro-stabilized monorail] for description and IRL example, and [https://wikimon.net/Trailmon here] ([https://web.archive.org/web/20240227205547/https://wikimon.net/Trailmon archived]) for good fictional examples&lt;br /&gt;
|-&lt;br /&gt;
|m ||Minimum gauge rail; [https://en.wikipedia.org/wiki/Minimum-gauge_railway 15 in (381 mm), 400 mm (15+3⁄4 in), 16 in (406 mm), 18 in (457 mm), 19 in (483 mm), 500 mm (19+3⁄4 in) or 20 in (508 mm)]&lt;br /&gt;
|-&lt;br /&gt;
|n ||600mm &amp;quot;Decauville&amp;quot; or &amp;quot;Feldsbahn&amp;quot;, formerly labelled &amp;quot;NG60&amp;quot; before standardization; the most common narrow gauge track type in OpenTTD other than metre gauge, 600mm gauge is thus ideal for taking up the &amp;quot;n&amp;quot; gauge, though this is an ultimately optional distinction&lt;br /&gt;
|-&lt;br /&gt;
|7 ||750mm, Bosnian gauge (760 mm), and 762mm; all start with 7 and are close in size&lt;br /&gt;
|-&lt;br /&gt;
|3 ||Swedish 3 foot (891 mm), 900mm, 3 foot (914 mm) and Italian Metre (950mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|R ||Metre gauge; potentially compatible with base tramtype &amp;quot;RABN&amp;quot;, most early tramways were metre gauge&lt;br /&gt;
|-&lt;br /&gt;
|4 ||4 foot gauge (1219 mm), and possibly 4&#039;6&amp;quot; in. (1372 mm) if standardization is needed for 1372mm&lt;br /&gt;
|-&lt;br /&gt;
|s ||Scotch gauge (1372 mm)&lt;br /&gt;
|-&lt;br /&gt;
|S ||Standard gauge; already implemented in original standardized railtype scheme, but could include near-standard (1432 mm) as well as existing true standard (1435 mm) and is also potentially compatible with the SABN tramtype&lt;br /&gt;
|-&lt;br /&gt;
|X ||Omni-gauge rail (for at-grade multi-gauge crossings and stations); ultrabroad/secondary broad/primary broad/standard/primary narrow/secondary narrow gauge&lt;br /&gt;
|-&lt;br /&gt;
|x ||Multi-gauge rail (for at-grade multi-gauge crossings and stations); secondary broad/primary broad/standard/primary narrow/secondary narrow&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;+&amp;lt;/nowiki&amp;gt; ||Quad-gauge (Four-gauge) rail (for at-grade multi-gauge crossings and stations); secondary broad/primary broad/standard/primary narrow&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt; ||Four-gauge rail (for at-grade multi-gauge crossings and stations); primary broad/standard/primary narrow/secondary narrow&lt;br /&gt;
|-&lt;br /&gt;
|b ||Broad gauge rail - As broad gauge is a rare tracktype, it may still be feasible to cement B and b as broad gauges of two differing sizes, but the rarity among gauges in the real world would need to match; Italian (1445 mm) and Dresden (1450 mm) gauges may be better grouped here&lt;br /&gt;
|-&lt;br /&gt;
|t ||Leipzig trams (1458 mm) and Greater Toronto Area streetcars (1495 mm)&lt;br /&gt;
|-&lt;br /&gt;
|5 ||1520mm and 5 foot (1524 mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|V ||Pennsylvanian (1581 mm and 1588 mm) and Australian &amp;quot;Victorian&amp;quot; (1600 mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|6 ||6 foot (1829 mm) broad gauge&lt;br /&gt;
|-&lt;br /&gt;
|g ||Brunel&#039;s Great Western Railway gauge (2140 mm)&lt;br /&gt;
|-&lt;br /&gt;
|B ||Biggest Broad gauge rail - As broad gauge is a rare tracktype, and the variation in common real life track types too wide, it may be desirable to cement B and b as broad gauges of two differing sizes; With no real life examples that match the usage frequency of &amp;quot;B&amp;quot;, the gauge might best draw inspiration from the infamous [https://en.wikipedia.org/wiki/Breitspurbahn Breitspurbahn] (3000 mm) and [https://perma.cc/KQ2Z-5RCR the never-built vehicles designed for it], or from the [https://en.wikipedia.org/wiki/Brighton_and_Rottingdean_Seashore_Electric_Railway Brighton &amp;amp; Rottingdean Seashore Electric Railway] (18 ft/5,486 mm) &lt;br /&gt;
|-&lt;br /&gt;
|L ||Maglevs that have a u-shaped track&lt;br /&gt;
|-&lt;br /&gt;
|T ||Maglevs that have a monorail track&lt;br /&gt;
|-&lt;br /&gt;
|F ||Flightrail; A [https://web.archive.org/web/20231213122530/http://www.flightrail.com/ system capable of high speeds and steep hill grades] that uses a pneumatic pipe for propulsion (see &amp;quot;P&amp;quot; under energy sources), and &#039;&#039;wheels pointed inwards at a 45-degree angle&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
It might be preferred to instead use/keep &amp;quot;B&amp;quot; for &amp;quot;all (current) broad gauges&amp;quot; (mostly Victorian gauge) instead using lowercase &amp;quot;b&amp;quot; for Brunel/GWR broad gauge. This wouldn&#039;t be to different from narrow gauge since the lesser used ones are lowercase and fallback to the uppercase ones.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;mw-collapsible mw-collapsed wikitable&amp;quot;&lt;br /&gt;
! !!Electrification !!Fallback !!Notes&lt;br /&gt;
|-&lt;br /&gt;
|1 ||Unspecified monorail electrification |||MONO (the whole label) ||&lt;br /&gt;
|-&lt;br /&gt;
|S ||Maglevs that use a synchronous linear motor ||N/A ||&lt;br /&gt;
|-&lt;br /&gt;
|I ||Maglevs that use a linear induction motor ||MGLV (the whole label) ||&lt;br /&gt;
|-&lt;br /&gt;
|V ||Vactrains/Hyperloop ||t, then I, then MGLV (the whole label) ||&lt;br /&gt;
|-&lt;br /&gt;
|t ||&amp;quot;Universal custom tunnel&amp;quot; (for diagonal sub-surface &amp;quot;rail tunnels&amp;quot; that use decorative track types to complete the illusion) ||c, then p, then 7, then U (mandatory) ||&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt; ||Universal energy type (&#039;&#039;not&#039;&#039; meant to replace &amp;quot;***N&amp;quot;; use for vehicles such as driving cabs which cannot move under their own power regardless, if desired) ||N/A (Be sure to put &amp;quot;***E&amp;quot; in the [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]] of a &amp;quot;***-&amp;quot; label) ||(&#039;&#039;Do not give a fallback or use for railtypes, this is for unpowered &amp;quot;locomotives&amp;quot; only!&#039;&#039;)&lt;br /&gt;
|-&lt;br /&gt;
|5 ||750v DC Outer 3rd Rail (&amp;quot;MTRO&amp;quot; or &amp;quot;SA_3&amp;quot;) and 630v DC Inner 3rd/4th Rail; a total of 5 rails (2 for wheels, 3 for electricity), plausible in the London Underground network ||3 or 4 ||&lt;br /&gt;
|-&lt;br /&gt;
|U ||750v DC Outer 3rd Rail (&amp;quot;MTRO&amp;quot; or &amp;quot;SA_3&amp;quot;), 630v DC Inner 3rd/4th Rail and universal catenary (SAEE); a total of 5 rails (2 for wheels, 3 for electricity) if only one gauge, plausible in the London Underground network and an &amp;quot;ultimate&amp;quot; dual rail electrification without being a cheat (make it expensive or toggle-able?) as SAEU or as XAEU (universal dual rail electrified tracks) ||E ||&lt;br /&gt;
|-&lt;br /&gt;
|7 ||750v DC Outer 3rd Rail (&amp;quot;MTRO&amp;quot; or &amp;quot;SA_3&amp;quot;), 630v DC Inner 3rd/4th Rail, Three-phase AC (SA_T) 3rd/4th rail &amp;amp; catenary, and universal catenary (SA_E); a total of 7 rails (2 for wheels, 5 for electricity) if only one gauge, a truly universal dual rail electrification without being impossible (make it VERY expensive or toggle-able so it isn&#039;t cheat-y?) as SAE7, XAE7 or even as XRE7 (combination of ALL two-rail track gauges with universally-compatible electrification including an outer 3rd rail and a paired set of inner 3rd/4th rails, and a rack rail in the exact center; improbable, but not physically impossible) ||U ||&lt;br /&gt;
|-&lt;br /&gt;
|P ||Pneumatic tube with physical piston slit, or closed pneumatic tube with magnetic piston (i.e. that used by [https://web.archive.org/web/20231213122530/http://www.flightrail.com/ Flightrail]) ||N/A ||&lt;br /&gt;
|-&lt;br /&gt;
|p ||Pneumatic and universal electrical power ||P or 7 (Be sure to put &amp;quot;***_&amp;quot; and ***P&amp;quot; in the [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]] of a &amp;quot;***p&amp;quot; label) || XREp is a combination of ALL two-rail track gauges with improbably high axle load with universally-compatible electrification including an outer 3rd rail and a paired set of inner 3rd/4th rails, and a rack rail in the exact center; improbable, but not physically impossible)&lt;br /&gt;
|-&lt;br /&gt;
|c ||Cheat electrification type; use solely for the &amp;quot;_R_c&amp;quot; and &amp;quot;_R_t&amp;quot; railtype labels specifically (runs everything if coded properly), the latter (&amp;quot;_R_t&amp;quot;) is for tunnels, while the former (&amp;quot;_R_c&amp;quot;) is for &amp;quot;cheat rail upgrade&amp;quot; newgrfs ||p, then 7, then U, then E, then N, then &amp;quot;SA_-&amp;quot; (the whole label) ||&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Lurkmore</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=Standardized_Railtype_Scheme&amp;diff=4772</id>
		<title>Standardized Railtype Scheme</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=Standardized_Railtype_Scheme&amp;diff=4772"/>
		<updated>2024-04-04T17:44:38Z</updated>

		<summary type="html">&lt;p&gt;Lurkmore: /* Possible additions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This railtype label scheme aims to bring order to the uncontrolled growth of railtype labels. It groups the rail types into what matters from a technical perspective. The scheme provides a standardized way of defining railtype labels, based on track gauge and type, speed class, allowable axle weight and electrification type.&lt;br /&gt;
&lt;br /&gt;
It is the explicit intent of this scheme to decouple track sets from vehicle sets to facilitate easy mixing. This way the player can select a track set of choice to go with a train set of choice. It allows the player to play with or without axle load classes, or with or without speed limit classes, simply by loading a track set that does or does not provide these features. In some cases it will also be possible to combine niche track sets, for instance a standard gauge track set with a narrow gauge and a metro track set.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== The Label Scheme ==&lt;br /&gt;
A railtype label consists of four characters. In this scheme, each position has a different purpose:&lt;br /&gt;
# Track gauge and type class (e.g. standard gauge rail, narrow gauge rail, monorail)&lt;br /&gt;
# Speed limit class&lt;br /&gt;
# Axle load class (maximum allowed axle weight for this track)&lt;br /&gt;
# Energy source type class&lt;br /&gt;
&lt;br /&gt;
In the next sections, each of the four positions will be explained.&lt;br /&gt;
&lt;br /&gt;
=== Track gauge and type class [X***] ===&lt;br /&gt;
The first position in the railtype label defines track gauge and/or track type class. The following classes are currently defined:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Track type/gauge&lt;br /&gt;
|- &lt;br /&gt;
|S ||Standard gauge rail&lt;br /&gt;
|-&lt;br /&gt;
|B ||Broad gauge rail &lt;br /&gt;
|-&lt;br /&gt;
|N ||Narrow gauge rail&lt;br /&gt;
|-&lt;br /&gt;
|n ||Secondary narrow gauge rail (e.g. when providing both metre and cape gauge, always use N in case of just one type of narrow gauge)&lt;br /&gt;
|-&lt;br /&gt;
|D ||Dual gauge rail, standard/broad gauge&lt;br /&gt;
|-&lt;br /&gt;
|d ||Dual gauge rail, standard/narrow gauge&lt;br /&gt;
|-&lt;br /&gt;
|M ||Monorail&lt;br /&gt;
|-&lt;br /&gt;
|L ||Magnetic Levitation&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Speed limit class [*X**] ===&lt;br /&gt;
The second position in the railtype label defines the speed limit class. These classes do not map to a fixed numeric value, but are used to define an internal speed limit order for the track set. This means that if your track set has two different speed limits for track types that are otherwise identical, you&#039;ll use letters A and B here. In case of three different speed limits, use A, B and C. In case your track set does not employ speed limits, always use A. Train sets do not care about the speed limit, and will always set the lowest speed class, i.e. A.&lt;br /&gt;
&lt;br /&gt;
This gives for instance the following options:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||no speed limits&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;OR&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||low speed&lt;br /&gt;
|-&lt;br /&gt;
|B ||high speed&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;OR&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||low speed&lt;br /&gt;
|-&lt;br /&gt;
|B ||medium speed&lt;br /&gt;
|-&lt;br /&gt;
|C ||high speed&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;etc.&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear:left;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The speed limit class may also be used for some advanced features of the label scheme, like specialized track types and eyecandy purposes. Be careful not to break the compatibility with other sets when using the speed limit class for these purposes.&lt;br /&gt;
&lt;br /&gt;
An example of a special use is rack rail. In the French set it is used to give rack rail engines a higher speed and TE than normal rail engines when used on rack rail. When defining trains with a special speed limit class, always allow a fallback to speed limit class A via the railtype table.&lt;br /&gt;
&lt;br /&gt;
An example of eyecandy use are urban tracks. These are a variation of regular tracks, but with concrete ground tiles to better match the urban environment. Train sets must not define vehicles for eyecandy classes. If you think you have special vehicles that should only run on the eyecandy class, it is &#039;&#039;not&#039;&#039; eyecandy but a separate track gauge/type.&lt;br /&gt;
&lt;br /&gt;
The following special and eyecandy classes have been defined so far:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Description !!Type !!Used by&lt;br /&gt;
|- &lt;br /&gt;
|A-H ||speed limits ||colspan=&amp;quot;2&amp;quot;| reserved&lt;br /&gt;
|- &lt;br /&gt;
|R ||rack rail, that allows this vehicle to not slow down going uphill ||special ||French Set Rails&lt;br /&gt;
|- &lt;br /&gt;
|S ||subterranean ||eyecandy ||Metro Track Set&lt;br /&gt;
|- &lt;br /&gt;
|U ||urban ||eyecandy ||Metro Track Set&lt;br /&gt;
|}&lt;br /&gt;
Rack rail needs a bit greater of a explanation, idealy it would be coded in a way where both Pure rack and Rack-and-adhesion systems are supported.&lt;br /&gt;
This can be achieved by making regular tracks powered on rackrail without the opposite being true. This means vehicles defined for NRAN can&#039;t go on NAAN (like a pure rack system) but NAAN vehicles can go on NRAN (like a rack-and-adhesion system). Currently French Set Rails implements compatiblility both ways which makes pure rack systems impossible.&lt;br /&gt;
&lt;br /&gt;
=== Axle load class [**X*] ===&lt;br /&gt;
The third position defines the axle weight limit. Heavy trains cannot run on tracks with a low axle weight limit; these trains need more expensive tracks with a heigher weight limit. There are five axle load classes &#039;&#039;&#039;A&#039;&#039;&#039; through &#039;&#039;&#039;E&#039;&#039;&#039;. &#039;&#039;&#039;A&#039;&#039;&#039; is for the lowest axle load limit, &#039;&#039;&#039;E&#039;&#039;&#039; for the highest. The exact axle load attached to each class is relative to the track gauge/type and trains in the set. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A train set should set the appropriate axle weight for each train via the railtype label, as to make the set work with track sets that do provide tracks with different weight limits, even if you don&#039;t care about it for your trainset. Split all vehicles of a certain track gauge/type into five groups of similar axle weight. The group with the lowest axle weights will get class &#039;&#039;&#039;A&#039;&#039;&#039;, the second lowest class &#039;&#039;&#039;B&#039;&#039;&#039;, etc. up to the group with the highest axle weights which will get class &#039;&#039;&#039;E&#039;&#039;&#039;. Do the same for the other track gauge/types if your train set has those.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A track set does not have to provide a dedicated track type for each axle weight limit. A track set that does not provide a dedicated track for each axle load class, must make sure to map all undefined axle load classes to a real railtype using property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]]. This way a train set can rely on all labels for all axle load classes being available. Example: if you only want to provide 2 axle load classes for standard gauge unelectrified with no speed limits, you can map SA&#039;&#039;&#039;A&#039;&#039;&#039;N + SA&#039;&#039;&#039;B&#039;&#039;&#039;N to SA&#039;&#039;&#039;C&#039;&#039;&#039;N and SA&#039;&#039;&#039;D&#039;&#039;&#039;N to SA&#039;&#039;&#039;E&#039;&#039;&#039;N if the cost difference between the two railtypes is high, or SA&#039;&#039;&#039;A&#039;&#039;&#039;N to SA&#039;&#039;&#039;B&#039;&#039;&#039;N and SA&#039;&#039;&#039;C&#039;&#039;&#039;N + SA&#039;&#039;&#039;D&#039;&#039;&#039;N to SA&#039;&#039;&#039;E&#039;&#039;&#039;N if the cost difference is low.&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t want to provide any axle load classes in your track set, it doesn&#039;t really matter what axle load class you choose for the track, as you&#039;ll be mapping all other classes to this track anyways. But the lowest or highest class are the obvious choice. Example: if your track set only provides narrow gauge unelectrified track with no speed limits and no axle load limits, you may use NA&#039;&#039;&#039;A&#039;&#039;&#039;N for the track label, and provide NA&#039;&#039;&#039;B&#039;&#039;&#039;N, NA&#039;&#039;&#039;C&#039;&#039;&#039;N, NA&#039;&#039;&#039;D&#039;&#039;&#039;N, NA&#039;&#039;&#039;E&#039;&#039;&#039;N in property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you need more than five axle load class, you may use lowercase letters for very low axle loads and continue the uppercase letters for very high axle loads. Be advised that your train set may not assume the existance of any other class than &#039;&#039;&#039;A&#039;&#039;&#039; through &#039;&#039;&#039;E&#039;&#039;&#039;, so when the range make sure to program your railtype table such that trains with such a class will fall back to class &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;E&#039;&#039;&#039;. If you make a track set with an extended range, be aware that not all train sets will define trains for these tracks. In general: only do this in case of a train set with a matching track set.&lt;br /&gt;
&lt;br /&gt;
For the lowercase letters, &#039;&#039;&#039;b&#039;&#039;&#039; is lower than &#039;&#039;&#039;a&#039;&#039;&#039;, so for increasing axle load limits: b &amp;lt; a &amp;lt; A &amp;lt; B &amp;lt; C etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that the axle load classes never map to a specific weight in tonnes. For that reason it does not make sense to add a numeric value for the axle load to the name of a track type or in the extended purchase info of a train. Instead use the relative expressions &#039;very low&#039;, &#039;low&#039;, &#039;medium&#039;, &#039;high&#039; and &#039;very high&#039; or use the class letters directly.&lt;br /&gt;
&lt;br /&gt;
If a guideline is needed for updating a set to use axle loads in a train set where they don&#039;t yet exist, the following might serve as a basic &amp;quot;generic&amp;quot; guideline...&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&lt;br /&gt;
! !!Indefinite !!Generic !! First usage&lt;br /&gt;
|-&lt;br /&gt;
|c ||Horse-drawn Wagonway ||1 metric tonne (1000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|1594&lt;br /&gt;
|-&lt;br /&gt;
|b ||Iron Plateway ||1 metric tonne (1000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|1799&lt;br /&gt;
|-&lt;br /&gt;
|a ||Prototype Rails ||5 metric tonnes (5000kg) per axle; Because reserved by examples || style=&amp;quot;text-align:right;&amp;quot;|1820&lt;br /&gt;
|-&lt;br /&gt;
|A ||Very Low (2012 OG Default)||10 metric tonnes (10000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|1828&lt;br /&gt;
|-&lt;br /&gt;
|B ||Low (2024 &amp;quot;New&amp;quot; Default) ||20 metric tonnes (20000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|1968&lt;br /&gt;
|-&lt;br /&gt;
|C ||Medium ||30 metric tonnes (30000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|~1978&lt;br /&gt;
|-&lt;br /&gt;
|D ||High ||40 metric tonnes (40000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|1988&lt;br /&gt;
|-&lt;br /&gt;
|E ||Very High ||50 metric tonnes (50000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|2008&lt;br /&gt;
|-&lt;br /&gt;
|F ||Future-proofing ||No limit per axle (update in 2030 or so?) || style=&amp;quot;text-align:right;&amp;quot;|~2028&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Energy source type class [***X] ===&lt;br /&gt;
The last position defines the energy source type class. This is split in generic energy source types like overhead wires and third rail and specialized types like alternating and direct current.&lt;br /&gt;
&lt;br /&gt;
A track set that only uses specialized types, should map the generic types to the most suitable specialized type in the set.&lt;br /&gt;
&lt;br /&gt;
A vehicle set that uses specialized types should define a generic type as fallback, via the railtype table. If such a fallback is omitted, please note that certain vehicles may be unavailable depending on track set loaded.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Generic energy type classes&lt;br /&gt;
|-&lt;br /&gt;
|N ||no electrification&lt;br /&gt;
|-&lt;br /&gt;
|E ||overhead wires/catenary electrification&lt;br /&gt;
|-&lt;br /&gt;
|3 ||3rd rail electrification&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Specialized energy type classes !!Vehicle set fallback&lt;br /&gt;
|-&lt;br /&gt;
|Z ||3rd rail and catenary electrification || 3 or E&lt;br /&gt;
|-&lt;br /&gt;
|4 ||4th rail electrification || 3&lt;br /&gt;
|-&lt;br /&gt;
|Y ||4th rail and catenary electrification || 4 or E&lt;br /&gt;
|-&lt;br /&gt;
|T ||[http://en.wikipedia.org/wiki/Three-phase_AC_railway_electrification three phase AC electrification] || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|D ||DC catenary electrification || E&lt;br /&gt;
|-&lt;br /&gt;
|d ||low voltage DC catenary electrification (only when D also used in set) || First A then E&lt;br /&gt;
|-&lt;br /&gt;
|A ||AC catenary electrification || E&lt;br /&gt;
|-&lt;br /&gt;
|a ||low voltage AC catenary electrification (only when A also used in set) || First A then E&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
If you want multi-voltage/current vehicles in your set (i.e. a train that can run on both AC and DC current), you have to define a dedicated railtype for those vehicles. Without the railtype, it&#039;s not possible to define vehicles with this property. If you only have vehicles that can run on either one type of voltage/current or on all types of voltage/current (e.g. a 2-system if you only have &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;D&#039;&#039;&#039; tracks, or a 4-system in case of all &#039;&#039;&#039;A&#039;&#039;&#039;, &#039;&#039;&#039;a&#039;&#039;&#039;, &#039;&#039;&#039;D&#039;&#039;&#039; and &#039;&#039;&#039;d&#039;&#039;&#039;), then use the generic class &#039;&#039;&#039;E&#039;&#039;&#039; for vehicles that should be able to run on all different voltage/currents. Also the track set needs to have one at least one railtype with class &#039;&#039;&#039;E&#039;&#039;&#039; defined.&lt;br /&gt;
&lt;br /&gt;
Note that if you want more than one type of multi-voltage/current, you&#039;ll quickly get a combinatory explosion of railtype labels, so plan carefully or do not attempt it. For every different multi-voltage/current vehicle type a dedicated railtype is needed. If you want all possible combinations, then you need to define an additional 8 classes. It is not recommended to make your train/track set this complicated.&lt;br /&gt;
&lt;br /&gt;
Example approach for a 4-system set, with trains that can run on either one or all systems:&lt;br /&gt;
* &#039;&#039;&#039;E&#039;&#039;&#039;: generic catenary-powered electric engines. &amp;quot;universal&amp;quot; [4-system] if any of &#039;&#039;&#039;D&#039;&#039;&#039;/&#039;&#039;&#039;d&#039;&#039;&#039;/&#039;&#039;&#039;A&#039;&#039;&#039;/&#039;&#039;&#039;a&#039;&#039;&#039; are defined.&lt;br /&gt;
* &#039;&#039;&#039;A&#039;&#039;&#039;: generic AC catenary electric engines. 25kV only if &#039;&#039;&#039;a&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;A&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;a&#039;&#039;&#039;: 15kV AC catenary electric engines. Only defined if &#039;&#039;&#039;A&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;a&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;D&#039;&#039;&#039;: generic DC catenary electric engines. 3kV if &#039;&#039;&#039;d&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;D&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;d&#039;&#039;&#039;: 1.5kV DC catenary electric engines. Only defined if &#039;&#039;&#039;D&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;D&#039;&#039;&#039; and &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;d&#039;&#039;&#039;.&lt;br /&gt;
For a 2-system set, you can simply drop &#039;&#039;&#039;a&#039;&#039;&#039; and &#039;&#039;&#039;d&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Standard labels: RAIL, ELRL, MONO, MGLV ===&lt;br /&gt;
It&#039;s not possible to undefine the standard railtypes RAIL, ELRL, MONO and MGLV. The game will always add those if there are vehicles defined for these track types. As a result, for a track set it&#039;s best not to ignore those standard labels, but rather work with them and define them in the set. If your track set does not have monorail or maglev tracks, there of course is no need to define those. But if your track set defines anything that resembles unelectrified or electrified rail, you should use the RAIL and ELRL labels. Matching labels from the above scheme will then be defined in property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
As vehicles from NewGRFs that do not use explicit railtypes will end up on these standard railtypes, you should use RAIL instead of whatever type could be regarded as the most commonly used unelectrified type, ELRL instead of the most commonly used electrified type and so on. The label according to this scheme is then set as an alternate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Summary for track sets ==&lt;br /&gt;
This section summarizes the above for track sets.&lt;br /&gt;
&lt;br /&gt;
; [X***] Track gauge and type class&lt;br /&gt;
* Define at least one track type for every track gauge/type class you want in your set.&lt;br /&gt;
* If you only provide tracks for one gauge/type, consider leaving some free railtypes so a player can load an additional set for some other type.&lt;br /&gt;
; [*X**] Speed limit class&lt;br /&gt;
* Make sure class A is always available, either directly or via an alternate label.&lt;br /&gt;
* Use only class A if you don&#039;t want speed limits;&lt;br /&gt;
* With speed limits, A is the lowest speed limit. Continue with B, C, etc. for increasing speed limits;&lt;br /&gt;
* The speed class can also be used to implement additional eye-candy track types, use letters higher in the alphabet for this.&lt;br /&gt;
; [**X*] Axle load class&lt;br /&gt;
* Always define all classes A through E for every track type class / electrification combination, either:&lt;br /&gt;
** Directly via a real railtype definition;&lt;br /&gt;
** Indirectly via the alternate rail type label list, property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
* Extend the predefined classes only if you also provide a train set that makes use of these.&lt;br /&gt;
; [***X] Energy source type class&lt;br /&gt;
* If your set only uses specialized classes, always map the generic classes to the closest matching specialized type via property 1D.&lt;br /&gt;
; Standard labels [RAIL, ELRL, MONO, MGLV]&lt;br /&gt;
* Always define the standard labels when possible, instead of what would be the equivalent of the standard label in this scheme.&lt;br /&gt;
* Map the equivalent labels from this scheme to the standard labels using property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
Or, put differently, for each gauge/type, select one or more energy source types. For each type/energy combination provide all axle load classes for the speed class &amp;quot;A&amp;quot;, either as a real type or as an alternate of another type. Provide more types with a different speed letter if you want to provide several different speeds or other eye-candy tracks.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Summary for train sets ==&lt;br /&gt;
This section summarizes the above for train sets.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; [X***] Track gauge and type class&lt;br /&gt;
* Use the track type class that matches the vehicle;&lt;br /&gt;
* Define a fallback type via the railtype table in case you want the vehicle to be available on a different track if no matching track set is loaded.&lt;br /&gt;
** Specialized subtypes like &amp;quot;n&amp;quot; might not always be available. If you want those vehicles to be still available then, fall back the the generic class (e.g. &amp;quot;N&amp;quot;).&lt;br /&gt;
; [*X**] Speed limit class &lt;br /&gt;
* Always use class A for every vehicle.&lt;br /&gt;
; [**X*] Axle load class&lt;br /&gt;
* Use all classes A through E according to the maximum axle weight of the vehicle.&lt;br /&gt;
* Extend the predefined classes only if you also provide a track set that makes use of these;&lt;br /&gt;
** When extending the predefined classes A through E, define a fallback type via the railtype table in case you want the vehicle to be available if no matching track set is loaded.&lt;br /&gt;
; [***X] Energy source type class&lt;br /&gt;
* Use the energy source type class that matches the vehicle;&lt;br /&gt;
* When using specialized classes, define a fallback type via the railtype table in case you want the vehicle to be available if no matching track set is loaded.&lt;br /&gt;
; Standard labels [RAIL, ELRL, MONO, MGLV]&lt;br /&gt;
* Define a fallback type to the standard labels via the railtype table in case you want the vehicle to be available on the standard tracks if no matching track set is loaded.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Be as specific as you want when selecting the railtype, it is the job of the track set to select a playable, reduced subset out of all possible type combinations.&lt;br /&gt;
&lt;br /&gt;
== In case you&#039;re not convinced by this scheme ==&lt;br /&gt;
Adopting this scheme gives the player freedom to use any track set in combination with any train set that follow the scheme. &lt;br /&gt;
&lt;br /&gt;
This means that you can make your train set compatible with track sets that provide axle load classes, and track sets that provide speed limits, and at the same time with track sets that provide none of this. This way, the player can decide to play with or without axle load classes, or with or without speed limits, simply by loading a track set that does or does not provide these features.&lt;br /&gt;
&lt;br /&gt;
And for your track set, it means that you can make it as simple or as complicated as you want (within the 64 track type limit), while not having to worry about compatibility with train sets.&lt;br /&gt;
&lt;br /&gt;
Still not convinced? Feel free to use railtype labels of your own, but know that you will likely come to regret that at some point in the future.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Forum topic==&lt;br /&gt;
If you want to discuss the standardized railtype scheme or have any questions about it, you can visit [http://www.tt-forums.net/viewtopic.php?t=59379 the forum topic].&lt;br /&gt;
&lt;br /&gt;
==&amp;quot;Innsbruck 2022 Convention&amp;quot; for partial compliance==&lt;br /&gt;
&lt;br /&gt;
This is really esoteric, but eh. It was the product of long discussion / debate / argument / reasoning between grf authors.&lt;br /&gt;
&lt;br /&gt;
1. The Standardized Railtype Scheme &#039;&#039;&#039;is a useful tool&#039;&#039;&#039; for providing reliable compatibility between train grfs and railtype grfs.&lt;br /&gt;
&lt;br /&gt;
2. The &#039;&#039;&#039;axle load class&#039;&#039;&#039; in the scheme presents a number of issues for compliance.&lt;br /&gt;
&lt;br /&gt;
2.1. Over 10 years since the scheme was standardised, not many train grfs implement multiple axle load classes &#039;&#039;&#039;as required by the scheme&#039;&#039;&#039;.  Known examples that &#039;&#039;&#039;do&#039;&#039;&#039; comply include Dutch Train Set, French Narrow Gauge Trains, and Finnish Trains.&lt;br /&gt;
&lt;br /&gt;
2.2. Elements of the axle load rules have proven hard to interpret.  For example:&lt;br /&gt;
&lt;br /&gt;
* is it compliant to use &#039;&#039;fewer&#039;&#039; than 5 classes in a train grf?  There is a lack of consensus on this.&lt;br /&gt;
* axle load is only one of many factors that govern whether a vehicle is compatible with a route, for example loading gauge, minimum curve, signalling types etc&lt;br /&gt;
&lt;br /&gt;
2.3. Meanwhile &#039;&#039;multiple existing train grfs use class &#039;&#039;A&#039;&#039; for the axle load for all trains&#039;&#039; (except where relying on default railtypes such as RAIL and ELRL).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3. The Innsbruck 2022 Convention uses class &#039;&#039;A&#039;&#039; for axle load for &#039;&#039;&#039;all&#039;&#039;&#039; trains in a train grf (except where relying on default railtypes such as RAIL and ELRL).&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is &#039;&#039;&#039;not&#039;&#039;&#039; fully compliant with the Standardized Railtype Scheme and does not claim to be.&lt;br /&gt;
&lt;br /&gt;
However train grfs using the Innsbruck 2022 Convention are &#039;&#039;broadly compatible&#039;&#039; with railtype grfs using the Standardized Railtype Scheme.  &lt;br /&gt;
&lt;br /&gt;
Obligatory XKCD link about &#039;standards&#039;: https://xkcd.com/927/&lt;br /&gt;
&lt;br /&gt;
===Known issues===&lt;br /&gt;
&lt;br /&gt;
Known problems are that trains using only class &#039;A&#039; may limit the ability of railtype grf authors to achieve their design goals for separating railtypes by axle load.  &lt;br /&gt;
But on reflection, it can be seen that a train grf might not be able to provide a broad enough range of vehicles to cover at least 5 axle load classes.&lt;br /&gt;
&lt;br /&gt;
3.1. The Innsbruck 2022 Convention is &#039;&#039;&#039;not&#039;&#039;&#039; appropriate for train grf authors who wish to provide more than one axle load class.&lt;br /&gt;
&lt;br /&gt;
3.2. The Innsbruck 2022 Convention treats the meaning of class &#039;&#039;A&#039;&#039; as &#039;&#039;undefined&#039;&#039;, &#039;&#039;ignored&#039;&#039; or &#039;&#039;compatible with most restricted railtype&#039;&#039; for axle load.  &lt;br /&gt;
&lt;br /&gt;
Axle load class &#039;&#039;A&#039;&#039; &#039;&#039;&#039;cannot&#039;&#039;&#039; be safely interpreted as &#039;&#039;universal&#039;&#039; because from the perspective of a railtype grf &#039;&#039;A&#039;&#039; is &#039;&#039;most restricted railtype&#039;&#039;, where &#039;&#039;universal&#039;&#039; is better represented as &#039;&#039;least restricted railtype&#039;&#039;. Depending how many axle load classes are in use by the railtype grf, this could be class &#039;&#039;B&#039;&#039;, &#039;&#039;C&#039;&#039;, &#039;&#039;D&#039;&#039;, &#039;&#039;E&#039;&#039; etc.  To illustrate this issue, take the following scenario&lt;br /&gt;
&lt;br /&gt;
* railtype grf defines axle loads &#039;&#039;A&#039;&#039; to &#039;&#039;E&#039;&#039;. In this case the railtype grf author intends that &#039;&#039;A&#039;&#039; is compatible with the smallest range of vehicles, &#039;&#039;E&#039;&#039; is compatible with the largest range of vehicles, and &#039;&#039;B&#039;&#039;, &#039;&#039;C&#039;&#039; and &#039;&#039;D&#039;&#039; are compatible with some intermediate ranges of vehicles&lt;br /&gt;
* but the vehicle grf author has defined all vehicles to be axle load &#039;&#039;A&#039;&#039; in an attempt to express this vehicle is &#039;&#039;universal&#039;&#039;.  The result in the game is that an identical range of vehicles will be compatible with railtypes &#039;&#039;A&#039;&#039; to &#039;&#039;E&#039;&#039;.  &lt;br /&gt;
&lt;br /&gt;
This is clearly &#039;&#039;&#039;not&#039;&#039;&#039; the intended outcome of the railtype author. But nor is it clear within the spec that the vehicle author has particularly done anything wrong. &lt;br /&gt;
&lt;br /&gt;
It &#039;&#039;would&#039;&#039; be possible to use railtype availability testing to adjust the vehicle property 05 (track_type) to fit the highest defined axle load (&#039;&#039;E&#039;&#039; in this example case), but this is not insignificant work, and it&#039;s unlikely to be widely adopted by vehicle grf authors.  Nor would this solution achieve &#039;&#039;universal&#039;&#039; as all vehicles in vehicle grf then would be incompatible with types &#039;&#039;A&#039;&#039; through &#039;&#039;D&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
3.3. When the Innsbruck 2022 Convention is used, this &#039;&#039;&#039;does not prevent&#039;&#039;&#039; a train grf being extended in some future release to achieve full compliance with Standardized Railtype Scheme. &#039;&#039;That choice remains with train grf authors&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
3.4. If 2012 could be revisited, providing an optional &#039;&#039;_&#039;&#039; axle load class in the Standardized Railtype Scheme for &#039;&#039;undefined&#039;&#039; would have been preferable, but as of 2022, &#039;&#039;A&#039;&#039; is already widely used for this purpose, and time travel is not known to be possible.&lt;br /&gt;
&lt;br /&gt;
==Extended multivoltage support addition==&lt;br /&gt;
These are extensions to the energy source type class currently supported by SETS and xUSSR Rails which allow trainsets to code trains which are limited to a certain selection of voltages. As stated in the energy source type class section this might not be of use for all sets, as such it is optional but still recommended for trainsets for ideal functionality with tracksets which support the extended labels.&lt;br /&gt;
{|&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Specialized energy type classes !!Vehicle set fallback&lt;br /&gt;
|-&lt;br /&gt;
|* ||Equivilent to A, a, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|&#039; ||Equivilent to A, a and D || E&lt;br /&gt;
|-&lt;br /&gt;
|^ ||Equivilent to A, a and d || E&lt;br /&gt;
|-&lt;br /&gt;
|_ ||Equivilent to A, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
|, ||Equivilent to a, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|$ ||Equivilent to A and a  || First A then E or just E&lt;br /&gt;
|-&lt;br /&gt;
|= ||Equivilent to D and d  || First D then E or just E&lt;br /&gt;
|-&lt;br /&gt;
|) ||Equivilent to A and D  || E&lt;br /&gt;
|-&lt;br /&gt;
|( ||Equivilent to A and d  || E&lt;br /&gt;
|-&lt;br /&gt;
|] ||Equivilent to a and D  || E&lt;br /&gt;
|-&lt;br /&gt;
|[ ||Equivilent to a and d  || E&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Possible additions==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;mw-collapsible mw-collapsed wikitable&amp;quot;&lt;br /&gt;
! !!Track type/gauge&lt;br /&gt;
|-&lt;br /&gt;
|_ ||Universal &amp;quot;cheat&amp;quot; rail; ALWAYS add &amp;quot;_A_-&amp;quot;, &amp;quot;_A_t and &amp;quot;_A_N&amp;quot; to EVERY [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]] (as well as the equivalent electrified/pneumatic railtype that is powered on your electrified/pneumatic railtype to support it if you are making a new railtype set, older sets can be covered by fix or patch grfs) and &amp;quot;_A_t&amp;quot; to EVERY [[NML:Railtypes#Railtype_properties|powered_railtype_list (NML)]]&lt;br /&gt;
|-&lt;br /&gt;
|0 ||(A number zero, not a letter &amp;quot;Oh&amp;quot;) No track, eyecandy-use only&lt;br /&gt;
|-&lt;br /&gt;
|U ||[https://perma.cc/93VE-8JQZ &amp;quot;Ukrainian monorail&amp;quot; or Şaropoí̈zd (Шаропоїзд)], a u-shaped concrete &amp;quot;monorail trench&amp;quot; from 1920&#039;s Soviet Union; see [https://www.tt-forums.net/viewtopic.php?f=26&amp;amp;t=47432 the Yarmanchuk Express] for graphics&lt;br /&gt;
|-&lt;br /&gt;
|1 ||Early Monorail; See [https://perma.cc/6BVS-2P2X here] and [https://perma.cc/VCG2-ATUA here]&lt;br /&gt;
|-&lt;br /&gt;
|G ||Gyrail; [https://en.wikipedia.org/wiki/Gyro_monorail Gyro monorail/Gyroscopic monorail/Gyro-stabilized monorail] for description and IRL example, and [https://wikimon.net/Trailmon here] ([https://web.archive.org/web/20240227205547/https://wikimon.net/Trailmon archived]) for good fictional examples&lt;br /&gt;
|-&lt;br /&gt;
|m ||Minimum gauge rail; [https://en.wikipedia.org/wiki/Minimum-gauge_railway 15 in (381 mm), 400 mm (15+3⁄4 in), 16 in (406 mm), 18 in (457 mm), 19 in (483 mm), 500 mm (19+3⁄4 in) or 20 in (508 mm)]&lt;br /&gt;
|-&lt;br /&gt;
|n ||600mm &amp;quot;Decauville&amp;quot; or &amp;quot;Feldsbahn&amp;quot;, formerly labelled &amp;quot;NG60&amp;quot; before standardization; the most common narrow gauge track type in OpenTTD other than metre gauge, 600mm gauge is thus ideal for taking up the &amp;quot;n&amp;quot; gauge, though this is an ultimately optional distinction&lt;br /&gt;
|-&lt;br /&gt;
|7 ||750mm, Bosnian gauge (760 mm), and 762mm; all start with 7 and are close in size&lt;br /&gt;
|-&lt;br /&gt;
|3 ||Swedish 3 foot (891 mm), 900mm, 3 foot (914 mm) and Italian Metre (950mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|R ||Metre gauge; potentially compatible with base tramtype &amp;quot;RABN&amp;quot;, most early tramways were metre gauge&lt;br /&gt;
|-&lt;br /&gt;
|4 ||4 foot gauge (1219 mm), and possibly 4&#039;6&amp;quot; in. (1372 mm) if standardization is needed for 1372mm&lt;br /&gt;
|-&lt;br /&gt;
|s ||Scotch gauge (1372 mm)&lt;br /&gt;
|-&lt;br /&gt;
|S ||Standard gauge; already implemented in original standardized railtype scheme, but could include near-standard (1432 mm) as well as existing true standard (1435 mm) and is also potentially compatible with the SABN tramtype&lt;br /&gt;
|-&lt;br /&gt;
|X ||Omni-gauge rail (for at-grade multi-gauge crossings and stations); ultrabroad/secondary broad/primary broad/standard/primary narrow/secondary narrow gauge&lt;br /&gt;
|-&lt;br /&gt;
|x ||Multi-gauge rail (for at-grade multi-gauge crossings and stations); secondary broad/primary broad/standard/primary narrow/secondary narrow&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;+&amp;lt;/nowiki&amp;gt; ||Quad-gauge (Four-gauge) rail (for at-grade multi-gauge crossings and stations); secondary broad/primary broad/standard/primary narrow&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt; ||Four-gauge rail (for at-grade multi-gauge crossings and stations); primary broad/standard/primary narrow/secondary narrow&lt;br /&gt;
|-&lt;br /&gt;
|b ||Broad gauge rail - As broad gauge is a rare tracktype, it may still be feasible to cement B and b as broad gauges of two differing sizes, but the rarity among gauges in the real world would need to match; Italian (1445 mm) and Dresden (1450 mm) gauges may be better grouped here&lt;br /&gt;
|-&lt;br /&gt;
|t ||Leipzig trams (1458 mm) and Greater Toronto Area streetcars (1495 mm)&lt;br /&gt;
|-&lt;br /&gt;
|5 ||1520mm and 5 foot (1524 mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|V ||Pennsylvanian (1581 mm and 1588 mm) and Australian &amp;quot;Victorian&amp;quot; (1600 mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|6 ||6 foot (1829 mm) broad gauge&lt;br /&gt;
|-&lt;br /&gt;
|g ||Brunel&#039;s Great Western Railway gauge (2140 mm)&lt;br /&gt;
|-&lt;br /&gt;
|B ||Biggest Broad gauge rail - As broad gauge is a rare tracktype, and the variation in common real life track types too wide, it may be desirable to cement B and b as broad gauges of two differing sizes; With no real life examples that match the usage frequency of &amp;quot;B&amp;quot;, the gauge might best draw inspiration from the infamous [https://en.wikipedia.org/wiki/Breitspurbahn Breitspurbahn] (3000 mm) and [https://perma.cc/KQ2Z-5RCR the never-built vehicles designed for it], or from the [https://en.wikipedia.org/wiki/Brighton_and_Rottingdean_Seashore_Electric_Railway Brighton &amp;amp; Rottingdean Seashore Electric Railway] (18 ft/5,486 mm) &lt;br /&gt;
|-&lt;br /&gt;
|L ||Maglevs that have a u-shaped track&lt;br /&gt;
|-&lt;br /&gt;
|T ||Maglevs that have a monorail track&lt;br /&gt;
|-&lt;br /&gt;
|F ||Flightrail; A [https://web.archive.org/web/20231213122530/http://www.flightrail.com/ system capable of high speeds and steep hill grades] that uses a pneumatic pipe for propulsion (see &amp;quot;P&amp;quot; under energy sources), and &#039;&#039;wheels pointed inwards at a 45-degree angle&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
It might be preferred to instead use/keep &amp;quot;B&amp;quot; for &amp;quot;all (current) broad gauges&amp;quot; (mostly Victorian gauge) instead using lowercase &amp;quot;b&amp;quot; for Brunel/GWR broad gauge. This wouldn&#039;t be to different from narrow gauge since the lesser used ones are lowercase and fallback to the uppercase ones.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;mw-collapsible mw-collapsed wikitable&amp;quot;&lt;br /&gt;
! !!Electrification !!Fallback !!Notes&lt;br /&gt;
|-&lt;br /&gt;
|1 ||Unspecified monorail electrification |||MONO (the whole label) ||&lt;br /&gt;
|-&lt;br /&gt;
|S ||Maglevs that use a synchronous linear motor ||N/A ||&lt;br /&gt;
|-&lt;br /&gt;
|I ||Maglevs that use a linear induction motor ||MGLV (the whole label) ||&lt;br /&gt;
|-&lt;br /&gt;
|V ||Vactrains/Hyperloop ||t, then I, then MGLV (the whole label) ||&lt;br /&gt;
|-&lt;br /&gt;
|t ||&amp;quot;Universal custom tunnel&amp;quot; (for diagonal sub-surface &amp;quot;rail tunnels&amp;quot; that use decorative track types to complete the illusion) ||c, then p, then 7, then U (mandatory) ||&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt; ||Universal energy type (&#039;&#039;not&#039;&#039; meant to replace &amp;quot;***N&amp;quot;; use for vehicles such as driving cabs which cannot move under their own power regardless, if desired) ||N/A (Be sure to put &amp;quot;***E&amp;quot; in the [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]] of a &amp;quot;***-&amp;quot; label) ||(&#039;&#039;Do not give a fallback or use for railtypes, this is for unpowered &amp;quot;locomotives&amp;quot; only!&#039;&#039;)&lt;br /&gt;
|-&lt;br /&gt;
|5 ||750v DC Outer 3rd Rail (&amp;quot;MTRO&amp;quot; or &amp;quot;SA_3&amp;quot;) and 630v DC Inner 3rd/4th Rail; a total of 5 rails (2 for wheels, 3 for electricity), plausible in the London Underground network ||3 or 4 ||&lt;br /&gt;
|-&lt;br /&gt;
|U ||750v DC Outer 3rd Rail (&amp;quot;MTRO&amp;quot; or &amp;quot;SA_3&amp;quot;), 630v DC Inner 3rd/4th Rail and universal catenary (SAEE); a total of 5 rails (2 for wheels, 3 for electricity) if only one gauge, plausible in the London Underground network and an &amp;quot;ultimate&amp;quot; dual rail electrification without being a cheat (make it expensive or toggle-able?) as SAEU or as XAEU (universal dual rail electrified tracks) ||E ||&lt;br /&gt;
|-&lt;br /&gt;
|7 ||750v DC Outer 3rd Rail (&amp;quot;MTRO&amp;quot; or &amp;quot;SA_3&amp;quot;), 630v DC Inner 3rd/4th Rail, Three-phase AC (SA_T) 3rd/4th rail &amp;amp; catenary, and universal catenary (SA_E); a total of 7 rails (2 for wheels, 5 for electricity) if only one gauge, a truly universal dual rail electrification without being impossible (make it VERY expensive or toggle-able so it isn&#039;t cheat-y?) as SAE7, XAE7 or even as XRE7 (combination of ALL two-rail track gauges with universally-compatible electrification including an outer 3rd rail and a paired set of inner 3rd/4th rails, and a rack rail in the exact center; improbable, but not physically impossible) ||U ||&lt;br /&gt;
|-&lt;br /&gt;
|P ||Pneumatic tube with physical piston slit, or closed pneumatic tube with magnetic piston (i.e. that used by [https://web.archive.org/web/20231213122530/http://www.flightrail.com/ Flightrail]) ||N/A ||&lt;br /&gt;
|-&lt;br /&gt;
|p ||Pneumatic and universal electrical power ||P or 7 (Be sure to put &amp;quot;***_&amp;quot; and ***P&amp;quot; in the [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]] of a &amp;quot;***p&amp;quot; label) || XREp is a combination of ALL two-rail track gauges with improbably high axle load with universally-compatible electrification including an outer 3rd rail and a paired set of inner 3rd/4th rails, and a rack rail in the exact center; improbable, but not physically impossible)&lt;br /&gt;
|-&lt;br /&gt;
|c ||Cheat electrification type; use solely for the &amp;quot;_R_c&amp;quot; and &amp;quot;_R_t&amp;quot; railtype labels specifically (runs everything if coded properly), the latter (&amp;quot;_R_t&amp;quot;) is for tunnels, while the former (&amp;quot;_R_c&amp;quot;) is for &amp;quot;cheat rail upgrade&amp;quot; newgrfs ||p, then 7, then U, then E, then N, then &amp;quot;SA_-&amp;quot; (the whole label) ||&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Lurkmore</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=TracktypeLabels&amp;diff=4771</id>
		<title>TracktypeLabels</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=TracktypeLabels&amp;diff=4771"/>
		<updated>2024-04-04T17:40:04Z</updated>

		<summary type="html">&lt;p&gt;Lurkmore: /* Non-standard railtype labels */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Labels for rail types, road types and tram type ==&lt;br /&gt;
All track types are identified via 4-byte labels.&lt;br /&gt;
The labels are unique within their type, but it is common that rail types and tram types use the same label for similar types.&lt;br /&gt;
&lt;br /&gt;
Vehicles can check for their track type on a tile, but they only have access to their own type: On a level-crossing with all three tracks (rail, road, tram) trains can only check rail types, buses/trucks can only check road types, and trams can only check tram types.&lt;br /&gt;
&lt;br /&gt;
=== Rail vs. tram ===&lt;br /&gt;
Rail and tram are very different wrt. game-play, but both are kind of rails.&lt;br /&gt;
To unify labels, rail and tram should use the same labels, if the tracks are similar.&lt;br /&gt;
* RAIL for unelectrified rail and tram.&lt;br /&gt;
* ELRL for electrified rail and tram.&lt;br /&gt;
* FNCY for fancy-powered rail and tram.&lt;br /&gt;
&lt;br /&gt;
== Default labels ==&lt;br /&gt;
&lt;br /&gt;
=== Rail type ===&lt;br /&gt;
These labels are used for the trains and tracks in the base game, as well as for train sets that are not rail-type-aware. Consequently, track NewGRFs should always override their properties, or at least make their tracks compatible to them.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!&#039;&#039;&#039;Label&#039;&#039;&#039;&lt;br /&gt;
!&#039;&#039;&#039;Rail Type&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|RAIL&lt;br /&gt;
|Normal rail&lt;br /&gt;
|-&lt;br /&gt;
|ELRL&lt;br /&gt;
|electrified rail&lt;br /&gt;
|-&lt;br /&gt;
|MONO&lt;br /&gt;
|Monorail tracks&lt;br /&gt;
|-&lt;br /&gt;
|MGLV&lt;br /&gt;
|Maglev tracks&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Road types ===&lt;br /&gt;
By default there is only a single road type defined:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!&#039;&#039;&#039;Label&#039;&#039;&#039;&lt;br /&gt;
!&#039;&#039;&#039;Road Type&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|ROAD&lt;br /&gt;
|Normal road&lt;br /&gt;
|}&lt;br /&gt;
However, if a NewGRF requires electrified &amp;quot;ELRD&amp;quot;, an Action0 is sufficient to add this type and make it use the default road-ground and catenary sprites.&lt;br /&gt;
&lt;br /&gt;
=== Tram types ===&lt;br /&gt;
By default there is only a single tram type defined:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!&#039;&#039;&#039;Label&#039;&#039;&#039;&lt;br /&gt;
!&#039;&#039;&#039;Tram Type&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|ELRL&lt;br /&gt;
|Electrified rail&lt;br /&gt;
|}&lt;br /&gt;
However, if a NewGRF requires unelectrified &amp;quot;RAIL&amp;quot;, an Action0 is sufficient to add this type and make it use the default tram-ground sprites.&lt;br /&gt;
&lt;br /&gt;
Note: Please use the same label for tram types which already exist as rail types.&lt;br /&gt;
&lt;br /&gt;
== Standardized Railtype Scheme ==&lt;br /&gt;
Several members of the TT Forums have collaborated to define a rail type label scheme that allows for compatibility between train and track sets by different authors. At the same time it allows fancy stuff like axle weight limits, speed limits, different track and electrification types, etc. See [[Standardized Railtype Scheme]].&lt;br /&gt;
&lt;br /&gt;
The Standardized Railtype Scheme is not mandatory, and authors providing both trains and railtypes may have valid reasons to use labels outside the scheme. The Standardized Scheme cannot cover all possible cases, by design, as it would be too complex.&lt;br /&gt;
&lt;br /&gt;
However even when using custom labels, it may be worth using Standardized Railtype labels:&lt;br /&gt;
* as fallbacks for trains when the custom label is not available (via NML railtypetable fallback lists)&lt;br /&gt;
* as alternates handled by a railtype with a custom label (via NML alternative_railtype_list or NFO prop 1D)&lt;br /&gt;
This will provide wider compatibility with other train and railtype grfs.&lt;br /&gt;
&lt;br /&gt;
=== Non-standard railtype labels ===&lt;br /&gt;
&lt;br /&gt;
The following labels were defined before the Standardized Railtype Scheme existed.  Using these or not is at the discretion of individual grf authors, but generally, if an equivalent label exists in the Standardized Railtype Scheme, it&#039;s better to use that.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;mw-collapsible mw-collapsed wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | &#039;&#039;&#039;Label&#039;&#039;&#039;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | &#039;&#039;&#039;Rail Type&#039;&#039;&#039;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | &#039;&#039;&#039;Notes&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|_040&lt;br /&gt;
|speed limit 40 km/h&lt;br /&gt;
|Slowrails, SwedishRails&lt;br /&gt;
|-&lt;br /&gt;
|_080&lt;br /&gt;
|speed limit 80 km/h&lt;br /&gt;
|Slowrails, SwedishRails&lt;br /&gt;
|-&lt;br /&gt;
|E040&lt;br /&gt;
|speed limit 40 km/h, with catenary&lt;br /&gt;
|Slowrails, SwedishRails&lt;br /&gt;
|-&lt;br /&gt;
|E080&lt;br /&gt;
|speed limit 80 km/h, with catenary&lt;br /&gt;
|Slowrails, SwedishRails&lt;br /&gt;
|-&lt;br /&gt;
|3RDR&lt;br /&gt;
|Tracks with third rail&lt;br /&gt;
|MetroTracks, NuTracks, UK Railway Set tracks, Japanese Track Set&lt;br /&gt;
|-&lt;br /&gt;
|3RDC&lt;br /&gt;
|Tracks with third rail and catenary&lt;br /&gt;
|MetroTracks, NuTracks, UK Railway Set tracks, Japanese Track Set&lt;br /&gt;
|-&lt;br /&gt;
|RLOW&lt;br /&gt;
|Low speed tracks&lt;br /&gt;
|NuTracks, SwedishRails, Japanese Track Set&lt;br /&gt;
|-&lt;br /&gt;
|ELOW&lt;br /&gt;
|Low speed tracks with catenary&lt;br /&gt;
|NuTracks, SwedishRails, Japanese Track Set&lt;br /&gt;
|-&lt;br /&gt;
|3LOW&lt;br /&gt;
|Low speed tracks with 3rd rail&lt;br /&gt;
|NuTracks,&lt;br /&gt;
|-&lt;br /&gt;
|CLOW&lt;br /&gt;
|Low speed tracks, 3rd rail and catenary&lt;br /&gt;
|NuTracks&lt;br /&gt;
|-&lt;br /&gt;
|RMED&lt;br /&gt;
|Medium speed tracks&lt;br /&gt;
|NuTracks, SwedishRails&lt;br /&gt;
|-&lt;br /&gt;
|EMED&lt;br /&gt;
|Medium speed tracks with catenary&lt;br /&gt;
|NuTracks, SwedishRails&lt;br /&gt;
|-&lt;br /&gt;
|3MED&lt;br /&gt;
|Medium speed tracks with 3rd rail&lt;br /&gt;
|NuTracks&lt;br /&gt;
|-&lt;br /&gt;
|CMED&lt;br /&gt;
|Medium speed tracks, 3rd rail and catenary&lt;br /&gt;
|NuTracks&lt;br /&gt;
|-&lt;br /&gt;
|RHIG&lt;br /&gt;
|High speed tracks&lt;br /&gt;
|NuTracks, SwedishRails, Japanese Track Set&lt;br /&gt;
|-&lt;br /&gt;
|EHIG&lt;br /&gt;
|High speed tracks with catenary&lt;br /&gt;
|NuTracks, SwedishRails, Japanese Track Set&lt;br /&gt;
|-&lt;br /&gt;
|HSTR&lt;br /&gt;
|Very high speed tracks with catenary&lt;br /&gt;
|NuTracks, SwedishRails, Japanese Track Set&lt;br /&gt;
|-&lt;br /&gt;
|NGRL&lt;br /&gt;
|Narrow gauge tracks&lt;br /&gt;
|Narrow Gauge Track Types, Japanese Track Set&lt;br /&gt;
|-&lt;br /&gt;
|ELNG&lt;br /&gt;
|Narrow gauge tracks with catenary&lt;br /&gt;
|Narrow Gauge Track Types, Japanese Track Set&lt;br /&gt;
|-&lt;br /&gt;
|PLAN&lt;br /&gt;
|Planning tracks (blue dotted lines)&lt;br /&gt;
|NuTracks&lt;br /&gt;
|-&lt;br /&gt;
|MTRO&lt;br /&gt;
|Metro tracks&lt;br /&gt;
|NuTracks&lt;br /&gt;
|-&lt;br /&gt;
|MTRC&lt;br /&gt;
|Metro tracks with concrete edges&lt;br /&gt;
|NuTracks&lt;br /&gt;
|-&lt;br /&gt;
|MTRS&lt;br /&gt;
|Metro tracks with suburban buildings on top&lt;br /&gt;
|NuTracks&lt;br /&gt;
|-&lt;br /&gt;
|MTRU&lt;br /&gt;
|Metro tracks with &#039;downtown&#039; buildings on top&lt;br /&gt;
|NuTracks&lt;br /&gt;
|-&lt;br /&gt;
|MTRT&lt;br /&gt;
|Metro tracks with plain landscape on top&lt;br /&gt;
|NuTracks&lt;br /&gt;
|-&lt;br /&gt;
|DBNN&lt;br /&gt;
|branch line&lt;br /&gt;
|DBRails&lt;br /&gt;
|-&lt;br /&gt;
|DBNE&lt;br /&gt;
|branch line, electrified&lt;br /&gt;
|DBRails&lt;br /&gt;
|-&lt;br /&gt;
|DBHN&lt;br /&gt;
|main line&lt;br /&gt;
|DBRails&lt;br /&gt;
|-&lt;br /&gt;
|DBHE&lt;br /&gt;
|main line, electrified&lt;br /&gt;
|DBRails&lt;br /&gt;
|-&lt;br /&gt;
|DBHS&lt;br /&gt;
|high speed line electrified (NBS)&lt;br /&gt;
|DBRails&lt;br /&gt;
|-&lt;br /&gt;
|TRPD&lt;br /&gt;
|transrapid track&lt;br /&gt;
|Transrapid track type&lt;br /&gt;
|-&lt;br /&gt;
|NLOW&lt;br /&gt;
|Low speed narrow gauge tracks&lt;br /&gt;
|Japanese Track Set&lt;br /&gt;
|-&lt;br /&gt;
|ENLW&lt;br /&gt;
|Low speed narrow gauge tracks with catenary&lt;br /&gt;
|Japanese Track Set&lt;br /&gt;
|-&lt;br /&gt;
|ENHI&lt;br /&gt;
|Modern narrow gauge tracks with catenary&lt;br /&gt;
|Japanese Track Set&lt;br /&gt;
|-&lt;br /&gt;
|RLA0&lt;br /&gt;
|Broad (1520 mm) gauge unelectrified tracks. Speed limit 60 km/h&lt;br /&gt;
|xUSSR train set&lt;br /&gt;
|-&lt;br /&gt;
|RLA1&lt;br /&gt;
|Broad (1520 mm) gauge unelectrified tracks. Speed limit 100 km/h&lt;br /&gt;
|xUSSR train set&lt;br /&gt;
|-&lt;br /&gt;
|RLA2&lt;br /&gt;
|Broad (1520 mm) gauge unelectrified tracks. Speed limit 140 km/h&lt;br /&gt;
|xUSSR train set&lt;br /&gt;
|-&lt;br /&gt;
|RLA3&lt;br /&gt;
|Broad (1520 mm) gauge unelectrified tracks. Speed limit 250 km/h&lt;br /&gt;
|xUSSR train set&lt;br /&gt;
|-&lt;br /&gt;
|ERd0&lt;br /&gt;
|Broad (1520 mm) gauge tracks with generic DC catenary 1,5kV. Speed limit 60 km/h&lt;br /&gt;
|xUSSR train set&lt;br /&gt;
|-&lt;br /&gt;
|ERd1&lt;br /&gt;
|Broad (1520 mm) gauge tracks with generic DC catenary 1,5kV. Speed limit 100 km/h&lt;br /&gt;
|xUSSR train set&lt;br /&gt;
|-&lt;br /&gt;
|ERd2&lt;br /&gt;
|Broad (1520 mm) gauge tracks with generic DC catenary 1,5kV. Speed limit 140 km/h&lt;br /&gt;
|xUSSR train set add-on&lt;br /&gt;
|-&lt;br /&gt;
|ERd3&lt;br /&gt;
|Broad (1520 mm) gauge tracks with generic DC catenary 1,5kV. Speed limit 250 km/h&lt;br /&gt;
|xUSSR train set add-on&lt;br /&gt;
|-&lt;br /&gt;
|ERD1&lt;br /&gt;
|Broad (1520 mm) gauge tracks with generic DC catenary 3kV. Speed limit 100 km/h&lt;br /&gt;
|xUSSR train set&lt;br /&gt;
|-&lt;br /&gt;
|ERD2&lt;br /&gt;
|Broad (1520 mm) gauge tracks with generic DC catenary 3kV. Speed limit 140 km/h&lt;br /&gt;
|xUSSR train set&lt;br /&gt;
|-&lt;br /&gt;
|ERD3&lt;br /&gt;
|Broad (1520 mm) gauge tracks with generic DC catenary 3kV. Speed limit 250 km/h&lt;br /&gt;
|xUSSR train set&lt;br /&gt;
|-&lt;br /&gt;
|ERA1&lt;br /&gt;
|Broad (1520 mm) gauge tracks with generic AC catenary 25kV. Speed limit 100 km/h&lt;br /&gt;
|xUSSR train set&lt;br /&gt;
|-&lt;br /&gt;
|ERA2&lt;br /&gt;
|Broad (1520 mm) gauge tracks with generic AC catenary 25kV. Speed limit 140 km/h&lt;br /&gt;
|xUSSR train set&lt;br /&gt;
|-&lt;br /&gt;
|ERA3&lt;br /&gt;
|Broad (1520 mm) gauge tracks with generic AC catenary 25kV. Speed limit 250 km/h&lt;br /&gt;
|xUSSR train set&lt;br /&gt;
|-&lt;br /&gt;
|ERA4&lt;br /&gt;
|Broad (1520 mm) gauge tracks with generic AC catenary 25kV. No speed limit&lt;br /&gt;
|xUSSR train set&lt;br /&gt;
|-&lt;br /&gt;
|ERa0&lt;br /&gt;
|Broad (1520 mm) gauge tracks with generic AC catenary 15kV. Speed limit 60 km/h&lt;br /&gt;
|xUSSR train set&lt;br /&gt;
|-&lt;br /&gt;
|ERa1&lt;br /&gt;
|Broad (1520 mm) gauge tracks with generic AC catenary 15kV. Speed limit 100 km/h&lt;br /&gt;
|xUSSR train set add-on&lt;br /&gt;
|-&lt;br /&gt;
|ERa2&lt;br /&gt;
|Broad (1520 mm) gauge tracks with generic AC catenary 15kV. Speed limit 140 km/h&lt;br /&gt;
|xUSSR train set add-on&lt;br /&gt;
|-&lt;br /&gt;
|ERa3&lt;br /&gt;
|Broad (1520 mm) gauge tracks with generic AC catenary 15kV. Speed limit 250 km/h&lt;br /&gt;
|xUSSR train set add-on&lt;br /&gt;
|-&lt;br /&gt;
|ERa4&lt;br /&gt;
|Broad (1520 mm) gauge tracks with generic AC catenary 15kV. No speed limit&lt;br /&gt;
|xUSSR train set add-on&lt;br /&gt;
|-&lt;br /&gt;
|ER2D&lt;br /&gt;
|Broad (1520 mm) gauge tracks with DC 1,5kV / 3kV catenary. Speed limit 100 km/h&lt;br /&gt;
|xUSSR train set&lt;br /&gt;
|-&lt;br /&gt;
|ER2S&lt;br /&gt;
|Broad (1520 mm) gauge tracks with AC 25kV / DC 3kV catenary. Speed limit 120 km/h&lt;br /&gt;
|xUSSR train set&lt;br /&gt;
|-&lt;br /&gt;
|ER2s&lt;br /&gt;
|Broad (1520 mm) gauge tracks with AC 25kV / DC 1,5kV catenary. Speed limit 120 km/h&lt;br /&gt;
|xUSSR train set add-on&lt;br /&gt;
|-&lt;br /&gt;
|ER3a&lt;br /&gt;
|Broad (1520 mm) gauge tracks with AC 25kV / 15kV / DC 1,5kV catenary. Speed limit 120 km/h&lt;br /&gt;
|xUSSR train set add-on&lt;br /&gt;
|-&lt;br /&gt;
|ER3D&lt;br /&gt;
|Broad (1520 mm) gauge tracks with AC 25kV / DC 3kV / 1,5kV catenary. Speed limit 120 km/h&lt;br /&gt;
|xUSSR train set add-on&lt;br /&gt;
|-&lt;br /&gt;
|ER4S&lt;br /&gt;
|Broad (1520 mm) gauge tracks with AC 25kV / 15kV / DC 3kV / 1,5kV catenary. Speed limit 120 km/h&lt;br /&gt;
|xUSSR train set add-on&lt;br /&gt;
|-&lt;br /&gt;
|SW1L&lt;br /&gt;
|Broad (1520 mm) gauge tracks with DC 700V third rail on the left. Speed limit 100 km/h&lt;br /&gt;
|xUSSR train set&lt;br /&gt;
|-&lt;br /&gt;
|SW1R&lt;br /&gt;
|Broad (1520 mm) gauge tracks with DC 700V third rail on the right. Speed limit 100 km/h&lt;br /&gt;
|xUSSR train set&lt;br /&gt;
|-&lt;br /&gt;
|WWAY&lt;br /&gt;
|Wagonway&lt;br /&gt;
|Early Rails set&lt;br /&gt;
|-&lt;br /&gt;
|WGWY&lt;br /&gt;
|Wagonway&lt;br /&gt;
|Recycled Tracktype Set&lt;br /&gt;
|-&lt;br /&gt;
|LTRL&lt;br /&gt;
|Light Rails&lt;br /&gt;
|Early Rails set&lt;br /&gt;
|-&lt;br /&gt;
|LIHT&lt;br /&gt;
|Light Rails&lt;br /&gt;
|Recycled Tracktype Set&lt;br /&gt;
|-&lt;br /&gt;
|TYTX&lt;br /&gt;
|ToyTrax&lt;br /&gt;
|ToyTrax&lt;br /&gt;
|-&lt;br /&gt;
|ELTX&lt;br /&gt;
|ElecTrax&lt;br /&gt;
|ToyTrax&lt;br /&gt;
|-&lt;br /&gt;
|DPRK&lt;br /&gt;
|North Korean Urban Ground&lt;br /&gt;
|Trackless Trackset&lt;br /&gt;
|-&lt;br /&gt;
|JPU1&lt;br /&gt;
|Japanese Urban Ground&lt;br /&gt;
|Trackless Trackset&lt;br /&gt;
|-&lt;br /&gt;
|ISR1&lt;br /&gt;
|Industrial Stations Renewal Ground&lt;br /&gt;
|Trackless Trackset&lt;br /&gt;
|-&lt;br /&gt;
|ISR2&lt;br /&gt;
|CHIPS Dirt Ground&lt;br /&gt;
|Trackless Trackset&lt;br /&gt;
|-&lt;br /&gt;
|ISR3&lt;br /&gt;
|CHIPS Asphalt Ground&lt;br /&gt;
|Trackless Trackset&lt;br /&gt;
|-&lt;br /&gt;
|ISR4&lt;br /&gt;
|CHIPS Cobblestone Ground&lt;br /&gt;
|Trackless Trackset&lt;br /&gt;
|-&lt;br /&gt;
|NORD&lt;br /&gt;
|Standard gauge AC electrified 15 and 25 kv (hidden) Depriciated use SAA$ instead&lt;br /&gt;
|SMITS rails&lt;br /&gt;
|-&lt;br /&gt;
|IHBA&lt;br /&gt;
|DC electrified, dedicated high speed standard gauge rail&lt;br /&gt;
|Iron Horse 3&lt;br /&gt;
|-&lt;br /&gt;
|IHB_&lt;br /&gt;
|Standard gauge, AC electrified&lt;br /&gt;
|Iron Horse 3&lt;br /&gt;
|-&lt;br /&gt;
|IHC_&lt;br /&gt;
|Standard gauge metro&lt;br /&gt;
|Iron Horse 3&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Standardized Roadtype Scheme ==&lt;br /&gt;
Same story as the railtype one, also covers trams. See [[Standardized Roadtype Scheme]]&lt;br /&gt;
&lt;br /&gt;
=== Non-standard roadtype labels ===&lt;br /&gt;
&lt;br /&gt;
The following labels were defined before the Standardized Roadtype Scheme existed, but after alternative_roadtype_list and alternative_tramtype_list existed (meaning compatibility options allowed for quicker proliferation. Using these or not is at the discretion of individual grf authors, but generally, if an equivalent label exists in the Standardized Roadtype Scheme, it&#039;s better to use that. Ditto for tramtypes, but note that a label can be used twice, once for a roadtype and once for a tramtype.&lt;br /&gt;
&lt;br /&gt;
==== Non-standard roadtypes ====&lt;br /&gt;
{| class=&amp;quot;mw-collapsible mw-collapsed wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | &#039;&#039;&#039;Label&#039;&#039;&#039;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | &#039;&#039;&#039;Road Type&#039;&#039;&#039;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | &#039;&#039;&#039;Notes&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|ELRD&lt;br /&gt;
|Road with catenary&lt;br /&gt;
|Very commonly used&lt;br /&gt;
|-&lt;br /&gt;
|_TRD&lt;br /&gt;
|Town Roads&lt;br /&gt;
|Ufiby&#039;s U&amp;amp;ReRMM (1st version only)&lt;br /&gt;
|-&lt;br /&gt;
|SMRT&lt;br /&gt;
|SmartRoad&lt;br /&gt;
|Various unattributed roadtype sets&lt;br /&gt;
|-&lt;br /&gt;
|SMTS&lt;br /&gt;
|SmartStreet&lt;br /&gt;
|Various unattributed roadtype sets&lt;br /&gt;
|-&lt;br /&gt;
|HAUL&lt;br /&gt;
|Heavy duty vehicles&lt;br /&gt;
|Docklands&lt;br /&gt;
|-&lt;br /&gt;
|ELHL&lt;br /&gt;
|Electric heavy duty vehicles&lt;br /&gt;
|Docklands&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Non-standard tramtypes ====&lt;br /&gt;
{| class=&amp;quot;mw-collapsible mw-collapsed wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | &#039;&#039;&#039;Label&#039;&#039;&#039;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | &#039;&#039;&#039;Road Type&#039;&#039;&#039;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | &#039;&#039;&#039;Notes&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|RAIL&lt;br /&gt;
|Non-electrified tramtrack&lt;br /&gt;
|Very commonly used&lt;br /&gt;
|-&lt;br /&gt;
|Auto&lt;br /&gt;
|Trackless Tram&lt;br /&gt;
|An unattributed roadtype set (GRC?)&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Lurkmore</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=Standardized_Railtype_Scheme&amp;diff=4764</id>
		<title>Standardized Railtype Scheme</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=Standardized_Railtype_Scheme&amp;diff=4764"/>
		<updated>2024-03-20T00:19:36Z</updated>

		<summary type="html">&lt;p&gt;Lurkmore: /* Possible additions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This railtype label scheme aims to bring order to the uncontrolled growth of railtype labels. It groups the rail types into what matters from a technical perspective. The scheme provides a standardized way of defining railtype labels, based on track gauge and type, speed class, allowable axle weight and electrification type.&lt;br /&gt;
&lt;br /&gt;
It is the explicit intent of this scheme to decouple track sets from vehicle sets to facilitate easy mixing. This way the player can select a track set of choice to go with a train set of choice. It allows the player to play with or without axle load classes, or with or without speed limit classes, simply by loading a track set that does or does not provide these features. In some cases it will also be possible to combine niche track sets, for instance a standard gauge track set with a narrow gauge and a metro track set.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== The Label Scheme ==&lt;br /&gt;
A railtype label consists of four characters. In this scheme, each position has a different purpose:&lt;br /&gt;
# Track gauge and type class (e.g. standard gauge rail, narrow gauge rail, monorail)&lt;br /&gt;
# Speed limit class&lt;br /&gt;
# Axle load class (maximum allowed axle weight for this track)&lt;br /&gt;
# Energy source type class&lt;br /&gt;
&lt;br /&gt;
In the next sections, each of the four positions will be explained.&lt;br /&gt;
&lt;br /&gt;
=== Track gauge and type class [X***] ===&lt;br /&gt;
The first position in the railtype label defines track gauge and/or track type class. The following classes are currently defined:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Track type/gauge&lt;br /&gt;
|- &lt;br /&gt;
|S ||Standard gauge rail&lt;br /&gt;
|-&lt;br /&gt;
|B ||Broad gauge rail &lt;br /&gt;
|-&lt;br /&gt;
|N ||Narrow gauge rail&lt;br /&gt;
|-&lt;br /&gt;
|n ||Secondary narrow gauge rail (e.g. when providing both metre and cape gauge, always use N in case of just one type of narrow gauge)&lt;br /&gt;
|-&lt;br /&gt;
|D ||Dual gauge rail, standard/broad gauge&lt;br /&gt;
|-&lt;br /&gt;
|d ||Dual gauge rail, standard/narrow gauge&lt;br /&gt;
|-&lt;br /&gt;
|M ||Monorail&lt;br /&gt;
|-&lt;br /&gt;
|L ||Magnetic Levitation&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Speed limit class [*X**] ===&lt;br /&gt;
The second position in the railtype label defines the speed limit class. These classes do not map to a fixed numeric value, but are used to define an internal speed limit order for the track set. This means that if your track set has two different speed limits for track types that are otherwise identical, you&#039;ll use letters A and B here. In case of three different speed limits, use A, B and C. In case your track set does not employ speed limits, always use A. Train sets do not care about the speed limit, and will always set the lowest speed class, i.e. A.&lt;br /&gt;
&lt;br /&gt;
This gives for instance the following options:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||no speed limits&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;OR&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||low speed&lt;br /&gt;
|-&lt;br /&gt;
|B ||high speed&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;OR&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||low speed&lt;br /&gt;
|-&lt;br /&gt;
|B ||medium speed&lt;br /&gt;
|-&lt;br /&gt;
|C ||high speed&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;etc.&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear:left;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The speed limit class may also be used for some advanced features of the label scheme, like specialized track types and eyecandy purposes. Be careful not to break the compatibility with other sets when using the speed limit class for these purposes.&lt;br /&gt;
&lt;br /&gt;
An example of a special use is rack rail. In the French set it is used to give rack rail engines a higher speed and TE than normal rail engines when used on rack rail. When defining trains with a special speed limit class, always allow a fallback to speed limit class A via the railtype table.&lt;br /&gt;
&lt;br /&gt;
An example of eyecandy use are urban tracks. These are a variation of regular tracks, but with concrete ground tiles to better match the urban environment. Train sets must not define vehicles for eyecandy classes. If you think you have special vehicles that should only run on the eyecandy class, it is &#039;&#039;not&#039;&#039; eyecandy but a separate track gauge/type.&lt;br /&gt;
&lt;br /&gt;
The following special and eyecandy classes have been defined so far:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Description !!Type !!Used by&lt;br /&gt;
|- &lt;br /&gt;
|A-H ||speed limits ||colspan=&amp;quot;2&amp;quot;| reserved&lt;br /&gt;
|- &lt;br /&gt;
|R ||rack rail, that allows this vehicle to not slow down going uphill ||special ||French Set Rails&lt;br /&gt;
|- &lt;br /&gt;
|S ||subterranean ||eyecandy ||Metro Track Set&lt;br /&gt;
|- &lt;br /&gt;
|U ||urban ||eyecandy ||Metro Track Set&lt;br /&gt;
|}&lt;br /&gt;
Rack rail needs a bit greater of a explanation, idealy it would be coded in a way where both Pure rack and Rack-and-adhesion systems are supported.&lt;br /&gt;
This can be achieved by making regular tracks powered on rackrail without the opposite being true. This means vehicles defined for NRAN can&#039;t go on NAAN (like a pure rack system) but NAAN vehicles can go on NRAN (like a rack-and-adhesion system). Currently French Set Rails implements compatiblility both ways which makes pure rack systems impossible.&lt;br /&gt;
&lt;br /&gt;
=== Axle load class [**X*] ===&lt;br /&gt;
The third position defines the axle weight limit. Heavy trains cannot run on tracks with a low axle weight limit; these trains need more expensive tracks with a heigher weight limit. There are five axle load classes &#039;&#039;&#039;A&#039;&#039;&#039; through &#039;&#039;&#039;E&#039;&#039;&#039;. &#039;&#039;&#039;A&#039;&#039;&#039; is for the lowest axle load limit, &#039;&#039;&#039;E&#039;&#039;&#039; for the highest. The exact axle load attached to each class is relative to the track gauge/type and trains in the set. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A train set should set the appropriate axle weight for each train via the railtype label, as to make the set work with track sets that do provide tracks with different weight limits, even if you don&#039;t care about it for your trainset. Split all vehicles of a certain track gauge/type into five groups of similar axle weight. The group with the lowest axle weights will get class &#039;&#039;&#039;A&#039;&#039;&#039;, the second lowest class &#039;&#039;&#039;B&#039;&#039;&#039;, etc. up to the group with the highest axle weights which will get class &#039;&#039;&#039;E&#039;&#039;&#039;. Do the same for the other track gauge/types if your train set has those.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A track set does not have to provide a dedicated track type for each axle weight limit. A track set that does not provide a dedicated track for each axle load class, must make sure to map all undefined axle load classes to a real railtype using property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]]. This way a train set can rely on all labels for all axle load classes being available. Example: if you only want to provide 2 axle load classes for standard gauge unelectrified with no speed limits, you can map SA&#039;&#039;&#039;A&#039;&#039;&#039;N + SA&#039;&#039;&#039;B&#039;&#039;&#039;N to SA&#039;&#039;&#039;C&#039;&#039;&#039;N and SA&#039;&#039;&#039;D&#039;&#039;&#039;N to SA&#039;&#039;&#039;E&#039;&#039;&#039;N if the cost difference between the two railtypes is high, or SA&#039;&#039;&#039;A&#039;&#039;&#039;N to SA&#039;&#039;&#039;B&#039;&#039;&#039;N and SA&#039;&#039;&#039;C&#039;&#039;&#039;N + SA&#039;&#039;&#039;D&#039;&#039;&#039;N to SA&#039;&#039;&#039;E&#039;&#039;&#039;N if the cost difference is low.&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t want to provide any axle load classes in your track set, it doesn&#039;t really matter what axle load class you choose for the track, as you&#039;ll be mapping all other classes to this track anyways. But the lowest or highest class are the obvious choice. Example: if your track set only provides narrow gauge unelectrified track with no speed limits and no axle load limits, you may use NA&#039;&#039;&#039;A&#039;&#039;&#039;N for the track label, and provide NA&#039;&#039;&#039;B&#039;&#039;&#039;N, NA&#039;&#039;&#039;C&#039;&#039;&#039;N, NA&#039;&#039;&#039;D&#039;&#039;&#039;N, NA&#039;&#039;&#039;E&#039;&#039;&#039;N in property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you need more than five axle load class, you may use lowercase letters for very low axle loads and continue the uppercase letters for very high axle loads. Be advised that your train set may not assume the existance of any other class than &#039;&#039;&#039;A&#039;&#039;&#039; through &#039;&#039;&#039;E&#039;&#039;&#039;, so when the range make sure to program your railtype table such that trains with such a class will fall back to class &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;E&#039;&#039;&#039;. If you make a track set with an extended range, be aware that not all train sets will define trains for these tracks. In general: only do this in case of a train set with a matching track set.&lt;br /&gt;
&lt;br /&gt;
For the lowercase letters, &#039;&#039;&#039;b&#039;&#039;&#039; is lower than &#039;&#039;&#039;a&#039;&#039;&#039;, so for increasing axle load limits: b &amp;lt; a &amp;lt; A &amp;lt; B &amp;lt; C etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that the axle load classes never map to a specific weight in tonnes. For that reason it does not make sense to add a numeric value for the axle load to the name of a track type or in the extended purchase info of a train. Instead use the relative expressions &#039;very low&#039;, &#039;low&#039;, &#039;medium&#039;, &#039;high&#039; and &#039;very high&#039; or use the class letters directly.&lt;br /&gt;
&lt;br /&gt;
If a guideline is needed for updating a set to use axle loads in a train set where they don&#039;t yet exist, the following might serve as a basic &amp;quot;generic&amp;quot; guideline...&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&lt;br /&gt;
! !!Indefinite !!Generic !! First usage&lt;br /&gt;
|-&lt;br /&gt;
|c ||Horse-drawn Wagonway ||1 metric tonne (1000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|1594&lt;br /&gt;
|-&lt;br /&gt;
|b ||Iron Plateway ||1 metric tonne (1000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|1799&lt;br /&gt;
|-&lt;br /&gt;
|a ||Prototype Rails ||5 metric tonnes (5000kg) per axle; Because reserved by examples || style=&amp;quot;text-align:right;&amp;quot;|1820&lt;br /&gt;
|-&lt;br /&gt;
|A ||Very Low (2012 OG Default)||10 metric tonnes (10000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|1828&lt;br /&gt;
|-&lt;br /&gt;
|B ||Low (2024 &amp;quot;New&amp;quot; Default) ||20 metric tonnes (20000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|1968&lt;br /&gt;
|-&lt;br /&gt;
|C ||Medium ||30 metric tonnes (30000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|~1978&lt;br /&gt;
|-&lt;br /&gt;
|D ||High ||40 metric tonnes (40000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|1988&lt;br /&gt;
|-&lt;br /&gt;
|E ||Very High ||50 metric tonnes (50000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|2008&lt;br /&gt;
|-&lt;br /&gt;
|F ||Future-proofing ||No limit per axle (update in 2030 or so?) || style=&amp;quot;text-align:right;&amp;quot;|~2028&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Energy source type class [***X] ===&lt;br /&gt;
The last position defines the energy source type class. This is split in generic energy source types like overhead wires and third rail and specialized types like alternating and direct current.&lt;br /&gt;
&lt;br /&gt;
A track set that only uses specialized types, should map the generic types to the most suitable specialized type in the set.&lt;br /&gt;
&lt;br /&gt;
A vehicle set that uses specialized types should define a generic type as fallback, via the railtype table. If such a fallback is omitted, please note that certain vehicles may be unavailable depending on track set loaded.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Generic energy type classes&lt;br /&gt;
|-&lt;br /&gt;
|N ||no electrification&lt;br /&gt;
|-&lt;br /&gt;
|E ||overhead wires/catenary electrification&lt;br /&gt;
|-&lt;br /&gt;
|3 ||3rd rail electrification&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Specialized energy type classes !!Vehicle set fallback&lt;br /&gt;
|-&lt;br /&gt;
|Z ||3rd rail and catenary electrification || 3 or E&lt;br /&gt;
|-&lt;br /&gt;
|4 ||4th rail electrification || 3&lt;br /&gt;
|-&lt;br /&gt;
|Y ||4th rail and catenary electrification || 4 or E&lt;br /&gt;
|-&lt;br /&gt;
|T ||[http://en.wikipedia.org/wiki/Three-phase_AC_railway_electrification three phase AC electrification] || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|D ||DC catenary electrification || E&lt;br /&gt;
|-&lt;br /&gt;
|d ||low voltage DC catenary electrification (only when D also used in set) || First A then E&lt;br /&gt;
|-&lt;br /&gt;
|A ||AC catenary electrification || E&lt;br /&gt;
|-&lt;br /&gt;
|a ||low voltage AC catenary electrification (only when A also used in set) || First A then E&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
If you want multi-voltage/current vehicles in your set (i.e. a train that can run on both AC and DC current), you have to define a dedicated railtype for those vehicles. Without the railtype, it&#039;s not possible to define vehicles with this property. If you only have vehicles that can run on either one type of voltage/current or on all types of voltage/current (e.g. a 2-system if you only have &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;D&#039;&#039;&#039; tracks, or a 4-system in case of all &#039;&#039;&#039;A&#039;&#039;&#039;, &#039;&#039;&#039;a&#039;&#039;&#039;, &#039;&#039;&#039;D&#039;&#039;&#039; and &#039;&#039;&#039;d&#039;&#039;&#039;), then use the generic class &#039;&#039;&#039;E&#039;&#039;&#039; for vehicles that should be able to run on all different voltage/currents. Also the track set needs to have one at least one railtype with class &#039;&#039;&#039;E&#039;&#039;&#039; defined.&lt;br /&gt;
&lt;br /&gt;
Note that if you want more than one type of multi-voltage/current, you&#039;ll quickly get a combinatory explosion of railtype labels, so plan carefully or do not attempt it. For every different multi-voltage/current vehicle type a dedicated railtype is needed. If you want all possible combinations, then you need to define an additional 8 classes. It is not recommended to make your train/track set this complicated.&lt;br /&gt;
&lt;br /&gt;
Example approach for a 4-system set, with trains that can run on either one or all systems:&lt;br /&gt;
* &#039;&#039;&#039;E&#039;&#039;&#039;: generic catenary-powered electric engines. &amp;quot;universal&amp;quot; [4-system] if any of &#039;&#039;&#039;D&#039;&#039;&#039;/&#039;&#039;&#039;d&#039;&#039;&#039;/&#039;&#039;&#039;A&#039;&#039;&#039;/&#039;&#039;&#039;a&#039;&#039;&#039; are defined.&lt;br /&gt;
* &#039;&#039;&#039;A&#039;&#039;&#039;: generic AC catenary electric engines. 25kV only if &#039;&#039;&#039;a&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;A&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;a&#039;&#039;&#039;: 15kV AC catenary electric engines. Only defined if &#039;&#039;&#039;A&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;a&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;D&#039;&#039;&#039;: generic DC catenary electric engines. 3kV if &#039;&#039;&#039;d&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;D&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;d&#039;&#039;&#039;: 1.5kV DC catenary electric engines. Only defined if &#039;&#039;&#039;D&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;D&#039;&#039;&#039; and &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;d&#039;&#039;&#039;.&lt;br /&gt;
For a 2-system set, you can simply drop &#039;&#039;&#039;a&#039;&#039;&#039; and &#039;&#039;&#039;d&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Standard labels: RAIL, ELRL, MONO, MGLV ===&lt;br /&gt;
It&#039;s not possible to undefine the standard railtypes RAIL, ELRL, MONO and MGLV. The game will always add those if there are vehicles defined for these track types. As a result, for a track set it&#039;s best not to ignore those standard labels, but rather work with them and define them in the set. If your track set does not have monorail or maglev tracks, there of course is no need to define those. But if your track set defines anything that resembles unelectrified or electrified rail, you should use the RAIL and ELRL labels. Matching labels from the above scheme will then be defined in property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
As vehicles from NewGRFs that do not use explicit railtypes will end up on these standard railtypes, you should use RAIL instead of whatever type could be regarded as the most commonly used unelectrified type, ELRL instead of the most commonly used electrified type and so on. The label according to this scheme is then set as an alternate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Summary for track sets ==&lt;br /&gt;
This section summarizes the above for track sets.&lt;br /&gt;
&lt;br /&gt;
; [X***] Track gauge and type class&lt;br /&gt;
* Define at least one track type for every track gauge/type class you want in your set.&lt;br /&gt;
* If you only provide tracks for one gauge/type, consider leaving some free railtypes so a player can load an additional set for some other type.&lt;br /&gt;
; [*X**] Speed limit class&lt;br /&gt;
* Make sure class A is always available, either directly or via an alternate label.&lt;br /&gt;
* Use only class A if you don&#039;t want speed limits;&lt;br /&gt;
* With speed limits, A is the lowest speed limit. Continue with B, C, etc. for increasing speed limits;&lt;br /&gt;
* The speed class can also be used to implement additional eye-candy track types, use letters higher in the alphabet for this.&lt;br /&gt;
; [**X*] Axle load class&lt;br /&gt;
* Always define all classes A through E for every track type class / electrification combination, either:&lt;br /&gt;
** Directly via a real railtype definition;&lt;br /&gt;
** Indirectly via the alternate rail type label list, property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
* Extend the predefined classes only if you also provide a train set that makes use of these.&lt;br /&gt;
; [***X] Energy source type class&lt;br /&gt;
* If your set only uses specialized classes, always map the generic classes to the closest matching specialized type via property 1D.&lt;br /&gt;
; Standard labels [RAIL, ELRL, MONO, MGLV]&lt;br /&gt;
* Always define the standard labels when possible, instead of what would be the equivalent of the standard label in this scheme.&lt;br /&gt;
* Map the equivalent labels from this scheme to the standard labels using property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
Or, put differently, for each gauge/type, select one or more energy source types. For each type/energy combination provide all axle load classes for the speed class &amp;quot;A&amp;quot;, either as a real type or as an alternate of another type. Provide more types with a different speed letter if you want to provide several different speeds or other eye-candy tracks.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Summary for train sets ==&lt;br /&gt;
This section summarizes the above for train sets.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; [X***] Track gauge and type class&lt;br /&gt;
* Use the track type class that matches the vehicle;&lt;br /&gt;
* Define a fallback type via the railtype table in case you want the vehicle to be available on a different track if no matching track set is loaded.&lt;br /&gt;
** Specialized subtypes like &amp;quot;n&amp;quot; might not always be available. If you want those vehicles to be still available then, fall back the the generic class (e.g. &amp;quot;N&amp;quot;).&lt;br /&gt;
; [*X**] Speed limit class &lt;br /&gt;
* Always use class A for every vehicle.&lt;br /&gt;
; [**X*] Axle load class&lt;br /&gt;
* Use all classes A through E according to the maximum axle weight of the vehicle.&lt;br /&gt;
* Extend the predefined classes only if you also provide a track set that makes use of these;&lt;br /&gt;
** When extending the predefined classes A through E, define a fallback type via the railtype table in case you want the vehicle to be available if no matching track set is loaded.&lt;br /&gt;
; [***X] Energy source type class&lt;br /&gt;
* Use the energy source type class that matches the vehicle;&lt;br /&gt;
* When using specialized classes, define a fallback type via the railtype table in case you want the vehicle to be available if no matching track set is loaded.&lt;br /&gt;
; Standard labels [RAIL, ELRL, MONO, MGLV]&lt;br /&gt;
* Define a fallback type to the standard labels via the railtype table in case you want the vehicle to be available on the standard tracks if no matching track set is loaded.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Be as specific as you want when selecting the railtype, it is the job of the track set to select a playable, reduced subset out of all possible type combinations.&lt;br /&gt;
&lt;br /&gt;
== In case you&#039;re not convinced by this scheme ==&lt;br /&gt;
Adopting this scheme gives the player freedom to use any track set in combination with any train set that follow the scheme. &lt;br /&gt;
&lt;br /&gt;
This means that you can make your train set compatible with track sets that provide axle load classes, and track sets that provide speed limits, and at the same time with track sets that provide none of this. This way, the player can decide to play with or without axle load classes, or with or without speed limits, simply by loading a track set that does or does not provide these features.&lt;br /&gt;
&lt;br /&gt;
And for your track set, it means that you can make it as simple or as complicated as you want (within the 64 track type limit), while not having to worry about compatibility with train sets.&lt;br /&gt;
&lt;br /&gt;
Still not convinced? Feel free to use railtype labels of your own, but know that you will likely come to regret that at some point in the future.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Forum topic==&lt;br /&gt;
If you want to discuss the standardized railtype scheme or have any questions about it, you can visit [http://www.tt-forums.net/viewtopic.php?t=59379 the forum topic].&lt;br /&gt;
&lt;br /&gt;
==&amp;quot;Innsbruck 2022 Convention&amp;quot; for partial compliance==&lt;br /&gt;
&lt;br /&gt;
This is really esoteric, but eh. It was the product of long discussion / debate / argument / reasoning between grf authors.&lt;br /&gt;
&lt;br /&gt;
1. The Standardized Railtype Scheme &#039;&#039;&#039;is a useful tool&#039;&#039;&#039; for providing reliable compatibility between train grfs and railtype grfs.&lt;br /&gt;
&lt;br /&gt;
2. The &#039;&#039;&#039;axle load class&#039;&#039;&#039; in the scheme presents a number of issues for compliance.&lt;br /&gt;
&lt;br /&gt;
2.1. Over 10 years since the scheme was standardised, not many train grfs implement multiple axle load classes &#039;&#039;&#039;as required by the scheme&#039;&#039;&#039;.  Known examples that &#039;&#039;&#039;do&#039;&#039;&#039; comply include Dutch Train Set, French Narrow Gauge Trains, and Finnish Trains.&lt;br /&gt;
&lt;br /&gt;
2.2. Elements of the axle load rules have proven hard to interpret.  For example:&lt;br /&gt;
&lt;br /&gt;
* is it compliant to use &#039;&#039;fewer&#039;&#039; than 5 classes in a train grf?  There is a lack of consensus on this.&lt;br /&gt;
* axle load is only one of many factors that govern whether a vehicle is compatible with a route, for example loading gauge, minimum curve, signalling types etc&lt;br /&gt;
&lt;br /&gt;
2.3. Meanwhile &#039;&#039;multiple existing train grfs use class &#039;&#039;A&#039;&#039; for the axle load for all trains&#039;&#039; (except where relying on default railtypes such as RAIL and ELRL).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3. The Innsbruck 2022 Convention uses class &#039;&#039;A&#039;&#039; for axle load for &#039;&#039;&#039;all&#039;&#039;&#039; trains in a train grf (except where relying on default railtypes such as RAIL and ELRL).&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is &#039;&#039;&#039;not&#039;&#039;&#039; fully compliant with the Standardized Railtype Scheme and does not claim to be.&lt;br /&gt;
&lt;br /&gt;
However train grfs using the Innsbruck 2022 Convention are &#039;&#039;broadly compatible&#039;&#039; with railtype grfs using the Standardized Railtype Scheme.  &lt;br /&gt;
&lt;br /&gt;
Obligatory XKCD link about &#039;standards&#039;: https://xkcd.com/927/&lt;br /&gt;
&lt;br /&gt;
===Known issues===&lt;br /&gt;
&lt;br /&gt;
Known problems are that trains using only class &#039;A&#039; may limit the ability of railtype grf authors to achieve their design goals for separating railtypes by axle load.  &lt;br /&gt;
But on reflection, it can be seen that a train grf might not be able to provide a broad enough range of vehicles to cover at least 5 axle load classes.&lt;br /&gt;
&lt;br /&gt;
3.1. The Innsbruck 2022 Convention is &#039;&#039;&#039;not&#039;&#039;&#039; appropriate for train grf authors who wish to provide more than one axle load class.&lt;br /&gt;
&lt;br /&gt;
3.2. The Innsbruck 2022 Convention treats the meaning of class &#039;&#039;A&#039;&#039; as &#039;&#039;undefined&#039;&#039;, &#039;&#039;ignored&#039;&#039; or &#039;&#039;compatible with most restricted railtype&#039;&#039; for axle load.  &lt;br /&gt;
&lt;br /&gt;
Axle load class &#039;&#039;A&#039;&#039; &#039;&#039;&#039;cannot&#039;&#039;&#039; be safely interpreted as &#039;&#039;universal&#039;&#039; because from the perspective of a railtype grf &#039;&#039;A&#039;&#039; is &#039;&#039;most restricted railtype&#039;&#039;, where &#039;&#039;universal&#039;&#039; is better represented as &#039;&#039;least restricted railtype&#039;&#039;. Depending how many axle load classes are in use by the railtype grf, this could be class &#039;&#039;B&#039;&#039;, &#039;&#039;C&#039;&#039;, &#039;&#039;D&#039;&#039;, &#039;&#039;E&#039;&#039; etc.  To illustrate this issue, take the following scenario&lt;br /&gt;
&lt;br /&gt;
* railtype grf defines axle loads &#039;&#039;A&#039;&#039; to &#039;&#039;E&#039;&#039;. In this case the railtype grf author intends that &#039;&#039;A&#039;&#039; is compatible with the smallest range of vehicles, &#039;&#039;E&#039;&#039; is compatible with the largest range of vehicles, and &#039;&#039;B&#039;&#039;, &#039;&#039;C&#039;&#039; and &#039;&#039;D&#039;&#039; are compatible with some intermediate ranges of vehicles&lt;br /&gt;
* but the vehicle grf author has defined all vehicles to be axle load &#039;&#039;A&#039;&#039; in an attempt to express this vehicle is &#039;&#039;universal&#039;&#039;.  The result in the game is that an identical range of vehicles will be compatible with railtypes &#039;&#039;A&#039;&#039; to &#039;&#039;E&#039;&#039;.  &lt;br /&gt;
&lt;br /&gt;
This is clearly &#039;&#039;&#039;not&#039;&#039;&#039; the intended outcome of the railtype author. But nor is it clear within the spec that the vehicle author has particularly done anything wrong. &lt;br /&gt;
&lt;br /&gt;
It &#039;&#039;would&#039;&#039; be possible to use railtype availability testing to adjust the vehicle property 05 (track_type) to fit the highest defined axle load (&#039;&#039;E&#039;&#039; in this example case), but this is not insignificant work, and it&#039;s unlikely to be widely adopted by vehicle grf authors.  Nor would this solution achieve &#039;&#039;universal&#039;&#039; as all vehicles in vehicle grf then would be incompatible with types &#039;&#039;A&#039;&#039; through &#039;&#039;D&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
3.3. When the Innsbruck 2022 Convention is used, this &#039;&#039;&#039;does not prevent&#039;&#039;&#039; a train grf being extended in some future release to achieve full compliance with Standardized Railtype Scheme. &#039;&#039;That choice remains with train grf authors&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
3.4. If 2012 could be revisited, providing an optional &#039;&#039;_&#039;&#039; axle load class in the Standardized Railtype Scheme for &#039;&#039;undefined&#039;&#039; would have been preferable, but as of 2022, &#039;&#039;A&#039;&#039; is already widely used for this purpose, and time travel is not known to be possible.&lt;br /&gt;
&lt;br /&gt;
==Extended multivoltage support addition==&lt;br /&gt;
These are extensions to the energy source type class currently supported by SETS and xUSSR Rails which allow trainsets to code trains which are limited to a certain selection of voltages. As stated in the energy source type class section this might not be of use for all sets, as such it is optional but still recommended for trainsets for ideal functionality with tracksets which support the extended labels.&lt;br /&gt;
{|&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Specialized energy type classes !!Vehicle set fallback&lt;br /&gt;
|-&lt;br /&gt;
|* ||Equivilent to A, a, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|&#039; ||Equivilent to A, a and D || E&lt;br /&gt;
|-&lt;br /&gt;
|^ ||Equivilent to A, a and d || E&lt;br /&gt;
|-&lt;br /&gt;
|_ ||Equivilent to A, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
|, ||Equivilent to a, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|$ ||Equivilent to A and a  || First A then E&lt;br /&gt;
|-&lt;br /&gt;
|= ||Equivilent to D and d  || First D then E&lt;br /&gt;
|-&lt;br /&gt;
|) ||Equivilent to A and D  || E&lt;br /&gt;
|-&lt;br /&gt;
|( ||Equivilent to A and d  || E&lt;br /&gt;
|-&lt;br /&gt;
|] ||Equivilent to a and D  || E&lt;br /&gt;
|-&lt;br /&gt;
|[ ||Equivilent to a and d  || E&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Possible additions==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;mw-collapsible mw-collapsed wikitable&amp;quot;&lt;br /&gt;
! !!Track type/gauge&lt;br /&gt;
|-&lt;br /&gt;
|_ ||Universal &amp;quot;cheat&amp;quot; rail; ALWAYS add &amp;quot;_A_-&amp;quot; and &amp;quot;_A_N&amp;quot; to EVERY [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]] (as well as the equivalent electrified/pneumatic railtype that is powered on your electrified/pneumatic railtype to support it if you are making a new railtype set, older sets can be covered by fix or patch grfs) and &amp;quot;_A_t&amp;quot; to EVERY [[NML:Railtypes#Railtype_properties|powered_railtype_list (NML)]]&lt;br /&gt;
|-&lt;br /&gt;
|0 ||(A number zero, not a letter &amp;quot;Oh&amp;quot;) No track, eyecandy-use only&lt;br /&gt;
|-&lt;br /&gt;
|U ||[https://perma.cc/93VE-8JQZ &amp;quot;Ukrainian monorail&amp;quot; or Şaropoí̈zd (Шаропоїзд)], a u-shaped concrete &amp;quot;monorail trench&amp;quot; from 1920&#039;s Soviet Union; see [https://www.tt-forums.net/viewtopic.php?f=26&amp;amp;t=47432 the Yarmanchuk Express] for graphics&lt;br /&gt;
|-&lt;br /&gt;
|1 ||Early Monorail; See [https://perma.cc/6BVS-2P2X here] and [https://perma.cc/VCG2-ATUA here]&lt;br /&gt;
|-&lt;br /&gt;
|G ||Gyrail; [https://en.wikipedia.org/wiki/Gyro_monorail Gyro monorail/Gyroscopic monorail/Gyro-stabilized monorail] for description and IRL example, and [https://wikimon.net/Trailmon here] ([https://web.archive.org/web/20240227205547/https://wikimon.net/Trailmon archived]) for good fictional examples&lt;br /&gt;
|-&lt;br /&gt;
|m ||Minimum gauge rail; [https://en.wikipedia.org/wiki/Minimum-gauge_railway 15 in (381 mm), 400 mm (15+3⁄4 in), 16 in (406 mm), 18 in (457 mm), 19 in (483 mm), 500 mm (19+3⁄4 in) or 20 in (508 mm)]&lt;br /&gt;
|-&lt;br /&gt;
|n ||600mm &amp;quot;Decauville&amp;quot; or &amp;quot;Feldsbahn&amp;quot;, formerly labelled &amp;quot;NG60&amp;quot; before standardization; the most common narrow gauge track type in OpenTTD other than metre gauge, 600mm gauge is thus ideal for taking up the &amp;quot;n&amp;quot; gauge, though this is an ultimately optional distinction&lt;br /&gt;
|-&lt;br /&gt;
|7 ||750mm, Bosnian gauge (760 mm), and 762mm; all start with 7 and are close in size&lt;br /&gt;
|-&lt;br /&gt;
|3 ||Swedish 3 foot (891 mm), 900mm, 3 foot (914 mm) and Italian Metre (950mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|R ||Metre gauge; potentially compatible with base tramtype &amp;quot;RABN&amp;quot;, most early tramways were metre gauge&lt;br /&gt;
|-&lt;br /&gt;
|4 ||4 foot gauge (1219 mm), and possibly 4&#039;6&amp;quot; in. (1372 mm) if standardization is needed for 1372mm&lt;br /&gt;
|-&lt;br /&gt;
|s ||Scotch gauge (1372 mm)&lt;br /&gt;
|-&lt;br /&gt;
|S ||Standard gauge; already implemented in original standardized railtype scheme, but could include near-standard (1432 mm) as well as existing true standard (1435 mm) and is also potentially compatible with the SABN tramtype&lt;br /&gt;
|-&lt;br /&gt;
|X ||Omni-gauge rail (for at-grade multi-gauge crossings and stations); ultrabroad/secondary broad/primary broad/standard/primary narrow/secondary narrow gauge&lt;br /&gt;
|-&lt;br /&gt;
|x ||Multi-gauge rail (for at-grade multi-gauge crossings and stations); secondary broad/primary broad/standard/primary narrow/secondary narrow&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;+&amp;lt;/nowiki&amp;gt; ||Quad-gauge (Four-gauge) rail (for at-grade multi-gauge crossings and stations); secondary broad/primary broad/standard/primary narrow&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt; ||Four-gauge rail (for at-grade multi-gauge crossings and stations); primary broad/standard/primary narrow/secondary narrow&lt;br /&gt;
|-&lt;br /&gt;
|b ||Broad gauge rail - As broad gauge is a rare tracktype, it may still be feasible to cement B and b as broad gauges of two differing sizes, but the rarity among gauges in the real world would need to match; Italian (1445 mm) and Dresden (1450 mm) gauges may be better grouped here&lt;br /&gt;
|-&lt;br /&gt;
|t ||Leipzig trams (1458 mm) and Greater Toronto Area streetcars (1495 mm)&lt;br /&gt;
|-&lt;br /&gt;
|5 ||1520mm and 5 foot (1524 mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|V ||Pennsylvanian (1581 mm and 1588 mm) and Australian &amp;quot;Victorian&amp;quot; (1600 mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|6 ||6 foot (1829 mm) broad gauge&lt;br /&gt;
|-&lt;br /&gt;
|g ||Brunel&#039;s Great Western Railway gauge (2140 mm)&lt;br /&gt;
|-&lt;br /&gt;
|B ||Biggest Broad gauge rail - As broad gauge is a rare tracktype, and the variation in common real life track types too wide, it may be desirable to cement B and b as broad gauges of two differing sizes; With no real life examples that match the usage frequency of &amp;quot;B&amp;quot;, the gauge might best draw inspiration from the infamous [https://en.wikipedia.org/wiki/Breitspurbahn Breitspurbahn] (3000 mm) and [https://perma.cc/KQ2Z-5RCR the never-built vehicles designed for it], or from the [https://en.wikipedia.org/wiki/Brighton_and_Rottingdean_Seashore_Electric_Railway Brighton &amp;amp; Rottingdean Seashore Electric Railway] (18 ft/5,486 mm) &lt;br /&gt;
|-&lt;br /&gt;
|L ||Maglevs that have a u-shaped track&lt;br /&gt;
|-&lt;br /&gt;
|T ||Maglevs that have a monorail track&lt;br /&gt;
|-&lt;br /&gt;
|F ||Flightrail; A [https://web.archive.org/web/20231213122530/http://www.flightrail.com/ system capable of high speeds and steep hill grades] that uses a pneumatic pipe for propulsion (see &amp;quot;P&amp;quot; under energy sources), and &#039;&#039;wheels pointed inwards at a 45-degree angle&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
It might be preferred to instead use/keep &amp;quot;B&amp;quot; for &amp;quot;all (current) broad gauges&amp;quot; (mostly Victorian gauge) instead using lowercase &amp;quot;b&amp;quot; for Brunel/GWR broad gauge. This wouldn&#039;t be to different from narrow gauge since the lesser used ones are lowercase and fallback to the uppercase ones.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;mw-collapsible mw-collapsed wikitable&amp;quot;&lt;br /&gt;
! !!Electrification !!Fallback !!Notes&lt;br /&gt;
|-&lt;br /&gt;
|1 ||Unspecified monorail electrification |||MONO (the whole label) ||&lt;br /&gt;
|-&lt;br /&gt;
|S ||Maglevs that use a synchronous linear motor ||N/A ||&lt;br /&gt;
|-&lt;br /&gt;
|I ||Maglevs that use a linear induction motor ||MGLV (the whole label) ||&lt;br /&gt;
|-&lt;br /&gt;
|V ||Vactrains/Hyperloop ||t, then I, then MGLV (the whole label) ||&lt;br /&gt;
|-&lt;br /&gt;
|t ||&amp;quot;Universal custom tunnel&amp;quot; (for diagonal sub-surface &amp;quot;rail tunnels&amp;quot; that use decorative track types to complete the illusion) ||c, then p, then 7, then U (mandatory) ||&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt; ||Universal energy type (&#039;&#039;not&#039;&#039; meant to replace &amp;quot;***N&amp;quot;; use for vehicles such as driving cabs which cannot move under their own power regardless, if desired) ||N/A (Be sure to put &amp;quot;***E&amp;quot; in the [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]] of a &amp;quot;***-&amp;quot; label) ||(&#039;&#039;Do not give a fallback or use for railtypes, this is for unpowered &amp;quot;locomotives&amp;quot; only!&#039;&#039;)&lt;br /&gt;
|-&lt;br /&gt;
|5 ||750v DC Outer 3rd Rail (&amp;quot;MTRO&amp;quot; or &amp;quot;SA_3&amp;quot;) and 630v DC Inner 3rd/4th Rail; a total of 5 rails (2 for wheels, 3 for electricity), plausible in the London Underground network ||3 or 4 ||&lt;br /&gt;
|-&lt;br /&gt;
|U ||750v DC Outer 3rd Rail (&amp;quot;MTRO&amp;quot; or &amp;quot;SA_3&amp;quot;), 630v DC Inner 3rd/4th Rail and universal catenary (SAEE); a total of 5 rails (2 for wheels, 3 for electricity) if only one gauge, plausible in the London Underground network and an &amp;quot;ultimate&amp;quot; dual rail electrification without being a cheat (make it expensive or toggle-able?) as SAEU or as XAEU (universal dual rail electrified tracks) ||E ||&lt;br /&gt;
|-&lt;br /&gt;
|7 ||750v DC Outer 3rd Rail (&amp;quot;MTRO&amp;quot; or &amp;quot;SA_3&amp;quot;), 630v DC Inner 3rd/4th Rail, Three-phase AC (SA_T) 3rd/4th rail &amp;amp; catenary, and universal catenary (SA_E); a total of 7 rails (2 for wheels, 5 for electricity) if only one gauge, a truly universal dual rail electrification without being impossible (make it VERY expensive or toggle-able so it isn&#039;t cheat-y?) as SAE7, XAE7 or even as XRE7 (combination of ALL two-rail track gauges with universally-compatible electrification including an outer 3rd rail and a paired set of inner 3rd/4th rails, and a rack rail in the exact center; improbable, but not physically impossible) ||U ||&lt;br /&gt;
|-&lt;br /&gt;
|P ||Pneumatic tube with physical piston slit, or closed pneumatic tube with magnetic piston (i.e. that used by [https://web.archive.org/web/20231213122530/http://www.flightrail.com/ Flightrail]) ||N/A ||&lt;br /&gt;
|-&lt;br /&gt;
|p ||Pneumatic and universal electrical power ||P or 7 (Be sure to put &amp;quot;***_&amp;quot; and ***P&amp;quot; in the [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]] of a &amp;quot;***p&amp;quot; label) || XREp is a combination of ALL two-rail track gauges with improbably high axle load with universally-compatible electrification including an outer 3rd rail and a paired set of inner 3rd/4th rails, and a rack rail in the exact center; improbable, but not physically impossible)&lt;br /&gt;
|-&lt;br /&gt;
|c ||Cheat electrification type; use solely for the &amp;quot;_R_c&amp;quot; and &amp;quot;_R_t&amp;quot; railtype labels specifically (runs everything if coded properly), the latter (&amp;quot;_R_t&amp;quot;) is for tunnels, while the former (&amp;quot;_R_c&amp;quot;) is for &amp;quot;cheat rail upgrade&amp;quot; newgrfs ||p, then 7, then U, then E, then N, then &amp;quot;SA_-&amp;quot; (the whole label) ||&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Lurkmore</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=Standardized_Railtype_Scheme&amp;diff=4759</id>
		<title>Standardized Railtype Scheme</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=Standardized_Railtype_Scheme&amp;diff=4759"/>
		<updated>2024-03-10T10:54:48Z</updated>

		<summary type="html">&lt;p&gt;Lurkmore: /* Axle load class [**X*] */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This railtype label scheme aims to bring order to the uncontrolled growth of railtype labels. It groups the rail types into what matters from a technical perspective. The scheme provides a standardized way of defining railtype labels, based on track gauge and type, speed class, allowable axle weight and electrification type.&lt;br /&gt;
&lt;br /&gt;
It is the explicit intent of this scheme to decouple track sets from vehicle sets to facilitate easy mixing. This way the player can select a track set of choice to go with a train set of choice. It allows the player to play with or without axle load classes, or with or without speed limit classes, simply by loading a track set that does or does not provide these features. In some cases it will also be possible to combine niche track sets, for instance a standard gauge track set with a narrow gauge and a metro track set.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== The Label Scheme ==&lt;br /&gt;
A railtype label consists of four characters. In this scheme, each position has a different purpose:&lt;br /&gt;
# Track gauge and type class (e.g. standard gauge rail, narrow gauge rail, monorail)&lt;br /&gt;
# Speed limit class&lt;br /&gt;
# Axle load class (maximum allowed axle weight for this track)&lt;br /&gt;
# Energy source type class&lt;br /&gt;
&lt;br /&gt;
In the next sections, each of the four positions will be explained.&lt;br /&gt;
&lt;br /&gt;
=== Track gauge and type class [X***] ===&lt;br /&gt;
The first position in the railtype label defines track gauge and/or track type class. The following classes are currently defined:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Track type/gauge&lt;br /&gt;
|- &lt;br /&gt;
|S ||Standard gauge rail&lt;br /&gt;
|-&lt;br /&gt;
|B ||Broad gauge rail &lt;br /&gt;
|-&lt;br /&gt;
|N ||Narrow gauge rail&lt;br /&gt;
|-&lt;br /&gt;
|n ||Secondary narrow gauge rail (e.g. when providing both metre and cape gauge, always use N in case of just one type of narrow gauge)&lt;br /&gt;
|-&lt;br /&gt;
|D ||Dual gauge rail, standard/broad gauge&lt;br /&gt;
|-&lt;br /&gt;
|d ||Dual gauge rail, standard/narrow gauge&lt;br /&gt;
|-&lt;br /&gt;
|M ||Monorail&lt;br /&gt;
|-&lt;br /&gt;
|L ||Magnetic Levitation&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Speed limit class [*X**] ===&lt;br /&gt;
The second position in the railtype label defines the speed limit class. These classes do not map to a fixed numeric value, but are used to define an internal speed limit order for the track set. This means that if your track set has two different speed limits for track types that are otherwise identical, you&#039;ll use letters A and B here. In case of three different speed limits, use A, B and C. In case your track set does not employ speed limits, always use A. Train sets do not care about the speed limit, and will always set the lowest speed class, i.e. A.&lt;br /&gt;
&lt;br /&gt;
This gives for instance the following options:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||no speed limits&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;OR&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||low speed&lt;br /&gt;
|-&lt;br /&gt;
|B ||high speed&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;OR&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||low speed&lt;br /&gt;
|-&lt;br /&gt;
|B ||medium speed&lt;br /&gt;
|-&lt;br /&gt;
|C ||high speed&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;etc.&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear:left;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The speed limit class may also be used for some advanced features of the label scheme, like specialized track types and eyecandy purposes. Be careful not to break the compatibility with other sets when using the speed limit class for these purposes.&lt;br /&gt;
&lt;br /&gt;
An example of a special use is rack rail. In the French set it is used to give rack rail engines a higher speed and TE than normal rail engines when used on rack rail. When defining trains with a special speed limit class, always allow a fallback to speed limit class A via the railtype table.&lt;br /&gt;
&lt;br /&gt;
An example of eyecandy use are urban tracks. These are a variation of regular tracks, but with concrete ground tiles to better match the urban environment. Train sets must not define vehicles for eyecandy classes. If you think you have special vehicles that should only run on the eyecandy class, it is &#039;&#039;not&#039;&#039; eyecandy but a separate track gauge/type.&lt;br /&gt;
&lt;br /&gt;
The following special and eyecandy classes have been defined so far:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Description !!Type !!Used by&lt;br /&gt;
|- &lt;br /&gt;
|A-H ||speed limits ||colspan=&amp;quot;2&amp;quot;|reserved&lt;br /&gt;
|- &lt;br /&gt;
|R ||rack rail, that allows this vehicle to not slow down going uphill ||special ||French Set Rails&lt;br /&gt;
|-&lt;br /&gt;
|r ||rack rail, but is required by a locomotive with this railtype to move at all ||(hypothetical) ||Note: SrAN through SrEN should remap exclusively to SRAN-SREN and equivalent electrified railtypes, as though they are standardized the Sr?? railtypes should be hidden to prevent the false impression that Sr?? is an actual railtype rather than a &amp;quot;compatibility-defining&amp;quot; railtype that does not physically exist &lt;br /&gt;
|- &lt;br /&gt;
|S ||subterranean ||eyecandy ||Metro Track Set&lt;br /&gt;
|- &lt;br /&gt;
|U ||urban ||eyecandy ||Metro Track Set&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Axle load class [**X*] ===&lt;br /&gt;
The third position defines the axle weight limit. Heavy trains cannot run on tracks with a low axle weight limit; these trains need more expensive tracks with a heigher weight limit. There are five axle load classes &#039;&#039;&#039;A&#039;&#039;&#039; through &#039;&#039;&#039;E&#039;&#039;&#039;. &#039;&#039;&#039;A&#039;&#039;&#039; is for the lowest axle load limit, &#039;&#039;&#039;E&#039;&#039;&#039; for the highest. The exact axle load attached to each class is relative to the track gauge/type and trains in the set. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A train set should set the appropriate axle weight for each train via the railtype label, as to make the set work with track sets that do provide tracks with different weight limits, even if you don&#039;t care about it for your trainset. Split all vehicles of a certain track gauge/type into five groups of similar axle weight. The group with the lowest axle weights will get class &#039;&#039;&#039;A&#039;&#039;&#039;, the second lowest class &#039;&#039;&#039;B&#039;&#039;&#039;, etc. up to the group with the highest axle weights which will get class &#039;&#039;&#039;E&#039;&#039;&#039;. Do the same for the other track gauge/types if your train set has those.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A track set does not have to provide a dedicated track type for each axle weight limit. A track set that does not provide a dedicated track for each axle load class, must make sure to map all undefined axle load classes to a real railtype using property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]]. This way a train set can rely on all labels for all axle load classes being available. Example: if you only want to provide 2 axle load classes for standard gauge unelectrified with no speed limits, you can map SA&#039;&#039;&#039;A&#039;&#039;&#039;N + SA&#039;&#039;&#039;B&#039;&#039;&#039;N to SA&#039;&#039;&#039;C&#039;&#039;&#039;N and SA&#039;&#039;&#039;D&#039;&#039;&#039;N to SA&#039;&#039;&#039;E&#039;&#039;&#039;N if the cost difference between the two railtypes is high, or SA&#039;&#039;&#039;A&#039;&#039;&#039;N to SA&#039;&#039;&#039;B&#039;&#039;&#039;N and SA&#039;&#039;&#039;C&#039;&#039;&#039;N + SA&#039;&#039;&#039;D&#039;&#039;&#039;N to SA&#039;&#039;&#039;E&#039;&#039;&#039;N if the cost difference is low.&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t want to provide any axle load classes in your track set, it doesn&#039;t really matter what axle load class you choose for the track, as you&#039;ll be mapping all other classes to this track anyways. But the lowest or highest class are the obvious choice. Example: if your track set only provides narrow gauge unelectrified track with no speed limits and no axle load limits, you may use NA&#039;&#039;&#039;A&#039;&#039;&#039;N for the track label, and provide NA&#039;&#039;&#039;B&#039;&#039;&#039;N, NA&#039;&#039;&#039;C&#039;&#039;&#039;N, NA&#039;&#039;&#039;D&#039;&#039;&#039;N, NA&#039;&#039;&#039;E&#039;&#039;&#039;N in property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you need more than five axle load class, you may use lowercase letters for very low axle loads and continue the uppercase letters for very high axle loads. Be advised that your train set may not assume the existance of any other class than &#039;&#039;&#039;A&#039;&#039;&#039; through &#039;&#039;&#039;E&#039;&#039;&#039;, so when the range make sure to program your railtype table such that trains with such a class will fall back to class &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;E&#039;&#039;&#039;. If you make a track set with an extended range, be aware that not all train sets will define trains for these tracks. In general: only do this in case of a train set with a matching track set.&lt;br /&gt;
&lt;br /&gt;
For the lowercase letters, &#039;&#039;&#039;b&#039;&#039;&#039; is lower than &#039;&#039;&#039;a&#039;&#039;&#039;, so for increasing axle load limits: b &amp;lt; a &amp;lt; A &amp;lt; B &amp;lt; C etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that the axle load classes never map to a specific weight in tonnes. For that reason it does not make sense to add a numeric value for the axle load to the name of a track type or in the extended purchase info of a train. Instead use the relative expressions &#039;very low&#039;, &#039;low&#039;, &#039;medium&#039;, &#039;high&#039; and &#039;very high&#039; or use the class letters directly.&lt;br /&gt;
&lt;br /&gt;
If a guideline is needed for updating a set to use axle loads in a train set where they don&#039;t yet exist, the following might serve as a basic &amp;quot;generic&amp;quot; guideline...&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Indefinite !!Generic !! First usage&lt;br /&gt;
|-&lt;br /&gt;
|_ ||Unspecified ||No limit at all || style=&amp;quot;text-align:right;&amp;quot;|0&lt;br /&gt;
|-&lt;br /&gt;
|c ||Horse-drawn Wagonway ||1 metric tonne (1000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|1594&lt;br /&gt;
|-&lt;br /&gt;
|b ||Iron Plateway ||1 metric tonne (1000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|1799&lt;br /&gt;
|-&lt;br /&gt;
|a ||Prototype Rails ||5 metric tonnes (5000kg) per axle; Because reserved by examples || style=&amp;quot;text-align:right;&amp;quot;|1820&lt;br /&gt;
|-&lt;br /&gt;
|A ||Very Low (2012 OG Default)||10 metric tonnes (10000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|1828&lt;br /&gt;
|-&lt;br /&gt;
|B ||Low (2024 &amp;quot;New&amp;quot; Default) ||20 metric tonnes (20000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|1968&lt;br /&gt;
|-&lt;br /&gt;
|C ||Medium ||30 metric tonnes (30000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|~1978&lt;br /&gt;
|-&lt;br /&gt;
|D ||High ||40 metric tonnes (40000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|1988&lt;br /&gt;
|-&lt;br /&gt;
|E ||Very High ||50 metric tonnes (50000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|2008&lt;br /&gt;
|-&lt;br /&gt;
|F ||Future-proofing ||No limit per axle (update in 2030 or so?) || style=&amp;quot;text-align:right;&amp;quot;|~2028&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Energy source type class [***X] ===&lt;br /&gt;
The last position defines the energy source type class. This is split in generic energy source types like overhead wires and third rail and specialized types like alternating and direct current.&lt;br /&gt;
&lt;br /&gt;
A track set that only uses specialized types, should map the generic types to the most suitable specialized type in the set.&lt;br /&gt;
&lt;br /&gt;
A vehicle set that uses specialized types should define a generic type as fallback, via the railtype table. If such a fallback is omitted, please note that certain vehicles may be unavailable depending on track set loaded.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Generic energy type classes&lt;br /&gt;
|-&lt;br /&gt;
|N ||no electrification&lt;br /&gt;
|-&lt;br /&gt;
|E ||overhead wires/catenary electrification&lt;br /&gt;
|-&lt;br /&gt;
|3 ||3rd rail electrification&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Specialized energy type classes !!Vehicle set fallback&lt;br /&gt;
|-&lt;br /&gt;
|Z ||3rd rail and catenary electrification || 3 or E&lt;br /&gt;
|-&lt;br /&gt;
|4 ||4th rail electrification || 3&lt;br /&gt;
|-&lt;br /&gt;
|Y ||4th rail and catenary electrification || 4 or E&lt;br /&gt;
|-&lt;br /&gt;
|T ||[http://en.wikipedia.org/wiki/Three-phase_AC_railway_electrification three phase AC electrification] || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|D ||DC catenary electrification || E&lt;br /&gt;
|-&lt;br /&gt;
|d ||low voltage DC catenary electrification (only when D also used in set) || First A then E&lt;br /&gt;
|-&lt;br /&gt;
|A ||AC catenary electrification || E&lt;br /&gt;
|-&lt;br /&gt;
|a ||low voltage AC catenary electrification (only when A also used in set) || First A then E&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
If you want multi-voltage/current vehicles in your set (i.e. a train that can run on both AC and DC current), you have to define a dedicated railtype for those vehicles. Without the railtype, it&#039;s not possible to define vehicles with this property. If you only have vehicles that can run on either one type of voltage/current or on all types of voltage/current (e.g. a 2-system if you only have &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;D&#039;&#039;&#039; tracks, or a 4-system in case of all &#039;&#039;&#039;A&#039;&#039;&#039;, &#039;&#039;&#039;a&#039;&#039;&#039;, &#039;&#039;&#039;D&#039;&#039;&#039; and &#039;&#039;&#039;d&#039;&#039;&#039;), then use the generic class &#039;&#039;&#039;E&#039;&#039;&#039; for vehicles that should be able to run on all different voltage/currents. Also the track set needs to have one at least one railtype with class &#039;&#039;&#039;E&#039;&#039;&#039; defined.&lt;br /&gt;
&lt;br /&gt;
Note that if you want more than one type of multi-voltage/current, you&#039;ll quickly get a combinatory explosion of railtype labels, so plan carefully or do not attempt it. For every different multi-voltage/current vehicle type a dedicated railtype is needed. If you want all possible combinations, then you need to define an additional 8 classes. It is not recommended to make your train/track set this complicated.&lt;br /&gt;
&lt;br /&gt;
Example approach for a 4-system set, with trains that can run on either one or all systems:&lt;br /&gt;
* &#039;&#039;&#039;E&#039;&#039;&#039;: generic catenary-powered electric engines. &amp;quot;universal&amp;quot; [4-system] if any of &#039;&#039;&#039;D&#039;&#039;&#039;/&#039;&#039;&#039;d&#039;&#039;&#039;/&#039;&#039;&#039;A&#039;&#039;&#039;/&#039;&#039;&#039;a&#039;&#039;&#039; are defined.&lt;br /&gt;
* &#039;&#039;&#039;A&#039;&#039;&#039;: generic AC catenary electric engines. 25kV only if &#039;&#039;&#039;a&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;A&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;a&#039;&#039;&#039;: 15kV AC catenary electric engines. Only defined if &#039;&#039;&#039;A&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;a&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;D&#039;&#039;&#039;: generic DC catenary electric engines. 3kV if &#039;&#039;&#039;d&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;D&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;d&#039;&#039;&#039;: 1.5kV DC catenary electric engines. Only defined if &#039;&#039;&#039;D&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;D&#039;&#039;&#039; and &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;d&#039;&#039;&#039;.&lt;br /&gt;
For a 2-system set, you can simply drop &#039;&#039;&#039;a&#039;&#039;&#039; and &#039;&#039;&#039;d&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Standard labels: RAIL, ELRL, MONO, MGLV ===&lt;br /&gt;
It&#039;s not possible to undefine the standard railtypes RAIL, ELRL, MONO and MGLV. The game will always add those if there are vehicles defined for these track types. As a result, for a track set it&#039;s best not to ignore those standard labels, but rather work with them and define them in the set. If your track set does not have monorail or maglev tracks, there of course is no need to define those. But if your track set defines anything that resembles unelectrified or electrified rail, you should use the RAIL and ELRL labels. Matching labels from the above scheme will then be defined in property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
As vehicles from NewGRFs that do not use explicit railtypes will end up on these standard railtypes, you should use RAIL instead of whatever type could be regarded as the most commonly used unelectrified type, ELRL instead of the most commonly used electrified type and so on. The label according to this scheme is then set as an alternate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Summary for track sets ==&lt;br /&gt;
This section summarizes the above for track sets.&lt;br /&gt;
&lt;br /&gt;
; [X***] Track gauge and type class&lt;br /&gt;
* Define at least one track type for every track gauge/type class you want in your set.&lt;br /&gt;
* If you only provide tracks for one gauge/type, consider leaving some free railtypes so a player can load an additional set for some other type.&lt;br /&gt;
; [*X**] Speed limit class&lt;br /&gt;
* Make sure class A is always available, either directly or via an alternate label.&lt;br /&gt;
* Use only class A if you don&#039;t want speed limits;&lt;br /&gt;
* With speed limits, A is the lowest speed limit. Continue with B, C, etc. for increasing speed limits;&lt;br /&gt;
* The speed class can also be used to implement additional eye-candy track types, use letters higher in the alphabet for this.&lt;br /&gt;
; [**X*] Axle load class&lt;br /&gt;
* Always define all classes A through E for every track type class / electrification combination, either:&lt;br /&gt;
** Directly via a real railtype definition;&lt;br /&gt;
** Indirectly via the alternate rail type label list, property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
* Extend the predefined classes only if you also provide a train set that makes use of these.&lt;br /&gt;
; [***X] Energy source type class&lt;br /&gt;
* If your set only uses specialized classes, always map the generic classes to the closest matching specialized type via property 1D.&lt;br /&gt;
; Standard labels [RAIL, ELRL, MONO, MGLV]&lt;br /&gt;
* Always define the standard labels when possible, instead of what would be the equivalent of the standard label in this scheme.&lt;br /&gt;
* Map the equivalent labels from this scheme to the standard labels using property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
Or, put differently, for each gauge/type, select one or more energy source types. For each type/energy combination provide all axle load classes for the speed class &amp;quot;A&amp;quot;, either as a real type or as an alternate of another type. Provide more types with a different speed letter if you want to provide several different speeds or other eye-candy tracks.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Summary for train sets ==&lt;br /&gt;
This section summarizes the above for train sets.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; [X***] Track gauge and type class&lt;br /&gt;
* Use the track type class that matches the vehicle;&lt;br /&gt;
* Define a fallback type via the railtype table in case you want the vehicle to be available on a different track if no matching track set is loaded.&lt;br /&gt;
** Specialized subtypes like &amp;quot;n&amp;quot; might not always be available. If you want those vehicles to be still available then, fall back the the generic class (e.g. &amp;quot;N&amp;quot;).&lt;br /&gt;
; [*X**] Speed limit class &lt;br /&gt;
* Always use class A for every vehicle.&lt;br /&gt;
; [**X*] Axle load class&lt;br /&gt;
* Use all classes A through E according to the maximum axle weight of the vehicle.&lt;br /&gt;
* Extend the predefined classes only if you also provide a track set that makes use of these;&lt;br /&gt;
** When extending the predefined classes A through E, define a fallback type via the railtype table in case you want the vehicle to be available if no matching track set is loaded.&lt;br /&gt;
; [***X] Energy source type class&lt;br /&gt;
* Use the energy source type class that matches the vehicle;&lt;br /&gt;
* When using specialized classes, define a fallback type via the railtype table in case you want the vehicle to be available if no matching track set is loaded.&lt;br /&gt;
; Standard labels [RAIL, ELRL, MONO, MGLV]&lt;br /&gt;
* Define a fallback type to the standard labels via the railtype table in case you want the vehicle to be available on the standard tracks if no matching track set is loaded.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Be as specific as you want when selecting the railtype, it is the job of the track set to select a playable, reduced subset out of all possible type combinations.&lt;br /&gt;
&lt;br /&gt;
== In case you&#039;re not convinced by this scheme ==&lt;br /&gt;
Adopting this scheme gives the player freedom to use any track set in combination with any train set that follow the scheme. &lt;br /&gt;
&lt;br /&gt;
This means that you can make your train set compatible with track sets that provide axle load classes, and track sets that provide speed limits, and at the same time with track sets that provide none of this. This way, the player can decide to play with or without axle load classes, or with or without speed limits, simply by loading a track set that does or does not provide these features.&lt;br /&gt;
&lt;br /&gt;
And for your track set, it means that you can make it as simple or as complicated as you want (within the 64 track type limit), while not having to worry about compatibility with train sets.&lt;br /&gt;
&lt;br /&gt;
Still not convinced? Feel free to use railtype labels of your own, but know that you will likely come to regret that at some point in the future.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Forum topic==&lt;br /&gt;
If you want to discuss the standardized railtype scheme or have any questions about it, you can visit [http://www.tt-forums.net/viewtopic.php?t=59379 the forum topic].&lt;br /&gt;
&lt;br /&gt;
==&amp;quot;Innsbruck 2022 Convention&amp;quot; for partial compliance==&lt;br /&gt;
&lt;br /&gt;
This is really esoteric, but eh. It was the product of long discussion / debate / argument / reasoning between grf authors.&lt;br /&gt;
&lt;br /&gt;
1. The Standardized Railtype Scheme &#039;&#039;&#039;is a useful tool&#039;&#039;&#039; for providing reliable compatibility between train grfs and railtype grfs.&lt;br /&gt;
&lt;br /&gt;
2. The &#039;&#039;&#039;axle load class&#039;&#039;&#039; in the scheme presents a number of issues for compliance.&lt;br /&gt;
&lt;br /&gt;
2.1. Over 10 years since the scheme was standardised, not many train grfs implement multiple axle load classes &#039;&#039;&#039;as required by the scheme&#039;&#039;&#039;.  Known examples that &#039;&#039;&#039;do&#039;&#039;&#039; comply include Dutch Train Set, French Narrow Gauge Trains, and Finnish Trains.&lt;br /&gt;
&lt;br /&gt;
2.2. Elements of the axle load rules have proven hard to interpret.  For example:&lt;br /&gt;
&lt;br /&gt;
* is it compliant to use &#039;&#039;fewer&#039;&#039; than 5 classes in a train grf?  There is a lack of consensus on this.&lt;br /&gt;
* axle load is only one of many factors that govern whether a vehicle is compatible with a route, for example loading gauge, minimum curve, signalling types etc&lt;br /&gt;
&lt;br /&gt;
2.3. Meanwhile &#039;&#039;multiple existing train grfs use class &#039;&#039;A&#039;&#039; for the axle load for all trains&#039;&#039; (except where relying on default railtypes such as RAIL and ELRL).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3. The Innsbruck 2022 Convention uses class &#039;&#039;A&#039;&#039; for axle load for &#039;&#039;&#039;all&#039;&#039;&#039; trains in a train grf (except where relying on default railtypes such as RAIL and ELRL).&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is &#039;&#039;&#039;not&#039;&#039;&#039; fully compliant with the Standardized Railtype Scheme and does not claim to be.&lt;br /&gt;
&lt;br /&gt;
However train grfs using the Innsbruck 2022 Convention are &#039;&#039;broadly compatible&#039;&#039; with railtype grfs using the Standardized Railtype Scheme.  &lt;br /&gt;
&lt;br /&gt;
Obligatory XKCD link about &#039;standards&#039;: https://xkcd.com/927/&lt;br /&gt;
&lt;br /&gt;
===Known issues===&lt;br /&gt;
&lt;br /&gt;
Known problems are that trains using only class &#039;A&#039; may limit the ability of railtype grf authors to achieve their design goals for separating railtypes by axle load.  &lt;br /&gt;
But on reflection, it can be seen that a train grf might not be able to provide a broad enough range of vehicles to cover at least 5 axle load classes.&lt;br /&gt;
&lt;br /&gt;
3.1. The Innsbruck 2022 Convention is &#039;&#039;&#039;not&#039;&#039;&#039; appropriate for train grf authors who wish to provide more than one axle load class.&lt;br /&gt;
&lt;br /&gt;
3.2. The Innsbruck 2022 Convention treats the meaning of class &#039;&#039;A&#039;&#039; as &#039;&#039;undefined&#039;&#039;, &#039;&#039;ignored&#039;&#039; or &#039;&#039;compatible with most restricted railtype&#039;&#039; for axle load.  &lt;br /&gt;
&lt;br /&gt;
Axle load class &#039;&#039;A&#039;&#039; &#039;&#039;&#039;cannot&#039;&#039;&#039; be safely interpreted as &#039;&#039;universal&#039;&#039; because from the perspective of a railtype grf &#039;&#039;A&#039;&#039; is &#039;&#039;most restricted railtype&#039;&#039;, where &#039;&#039;universal&#039;&#039; is better represented as &#039;&#039;least restricted railtype&#039;&#039;. Depending how many axle load classes are in use by the railtype grf, this could be class &#039;&#039;B&#039;&#039;, &#039;&#039;C&#039;&#039;, &#039;&#039;D&#039;&#039;, &#039;&#039;E&#039;&#039; etc.  To illustrate this issue, take the following scenario&lt;br /&gt;
&lt;br /&gt;
* railtype grf defines axle loads &#039;&#039;A&#039;&#039; to &#039;&#039;E&#039;&#039;. In this case the railtype grf author intends that &#039;&#039;A&#039;&#039; is compatible with the smallest range of vehicles, &#039;&#039;E&#039;&#039; is compatible with the largest range of vehicles, and &#039;&#039;B&#039;&#039;, &#039;&#039;C&#039;&#039; and &#039;&#039;D&#039;&#039; are compatible with some intermediate ranges of vehicles&lt;br /&gt;
* but the vehicle grf author has defined all vehicles to be axle load &#039;&#039;A&#039;&#039; in an attempt to express this vehicle is &#039;&#039;universal&#039;&#039;.  The result in the game is that an identical range of vehicles will be compatible with railtypes &#039;&#039;A&#039;&#039; to &#039;&#039;E&#039;&#039;.  &lt;br /&gt;
&lt;br /&gt;
This is clearly &#039;&#039;&#039;not&#039;&#039;&#039; the intended outcome of the railtype author. But nor is it clear within the spec that the vehicle author has particularly done anything wrong. &lt;br /&gt;
&lt;br /&gt;
It &#039;&#039;would&#039;&#039; be possible to use railtype availability testing to adjust the vehicle property 05 (track_type) to fit the highest defined axle load (&#039;&#039;E&#039;&#039; in this example case), but this is not insignificant work, and it&#039;s unlikely to be widely adopted by vehicle grf authors.  Nor would this solution achieve &#039;&#039;universal&#039;&#039; as all vehicles in vehicle grf then would be incompatible with types &#039;&#039;A&#039;&#039; through &#039;&#039;D&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
3.3. When the Innsbruck 2022 Convention is used, this &#039;&#039;&#039;does not prevent&#039;&#039;&#039; a train grf being extended in some future release to achieve full compliance with Standardized Railtype Scheme. &#039;&#039;That choice remains with train grf authors&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
3.4. If 2012 could be revisited, providing an optional &#039;&#039;_&#039;&#039; axle load class in the Standardized Railtype Scheme for &#039;&#039;undefined&#039;&#039; would have been preferable, but as of 2022, &#039;&#039;A&#039;&#039; is already widely used for this purpose, and time travel is not known to be possible.&lt;br /&gt;
&lt;br /&gt;
==Extended multivoltage support addition==&lt;br /&gt;
These are extensions to the energy source type class currently supported by SETS and xUSSR Rails which allow trainsets to code trains which are limited to a certain selection of voltages. As stated in the energy source type class section this might not be of use for all sets, as such it is optional but still recommended for trainsets for ideal functionality with tracksets which support the extended labels.&lt;br /&gt;
{|&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Specialized energy type classes !!Vehicle set fallback&lt;br /&gt;
|-&lt;br /&gt;
|* ||Equivilent to A, a, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|&#039; ||Equivilent to A, a and D || E&lt;br /&gt;
|-&lt;br /&gt;
|^ ||Equivilent to A, a and d || E&lt;br /&gt;
|-&lt;br /&gt;
|_ ||Equivilent to A, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
|, ||Equivilent to a, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|$ ||Equivilent to A and a  || First A then E&lt;br /&gt;
|-&lt;br /&gt;
|= ||Equivilent to D and d  || First D then E&lt;br /&gt;
|-&lt;br /&gt;
|) ||Equivilent to A and D  || E&lt;br /&gt;
|-&lt;br /&gt;
|( ||Equivilent to A and d  || E&lt;br /&gt;
|-&lt;br /&gt;
|] ||Equivilent to a and D  || E&lt;br /&gt;
|-&lt;br /&gt;
|[ ||Equivilent to a and d  || E&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Possible additions==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Track type/gauge&lt;br /&gt;
|-&lt;br /&gt;
|_ ||Universal &amp;quot;cheat&amp;quot; rail; ALWAYS add &amp;quot;_A_-&amp;quot; and &amp;quot;_A_N&amp;quot; to EVERY [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]] (as well as the equivalent electrified/pneumatic railtype that is powered on your electrified/pneumatic railtype to support it if you are making a new railtype set, older sets can be covered by fix or patch grfs) and &amp;quot;_A_t&amp;quot; to EVERY [[NML:Railtypes#Railtype_properties|powered_railtype_list (NML)]]&lt;br /&gt;
|-&lt;br /&gt;
|0 ||(A number zero, not a letter &amp;quot;Oh&amp;quot;) No track, eyecandy-use only&lt;br /&gt;
|-&lt;br /&gt;
|U ||[https://perma.cc/93VE-8JQZ &amp;quot;Ukrainian monorail&amp;quot; or Şaropoí̈zd (Шаропоїзд)], a u-shaped concrete &amp;quot;monorail trench&amp;quot; from 1920&#039;s Soviet Union; see [https://www.tt-forums.net/viewtopic.php?f=26&amp;amp;t=47432 the Yarmanchuk Express] for graphics&lt;br /&gt;
|-&lt;br /&gt;
|1 ||Early Monorail; See [https://perma.cc/6BVS-2P2X here] and [https://perma.cc/VCG2-ATUA here]&lt;br /&gt;
|-&lt;br /&gt;
|G ||Gyrail; [https://en.wikipedia.org/wiki/Gyro_monorail Gyro monorail/Gyroscopic monorail/Gyro-stabilized monorail] for description and IRL example, and [https://wikimon.net/Trailmon here] ([https://web.archive.org/web/20240227205547/https://wikimon.net/Trailmon archived]) for good fictional examples&lt;br /&gt;
|-&lt;br /&gt;
|m ||Minimum gauge rail; [https://en.wikipedia.org/wiki/Minimum-gauge_railway 15 in (381 mm), 400 mm (15+3⁄4 in), 16 in (406 mm), 18 in (457 mm), 19 in (483 mm), 500 mm (19+3⁄4 in) or 20 in (508 mm)]&lt;br /&gt;
|-&lt;br /&gt;
|n ||600mm &amp;quot;Decauville&amp;quot; or &amp;quot;Feldsbahn&amp;quot;, formerly labelled &amp;quot;NG60&amp;quot; before standardization; the most common narrow gauge track type in OpenTTD other than metre gauge, 600mm gauge is thus ideal for taking up the &amp;quot;n&amp;quot; gauge, though this is an ultimately optional distinction&lt;br /&gt;
|-&lt;br /&gt;
|7 ||750mm, Bosnian gauge (760 mm), and 762mm; all start with 7 and are close in size&lt;br /&gt;
|-&lt;br /&gt;
|3 ||Swedish 3 foot (891 mm), 900mm, 3 foot (914 mm) and Italian Metre (950mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|R ||Metre gauge; potentially compatible with base tramtype &amp;quot;RABN&amp;quot;, most early tramways were metre gauge&lt;br /&gt;
|-&lt;br /&gt;
|4 ||4 foot gauge (1219 mm), and possibly 4&#039;6&amp;quot; in. (1372 mm) if standardization is needed for 1372mm&lt;br /&gt;
|-&lt;br /&gt;
|s ||Scotch gauge (1372 mm)&lt;br /&gt;
|-&lt;br /&gt;
|S ||Standard gauge; already implemented in original standardized railtype scheme, but could include near-standard (1432 mm) as well as existing true standard (1435 mm) and is also potentially compatible with the SABN tramtype&lt;br /&gt;
|-&lt;br /&gt;
|X ||Omni-gauge rail (for at-grade multi-gauge crossings and stations); ultrabroad/secondary broad/primary broad/standard/primary narrow/secondary narrow gauge&lt;br /&gt;
|-&lt;br /&gt;
|x ||Multi-gauge rail (for at-grade multi-gauge crossings and stations); secondary broad/primary broad/standard/primary narrow/secondary narrow&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;+&amp;lt;/nowiki&amp;gt; ||Quad-gauge (Four-gauge) rail (for at-grade multi-gauge crossings and stations); secondary broad/primary broad/standard/primary narrow&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt; ||Four-gauge rail (for at-grade multi-gauge crossings and stations); primary broad/standard/primary narrow/secondary narrow&lt;br /&gt;
|-&lt;br /&gt;
|b ||Broad gauge rail - As broad gauge is a rare tracktype, it may still be feasible to cement B and b as broad gauges of two differing sizes, but the rarity among gauges in the real world would need to match; Italian (1445 mm) and Dresden (1450 mm) gauges may be better grouped here&lt;br /&gt;
|-&lt;br /&gt;
|t ||Leipzig trams (1458 mm) and Greater Toronto Area streetcars (1495 mm)&lt;br /&gt;
|-&lt;br /&gt;
|5 ||1520mm and 5 foot (1524 mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|V ||Pennsylvanian (1581 mm and 1588 mm) and Australian &amp;quot;Victorian&amp;quot; (1600 mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|6 ||6 foot (1829 mm) broad gauge&lt;br /&gt;
|-&lt;br /&gt;
|g ||Brunel&#039;s Great Western Railway gauge (2140 mm)&lt;br /&gt;
|-&lt;br /&gt;
|B ||Biggest Broad gauge rail - As broad gauge is a rare tracktype, and the variation in common real life track types too wide, it may be desirable to cement B and b as broad gauges of two differing sizes; With no real life examples that match the usage frequency of &amp;quot;B&amp;quot;, the gauge might best draw inspiration from the infamous [https://en.wikipedia.org/wiki/Breitspurbahn Breitspurbahn] (3000 mm) and [https://perma.cc/KQ2Z-5RCR the never-built vehicles designed for it], or from the [https://en.wikipedia.org/wiki/Brighton_and_Rottingdean_Seashore_Electric_Railway Brighton &amp;amp; Rottingdean Seashore Electric Railway] (18 ft/5,486 mm) &lt;br /&gt;
|-&lt;br /&gt;
|L ||Maglevs that have a u-shaped track&lt;br /&gt;
|-&lt;br /&gt;
|T ||Maglevs that have a monorail track&lt;br /&gt;
|-&lt;br /&gt;
|F ||Flightrail; A [https://web.archive.org/web/20231213122530/http://www.flightrail.com/ system capable of high speeds and steep hill grades] that uses a pneumatic pipe for propulsion (see &amp;quot;P&amp;quot; under energy sources), and &#039;&#039;wheels pointed inwards at a 45-degree angle&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
It might be preferred to instead use/keep &amp;quot;B&amp;quot; for &amp;quot;all (current) broad gauges&amp;quot; (mostly Victorian gauge) instead using lowercase &amp;quot;b&amp;quot; for Brunel/GWR broad gauge. This wouldn&#039;t be to different from narrow gauge since the lesser used ones are lowercase and fallback to the uppercase ones.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Electrification !!Fallback !!Notes&lt;br /&gt;
|-&lt;br /&gt;
|1 ||Unspecified monorail electrification |||MONO (the whole label) ||&lt;br /&gt;
|-&lt;br /&gt;
|S ||Maglevs that use a synchronous linear motor ||N/A ||&lt;br /&gt;
|-&lt;br /&gt;
|I ||Maglevs that use a linear induction motor ||MGLV (the whole label) ||&lt;br /&gt;
|-&lt;br /&gt;
|V ||Vactrains/Hyperloop ||t, then I, then MGLV (the whole label) ||&lt;br /&gt;
|-&lt;br /&gt;
|t ||&amp;quot;Universal custom tunnel&amp;quot; (for electrified sub-surface rail tunnels) ||c, then p, then 7, then U (mandatory) ||&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt; ||Universal energy type (&#039;&#039;not&#039;&#039; meant to replace &amp;quot;***N&amp;quot;; use for vehicles such as driving cabs which cannot move under their own power regardless, if desired) ||N/A (Be sure to put &amp;quot;***E&amp;quot; in the [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]] of a &amp;quot;***-&amp;quot; label) ||(&#039;&#039;Do not give a fallback or use for railtypes, this is for unpowered &amp;quot;locomotives&amp;quot; only!&#039;&#039;)&lt;br /&gt;
|-&lt;br /&gt;
|5 ||750v DC Outer 3rd Rail (&amp;quot;MTRO&amp;quot; or &amp;quot;SA_3&amp;quot;) and 630v DC Inner 3rd/4th Rail; a total of 5 rails (2 for wheels, 3 for electricity), plausible in the London Underground network ||3 or 4 ||&lt;br /&gt;
|-&lt;br /&gt;
|U ||750v DC Outer 3rd Rail (&amp;quot;MTRO&amp;quot; or &amp;quot;SA_3&amp;quot;), 630v DC Inner 3rd/4th Rail and universal catenary (SAEE); a total of 5 rails (2 for wheels, 3 for electricity) if only one gauge, plausible in the London Underground network and an &amp;quot;ultimate&amp;quot; dual rail electrification without being a cheat (make it expensive or toggle-able?) as SAEU or as XAEU (universal dual rail electrified tracks) ||E ||&lt;br /&gt;
|-&lt;br /&gt;
|7 ||750v DC Outer 3rd Rail (&amp;quot;MTRO&amp;quot; or &amp;quot;SA_3&amp;quot;), 630v DC Inner 3rd/4th Rail, Three-phase AC (SA_T) 3rd/4th rail &amp;amp; catenary, and universal catenary (SA_E); a total of 7 rails (2 for wheels, 5 for electricity) if only one gauge, a truly universal dual rail electrification without being impossible (make it VERY expensive or toggle-able so it isn&#039;t cheat-y?) as SAE7, XAE7 or even as XRE7 (combination of ALL two-rail track gauges with universally-compatible electrification including an outer 3rd rail and a paired set of inner 3rd/4th rails, and a rack rail in the exact center; improbable, but not physically impossible) ||U ||&lt;br /&gt;
|-&lt;br /&gt;
|P ||Pneumatic tube with physical piston slit, or closed pneumatic tube with magnetic piston (i.e. that used by [https://web.archive.org/web/20231213122530/http://www.flightrail.com/ Flightrail]) ||N/A ||&lt;br /&gt;
|-&lt;br /&gt;
|p ||Pneumatic and universal electrical power ||P or 7 (Be sure to put &amp;quot;***_&amp;quot; and ***P&amp;quot; in the [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]] of a &amp;quot;***p&amp;quot; label) || XREp is a combination of ALL two-rail track gauges with improbably high axle load with universally-compatible electrification including an outer 3rd rail and a paired set of inner 3rd/4th rails, and a rack rail in the exact center; improbable, but not physically impossible)&lt;br /&gt;
|-&lt;br /&gt;
|c ||Cheat electrification type; use solely for the &amp;quot;_R_c&amp;quot; and &amp;quot;_R_t&amp;quot; railtype labels specifically (runs everything if coded properly), the latter (&amp;quot;_R_t&amp;quot;) is for tunnels, while the former (&amp;quot;_R_c&amp;quot;) is for &amp;quot;cheat rail upgrade&amp;quot; newgrfs ||p, then 7, then U, then E, then N, then &amp;quot;SA_-&amp;quot; (the whole label) ||&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Lurkmore</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=Standardized_Railtype_Scheme&amp;diff=4758</id>
		<title>Standardized Railtype Scheme</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=Standardized_Railtype_Scheme&amp;diff=4758"/>
		<updated>2024-03-10T10:41:48Z</updated>

		<summary type="html">&lt;p&gt;Lurkmore: /* Axle load class [**X*] */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This railtype label scheme aims to bring order to the uncontrolled growth of railtype labels. It groups the rail types into what matters from a technical perspective. The scheme provides a standardized way of defining railtype labels, based on track gauge and type, speed class, allowable axle weight and electrification type.&lt;br /&gt;
&lt;br /&gt;
It is the explicit intent of this scheme to decouple track sets from vehicle sets to facilitate easy mixing. This way the player can select a track set of choice to go with a train set of choice. It allows the player to play with or without axle load classes, or with or without speed limit classes, simply by loading a track set that does or does not provide these features. In some cases it will also be possible to combine niche track sets, for instance a standard gauge track set with a narrow gauge and a metro track set.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== The Label Scheme ==&lt;br /&gt;
A railtype label consists of four characters. In this scheme, each position has a different purpose:&lt;br /&gt;
# Track gauge and type class (e.g. standard gauge rail, narrow gauge rail, monorail)&lt;br /&gt;
# Speed limit class&lt;br /&gt;
# Axle load class (maximum allowed axle weight for this track)&lt;br /&gt;
# Energy source type class&lt;br /&gt;
&lt;br /&gt;
In the next sections, each of the four positions will be explained.&lt;br /&gt;
&lt;br /&gt;
=== Track gauge and type class [X***] ===&lt;br /&gt;
The first position in the railtype label defines track gauge and/or track type class. The following classes are currently defined:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Track type/gauge&lt;br /&gt;
|- &lt;br /&gt;
|S ||Standard gauge rail&lt;br /&gt;
|-&lt;br /&gt;
|B ||Broad gauge rail &lt;br /&gt;
|-&lt;br /&gt;
|N ||Narrow gauge rail&lt;br /&gt;
|-&lt;br /&gt;
|n ||Secondary narrow gauge rail (e.g. when providing both metre and cape gauge, always use N in case of just one type of narrow gauge)&lt;br /&gt;
|-&lt;br /&gt;
|D ||Dual gauge rail, standard/broad gauge&lt;br /&gt;
|-&lt;br /&gt;
|d ||Dual gauge rail, standard/narrow gauge&lt;br /&gt;
|-&lt;br /&gt;
|M ||Monorail&lt;br /&gt;
|-&lt;br /&gt;
|L ||Magnetic Levitation&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Speed limit class [*X**] ===&lt;br /&gt;
The second position in the railtype label defines the speed limit class. These classes do not map to a fixed numeric value, but are used to define an internal speed limit order for the track set. This means that if your track set has two different speed limits for track types that are otherwise identical, you&#039;ll use letters A and B here. In case of three different speed limits, use A, B and C. In case your track set does not employ speed limits, always use A. Train sets do not care about the speed limit, and will always set the lowest speed class, i.e. A.&lt;br /&gt;
&lt;br /&gt;
This gives for instance the following options:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||no speed limits&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;OR&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||low speed&lt;br /&gt;
|-&lt;br /&gt;
|B ||high speed&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;OR&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||low speed&lt;br /&gt;
|-&lt;br /&gt;
|B ||medium speed&lt;br /&gt;
|-&lt;br /&gt;
|C ||high speed&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;etc.&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear:left;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The speed limit class may also be used for some advanced features of the label scheme, like specialized track types and eyecandy purposes. Be careful not to break the compatibility with other sets when using the speed limit class for these purposes.&lt;br /&gt;
&lt;br /&gt;
An example of a special use is rack rail. In the French set it is used to give rack rail engines a higher speed and TE than normal rail engines when used on rack rail. When defining trains with a special speed limit class, always allow a fallback to speed limit class A via the railtype table.&lt;br /&gt;
&lt;br /&gt;
An example of eyecandy use are urban tracks. These are a variation of regular tracks, but with concrete ground tiles to better match the urban environment. Train sets must not define vehicles for eyecandy classes. If you think you have special vehicles that should only run on the eyecandy class, it is &#039;&#039;not&#039;&#039; eyecandy but a separate track gauge/type.&lt;br /&gt;
&lt;br /&gt;
The following special and eyecandy classes have been defined so far:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Description !!Type !!Used by&lt;br /&gt;
|- &lt;br /&gt;
|A-H ||speed limits ||colspan=&amp;quot;2&amp;quot;|reserved&lt;br /&gt;
|- &lt;br /&gt;
|R ||rack rail, that allows this vehicle to not slow down going uphill ||special ||French Set Rails&lt;br /&gt;
|-&lt;br /&gt;
|r ||rack rail, but is required by a locomotive with this railtype to move at all ||(hypothetical) ||Note: SrAN through SrEN should remap exclusively to SRAN-SREN and equivalent electrified railtypes, as though they are standardized the Sr?? railtypes should be hidden to prevent the false impression that Sr?? is an actual railtype rather than a &amp;quot;compatibility-defining&amp;quot; railtype that does not physically exist &lt;br /&gt;
|- &lt;br /&gt;
|S ||subterranean ||eyecandy ||Metro Track Set&lt;br /&gt;
|- &lt;br /&gt;
|U ||urban ||eyecandy ||Metro Track Set&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Axle load class [**X*] ===&lt;br /&gt;
The third position defines the axle weight limit. Heavy trains cannot run on tracks with a low axle weight limit; these trains need more expensive tracks with a heigher weight limit. There are five axle load classes &#039;&#039;&#039;A&#039;&#039;&#039; through &#039;&#039;&#039;E&#039;&#039;&#039;. &#039;&#039;&#039;A&#039;&#039;&#039; is for the lowest axle load limit, &#039;&#039;&#039;E&#039;&#039;&#039; for the highest. The exact axle load attached to each class is relative to the track gauge/type and trains in the set. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A train set should set the appropriate axle weight for each train via the railtype label, as to make the set work with track sets that do provide tracks with different weight limits, even if you don&#039;t care about it for your trainset. Split all vehicles of a certain track gauge/type into five groups of similar axle weight. The group with the lowest axle weights will get class &#039;&#039;&#039;A&#039;&#039;&#039;, the second lowest class &#039;&#039;&#039;B&#039;&#039;&#039;, etc. up to the group with the highest axle weights which will get class &#039;&#039;&#039;E&#039;&#039;&#039;. Do the same for the other track gauge/types if your train set has those.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A track set does not have to provide a dedicated track type for each axle weight limit. A track set that does not provide a dedicated track for each axle load class, must make sure to map all undefined axle load classes to a real railtype using property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]]. This way a train set can rely on all labels for all axle load classes being available. Example: if you only want to provide 2 axle load classes for standard gauge unelectrified with no speed limits, you can map SA&#039;&#039;&#039;A&#039;&#039;&#039;N + SA&#039;&#039;&#039;B&#039;&#039;&#039;N to SA&#039;&#039;&#039;C&#039;&#039;&#039;N and SA&#039;&#039;&#039;D&#039;&#039;&#039;N to SA&#039;&#039;&#039;E&#039;&#039;&#039;N if the cost difference between the two railtypes is high, or SA&#039;&#039;&#039;A&#039;&#039;&#039;N to SA&#039;&#039;&#039;B&#039;&#039;&#039;N and SA&#039;&#039;&#039;C&#039;&#039;&#039;N + SA&#039;&#039;&#039;D&#039;&#039;&#039;N to SA&#039;&#039;&#039;E&#039;&#039;&#039;N if the cost difference is low.&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t want to provide any axle load classes in your track set, it doesn&#039;t really matter what axle load class you choose for the track, as you&#039;ll be mapping all other classes to this track anyways. But the lowest or highest class are the obvious choice. Example: if your track set only provides narrow gauge unelectrified track with no speed limits and no axle load limits, you may use NA&#039;&#039;&#039;A&#039;&#039;&#039;N for the track label, and provide NA&#039;&#039;&#039;B&#039;&#039;&#039;N, NA&#039;&#039;&#039;C&#039;&#039;&#039;N, NA&#039;&#039;&#039;D&#039;&#039;&#039;N, NA&#039;&#039;&#039;E&#039;&#039;&#039;N in property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you need more than five axle load class, you may use lowercase letters for very low axle loads and continue the uppercase letters for very high axle loads. Be advised that your train set may not assume the existance of any other class than &#039;&#039;&#039;A&#039;&#039;&#039; through &#039;&#039;&#039;E&#039;&#039;&#039;, so when the range make sure to program your railtype table such that trains with such a class will fall back to class &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;E&#039;&#039;&#039;. If you make a track set with an extended range, be aware that not all train sets will define trains for these tracks. In general: only do this in case of a train set with a matching track set.&lt;br /&gt;
&lt;br /&gt;
For the lowercase letters, &#039;&#039;&#039;b&#039;&#039;&#039; is lower than &#039;&#039;&#039;a&#039;&#039;&#039;, so for increasing axle load limits: b &amp;lt; a &amp;lt; A &amp;lt; B &amp;lt; C etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that the axle load classes never map to a specific weight in tonnes. For that reason it does not make sense to add a numeric value for the axle load to the name of a track type or in the extended purchase info of a train. Instead use the relative expressions &#039;very low&#039;, &#039;low&#039;, &#039;medium&#039;, &#039;high&#039; and &#039;very high&#039; or use the class letters directly.&lt;br /&gt;
&lt;br /&gt;
If a guideline is needed for updating a set to use axle loads in a train set where they don&#039;t yet exist, the following might serve as a basic &amp;quot;generic&amp;quot; guideline...&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Indefinite !!Generic !! First usage&lt;br /&gt;
|-&lt;br /&gt;
|c ||Horse-drawn Wagonway ||1 metric tonne (1000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|1594&lt;br /&gt;
|-&lt;br /&gt;
|b ||Iron Plateway ||1 metric tonne (1000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|1799&lt;br /&gt;
|-&lt;br /&gt;
|a ||Prototype Rails ||5 metric tonnes (5000kg) per axle; Because reserved by examples || style=&amp;quot;text-align:right;&amp;quot;|1820&lt;br /&gt;
|-&lt;br /&gt;
|_ ||Unspecified ||No limit at all || style=&amp;quot;text-align:right;&amp;quot;|0&lt;br /&gt;
|-&lt;br /&gt;
|A ||Very Low (2012 OG Default)||10 metric tonnes (10000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|1828&lt;br /&gt;
|-&lt;br /&gt;
|B ||Low (2024 &amp;quot;New&amp;quot; Default) ||20 metric tonnes (20000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|1968&lt;br /&gt;
|-&lt;br /&gt;
|C ||Medium ||30 metric tonnes (30000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|~1978&lt;br /&gt;
|-&lt;br /&gt;
|D ||High ||40 metric tonnes (40000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|1988&lt;br /&gt;
|-&lt;br /&gt;
|E ||Very High ||50 metric tonnes (50000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|2008&lt;br /&gt;
|-&lt;br /&gt;
|F ||Future-proofing ||No limit per axle (update in 2030 or so?) || style=&amp;quot;text-align:right;&amp;quot;|~2028&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Energy source type class [***X] ===&lt;br /&gt;
The last position defines the energy source type class. This is split in generic energy source types like overhead wires and third rail and specialized types like alternating and direct current.&lt;br /&gt;
&lt;br /&gt;
A track set that only uses specialized types, should map the generic types to the most suitable specialized type in the set.&lt;br /&gt;
&lt;br /&gt;
A vehicle set that uses specialized types should define a generic type as fallback, via the railtype table. If such a fallback is omitted, please note that certain vehicles may be unavailable depending on track set loaded.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Generic energy type classes&lt;br /&gt;
|-&lt;br /&gt;
|N ||no electrification&lt;br /&gt;
|-&lt;br /&gt;
|E ||overhead wires/catenary electrification&lt;br /&gt;
|-&lt;br /&gt;
|3 ||3rd rail electrification&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Specialized energy type classes !!Vehicle set fallback&lt;br /&gt;
|-&lt;br /&gt;
|Z ||3rd rail and catenary electrification || 3 or E&lt;br /&gt;
|-&lt;br /&gt;
|4 ||4th rail electrification || 3&lt;br /&gt;
|-&lt;br /&gt;
|Y ||4th rail and catenary electrification || 4 or E&lt;br /&gt;
|-&lt;br /&gt;
|T ||[http://en.wikipedia.org/wiki/Three-phase_AC_railway_electrification three phase AC electrification] || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|D ||DC catenary electrification || E&lt;br /&gt;
|-&lt;br /&gt;
|d ||low voltage DC catenary electrification (only when D also used in set) || First A then E&lt;br /&gt;
|-&lt;br /&gt;
|A ||AC catenary electrification || E&lt;br /&gt;
|-&lt;br /&gt;
|a ||low voltage AC catenary electrification (only when A also used in set) || First A then E&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
If you want multi-voltage/current vehicles in your set (i.e. a train that can run on both AC and DC current), you have to define a dedicated railtype for those vehicles. Without the railtype, it&#039;s not possible to define vehicles with this property. If you only have vehicles that can run on either one type of voltage/current or on all types of voltage/current (e.g. a 2-system if you only have &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;D&#039;&#039;&#039; tracks, or a 4-system in case of all &#039;&#039;&#039;A&#039;&#039;&#039;, &#039;&#039;&#039;a&#039;&#039;&#039;, &#039;&#039;&#039;D&#039;&#039;&#039; and &#039;&#039;&#039;d&#039;&#039;&#039;), then use the generic class &#039;&#039;&#039;E&#039;&#039;&#039; for vehicles that should be able to run on all different voltage/currents. Also the track set needs to have one at least one railtype with class &#039;&#039;&#039;E&#039;&#039;&#039; defined.&lt;br /&gt;
&lt;br /&gt;
Note that if you want more than one type of multi-voltage/current, you&#039;ll quickly get a combinatory explosion of railtype labels, so plan carefully or do not attempt it. For every different multi-voltage/current vehicle type a dedicated railtype is needed. If you want all possible combinations, then you need to define an additional 8 classes. It is not recommended to make your train/track set this complicated.&lt;br /&gt;
&lt;br /&gt;
Example approach for a 4-system set, with trains that can run on either one or all systems:&lt;br /&gt;
* &#039;&#039;&#039;E&#039;&#039;&#039;: generic catenary-powered electric engines. &amp;quot;universal&amp;quot; [4-system] if any of &#039;&#039;&#039;D&#039;&#039;&#039;/&#039;&#039;&#039;d&#039;&#039;&#039;/&#039;&#039;&#039;A&#039;&#039;&#039;/&#039;&#039;&#039;a&#039;&#039;&#039; are defined.&lt;br /&gt;
* &#039;&#039;&#039;A&#039;&#039;&#039;: generic AC catenary electric engines. 25kV only if &#039;&#039;&#039;a&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;A&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;a&#039;&#039;&#039;: 15kV AC catenary electric engines. Only defined if &#039;&#039;&#039;A&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;a&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;D&#039;&#039;&#039;: generic DC catenary electric engines. 3kV if &#039;&#039;&#039;d&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;D&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;d&#039;&#039;&#039;: 1.5kV DC catenary electric engines. Only defined if &#039;&#039;&#039;D&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;D&#039;&#039;&#039; and &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;d&#039;&#039;&#039;.&lt;br /&gt;
For a 2-system set, you can simply drop &#039;&#039;&#039;a&#039;&#039;&#039; and &#039;&#039;&#039;d&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Standard labels: RAIL, ELRL, MONO, MGLV ===&lt;br /&gt;
It&#039;s not possible to undefine the standard railtypes RAIL, ELRL, MONO and MGLV. The game will always add those if there are vehicles defined for these track types. As a result, for a track set it&#039;s best not to ignore those standard labels, but rather work with them and define them in the set. If your track set does not have monorail or maglev tracks, there of course is no need to define those. But if your track set defines anything that resembles unelectrified or electrified rail, you should use the RAIL and ELRL labels. Matching labels from the above scheme will then be defined in property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
As vehicles from NewGRFs that do not use explicit railtypes will end up on these standard railtypes, you should use RAIL instead of whatever type could be regarded as the most commonly used unelectrified type, ELRL instead of the most commonly used electrified type and so on. The label according to this scheme is then set as an alternate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Summary for track sets ==&lt;br /&gt;
This section summarizes the above for track sets.&lt;br /&gt;
&lt;br /&gt;
; [X***] Track gauge and type class&lt;br /&gt;
* Define at least one track type for every track gauge/type class you want in your set.&lt;br /&gt;
* If you only provide tracks for one gauge/type, consider leaving some free railtypes so a player can load an additional set for some other type.&lt;br /&gt;
; [*X**] Speed limit class&lt;br /&gt;
* Make sure class A is always available, either directly or via an alternate label.&lt;br /&gt;
* Use only class A if you don&#039;t want speed limits;&lt;br /&gt;
* With speed limits, A is the lowest speed limit. Continue with B, C, etc. for increasing speed limits;&lt;br /&gt;
* The speed class can also be used to implement additional eye-candy track types, use letters higher in the alphabet for this.&lt;br /&gt;
; [**X*] Axle load class&lt;br /&gt;
* Always define all classes A through E for every track type class / electrification combination, either:&lt;br /&gt;
** Directly via a real railtype definition;&lt;br /&gt;
** Indirectly via the alternate rail type label list, property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
* Extend the predefined classes only if you also provide a train set that makes use of these.&lt;br /&gt;
; [***X] Energy source type class&lt;br /&gt;
* If your set only uses specialized classes, always map the generic classes to the closest matching specialized type via property 1D.&lt;br /&gt;
; Standard labels [RAIL, ELRL, MONO, MGLV]&lt;br /&gt;
* Always define the standard labels when possible, instead of what would be the equivalent of the standard label in this scheme.&lt;br /&gt;
* Map the equivalent labels from this scheme to the standard labels using property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
Or, put differently, for each gauge/type, select one or more energy source types. For each type/energy combination provide all axle load classes for the speed class &amp;quot;A&amp;quot;, either as a real type or as an alternate of another type. Provide more types with a different speed letter if you want to provide several different speeds or other eye-candy tracks.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Summary for train sets ==&lt;br /&gt;
This section summarizes the above for train sets.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; [X***] Track gauge and type class&lt;br /&gt;
* Use the track type class that matches the vehicle;&lt;br /&gt;
* Define a fallback type via the railtype table in case you want the vehicle to be available on a different track if no matching track set is loaded.&lt;br /&gt;
** Specialized subtypes like &amp;quot;n&amp;quot; might not always be available. If you want those vehicles to be still available then, fall back the the generic class (e.g. &amp;quot;N&amp;quot;).&lt;br /&gt;
; [*X**] Speed limit class &lt;br /&gt;
* Always use class A for every vehicle.&lt;br /&gt;
; [**X*] Axle load class&lt;br /&gt;
* Use all classes A through E according to the maximum axle weight of the vehicle.&lt;br /&gt;
* Extend the predefined classes only if you also provide a track set that makes use of these;&lt;br /&gt;
** When extending the predefined classes A through E, define a fallback type via the railtype table in case you want the vehicle to be available if no matching track set is loaded.&lt;br /&gt;
; [***X] Energy source type class&lt;br /&gt;
* Use the energy source type class that matches the vehicle;&lt;br /&gt;
* When using specialized classes, define a fallback type via the railtype table in case you want the vehicle to be available if no matching track set is loaded.&lt;br /&gt;
; Standard labels [RAIL, ELRL, MONO, MGLV]&lt;br /&gt;
* Define a fallback type to the standard labels via the railtype table in case you want the vehicle to be available on the standard tracks if no matching track set is loaded.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Be as specific as you want when selecting the railtype, it is the job of the track set to select a playable, reduced subset out of all possible type combinations.&lt;br /&gt;
&lt;br /&gt;
== In case you&#039;re not convinced by this scheme ==&lt;br /&gt;
Adopting this scheme gives the player freedom to use any track set in combination with any train set that follow the scheme. &lt;br /&gt;
&lt;br /&gt;
This means that you can make your train set compatible with track sets that provide axle load classes, and track sets that provide speed limits, and at the same time with track sets that provide none of this. This way, the player can decide to play with or without axle load classes, or with or without speed limits, simply by loading a track set that does or does not provide these features.&lt;br /&gt;
&lt;br /&gt;
And for your track set, it means that you can make it as simple or as complicated as you want (within the 64 track type limit), while not having to worry about compatibility with train sets.&lt;br /&gt;
&lt;br /&gt;
Still not convinced? Feel free to use railtype labels of your own, but know that you will likely come to regret that at some point in the future.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Forum topic==&lt;br /&gt;
If you want to discuss the standardized railtype scheme or have any questions about it, you can visit [http://www.tt-forums.net/viewtopic.php?t=59379 the forum topic].&lt;br /&gt;
&lt;br /&gt;
==&amp;quot;Innsbruck 2022 Convention&amp;quot; for partial compliance==&lt;br /&gt;
&lt;br /&gt;
This is really esoteric, but eh. It was the product of long discussion / debate / argument / reasoning between grf authors.&lt;br /&gt;
&lt;br /&gt;
1. The Standardized Railtype Scheme &#039;&#039;&#039;is a useful tool&#039;&#039;&#039; for providing reliable compatibility between train grfs and railtype grfs.&lt;br /&gt;
&lt;br /&gt;
2. The &#039;&#039;&#039;axle load class&#039;&#039;&#039; in the scheme presents a number of issues for compliance.&lt;br /&gt;
&lt;br /&gt;
2.1. Over 10 years since the scheme was standardised, not many train grfs implement multiple axle load classes &#039;&#039;&#039;as required by the scheme&#039;&#039;&#039;.  Known examples that &#039;&#039;&#039;do&#039;&#039;&#039; comply include Dutch Train Set, French Narrow Gauge Trains, and Finnish Trains.&lt;br /&gt;
&lt;br /&gt;
2.2. Elements of the axle load rules have proven hard to interpret.  For example:&lt;br /&gt;
&lt;br /&gt;
* is it compliant to use &#039;&#039;fewer&#039;&#039; than 5 classes in a train grf?  There is a lack of consensus on this.&lt;br /&gt;
* axle load is only one of many factors that govern whether a vehicle is compatible with a route, for example loading gauge, minimum curve, signalling types etc&lt;br /&gt;
&lt;br /&gt;
2.3. Meanwhile &#039;&#039;multiple existing train grfs use class &#039;&#039;A&#039;&#039; for the axle load for all trains&#039;&#039; (except where relying on default railtypes such as RAIL and ELRL).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3. The Innsbruck 2022 Convention uses class &#039;&#039;A&#039;&#039; for axle load for &#039;&#039;&#039;all&#039;&#039;&#039; trains in a train grf (except where relying on default railtypes such as RAIL and ELRL).&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is &#039;&#039;&#039;not&#039;&#039;&#039; fully compliant with the Standardized Railtype Scheme and does not claim to be.&lt;br /&gt;
&lt;br /&gt;
However train grfs using the Innsbruck 2022 Convention are &#039;&#039;broadly compatible&#039;&#039; with railtype grfs using the Standardized Railtype Scheme.  &lt;br /&gt;
&lt;br /&gt;
Obligatory XKCD link about &#039;standards&#039;: https://xkcd.com/927/&lt;br /&gt;
&lt;br /&gt;
===Known issues===&lt;br /&gt;
&lt;br /&gt;
Known problems are that trains using only class &#039;A&#039; may limit the ability of railtype grf authors to achieve their design goals for separating railtypes by axle load.  &lt;br /&gt;
But on reflection, it can be seen that a train grf might not be able to provide a broad enough range of vehicles to cover at least 5 axle load classes.&lt;br /&gt;
&lt;br /&gt;
3.1. The Innsbruck 2022 Convention is &#039;&#039;&#039;not&#039;&#039;&#039; appropriate for train grf authors who wish to provide more than one axle load class.&lt;br /&gt;
&lt;br /&gt;
3.2. The Innsbruck 2022 Convention treats the meaning of class &#039;&#039;A&#039;&#039; as &#039;&#039;undefined&#039;&#039;, &#039;&#039;ignored&#039;&#039; or &#039;&#039;compatible with most restricted railtype&#039;&#039; for axle load.  &lt;br /&gt;
&lt;br /&gt;
Axle load class &#039;&#039;A&#039;&#039; &#039;&#039;&#039;cannot&#039;&#039;&#039; be safely interpreted as &#039;&#039;universal&#039;&#039; because from the perspective of a railtype grf &#039;&#039;A&#039;&#039; is &#039;&#039;most restricted railtype&#039;&#039;, where &#039;&#039;universal&#039;&#039; is better represented as &#039;&#039;least restricted railtype&#039;&#039;. Depending how many axle load classes are in use by the railtype grf, this could be class &#039;&#039;B&#039;&#039;, &#039;&#039;C&#039;&#039;, &#039;&#039;D&#039;&#039;, &#039;&#039;E&#039;&#039; etc.  To illustrate this issue, take the following scenario&lt;br /&gt;
&lt;br /&gt;
* railtype grf defines axle loads &#039;&#039;A&#039;&#039; to &#039;&#039;E&#039;&#039;. In this case the railtype grf author intends that &#039;&#039;A&#039;&#039; is compatible with the smallest range of vehicles, &#039;&#039;E&#039;&#039; is compatible with the largest range of vehicles, and &#039;&#039;B&#039;&#039;, &#039;&#039;C&#039;&#039; and &#039;&#039;D&#039;&#039; are compatible with some intermediate ranges of vehicles&lt;br /&gt;
* but the vehicle grf author has defined all vehicles to be axle load &#039;&#039;A&#039;&#039; in an attempt to express this vehicle is &#039;&#039;universal&#039;&#039;.  The result in the game is that an identical range of vehicles will be compatible with railtypes &#039;&#039;A&#039;&#039; to &#039;&#039;E&#039;&#039;.  &lt;br /&gt;
&lt;br /&gt;
This is clearly &#039;&#039;&#039;not&#039;&#039;&#039; the intended outcome of the railtype author. But nor is it clear within the spec that the vehicle author has particularly done anything wrong. &lt;br /&gt;
&lt;br /&gt;
It &#039;&#039;would&#039;&#039; be possible to use railtype availability testing to adjust the vehicle property 05 (track_type) to fit the highest defined axle load (&#039;&#039;E&#039;&#039; in this example case), but this is not insignificant work, and it&#039;s unlikely to be widely adopted by vehicle grf authors.  Nor would this solution achieve &#039;&#039;universal&#039;&#039; as all vehicles in vehicle grf then would be incompatible with types &#039;&#039;A&#039;&#039; through &#039;&#039;D&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
3.3. When the Innsbruck 2022 Convention is used, this &#039;&#039;&#039;does not prevent&#039;&#039;&#039; a train grf being extended in some future release to achieve full compliance with Standardized Railtype Scheme. &#039;&#039;That choice remains with train grf authors&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
3.4. If 2012 could be revisited, providing an optional &#039;&#039;_&#039;&#039; axle load class in the Standardized Railtype Scheme for &#039;&#039;undefined&#039;&#039; would have been preferable, but as of 2022, &#039;&#039;A&#039;&#039; is already widely used for this purpose, and time travel is not known to be possible.&lt;br /&gt;
&lt;br /&gt;
==Extended multivoltage support addition==&lt;br /&gt;
These are extensions to the energy source type class currently supported by SETS and xUSSR Rails which allow trainsets to code trains which are limited to a certain selection of voltages. As stated in the energy source type class section this might not be of use for all sets, as such it is optional but still recommended for trainsets for ideal functionality with tracksets which support the extended labels.&lt;br /&gt;
{|&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Specialized energy type classes !!Vehicle set fallback&lt;br /&gt;
|-&lt;br /&gt;
|* ||Equivilent to A, a, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|&#039; ||Equivilent to A, a and D || E&lt;br /&gt;
|-&lt;br /&gt;
|^ ||Equivilent to A, a and d || E&lt;br /&gt;
|-&lt;br /&gt;
|_ ||Equivilent to A, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
|, ||Equivilent to a, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|$ ||Equivilent to A and a  || First A then E&lt;br /&gt;
|-&lt;br /&gt;
|= ||Equivilent to D and d  || First D then E&lt;br /&gt;
|-&lt;br /&gt;
|) ||Equivilent to A and D  || E&lt;br /&gt;
|-&lt;br /&gt;
|( ||Equivilent to A and d  || E&lt;br /&gt;
|-&lt;br /&gt;
|] ||Equivilent to a and D  || E&lt;br /&gt;
|-&lt;br /&gt;
|[ ||Equivilent to a and d  || E&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Possible additions==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Track type/gauge&lt;br /&gt;
|-&lt;br /&gt;
|_ ||Universal &amp;quot;cheat&amp;quot; rail; ALWAYS add &amp;quot;_A_-&amp;quot; and &amp;quot;_A_N&amp;quot; to EVERY [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]] (as well as the equivalent electrified/pneumatic railtype that is powered on your electrified/pneumatic railtype to support it if you are making a new railtype set, older sets can be covered by fix or patch grfs) and &amp;quot;_A_t&amp;quot; to EVERY [[NML:Railtypes#Railtype_properties|powered_railtype_list (NML)]]&lt;br /&gt;
|-&lt;br /&gt;
|0 ||(A number zero, not a letter &amp;quot;Oh&amp;quot;) No track, eyecandy-use only&lt;br /&gt;
|-&lt;br /&gt;
|U ||[https://perma.cc/93VE-8JQZ &amp;quot;Ukrainian monorail&amp;quot; or Şaropoí̈zd (Шаропоїзд)], a u-shaped concrete &amp;quot;monorail trench&amp;quot; from 1920&#039;s Soviet Union; see [https://www.tt-forums.net/viewtopic.php?f=26&amp;amp;t=47432 the Yarmanchuk Express] for graphics&lt;br /&gt;
|-&lt;br /&gt;
|1 ||Early Monorail; See [https://perma.cc/6BVS-2P2X here] and [https://perma.cc/VCG2-ATUA here]&lt;br /&gt;
|-&lt;br /&gt;
|G ||Gyrail; [https://en.wikipedia.org/wiki/Gyro_monorail Gyro monorail/Gyroscopic monorail/Gyro-stabilized monorail] for description and IRL example, and [https://wikimon.net/Trailmon here] ([https://web.archive.org/web/20240227205547/https://wikimon.net/Trailmon archived]) for good fictional examples&lt;br /&gt;
|-&lt;br /&gt;
|m ||Minimum gauge rail; [https://en.wikipedia.org/wiki/Minimum-gauge_railway 15 in (381 mm), 400 mm (15+3⁄4 in), 16 in (406 mm), 18 in (457 mm), 19 in (483 mm), 500 mm (19+3⁄4 in) or 20 in (508 mm)]&lt;br /&gt;
|-&lt;br /&gt;
|n ||600mm &amp;quot;Decauville&amp;quot; or &amp;quot;Feldsbahn&amp;quot;, formerly labelled &amp;quot;NG60&amp;quot; before standardization; the most common narrow gauge track type in OpenTTD other than metre gauge, 600mm gauge is thus ideal for taking up the &amp;quot;n&amp;quot; gauge, though this is an ultimately optional distinction&lt;br /&gt;
|-&lt;br /&gt;
|7 ||750mm, Bosnian gauge (760 mm), and 762mm; all start with 7 and are close in size&lt;br /&gt;
|-&lt;br /&gt;
|3 ||Swedish 3 foot (891 mm), 900mm, 3 foot (914 mm) and Italian Metre (950mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|R ||Metre gauge; potentially compatible with base tramtype &amp;quot;RABN&amp;quot;, most early tramways were metre gauge&lt;br /&gt;
|-&lt;br /&gt;
|4 ||4 foot gauge (1219 mm), and possibly 4&#039;6&amp;quot; in. (1372 mm) if standardization is needed for 1372mm&lt;br /&gt;
|-&lt;br /&gt;
|s ||Scotch gauge (1372 mm)&lt;br /&gt;
|-&lt;br /&gt;
|S ||Standard gauge; already implemented in original standardized railtype scheme, but could include near-standard (1432 mm) as well as existing true standard (1435 mm) and is also potentially compatible with the SABN tramtype&lt;br /&gt;
|-&lt;br /&gt;
|X ||Omni-gauge rail (for at-grade multi-gauge crossings and stations); ultrabroad/secondary broad/primary broad/standard/primary narrow/secondary narrow gauge&lt;br /&gt;
|-&lt;br /&gt;
|x ||Multi-gauge rail (for at-grade multi-gauge crossings and stations); secondary broad/primary broad/standard/primary narrow/secondary narrow&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;+&amp;lt;/nowiki&amp;gt; ||Quad-gauge (Four-gauge) rail (for at-grade multi-gauge crossings and stations); secondary broad/primary broad/standard/primary narrow&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt; ||Four-gauge rail (for at-grade multi-gauge crossings and stations); primary broad/standard/primary narrow/secondary narrow&lt;br /&gt;
|-&lt;br /&gt;
|b ||Broad gauge rail - As broad gauge is a rare tracktype, it may still be feasible to cement B and b as broad gauges of two differing sizes, but the rarity among gauges in the real world would need to match; Italian (1445 mm) and Dresden (1450 mm) gauges may be better grouped here&lt;br /&gt;
|-&lt;br /&gt;
|t ||Leipzig trams (1458 mm) and Greater Toronto Area streetcars (1495 mm)&lt;br /&gt;
|-&lt;br /&gt;
|5 ||1520mm and 5 foot (1524 mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|V ||Pennsylvanian (1581 mm and 1588 mm) and Australian &amp;quot;Victorian&amp;quot; (1600 mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|6 ||6 foot (1829 mm) broad gauge&lt;br /&gt;
|-&lt;br /&gt;
|g ||Brunel&#039;s Great Western Railway gauge (2140 mm)&lt;br /&gt;
|-&lt;br /&gt;
|B ||Biggest Broad gauge rail - As broad gauge is a rare tracktype, and the variation in common real life track types too wide, it may be desirable to cement B and b as broad gauges of two differing sizes; With no real life examples that match the usage frequency of &amp;quot;B&amp;quot;, the gauge might best draw inspiration from the infamous [https://en.wikipedia.org/wiki/Breitspurbahn Breitspurbahn] (3000 mm) and [https://perma.cc/KQ2Z-5RCR the never-built vehicles designed for it], or from the [https://en.wikipedia.org/wiki/Brighton_and_Rottingdean_Seashore_Electric_Railway Brighton &amp;amp; Rottingdean Seashore Electric Railway] (18 ft/5,486 mm) &lt;br /&gt;
|-&lt;br /&gt;
|L ||Maglevs that have a u-shaped track&lt;br /&gt;
|-&lt;br /&gt;
|T ||Maglevs that have a monorail track&lt;br /&gt;
|-&lt;br /&gt;
|F ||Flightrail; A [https://web.archive.org/web/20231213122530/http://www.flightrail.com/ system capable of high speeds and steep hill grades] that uses a pneumatic pipe for propulsion (see &amp;quot;P&amp;quot; under energy sources), and &#039;&#039;wheels pointed inwards at a 45-degree angle&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
It might be preferred to instead use/keep &amp;quot;B&amp;quot; for &amp;quot;all (current) broad gauges&amp;quot; (mostly Victorian gauge) instead using lowercase &amp;quot;b&amp;quot; for Brunel/GWR broad gauge. This wouldn&#039;t be to different from narrow gauge since the lesser used ones are lowercase and fallback to the uppercase ones.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Electrification !!Fallback !!Notes&lt;br /&gt;
|-&lt;br /&gt;
|1 ||Unspecified monorail electrification |||MONO (the whole label) ||&lt;br /&gt;
|-&lt;br /&gt;
|S ||Maglevs that use a synchronous linear motor ||N/A ||&lt;br /&gt;
|-&lt;br /&gt;
|I ||Maglevs that use a linear induction motor ||MGLV (the whole label) ||&lt;br /&gt;
|-&lt;br /&gt;
|V ||Vactrains/Hyperloop ||t, then I, then MGLV (the whole label) ||&lt;br /&gt;
|-&lt;br /&gt;
|t ||&amp;quot;Universal custom tunnel&amp;quot; (for electrified sub-surface rail tunnels) ||c, then p, then 7, then U (mandatory) ||&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt; ||Universal energy type (&#039;&#039;not&#039;&#039; meant to replace &amp;quot;***N&amp;quot;; use for vehicles such as driving cabs which cannot move under their own power regardless, if desired) ||N/A (Be sure to put &amp;quot;***E&amp;quot; in the [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]] of a &amp;quot;***-&amp;quot; label) ||(&#039;&#039;Do not give a fallback or use for railtypes, this is for unpowered &amp;quot;locomotives&amp;quot; only!&#039;&#039;)&lt;br /&gt;
|-&lt;br /&gt;
|5 ||750v DC Outer 3rd Rail (&amp;quot;MTRO&amp;quot; or &amp;quot;SA_3&amp;quot;) and 630v DC Inner 3rd/4th Rail; a total of 5 rails (2 for wheels, 3 for electricity), plausible in the London Underground network ||3 or 4 ||&lt;br /&gt;
|-&lt;br /&gt;
|U ||750v DC Outer 3rd Rail (&amp;quot;MTRO&amp;quot; or &amp;quot;SA_3&amp;quot;), 630v DC Inner 3rd/4th Rail and universal catenary (SAEE); a total of 5 rails (2 for wheels, 3 for electricity) if only one gauge, plausible in the London Underground network and an &amp;quot;ultimate&amp;quot; dual rail electrification without being a cheat (make it expensive or toggle-able?) as SAEU or as XAEU (universal dual rail electrified tracks) ||E ||&lt;br /&gt;
|-&lt;br /&gt;
|7 ||750v DC Outer 3rd Rail (&amp;quot;MTRO&amp;quot; or &amp;quot;SA_3&amp;quot;), 630v DC Inner 3rd/4th Rail, Three-phase AC (SA_T) 3rd/4th rail &amp;amp; catenary, and universal catenary (SA_E); a total of 7 rails (2 for wheels, 5 for electricity) if only one gauge, a truly universal dual rail electrification without being impossible (make it VERY expensive or toggle-able so it isn&#039;t cheat-y?) as SAE7, XAE7 or even as XRE7 (combination of ALL two-rail track gauges with universally-compatible electrification including an outer 3rd rail and a paired set of inner 3rd/4th rails, and a rack rail in the exact center; improbable, but not physically impossible) ||U ||&lt;br /&gt;
|-&lt;br /&gt;
|P ||Pneumatic tube with physical piston slit, or closed pneumatic tube with magnetic piston (i.e. that used by [https://web.archive.org/web/20231213122530/http://www.flightrail.com/ Flightrail]) ||N/A ||&lt;br /&gt;
|-&lt;br /&gt;
|p ||Pneumatic and universal electrical power ||P or 7 (Be sure to put &amp;quot;***_&amp;quot; and ***P&amp;quot; in the [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]] of a &amp;quot;***p&amp;quot; label) || XREp is a combination of ALL two-rail track gauges with improbably high axle load with universally-compatible electrification including an outer 3rd rail and a paired set of inner 3rd/4th rails, and a rack rail in the exact center; improbable, but not physically impossible)&lt;br /&gt;
|-&lt;br /&gt;
|c ||Cheat electrification type; use solely for the &amp;quot;_R_c&amp;quot; and &amp;quot;_R_t&amp;quot; railtype labels specifically (runs everything if coded properly), the latter (&amp;quot;_R_t&amp;quot;) is for tunnels, while the former (&amp;quot;_R_c&amp;quot;) is for &amp;quot;cheat rail upgrade&amp;quot; newgrfs ||p, then 7, then U, then E, then N, then &amp;quot;SA_-&amp;quot; (the whole label) ||&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Lurkmore</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=Standardized_Railtype_Scheme&amp;diff=4757</id>
		<title>Standardized Railtype Scheme</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=Standardized_Railtype_Scheme&amp;diff=4757"/>
		<updated>2024-03-09T23:10:43Z</updated>

		<summary type="html">&lt;p&gt;Lurkmore: /* Possible additions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This railtype label scheme aims to bring order to the uncontrolled growth of railtype labels. It groups the rail types into what matters from a technical perspective. The scheme provides a standardized way of defining railtype labels, based on track gauge and type, speed class, allowable axle weight and electrification type.&lt;br /&gt;
&lt;br /&gt;
It is the explicit intent of this scheme to decouple track sets from vehicle sets to facilitate easy mixing. This way the player can select a track set of choice to go with a train set of choice. It allows the player to play with or without axle load classes, or with or without speed limit classes, simply by loading a track set that does or does not provide these features. In some cases it will also be possible to combine niche track sets, for instance a standard gauge track set with a narrow gauge and a metro track set.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== The Label Scheme ==&lt;br /&gt;
A railtype label consists of four characters. In this scheme, each position has a different purpose:&lt;br /&gt;
# Track gauge and type class (e.g. standard gauge rail, narrow gauge rail, monorail)&lt;br /&gt;
# Speed limit class&lt;br /&gt;
# Axle load class (maximum allowed axle weight for this track)&lt;br /&gt;
# Energy source type class&lt;br /&gt;
&lt;br /&gt;
In the next sections, each of the four positions will be explained.&lt;br /&gt;
&lt;br /&gt;
=== Track gauge and type class [X***] ===&lt;br /&gt;
The first position in the railtype label defines track gauge and/or track type class. The following classes are currently defined:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Track type/gauge&lt;br /&gt;
|- &lt;br /&gt;
|S ||Standard gauge rail&lt;br /&gt;
|-&lt;br /&gt;
|B ||Broad gauge rail &lt;br /&gt;
|-&lt;br /&gt;
|N ||Narrow gauge rail&lt;br /&gt;
|-&lt;br /&gt;
|n ||Secondary narrow gauge rail (e.g. when providing both metre and cape gauge, always use N in case of just one type of narrow gauge)&lt;br /&gt;
|-&lt;br /&gt;
|D ||Dual gauge rail, standard/broad gauge&lt;br /&gt;
|-&lt;br /&gt;
|d ||Dual gauge rail, standard/narrow gauge&lt;br /&gt;
|-&lt;br /&gt;
|M ||Monorail&lt;br /&gt;
|-&lt;br /&gt;
|L ||Magnetic Levitation&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Speed limit class [*X**] ===&lt;br /&gt;
The second position in the railtype label defines the speed limit class. These classes do not map to a fixed numeric value, but are used to define an internal speed limit order for the track set. This means that if your track set has two different speed limits for track types that are otherwise identical, you&#039;ll use letters A and B here. In case of three different speed limits, use A, B and C. In case your track set does not employ speed limits, always use A. Train sets do not care about the speed limit, and will always set the lowest speed class, i.e. A.&lt;br /&gt;
&lt;br /&gt;
This gives for instance the following options:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||no speed limits&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;OR&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||low speed&lt;br /&gt;
|-&lt;br /&gt;
|B ||high speed&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;OR&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||low speed&lt;br /&gt;
|-&lt;br /&gt;
|B ||medium speed&lt;br /&gt;
|-&lt;br /&gt;
|C ||high speed&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;etc.&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear:left;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The speed limit class may also be used for some advanced features of the label scheme, like specialized track types and eyecandy purposes. Be careful not to break the compatibility with other sets when using the speed limit class for these purposes.&lt;br /&gt;
&lt;br /&gt;
An example of a special use is rack rail. In the French set it is used to give rack rail engines a higher speed and TE than normal rail engines when used on rack rail. When defining trains with a special speed limit class, always allow a fallback to speed limit class A via the railtype table.&lt;br /&gt;
&lt;br /&gt;
An example of eyecandy use are urban tracks. These are a variation of regular tracks, but with concrete ground tiles to better match the urban environment. Train sets must not define vehicles for eyecandy classes. If you think you have special vehicles that should only run on the eyecandy class, it is &#039;&#039;not&#039;&#039; eyecandy but a separate track gauge/type.&lt;br /&gt;
&lt;br /&gt;
The following special and eyecandy classes have been defined so far:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Description !!Type !!Used by&lt;br /&gt;
|- &lt;br /&gt;
|A-H ||speed limits ||colspan=&amp;quot;2&amp;quot;|reserved&lt;br /&gt;
|- &lt;br /&gt;
|R ||rack rail, that allows this vehicle to not slow down going uphill ||special ||French Set Rails&lt;br /&gt;
|-&lt;br /&gt;
|r ||rack rail, but is required by a locomotive with this railtype to move at all ||(hypothetical) ||Note: SrAN through SrEN should remap exclusively to SRAN-SREN and equivalent electrified railtypes, as though they are standardized the Sr?? railtypes should be hidden to prevent the false impression that Sr?? is an actual railtype rather than a &amp;quot;compatibility-defining&amp;quot; railtype that does not physically exist &lt;br /&gt;
|- &lt;br /&gt;
|S ||subterranean ||eyecandy ||Metro Track Set&lt;br /&gt;
|- &lt;br /&gt;
|U ||urban ||eyecandy ||Metro Track Set&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Axle load class [**X*] ===&lt;br /&gt;
The third position defines the axle weight limit. Heavy trains cannot run on tracks with a low axle weight limit; these trains need more expensive tracks with a heigher weight limit. There are five axle load classes &#039;&#039;&#039;A&#039;&#039;&#039; through &#039;&#039;&#039;E&#039;&#039;&#039;. &#039;&#039;&#039;A&#039;&#039;&#039; is for the lowest axle load limit, &#039;&#039;&#039;E&#039;&#039;&#039; for the highest. The exact axle load attached to each class is relative to the track gauge/type and trains in the set. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A train set should set the appropriate axle weight for each train via the railtype label, as to make the set work with track sets that do provide tracks with different weight limits, even if you don&#039;t care about it for your trainset. Split all vehicles of a certain track gauge/type into five groups of similar axle weight. The group with the lowest axle weights will get class &#039;&#039;&#039;A&#039;&#039;&#039;, the second lowest class &#039;&#039;&#039;B&#039;&#039;&#039;, etc. up to the group with the highest axle weights which will get class &#039;&#039;&#039;E&#039;&#039;&#039;. Do the same for the other track gauge/types if your train set has those.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A track set does not have to provide a dedicated track type for each axle weight limit. A track set that does not provide a dedicated track for each axle load class, must make sure to map all undefined axle load classes to a real railtype using property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]]. This way a train set can rely on all labels for all axle load classes being available. Example: if you only want to provide 2 axle load classes for standard gauge unelectrified with no speed limits, you can map SA&#039;&#039;&#039;A&#039;&#039;&#039;N + SA&#039;&#039;&#039;B&#039;&#039;&#039;N to SA&#039;&#039;&#039;C&#039;&#039;&#039;N and SA&#039;&#039;&#039;D&#039;&#039;&#039;N to SA&#039;&#039;&#039;E&#039;&#039;&#039;N if the cost difference between the two railtypes is high, or SA&#039;&#039;&#039;A&#039;&#039;&#039;N to SA&#039;&#039;&#039;B&#039;&#039;&#039;N and SA&#039;&#039;&#039;C&#039;&#039;&#039;N + SA&#039;&#039;&#039;D&#039;&#039;&#039;N to SA&#039;&#039;&#039;E&#039;&#039;&#039;N if the cost difference is low.&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t want to provide any axle load classes in your track set, it doesn&#039;t really matter what axle load class you choose for the track, as you&#039;ll be mapping all other classes to this track anyways. But the lowest or highest class are the obvious choice. Example: if your track set only provides narrow gauge unelectrified track with no speed limits and no axle load limits, you may use NA&#039;&#039;&#039;A&#039;&#039;&#039;N for the track label, and provide NA&#039;&#039;&#039;B&#039;&#039;&#039;N, NA&#039;&#039;&#039;C&#039;&#039;&#039;N, NA&#039;&#039;&#039;D&#039;&#039;&#039;N, NA&#039;&#039;&#039;E&#039;&#039;&#039;N in property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you need more than five axle load class, you may use lowercase letters for very low axle loads and continue the uppercase letters for very high axle loads. Be advised that your train set may not assume the existance of any other class than &#039;&#039;&#039;A&#039;&#039;&#039; through &#039;&#039;&#039;E&#039;&#039;&#039;, so when the range make sure to program your railtype table such that trains with such a class will fall back to class &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;E&#039;&#039;&#039;. If you make a track set with an extended range, be aware that not all train sets will define trains for these tracks. In general: only do this in case of a train set with a matching track set.&lt;br /&gt;
&lt;br /&gt;
For the lowercase letters, &#039;&#039;&#039;b&#039;&#039;&#039; is lower than &#039;&#039;&#039;a&#039;&#039;&#039;, so for increasing axle load limits: b &amp;lt; a &amp;lt; A &amp;lt; B &amp;lt; C etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that the axle load classes never map to a specific weight in tonnes. For that reason it does not make sense to add a numeric value for the axle load to the name of a track type or in the extended purchase info of a train. Instead use the relative expressions &#039;very low&#039;, &#039;low&#039;, &#039;medium&#039;, &#039;high&#039; and &#039;very high&#039; or use the class letters directly.&lt;br /&gt;
&lt;br /&gt;
If a guideline is needed for updating a set to use axle loads in a train set where they don&#039;t yet exist, the following might serve as a basic &amp;quot;generic&amp;quot; guideline...&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Indefinite !!Generic !! First usage&lt;br /&gt;
|-&lt;br /&gt;
|b ||Horse-drawn Wagonway ||1 metric tonne (1000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|1594&lt;br /&gt;
|-&lt;br /&gt;
|a ||Prototype Iron Rails ||1 metric tonne (1000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|1799&lt;br /&gt;
|-&lt;br /&gt;
|_ ||Unspecified ||No limit at all || style=&amp;quot;text-align:right;&amp;quot;|0&lt;br /&gt;
|-&lt;br /&gt;
|A ||Very Low ||10 metric tonnes (10000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|1828&lt;br /&gt;
|-&lt;br /&gt;
|B ||Low ||20 metric tonnes (20000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|1968&lt;br /&gt;
|-&lt;br /&gt;
|C ||Medium ||30 metric tonnes (30000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|~1978&lt;br /&gt;
|-&lt;br /&gt;
|D ||High ||40 metric tonnes (40000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|1988&lt;br /&gt;
|-&lt;br /&gt;
|E ||Very High ||50 metric tonnes (50000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|2008&lt;br /&gt;
|-&lt;br /&gt;
|F ||Future-proofing ||No limit per axle (update in 2030 or so?) || style=&amp;quot;text-align:right;&amp;quot;|~2028&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Energy source type class [***X] ===&lt;br /&gt;
The last position defines the energy source type class. This is split in generic energy source types like overhead wires and third rail and specialized types like alternating and direct current.&lt;br /&gt;
&lt;br /&gt;
A track set that only uses specialized types, should map the generic types to the most suitable specialized type in the set.&lt;br /&gt;
&lt;br /&gt;
A vehicle set that uses specialized types should define a generic type as fallback, via the railtype table. If such a fallback is omitted, please note that certain vehicles may be unavailable depending on track set loaded.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Generic energy type classes&lt;br /&gt;
|-&lt;br /&gt;
|N ||no electrification&lt;br /&gt;
|-&lt;br /&gt;
|E ||overhead wires/catenary electrification&lt;br /&gt;
|-&lt;br /&gt;
|3 ||3rd rail electrification&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Specialized energy type classes !!Vehicle set fallback&lt;br /&gt;
|-&lt;br /&gt;
|Z ||3rd rail and catenary electrification || 3 or E&lt;br /&gt;
|-&lt;br /&gt;
|4 ||4th rail electrification || 3&lt;br /&gt;
|-&lt;br /&gt;
|Y ||4th rail and catenary electrification || 4 or E&lt;br /&gt;
|-&lt;br /&gt;
|T ||[http://en.wikipedia.org/wiki/Three-phase_AC_railway_electrification three phase AC electrification] || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|D ||DC catenary electrification || E&lt;br /&gt;
|-&lt;br /&gt;
|d ||low voltage DC catenary electrification (only when D also used in set) || First A then E&lt;br /&gt;
|-&lt;br /&gt;
|A ||AC catenary electrification || E&lt;br /&gt;
|-&lt;br /&gt;
|a ||low voltage AC catenary electrification (only when A also used in set) || First A then E&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
If you want multi-voltage/current vehicles in your set (i.e. a train that can run on both AC and DC current), you have to define a dedicated railtype for those vehicles. Without the railtype, it&#039;s not possible to define vehicles with this property. If you only have vehicles that can run on either one type of voltage/current or on all types of voltage/current (e.g. a 2-system if you only have &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;D&#039;&#039;&#039; tracks, or a 4-system in case of all &#039;&#039;&#039;A&#039;&#039;&#039;, &#039;&#039;&#039;a&#039;&#039;&#039;, &#039;&#039;&#039;D&#039;&#039;&#039; and &#039;&#039;&#039;d&#039;&#039;&#039;), then use the generic class &#039;&#039;&#039;E&#039;&#039;&#039; for vehicles that should be able to run on all different voltage/currents. Also the track set needs to have one at least one railtype with class &#039;&#039;&#039;E&#039;&#039;&#039; defined.&lt;br /&gt;
&lt;br /&gt;
Note that if you want more than one type of multi-voltage/current, you&#039;ll quickly get a combinatory explosion of railtype labels, so plan carefully or do not attempt it. For every different multi-voltage/current vehicle type a dedicated railtype is needed. If you want all possible combinations, then you need to define an additional 8 classes. It is not recommended to make your train/track set this complicated.&lt;br /&gt;
&lt;br /&gt;
Example approach for a 4-system set, with trains that can run on either one or all systems:&lt;br /&gt;
* &#039;&#039;&#039;E&#039;&#039;&#039;: generic catenary-powered electric engines. &amp;quot;universal&amp;quot; [4-system] if any of &#039;&#039;&#039;D&#039;&#039;&#039;/&#039;&#039;&#039;d&#039;&#039;&#039;/&#039;&#039;&#039;A&#039;&#039;&#039;/&#039;&#039;&#039;a&#039;&#039;&#039; are defined.&lt;br /&gt;
* &#039;&#039;&#039;A&#039;&#039;&#039;: generic AC catenary electric engines. 25kV only if &#039;&#039;&#039;a&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;A&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;a&#039;&#039;&#039;: 15kV AC catenary electric engines. Only defined if &#039;&#039;&#039;A&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;a&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;D&#039;&#039;&#039;: generic DC catenary electric engines. 3kV if &#039;&#039;&#039;d&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;D&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;d&#039;&#039;&#039;: 1.5kV DC catenary electric engines. Only defined if &#039;&#039;&#039;D&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;D&#039;&#039;&#039; and &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;d&#039;&#039;&#039;.&lt;br /&gt;
For a 2-system set, you can simply drop &#039;&#039;&#039;a&#039;&#039;&#039; and &#039;&#039;&#039;d&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Standard labels: RAIL, ELRL, MONO, MGLV ===&lt;br /&gt;
It&#039;s not possible to undefine the standard railtypes RAIL, ELRL, MONO and MGLV. The game will always add those if there are vehicles defined for these track types. As a result, for a track set it&#039;s best not to ignore those standard labels, but rather work with them and define them in the set. If your track set does not have monorail or maglev tracks, there of course is no need to define those. But if your track set defines anything that resembles unelectrified or electrified rail, you should use the RAIL and ELRL labels. Matching labels from the above scheme will then be defined in property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
As vehicles from NewGRFs that do not use explicit railtypes will end up on these standard railtypes, you should use RAIL instead of whatever type could be regarded as the most commonly used unelectrified type, ELRL instead of the most commonly used electrified type and so on. The label according to this scheme is then set as an alternate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Summary for track sets ==&lt;br /&gt;
This section summarizes the above for track sets.&lt;br /&gt;
&lt;br /&gt;
; [X***] Track gauge and type class&lt;br /&gt;
* Define at least one track type for every track gauge/type class you want in your set.&lt;br /&gt;
* If you only provide tracks for one gauge/type, consider leaving some free railtypes so a player can load an additional set for some other type.&lt;br /&gt;
; [*X**] Speed limit class&lt;br /&gt;
* Make sure class A is always available, either directly or via an alternate label.&lt;br /&gt;
* Use only class A if you don&#039;t want speed limits;&lt;br /&gt;
* With speed limits, A is the lowest speed limit. Continue with B, C, etc. for increasing speed limits;&lt;br /&gt;
* The speed class can also be used to implement additional eye-candy track types, use letters higher in the alphabet for this.&lt;br /&gt;
; [**X*] Axle load class&lt;br /&gt;
* Always define all classes A through E for every track type class / electrification combination, either:&lt;br /&gt;
** Directly via a real railtype definition;&lt;br /&gt;
** Indirectly via the alternate rail type label list, property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
* Extend the predefined classes only if you also provide a train set that makes use of these.&lt;br /&gt;
; [***X] Energy source type class&lt;br /&gt;
* If your set only uses specialized classes, always map the generic classes to the closest matching specialized type via property 1D.&lt;br /&gt;
; Standard labels [RAIL, ELRL, MONO, MGLV]&lt;br /&gt;
* Always define the standard labels when possible, instead of what would be the equivalent of the standard label in this scheme.&lt;br /&gt;
* Map the equivalent labels from this scheme to the standard labels using property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
Or, put differently, for each gauge/type, select one or more energy source types. For each type/energy combination provide all axle load classes for the speed class &amp;quot;A&amp;quot;, either as a real type or as an alternate of another type. Provide more types with a different speed letter if you want to provide several different speeds or other eye-candy tracks.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Summary for train sets ==&lt;br /&gt;
This section summarizes the above for train sets.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; [X***] Track gauge and type class&lt;br /&gt;
* Use the track type class that matches the vehicle;&lt;br /&gt;
* Define a fallback type via the railtype table in case you want the vehicle to be available on a different track if no matching track set is loaded.&lt;br /&gt;
** Specialized subtypes like &amp;quot;n&amp;quot; might not always be available. If you want those vehicles to be still available then, fall back the the generic class (e.g. &amp;quot;N&amp;quot;).&lt;br /&gt;
; [*X**] Speed limit class &lt;br /&gt;
* Always use class A for every vehicle.&lt;br /&gt;
; [**X*] Axle load class&lt;br /&gt;
* Use all classes A through E according to the maximum axle weight of the vehicle.&lt;br /&gt;
* Extend the predefined classes only if you also provide a track set that makes use of these;&lt;br /&gt;
** When extending the predefined classes A through E, define a fallback type via the railtype table in case you want the vehicle to be available if no matching track set is loaded.&lt;br /&gt;
; [***X] Energy source type class&lt;br /&gt;
* Use the energy source type class that matches the vehicle;&lt;br /&gt;
* When using specialized classes, define a fallback type via the railtype table in case you want the vehicle to be available if no matching track set is loaded.&lt;br /&gt;
; Standard labels [RAIL, ELRL, MONO, MGLV]&lt;br /&gt;
* Define a fallback type to the standard labels via the railtype table in case you want the vehicle to be available on the standard tracks if no matching track set is loaded.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Be as specific as you want when selecting the railtype, it is the job of the track set to select a playable, reduced subset out of all possible type combinations.&lt;br /&gt;
&lt;br /&gt;
== In case you&#039;re not convinced by this scheme ==&lt;br /&gt;
Adopting this scheme gives the player freedom to use any track set in combination with any train set that follow the scheme. &lt;br /&gt;
&lt;br /&gt;
This means that you can make your train set compatible with track sets that provide axle load classes, and track sets that provide speed limits, and at the same time with track sets that provide none of this. This way, the player can decide to play with or without axle load classes, or with or without speed limits, simply by loading a track set that does or does not provide these features.&lt;br /&gt;
&lt;br /&gt;
And for your track set, it means that you can make it as simple or as complicated as you want (within the 64 track type limit), while not having to worry about compatibility with train sets.&lt;br /&gt;
&lt;br /&gt;
Still not convinced? Feel free to use railtype labels of your own, but know that you will likely come to regret that at some point in the future.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Forum topic==&lt;br /&gt;
If you want to discuss the standardized railtype scheme or have any questions about it, you can visit [http://www.tt-forums.net/viewtopic.php?t=59379 the forum topic].&lt;br /&gt;
&lt;br /&gt;
==&amp;quot;Innsbruck 2022 Convention&amp;quot; for partial compliance==&lt;br /&gt;
&lt;br /&gt;
This is really esoteric, but eh. It was the product of long discussion / debate / argument / reasoning between grf authors.&lt;br /&gt;
&lt;br /&gt;
1. The Standardized Railtype Scheme &#039;&#039;&#039;is a useful tool&#039;&#039;&#039; for providing reliable compatibility between train grfs and railtype grfs.&lt;br /&gt;
&lt;br /&gt;
2. The &#039;&#039;&#039;axle load class&#039;&#039;&#039; in the scheme presents a number of issues for compliance.&lt;br /&gt;
&lt;br /&gt;
2.1. Over 10 years since the scheme was standardised, not many train grfs implement multiple axle load classes &#039;&#039;&#039;as required by the scheme&#039;&#039;&#039;.  Known examples that &#039;&#039;&#039;do&#039;&#039;&#039; comply include Dutch Train Set, French Narrow Gauge Trains, and Finnish Trains.&lt;br /&gt;
&lt;br /&gt;
2.2. Elements of the axle load rules have proven hard to interpret.  For example:&lt;br /&gt;
&lt;br /&gt;
* is it compliant to use &#039;&#039;fewer&#039;&#039; than 5 classes in a train grf?  There is a lack of consensus on this.&lt;br /&gt;
* axle load is only one of many factors that govern whether a vehicle is compatible with a route, for example loading gauge, minimum curve, signalling types etc&lt;br /&gt;
&lt;br /&gt;
2.3. Meanwhile &#039;&#039;multiple existing train grfs use class &#039;&#039;A&#039;&#039; for the axle load for all trains&#039;&#039; (except where relying on default railtypes such as RAIL and ELRL).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3. The Innsbruck 2022 Convention uses class &#039;&#039;A&#039;&#039; for axle load for &#039;&#039;&#039;all&#039;&#039;&#039; trains in a train grf (except where relying on default railtypes such as RAIL and ELRL).&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is &#039;&#039;&#039;not&#039;&#039;&#039; fully compliant with the Standardized Railtype Scheme and does not claim to be.&lt;br /&gt;
&lt;br /&gt;
However train grfs using the Innsbruck 2022 Convention are &#039;&#039;broadly compatible&#039;&#039; with railtype grfs using the Standardized Railtype Scheme.  &lt;br /&gt;
&lt;br /&gt;
Obligatory XKCD link about &#039;standards&#039;: https://xkcd.com/927/&lt;br /&gt;
&lt;br /&gt;
===Known issues===&lt;br /&gt;
&lt;br /&gt;
Known problems are that trains using only class &#039;A&#039; may limit the ability of railtype grf authors to achieve their design goals for separating railtypes by axle load.  &lt;br /&gt;
But on reflection, it can be seen that a train grf might not be able to provide a broad enough range of vehicles to cover at least 5 axle load classes.&lt;br /&gt;
&lt;br /&gt;
3.1. The Innsbruck 2022 Convention is &#039;&#039;&#039;not&#039;&#039;&#039; appropriate for train grf authors who wish to provide more than one axle load class.&lt;br /&gt;
&lt;br /&gt;
3.2. The Innsbruck 2022 Convention treats the meaning of class &#039;&#039;A&#039;&#039; as &#039;&#039;undefined&#039;&#039;, &#039;&#039;ignored&#039;&#039; or &#039;&#039;compatible with most restricted railtype&#039;&#039; for axle load.  &lt;br /&gt;
&lt;br /&gt;
Axle load class &#039;&#039;A&#039;&#039; &#039;&#039;&#039;cannot&#039;&#039;&#039; be safely interpreted as &#039;&#039;universal&#039;&#039; because from the perspective of a railtype grf &#039;&#039;A&#039;&#039; is &#039;&#039;most restricted railtype&#039;&#039;, where &#039;&#039;universal&#039;&#039; is better represented as &#039;&#039;least restricted railtype&#039;&#039;. Depending how many axle load classes are in use by the railtype grf, this could be class &#039;&#039;B&#039;&#039;, &#039;&#039;C&#039;&#039;, &#039;&#039;D&#039;&#039;, &#039;&#039;E&#039;&#039; etc.  To illustrate this issue, take the following scenario&lt;br /&gt;
&lt;br /&gt;
* railtype grf defines axle loads &#039;&#039;A&#039;&#039; to &#039;&#039;E&#039;&#039;. In this case the railtype grf author intends that &#039;&#039;A&#039;&#039; is compatible with the smallest range of vehicles, &#039;&#039;E&#039;&#039; is compatible with the largest range of vehicles, and &#039;&#039;B&#039;&#039;, &#039;&#039;C&#039;&#039; and &#039;&#039;D&#039;&#039; are compatible with some intermediate ranges of vehicles&lt;br /&gt;
* but the vehicle grf author has defined all vehicles to be axle load &#039;&#039;A&#039;&#039; in an attempt to express this vehicle is &#039;&#039;universal&#039;&#039;.  The result in the game is that an identical range of vehicles will be compatible with railtypes &#039;&#039;A&#039;&#039; to &#039;&#039;E&#039;&#039;.  &lt;br /&gt;
&lt;br /&gt;
This is clearly &#039;&#039;&#039;not&#039;&#039;&#039; the intended outcome of the railtype author. But nor is it clear within the spec that the vehicle author has particularly done anything wrong. &lt;br /&gt;
&lt;br /&gt;
It &#039;&#039;would&#039;&#039; be possible to use railtype availability testing to adjust the vehicle property 05 (track_type) to fit the highest defined axle load (&#039;&#039;E&#039;&#039; in this example case), but this is not insignificant work, and it&#039;s unlikely to be widely adopted by vehicle grf authors.  Nor would this solution achieve &#039;&#039;universal&#039;&#039; as all vehicles in vehicle grf then would be incompatible with types &#039;&#039;A&#039;&#039; through &#039;&#039;D&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
3.3. When the Innsbruck 2022 Convention is used, this &#039;&#039;&#039;does not prevent&#039;&#039;&#039; a train grf being extended in some future release to achieve full compliance with Standardized Railtype Scheme. &#039;&#039;That choice remains with train grf authors&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
3.4. If 2012 could be revisited, providing an optional &#039;&#039;_&#039;&#039; axle load class in the Standardized Railtype Scheme for &#039;&#039;undefined&#039;&#039; would have been preferable, but as of 2022, &#039;&#039;A&#039;&#039; is already widely used for this purpose, and time travel is not known to be possible.&lt;br /&gt;
&lt;br /&gt;
==Extended multivoltage support addition==&lt;br /&gt;
These are extensions to the energy source type class currently supported by SETS and xUSSR Rails which allow trainsets to code trains which are limited to a certain selection of voltages. As stated in the energy source type class section this might not be of use for all sets, as such it is optional but still recommended for trainsets for ideal functionality with tracksets which support the extended labels.&lt;br /&gt;
{|&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Specialized energy type classes !!Vehicle set fallback&lt;br /&gt;
|-&lt;br /&gt;
|* ||Equivilent to A, a, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|&#039; ||Equivilent to A, a and D || E&lt;br /&gt;
|-&lt;br /&gt;
|^ ||Equivilent to A, a and d || E&lt;br /&gt;
|-&lt;br /&gt;
|_ ||Equivilent to A, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
|, ||Equivilent to a, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|$ ||Equivilent to A and a  || First A then E&lt;br /&gt;
|-&lt;br /&gt;
|= ||Equivilent to D and d  || First D then E&lt;br /&gt;
|-&lt;br /&gt;
|) ||Equivilent to A and D  || E&lt;br /&gt;
|-&lt;br /&gt;
|( ||Equivilent to A and d  || E&lt;br /&gt;
|-&lt;br /&gt;
|] ||Equivilent to a and D  || E&lt;br /&gt;
|-&lt;br /&gt;
|[ ||Equivilent to a and d  || E&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Possible additions==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Track type/gauge&lt;br /&gt;
|-&lt;br /&gt;
|_ ||Universal &amp;quot;cheat&amp;quot; rail; ALWAYS add &amp;quot;_A_-&amp;quot; and &amp;quot;_A_N&amp;quot; to EVERY [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]] (as well as the equivalent electrified/pneumatic railtype that is powered on your electrified/pneumatic railtype to support it if you are making a new railtype set, older sets can be covered by fix or patch grfs) and &amp;quot;_A_t&amp;quot; to EVERY [[NML:Railtypes#Railtype_properties|powered_railtype_list (NML)]]&lt;br /&gt;
|-&lt;br /&gt;
|0 ||(A number zero, not a letter &amp;quot;Oh&amp;quot;) No track, eyecandy-use only&lt;br /&gt;
|-&lt;br /&gt;
|U ||[https://perma.cc/93VE-8JQZ &amp;quot;Ukrainian monorail&amp;quot; or Şaropoí̈zd (Шаропоїзд)], a u-shaped concrete &amp;quot;monorail trench&amp;quot; from 1920&#039;s Soviet Union; see [https://www.tt-forums.net/viewtopic.php?f=26&amp;amp;t=47432 the Yarmanchuk Express] for graphics&lt;br /&gt;
|-&lt;br /&gt;
|1 ||Early Monorail; See [https://perma.cc/6BVS-2P2X here] and [https://perma.cc/VCG2-ATUA here]&lt;br /&gt;
|-&lt;br /&gt;
|G ||Gyrail; [https://en.wikipedia.org/wiki/Gyro_monorail Gyro monorail/Gyroscopic monorail/Gyro-stabilized monorail] for description and IRL example, and [https://wikimon.net/Trailmon here] ([https://web.archive.org/web/20240227205547/https://wikimon.net/Trailmon archived]) for good fictional examples&lt;br /&gt;
|-&lt;br /&gt;
|m ||Minimum gauge rail; [https://en.wikipedia.org/wiki/Minimum-gauge_railway 15 in (381 mm), 400 mm (15+3⁄4 in), 16 in (406 mm), 18 in (457 mm), 19 in (483 mm), 500 mm (19+3⁄4 in) or 20 in (508 mm)]&lt;br /&gt;
|-&lt;br /&gt;
|n ||600mm &amp;quot;Decauville&amp;quot; or &amp;quot;Feldsbahn&amp;quot;, formerly labelled &amp;quot;NG60&amp;quot; before standardization; the most common narrow gauge track type in OpenTTD other than metre gauge, 600mm gauge is thus ideal for taking up the &amp;quot;n&amp;quot; gauge, though this is an ultimately optional distinction&lt;br /&gt;
|-&lt;br /&gt;
|7 ||750mm, Bosnian gauge (760 mm), and 762mm; all start with 7 and are close in size&lt;br /&gt;
|-&lt;br /&gt;
|3 ||Swedish 3 foot (891 mm), 900mm, 3 foot (914 mm) and Italian Metre (950mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|R ||Metre gauge; potentially compatible with base tramtype &amp;quot;RABN&amp;quot;, most early tramways were metre gauge&lt;br /&gt;
|-&lt;br /&gt;
|4 ||4 foot gauge (1219 mm), and possibly 4&#039;6&amp;quot; in. (1372 mm) if standardization is needed for 1372mm&lt;br /&gt;
|-&lt;br /&gt;
|s ||Scotch gauge (1372 mm)&lt;br /&gt;
|-&lt;br /&gt;
|S ||Standard gauge; already implemented in original standardized railtype scheme, but could include near-standard (1432 mm) as well as existing true standard (1435 mm) and is also potentially compatible with the SABN tramtype&lt;br /&gt;
|-&lt;br /&gt;
|X ||Omni-gauge rail (for at-grade multi-gauge crossings and stations); ultrabroad/secondary broad/primary broad/standard/primary narrow/secondary narrow gauge&lt;br /&gt;
|-&lt;br /&gt;
|x ||Multi-gauge rail (for at-grade multi-gauge crossings and stations); secondary broad/primary broad/standard/primary narrow/secondary narrow&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;+&amp;lt;/nowiki&amp;gt; ||Quad-gauge (Four-gauge) rail (for at-grade multi-gauge crossings and stations); secondary broad/primary broad/standard/primary narrow&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt; ||Four-gauge rail (for at-grade multi-gauge crossings and stations); primary broad/standard/primary narrow/secondary narrow&lt;br /&gt;
|-&lt;br /&gt;
|b ||Broad gauge rail - As broad gauge is a rare tracktype, it may still be feasible to cement B and b as broad gauges of two differing sizes, but the rarity among gauges in the real world would need to match; Italian (1445 mm) and Dresden (1450 mm) gauges may be better grouped here&lt;br /&gt;
|-&lt;br /&gt;
|t ||Leipzig trams (1458 mm) and Greater Toronto Area streetcars (1495 mm)&lt;br /&gt;
|-&lt;br /&gt;
|5 ||1520mm and 5 foot (1524 mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|V ||Pennsylvanian (1581 mm and 1588 mm) and Australian &amp;quot;Victorian&amp;quot; (1600 mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|6 ||6 foot (1829 mm) broad gauge&lt;br /&gt;
|-&lt;br /&gt;
|g ||Brunel&#039;s Great Western Railway gauge (2140 mm)&lt;br /&gt;
|-&lt;br /&gt;
|B ||Biggest Broad gauge rail - As broad gauge is a rare tracktype, and the variation in common real life track types too wide, it may be desirable to cement B and b as broad gauges of two differing sizes; With no real life examples that match the usage frequency of &amp;quot;B&amp;quot;, the gauge might best draw inspiration from the infamous [https://en.wikipedia.org/wiki/Breitspurbahn Breitspurbahn] (3000 mm) and [https://perma.cc/KQ2Z-5RCR the never-built vehicles designed for it], or from the [https://en.wikipedia.org/wiki/Brighton_and_Rottingdean_Seashore_Electric_Railway Brighton &amp;amp; Rottingdean Seashore Electric Railway] (18 ft/5,486 mm) &lt;br /&gt;
|-&lt;br /&gt;
|L ||Maglevs that have a u-shaped track&lt;br /&gt;
|-&lt;br /&gt;
|T ||Maglevs that have a monorail track&lt;br /&gt;
|-&lt;br /&gt;
|F ||Flightrail; A [https://web.archive.org/web/20231213122530/http://www.flightrail.com/ system capable of high speeds and steep hill grades] that uses a pneumatic pipe for propulsion (see &amp;quot;P&amp;quot; under energy sources), and &#039;&#039;wheels pointed inwards at a 45-degree angle&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
It might be preferred to instead use/keep &amp;quot;B&amp;quot; for &amp;quot;all (current) broad gauges&amp;quot; (mostly Victorian gauge) instead using lowercase &amp;quot;b&amp;quot; for Brunel/GWR broad gauge. This wouldn&#039;t be to different from narrow gauge since the lesser used ones are lowercase and fallback to the uppercase ones.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Electrification !!Fallback !!Notes&lt;br /&gt;
|-&lt;br /&gt;
|1 ||Unspecified monorail electrification |||MONO (the whole label) ||&lt;br /&gt;
|-&lt;br /&gt;
|S ||Maglevs that use a synchronous linear motor ||N/A ||&lt;br /&gt;
|-&lt;br /&gt;
|I ||Maglevs that use a linear induction motor ||MGLV (the whole label) ||&lt;br /&gt;
|-&lt;br /&gt;
|V ||Vactrains/Hyperloop ||t, then I, then MGLV (the whole label) ||&lt;br /&gt;
|-&lt;br /&gt;
|t ||&amp;quot;Universal custom tunnel&amp;quot; (for electrified sub-surface rail tunnels) ||c, then p, then 7, then U (mandatory) ||&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt; ||Universal energy type (&#039;&#039;not&#039;&#039; meant to replace &amp;quot;***N&amp;quot;; use for vehicles such as driving cabs which cannot move under their own power regardless, if desired) ||N/A (Be sure to put &amp;quot;***E&amp;quot; in the [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]] of a &amp;quot;***-&amp;quot; label) ||(&#039;&#039;Do not give a fallback or use for railtypes, this is for unpowered &amp;quot;locomotives&amp;quot; only!&#039;&#039;)&lt;br /&gt;
|-&lt;br /&gt;
|5 ||750v DC Outer 3rd Rail (&amp;quot;MTRO&amp;quot; or &amp;quot;SA_3&amp;quot;) and 630v DC Inner 3rd/4th Rail; a total of 5 rails (2 for wheels, 3 for electricity), plausible in the London Underground network ||3 or 4 ||&lt;br /&gt;
|-&lt;br /&gt;
|U ||750v DC Outer 3rd Rail (&amp;quot;MTRO&amp;quot; or &amp;quot;SA_3&amp;quot;), 630v DC Inner 3rd/4th Rail and universal catenary (SAEE); a total of 5 rails (2 for wheels, 3 for electricity) if only one gauge, plausible in the London Underground network and an &amp;quot;ultimate&amp;quot; dual rail electrification without being a cheat (make it expensive or toggle-able?) as SAEU or as XAEU (universal dual rail electrified tracks) ||E ||&lt;br /&gt;
|-&lt;br /&gt;
|7 ||750v DC Outer 3rd Rail (&amp;quot;MTRO&amp;quot; or &amp;quot;SA_3&amp;quot;), 630v DC Inner 3rd/4th Rail, Three-phase AC (SA_T) 3rd/4th rail &amp;amp; catenary, and universal catenary (SA_E); a total of 7 rails (2 for wheels, 5 for electricity) if only one gauge, a truly universal dual rail electrification without being impossible (make it VERY expensive or toggle-able so it isn&#039;t cheat-y?) as SAE7, XAE7 or even as XRE7 (combination of ALL two-rail track gauges with universally-compatible electrification including an outer 3rd rail and a paired set of inner 3rd/4th rails, and a rack rail in the exact center; improbable, but not physically impossible) ||U ||&lt;br /&gt;
|-&lt;br /&gt;
|P ||Pneumatic tube with physical piston slit, or closed pneumatic tube with magnetic piston (i.e. that used by [https://web.archive.org/web/20231213122530/http://www.flightrail.com/ Flightrail]) ||N/A ||&lt;br /&gt;
|-&lt;br /&gt;
|p ||Pneumatic and universal electrical power ||P or 7 (Be sure to put &amp;quot;***_&amp;quot; and ***P&amp;quot; in the [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]] of a &amp;quot;***p&amp;quot; label) || XREp is a combination of ALL two-rail track gauges with improbably high axle load with universally-compatible electrification including an outer 3rd rail and a paired set of inner 3rd/4th rails, and a rack rail in the exact center; improbable, but not physically impossible)&lt;br /&gt;
|-&lt;br /&gt;
|c ||Cheat electrification type; use solely for the &amp;quot;_R_c&amp;quot; and &amp;quot;_R_t&amp;quot; railtype labels specifically (runs everything if coded properly), the latter (&amp;quot;_R_t&amp;quot;) is for tunnels, while the former (&amp;quot;_R_c&amp;quot;) is for &amp;quot;cheat rail upgrade&amp;quot; newgrfs ||p, then 7, then U, then E, then N, then &amp;quot;SA_-&amp;quot; (the whole label) ||&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Lurkmore</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=Standardized_Railtype_Scheme&amp;diff=4756</id>
		<title>Standardized Railtype Scheme</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=Standardized_Railtype_Scheme&amp;diff=4756"/>
		<updated>2024-03-01T12:27:50Z</updated>

		<summary type="html">&lt;p&gt;Lurkmore: /* Possible additions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This railtype label scheme aims to bring order to the uncontrolled growth of railtype labels. It groups the rail types into what matters from a technical perspective. The scheme provides a standardized way of defining railtype labels, based on track gauge and type, speed class, allowable axle weight and electrification type.&lt;br /&gt;
&lt;br /&gt;
It is the explicit intent of this scheme to decouple track sets from vehicle sets to facilitate easy mixing. This way the player can select a track set of choice to go with a train set of choice. It allows the player to play with or without axle load classes, or with or without speed limit classes, simply by loading a track set that does or does not provide these features. In some cases it will also be possible to combine niche track sets, for instance a standard gauge track set with a narrow gauge and a metro track set.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== The Label Scheme ==&lt;br /&gt;
A railtype label consists of four characters. In this scheme, each position has a different purpose:&lt;br /&gt;
# Track gauge and type class (e.g. standard gauge rail, narrow gauge rail, monorail)&lt;br /&gt;
# Speed limit class&lt;br /&gt;
# Axle load class (maximum allowed axle weight for this track)&lt;br /&gt;
# Energy source type class&lt;br /&gt;
&lt;br /&gt;
In the next sections, each of the four positions will be explained.&lt;br /&gt;
&lt;br /&gt;
=== Track gauge and type class [X***] ===&lt;br /&gt;
The first position in the railtype label defines track gauge and/or track type class. The following classes are currently defined:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Track type/gauge&lt;br /&gt;
|- &lt;br /&gt;
|S ||Standard gauge rail&lt;br /&gt;
|-&lt;br /&gt;
|B ||Broad gauge rail &lt;br /&gt;
|-&lt;br /&gt;
|N ||Narrow gauge rail&lt;br /&gt;
|-&lt;br /&gt;
|n ||Secondary narrow gauge rail (e.g. when providing both metre and cape gauge, always use N in case of just one type of narrow gauge)&lt;br /&gt;
|-&lt;br /&gt;
|D ||Dual gauge rail, standard/broad gauge&lt;br /&gt;
|-&lt;br /&gt;
|d ||Dual gauge rail, standard/narrow gauge&lt;br /&gt;
|-&lt;br /&gt;
|M ||Monorail&lt;br /&gt;
|-&lt;br /&gt;
|L ||Magnetic Levitation&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Speed limit class [*X**] ===&lt;br /&gt;
The second position in the railtype label defines the speed limit class. These classes do not map to a fixed numeric value, but are used to define an internal speed limit order for the track set. This means that if your track set has two different speed limits for track types that are otherwise identical, you&#039;ll use letters A and B here. In case of three different speed limits, use A, B and C. In case your track set does not employ speed limits, always use A. Train sets do not care about the speed limit, and will always set the lowest speed class, i.e. A.&lt;br /&gt;
&lt;br /&gt;
This gives for instance the following options:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||no speed limits&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;OR&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||low speed&lt;br /&gt;
|-&lt;br /&gt;
|B ||high speed&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;OR&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||low speed&lt;br /&gt;
|-&lt;br /&gt;
|B ||medium speed&lt;br /&gt;
|-&lt;br /&gt;
|C ||high speed&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;etc.&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear:left;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The speed limit class may also be used for some advanced features of the label scheme, like specialized track types and eyecandy purposes. Be careful not to break the compatibility with other sets when using the speed limit class for these purposes.&lt;br /&gt;
&lt;br /&gt;
An example of a special use is rack rail. In the French set it is used to give rack rail engines a higher speed and TE than normal rail engines when used on rack rail. When defining trains with a special speed limit class, always allow a fallback to speed limit class A via the railtype table.&lt;br /&gt;
&lt;br /&gt;
An example of eyecandy use are urban tracks. These are a variation of regular tracks, but with concrete ground tiles to better match the urban environment. Train sets must not define vehicles for eyecandy classes. If you think you have special vehicles that should only run on the eyecandy class, it is &#039;&#039;not&#039;&#039; eyecandy but a separate track gauge/type.&lt;br /&gt;
&lt;br /&gt;
The following special and eyecandy classes have been defined so far:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Description !!Type !!Used by&lt;br /&gt;
|- &lt;br /&gt;
|A-H ||speed limits ||colspan=&amp;quot;2&amp;quot;|reserved&lt;br /&gt;
|- &lt;br /&gt;
|R ||rack rail, that allows this vehicle to not slow down going uphill ||special ||French Set Rails&lt;br /&gt;
|-&lt;br /&gt;
|r ||rack rail, but is required by a locomotive with this railtype to move at all ||(hypothetical) ||Note: SrAN through SrEN should remap exclusively to SRAN-SREN and equivalent electrified railtypes, as though they are standardized the Sr?? railtypes should be hidden to prevent the false impression that Sr?? is an actual railtype rather than a &amp;quot;compatibility-defining&amp;quot; railtype that does not physically exist &lt;br /&gt;
|- &lt;br /&gt;
|S ||subterranean ||eyecandy ||Metro Track Set&lt;br /&gt;
|- &lt;br /&gt;
|U ||urban ||eyecandy ||Metro Track Set&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Axle load class [**X*] ===&lt;br /&gt;
The third position defines the axle weight limit. Heavy trains cannot run on tracks with a low axle weight limit; these trains need more expensive tracks with a heigher weight limit. There are five axle load classes &#039;&#039;&#039;A&#039;&#039;&#039; through &#039;&#039;&#039;E&#039;&#039;&#039;. &#039;&#039;&#039;A&#039;&#039;&#039; is for the lowest axle load limit, &#039;&#039;&#039;E&#039;&#039;&#039; for the highest. The exact axle load attached to each class is relative to the track gauge/type and trains in the set. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A train set should set the appropriate axle weight for each train via the railtype label, as to make the set work with track sets that do provide tracks with different weight limits, even if you don&#039;t care about it for your trainset. Split all vehicles of a certain track gauge/type into five groups of similar axle weight. The group with the lowest axle weights will get class &#039;&#039;&#039;A&#039;&#039;&#039;, the second lowest class &#039;&#039;&#039;B&#039;&#039;&#039;, etc. up to the group with the highest axle weights which will get class &#039;&#039;&#039;E&#039;&#039;&#039;. Do the same for the other track gauge/types if your train set has those.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A track set does not have to provide a dedicated track type for each axle weight limit. A track set that does not provide a dedicated track for each axle load class, must make sure to map all undefined axle load classes to a real railtype using property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]]. This way a train set can rely on all labels for all axle load classes being available. Example: if you only want to provide 2 axle load classes for standard gauge unelectrified with no speed limits, you can map SA&#039;&#039;&#039;A&#039;&#039;&#039;N + SA&#039;&#039;&#039;B&#039;&#039;&#039;N to SA&#039;&#039;&#039;C&#039;&#039;&#039;N and SA&#039;&#039;&#039;D&#039;&#039;&#039;N to SA&#039;&#039;&#039;E&#039;&#039;&#039;N if the cost difference between the two railtypes is high, or SA&#039;&#039;&#039;A&#039;&#039;&#039;N to SA&#039;&#039;&#039;B&#039;&#039;&#039;N and SA&#039;&#039;&#039;C&#039;&#039;&#039;N + SA&#039;&#039;&#039;D&#039;&#039;&#039;N to SA&#039;&#039;&#039;E&#039;&#039;&#039;N if the cost difference is low.&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t want to provide any axle load classes in your track set, it doesn&#039;t really matter what axle load class you choose for the track, as you&#039;ll be mapping all other classes to this track anyways. But the lowest or highest class are the obvious choice. Example: if your track set only provides narrow gauge unelectrified track with no speed limits and no axle load limits, you may use NA&#039;&#039;&#039;A&#039;&#039;&#039;N for the track label, and provide NA&#039;&#039;&#039;B&#039;&#039;&#039;N, NA&#039;&#039;&#039;C&#039;&#039;&#039;N, NA&#039;&#039;&#039;D&#039;&#039;&#039;N, NA&#039;&#039;&#039;E&#039;&#039;&#039;N in property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you need more than five axle load class, you may use lowercase letters for very low axle loads and continue the uppercase letters for very high axle loads. Be advised that your train set may not assume the existance of any other class than &#039;&#039;&#039;A&#039;&#039;&#039; through &#039;&#039;&#039;E&#039;&#039;&#039;, so when the range make sure to program your railtype table such that trains with such a class will fall back to class &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;E&#039;&#039;&#039;. If you make a track set with an extended range, be aware that not all train sets will define trains for these tracks. In general: only do this in case of a train set with a matching track set.&lt;br /&gt;
&lt;br /&gt;
For the lowercase letters, &#039;&#039;&#039;b&#039;&#039;&#039; is lower than &#039;&#039;&#039;a&#039;&#039;&#039;, so for increasing axle load limits: b &amp;lt; a &amp;lt; A &amp;lt; B &amp;lt; C etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that the axle load classes never map to a specific weight in tonnes. For that reason it does not make sense to add a numeric value for the axle load to the name of a track type or in the extended purchase info of a train. Instead use the relative expressions &#039;very low&#039;, &#039;low&#039;, &#039;medium&#039;, &#039;high&#039; and &#039;very high&#039; or use the class letters directly.&lt;br /&gt;
&lt;br /&gt;
If a guideline is needed for updating a set to use axle loads in a train set where they don&#039;t yet exist, the following might serve as a basic &amp;quot;generic&amp;quot; guideline...&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Indefinite !!Generic !! First usage&lt;br /&gt;
|-&lt;br /&gt;
|b ||Horse-drawn Wagonway ||1 metric tonne (1000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|1594&lt;br /&gt;
|-&lt;br /&gt;
|a ||Prototype Iron Rails ||1 metric tonne (1000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|1799&lt;br /&gt;
|-&lt;br /&gt;
|_ ||Unspecified ||No limit at all || style=&amp;quot;text-align:right;&amp;quot;|0&lt;br /&gt;
|-&lt;br /&gt;
|A ||Very Low ||10 metric tonnes (10000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|1828&lt;br /&gt;
|-&lt;br /&gt;
|B ||Low ||20 metric tonnes (20000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|1968&lt;br /&gt;
|-&lt;br /&gt;
|C ||Medium ||30 metric tonnes (30000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|~1978&lt;br /&gt;
|-&lt;br /&gt;
|D ||High ||40 metric tonnes (40000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|1988&lt;br /&gt;
|-&lt;br /&gt;
|E ||Very High ||50 metric tonnes (50000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|2008&lt;br /&gt;
|-&lt;br /&gt;
|F ||Future-proofing ||No limit per axle (update in 2030 or so?) || style=&amp;quot;text-align:right;&amp;quot;|~2028&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Energy source type class [***X] ===&lt;br /&gt;
The last position defines the energy source type class. This is split in generic energy source types like overhead wires and third rail and specialized types like alternating and direct current.&lt;br /&gt;
&lt;br /&gt;
A track set that only uses specialized types, should map the generic types to the most suitable specialized type in the set.&lt;br /&gt;
&lt;br /&gt;
A vehicle set that uses specialized types should define a generic type as fallback, via the railtype table. If such a fallback is omitted, please note that certain vehicles may be unavailable depending on track set loaded.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Generic energy type classes&lt;br /&gt;
|-&lt;br /&gt;
|N ||no electrification&lt;br /&gt;
|-&lt;br /&gt;
|E ||overhead wires/catenary electrification&lt;br /&gt;
|-&lt;br /&gt;
|3 ||3rd rail electrification&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Specialized energy type classes !!Vehicle set fallback&lt;br /&gt;
|-&lt;br /&gt;
|Z ||3rd rail and catenary electrification || 3 or E&lt;br /&gt;
|-&lt;br /&gt;
|4 ||4th rail electrification || 3&lt;br /&gt;
|-&lt;br /&gt;
|Y ||4th rail and catenary electrification || 4 or E&lt;br /&gt;
|-&lt;br /&gt;
|T ||[http://en.wikipedia.org/wiki/Three-phase_AC_railway_electrification three phase AC electrification] || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|D ||DC catenary electrification || E&lt;br /&gt;
|-&lt;br /&gt;
|d ||low voltage DC catenary electrification (only when D also used in set) || First A then E&lt;br /&gt;
|-&lt;br /&gt;
|A ||AC catenary electrification || E&lt;br /&gt;
|-&lt;br /&gt;
|a ||low voltage AC catenary electrification (only when A also used in set) || First A then E&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
If you want multi-voltage/current vehicles in your set (i.e. a train that can run on both AC and DC current), you have to define a dedicated railtype for those vehicles. Without the railtype, it&#039;s not possible to define vehicles with this property. If you only have vehicles that can run on either one type of voltage/current or on all types of voltage/current (e.g. a 2-system if you only have &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;D&#039;&#039;&#039; tracks, or a 4-system in case of all &#039;&#039;&#039;A&#039;&#039;&#039;, &#039;&#039;&#039;a&#039;&#039;&#039;, &#039;&#039;&#039;D&#039;&#039;&#039; and &#039;&#039;&#039;d&#039;&#039;&#039;), then use the generic class &#039;&#039;&#039;E&#039;&#039;&#039; for vehicles that should be able to run on all different voltage/currents. Also the track set needs to have one at least one railtype with class &#039;&#039;&#039;E&#039;&#039;&#039; defined.&lt;br /&gt;
&lt;br /&gt;
Note that if you want more than one type of multi-voltage/current, you&#039;ll quickly get a combinatory explosion of railtype labels, so plan carefully or do not attempt it. For every different multi-voltage/current vehicle type a dedicated railtype is needed. If you want all possible combinations, then you need to define an additional 8 classes. It is not recommended to make your train/track set this complicated.&lt;br /&gt;
&lt;br /&gt;
Example approach for a 4-system set, with trains that can run on either one or all systems:&lt;br /&gt;
* &#039;&#039;&#039;E&#039;&#039;&#039;: generic catenary-powered electric engines. &amp;quot;universal&amp;quot; [4-system] if any of &#039;&#039;&#039;D&#039;&#039;&#039;/&#039;&#039;&#039;d&#039;&#039;&#039;/&#039;&#039;&#039;A&#039;&#039;&#039;/&#039;&#039;&#039;a&#039;&#039;&#039; are defined.&lt;br /&gt;
* &#039;&#039;&#039;A&#039;&#039;&#039;: generic AC catenary electric engines. 25kV only if &#039;&#039;&#039;a&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;A&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;a&#039;&#039;&#039;: 15kV AC catenary electric engines. Only defined if &#039;&#039;&#039;A&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;a&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;D&#039;&#039;&#039;: generic DC catenary electric engines. 3kV if &#039;&#039;&#039;d&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;D&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;d&#039;&#039;&#039;: 1.5kV DC catenary electric engines. Only defined if &#039;&#039;&#039;D&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;D&#039;&#039;&#039; and &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;d&#039;&#039;&#039;.&lt;br /&gt;
For a 2-system set, you can simply drop &#039;&#039;&#039;a&#039;&#039;&#039; and &#039;&#039;&#039;d&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Standard labels: RAIL, ELRL, MONO, MGLV ===&lt;br /&gt;
It&#039;s not possible to undefine the standard railtypes RAIL, ELRL, MONO and MGLV. The game will always add those if there are vehicles defined for these track types. As a result, for a track set it&#039;s best not to ignore those standard labels, but rather work with them and define them in the set. If your track set does not have monorail or maglev tracks, there of course is no need to define those. But if your track set defines anything that resembles unelectrified or electrified rail, you should use the RAIL and ELRL labels. Matching labels from the above scheme will then be defined in property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
As vehicles from NewGRFs that do not use explicit railtypes will end up on these standard railtypes, you should use RAIL instead of whatever type could be regarded as the most commonly used unelectrified type, ELRL instead of the most commonly used electrified type and so on. The label according to this scheme is then set as an alternate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Summary for track sets ==&lt;br /&gt;
This section summarizes the above for track sets.&lt;br /&gt;
&lt;br /&gt;
; [X***] Track gauge and type class&lt;br /&gt;
* Define at least one track type for every track gauge/type class you want in your set.&lt;br /&gt;
* If you only provide tracks for one gauge/type, consider leaving some free railtypes so a player can load an additional set for some other type.&lt;br /&gt;
; [*X**] Speed limit class&lt;br /&gt;
* Make sure class A is always available, either directly or via an alternate label.&lt;br /&gt;
* Use only class A if you don&#039;t want speed limits;&lt;br /&gt;
* With speed limits, A is the lowest speed limit. Continue with B, C, etc. for increasing speed limits;&lt;br /&gt;
* The speed class can also be used to implement additional eye-candy track types, use letters higher in the alphabet for this.&lt;br /&gt;
; [**X*] Axle load class&lt;br /&gt;
* Always define all classes A through E for every track type class / electrification combination, either:&lt;br /&gt;
** Directly via a real railtype definition;&lt;br /&gt;
** Indirectly via the alternate rail type label list, property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
* Extend the predefined classes only if you also provide a train set that makes use of these.&lt;br /&gt;
; [***X] Energy source type class&lt;br /&gt;
* If your set only uses specialized classes, always map the generic classes to the closest matching specialized type via property 1D.&lt;br /&gt;
; Standard labels [RAIL, ELRL, MONO, MGLV]&lt;br /&gt;
* Always define the standard labels when possible, instead of what would be the equivalent of the standard label in this scheme.&lt;br /&gt;
* Map the equivalent labels from this scheme to the standard labels using property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
Or, put differently, for each gauge/type, select one or more energy source types. For each type/energy combination provide all axle load classes for the speed class &amp;quot;A&amp;quot;, either as a real type or as an alternate of another type. Provide more types with a different speed letter if you want to provide several different speeds or other eye-candy tracks.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Summary for train sets ==&lt;br /&gt;
This section summarizes the above for train sets.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; [X***] Track gauge and type class&lt;br /&gt;
* Use the track type class that matches the vehicle;&lt;br /&gt;
* Define a fallback type via the railtype table in case you want the vehicle to be available on a different track if no matching track set is loaded.&lt;br /&gt;
** Specialized subtypes like &amp;quot;n&amp;quot; might not always be available. If you want those vehicles to be still available then, fall back the the generic class (e.g. &amp;quot;N&amp;quot;).&lt;br /&gt;
; [*X**] Speed limit class &lt;br /&gt;
* Always use class A for every vehicle.&lt;br /&gt;
; [**X*] Axle load class&lt;br /&gt;
* Use all classes A through E according to the maximum axle weight of the vehicle.&lt;br /&gt;
* Extend the predefined classes only if you also provide a track set that makes use of these;&lt;br /&gt;
** When extending the predefined classes A through E, define a fallback type via the railtype table in case you want the vehicle to be available if no matching track set is loaded.&lt;br /&gt;
; [***X] Energy source type class&lt;br /&gt;
* Use the energy source type class that matches the vehicle;&lt;br /&gt;
* When using specialized classes, define a fallback type via the railtype table in case you want the vehicle to be available if no matching track set is loaded.&lt;br /&gt;
; Standard labels [RAIL, ELRL, MONO, MGLV]&lt;br /&gt;
* Define a fallback type to the standard labels via the railtype table in case you want the vehicle to be available on the standard tracks if no matching track set is loaded.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Be as specific as you want when selecting the railtype, it is the job of the track set to select a playable, reduced subset out of all possible type combinations.&lt;br /&gt;
&lt;br /&gt;
== In case you&#039;re not convinced by this scheme ==&lt;br /&gt;
Adopting this scheme gives the player freedom to use any track set in combination with any train set that follow the scheme. &lt;br /&gt;
&lt;br /&gt;
This means that you can make your train set compatible with track sets that provide axle load classes, and track sets that provide speed limits, and at the same time with track sets that provide none of this. This way, the player can decide to play with or without axle load classes, or with or without speed limits, simply by loading a track set that does or does not provide these features.&lt;br /&gt;
&lt;br /&gt;
And for your track set, it means that you can make it as simple or as complicated as you want (within the 64 track type limit), while not having to worry about compatibility with train sets.&lt;br /&gt;
&lt;br /&gt;
Still not convinced? Feel free to use railtype labels of your own, but know that you will likely come to regret that at some point in the future.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Forum topic==&lt;br /&gt;
If you want to discuss the standardized railtype scheme or have any questions about it, you can visit [http://www.tt-forums.net/viewtopic.php?t=59379 the forum topic].&lt;br /&gt;
&lt;br /&gt;
==&amp;quot;Innsbruck 2022 Convention&amp;quot; for partial compliance==&lt;br /&gt;
&lt;br /&gt;
This is really esoteric, but eh. It was the product of long discussion / debate / argument / reasoning between grf authors.&lt;br /&gt;
&lt;br /&gt;
1. The Standardized Railtype Scheme &#039;&#039;&#039;is a useful tool&#039;&#039;&#039; for providing reliable compatibility between train grfs and railtype grfs.&lt;br /&gt;
&lt;br /&gt;
2. The &#039;&#039;&#039;axle load class&#039;&#039;&#039; in the scheme presents a number of issues for compliance.&lt;br /&gt;
&lt;br /&gt;
2.1. Over 10 years since the scheme was standardised, not many train grfs implement multiple axle load classes &#039;&#039;&#039;as required by the scheme&#039;&#039;&#039;.  Known examples that &#039;&#039;&#039;do&#039;&#039;&#039; comply include Dutch Train Set, French Narrow Gauge Trains, and Finnish Trains.&lt;br /&gt;
&lt;br /&gt;
2.2. Elements of the axle load rules have proven hard to interpret.  For example:&lt;br /&gt;
&lt;br /&gt;
* is it compliant to use &#039;&#039;fewer&#039;&#039; than 5 classes in a train grf?  There is a lack of consensus on this.&lt;br /&gt;
* axle load is only one of many factors that govern whether a vehicle is compatible with a route, for example loading gauge, minimum curve, signalling types etc&lt;br /&gt;
&lt;br /&gt;
2.3. Meanwhile &#039;&#039;multiple existing train grfs use class &#039;&#039;A&#039;&#039; for the axle load for all trains&#039;&#039; (except where relying on default railtypes such as RAIL and ELRL).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3. The Innsbruck 2022 Convention uses class &#039;&#039;A&#039;&#039; for axle load for &#039;&#039;&#039;all&#039;&#039;&#039; trains in a train grf (except where relying on default railtypes such as RAIL and ELRL).&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is &#039;&#039;&#039;not&#039;&#039;&#039; fully compliant with the Standardized Railtype Scheme and does not claim to be.&lt;br /&gt;
&lt;br /&gt;
However train grfs using the Innsbruck 2022 Convention are &#039;&#039;broadly compatible&#039;&#039; with railtype grfs using the Standardized Railtype Scheme.  &lt;br /&gt;
&lt;br /&gt;
Obligatory XKCD link about &#039;standards&#039;: https://xkcd.com/927/&lt;br /&gt;
&lt;br /&gt;
===Known issues===&lt;br /&gt;
&lt;br /&gt;
Known problems are that trains using only class &#039;A&#039; may limit the ability of railtype grf authors to achieve their design goals for separating railtypes by axle load.  &lt;br /&gt;
But on reflection, it can be seen that a train grf might not be able to provide a broad enough range of vehicles to cover at least 5 axle load classes.&lt;br /&gt;
&lt;br /&gt;
3.1. The Innsbruck 2022 Convention is &#039;&#039;&#039;not&#039;&#039;&#039; appropriate for train grf authors who wish to provide more than one axle load class.&lt;br /&gt;
&lt;br /&gt;
3.2. The Innsbruck 2022 Convention treats the meaning of class &#039;&#039;A&#039;&#039; as &#039;&#039;undefined&#039;&#039;, &#039;&#039;ignored&#039;&#039; or &#039;&#039;compatible with most restricted railtype&#039;&#039; for axle load.  &lt;br /&gt;
&lt;br /&gt;
Axle load class &#039;&#039;A&#039;&#039; &#039;&#039;&#039;cannot&#039;&#039;&#039; be safely interpreted as &#039;&#039;universal&#039;&#039; because from the perspective of a railtype grf &#039;&#039;A&#039;&#039; is &#039;&#039;most restricted railtype&#039;&#039;, where &#039;&#039;universal&#039;&#039; is better represented as &#039;&#039;least restricted railtype&#039;&#039;. Depending how many axle load classes are in use by the railtype grf, this could be class &#039;&#039;B&#039;&#039;, &#039;&#039;C&#039;&#039;, &#039;&#039;D&#039;&#039;, &#039;&#039;E&#039;&#039; etc.  To illustrate this issue, take the following scenario&lt;br /&gt;
&lt;br /&gt;
* railtype grf defines axle loads &#039;&#039;A&#039;&#039; to &#039;&#039;E&#039;&#039;. In this case the railtype grf author intends that &#039;&#039;A&#039;&#039; is compatible with the smallest range of vehicles, &#039;&#039;E&#039;&#039; is compatible with the largest range of vehicles, and &#039;&#039;B&#039;&#039;, &#039;&#039;C&#039;&#039; and &#039;&#039;D&#039;&#039; are compatible with some intermediate ranges of vehicles&lt;br /&gt;
* but the vehicle grf author has defined all vehicles to be axle load &#039;&#039;A&#039;&#039; in an attempt to express this vehicle is &#039;&#039;universal&#039;&#039;.  The result in the game is that an identical range of vehicles will be compatible with railtypes &#039;&#039;A&#039;&#039; to &#039;&#039;E&#039;&#039;.  &lt;br /&gt;
&lt;br /&gt;
This is clearly &#039;&#039;&#039;not&#039;&#039;&#039; the intended outcome of the railtype author. But nor is it clear within the spec that the vehicle author has particularly done anything wrong. &lt;br /&gt;
&lt;br /&gt;
It &#039;&#039;would&#039;&#039; be possible to use railtype availability testing to adjust the vehicle property 05 (track_type) to fit the highest defined axle load (&#039;&#039;E&#039;&#039; in this example case), but this is not insignificant work, and it&#039;s unlikely to be widely adopted by vehicle grf authors.  Nor would this solution achieve &#039;&#039;universal&#039;&#039; as all vehicles in vehicle grf then would be incompatible with types &#039;&#039;A&#039;&#039; through &#039;&#039;D&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
3.3. When the Innsbruck 2022 Convention is used, this &#039;&#039;&#039;does not prevent&#039;&#039;&#039; a train grf being extended in some future release to achieve full compliance with Standardized Railtype Scheme. &#039;&#039;That choice remains with train grf authors&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
3.4. If 2012 could be revisited, providing an optional &#039;&#039;_&#039;&#039; axle load class in the Standardized Railtype Scheme for &#039;&#039;undefined&#039;&#039; would have been preferable, but as of 2022, &#039;&#039;A&#039;&#039; is already widely used for this purpose, and time travel is not known to be possible.&lt;br /&gt;
&lt;br /&gt;
==Extended multivoltage support addition==&lt;br /&gt;
These are extensions to the energy source type class currently supported by SETS and xUSSR Rails which allow trainsets to code trains which are limited to a certain selection of voltages. As stated in the energy source type class section this might not be of use for all sets, as such it is optional but still recommended for trainsets for ideal functionality with tracksets which support the extended labels.&lt;br /&gt;
{|&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Specialized energy type classes !!Vehicle set fallback&lt;br /&gt;
|-&lt;br /&gt;
|* ||Equivilent to A, a, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|&#039; ||Equivilent to A, a and D || E&lt;br /&gt;
|-&lt;br /&gt;
|^ ||Equivilent to A, a and d || E&lt;br /&gt;
|-&lt;br /&gt;
|_ ||Equivilent to A, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
|, ||Equivilent to a, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|$ ||Equivilent to A and a  || First A then E&lt;br /&gt;
|-&lt;br /&gt;
|= ||Equivilent to D and d  || First D then E&lt;br /&gt;
|-&lt;br /&gt;
|) ||Equivilent to A and D  || E&lt;br /&gt;
|-&lt;br /&gt;
|( ||Equivilent to A and d  || E&lt;br /&gt;
|-&lt;br /&gt;
|] ||Equivilent to a and D  || E&lt;br /&gt;
|-&lt;br /&gt;
|[ ||Equivilent to a and d  || E&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Possible additions==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Track type/gauge&lt;br /&gt;
|-&lt;br /&gt;
|_ ||Universal &amp;quot;cheat&amp;quot; rail; ALWAYS add &amp;quot;_A_-&amp;quot; and &amp;quot;_A_N&amp;quot; to EVERY [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]] (as well as the equivalent electrified/pneumatic railtype that is powered on your electrified/pneumatic railtype to support it if you are making a new railtype set, older sets can be covered by fix or patch grfs) and &amp;quot;_A_t&amp;quot; to EVERY [[NML:Railtypes#Railtype_properties|powered_railtype_list (NML)]]&lt;br /&gt;
|-&lt;br /&gt;
|0 ||(A number zero, not a letter &amp;quot;Oh&amp;quot;) No track, eyecandy-use only&lt;br /&gt;
|-&lt;br /&gt;
|U ||[https://perma.cc/93VE-8JQZ &amp;quot;Ukrainian monorail&amp;quot; or Şaropoí̈zd (Шаропоїзд)], a u-shaped concrete &amp;quot;monorail trench&amp;quot; from 1920&#039;s Soviet Union; see [https://www.tt-forums.net/viewtopic.php?f=26&amp;amp;t=47432 the Yarmanchuk Express] for graphics&lt;br /&gt;
|-&lt;br /&gt;
|1 ||Early Monorail; See [https://perma.cc/6BVS-2P2X here] and [https://perma.cc/VCG2-ATUA here]&lt;br /&gt;
|-&lt;br /&gt;
|G ||Gyrail; [https://en.wikipedia.org/wiki/Gyro_monorail Gyro monorail/Gyroscopic monorail/Gyro-stabilized monorail] for description and IRL example, and [https://wikimon.net/Trailmon here] ([https://web.archive.org/web/20240227205547/https://wikimon.net/Trailmon archived]) for good fictional examples&lt;br /&gt;
|-&lt;br /&gt;
|m ||Minimum gauge rail; [https://en.wikipedia.org/wiki/Minimum-gauge_railway 15 in (381 mm), 400 mm (15+3⁄4 in), 16 in (406 mm), 18 in (457 mm), 19 in (483 mm), 500 mm (19+3⁄4 in) or 20 in (508 mm)]&lt;br /&gt;
|-&lt;br /&gt;
|n ||600mm &amp;quot;Decauville&amp;quot; or &amp;quot;Feldsbahn&amp;quot;, formerly labelled &amp;quot;NG60&amp;quot; before standardization; the most common narrow gauge track type in OpenTTD other than metre gauge, 600mm gauge is thus ideal for taking up the &amp;quot;n&amp;quot; gauge, though this is an ultimately optional distinction&lt;br /&gt;
|-&lt;br /&gt;
|7 ||750mm, Bosnian gauge (760 mm), and 762mm; all start with 7 and are close in size&lt;br /&gt;
|-&lt;br /&gt;
|3 ||Swedish 3 foot (891 mm), 900mm, 3 foot (914 mm) and Italian Metre (950mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|R ||Metre gauge; potentially compatible with base tramtype &amp;quot;RABN&amp;quot;, most early tramways were metre gauge&lt;br /&gt;
|-&lt;br /&gt;
|4 ||4 foot gauge (1219 mm), and possibly 4&#039;6&amp;quot; in. (1372 mm) if standardization is needed for 1372mm&lt;br /&gt;
|-&lt;br /&gt;
|s ||Scotch gauge (1372 mm)&lt;br /&gt;
|-&lt;br /&gt;
|S ||Standard gauge; already implemented in original standardized railtype scheme, but could include near-standard (1432 mm) as well as existing true standard (1435 mm) and is also potentially compatible with the SABN tramtype&lt;br /&gt;
|-&lt;br /&gt;
|X ||Omni-gauge rail (for at-grade multi-gauge crossings and stations); ultrabroad/secondary broad/primary broad/standard/primary narrow/secondary narrow gauge&lt;br /&gt;
|-&lt;br /&gt;
|x ||Multi-gauge rail (for at-grade multi-gauge crossings and stations); secondary broad/primary broad/standard/primary narrow/secondary narrow&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;+&amp;lt;/nowiki&amp;gt; ||Quad-gauge (Four-gauge) rail (for at-grade multi-gauge crossings and stations); secondary broad/primary broad/standard/primary narrow&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt; ||Four-gauge rail (for at-grade multi-gauge crossings and stations); primary broad/standard/primary narrow/secondary narrow&lt;br /&gt;
|-&lt;br /&gt;
|b ||Broad gauge rail - As broad gauge is a rare tracktype, it may still be feasible to cement B and b as broad gauges of two differing sizes, but the rarity among gauges in the real world would need to match; Italian (1445 mm) and Dresden (1450 mm) gauges may be better grouped here&lt;br /&gt;
|-&lt;br /&gt;
|t ||Leipzig trams (1458 mm) and Greater Toronto Area streetcars (1495 mm)&lt;br /&gt;
|-&lt;br /&gt;
|5 ||1520mm and 5 foot (1524 mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|V ||Pennsylvanian (1581 mm and 1588 mm) and Australian &amp;quot;Victorian&amp;quot; (1600 mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|6 ||6 foot (1829 mm) broad gauge&lt;br /&gt;
|-&lt;br /&gt;
|g ||Brunel&#039;s Great Western Railway gauge (2140 mm)&lt;br /&gt;
|-&lt;br /&gt;
|B ||Biggest Broad gauge rail - As broad gauge is a rare tracktype, and the variation in common real life track types too wide, it may be desirable to cement B and b as broad gauges of two differing sizes; With no real life examples that match the usage frequency of &amp;quot;B&amp;quot;, the gauge might best draw inspiration from the infamous [https://en.wikipedia.org/wiki/Breitspurbahn Breitspurbahn] (3000 mm) and [https://perma.cc/KQ2Z-5RCR the never-built vehicles designed for it], or from the [https://en.wikipedia.org/wiki/Brighton_and_Rottingdean_Seashore_Electric_Railway Brighton &amp;amp; Rottingdean Seashore Electric Railway] (18 ft/5,486 mm) &lt;br /&gt;
|-&lt;br /&gt;
|L ||Maglevs that have a u-shaped track&lt;br /&gt;
|-&lt;br /&gt;
|T ||Maglevs that have a monorail track&lt;br /&gt;
|-&lt;br /&gt;
|F ||Flightrail; A [https://web.archive.org/web/20231213122530/http://www.flightrail.com/ system capable of high speeds and steep hill grades] that uses a pneumatic pipe for propulsion (see &amp;quot;P&amp;quot; under energy sources), and &#039;&#039;wheels pointed inwards at a 45-degree angle&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
It might be preferred to instead use/keep &amp;quot;B&amp;quot; for &amp;quot;all (current) broad gauges&amp;quot; (mostly Victorian gauge) instead using lowercase &amp;quot;b&amp;quot; for Brunel/GWR broad gauge. This wouldn&#039;t be to different from narrow gauge since the lesser used ones are lowercase and fallback to the uppercase ones.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Electrification !!Fallback !!Notes&lt;br /&gt;
|-&lt;br /&gt;
|1 ||Unspecified monorail electrification |||MONO (the whole label) ||&lt;br /&gt;
|-&lt;br /&gt;
|S ||Maglevs that use a synchronous linear motor ||N/A ||&lt;br /&gt;
|-&lt;br /&gt;
|I ||Maglevs that use a linear induction motor ||MGLV (the whole label) ||&lt;br /&gt;
|-&lt;br /&gt;
|V ||Vactrains/Hyperloop ||t, then I, then MGLV (the whole label) ||&lt;br /&gt;
|-&lt;br /&gt;
|t ||&amp;quot;Universal custom tunnel&amp;quot; (for electrified sub-surface rail tunnels) ||c, then p, then 7, then U (mandatory) ||&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt; ||Universal energy type (&#039;&#039;not&#039;&#039; meant to replace &amp;quot;***N&amp;quot;; use for vehicles such as driving cabs which cannot move under their own power regardless, if desired) ||N/A (Be sure to put &amp;quot;***E&amp;quot; in the [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]] of a &amp;quot;***-&amp;quot; label) ||(&#039;&#039;Do not give a fallback or use for railtypes, this is for unpowered &amp;quot;locomotives&amp;quot; only!&#039;&#039;)&lt;br /&gt;
|-&lt;br /&gt;
|5 ||750v DC Outer 3rd Rail (&amp;quot;MTRO&amp;quot; or &amp;quot;SA_3&amp;quot;) and 630v DC Inner 3rd/4th Rail; a total of 5 rails (2 for wheels, 3 for electricity), plausible in the London Underground network ||3 or 4 ||&lt;br /&gt;
|-&lt;br /&gt;
|U ||750v DC Outer 3rd Rail (&amp;quot;MTRO&amp;quot; or &amp;quot;SA_3&amp;quot;), 630v DC Inner 3rd/4th Rail and universal catenary (SAEE); a total of 5 rails (2 for wheels, 3 for electricity) if only one gauge, plausible in the London Underground network and an &amp;quot;ultimate&amp;quot; dual rail electrification without being a cheat (make it expensive or toggle-able?) as SAEU or as XAEU (universal dual rail electrified tracks) ||E ||&lt;br /&gt;
|-&lt;br /&gt;
|7 ||750v DC Outer 3rd Rail (&amp;quot;MTRO&amp;quot; or &amp;quot;SA_3&amp;quot;), 630v DC Inner 3rd/4th Rail, Three-phase AC (SA_T) 3rd/4th rail &amp;amp; catenary, and universal catenary (SA_E); a total of 7 rails (2 for wheels, 5 for electricity) if only one gauge, a truly universal dual rail electrification without being impossible (make it VERY expensive or toggle-able so it isn&#039;t cheat-y?) as SAE7, XAE7 or even as XRE7 (combination of ALL two-rail track gauges with universally-compatible electrification including an outer 3rd rail and a paired set of inner 3rd/4th rails, and a rack rail in the exact center; improbable, but not physically impossible) ||U ||&lt;br /&gt;
|-&lt;br /&gt;
|P ||Pneumatic tube with physical piston slit, or closed pneumatic tube with magnetic piston (i.e. that used by [https://web.archive.org/web/20231213122530/http://www.flightrail.com/ Flightrail]) ||N/A ||&lt;br /&gt;
|-&lt;br /&gt;
|p ||Pneumatic and universal electrical power ||P or 7 (Be sure to put &amp;quot;***_&amp;quot; and ***P&amp;quot; in the [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]] of a &amp;quot;***p&amp;quot; label) ||&lt;br /&gt;
|-&lt;br /&gt;
|c ||Cheat electrification type; use solely for the &amp;quot;_R_c&amp;quot; railtype label specifically (runs everything if coded properly) ||p, then 7, then U, then E, then N, then &amp;quot;SA_-&amp;quot; (the whole label) ||&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Lurkmore</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=Standardized_Railtype_Scheme&amp;diff=4755</id>
		<title>Standardized Railtype Scheme</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=Standardized_Railtype_Scheme&amp;diff=4755"/>
		<updated>2024-02-29T22:18:12Z</updated>

		<summary type="html">&lt;p&gt;Lurkmore: /* Speed limit class [*X**] */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This railtype label scheme aims to bring order to the uncontrolled growth of railtype labels. It groups the rail types into what matters from a technical perspective. The scheme provides a standardized way of defining railtype labels, based on track gauge and type, speed class, allowable axle weight and electrification type.&lt;br /&gt;
&lt;br /&gt;
It is the explicit intent of this scheme to decouple track sets from vehicle sets to facilitate easy mixing. This way the player can select a track set of choice to go with a train set of choice. It allows the player to play with or without axle load classes, or with or without speed limit classes, simply by loading a track set that does or does not provide these features. In some cases it will also be possible to combine niche track sets, for instance a standard gauge track set with a narrow gauge and a metro track set.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== The Label Scheme ==&lt;br /&gt;
A railtype label consists of four characters. In this scheme, each position has a different purpose:&lt;br /&gt;
# Track gauge and type class (e.g. standard gauge rail, narrow gauge rail, monorail)&lt;br /&gt;
# Speed limit class&lt;br /&gt;
# Axle load class (maximum allowed axle weight for this track)&lt;br /&gt;
# Energy source type class&lt;br /&gt;
&lt;br /&gt;
In the next sections, each of the four positions will be explained.&lt;br /&gt;
&lt;br /&gt;
=== Track gauge and type class [X***] ===&lt;br /&gt;
The first position in the railtype label defines track gauge and/or track type class. The following classes are currently defined:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Track type/gauge&lt;br /&gt;
|- &lt;br /&gt;
|S ||Standard gauge rail&lt;br /&gt;
|-&lt;br /&gt;
|B ||Broad gauge rail &lt;br /&gt;
|-&lt;br /&gt;
|N ||Narrow gauge rail&lt;br /&gt;
|-&lt;br /&gt;
|n ||Secondary narrow gauge rail (e.g. when providing both metre and cape gauge, always use N in case of just one type of narrow gauge)&lt;br /&gt;
|-&lt;br /&gt;
|D ||Dual gauge rail, standard/broad gauge&lt;br /&gt;
|-&lt;br /&gt;
|d ||Dual gauge rail, standard/narrow gauge&lt;br /&gt;
|-&lt;br /&gt;
|M ||Monorail&lt;br /&gt;
|-&lt;br /&gt;
|L ||Magnetic Levitation&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Speed limit class [*X**] ===&lt;br /&gt;
The second position in the railtype label defines the speed limit class. These classes do not map to a fixed numeric value, but are used to define an internal speed limit order for the track set. This means that if your track set has two different speed limits for track types that are otherwise identical, you&#039;ll use letters A and B here. In case of three different speed limits, use A, B and C. In case your track set does not employ speed limits, always use A. Train sets do not care about the speed limit, and will always set the lowest speed class, i.e. A.&lt;br /&gt;
&lt;br /&gt;
This gives for instance the following options:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||no speed limits&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;OR&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||low speed&lt;br /&gt;
|-&lt;br /&gt;
|B ||high speed&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;OR&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||low speed&lt;br /&gt;
|-&lt;br /&gt;
|B ||medium speed&lt;br /&gt;
|-&lt;br /&gt;
|C ||high speed&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;etc.&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear:left;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The speed limit class may also be used for some advanced features of the label scheme, like specialized track types and eyecandy purposes. Be careful not to break the compatibility with other sets when using the speed limit class for these purposes.&lt;br /&gt;
&lt;br /&gt;
An example of a special use is rack rail. In the French set it is used to give rack rail engines a higher speed and TE than normal rail engines when used on rack rail. When defining trains with a special speed limit class, always allow a fallback to speed limit class A via the railtype table.&lt;br /&gt;
&lt;br /&gt;
An example of eyecandy use are urban tracks. These are a variation of regular tracks, but with concrete ground tiles to better match the urban environment. Train sets must not define vehicles for eyecandy classes. If you think you have special vehicles that should only run on the eyecandy class, it is &#039;&#039;not&#039;&#039; eyecandy but a separate track gauge/type.&lt;br /&gt;
&lt;br /&gt;
The following special and eyecandy classes have been defined so far:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Description !!Type !!Used by&lt;br /&gt;
|- &lt;br /&gt;
|A-H ||speed limits ||colspan=&amp;quot;2&amp;quot;|reserved&lt;br /&gt;
|- &lt;br /&gt;
|R ||rack rail, that allows this vehicle to not slow down going uphill ||special ||French Set Rails&lt;br /&gt;
|-&lt;br /&gt;
|r ||rack rail, but is required by a locomotive with this railtype to move at all ||(hypothetical) ||Note: SrAN through SrEN should remap exclusively to SRAN-SREN and equivalent electrified railtypes, as though they are standardized the Sr?? railtypes should be hidden to prevent the false impression that Sr?? is an actual railtype rather than a &amp;quot;compatibility-defining&amp;quot; railtype that does not physically exist &lt;br /&gt;
|- &lt;br /&gt;
|S ||subterranean ||eyecandy ||Metro Track Set&lt;br /&gt;
|- &lt;br /&gt;
|U ||urban ||eyecandy ||Metro Track Set&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Axle load class [**X*] ===&lt;br /&gt;
The third position defines the axle weight limit. Heavy trains cannot run on tracks with a low axle weight limit; these trains need more expensive tracks with a heigher weight limit. There are five axle load classes &#039;&#039;&#039;A&#039;&#039;&#039; through &#039;&#039;&#039;E&#039;&#039;&#039;. &#039;&#039;&#039;A&#039;&#039;&#039; is for the lowest axle load limit, &#039;&#039;&#039;E&#039;&#039;&#039; for the highest. The exact axle load attached to each class is relative to the track gauge/type and trains in the set. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A train set should set the appropriate axle weight for each train via the railtype label, as to make the set work with track sets that do provide tracks with different weight limits, even if you don&#039;t care about it for your trainset. Split all vehicles of a certain track gauge/type into five groups of similar axle weight. The group with the lowest axle weights will get class &#039;&#039;&#039;A&#039;&#039;&#039;, the second lowest class &#039;&#039;&#039;B&#039;&#039;&#039;, etc. up to the group with the highest axle weights which will get class &#039;&#039;&#039;E&#039;&#039;&#039;. Do the same for the other track gauge/types if your train set has those.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A track set does not have to provide a dedicated track type for each axle weight limit. A track set that does not provide a dedicated track for each axle load class, must make sure to map all undefined axle load classes to a real railtype using property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]]. This way a train set can rely on all labels for all axle load classes being available. Example: if you only want to provide 2 axle load classes for standard gauge unelectrified with no speed limits, you can map SA&#039;&#039;&#039;A&#039;&#039;&#039;N + SA&#039;&#039;&#039;B&#039;&#039;&#039;N to SA&#039;&#039;&#039;C&#039;&#039;&#039;N and SA&#039;&#039;&#039;D&#039;&#039;&#039;N to SA&#039;&#039;&#039;E&#039;&#039;&#039;N if the cost difference between the two railtypes is high, or SA&#039;&#039;&#039;A&#039;&#039;&#039;N to SA&#039;&#039;&#039;B&#039;&#039;&#039;N and SA&#039;&#039;&#039;C&#039;&#039;&#039;N + SA&#039;&#039;&#039;D&#039;&#039;&#039;N to SA&#039;&#039;&#039;E&#039;&#039;&#039;N if the cost difference is low.&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t want to provide any axle load classes in your track set, it doesn&#039;t really matter what axle load class you choose for the track, as you&#039;ll be mapping all other classes to this track anyways. But the lowest or highest class are the obvious choice. Example: if your track set only provides narrow gauge unelectrified track with no speed limits and no axle load limits, you may use NA&#039;&#039;&#039;A&#039;&#039;&#039;N for the track label, and provide NA&#039;&#039;&#039;B&#039;&#039;&#039;N, NA&#039;&#039;&#039;C&#039;&#039;&#039;N, NA&#039;&#039;&#039;D&#039;&#039;&#039;N, NA&#039;&#039;&#039;E&#039;&#039;&#039;N in property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you need more than five axle load class, you may use lowercase letters for very low axle loads and continue the uppercase letters for very high axle loads. Be advised that your train set may not assume the existance of any other class than &#039;&#039;&#039;A&#039;&#039;&#039; through &#039;&#039;&#039;E&#039;&#039;&#039;, so when the range make sure to program your railtype table such that trains with such a class will fall back to class &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;E&#039;&#039;&#039;. If you make a track set with an extended range, be aware that not all train sets will define trains for these tracks. In general: only do this in case of a train set with a matching track set.&lt;br /&gt;
&lt;br /&gt;
For the lowercase letters, &#039;&#039;&#039;b&#039;&#039;&#039; is lower than &#039;&#039;&#039;a&#039;&#039;&#039;, so for increasing axle load limits: b &amp;lt; a &amp;lt; A &amp;lt; B &amp;lt; C etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that the axle load classes never map to a specific weight in tonnes. For that reason it does not make sense to add a numeric value for the axle load to the name of a track type or in the extended purchase info of a train. Instead use the relative expressions &#039;very low&#039;, &#039;low&#039;, &#039;medium&#039;, &#039;high&#039; and &#039;very high&#039; or use the class letters directly.&lt;br /&gt;
&lt;br /&gt;
If a guideline is needed for updating a set to use axle loads in a train set where they don&#039;t yet exist, the following might serve as a basic &amp;quot;generic&amp;quot; guideline...&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Indefinite !!Generic !! First usage&lt;br /&gt;
|-&lt;br /&gt;
|b ||Horse-drawn Wagonway ||1 metric tonne (1000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|1594&lt;br /&gt;
|-&lt;br /&gt;
|a ||Prototype Iron Rails ||1 metric tonne (1000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|1799&lt;br /&gt;
|-&lt;br /&gt;
|_ ||Unspecified ||No limit at all || style=&amp;quot;text-align:right;&amp;quot;|0&lt;br /&gt;
|-&lt;br /&gt;
|A ||Very Low ||10 metric tonnes (10000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|1828&lt;br /&gt;
|-&lt;br /&gt;
|B ||Low ||20 metric tonnes (20000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|1968&lt;br /&gt;
|-&lt;br /&gt;
|C ||Medium ||30 metric tonnes (30000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|~1978&lt;br /&gt;
|-&lt;br /&gt;
|D ||High ||40 metric tonnes (40000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|1988&lt;br /&gt;
|-&lt;br /&gt;
|E ||Very High ||50 metric tonnes (50000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|2008&lt;br /&gt;
|-&lt;br /&gt;
|F ||Future-proofing ||No limit per axle (update in 2030 or so?) || style=&amp;quot;text-align:right;&amp;quot;|~2028&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Energy source type class [***X] ===&lt;br /&gt;
The last position defines the energy source type class. This is split in generic energy source types like overhead wires and third rail and specialized types like alternating and direct current.&lt;br /&gt;
&lt;br /&gt;
A track set that only uses specialized types, should map the generic types to the most suitable specialized type in the set.&lt;br /&gt;
&lt;br /&gt;
A vehicle set that uses specialized types should define a generic type as fallback, via the railtype table. If such a fallback is omitted, please note that certain vehicles may be unavailable depending on track set loaded.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Generic energy type classes&lt;br /&gt;
|-&lt;br /&gt;
|N ||no electrification&lt;br /&gt;
|-&lt;br /&gt;
|E ||overhead wires/catenary electrification&lt;br /&gt;
|-&lt;br /&gt;
|3 ||3rd rail electrification&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Specialized energy type classes !!Vehicle set fallback&lt;br /&gt;
|-&lt;br /&gt;
|Z ||3rd rail and catenary electrification || 3 or E&lt;br /&gt;
|-&lt;br /&gt;
|4 ||4th rail electrification || 3&lt;br /&gt;
|-&lt;br /&gt;
|Y ||4th rail and catenary electrification || 4 or E&lt;br /&gt;
|-&lt;br /&gt;
|T ||[http://en.wikipedia.org/wiki/Three-phase_AC_railway_electrification three phase AC electrification] || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|D ||DC catenary electrification || E&lt;br /&gt;
|-&lt;br /&gt;
|d ||low voltage DC catenary electrification (only when D also used in set) || First A then E&lt;br /&gt;
|-&lt;br /&gt;
|A ||AC catenary electrification || E&lt;br /&gt;
|-&lt;br /&gt;
|a ||low voltage AC catenary electrification (only when A also used in set) || First A then E&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
If you want multi-voltage/current vehicles in your set (i.e. a train that can run on both AC and DC current), you have to define a dedicated railtype for those vehicles. Without the railtype, it&#039;s not possible to define vehicles with this property. If you only have vehicles that can run on either one type of voltage/current or on all types of voltage/current (e.g. a 2-system if you only have &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;D&#039;&#039;&#039; tracks, or a 4-system in case of all &#039;&#039;&#039;A&#039;&#039;&#039;, &#039;&#039;&#039;a&#039;&#039;&#039;, &#039;&#039;&#039;D&#039;&#039;&#039; and &#039;&#039;&#039;d&#039;&#039;&#039;), then use the generic class &#039;&#039;&#039;E&#039;&#039;&#039; for vehicles that should be able to run on all different voltage/currents. Also the track set needs to have one at least one railtype with class &#039;&#039;&#039;E&#039;&#039;&#039; defined.&lt;br /&gt;
&lt;br /&gt;
Note that if you want more than one type of multi-voltage/current, you&#039;ll quickly get a combinatory explosion of railtype labels, so plan carefully or do not attempt it. For every different multi-voltage/current vehicle type a dedicated railtype is needed. If you want all possible combinations, then you need to define an additional 8 classes. It is not recommended to make your train/track set this complicated.&lt;br /&gt;
&lt;br /&gt;
Example approach for a 4-system set, with trains that can run on either one or all systems:&lt;br /&gt;
* &#039;&#039;&#039;E&#039;&#039;&#039;: generic catenary-powered electric engines. &amp;quot;universal&amp;quot; [4-system] if any of &#039;&#039;&#039;D&#039;&#039;&#039;/&#039;&#039;&#039;d&#039;&#039;&#039;/&#039;&#039;&#039;A&#039;&#039;&#039;/&#039;&#039;&#039;a&#039;&#039;&#039; are defined.&lt;br /&gt;
* &#039;&#039;&#039;A&#039;&#039;&#039;: generic AC catenary electric engines. 25kV only if &#039;&#039;&#039;a&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;A&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;a&#039;&#039;&#039;: 15kV AC catenary electric engines. Only defined if &#039;&#039;&#039;A&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;a&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;D&#039;&#039;&#039;: generic DC catenary electric engines. 3kV if &#039;&#039;&#039;d&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;D&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;d&#039;&#039;&#039;: 1.5kV DC catenary electric engines. Only defined if &#039;&#039;&#039;D&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;D&#039;&#039;&#039; and &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;d&#039;&#039;&#039;.&lt;br /&gt;
For a 2-system set, you can simply drop &#039;&#039;&#039;a&#039;&#039;&#039; and &#039;&#039;&#039;d&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Standard labels: RAIL, ELRL, MONO, MGLV ===&lt;br /&gt;
It&#039;s not possible to undefine the standard railtypes RAIL, ELRL, MONO and MGLV. The game will always add those if there are vehicles defined for these track types. As a result, for a track set it&#039;s best not to ignore those standard labels, but rather work with them and define them in the set. If your track set does not have monorail or maglev tracks, there of course is no need to define those. But if your track set defines anything that resembles unelectrified or electrified rail, you should use the RAIL and ELRL labels. Matching labels from the above scheme will then be defined in property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
As vehicles from NewGRFs that do not use explicit railtypes will end up on these standard railtypes, you should use RAIL instead of whatever type could be regarded as the most commonly used unelectrified type, ELRL instead of the most commonly used electrified type and so on. The label according to this scheme is then set as an alternate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Summary for track sets ==&lt;br /&gt;
This section summarizes the above for track sets.&lt;br /&gt;
&lt;br /&gt;
; [X***] Track gauge and type class&lt;br /&gt;
* Define at least one track type for every track gauge/type class you want in your set.&lt;br /&gt;
* If you only provide tracks for one gauge/type, consider leaving some free railtypes so a player can load an additional set for some other type.&lt;br /&gt;
; [*X**] Speed limit class&lt;br /&gt;
* Make sure class A is always available, either directly or via an alternate label.&lt;br /&gt;
* Use only class A if you don&#039;t want speed limits;&lt;br /&gt;
* With speed limits, A is the lowest speed limit. Continue with B, C, etc. for increasing speed limits;&lt;br /&gt;
* The speed class can also be used to implement additional eye-candy track types, use letters higher in the alphabet for this.&lt;br /&gt;
; [**X*] Axle load class&lt;br /&gt;
* Always define all classes A through E for every track type class / electrification combination, either:&lt;br /&gt;
** Directly via a real railtype definition;&lt;br /&gt;
** Indirectly via the alternate rail type label list, property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
* Extend the predefined classes only if you also provide a train set that makes use of these.&lt;br /&gt;
; [***X] Energy source type class&lt;br /&gt;
* If your set only uses specialized classes, always map the generic classes to the closest matching specialized type via property 1D.&lt;br /&gt;
; Standard labels [RAIL, ELRL, MONO, MGLV]&lt;br /&gt;
* Always define the standard labels when possible, instead of what would be the equivalent of the standard label in this scheme.&lt;br /&gt;
* Map the equivalent labels from this scheme to the standard labels using property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
Or, put differently, for each gauge/type, select one or more energy source types. For each type/energy combination provide all axle load classes for the speed class &amp;quot;A&amp;quot;, either as a real type or as an alternate of another type. Provide more types with a different speed letter if you want to provide several different speeds or other eye-candy tracks.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Summary for train sets ==&lt;br /&gt;
This section summarizes the above for train sets.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; [X***] Track gauge and type class&lt;br /&gt;
* Use the track type class that matches the vehicle;&lt;br /&gt;
* Define a fallback type via the railtype table in case you want the vehicle to be available on a different track if no matching track set is loaded.&lt;br /&gt;
** Specialized subtypes like &amp;quot;n&amp;quot; might not always be available. If you want those vehicles to be still available then, fall back the the generic class (e.g. &amp;quot;N&amp;quot;).&lt;br /&gt;
; [*X**] Speed limit class &lt;br /&gt;
* Always use class A for every vehicle.&lt;br /&gt;
; [**X*] Axle load class&lt;br /&gt;
* Use all classes A through E according to the maximum axle weight of the vehicle.&lt;br /&gt;
* Extend the predefined classes only if you also provide a track set that makes use of these;&lt;br /&gt;
** When extending the predefined classes A through E, define a fallback type via the railtype table in case you want the vehicle to be available if no matching track set is loaded.&lt;br /&gt;
; [***X] Energy source type class&lt;br /&gt;
* Use the energy source type class that matches the vehicle;&lt;br /&gt;
* When using specialized classes, define a fallback type via the railtype table in case you want the vehicle to be available if no matching track set is loaded.&lt;br /&gt;
; Standard labels [RAIL, ELRL, MONO, MGLV]&lt;br /&gt;
* Define a fallback type to the standard labels via the railtype table in case you want the vehicle to be available on the standard tracks if no matching track set is loaded.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Be as specific as you want when selecting the railtype, it is the job of the track set to select a playable, reduced subset out of all possible type combinations.&lt;br /&gt;
&lt;br /&gt;
== In case you&#039;re not convinced by this scheme ==&lt;br /&gt;
Adopting this scheme gives the player freedom to use any track set in combination with any train set that follow the scheme. &lt;br /&gt;
&lt;br /&gt;
This means that you can make your train set compatible with track sets that provide axle load classes, and track sets that provide speed limits, and at the same time with track sets that provide none of this. This way, the player can decide to play with or without axle load classes, or with or without speed limits, simply by loading a track set that does or does not provide these features.&lt;br /&gt;
&lt;br /&gt;
And for your track set, it means that you can make it as simple or as complicated as you want (within the 64 track type limit), while not having to worry about compatibility with train sets.&lt;br /&gt;
&lt;br /&gt;
Still not convinced? Feel free to use railtype labels of your own, but know that you will likely come to regret that at some point in the future.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Forum topic==&lt;br /&gt;
If you want to discuss the standardized railtype scheme or have any questions about it, you can visit [http://www.tt-forums.net/viewtopic.php?t=59379 the forum topic].&lt;br /&gt;
&lt;br /&gt;
==&amp;quot;Innsbruck 2022 Convention&amp;quot; for partial compliance==&lt;br /&gt;
&lt;br /&gt;
This is really esoteric, but eh. It was the product of long discussion / debate / argument / reasoning between grf authors.&lt;br /&gt;
&lt;br /&gt;
1. The Standardized Railtype Scheme &#039;&#039;&#039;is a useful tool&#039;&#039;&#039; for providing reliable compatibility between train grfs and railtype grfs.&lt;br /&gt;
&lt;br /&gt;
2. The &#039;&#039;&#039;axle load class&#039;&#039;&#039; in the scheme presents a number of issues for compliance.&lt;br /&gt;
&lt;br /&gt;
2.1. Over 10 years since the scheme was standardised, not many train grfs implement multiple axle load classes &#039;&#039;&#039;as required by the scheme&#039;&#039;&#039;.  Known examples that &#039;&#039;&#039;do&#039;&#039;&#039; comply include Dutch Train Set, French Narrow Gauge Trains, and Finnish Trains.&lt;br /&gt;
&lt;br /&gt;
2.2. Elements of the axle load rules have proven hard to interpret.  For example:&lt;br /&gt;
&lt;br /&gt;
* is it compliant to use &#039;&#039;fewer&#039;&#039; than 5 classes in a train grf?  There is a lack of consensus on this.&lt;br /&gt;
* axle load is only one of many factors that govern whether a vehicle is compatible with a route, for example loading gauge, minimum curve, signalling types etc&lt;br /&gt;
&lt;br /&gt;
2.3. Meanwhile &#039;&#039;multiple existing train grfs use class &#039;&#039;A&#039;&#039; for the axle load for all trains&#039;&#039; (except where relying on default railtypes such as RAIL and ELRL).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3. The Innsbruck 2022 Convention uses class &#039;&#039;A&#039;&#039; for axle load for &#039;&#039;&#039;all&#039;&#039;&#039; trains in a train grf (except where relying on default railtypes such as RAIL and ELRL).&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is &#039;&#039;&#039;not&#039;&#039;&#039; fully compliant with the Standardized Railtype Scheme and does not claim to be.&lt;br /&gt;
&lt;br /&gt;
However train grfs using the Innsbruck 2022 Convention are &#039;&#039;broadly compatible&#039;&#039; with railtype grfs using the Standardized Railtype Scheme.  &lt;br /&gt;
&lt;br /&gt;
Obligatory XKCD link about &#039;standards&#039;: https://xkcd.com/927/&lt;br /&gt;
&lt;br /&gt;
===Known issues===&lt;br /&gt;
&lt;br /&gt;
Known problems are that trains using only class &#039;A&#039; may limit the ability of railtype grf authors to achieve their design goals for separating railtypes by axle load.  &lt;br /&gt;
But on reflection, it can be seen that a train grf might not be able to provide a broad enough range of vehicles to cover at least 5 axle load classes.&lt;br /&gt;
&lt;br /&gt;
3.1. The Innsbruck 2022 Convention is &#039;&#039;&#039;not&#039;&#039;&#039; appropriate for train grf authors who wish to provide more than one axle load class.&lt;br /&gt;
&lt;br /&gt;
3.2. The Innsbruck 2022 Convention treats the meaning of class &#039;&#039;A&#039;&#039; as &#039;&#039;undefined&#039;&#039;, &#039;&#039;ignored&#039;&#039; or &#039;&#039;compatible with most restricted railtype&#039;&#039; for axle load.  &lt;br /&gt;
&lt;br /&gt;
Axle load class &#039;&#039;A&#039;&#039; &#039;&#039;&#039;cannot&#039;&#039;&#039; be safely interpreted as &#039;&#039;universal&#039;&#039; because from the perspective of a railtype grf &#039;&#039;A&#039;&#039; is &#039;&#039;most restricted railtype&#039;&#039;, where &#039;&#039;universal&#039;&#039; is better represented as &#039;&#039;least restricted railtype&#039;&#039;. Depending how many axle load classes are in use by the railtype grf, this could be class &#039;&#039;B&#039;&#039;, &#039;&#039;C&#039;&#039;, &#039;&#039;D&#039;&#039;, &#039;&#039;E&#039;&#039; etc.  To illustrate this issue, take the following scenario&lt;br /&gt;
&lt;br /&gt;
* railtype grf defines axle loads &#039;&#039;A&#039;&#039; to &#039;&#039;E&#039;&#039;. In this case the railtype grf author intends that &#039;&#039;A&#039;&#039; is compatible with the smallest range of vehicles, &#039;&#039;E&#039;&#039; is compatible with the largest range of vehicles, and &#039;&#039;B&#039;&#039;, &#039;&#039;C&#039;&#039; and &#039;&#039;D&#039;&#039; are compatible with some intermediate ranges of vehicles&lt;br /&gt;
* but the vehicle grf author has defined all vehicles to be axle load &#039;&#039;A&#039;&#039; in an attempt to express this vehicle is &#039;&#039;universal&#039;&#039;.  The result in the game is that an identical range of vehicles will be compatible with railtypes &#039;&#039;A&#039;&#039; to &#039;&#039;E&#039;&#039;.  &lt;br /&gt;
&lt;br /&gt;
This is clearly &#039;&#039;&#039;not&#039;&#039;&#039; the intended outcome of the railtype author. But nor is it clear within the spec that the vehicle author has particularly done anything wrong. &lt;br /&gt;
&lt;br /&gt;
It &#039;&#039;would&#039;&#039; be possible to use railtype availability testing to adjust the vehicle property 05 (track_type) to fit the highest defined axle load (&#039;&#039;E&#039;&#039; in this example case), but this is not insignificant work, and it&#039;s unlikely to be widely adopted by vehicle grf authors.  Nor would this solution achieve &#039;&#039;universal&#039;&#039; as all vehicles in vehicle grf then would be incompatible with types &#039;&#039;A&#039;&#039; through &#039;&#039;D&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
3.3. When the Innsbruck 2022 Convention is used, this &#039;&#039;&#039;does not prevent&#039;&#039;&#039; a train grf being extended in some future release to achieve full compliance with Standardized Railtype Scheme. &#039;&#039;That choice remains with train grf authors&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
3.4. If 2012 could be revisited, providing an optional &#039;&#039;_&#039;&#039; axle load class in the Standardized Railtype Scheme for &#039;&#039;undefined&#039;&#039; would have been preferable, but as of 2022, &#039;&#039;A&#039;&#039; is already widely used for this purpose, and time travel is not known to be possible.&lt;br /&gt;
&lt;br /&gt;
==Extended multivoltage support addition==&lt;br /&gt;
These are extensions to the energy source type class currently supported by SETS and xUSSR Rails which allow trainsets to code trains which are limited to a certain selection of voltages. As stated in the energy source type class section this might not be of use for all sets, as such it is optional but still recommended for trainsets for ideal functionality with tracksets which support the extended labels.&lt;br /&gt;
{|&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Specialized energy type classes !!Vehicle set fallback&lt;br /&gt;
|-&lt;br /&gt;
|* ||Equivilent to A, a, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|&#039; ||Equivilent to A, a and D || E&lt;br /&gt;
|-&lt;br /&gt;
|^ ||Equivilent to A, a and d || E&lt;br /&gt;
|-&lt;br /&gt;
|_ ||Equivilent to A, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
|, ||Equivilent to a, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|$ ||Equivilent to A and a  || First A then E&lt;br /&gt;
|-&lt;br /&gt;
|= ||Equivilent to D and d  || First D then E&lt;br /&gt;
|-&lt;br /&gt;
|) ||Equivilent to A and D  || E&lt;br /&gt;
|-&lt;br /&gt;
|( ||Equivilent to A and d  || E&lt;br /&gt;
|-&lt;br /&gt;
|] ||Equivilent to a and D  || E&lt;br /&gt;
|-&lt;br /&gt;
|[ ||Equivilent to a and d  || E&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Possible additions==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Track type/gauge&lt;br /&gt;
|-&lt;br /&gt;
|_ ||Universal &amp;quot;cheat&amp;quot; rail; ALWAYS add &amp;quot;_A_-&amp;quot; and &amp;quot;_A_N&amp;quot; to EVERY [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]] (as well as the equivalent electrified/pneumatic railtype that is powered on your electrified/pneumatic railtype to support it if you are making a new railtype set, older sets can be covered by fix or patch grfs) and &amp;quot;_A_t&amp;quot; to EVERY [[NML:Railtypes#Railtype_properties|powered_railtype_list (NML)]]&lt;br /&gt;
|-&lt;br /&gt;
|0 ||(A number zero, not a letter &amp;quot;Oh&amp;quot;) No track, eyecandy-use only&lt;br /&gt;
|-&lt;br /&gt;
|U ||[https://perma.cc/93VE-8JQZ &amp;quot;Ukrainian monorail&amp;quot; or Şaropoí̈zd (Шаропоїзд)], a u-shaped concrete &amp;quot;monorail trench&amp;quot; from 1920&#039;s Soviet Union; see [https://www.tt-forums.net/viewtopic.php?f=26&amp;amp;t=47432 the Yarmanchuk Express] for graphics&lt;br /&gt;
|-&lt;br /&gt;
|1 ||Early Monorail; See [https://perma.cc/6BVS-2P2X here] and [https://perma.cc/VCG2-ATUA here]&lt;br /&gt;
|-&lt;br /&gt;
|G ||Gyrail; [https://en.wikipedia.org/wiki/Gyro_monorail Gyro monorail/Gyroscopic monorail/Gyro-stabilized monorail] for description and IRL example, and [https://wikimon.net/Trailmon here] ([https://web.archive.org/web/20240227205547/https://wikimon.net/Trailmon archived]) for good fictional examples&lt;br /&gt;
|-&lt;br /&gt;
|m ||Minimum gauge rail; [https://en.wikipedia.org/wiki/Minimum-gauge_railway 15 in (381 mm), 400 mm (15+3⁄4 in), 16 in (406 mm), 18 in (457 mm), 19 in (483 mm), 500 mm (19+3⁄4 in) or 20 in (508 mm)]&lt;br /&gt;
|-&lt;br /&gt;
|n ||600mm &amp;quot;Decauville&amp;quot; or &amp;quot;Feldsbahn&amp;quot;, formerly labelled &amp;quot;NG60&amp;quot; before standardization; the most common narrow gauge track type in OpenTTD other than metre gauge, 600mm gauge is thus ideal for taking up the &amp;quot;n&amp;quot; gauge, though this is an ultimately optional distinction&lt;br /&gt;
|-&lt;br /&gt;
|7 ||750mm, Bosnian gauge (760 mm), and 762mm; all start with 7 and are close in size&lt;br /&gt;
|-&lt;br /&gt;
|3 ||Swedish 3 foot (891 mm), 900mm, 3 foot (914 mm) and Italian Metre (950mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|R ||Metre gauge; potentially compatible with base tramtype &amp;quot;RABN&amp;quot;, most early tramways were metre gauge&lt;br /&gt;
|-&lt;br /&gt;
|4 ||4 foot gauge (1219 mm), and possibly 4&#039;6&amp;quot; in. (1372 mm) if standardization is needed for 1372mm&lt;br /&gt;
|-&lt;br /&gt;
|s ||Scotch gauge (1372 mm)&lt;br /&gt;
|-&lt;br /&gt;
|S ||Standard gauge; already implemented in original standardized railtype scheme, but could include near-standard (1432 mm) as well as existing true standard (1435 mm) and is also potentially compatible with the SABN tramtype&lt;br /&gt;
|-&lt;br /&gt;
|X ||Omni-gauge rail (for at-grade multi-gauge crossings and stations); ultrabroad/secondary broad/primary broad/standard/primary narrow/secondary narrow gauge&lt;br /&gt;
|-&lt;br /&gt;
|x ||Multi-gauge rail (for at-grade multi-gauge crossings and stations); secondary broad/primary broad/standard/primary narrow/secondary narrow&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;+&amp;lt;/nowiki&amp;gt; ||Quad-gauge (Four-gauge) rail (for at-grade multi-gauge crossings and stations); secondary broad/primary broad/standard/primary narrow&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt; ||Four-gauge rail (for at-grade multi-gauge crossings and stations); primary broad/standard/primary narrow/secondary narrow&lt;br /&gt;
|-&lt;br /&gt;
|b ||Broad gauge rail - As broad gauge is a rare tracktype, it may still be feasible to cement B and b as broad gauges of two differing sizes, but the rarity among gauges in the real world would need to match; Italian (1445 mm) and Dresden (1450 mm) gauges may be better grouped here&lt;br /&gt;
|-&lt;br /&gt;
|t ||Leipzig trams (1458 mm) and Greater Toronto Area streetcars (1495 mm)&lt;br /&gt;
|-&lt;br /&gt;
|5 ||1520mm and 5 foot (1524 mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|V ||Pennsylvanian (1581 mm and 1588 mm) and Australian &amp;quot;Victorian&amp;quot; (1600 mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|6 ||6 foot (1829 mm) broad gauge&lt;br /&gt;
|-&lt;br /&gt;
|g ||Brunel&#039;s Great Western Railway gauge (2140 mm)&lt;br /&gt;
|-&lt;br /&gt;
|B ||Biggest Broad gauge rail - As broad gauge is a rare tracktype, and the variation in common real life track types too wide, it may be desirable to cement B and b as broad gauges of two differing sizes; With no real life examples that match the usage frequency of &amp;quot;B&amp;quot;, the gauge might best draw inspiration from the infamous [https://en.wikipedia.org/wiki/Breitspurbahn Breitspurbahn] (3000 mm) and [https://perma.cc/KQ2Z-5RCR the never-built vehicles designed for it], or from the [https://en.wikipedia.org/wiki/Brighton_and_Rottingdean_Seashore_Electric_Railway Brighton &amp;amp; Rottingdean Seashore Electric Railway] (18 ft/5,486 mm) &lt;br /&gt;
|-&lt;br /&gt;
|L ||Maglevs that have a u-shaped track&lt;br /&gt;
|-&lt;br /&gt;
|T ||Maglevs that have a monorail track&lt;br /&gt;
|-&lt;br /&gt;
|F ||Flightrail; A [https://web.archive.org/web/20231213122530/http://www.flightrail.com/ system capable of high speeds and steep hill grades] that uses a pneumatic pipe for propulsion (see &amp;quot;P&amp;quot; under energy sources), and &#039;&#039;wheels pointed inwards at a 45-degree angle&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
It might be preferred to instead use/keep &amp;quot;B&amp;quot; for &amp;quot;all (current) broad gauges&amp;quot; (mostly Victorian gauge) instead using lowercase &amp;quot;b&amp;quot; for Brunel/GWR broad gauge. This wouldn&#039;t be to different from narrow gauge since the lesser used ones are lowercase and fallback to the uppercase ones.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Electrification !!Fallback !!Notes&lt;br /&gt;
|-&lt;br /&gt;
|1 ||Unspecified monorail electrification |||MONO (the whole label) ||&lt;br /&gt;
|-&lt;br /&gt;
|S ||Maglevs that use a synchronous linear motor ||N/A ||&lt;br /&gt;
|-&lt;br /&gt;
|I ||Maglevs that use a linear induction motor ||MGLV (the whole label) ||&lt;br /&gt;
|-&lt;br /&gt;
|V ||Vactrains/Hyperloop ||t, then I, then MGLV (the whole label) ||&lt;br /&gt;
|-&lt;br /&gt;
|t ||&amp;quot;Universal custom tunnel&amp;quot; (for electrified sub-surface rail tunnels) ||c, then p, then 7, then U (mandatory) ||&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt; ||Universal energy type (&#039;&#039;not&#039;&#039; meant to replace &amp;quot;***N&amp;quot;; use for vehicles such as driving cabs which cannot move under their own power regardless, if desired) ||N/A (Be sure to put &amp;quot;***E&amp;quot; in the [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]] of a &amp;quot;***-&amp;quot; label) ||(&#039;&#039;Do not give a fallback or use for railtypes, this is for unpowered &amp;quot;locomotives&amp;quot; only!&#039;&#039;)&lt;br /&gt;
|-&lt;br /&gt;
|5 ||750v DC Outer 3rd Rail (&amp;quot;MTRO&amp;quot; or &amp;quot;SA_3&amp;quot;) and 630v DC Inner 3rd/4th Rail; a total of 5 rails (2 for wheels, 3 for electricity), plausible in the London Underground network ||3 or 4 ||&lt;br /&gt;
|-&lt;br /&gt;
|U ||750v DC Outer 3rd Rail (&amp;quot;MTRO&amp;quot; or &amp;quot;SA_3&amp;quot;), 630v DC Inner 3rd/4th Rail and universal catenary (SAEE); a total of 5 rails (2 for wheels, 3 for electricity) if only one gauge, plausible in the London Underground network and an &amp;quot;ultimate&amp;quot; dual rail electrification without being a cheat (make it expensive or toggle-able?) as SAEU or as XAEU (universal dual rail electrified tracks) ||E ||&lt;br /&gt;
|-&lt;br /&gt;
|7 ||750v DC Outer 3rd Rail (&amp;quot;MTRO&amp;quot; or &amp;quot;SA_3&amp;quot;), 630v DC Inner 3rd/4th Rail, Three-phase AC (SA_T) 3rd/4th rail &amp;amp; catenary, and universal catenary (SA_E); a total of 7 rails (2 for wheels, 5 for electricity) if only one gauge, a truly universal dual rail electrification without being impossible (make it VERY expensive or toggle-able so it isn&#039;t cheat-y?) as SAE7, XAE7 or even as XRE7 (universal electrified rack-equipped dual rail tracks) ||U ||&lt;br /&gt;
|-&lt;br /&gt;
|P ||Pneumatic tube with physical piston slit, or closed pneumatic tube with magnetic piston (i.e. that used by [https://web.archive.org/web/20231213122530/http://www.flightrail.com/ Flightrail]) ||N/A ||&lt;br /&gt;
|-&lt;br /&gt;
|p ||Pneumatic and universal electrical power ||P or 7 (Be sure to put &amp;quot;***_&amp;quot; and ***P&amp;quot; in the [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]] of a &amp;quot;***p&amp;quot; label) ||&lt;br /&gt;
|-&lt;br /&gt;
|c ||Cheat electrification type; use solely for _R_c railtype ||p, then 7, then U, then E, then N, then &amp;quot;SA_-&amp;quot; (the whole label) ||&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Lurkmore</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=Standardized_Railtype_Scheme&amp;diff=4754</id>
		<title>Standardized Railtype Scheme</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=Standardized_Railtype_Scheme&amp;diff=4754"/>
		<updated>2024-02-28T07:28:19Z</updated>

		<summary type="html">&lt;p&gt;Lurkmore: /* Axle load class [**X*] */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This railtype label scheme aims to bring order to the uncontrolled growth of railtype labels. It groups the rail types into what matters from a technical perspective. The scheme provides a standardized way of defining railtype labels, based on track gauge and type, speed class, allowable axle weight and electrification type.&lt;br /&gt;
&lt;br /&gt;
It is the explicit intent of this scheme to decouple track sets from vehicle sets to facilitate easy mixing. This way the player can select a track set of choice to go with a train set of choice. It allows the player to play with or without axle load classes, or with or without speed limit classes, simply by loading a track set that does or does not provide these features. In some cases it will also be possible to combine niche track sets, for instance a standard gauge track set with a narrow gauge and a metro track set.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== The Label Scheme ==&lt;br /&gt;
A railtype label consists of four characters. In this scheme, each position has a different purpose:&lt;br /&gt;
# Track gauge and type class (e.g. standard gauge rail, narrow gauge rail, monorail)&lt;br /&gt;
# Speed limit class&lt;br /&gt;
# Axle load class (maximum allowed axle weight for this track)&lt;br /&gt;
# Energy source type class&lt;br /&gt;
&lt;br /&gt;
In the next sections, each of the four positions will be explained.&lt;br /&gt;
&lt;br /&gt;
=== Track gauge and type class [X***] ===&lt;br /&gt;
The first position in the railtype label defines track gauge and/or track type class. The following classes are currently defined:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Track type/gauge&lt;br /&gt;
|- &lt;br /&gt;
|S ||Standard gauge rail&lt;br /&gt;
|-&lt;br /&gt;
|B ||Broad gauge rail &lt;br /&gt;
|-&lt;br /&gt;
|N ||Narrow gauge rail&lt;br /&gt;
|-&lt;br /&gt;
|n ||Secondary narrow gauge rail (e.g. when providing both metre and cape gauge, always use N in case of just one type of narrow gauge)&lt;br /&gt;
|-&lt;br /&gt;
|D ||Dual gauge rail, standard/broad gauge&lt;br /&gt;
|-&lt;br /&gt;
|d ||Dual gauge rail, standard/narrow gauge&lt;br /&gt;
|-&lt;br /&gt;
|M ||Monorail&lt;br /&gt;
|-&lt;br /&gt;
|L ||Magnetic Levitation&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Speed limit class [*X**] ===&lt;br /&gt;
The second position in the railtype label defines the speed limit class. These classes do not map to a fixed numeric value, but are used to define an internal speed limit order for the track set. This means that if your track set has two different speed limits for track types that are otherwise identical, you&#039;ll use letters A and B here. In case of three different speed limits, use A, B and C. In case your track set does not employ speed limits, always use A. Train sets do not care about the speed limit, and will always set the lowest speed class, i.e. A.&lt;br /&gt;
&lt;br /&gt;
This gives for instance the following options:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||no speed limits&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;OR&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||low speed&lt;br /&gt;
|-&lt;br /&gt;
|B ||high speed&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;OR&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||low speed&lt;br /&gt;
|-&lt;br /&gt;
|B ||medium speed&lt;br /&gt;
|-&lt;br /&gt;
|C ||high speed&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;etc.&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear:left;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The speed limit class may also be used for some advanced features of the label scheme, like specialized track types and eyecandy purposes. Be careful not to break the compatibility with other sets when using the speed limit class for these purposes.&lt;br /&gt;
&lt;br /&gt;
An example of a special use is rack rail. In the French set it is used to give rack rail engines a higher speed and TE than normal rail engines when used on rack rail. When defining trains with a special speed limit class, always allow a fallback to speed limit class A via the railtype table.&lt;br /&gt;
&lt;br /&gt;
An example of eyecandy use are urban tracks. These are a variation of regular tracks, but with concrete ground tiles to better match the urban environment. Train sets must not define vehicles for eyecandy classes. If you think you have special vehicles that should only run on the eyecandy class, it is &#039;&#039;not&#039;&#039; eyecandy but a separate track gauge/type.&lt;br /&gt;
&lt;br /&gt;
The following special and eyecandy classes have been defined so far:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Description !!Type !!Used by&lt;br /&gt;
|- &lt;br /&gt;
|A-H ||speed limits ||colspan=&amp;quot;2&amp;quot;|reserved&lt;br /&gt;
|- &lt;br /&gt;
|R ||rack rail ||special ||French Set Rails &lt;br /&gt;
|- &lt;br /&gt;
|S ||subterranean ||eyecandy ||Metro Track Set&lt;br /&gt;
|- &lt;br /&gt;
|U ||urban ||eyecandy ||Metro Track Set&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Axle load class [**X*] ===&lt;br /&gt;
The third position defines the axle weight limit. Heavy trains cannot run on tracks with a low axle weight limit; these trains need more expensive tracks with a heigher weight limit. There are five axle load classes &#039;&#039;&#039;A&#039;&#039;&#039; through &#039;&#039;&#039;E&#039;&#039;&#039;. &#039;&#039;&#039;A&#039;&#039;&#039; is for the lowest axle load limit, &#039;&#039;&#039;E&#039;&#039;&#039; for the highest. The exact axle load attached to each class is relative to the track gauge/type and trains in the set. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A train set should set the appropriate axle weight for each train via the railtype label, as to make the set work with track sets that do provide tracks with different weight limits, even if you don&#039;t care about it for your trainset. Split all vehicles of a certain track gauge/type into five groups of similar axle weight. The group with the lowest axle weights will get class &#039;&#039;&#039;A&#039;&#039;&#039;, the second lowest class &#039;&#039;&#039;B&#039;&#039;&#039;, etc. up to the group with the highest axle weights which will get class &#039;&#039;&#039;E&#039;&#039;&#039;. Do the same for the other track gauge/types if your train set has those.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A track set does not have to provide a dedicated track type for each axle weight limit. A track set that does not provide a dedicated track for each axle load class, must make sure to map all undefined axle load classes to a real railtype using property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]]. This way a train set can rely on all labels for all axle load classes being available. Example: if you only want to provide 2 axle load classes for standard gauge unelectrified with no speed limits, you can map SA&#039;&#039;&#039;A&#039;&#039;&#039;N + SA&#039;&#039;&#039;B&#039;&#039;&#039;N to SA&#039;&#039;&#039;C&#039;&#039;&#039;N and SA&#039;&#039;&#039;D&#039;&#039;&#039;N to SA&#039;&#039;&#039;E&#039;&#039;&#039;N if the cost difference between the two railtypes is high, or SA&#039;&#039;&#039;A&#039;&#039;&#039;N to SA&#039;&#039;&#039;B&#039;&#039;&#039;N and SA&#039;&#039;&#039;C&#039;&#039;&#039;N + SA&#039;&#039;&#039;D&#039;&#039;&#039;N to SA&#039;&#039;&#039;E&#039;&#039;&#039;N if the cost difference is low.&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t want to provide any axle load classes in your track set, it doesn&#039;t really matter what axle load class you choose for the track, as you&#039;ll be mapping all other classes to this track anyways. But the lowest or highest class are the obvious choice. Example: if your track set only provides narrow gauge unelectrified track with no speed limits and no axle load limits, you may use NA&#039;&#039;&#039;A&#039;&#039;&#039;N for the track label, and provide NA&#039;&#039;&#039;B&#039;&#039;&#039;N, NA&#039;&#039;&#039;C&#039;&#039;&#039;N, NA&#039;&#039;&#039;D&#039;&#039;&#039;N, NA&#039;&#039;&#039;E&#039;&#039;&#039;N in property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you need more than five axle load class, you may use lowercase letters for very low axle loads and continue the uppercase letters for very high axle loads. Be advised that your train set may not assume the existance of any other class than &#039;&#039;&#039;A&#039;&#039;&#039; through &#039;&#039;&#039;E&#039;&#039;&#039;, so when the range make sure to program your railtype table such that trains with such a class will fall back to class &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;E&#039;&#039;&#039;. If you make a track set with an extended range, be aware that not all train sets will define trains for these tracks. In general: only do this in case of a train set with a matching track set.&lt;br /&gt;
&lt;br /&gt;
For the lowercase letters, &#039;&#039;&#039;b&#039;&#039;&#039; is lower than &#039;&#039;&#039;a&#039;&#039;&#039;, so for increasing axle load limits: b &amp;lt; a &amp;lt; A &amp;lt; B &amp;lt; C etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that the axle load classes never map to a specific weight in tonnes. For that reason it does not make sense to add a numeric value for the axle load to the name of a track type or in the extended purchase info of a train. Instead use the relative expressions &#039;very low&#039;, &#039;low&#039;, &#039;medium&#039;, &#039;high&#039; and &#039;very high&#039; or use the class letters directly.&lt;br /&gt;
&lt;br /&gt;
If a guideline is needed for updating a set to use axle loads in a train set where they don&#039;t yet exist, the following might serve as a basic &amp;quot;generic&amp;quot; guideline...&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Indefinite !!Generic !! First usage&lt;br /&gt;
|-&lt;br /&gt;
|b ||Horse-drawn Wagonway ||1 metric tonne (1000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|1594&lt;br /&gt;
|-&lt;br /&gt;
|a ||Prototype Iron Rails ||1 metric tonne (1000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|1799&lt;br /&gt;
|-&lt;br /&gt;
|_ ||Unspecified ||No limit at all || style=&amp;quot;text-align:right;&amp;quot;|0&lt;br /&gt;
|-&lt;br /&gt;
|A ||Very Low ||10 metric tonnes (10000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|1828&lt;br /&gt;
|-&lt;br /&gt;
|B ||Low ||20 metric tonnes (20000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|1968&lt;br /&gt;
|-&lt;br /&gt;
|C ||Medium ||30 metric tonnes (30000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|~1978&lt;br /&gt;
|-&lt;br /&gt;
|D ||High ||40 metric tonnes (40000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|1988&lt;br /&gt;
|-&lt;br /&gt;
|E ||Very High ||50 metric tonnes (50000kg) per axle || style=&amp;quot;text-align:right;&amp;quot;|2008&lt;br /&gt;
|-&lt;br /&gt;
|F ||Future-proofing ||No limit per axle (update in 2030 or so?) || style=&amp;quot;text-align:right;&amp;quot;|~2028&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Energy source type class [***X] ===&lt;br /&gt;
The last position defines the energy source type class. This is split in generic energy source types like overhead wires and third rail and specialized types like alternating and direct current.&lt;br /&gt;
&lt;br /&gt;
A track set that only uses specialized types, should map the generic types to the most suitable specialized type in the set.&lt;br /&gt;
&lt;br /&gt;
A vehicle set that uses specialized types should define a generic type as fallback, via the railtype table. If such a fallback is omitted, please note that certain vehicles may be unavailable depending on track set loaded.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Generic energy type classes&lt;br /&gt;
|-&lt;br /&gt;
|N ||no electrification&lt;br /&gt;
|-&lt;br /&gt;
|E ||overhead wires/catenary electrification&lt;br /&gt;
|-&lt;br /&gt;
|3 ||3rd rail electrification&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Specialized energy type classes !!Vehicle set fallback&lt;br /&gt;
|-&lt;br /&gt;
|Z ||3rd rail and catenary electrification || 3 or E&lt;br /&gt;
|-&lt;br /&gt;
|4 ||4th rail electrification || 3&lt;br /&gt;
|-&lt;br /&gt;
|Y ||4th rail and catenary electrification || 4 or E&lt;br /&gt;
|-&lt;br /&gt;
|T ||[http://en.wikipedia.org/wiki/Three-phase_AC_railway_electrification three phase AC electrification] || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|D ||DC catenary electrification || E&lt;br /&gt;
|-&lt;br /&gt;
|d ||low voltage DC catenary electrification (only when D also used in set) || First A then E&lt;br /&gt;
|-&lt;br /&gt;
|A ||AC catenary electrification || E&lt;br /&gt;
|-&lt;br /&gt;
|a ||low voltage AC catenary electrification (only when A also used in set) || First A then E&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
If you want multi-voltage/current vehicles in your set (i.e. a train that can run on both AC and DC current), you have to define a dedicated railtype for those vehicles. Without the railtype, it&#039;s not possible to define vehicles with this property. If you only have vehicles that can run on either one type of voltage/current or on all types of voltage/current (e.g. a 2-system if you only have &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;D&#039;&#039;&#039; tracks, or a 4-system in case of all &#039;&#039;&#039;A&#039;&#039;&#039;, &#039;&#039;&#039;a&#039;&#039;&#039;, &#039;&#039;&#039;D&#039;&#039;&#039; and &#039;&#039;&#039;d&#039;&#039;&#039;), then use the generic class &#039;&#039;&#039;E&#039;&#039;&#039; for vehicles that should be able to run on all different voltage/currents. Also the track set needs to have one at least one railtype with class &#039;&#039;&#039;E&#039;&#039;&#039; defined.&lt;br /&gt;
&lt;br /&gt;
Note that if you want more than one type of multi-voltage/current, you&#039;ll quickly get a combinatory explosion of railtype labels, so plan carefully or do not attempt it. For every different multi-voltage/current vehicle type a dedicated railtype is needed. If you want all possible combinations, then you need to define an additional 8 classes. It is not recommended to make your train/track set this complicated.&lt;br /&gt;
&lt;br /&gt;
Example approach for a 4-system set, with trains that can run on either one or all systems:&lt;br /&gt;
* &#039;&#039;&#039;E&#039;&#039;&#039;: generic catenary-powered electric engines. &amp;quot;universal&amp;quot; [4-system] if any of &#039;&#039;&#039;D&#039;&#039;&#039;/&#039;&#039;&#039;d&#039;&#039;&#039;/&#039;&#039;&#039;A&#039;&#039;&#039;/&#039;&#039;&#039;a&#039;&#039;&#039; are defined.&lt;br /&gt;
* &#039;&#039;&#039;A&#039;&#039;&#039;: generic AC catenary electric engines. 25kV only if &#039;&#039;&#039;a&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;A&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;a&#039;&#039;&#039;: 15kV AC catenary electric engines. Only defined if &#039;&#039;&#039;A&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;a&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;D&#039;&#039;&#039;: generic DC catenary electric engines. 3kV if &#039;&#039;&#039;d&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;D&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;d&#039;&#039;&#039;: 1.5kV DC catenary electric engines. Only defined if &#039;&#039;&#039;D&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;D&#039;&#039;&#039; and &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;d&#039;&#039;&#039;.&lt;br /&gt;
For a 2-system set, you can simply drop &#039;&#039;&#039;a&#039;&#039;&#039; and &#039;&#039;&#039;d&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Standard labels: RAIL, ELRL, MONO, MGLV ===&lt;br /&gt;
It&#039;s not possible to undefine the standard railtypes RAIL, ELRL, MONO and MGLV. The game will always add those if there are vehicles defined for these track types. As a result, for a track set it&#039;s best not to ignore those standard labels, but rather work with them and define them in the set. If your track set does not have monorail or maglev tracks, there of course is no need to define those. But if your track set defines anything that resembles unelectrified or electrified rail, you should use the RAIL and ELRL labels. Matching labels from the above scheme will then be defined in property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
As vehicles from NewGRFs that do not use explicit railtypes will end up on these standard railtypes, you should use RAIL instead of whatever type could be regarded as the most commonly used unelectrified type, ELRL instead of the most commonly used electrified type and so on. The label according to this scheme is then set as an alternate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Summary for track sets ==&lt;br /&gt;
This section summarizes the above for track sets.&lt;br /&gt;
&lt;br /&gt;
; [X***] Track gauge and type class&lt;br /&gt;
* Define at least one track type for every track gauge/type class you want in your set.&lt;br /&gt;
* If you only provide tracks for one gauge/type, consider leaving some free railtypes so a player can load an additional set for some other type.&lt;br /&gt;
; [*X**] Speed limit class&lt;br /&gt;
* Make sure class A is always available, either directly or via an alternate label.&lt;br /&gt;
* Use only class A if you don&#039;t want speed limits;&lt;br /&gt;
* With speed limits, A is the lowest speed limit. Continue with B, C, etc. for increasing speed limits;&lt;br /&gt;
* The speed class can also be used to implement additional eye-candy track types, use letters higher in the alphabet for this.&lt;br /&gt;
; [**X*] Axle load class&lt;br /&gt;
* Always define all classes A through E for every track type class / electrification combination, either:&lt;br /&gt;
** Directly via a real railtype definition;&lt;br /&gt;
** Indirectly via the alternate rail type label list, property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
* Extend the predefined classes only if you also provide a train set that makes use of these.&lt;br /&gt;
; [***X] Energy source type class&lt;br /&gt;
* If your set only uses specialized classes, always map the generic classes to the closest matching specialized type via property 1D.&lt;br /&gt;
; Standard labels [RAIL, ELRL, MONO, MGLV]&lt;br /&gt;
* Always define the standard labels when possible, instead of what would be the equivalent of the standard label in this scheme.&lt;br /&gt;
* Map the equivalent labels from this scheme to the standard labels using property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
Or, put differently, for each gauge/type, select one or more energy source types. For each type/energy combination provide all axle load classes for the speed class &amp;quot;A&amp;quot;, either as a real type or as an alternate of another type. Provide more types with a different speed letter if you want to provide several different speeds or other eye-candy tracks.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Summary for train sets ==&lt;br /&gt;
This section summarizes the above for train sets.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; [X***] Track gauge and type class&lt;br /&gt;
* Use the track type class that matches the vehicle;&lt;br /&gt;
* Define a fallback type via the railtype table in case you want the vehicle to be available on a different track if no matching track set is loaded.&lt;br /&gt;
** Specialized subtypes like &amp;quot;n&amp;quot; might not always be available. If you want those vehicles to be still available then, fall back the the generic class (e.g. &amp;quot;N&amp;quot;).&lt;br /&gt;
; [*X**] Speed limit class &lt;br /&gt;
* Always use class A for every vehicle.&lt;br /&gt;
; [**X*] Axle load class&lt;br /&gt;
* Use all classes A through E according to the maximum axle weight of the vehicle.&lt;br /&gt;
* Extend the predefined classes only if you also provide a track set that makes use of these;&lt;br /&gt;
** When extending the predefined classes A through E, define a fallback type via the railtype table in case you want the vehicle to be available if no matching track set is loaded.&lt;br /&gt;
; [***X] Energy source type class&lt;br /&gt;
* Use the energy source type class that matches the vehicle;&lt;br /&gt;
* When using specialized classes, define a fallback type via the railtype table in case you want the vehicle to be available if no matching track set is loaded.&lt;br /&gt;
; Standard labels [RAIL, ELRL, MONO, MGLV]&lt;br /&gt;
* Define a fallback type to the standard labels via the railtype table in case you want the vehicle to be available on the standard tracks if no matching track set is loaded.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Be as specific as you want when selecting the railtype, it is the job of the track set to select a playable, reduced subset out of all possible type combinations.&lt;br /&gt;
&lt;br /&gt;
== In case you&#039;re not convinced by this scheme ==&lt;br /&gt;
Adopting this scheme gives the player freedom to use any track set in combination with any train set that follow the scheme. &lt;br /&gt;
&lt;br /&gt;
This means that you can make your train set compatible with track sets that provide axle load classes, and track sets that provide speed limits, and at the same time with track sets that provide none of this. This way, the player can decide to play with or without axle load classes, or with or without speed limits, simply by loading a track set that does or does not provide these features.&lt;br /&gt;
&lt;br /&gt;
And for your track set, it means that you can make it as simple or as complicated as you want (within the 64 track type limit), while not having to worry about compatibility with train sets.&lt;br /&gt;
&lt;br /&gt;
Still not convinced? Feel free to use railtype labels of your own, but know that you will likely come to regret that at some point in the future.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Forum topic==&lt;br /&gt;
If you want to discuss the standardized railtype scheme or have any questions about it, you can visit [http://www.tt-forums.net/viewtopic.php?t=59379 the forum topic].&lt;br /&gt;
&lt;br /&gt;
==&amp;quot;Innsbruck 2022 Convention&amp;quot; for partial compliance==&lt;br /&gt;
&lt;br /&gt;
This is really esoteric, but eh. It was the product of long discussion / debate / argument / reasoning between grf authors.&lt;br /&gt;
&lt;br /&gt;
1. The Standardized Railtype Scheme &#039;&#039;&#039;is a useful tool&#039;&#039;&#039; for providing reliable compatibility between train grfs and railtype grfs.&lt;br /&gt;
&lt;br /&gt;
2. The &#039;&#039;&#039;axle load class&#039;&#039;&#039; in the scheme presents a number of issues for compliance.&lt;br /&gt;
&lt;br /&gt;
2.1. Over 10 years since the scheme was standardised, not many train grfs implement multiple axle load classes &#039;&#039;&#039;as required by the scheme&#039;&#039;&#039;.  Known examples that &#039;&#039;&#039;do&#039;&#039;&#039; comply include Dutch Train Set, French Narrow Gauge Trains, and Finnish Trains.&lt;br /&gt;
&lt;br /&gt;
2.2. Elements of the axle load rules have proven hard to interpret.  For example:&lt;br /&gt;
&lt;br /&gt;
* is it compliant to use &#039;&#039;fewer&#039;&#039; than 5 classes in a train grf?  There is a lack of consensus on this.&lt;br /&gt;
* axle load is only one of many factors that govern whether a vehicle is compatible with a route, for example loading gauge, minimum curve, signalling types etc&lt;br /&gt;
&lt;br /&gt;
2.3. Meanwhile &#039;&#039;multiple existing train grfs use class &#039;&#039;A&#039;&#039; for the axle load for all trains&#039;&#039; (except where relying on default railtypes such as RAIL and ELRL).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3. The Innsbruck 2022 Convention uses class &#039;&#039;A&#039;&#039; for axle load for &#039;&#039;&#039;all&#039;&#039;&#039; trains in a train grf (except where relying on default railtypes such as RAIL and ELRL).&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is &#039;&#039;&#039;not&#039;&#039;&#039; fully compliant with the Standardized Railtype Scheme and does not claim to be.&lt;br /&gt;
&lt;br /&gt;
However train grfs using the Innsbruck 2022 Convention are &#039;&#039;broadly compatible&#039;&#039; with railtype grfs using the Standardized Railtype Scheme.  &lt;br /&gt;
&lt;br /&gt;
Obligatory XKCD link about &#039;standards&#039;: https://xkcd.com/927/&lt;br /&gt;
&lt;br /&gt;
===Known issues===&lt;br /&gt;
&lt;br /&gt;
Known problems are that trains using only class &#039;A&#039; may limit the ability of railtype grf authors to achieve their design goals for separating railtypes by axle load.  &lt;br /&gt;
But on reflection, it can be seen that a train grf might not be able to provide a broad enough range of vehicles to cover at least 5 axle load classes.&lt;br /&gt;
&lt;br /&gt;
3.1. The Innsbruck 2022 Convention is &#039;&#039;&#039;not&#039;&#039;&#039; appropriate for train grf authors who wish to provide more than one axle load class.&lt;br /&gt;
&lt;br /&gt;
3.2. The Innsbruck 2022 Convention treats the meaning of class &#039;&#039;A&#039;&#039; as &#039;&#039;undefined&#039;&#039;, &#039;&#039;ignored&#039;&#039; or &#039;&#039;compatible with most restricted railtype&#039;&#039; for axle load.  &lt;br /&gt;
&lt;br /&gt;
Axle load class &#039;&#039;A&#039;&#039; &#039;&#039;&#039;cannot&#039;&#039;&#039; be safely interpreted as &#039;&#039;universal&#039;&#039; because from the perspective of a railtype grf &#039;&#039;A&#039;&#039; is &#039;&#039;most restricted railtype&#039;&#039;, where &#039;&#039;universal&#039;&#039; is better represented as &#039;&#039;least restricted railtype&#039;&#039;. Depending how many axle load classes are in use by the railtype grf, this could be class &#039;&#039;B&#039;&#039;, &#039;&#039;C&#039;&#039;, &#039;&#039;D&#039;&#039;, &#039;&#039;E&#039;&#039; etc.  To illustrate this issue, take the following scenario&lt;br /&gt;
&lt;br /&gt;
* railtype grf defines axle loads &#039;&#039;A&#039;&#039; to &#039;&#039;E&#039;&#039;. In this case the railtype grf author intends that &#039;&#039;A&#039;&#039; is compatible with the smallest range of vehicles, &#039;&#039;E&#039;&#039; is compatible with the largest range of vehicles, and &#039;&#039;B&#039;&#039;, &#039;&#039;C&#039;&#039; and &#039;&#039;D&#039;&#039; are compatible with some intermediate ranges of vehicles&lt;br /&gt;
* but the vehicle grf author has defined all vehicles to be axle load &#039;&#039;A&#039;&#039; in an attempt to express this vehicle is &#039;&#039;universal&#039;&#039;.  The result in the game is that an identical range of vehicles will be compatible with railtypes &#039;&#039;A&#039;&#039; to &#039;&#039;E&#039;&#039;.  &lt;br /&gt;
&lt;br /&gt;
This is clearly &#039;&#039;&#039;not&#039;&#039;&#039; the intended outcome of the railtype author. But nor is it clear within the spec that the vehicle author has particularly done anything wrong. &lt;br /&gt;
&lt;br /&gt;
It &#039;&#039;would&#039;&#039; be possible to use railtype availability testing to adjust the vehicle property 05 (track_type) to fit the highest defined axle load (&#039;&#039;E&#039;&#039; in this example case), but this is not insignificant work, and it&#039;s unlikely to be widely adopted by vehicle grf authors.  Nor would this solution achieve &#039;&#039;universal&#039;&#039; as all vehicles in vehicle grf then would be incompatible with types &#039;&#039;A&#039;&#039; through &#039;&#039;D&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
3.3. When the Innsbruck 2022 Convention is used, this &#039;&#039;&#039;does not prevent&#039;&#039;&#039; a train grf being extended in some future release to achieve full compliance with Standardized Railtype Scheme. &#039;&#039;That choice remains with train grf authors&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
3.4. If 2012 could be revisited, providing an optional &#039;&#039;_&#039;&#039; axle load class in the Standardized Railtype Scheme for &#039;&#039;undefined&#039;&#039; would have been preferable, but as of 2022, &#039;&#039;A&#039;&#039; is already widely used for this purpose, and time travel is not known to be possible.&lt;br /&gt;
&lt;br /&gt;
==Extended multivoltage support addition==&lt;br /&gt;
These are extensions to the energy source type class currently supported by SETS and xUSSR Rails which allow trainsets to code trains which are limited to a certain selection of voltages. As stated in the energy source type class section this might not be of use for all sets, as such it is optional but still recommended for trainsets for ideal functionality with tracksets which support the extended labels.&lt;br /&gt;
{|&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Specialized energy type classes !!Vehicle set fallback&lt;br /&gt;
|-&lt;br /&gt;
|* ||Equivilent to A, a, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|&#039; ||Equivilent to A, a and D || E&lt;br /&gt;
|-&lt;br /&gt;
|^ ||Equivilent to A, a and d || E&lt;br /&gt;
|-&lt;br /&gt;
|_ ||Equivilent to A, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
|, ||Equivilent to a, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|$ ||Equivilent to A and a  || First A then E&lt;br /&gt;
|-&lt;br /&gt;
|= ||Equivilent to D and d  || First D then E&lt;br /&gt;
|-&lt;br /&gt;
|) ||Equivilent to A and D  || E&lt;br /&gt;
|-&lt;br /&gt;
|( ||Equivilent to A and d  || E&lt;br /&gt;
|-&lt;br /&gt;
|] ||Equivilent to a and D  || E&lt;br /&gt;
|-&lt;br /&gt;
|[ ||Equivilent to a and d  || E&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Possible additions==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Track type/gauge&lt;br /&gt;
|-&lt;br /&gt;
|_ ||Universal &amp;quot;cheat&amp;quot; rail; ALWAYS add &amp;quot;_A_-&amp;quot; and &amp;quot;_A_N&amp;quot; to EVERY [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]] (as well as the equivalent electrified/pneumatic railtype that is powered on your electrified/pneumatic railtype to support it if you are making a new railtype set, older sets can be covered by fix or patch grfs) and &amp;quot;_A_t&amp;quot; to EVERY [[NML:Railtypes#Railtype_properties|powered_railtype_list (NML)]]&lt;br /&gt;
|-&lt;br /&gt;
|0 ||(A number zero, not a letter &amp;quot;Oh&amp;quot;) No track, eyecandy-use only&lt;br /&gt;
|-&lt;br /&gt;
|U ||[https://perma.cc/93VE-8JQZ &amp;quot;Ukrainian monorail&amp;quot; or Şaropoí̈zd (Шаропоїзд)], a u-shaped concrete &amp;quot;monorail trench&amp;quot; from 1920&#039;s Soviet Union; see [https://www.tt-forums.net/viewtopic.php?f=26&amp;amp;t=47432 the Yarmanchuk Express] for graphics&lt;br /&gt;
|-&lt;br /&gt;
|1 ||Early Monorail; See [https://perma.cc/6BVS-2P2X here] and [https://perma.cc/VCG2-ATUA here]&lt;br /&gt;
|-&lt;br /&gt;
|G ||Gyrail; [https://en.wikipedia.org/wiki/Gyro_monorail Gyro monorail/Gyroscopic monorail/Gyro-stabilized monorail] for description and IRL example, and [https://wikimon.net/Trailmon here] ([https://web.archive.org/web/20240227205547/https://wikimon.net/Trailmon archived]) for good fictional examples&lt;br /&gt;
|-&lt;br /&gt;
|m ||Minimum gauge rail; [https://en.wikipedia.org/wiki/Minimum-gauge_railway 15 in (381 mm), 400 mm (15+3⁄4 in), 16 in (406 mm), 18 in (457 mm), 19 in (483 mm), 500 mm (19+3⁄4 in) or 20 in (508 mm)]&lt;br /&gt;
|-&lt;br /&gt;
|n ||600mm &amp;quot;Decauville&amp;quot; or &amp;quot;Feldsbahn&amp;quot;, formerly labelled &amp;quot;NG60&amp;quot; before standardization; the most common narrow gauge track type in OpenTTD other than metre gauge, 600mm gauge is thus ideal for taking up the &amp;quot;n&amp;quot; gauge, though this is an ultimately optional distinction&lt;br /&gt;
|-&lt;br /&gt;
|7 ||750mm, Bosnian gauge (760 mm), and 762mm; all start with 7 and are close in size&lt;br /&gt;
|-&lt;br /&gt;
|3 ||Swedish 3 foot (891 mm), 900mm, 3 foot (914 mm) and Italian Metre (950mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|R ||Metre gauge; potentially compatible with base tramtype &amp;quot;RABN&amp;quot;, most early tramways were metre gauge&lt;br /&gt;
|-&lt;br /&gt;
|4 ||4 foot gauge (1219 mm), and possibly 4&#039;6&amp;quot; in. (1372 mm) if standardization is needed for 1372mm&lt;br /&gt;
|-&lt;br /&gt;
|s ||Scotch gauge (1372 mm)&lt;br /&gt;
|-&lt;br /&gt;
|S ||Standard gauge; already implemented in original standardized railtype scheme, but could include near-standard (1432 mm) as well as existing true standard (1435 mm) and is also potentially compatible with the SABN tramtype&lt;br /&gt;
|-&lt;br /&gt;
|X ||Omni-gauge rail (for at-grade multi-gauge crossings and stations); ultrabroad/secondary broad/primary broad/standard/primary narrow/secondary narrow gauge&lt;br /&gt;
|-&lt;br /&gt;
|x ||Multi-gauge rail (for at-grade multi-gauge crossings and stations); secondary broad/primary broad/standard/primary narrow/secondary narrow&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;+&amp;lt;/nowiki&amp;gt; ||Quad-gauge (Four-gauge) rail (for at-grade multi-gauge crossings and stations); secondary broad/primary broad/standard/primary narrow&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt; ||Four-gauge rail (for at-grade multi-gauge crossings and stations); primary broad/standard/primary narrow/secondary narrow&lt;br /&gt;
|-&lt;br /&gt;
|b ||Broad gauge rail - As broad gauge is a rare tracktype, it may still be feasible to cement B and b as broad gauges of two differing sizes, but the rarity among gauges in the real world would need to match; Italian (1445 mm) and Dresden (1450 mm) gauges may be better grouped here&lt;br /&gt;
|-&lt;br /&gt;
|t ||Leipzig trams (1458 mm) and Greater Toronto Area streetcars (1495 mm)&lt;br /&gt;
|-&lt;br /&gt;
|5 ||1520mm and 5 foot (1524 mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|V ||Pennsylvanian (1581 mm and 1588 mm) and Australian &amp;quot;Victorian&amp;quot; (1600 mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|6 ||6 foot (1829 mm) broad gauge&lt;br /&gt;
|-&lt;br /&gt;
|g ||Brunel&#039;s Great Western Railway gauge (2140 mm)&lt;br /&gt;
|-&lt;br /&gt;
|B ||Biggest Broad gauge rail - As broad gauge is a rare tracktype, and the variation in common real life track types too wide, it may be desirable to cement B and b as broad gauges of two differing sizes; With no real life examples that match the usage frequency of &amp;quot;B&amp;quot;, the gauge might best draw inspiration from the infamous [https://en.wikipedia.org/wiki/Breitspurbahn Breitspurbahn] (3000 mm) and [https://perma.cc/KQ2Z-5RCR the never-built vehicles designed for it], or from the [https://en.wikipedia.org/wiki/Brighton_and_Rottingdean_Seashore_Electric_Railway Brighton &amp;amp; Rottingdean Seashore Electric Railway] (18 ft/5,486 mm) &lt;br /&gt;
|-&lt;br /&gt;
|L ||Maglevs that have a u-shaped track&lt;br /&gt;
|-&lt;br /&gt;
|T ||Maglevs that have a monorail track&lt;br /&gt;
|-&lt;br /&gt;
|F ||Flightrail; A [https://web.archive.org/web/20231213122530/http://www.flightrail.com/ system capable of high speeds and steep hill grades] that uses a pneumatic pipe for propulsion (see &amp;quot;P&amp;quot; under energy sources), and &#039;&#039;wheels pointed inwards at a 45-degree angle&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
It might be preferred to instead use/keep &amp;quot;B&amp;quot; for &amp;quot;all (current) broad gauges&amp;quot; (mostly Victorian gauge) instead using lowercase &amp;quot;b&amp;quot; for Brunel/GWR broad gauge. This wouldn&#039;t be to different from narrow gauge since the lesser used ones are lowercase and fallback to the uppercase ones.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Electrification !!Fallback !!Notes&lt;br /&gt;
|-&lt;br /&gt;
|1 ||Unspecified monorail electrification |||MONO (the whole label) ||&lt;br /&gt;
|-&lt;br /&gt;
|S ||Maglevs that use a synchronous linear motor ||N/A ||&lt;br /&gt;
|-&lt;br /&gt;
|I ||Maglevs that use a linear induction motor ||MGLV (the whole label) ||&lt;br /&gt;
|-&lt;br /&gt;
|V ||Vactrains/Hyperloop ||t, then I, then MGLV (the whole label) ||&lt;br /&gt;
|-&lt;br /&gt;
|t ||&amp;quot;Universal custom tunnel&amp;quot; (for electrified sub-surface rail tunnels) ||c, then p, then 7, then U (mandatory) ||&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt; ||Universal energy type (&#039;&#039;not&#039;&#039; meant to replace &amp;quot;***N&amp;quot;; use for vehicles such as driving cabs which cannot move under their own power regardless, if desired) ||N/A (Be sure to put &amp;quot;***E&amp;quot; in the [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]] of a &amp;quot;***-&amp;quot; label) ||(&#039;&#039;Do not give a fallback or use for railtypes, this is for unpowered &amp;quot;locomotives&amp;quot; only!&#039;&#039;)&lt;br /&gt;
|-&lt;br /&gt;
|5 ||750v DC Outer 3rd Rail (&amp;quot;MTRO&amp;quot; or &amp;quot;SA_3&amp;quot;) and 630v DC Inner 3rd/4th Rail; a total of 5 rails (2 for wheels, 3 for electricity), plausible in the London Underground network ||3 or 4 ||&lt;br /&gt;
|-&lt;br /&gt;
|U ||750v DC Outer 3rd Rail (&amp;quot;MTRO&amp;quot; or &amp;quot;SA_3&amp;quot;), 630v DC Inner 3rd/4th Rail and universal catenary (SAEE); a total of 5 rails (2 for wheels, 3 for electricity) if only one gauge, plausible in the London Underground network and an &amp;quot;ultimate&amp;quot; dual rail electrification without being a cheat (make it expensive or toggle-able?) as SAEU or as XAEU (universal dual rail electrified tracks) ||E ||&lt;br /&gt;
|-&lt;br /&gt;
|7 ||750v DC Outer 3rd Rail (&amp;quot;MTRO&amp;quot; or &amp;quot;SA_3&amp;quot;), 630v DC Inner 3rd/4th Rail, Three-phase AC (SA_T) 3rd/4th rail &amp;amp; catenary, and universal catenary (SA_E); a total of 7 rails (2 for wheels, 5 for electricity) if only one gauge, a truly universal dual rail electrification without being impossible (make it VERY expensive or toggle-able so it isn&#039;t cheat-y?) as SAE7, XAE7 or even as XRE7 (universal electrified rack-equipped dual rail tracks) ||U ||&lt;br /&gt;
|-&lt;br /&gt;
|P ||Pneumatic tube with physical piston slit, or closed pneumatic tube with magnetic piston (i.e. that used by [https://web.archive.org/web/20231213122530/http://www.flightrail.com/ Flightrail]) ||N/A ||&lt;br /&gt;
|-&lt;br /&gt;
|p ||Pneumatic and universal electrical power ||P or 7 (Be sure to put &amp;quot;***_&amp;quot; and ***P&amp;quot; in the [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]] of a &amp;quot;***p&amp;quot; label) ||&lt;br /&gt;
|-&lt;br /&gt;
|c ||Cheat electrification type; use solely for _R_c railtype ||p, then 7, then U, then E, then N, then &amp;quot;SA_-&amp;quot; (the whole label) ||&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Lurkmore</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=Standardized_Railtype_Scheme&amp;diff=4753</id>
		<title>Standardized Railtype Scheme</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=Standardized_Railtype_Scheme&amp;diff=4753"/>
		<updated>2024-02-28T07:21:41Z</updated>

		<summary type="html">&lt;p&gt;Lurkmore: /* Axle load class [**X*] */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This railtype label scheme aims to bring order to the uncontrolled growth of railtype labels. It groups the rail types into what matters from a technical perspective. The scheme provides a standardized way of defining railtype labels, based on track gauge and type, speed class, allowable axle weight and electrification type.&lt;br /&gt;
&lt;br /&gt;
It is the explicit intent of this scheme to decouple track sets from vehicle sets to facilitate easy mixing. This way the player can select a track set of choice to go with a train set of choice. It allows the player to play with or without axle load classes, or with or without speed limit classes, simply by loading a track set that does or does not provide these features. In some cases it will also be possible to combine niche track sets, for instance a standard gauge track set with a narrow gauge and a metro track set.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== The Label Scheme ==&lt;br /&gt;
A railtype label consists of four characters. In this scheme, each position has a different purpose:&lt;br /&gt;
# Track gauge and type class (e.g. standard gauge rail, narrow gauge rail, monorail)&lt;br /&gt;
# Speed limit class&lt;br /&gt;
# Axle load class (maximum allowed axle weight for this track)&lt;br /&gt;
# Energy source type class&lt;br /&gt;
&lt;br /&gt;
In the next sections, each of the four positions will be explained.&lt;br /&gt;
&lt;br /&gt;
=== Track gauge and type class [X***] ===&lt;br /&gt;
The first position in the railtype label defines track gauge and/or track type class. The following classes are currently defined:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Track type/gauge&lt;br /&gt;
|- &lt;br /&gt;
|S ||Standard gauge rail&lt;br /&gt;
|-&lt;br /&gt;
|B ||Broad gauge rail &lt;br /&gt;
|-&lt;br /&gt;
|N ||Narrow gauge rail&lt;br /&gt;
|-&lt;br /&gt;
|n ||Secondary narrow gauge rail (e.g. when providing both metre and cape gauge, always use N in case of just one type of narrow gauge)&lt;br /&gt;
|-&lt;br /&gt;
|D ||Dual gauge rail, standard/broad gauge&lt;br /&gt;
|-&lt;br /&gt;
|d ||Dual gauge rail, standard/narrow gauge&lt;br /&gt;
|-&lt;br /&gt;
|M ||Monorail&lt;br /&gt;
|-&lt;br /&gt;
|L ||Magnetic Levitation&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Speed limit class [*X**] ===&lt;br /&gt;
The second position in the railtype label defines the speed limit class. These classes do not map to a fixed numeric value, but are used to define an internal speed limit order for the track set. This means that if your track set has two different speed limits for track types that are otherwise identical, you&#039;ll use letters A and B here. In case of three different speed limits, use A, B and C. In case your track set does not employ speed limits, always use A. Train sets do not care about the speed limit, and will always set the lowest speed class, i.e. A.&lt;br /&gt;
&lt;br /&gt;
This gives for instance the following options:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||no speed limits&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;OR&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||low speed&lt;br /&gt;
|-&lt;br /&gt;
|B ||high speed&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;OR&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||low speed&lt;br /&gt;
|-&lt;br /&gt;
|B ||medium speed&lt;br /&gt;
|-&lt;br /&gt;
|C ||high speed&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;etc.&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear:left;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The speed limit class may also be used for some advanced features of the label scheme, like specialized track types and eyecandy purposes. Be careful not to break the compatibility with other sets when using the speed limit class for these purposes.&lt;br /&gt;
&lt;br /&gt;
An example of a special use is rack rail. In the French set it is used to give rack rail engines a higher speed and TE than normal rail engines when used on rack rail. When defining trains with a special speed limit class, always allow a fallback to speed limit class A via the railtype table.&lt;br /&gt;
&lt;br /&gt;
An example of eyecandy use are urban tracks. These are a variation of regular tracks, but with concrete ground tiles to better match the urban environment. Train sets must not define vehicles for eyecandy classes. If you think you have special vehicles that should only run on the eyecandy class, it is &#039;&#039;not&#039;&#039; eyecandy but a separate track gauge/type.&lt;br /&gt;
&lt;br /&gt;
The following special and eyecandy classes have been defined so far:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Description !!Type !!Used by&lt;br /&gt;
|- &lt;br /&gt;
|A-H ||speed limits ||colspan=&amp;quot;2&amp;quot;|reserved&lt;br /&gt;
|- &lt;br /&gt;
|R ||rack rail ||special ||French Set Rails &lt;br /&gt;
|- &lt;br /&gt;
|S ||subterranean ||eyecandy ||Metro Track Set&lt;br /&gt;
|- &lt;br /&gt;
|U ||urban ||eyecandy ||Metro Track Set&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Axle load class [**X*] ===&lt;br /&gt;
The third position defines the axle weight limit. Heavy trains cannot run on tracks with a low axle weight limit; these trains need more expensive tracks with a heigher weight limit. There are five axle load classes &#039;&#039;&#039;A&#039;&#039;&#039; through &#039;&#039;&#039;E&#039;&#039;&#039;. &#039;&#039;&#039;A&#039;&#039;&#039; is for the lowest axle load limit, &#039;&#039;&#039;E&#039;&#039;&#039; for the highest. The exact axle load attached to each class is relative to the track gauge/type and trains in the set. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A train set should set the appropriate axle weight for each train via the railtype label, as to make the set work with track sets that do provide tracks with different weight limits, even if you don&#039;t care about it for your trainset. Split all vehicles of a certain track gauge/type into five groups of similar axle weight. The group with the lowest axle weights will get class &#039;&#039;&#039;A&#039;&#039;&#039;, the second lowest class &#039;&#039;&#039;B&#039;&#039;&#039;, etc. up to the group with the highest axle weights which will get class &#039;&#039;&#039;E&#039;&#039;&#039;. Do the same for the other track gauge/types if your train set has those.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A track set does not have to provide a dedicated track type for each axle weight limit. A track set that does not provide a dedicated track for each axle load class, must make sure to map all undefined axle load classes to a real railtype using property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]]. This way a train set can rely on all labels for all axle load classes being available. Example: if you only want to provide 2 axle load classes for standard gauge unelectrified with no speed limits, you can map SA&#039;&#039;&#039;A&#039;&#039;&#039;N + SA&#039;&#039;&#039;B&#039;&#039;&#039;N to SA&#039;&#039;&#039;C&#039;&#039;&#039;N and SA&#039;&#039;&#039;D&#039;&#039;&#039;N to SA&#039;&#039;&#039;E&#039;&#039;&#039;N if the cost difference between the two railtypes is high, or SA&#039;&#039;&#039;A&#039;&#039;&#039;N to SA&#039;&#039;&#039;B&#039;&#039;&#039;N and SA&#039;&#039;&#039;C&#039;&#039;&#039;N + SA&#039;&#039;&#039;D&#039;&#039;&#039;N to SA&#039;&#039;&#039;E&#039;&#039;&#039;N if the cost difference is low.&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t want to provide any axle load classes in your track set, it doesn&#039;t really matter what axle load class you choose for the track, as you&#039;ll be mapping all other classes to this track anyways. But the lowest or highest class are the obvious choice. Example: if your track set only provides narrow gauge unelectrified track with no speed limits and no axle load limits, you may use NA&#039;&#039;&#039;A&#039;&#039;&#039;N for the track label, and provide NA&#039;&#039;&#039;B&#039;&#039;&#039;N, NA&#039;&#039;&#039;C&#039;&#039;&#039;N, NA&#039;&#039;&#039;D&#039;&#039;&#039;N, NA&#039;&#039;&#039;E&#039;&#039;&#039;N in property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you need more than five axle load class, you may use lowercase letters for very low axle loads and continue the uppercase letters for very high axle loads. Be advised that your train set may not assume the existance of any other class than &#039;&#039;&#039;A&#039;&#039;&#039; through &#039;&#039;&#039;E&#039;&#039;&#039;, so when the range make sure to program your railtype table such that trains with such a class will fall back to class &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;E&#039;&#039;&#039;. If you make a track set with an extended range, be aware that not all train sets will define trains for these tracks. In general: only do this in case of a train set with a matching track set.&lt;br /&gt;
&lt;br /&gt;
For the lowercase letters, &#039;&#039;&#039;b&#039;&#039;&#039; is lower than &#039;&#039;&#039;a&#039;&#039;&#039;, so for increasing axle load limits: b &amp;lt; a &amp;lt; A &amp;lt; B &amp;lt; C etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that the axle load classes never map to a specific weight in tonnes. For that reason it does not make sense to add a numeric value for the axle load to the name of a track type or in the extended purchase info of a train. Instead use the relative expressions &#039;very low&#039;, &#039;low&#039;, &#039;medium&#039;, &#039;high&#039; and &#039;very high&#039; or use the class letters directly.&lt;br /&gt;
&lt;br /&gt;
If a guideline is needed for updating a set to use axle loads in a train set where they don&#039;t yet exist, the following might serve as a basic &amp;quot;generic&amp;quot; guideline...&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Indefinite !!Generic !!First usage&lt;br /&gt;
|-&lt;br /&gt;
|b ||Horse-drawn Wagonway ||1 metric tonne (1000kg) per axle ||&amp;lt;nowiki&amp;gt; 1594&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|a ||Prototype Iron Rails ||1 metric tonne (1000kg) per axle ||&amp;lt;nowiki&amp;gt; 1799&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|_ ||Unspecified ||No limit at all ||&amp;lt;nowiki&amp;gt;    0&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|A ||Very Low ||10 metric tonnes (10000kg) per axle ||&amp;lt;nowiki&amp;gt; 1828&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|B ||Low ||20 metric tonnes (20000kg) per axle ||&amp;lt;nowiki&amp;gt; 1968&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|C ||Medium ||30 metric tonnes (30000kg) per axle ||~1978&lt;br /&gt;
|-&lt;br /&gt;
|D ||High ||40 metric tonnes (40000kg) per axle ||&amp;lt;nowiki&amp;gt; 1988&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|E ||Very High ||50 metric tonnes (50000kg) per axle ||&amp;lt;nowiki&amp;gt; 2008&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|F ||Future-proofing ||No limit per axle (update in 2030 or so?) ||~2028&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Energy source type class [***X] ===&lt;br /&gt;
The last position defines the energy source type class. This is split in generic energy source types like overhead wires and third rail and specialized types like alternating and direct current.&lt;br /&gt;
&lt;br /&gt;
A track set that only uses specialized types, should map the generic types to the most suitable specialized type in the set.&lt;br /&gt;
&lt;br /&gt;
A vehicle set that uses specialized types should define a generic type as fallback, via the railtype table. If such a fallback is omitted, please note that certain vehicles may be unavailable depending on track set loaded.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Generic energy type classes&lt;br /&gt;
|-&lt;br /&gt;
|N ||no electrification&lt;br /&gt;
|-&lt;br /&gt;
|E ||overhead wires/catenary electrification&lt;br /&gt;
|-&lt;br /&gt;
|3 ||3rd rail electrification&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Specialized energy type classes !!Vehicle set fallback&lt;br /&gt;
|-&lt;br /&gt;
|Z ||3rd rail and catenary electrification || 3 or E&lt;br /&gt;
|-&lt;br /&gt;
|4 ||4th rail electrification || 3&lt;br /&gt;
|-&lt;br /&gt;
|Y ||4th rail and catenary electrification || 4 or E&lt;br /&gt;
|-&lt;br /&gt;
|T ||[http://en.wikipedia.org/wiki/Three-phase_AC_railway_electrification three phase AC electrification] || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|D ||DC catenary electrification || E&lt;br /&gt;
|-&lt;br /&gt;
|d ||low voltage DC catenary electrification (only when D also used in set) || First A then E&lt;br /&gt;
|-&lt;br /&gt;
|A ||AC catenary electrification || E&lt;br /&gt;
|-&lt;br /&gt;
|a ||low voltage AC catenary electrification (only when A also used in set) || First A then E&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
If you want multi-voltage/current vehicles in your set (i.e. a train that can run on both AC and DC current), you have to define a dedicated railtype for those vehicles. Without the railtype, it&#039;s not possible to define vehicles with this property. If you only have vehicles that can run on either one type of voltage/current or on all types of voltage/current (e.g. a 2-system if you only have &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;D&#039;&#039;&#039; tracks, or a 4-system in case of all &#039;&#039;&#039;A&#039;&#039;&#039;, &#039;&#039;&#039;a&#039;&#039;&#039;, &#039;&#039;&#039;D&#039;&#039;&#039; and &#039;&#039;&#039;d&#039;&#039;&#039;), then use the generic class &#039;&#039;&#039;E&#039;&#039;&#039; for vehicles that should be able to run on all different voltage/currents. Also the track set needs to have one at least one railtype with class &#039;&#039;&#039;E&#039;&#039;&#039; defined.&lt;br /&gt;
&lt;br /&gt;
Note that if you want more than one type of multi-voltage/current, you&#039;ll quickly get a combinatory explosion of railtype labels, so plan carefully or do not attempt it. For every different multi-voltage/current vehicle type a dedicated railtype is needed. If you want all possible combinations, then you need to define an additional 8 classes. It is not recommended to make your train/track set this complicated.&lt;br /&gt;
&lt;br /&gt;
Example approach for a 4-system set, with trains that can run on either one or all systems:&lt;br /&gt;
* &#039;&#039;&#039;E&#039;&#039;&#039;: generic catenary-powered electric engines. &amp;quot;universal&amp;quot; [4-system] if any of &#039;&#039;&#039;D&#039;&#039;&#039;/&#039;&#039;&#039;d&#039;&#039;&#039;/&#039;&#039;&#039;A&#039;&#039;&#039;/&#039;&#039;&#039;a&#039;&#039;&#039; are defined.&lt;br /&gt;
* &#039;&#039;&#039;A&#039;&#039;&#039;: generic AC catenary electric engines. 25kV only if &#039;&#039;&#039;a&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;A&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;a&#039;&#039;&#039;: 15kV AC catenary electric engines. Only defined if &#039;&#039;&#039;A&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;a&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;D&#039;&#039;&#039;: generic DC catenary electric engines. 3kV if &#039;&#039;&#039;d&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;D&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;d&#039;&#039;&#039;: 1.5kV DC catenary electric engines. Only defined if &#039;&#039;&#039;D&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;D&#039;&#039;&#039; and &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;d&#039;&#039;&#039;.&lt;br /&gt;
For a 2-system set, you can simply drop &#039;&#039;&#039;a&#039;&#039;&#039; and &#039;&#039;&#039;d&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Standard labels: RAIL, ELRL, MONO, MGLV ===&lt;br /&gt;
It&#039;s not possible to undefine the standard railtypes RAIL, ELRL, MONO and MGLV. The game will always add those if there are vehicles defined for these track types. As a result, for a track set it&#039;s best not to ignore those standard labels, but rather work with them and define them in the set. If your track set does not have monorail or maglev tracks, there of course is no need to define those. But if your track set defines anything that resembles unelectrified or electrified rail, you should use the RAIL and ELRL labels. Matching labels from the above scheme will then be defined in property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
As vehicles from NewGRFs that do not use explicit railtypes will end up on these standard railtypes, you should use RAIL instead of whatever type could be regarded as the most commonly used unelectrified type, ELRL instead of the most commonly used electrified type and so on. The label according to this scheme is then set as an alternate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Summary for track sets ==&lt;br /&gt;
This section summarizes the above for track sets.&lt;br /&gt;
&lt;br /&gt;
; [X***] Track gauge and type class&lt;br /&gt;
* Define at least one track type for every track gauge/type class you want in your set.&lt;br /&gt;
* If you only provide tracks for one gauge/type, consider leaving some free railtypes so a player can load an additional set for some other type.&lt;br /&gt;
; [*X**] Speed limit class&lt;br /&gt;
* Make sure class A is always available, either directly or via an alternate label.&lt;br /&gt;
* Use only class A if you don&#039;t want speed limits;&lt;br /&gt;
* With speed limits, A is the lowest speed limit. Continue with B, C, etc. for increasing speed limits;&lt;br /&gt;
* The speed class can also be used to implement additional eye-candy track types, use letters higher in the alphabet for this.&lt;br /&gt;
; [**X*] Axle load class&lt;br /&gt;
* Always define all classes A through E for every track type class / electrification combination, either:&lt;br /&gt;
** Directly via a real railtype definition;&lt;br /&gt;
** Indirectly via the alternate rail type label list, property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
* Extend the predefined classes only if you also provide a train set that makes use of these.&lt;br /&gt;
; [***X] Energy source type class&lt;br /&gt;
* If your set only uses specialized classes, always map the generic classes to the closest matching specialized type via property 1D.&lt;br /&gt;
; Standard labels [RAIL, ELRL, MONO, MGLV]&lt;br /&gt;
* Always define the standard labels when possible, instead of what would be the equivalent of the standard label in this scheme.&lt;br /&gt;
* Map the equivalent labels from this scheme to the standard labels using property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
Or, put differently, for each gauge/type, select one or more energy source types. For each type/energy combination provide all axle load classes for the speed class &amp;quot;A&amp;quot;, either as a real type or as an alternate of another type. Provide more types with a different speed letter if you want to provide several different speeds or other eye-candy tracks.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Summary for train sets ==&lt;br /&gt;
This section summarizes the above for train sets.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; [X***] Track gauge and type class&lt;br /&gt;
* Use the track type class that matches the vehicle;&lt;br /&gt;
* Define a fallback type via the railtype table in case you want the vehicle to be available on a different track if no matching track set is loaded.&lt;br /&gt;
** Specialized subtypes like &amp;quot;n&amp;quot; might not always be available. If you want those vehicles to be still available then, fall back the the generic class (e.g. &amp;quot;N&amp;quot;).&lt;br /&gt;
; [*X**] Speed limit class &lt;br /&gt;
* Always use class A for every vehicle.&lt;br /&gt;
; [**X*] Axle load class&lt;br /&gt;
* Use all classes A through E according to the maximum axle weight of the vehicle.&lt;br /&gt;
* Extend the predefined classes only if you also provide a track set that makes use of these;&lt;br /&gt;
** When extending the predefined classes A through E, define a fallback type via the railtype table in case you want the vehicle to be available if no matching track set is loaded.&lt;br /&gt;
; [***X] Energy source type class&lt;br /&gt;
* Use the energy source type class that matches the vehicle;&lt;br /&gt;
* When using specialized classes, define a fallback type via the railtype table in case you want the vehicle to be available if no matching track set is loaded.&lt;br /&gt;
; Standard labels [RAIL, ELRL, MONO, MGLV]&lt;br /&gt;
* Define a fallback type to the standard labels via the railtype table in case you want the vehicle to be available on the standard tracks if no matching track set is loaded.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Be as specific as you want when selecting the railtype, it is the job of the track set to select a playable, reduced subset out of all possible type combinations.&lt;br /&gt;
&lt;br /&gt;
== In case you&#039;re not convinced by this scheme ==&lt;br /&gt;
Adopting this scheme gives the player freedom to use any track set in combination with any train set that follow the scheme. &lt;br /&gt;
&lt;br /&gt;
This means that you can make your train set compatible with track sets that provide axle load classes, and track sets that provide speed limits, and at the same time with track sets that provide none of this. This way, the player can decide to play with or without axle load classes, or with or without speed limits, simply by loading a track set that does or does not provide these features.&lt;br /&gt;
&lt;br /&gt;
And for your track set, it means that you can make it as simple or as complicated as you want (within the 64 track type limit), while not having to worry about compatibility with train sets.&lt;br /&gt;
&lt;br /&gt;
Still not convinced? Feel free to use railtype labels of your own, but know that you will likely come to regret that at some point in the future.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Forum topic==&lt;br /&gt;
If you want to discuss the standardized railtype scheme or have any questions about it, you can visit [http://www.tt-forums.net/viewtopic.php?t=59379 the forum topic].&lt;br /&gt;
&lt;br /&gt;
==&amp;quot;Innsbruck 2022 Convention&amp;quot; for partial compliance==&lt;br /&gt;
&lt;br /&gt;
This is really esoteric, but eh. It was the product of long discussion / debate / argument / reasoning between grf authors.&lt;br /&gt;
&lt;br /&gt;
1. The Standardized Railtype Scheme &#039;&#039;&#039;is a useful tool&#039;&#039;&#039; for providing reliable compatibility between train grfs and railtype grfs.&lt;br /&gt;
&lt;br /&gt;
2. The &#039;&#039;&#039;axle load class&#039;&#039;&#039; in the scheme presents a number of issues for compliance.&lt;br /&gt;
&lt;br /&gt;
2.1. Over 10 years since the scheme was standardised, not many train grfs implement multiple axle load classes &#039;&#039;&#039;as required by the scheme&#039;&#039;&#039;.  Known examples that &#039;&#039;&#039;do&#039;&#039;&#039; comply include Dutch Train Set, French Narrow Gauge Trains, and Finnish Trains.&lt;br /&gt;
&lt;br /&gt;
2.2. Elements of the axle load rules have proven hard to interpret.  For example:&lt;br /&gt;
&lt;br /&gt;
* is it compliant to use &#039;&#039;fewer&#039;&#039; than 5 classes in a train grf?  There is a lack of consensus on this.&lt;br /&gt;
* axle load is only one of many factors that govern whether a vehicle is compatible with a route, for example loading gauge, minimum curve, signalling types etc&lt;br /&gt;
&lt;br /&gt;
2.3. Meanwhile &#039;&#039;multiple existing train grfs use class &#039;&#039;A&#039;&#039; for the axle load for all trains&#039;&#039; (except where relying on default railtypes such as RAIL and ELRL).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3. The Innsbruck 2022 Convention uses class &#039;&#039;A&#039;&#039; for axle load for &#039;&#039;&#039;all&#039;&#039;&#039; trains in a train grf (except where relying on default railtypes such as RAIL and ELRL).&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is &#039;&#039;&#039;not&#039;&#039;&#039; fully compliant with the Standardized Railtype Scheme and does not claim to be.&lt;br /&gt;
&lt;br /&gt;
However train grfs using the Innsbruck 2022 Convention are &#039;&#039;broadly compatible&#039;&#039; with railtype grfs using the Standardized Railtype Scheme.  &lt;br /&gt;
&lt;br /&gt;
Obligatory XKCD link about &#039;standards&#039;: https://xkcd.com/927/&lt;br /&gt;
&lt;br /&gt;
===Known issues===&lt;br /&gt;
&lt;br /&gt;
Known problems are that trains using only class &#039;A&#039; may limit the ability of railtype grf authors to achieve their design goals for separating railtypes by axle load.  &lt;br /&gt;
But on reflection, it can be seen that a train grf might not be able to provide a broad enough range of vehicles to cover at least 5 axle load classes.&lt;br /&gt;
&lt;br /&gt;
3.1. The Innsbruck 2022 Convention is &#039;&#039;&#039;not&#039;&#039;&#039; appropriate for train grf authors who wish to provide more than one axle load class.&lt;br /&gt;
&lt;br /&gt;
3.2. The Innsbruck 2022 Convention treats the meaning of class &#039;&#039;A&#039;&#039; as &#039;&#039;undefined&#039;&#039;, &#039;&#039;ignored&#039;&#039; or &#039;&#039;compatible with most restricted railtype&#039;&#039; for axle load.  &lt;br /&gt;
&lt;br /&gt;
Axle load class &#039;&#039;A&#039;&#039; &#039;&#039;&#039;cannot&#039;&#039;&#039; be safely interpreted as &#039;&#039;universal&#039;&#039; because from the perspective of a railtype grf &#039;&#039;A&#039;&#039; is &#039;&#039;most restricted railtype&#039;&#039;, where &#039;&#039;universal&#039;&#039; is better represented as &#039;&#039;least restricted railtype&#039;&#039;. Depending how many axle load classes are in use by the railtype grf, this could be class &#039;&#039;B&#039;&#039;, &#039;&#039;C&#039;&#039;, &#039;&#039;D&#039;&#039;, &#039;&#039;E&#039;&#039; etc.  To illustrate this issue, take the following scenario&lt;br /&gt;
&lt;br /&gt;
* railtype grf defines axle loads &#039;&#039;A&#039;&#039; to &#039;&#039;E&#039;&#039;. In this case the railtype grf author intends that &#039;&#039;A&#039;&#039; is compatible with the smallest range of vehicles, &#039;&#039;E&#039;&#039; is compatible with the largest range of vehicles, and &#039;&#039;B&#039;&#039;, &#039;&#039;C&#039;&#039; and &#039;&#039;D&#039;&#039; are compatible with some intermediate ranges of vehicles&lt;br /&gt;
* but the vehicle grf author has defined all vehicles to be axle load &#039;&#039;A&#039;&#039; in an attempt to express this vehicle is &#039;&#039;universal&#039;&#039;.  The result in the game is that an identical range of vehicles will be compatible with railtypes &#039;&#039;A&#039;&#039; to &#039;&#039;E&#039;&#039;.  &lt;br /&gt;
&lt;br /&gt;
This is clearly &#039;&#039;&#039;not&#039;&#039;&#039; the intended outcome of the railtype author. But nor is it clear within the spec that the vehicle author has particularly done anything wrong. &lt;br /&gt;
&lt;br /&gt;
It &#039;&#039;would&#039;&#039; be possible to use railtype availability testing to adjust the vehicle property 05 (track_type) to fit the highest defined axle load (&#039;&#039;E&#039;&#039; in this example case), but this is not insignificant work, and it&#039;s unlikely to be widely adopted by vehicle grf authors.  Nor would this solution achieve &#039;&#039;universal&#039;&#039; as all vehicles in vehicle grf then would be incompatible with types &#039;&#039;A&#039;&#039; through &#039;&#039;D&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
3.3. When the Innsbruck 2022 Convention is used, this &#039;&#039;&#039;does not prevent&#039;&#039;&#039; a train grf being extended in some future release to achieve full compliance with Standardized Railtype Scheme. &#039;&#039;That choice remains with train grf authors&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
3.4. If 2012 could be revisited, providing an optional &#039;&#039;_&#039;&#039; axle load class in the Standardized Railtype Scheme for &#039;&#039;undefined&#039;&#039; would have been preferable, but as of 2022, &#039;&#039;A&#039;&#039; is already widely used for this purpose, and time travel is not known to be possible.&lt;br /&gt;
&lt;br /&gt;
==Extended multivoltage support addition==&lt;br /&gt;
These are extensions to the energy source type class currently supported by SETS and xUSSR Rails which allow trainsets to code trains which are limited to a certain selection of voltages. As stated in the energy source type class section this might not be of use for all sets, as such it is optional but still recommended for trainsets for ideal functionality with tracksets which support the extended labels.&lt;br /&gt;
{|&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Specialized energy type classes !!Vehicle set fallback&lt;br /&gt;
|-&lt;br /&gt;
|* ||Equivilent to A, a, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|&#039; ||Equivilent to A, a and D || E&lt;br /&gt;
|-&lt;br /&gt;
|^ ||Equivilent to A, a and d || E&lt;br /&gt;
|-&lt;br /&gt;
|_ ||Equivilent to A, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
|, ||Equivilent to a, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|$ ||Equivilent to A and a  || First A then E&lt;br /&gt;
|-&lt;br /&gt;
|= ||Equivilent to D and d  || First D then E&lt;br /&gt;
|-&lt;br /&gt;
|) ||Equivilent to A and D  || E&lt;br /&gt;
|-&lt;br /&gt;
|( ||Equivilent to A and d  || E&lt;br /&gt;
|-&lt;br /&gt;
|] ||Equivilent to a and D  || E&lt;br /&gt;
|-&lt;br /&gt;
|[ ||Equivilent to a and d  || E&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Possible additions==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Track type/gauge&lt;br /&gt;
|-&lt;br /&gt;
|_ ||Universal &amp;quot;cheat&amp;quot; rail; ALWAYS add &amp;quot;_A_-&amp;quot; and &amp;quot;_A_N&amp;quot; to EVERY [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]] (as well as the equivalent electrified/pneumatic railtype that is powered on your electrified/pneumatic railtype to support it if you are making a new railtype set, older sets can be covered by fix or patch grfs) and &amp;quot;_A_t&amp;quot; to EVERY [[NML:Railtypes#Railtype_properties|powered_railtype_list (NML)]]&lt;br /&gt;
|-&lt;br /&gt;
|0 ||(A number zero, not a letter &amp;quot;Oh&amp;quot;) No track, eyecandy-use only&lt;br /&gt;
|-&lt;br /&gt;
|U ||[https://perma.cc/93VE-8JQZ &amp;quot;Ukrainian monorail&amp;quot; or Şaropoí̈zd (Шаропоїзд)], a u-shaped concrete &amp;quot;monorail trench&amp;quot; from 1920&#039;s Soviet Union; see [https://www.tt-forums.net/viewtopic.php?f=26&amp;amp;t=47432 the Yarmanchuk Express] for graphics&lt;br /&gt;
|-&lt;br /&gt;
|1 ||Early Monorail; See [https://perma.cc/6BVS-2P2X here] and [https://perma.cc/VCG2-ATUA here]&lt;br /&gt;
|-&lt;br /&gt;
|G ||Gyrail; [https://en.wikipedia.org/wiki/Gyro_monorail Gyro monorail/Gyroscopic monorail/Gyro-stabilized monorail] for description and IRL example, and [https://wikimon.net/Trailmon here] ([https://web.archive.org/web/20240227205547/https://wikimon.net/Trailmon archived]) for good fictional examples&lt;br /&gt;
|-&lt;br /&gt;
|m ||Minimum gauge rail; [https://en.wikipedia.org/wiki/Minimum-gauge_railway 15 in (381 mm), 400 mm (15+3⁄4 in), 16 in (406 mm), 18 in (457 mm), 19 in (483 mm), 500 mm (19+3⁄4 in) or 20 in (508 mm)]&lt;br /&gt;
|-&lt;br /&gt;
|n ||600mm &amp;quot;Decauville&amp;quot; or &amp;quot;Feldsbahn&amp;quot;, formerly labelled &amp;quot;NG60&amp;quot; before standardization; the most common narrow gauge track type in OpenTTD other than metre gauge, 600mm gauge is thus ideal for taking up the &amp;quot;n&amp;quot; gauge, though this is an ultimately optional distinction&lt;br /&gt;
|-&lt;br /&gt;
|7 ||750mm, Bosnian gauge (760 mm), and 762mm; all start with 7 and are close in size&lt;br /&gt;
|-&lt;br /&gt;
|3 ||Swedish 3 foot (891 mm), 900mm, 3 foot (914 mm) and Italian Metre (950mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|R ||Metre gauge; potentially compatible with base tramtype &amp;quot;RABN&amp;quot;, most early tramways were metre gauge&lt;br /&gt;
|-&lt;br /&gt;
|4 ||4 foot gauge (1219 mm), and possibly 4&#039;6&amp;quot; in. (1372 mm) if standardization is needed for 1372mm&lt;br /&gt;
|-&lt;br /&gt;
|s ||Scotch gauge (1372 mm)&lt;br /&gt;
|-&lt;br /&gt;
|S ||Standard gauge; already implemented in original standardized railtype scheme, but could include near-standard (1432 mm) as well as existing true standard (1435 mm) and is also potentially compatible with the SABN tramtype&lt;br /&gt;
|-&lt;br /&gt;
|X ||Omni-gauge rail (for at-grade multi-gauge crossings and stations); ultrabroad/secondary broad/primary broad/standard/primary narrow/secondary narrow gauge&lt;br /&gt;
|-&lt;br /&gt;
|x ||Multi-gauge rail (for at-grade multi-gauge crossings and stations); secondary broad/primary broad/standard/primary narrow/secondary narrow&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;+&amp;lt;/nowiki&amp;gt; ||Quad-gauge (Four-gauge) rail (for at-grade multi-gauge crossings and stations); secondary broad/primary broad/standard/primary narrow&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt; ||Four-gauge rail (for at-grade multi-gauge crossings and stations); primary broad/standard/primary narrow/secondary narrow&lt;br /&gt;
|-&lt;br /&gt;
|b ||Broad gauge rail - As broad gauge is a rare tracktype, it may still be feasible to cement B and b as broad gauges of two differing sizes, but the rarity among gauges in the real world would need to match; Italian (1445 mm) and Dresden (1450 mm) gauges may be better grouped here&lt;br /&gt;
|-&lt;br /&gt;
|t ||Leipzig trams (1458 mm) and Greater Toronto Area streetcars (1495 mm)&lt;br /&gt;
|-&lt;br /&gt;
|5 ||1520mm and 5 foot (1524 mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|V ||Pennsylvanian (1581 mm and 1588 mm) and Australian &amp;quot;Victorian&amp;quot; (1600 mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|6 ||6 foot (1829 mm) broad gauge&lt;br /&gt;
|-&lt;br /&gt;
|g ||Brunel&#039;s Great Western Railway gauge (2140 mm)&lt;br /&gt;
|-&lt;br /&gt;
|B ||Biggest Broad gauge rail - As broad gauge is a rare tracktype, and the variation in common real life track types too wide, it may be desirable to cement B and b as broad gauges of two differing sizes; With no real life examples that match the usage frequency of &amp;quot;B&amp;quot;, the gauge might best draw inspiration from the infamous [https://en.wikipedia.org/wiki/Breitspurbahn Breitspurbahn] (3000 mm) and [https://perma.cc/KQ2Z-5RCR the never-built vehicles designed for it], or from the [https://en.wikipedia.org/wiki/Brighton_and_Rottingdean_Seashore_Electric_Railway Brighton &amp;amp; Rottingdean Seashore Electric Railway] (18 ft/5,486 mm) &lt;br /&gt;
|-&lt;br /&gt;
|L ||Maglevs that have a u-shaped track&lt;br /&gt;
|-&lt;br /&gt;
|T ||Maglevs that have a monorail track&lt;br /&gt;
|-&lt;br /&gt;
|F ||Flightrail; A [https://web.archive.org/web/20231213122530/http://www.flightrail.com/ system capable of high speeds and steep hill grades] that uses a pneumatic pipe for propulsion (see &amp;quot;P&amp;quot; under energy sources), and &#039;&#039;wheels pointed inwards at a 45-degree angle&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
It might be preferred to instead use/keep &amp;quot;B&amp;quot; for &amp;quot;all (current) broad gauges&amp;quot; (mostly Victorian gauge) instead using lowercase &amp;quot;b&amp;quot; for Brunel/GWR broad gauge. This wouldn&#039;t be to different from narrow gauge since the lesser used ones are lowercase and fallback to the uppercase ones.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Electrification !!Fallback !!Notes&lt;br /&gt;
|-&lt;br /&gt;
|1 ||Unspecified monorail electrification |||MONO (the whole label) ||&lt;br /&gt;
|-&lt;br /&gt;
|S ||Maglevs that use a synchronous linear motor ||N/A ||&lt;br /&gt;
|-&lt;br /&gt;
|I ||Maglevs that use a linear induction motor ||MGLV (the whole label) ||&lt;br /&gt;
|-&lt;br /&gt;
|V ||Vactrains/Hyperloop ||t, then I, then MGLV (the whole label) ||&lt;br /&gt;
|-&lt;br /&gt;
|t ||&amp;quot;Universal custom tunnel&amp;quot; (for electrified sub-surface rail tunnels) ||c, then p, then 7, then U (mandatory) ||&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt; ||Universal energy type (&#039;&#039;not&#039;&#039; meant to replace &amp;quot;***N&amp;quot;; use for vehicles such as driving cabs which cannot move under their own power regardless, if desired) ||N/A (Be sure to put &amp;quot;***E&amp;quot; in the [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]] of a &amp;quot;***-&amp;quot; label) ||(&#039;&#039;Do not give a fallback or use for railtypes, this is for unpowered &amp;quot;locomotives&amp;quot; only!&#039;&#039;)&lt;br /&gt;
|-&lt;br /&gt;
|5 ||750v DC Outer 3rd Rail (&amp;quot;MTRO&amp;quot; or &amp;quot;SA_3&amp;quot;) and 630v DC Inner 3rd/4th Rail; a total of 5 rails (2 for wheels, 3 for electricity), plausible in the London Underground network ||3 or 4 ||&lt;br /&gt;
|-&lt;br /&gt;
|U ||750v DC Outer 3rd Rail (&amp;quot;MTRO&amp;quot; or &amp;quot;SA_3&amp;quot;), 630v DC Inner 3rd/4th Rail and universal catenary (SAEE); a total of 5 rails (2 for wheels, 3 for electricity) if only one gauge, plausible in the London Underground network and an &amp;quot;ultimate&amp;quot; dual rail electrification without being a cheat (make it expensive or toggle-able?) as SAEU or as XAEU (universal dual rail electrified tracks) ||E ||&lt;br /&gt;
|-&lt;br /&gt;
|7 ||750v DC Outer 3rd Rail (&amp;quot;MTRO&amp;quot; or &amp;quot;SA_3&amp;quot;), 630v DC Inner 3rd/4th Rail, Three-phase AC (SA_T) 3rd/4th rail &amp;amp; catenary, and universal catenary (SA_E); a total of 7 rails (2 for wheels, 5 for electricity) if only one gauge, a truly universal dual rail electrification without being impossible (make it VERY expensive or toggle-able so it isn&#039;t cheat-y?) as SAE7, XAE7 or even as XRE7 (universal electrified rack-equipped dual rail tracks) ||U ||&lt;br /&gt;
|-&lt;br /&gt;
|P ||Pneumatic tube with physical piston slit, or closed pneumatic tube with magnetic piston (i.e. that used by [https://web.archive.org/web/20231213122530/http://www.flightrail.com/ Flightrail]) ||N/A ||&lt;br /&gt;
|-&lt;br /&gt;
|p ||Pneumatic and universal electrical power ||P or 7 (Be sure to put &amp;quot;***_&amp;quot; and ***P&amp;quot; in the [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]] of a &amp;quot;***p&amp;quot; label) ||&lt;br /&gt;
|-&lt;br /&gt;
|c ||Cheat electrification type; use solely for _R_c railtype ||p, then 7, then U, then E, then N, then &amp;quot;SA_-&amp;quot; (the whole label) ||&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Lurkmore</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=Standardized_Railtype_Scheme&amp;diff=4752</id>
		<title>Standardized Railtype Scheme</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=Standardized_Railtype_Scheme&amp;diff=4752"/>
		<updated>2024-02-28T07:20:08Z</updated>

		<summary type="html">&lt;p&gt;Lurkmore: /* Axle load class [**X*] */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This railtype label scheme aims to bring order to the uncontrolled growth of railtype labels. It groups the rail types into what matters from a technical perspective. The scheme provides a standardized way of defining railtype labels, based on track gauge and type, speed class, allowable axle weight and electrification type.&lt;br /&gt;
&lt;br /&gt;
It is the explicit intent of this scheme to decouple track sets from vehicle sets to facilitate easy mixing. This way the player can select a track set of choice to go with a train set of choice. It allows the player to play with or without axle load classes, or with or without speed limit classes, simply by loading a track set that does or does not provide these features. In some cases it will also be possible to combine niche track sets, for instance a standard gauge track set with a narrow gauge and a metro track set.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== The Label Scheme ==&lt;br /&gt;
A railtype label consists of four characters. In this scheme, each position has a different purpose:&lt;br /&gt;
# Track gauge and type class (e.g. standard gauge rail, narrow gauge rail, monorail)&lt;br /&gt;
# Speed limit class&lt;br /&gt;
# Axle load class (maximum allowed axle weight for this track)&lt;br /&gt;
# Energy source type class&lt;br /&gt;
&lt;br /&gt;
In the next sections, each of the four positions will be explained.&lt;br /&gt;
&lt;br /&gt;
=== Track gauge and type class [X***] ===&lt;br /&gt;
The first position in the railtype label defines track gauge and/or track type class. The following classes are currently defined:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Track type/gauge&lt;br /&gt;
|- &lt;br /&gt;
|S ||Standard gauge rail&lt;br /&gt;
|-&lt;br /&gt;
|B ||Broad gauge rail &lt;br /&gt;
|-&lt;br /&gt;
|N ||Narrow gauge rail&lt;br /&gt;
|-&lt;br /&gt;
|n ||Secondary narrow gauge rail (e.g. when providing both metre and cape gauge, always use N in case of just one type of narrow gauge)&lt;br /&gt;
|-&lt;br /&gt;
|D ||Dual gauge rail, standard/broad gauge&lt;br /&gt;
|-&lt;br /&gt;
|d ||Dual gauge rail, standard/narrow gauge&lt;br /&gt;
|-&lt;br /&gt;
|M ||Monorail&lt;br /&gt;
|-&lt;br /&gt;
|L ||Magnetic Levitation&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Speed limit class [*X**] ===&lt;br /&gt;
The second position in the railtype label defines the speed limit class. These classes do not map to a fixed numeric value, but are used to define an internal speed limit order for the track set. This means that if your track set has two different speed limits for track types that are otherwise identical, you&#039;ll use letters A and B here. In case of three different speed limits, use A, B and C. In case your track set does not employ speed limits, always use A. Train sets do not care about the speed limit, and will always set the lowest speed class, i.e. A.&lt;br /&gt;
&lt;br /&gt;
This gives for instance the following options:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||no speed limits&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;OR&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||low speed&lt;br /&gt;
|-&lt;br /&gt;
|B ||high speed&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;OR&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||low speed&lt;br /&gt;
|-&lt;br /&gt;
|B ||medium speed&lt;br /&gt;
|-&lt;br /&gt;
|C ||high speed&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;etc.&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear:left;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The speed limit class may also be used for some advanced features of the label scheme, like specialized track types and eyecandy purposes. Be careful not to break the compatibility with other sets when using the speed limit class for these purposes.&lt;br /&gt;
&lt;br /&gt;
An example of a special use is rack rail. In the French set it is used to give rack rail engines a higher speed and TE than normal rail engines when used on rack rail. When defining trains with a special speed limit class, always allow a fallback to speed limit class A via the railtype table.&lt;br /&gt;
&lt;br /&gt;
An example of eyecandy use are urban tracks. These are a variation of regular tracks, but with concrete ground tiles to better match the urban environment. Train sets must not define vehicles for eyecandy classes. If you think you have special vehicles that should only run on the eyecandy class, it is &#039;&#039;not&#039;&#039; eyecandy but a separate track gauge/type.&lt;br /&gt;
&lt;br /&gt;
The following special and eyecandy classes have been defined so far:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Description !!Type !!Used by&lt;br /&gt;
|- &lt;br /&gt;
|A-H ||speed limits ||colspan=&amp;quot;2&amp;quot;|reserved&lt;br /&gt;
|- &lt;br /&gt;
|R ||rack rail ||special ||French Set Rails &lt;br /&gt;
|- &lt;br /&gt;
|S ||subterranean ||eyecandy ||Metro Track Set&lt;br /&gt;
|- &lt;br /&gt;
|U ||urban ||eyecandy ||Metro Track Set&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Axle load class [**X*] ===&lt;br /&gt;
The third position defines the axle weight limit. Heavy trains cannot run on tracks with a low axle weight limit; these trains need more expensive tracks with a heigher weight limit. There are five axle load classes &#039;&#039;&#039;A&#039;&#039;&#039; through &#039;&#039;&#039;E&#039;&#039;&#039;. &#039;&#039;&#039;A&#039;&#039;&#039; is for the lowest axle load limit, &#039;&#039;&#039;E&#039;&#039;&#039; for the highest. The exact axle load attached to each class is relative to the track gauge/type and trains in the set. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A train set should set the appropriate axle weight for each train via the railtype label, as to make the set work with track sets that do provide tracks with different weight limits, even if you don&#039;t care about it for your trainset. Split all vehicles of a certain track gauge/type into five groups of similar axle weight. The group with the lowest axle weights will get class &#039;&#039;&#039;A&#039;&#039;&#039;, the second lowest class &#039;&#039;&#039;B&#039;&#039;&#039;, etc. up to the group with the highest axle weights which will get class &#039;&#039;&#039;E&#039;&#039;&#039;. Do the same for the other track gauge/types if your train set has those.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A track set does not have to provide a dedicated track type for each axle weight limit. A track set that does not provide a dedicated track for each axle load class, must make sure to map all undefined axle load classes to a real railtype using property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]]. This way a train set can rely on all labels for all axle load classes being available. Example: if you only want to provide 2 axle load classes for standard gauge unelectrified with no speed limits, you can map SA&#039;&#039;&#039;A&#039;&#039;&#039;N + SA&#039;&#039;&#039;B&#039;&#039;&#039;N to SA&#039;&#039;&#039;C&#039;&#039;&#039;N and SA&#039;&#039;&#039;D&#039;&#039;&#039;N to SA&#039;&#039;&#039;E&#039;&#039;&#039;N if the cost difference between the two railtypes is high, or SA&#039;&#039;&#039;A&#039;&#039;&#039;N to SA&#039;&#039;&#039;B&#039;&#039;&#039;N and SA&#039;&#039;&#039;C&#039;&#039;&#039;N + SA&#039;&#039;&#039;D&#039;&#039;&#039;N to SA&#039;&#039;&#039;E&#039;&#039;&#039;N if the cost difference is low.&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t want to provide any axle load classes in your track set, it doesn&#039;t really matter what axle load class you choose for the track, as you&#039;ll be mapping all other classes to this track anyways. But the lowest or highest class are the obvious choice. Example: if your track set only provides narrow gauge unelectrified track with no speed limits and no axle load limits, you may use NA&#039;&#039;&#039;A&#039;&#039;&#039;N for the track label, and provide NA&#039;&#039;&#039;B&#039;&#039;&#039;N, NA&#039;&#039;&#039;C&#039;&#039;&#039;N, NA&#039;&#039;&#039;D&#039;&#039;&#039;N, NA&#039;&#039;&#039;E&#039;&#039;&#039;N in property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you need more than five axle load class, you may use lowercase letters for very low axle loads and continue the uppercase letters for very high axle loads. Be advised that your train set may not assume the existance of any other class than &#039;&#039;&#039;A&#039;&#039;&#039; through &#039;&#039;&#039;E&#039;&#039;&#039;, so when the range make sure to program your railtype table such that trains with such a class will fall back to class &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;E&#039;&#039;&#039;. If you make a track set with an extended range, be aware that not all train sets will define trains for these tracks. In general: only do this in case of a train set with a matching track set.&lt;br /&gt;
&lt;br /&gt;
For the lowercase letters, &#039;&#039;&#039;b&#039;&#039;&#039; is lower than &#039;&#039;&#039;a&#039;&#039;&#039;, so for increasing axle load limits: b &amp;lt; a &amp;lt; A &amp;lt; B &amp;lt; C etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that the axle load classes never map to a specific weight in tonnes. For that reason it does not make sense to add a numeric value for the axle load to the name of a track type or in the extended purchase info of a train. Instead use the relative expressions &#039;very low&#039;, &#039;low&#039;, &#039;medium&#039;, &#039;high&#039; and &#039;very high&#039; or use the class letters directly.&lt;br /&gt;
&lt;br /&gt;
If a guideline is needed for updating a set to use axle loads in a train set where they don&#039;t yet exist, the following might serve as a basic &amp;quot;generic&amp;quot; guideline...&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Indefinite !!Generic !!First usage&lt;br /&gt;
|-&lt;br /&gt;
|b ||Horse-drawn Wagonway ||1 metric tonne (1000kg) per axle ||&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;1594&lt;br /&gt;
|-&lt;br /&gt;
|a ||Prototype Iron Rails ||1 metric tonne (1000kg) per axle ||&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;1799&lt;br /&gt;
|-&lt;br /&gt;
|_ ||Unspecified ||No limit at all ||&amp;lt;nowiki&amp;gt;    &amp;lt;/nowiki&amp;gt;0&lt;br /&gt;
|-&lt;br /&gt;
|A ||Very Low ||10 metric tonnes (10000kg) per axle ||&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;1828&lt;br /&gt;
|-&lt;br /&gt;
|B ||Low ||20 metric tonnes (20000kg) per axle ||&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;1968&lt;br /&gt;
|-&lt;br /&gt;
|C ||Medium ||30 metric tonnes (30000kg) per axle ||~1978&lt;br /&gt;
|-&lt;br /&gt;
|D ||High ||40 metric tonnes (40000kg) per axle ||&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;1988&lt;br /&gt;
|-&lt;br /&gt;
|E ||Very High ||50 metric tonnes (50000kg) per axle ||&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;2008&lt;br /&gt;
|-&lt;br /&gt;
|F ||Future-proofing ||No limit per axle (update in 2030 or so?) ||~2028&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Energy source type class [***X] ===&lt;br /&gt;
The last position defines the energy source type class. This is split in generic energy source types like overhead wires and third rail and specialized types like alternating and direct current.&lt;br /&gt;
&lt;br /&gt;
A track set that only uses specialized types, should map the generic types to the most suitable specialized type in the set.&lt;br /&gt;
&lt;br /&gt;
A vehicle set that uses specialized types should define a generic type as fallback, via the railtype table. If such a fallback is omitted, please note that certain vehicles may be unavailable depending on track set loaded.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Generic energy type classes&lt;br /&gt;
|-&lt;br /&gt;
|N ||no electrification&lt;br /&gt;
|-&lt;br /&gt;
|E ||overhead wires/catenary electrification&lt;br /&gt;
|-&lt;br /&gt;
|3 ||3rd rail electrification&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Specialized energy type classes !!Vehicle set fallback&lt;br /&gt;
|-&lt;br /&gt;
|Z ||3rd rail and catenary electrification || 3 or E&lt;br /&gt;
|-&lt;br /&gt;
|4 ||4th rail electrification || 3&lt;br /&gt;
|-&lt;br /&gt;
|Y ||4th rail and catenary electrification || 4 or E&lt;br /&gt;
|-&lt;br /&gt;
|T ||[http://en.wikipedia.org/wiki/Three-phase_AC_railway_electrification three phase AC electrification] || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|D ||DC catenary electrification || E&lt;br /&gt;
|-&lt;br /&gt;
|d ||low voltage DC catenary electrification (only when D also used in set) || First A then E&lt;br /&gt;
|-&lt;br /&gt;
|A ||AC catenary electrification || E&lt;br /&gt;
|-&lt;br /&gt;
|a ||low voltage AC catenary electrification (only when A also used in set) || First A then E&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
If you want multi-voltage/current vehicles in your set (i.e. a train that can run on both AC and DC current), you have to define a dedicated railtype for those vehicles. Without the railtype, it&#039;s not possible to define vehicles with this property. If you only have vehicles that can run on either one type of voltage/current or on all types of voltage/current (e.g. a 2-system if you only have &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;D&#039;&#039;&#039; tracks, or a 4-system in case of all &#039;&#039;&#039;A&#039;&#039;&#039;, &#039;&#039;&#039;a&#039;&#039;&#039;, &#039;&#039;&#039;D&#039;&#039;&#039; and &#039;&#039;&#039;d&#039;&#039;&#039;), then use the generic class &#039;&#039;&#039;E&#039;&#039;&#039; for vehicles that should be able to run on all different voltage/currents. Also the track set needs to have one at least one railtype with class &#039;&#039;&#039;E&#039;&#039;&#039; defined.&lt;br /&gt;
&lt;br /&gt;
Note that if you want more than one type of multi-voltage/current, you&#039;ll quickly get a combinatory explosion of railtype labels, so plan carefully or do not attempt it. For every different multi-voltage/current vehicle type a dedicated railtype is needed. If you want all possible combinations, then you need to define an additional 8 classes. It is not recommended to make your train/track set this complicated.&lt;br /&gt;
&lt;br /&gt;
Example approach for a 4-system set, with trains that can run on either one or all systems:&lt;br /&gt;
* &#039;&#039;&#039;E&#039;&#039;&#039;: generic catenary-powered electric engines. &amp;quot;universal&amp;quot; [4-system] if any of &#039;&#039;&#039;D&#039;&#039;&#039;/&#039;&#039;&#039;d&#039;&#039;&#039;/&#039;&#039;&#039;A&#039;&#039;&#039;/&#039;&#039;&#039;a&#039;&#039;&#039; are defined.&lt;br /&gt;
* &#039;&#039;&#039;A&#039;&#039;&#039;: generic AC catenary electric engines. 25kV only if &#039;&#039;&#039;a&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;A&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;a&#039;&#039;&#039;: 15kV AC catenary electric engines. Only defined if &#039;&#039;&#039;A&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;a&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;D&#039;&#039;&#039;: generic DC catenary electric engines. 3kV if &#039;&#039;&#039;d&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;D&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;d&#039;&#039;&#039;: 1.5kV DC catenary electric engines. Only defined if &#039;&#039;&#039;D&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;D&#039;&#039;&#039; and &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;d&#039;&#039;&#039;.&lt;br /&gt;
For a 2-system set, you can simply drop &#039;&#039;&#039;a&#039;&#039;&#039; and &#039;&#039;&#039;d&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Standard labels: RAIL, ELRL, MONO, MGLV ===&lt;br /&gt;
It&#039;s not possible to undefine the standard railtypes RAIL, ELRL, MONO and MGLV. The game will always add those if there are vehicles defined for these track types. As a result, for a track set it&#039;s best not to ignore those standard labels, but rather work with them and define them in the set. If your track set does not have monorail or maglev tracks, there of course is no need to define those. But if your track set defines anything that resembles unelectrified or electrified rail, you should use the RAIL and ELRL labels. Matching labels from the above scheme will then be defined in property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
As vehicles from NewGRFs that do not use explicit railtypes will end up on these standard railtypes, you should use RAIL instead of whatever type could be regarded as the most commonly used unelectrified type, ELRL instead of the most commonly used electrified type and so on. The label according to this scheme is then set as an alternate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Summary for track sets ==&lt;br /&gt;
This section summarizes the above for track sets.&lt;br /&gt;
&lt;br /&gt;
; [X***] Track gauge and type class&lt;br /&gt;
* Define at least one track type for every track gauge/type class you want in your set.&lt;br /&gt;
* If you only provide tracks for one gauge/type, consider leaving some free railtypes so a player can load an additional set for some other type.&lt;br /&gt;
; [*X**] Speed limit class&lt;br /&gt;
* Make sure class A is always available, either directly or via an alternate label.&lt;br /&gt;
* Use only class A if you don&#039;t want speed limits;&lt;br /&gt;
* With speed limits, A is the lowest speed limit. Continue with B, C, etc. for increasing speed limits;&lt;br /&gt;
* The speed class can also be used to implement additional eye-candy track types, use letters higher in the alphabet for this.&lt;br /&gt;
; [**X*] Axle load class&lt;br /&gt;
* Always define all classes A through E for every track type class / electrification combination, either:&lt;br /&gt;
** Directly via a real railtype definition;&lt;br /&gt;
** Indirectly via the alternate rail type label list, property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
* Extend the predefined classes only if you also provide a train set that makes use of these.&lt;br /&gt;
; [***X] Energy source type class&lt;br /&gt;
* If your set only uses specialized classes, always map the generic classes to the closest matching specialized type via property 1D.&lt;br /&gt;
; Standard labels [RAIL, ELRL, MONO, MGLV]&lt;br /&gt;
* Always define the standard labels when possible, instead of what would be the equivalent of the standard label in this scheme.&lt;br /&gt;
* Map the equivalent labels from this scheme to the standard labels using property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
Or, put differently, for each gauge/type, select one or more energy source types. For each type/energy combination provide all axle load classes for the speed class &amp;quot;A&amp;quot;, either as a real type or as an alternate of another type. Provide more types with a different speed letter if you want to provide several different speeds or other eye-candy tracks.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Summary for train sets ==&lt;br /&gt;
This section summarizes the above for train sets.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; [X***] Track gauge and type class&lt;br /&gt;
* Use the track type class that matches the vehicle;&lt;br /&gt;
* Define a fallback type via the railtype table in case you want the vehicle to be available on a different track if no matching track set is loaded.&lt;br /&gt;
** Specialized subtypes like &amp;quot;n&amp;quot; might not always be available. If you want those vehicles to be still available then, fall back the the generic class (e.g. &amp;quot;N&amp;quot;).&lt;br /&gt;
; [*X**] Speed limit class &lt;br /&gt;
* Always use class A for every vehicle.&lt;br /&gt;
; [**X*] Axle load class&lt;br /&gt;
* Use all classes A through E according to the maximum axle weight of the vehicle.&lt;br /&gt;
* Extend the predefined classes only if you also provide a track set that makes use of these;&lt;br /&gt;
** When extending the predefined classes A through E, define a fallback type via the railtype table in case you want the vehicle to be available if no matching track set is loaded.&lt;br /&gt;
; [***X] Energy source type class&lt;br /&gt;
* Use the energy source type class that matches the vehicle;&lt;br /&gt;
* When using specialized classes, define a fallback type via the railtype table in case you want the vehicle to be available if no matching track set is loaded.&lt;br /&gt;
; Standard labels [RAIL, ELRL, MONO, MGLV]&lt;br /&gt;
* Define a fallback type to the standard labels via the railtype table in case you want the vehicle to be available on the standard tracks if no matching track set is loaded.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Be as specific as you want when selecting the railtype, it is the job of the track set to select a playable, reduced subset out of all possible type combinations.&lt;br /&gt;
&lt;br /&gt;
== In case you&#039;re not convinced by this scheme ==&lt;br /&gt;
Adopting this scheme gives the player freedom to use any track set in combination with any train set that follow the scheme. &lt;br /&gt;
&lt;br /&gt;
This means that you can make your train set compatible with track sets that provide axle load classes, and track sets that provide speed limits, and at the same time with track sets that provide none of this. This way, the player can decide to play with or without axle load classes, or with or without speed limits, simply by loading a track set that does or does not provide these features.&lt;br /&gt;
&lt;br /&gt;
And for your track set, it means that you can make it as simple or as complicated as you want (within the 64 track type limit), while not having to worry about compatibility with train sets.&lt;br /&gt;
&lt;br /&gt;
Still not convinced? Feel free to use railtype labels of your own, but know that you will likely come to regret that at some point in the future.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Forum topic==&lt;br /&gt;
If you want to discuss the standardized railtype scheme or have any questions about it, you can visit [http://www.tt-forums.net/viewtopic.php?t=59379 the forum topic].&lt;br /&gt;
&lt;br /&gt;
==&amp;quot;Innsbruck 2022 Convention&amp;quot; for partial compliance==&lt;br /&gt;
&lt;br /&gt;
This is really esoteric, but eh. It was the product of long discussion / debate / argument / reasoning between grf authors.&lt;br /&gt;
&lt;br /&gt;
1. The Standardized Railtype Scheme &#039;&#039;&#039;is a useful tool&#039;&#039;&#039; for providing reliable compatibility between train grfs and railtype grfs.&lt;br /&gt;
&lt;br /&gt;
2. The &#039;&#039;&#039;axle load class&#039;&#039;&#039; in the scheme presents a number of issues for compliance.&lt;br /&gt;
&lt;br /&gt;
2.1. Over 10 years since the scheme was standardised, not many train grfs implement multiple axle load classes &#039;&#039;&#039;as required by the scheme&#039;&#039;&#039;.  Known examples that &#039;&#039;&#039;do&#039;&#039;&#039; comply include Dutch Train Set, French Narrow Gauge Trains, and Finnish Trains.&lt;br /&gt;
&lt;br /&gt;
2.2. Elements of the axle load rules have proven hard to interpret.  For example:&lt;br /&gt;
&lt;br /&gt;
* is it compliant to use &#039;&#039;fewer&#039;&#039; than 5 classes in a train grf?  There is a lack of consensus on this.&lt;br /&gt;
* axle load is only one of many factors that govern whether a vehicle is compatible with a route, for example loading gauge, minimum curve, signalling types etc&lt;br /&gt;
&lt;br /&gt;
2.3. Meanwhile &#039;&#039;multiple existing train grfs use class &#039;&#039;A&#039;&#039; for the axle load for all trains&#039;&#039; (except where relying on default railtypes such as RAIL and ELRL).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3. The Innsbruck 2022 Convention uses class &#039;&#039;A&#039;&#039; for axle load for &#039;&#039;&#039;all&#039;&#039;&#039; trains in a train grf (except where relying on default railtypes such as RAIL and ELRL).&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is &#039;&#039;&#039;not&#039;&#039;&#039; fully compliant with the Standardized Railtype Scheme and does not claim to be.&lt;br /&gt;
&lt;br /&gt;
However train grfs using the Innsbruck 2022 Convention are &#039;&#039;broadly compatible&#039;&#039; with railtype grfs using the Standardized Railtype Scheme.  &lt;br /&gt;
&lt;br /&gt;
Obligatory XKCD link about &#039;standards&#039;: https://xkcd.com/927/&lt;br /&gt;
&lt;br /&gt;
===Known issues===&lt;br /&gt;
&lt;br /&gt;
Known problems are that trains using only class &#039;A&#039; may limit the ability of railtype grf authors to achieve their design goals for separating railtypes by axle load.  &lt;br /&gt;
But on reflection, it can be seen that a train grf might not be able to provide a broad enough range of vehicles to cover at least 5 axle load classes.&lt;br /&gt;
&lt;br /&gt;
3.1. The Innsbruck 2022 Convention is &#039;&#039;&#039;not&#039;&#039;&#039; appropriate for train grf authors who wish to provide more than one axle load class.&lt;br /&gt;
&lt;br /&gt;
3.2. The Innsbruck 2022 Convention treats the meaning of class &#039;&#039;A&#039;&#039; as &#039;&#039;undefined&#039;&#039;, &#039;&#039;ignored&#039;&#039; or &#039;&#039;compatible with most restricted railtype&#039;&#039; for axle load.  &lt;br /&gt;
&lt;br /&gt;
Axle load class &#039;&#039;A&#039;&#039; &#039;&#039;&#039;cannot&#039;&#039;&#039; be safely interpreted as &#039;&#039;universal&#039;&#039; because from the perspective of a railtype grf &#039;&#039;A&#039;&#039; is &#039;&#039;most restricted railtype&#039;&#039;, where &#039;&#039;universal&#039;&#039; is better represented as &#039;&#039;least restricted railtype&#039;&#039;. Depending how many axle load classes are in use by the railtype grf, this could be class &#039;&#039;B&#039;&#039;, &#039;&#039;C&#039;&#039;, &#039;&#039;D&#039;&#039;, &#039;&#039;E&#039;&#039; etc.  To illustrate this issue, take the following scenario&lt;br /&gt;
&lt;br /&gt;
* railtype grf defines axle loads &#039;&#039;A&#039;&#039; to &#039;&#039;E&#039;&#039;. In this case the railtype grf author intends that &#039;&#039;A&#039;&#039; is compatible with the smallest range of vehicles, &#039;&#039;E&#039;&#039; is compatible with the largest range of vehicles, and &#039;&#039;B&#039;&#039;, &#039;&#039;C&#039;&#039; and &#039;&#039;D&#039;&#039; are compatible with some intermediate ranges of vehicles&lt;br /&gt;
* but the vehicle grf author has defined all vehicles to be axle load &#039;&#039;A&#039;&#039; in an attempt to express this vehicle is &#039;&#039;universal&#039;&#039;.  The result in the game is that an identical range of vehicles will be compatible with railtypes &#039;&#039;A&#039;&#039; to &#039;&#039;E&#039;&#039;.  &lt;br /&gt;
&lt;br /&gt;
This is clearly &#039;&#039;&#039;not&#039;&#039;&#039; the intended outcome of the railtype author. But nor is it clear within the spec that the vehicle author has particularly done anything wrong. &lt;br /&gt;
&lt;br /&gt;
It &#039;&#039;would&#039;&#039; be possible to use railtype availability testing to adjust the vehicle property 05 (track_type) to fit the highest defined axle load (&#039;&#039;E&#039;&#039; in this example case), but this is not insignificant work, and it&#039;s unlikely to be widely adopted by vehicle grf authors.  Nor would this solution achieve &#039;&#039;universal&#039;&#039; as all vehicles in vehicle grf then would be incompatible with types &#039;&#039;A&#039;&#039; through &#039;&#039;D&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
3.3. When the Innsbruck 2022 Convention is used, this &#039;&#039;&#039;does not prevent&#039;&#039;&#039; a train grf being extended in some future release to achieve full compliance with Standardized Railtype Scheme. &#039;&#039;That choice remains with train grf authors&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
3.4. If 2012 could be revisited, providing an optional &#039;&#039;_&#039;&#039; axle load class in the Standardized Railtype Scheme for &#039;&#039;undefined&#039;&#039; would have been preferable, but as of 2022, &#039;&#039;A&#039;&#039; is already widely used for this purpose, and time travel is not known to be possible.&lt;br /&gt;
&lt;br /&gt;
==Extended multivoltage support addition==&lt;br /&gt;
These are extensions to the energy source type class currently supported by SETS and xUSSR Rails which allow trainsets to code trains which are limited to a certain selection of voltages. As stated in the energy source type class section this might not be of use for all sets, as such it is optional but still recommended for trainsets for ideal functionality with tracksets which support the extended labels.&lt;br /&gt;
{|&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Specialized energy type classes !!Vehicle set fallback&lt;br /&gt;
|-&lt;br /&gt;
|* ||Equivilent to A, a, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|&#039; ||Equivilent to A, a and D || E&lt;br /&gt;
|-&lt;br /&gt;
|^ ||Equivilent to A, a and d || E&lt;br /&gt;
|-&lt;br /&gt;
|_ ||Equivilent to A, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
|, ||Equivilent to a, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|$ ||Equivilent to A and a  || First A then E&lt;br /&gt;
|-&lt;br /&gt;
|= ||Equivilent to D and d  || First D then E&lt;br /&gt;
|-&lt;br /&gt;
|) ||Equivilent to A and D  || E&lt;br /&gt;
|-&lt;br /&gt;
|( ||Equivilent to A and d  || E&lt;br /&gt;
|-&lt;br /&gt;
|] ||Equivilent to a and D  || E&lt;br /&gt;
|-&lt;br /&gt;
|[ ||Equivilent to a and d  || E&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Possible additions==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Track type/gauge&lt;br /&gt;
|-&lt;br /&gt;
|_ ||Universal &amp;quot;cheat&amp;quot; rail; ALWAYS add &amp;quot;_A_-&amp;quot; and &amp;quot;_A_N&amp;quot; to EVERY [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]] (as well as the equivalent electrified/pneumatic railtype that is powered on your electrified/pneumatic railtype to support it if you are making a new railtype set, older sets can be covered by fix or patch grfs) and &amp;quot;_A_t&amp;quot; to EVERY [[NML:Railtypes#Railtype_properties|powered_railtype_list (NML)]]&lt;br /&gt;
|-&lt;br /&gt;
|0 ||(A number zero, not a letter &amp;quot;Oh&amp;quot;) No track, eyecandy-use only&lt;br /&gt;
|-&lt;br /&gt;
|U ||[https://perma.cc/93VE-8JQZ &amp;quot;Ukrainian monorail&amp;quot; or Şaropoí̈zd (Шаропоїзд)], a u-shaped concrete &amp;quot;monorail trench&amp;quot; from 1920&#039;s Soviet Union; see [https://www.tt-forums.net/viewtopic.php?f=26&amp;amp;t=47432 the Yarmanchuk Express] for graphics&lt;br /&gt;
|-&lt;br /&gt;
|1 ||Early Monorail; See [https://perma.cc/6BVS-2P2X here] and [https://perma.cc/VCG2-ATUA here]&lt;br /&gt;
|-&lt;br /&gt;
|G ||Gyrail; [https://en.wikipedia.org/wiki/Gyro_monorail Gyro monorail/Gyroscopic monorail/Gyro-stabilized monorail] for description and IRL example, and [https://wikimon.net/Trailmon here] ([https://web.archive.org/web/20240227205547/https://wikimon.net/Trailmon archived]) for good fictional examples&lt;br /&gt;
|-&lt;br /&gt;
|m ||Minimum gauge rail; [https://en.wikipedia.org/wiki/Minimum-gauge_railway 15 in (381 mm), 400 mm (15+3⁄4 in), 16 in (406 mm), 18 in (457 mm), 19 in (483 mm), 500 mm (19+3⁄4 in) or 20 in (508 mm)]&lt;br /&gt;
|-&lt;br /&gt;
|n ||600mm &amp;quot;Decauville&amp;quot; or &amp;quot;Feldsbahn&amp;quot;, formerly labelled &amp;quot;NG60&amp;quot; before standardization; the most common narrow gauge track type in OpenTTD other than metre gauge, 600mm gauge is thus ideal for taking up the &amp;quot;n&amp;quot; gauge, though this is an ultimately optional distinction&lt;br /&gt;
|-&lt;br /&gt;
|7 ||750mm, Bosnian gauge (760 mm), and 762mm; all start with 7 and are close in size&lt;br /&gt;
|-&lt;br /&gt;
|3 ||Swedish 3 foot (891 mm), 900mm, 3 foot (914 mm) and Italian Metre (950mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|R ||Metre gauge; potentially compatible with base tramtype &amp;quot;RABN&amp;quot;, most early tramways were metre gauge&lt;br /&gt;
|-&lt;br /&gt;
|4 ||4 foot gauge (1219 mm), and possibly 4&#039;6&amp;quot; in. (1372 mm) if standardization is needed for 1372mm&lt;br /&gt;
|-&lt;br /&gt;
|s ||Scotch gauge (1372 mm)&lt;br /&gt;
|-&lt;br /&gt;
|S ||Standard gauge; already implemented in original standardized railtype scheme, but could include near-standard (1432 mm) as well as existing true standard (1435 mm) and is also potentially compatible with the SABN tramtype&lt;br /&gt;
|-&lt;br /&gt;
|X ||Omni-gauge rail (for at-grade multi-gauge crossings and stations); ultrabroad/secondary broad/primary broad/standard/primary narrow/secondary narrow gauge&lt;br /&gt;
|-&lt;br /&gt;
|x ||Multi-gauge rail (for at-grade multi-gauge crossings and stations); secondary broad/primary broad/standard/primary narrow/secondary narrow&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;+&amp;lt;/nowiki&amp;gt; ||Quad-gauge (Four-gauge) rail (for at-grade multi-gauge crossings and stations); secondary broad/primary broad/standard/primary narrow&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt; ||Four-gauge rail (for at-grade multi-gauge crossings and stations); primary broad/standard/primary narrow/secondary narrow&lt;br /&gt;
|-&lt;br /&gt;
|b ||Broad gauge rail - As broad gauge is a rare tracktype, it may still be feasible to cement B and b as broad gauges of two differing sizes, but the rarity among gauges in the real world would need to match; Italian (1445 mm) and Dresden (1450 mm) gauges may be better grouped here&lt;br /&gt;
|-&lt;br /&gt;
|t ||Leipzig trams (1458 mm) and Greater Toronto Area streetcars (1495 mm)&lt;br /&gt;
|-&lt;br /&gt;
|5 ||1520mm and 5 foot (1524 mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|V ||Pennsylvanian (1581 mm and 1588 mm) and Australian &amp;quot;Victorian&amp;quot; (1600 mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|6 ||6 foot (1829 mm) broad gauge&lt;br /&gt;
|-&lt;br /&gt;
|g ||Brunel&#039;s Great Western Railway gauge (2140 mm)&lt;br /&gt;
|-&lt;br /&gt;
|B ||Biggest Broad gauge rail - As broad gauge is a rare tracktype, and the variation in common real life track types too wide, it may be desirable to cement B and b as broad gauges of two differing sizes; With no real life examples that match the usage frequency of &amp;quot;B&amp;quot;, the gauge might best draw inspiration from the infamous [https://en.wikipedia.org/wiki/Breitspurbahn Breitspurbahn] (3000 mm) and [https://perma.cc/KQ2Z-5RCR the never-built vehicles designed for it], or from the [https://en.wikipedia.org/wiki/Brighton_and_Rottingdean_Seashore_Electric_Railway Brighton &amp;amp; Rottingdean Seashore Electric Railway] (18 ft/5,486 mm) &lt;br /&gt;
|-&lt;br /&gt;
|L ||Maglevs that have a u-shaped track&lt;br /&gt;
|-&lt;br /&gt;
|T ||Maglevs that have a monorail track&lt;br /&gt;
|-&lt;br /&gt;
|F ||Flightrail; A [https://web.archive.org/web/20231213122530/http://www.flightrail.com/ system capable of high speeds and steep hill grades] that uses a pneumatic pipe for propulsion (see &amp;quot;P&amp;quot; under energy sources), and &#039;&#039;wheels pointed inwards at a 45-degree angle&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
It might be preferred to instead use/keep &amp;quot;B&amp;quot; for &amp;quot;all (current) broad gauges&amp;quot; (mostly Victorian gauge) instead using lowercase &amp;quot;b&amp;quot; for Brunel/GWR broad gauge. This wouldn&#039;t be to different from narrow gauge since the lesser used ones are lowercase and fallback to the uppercase ones.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Electrification !!Fallback !!Notes&lt;br /&gt;
|-&lt;br /&gt;
|1 ||Unspecified monorail electrification |||MONO (the whole label) ||&lt;br /&gt;
|-&lt;br /&gt;
|S ||Maglevs that use a synchronous linear motor ||N/A ||&lt;br /&gt;
|-&lt;br /&gt;
|I ||Maglevs that use a linear induction motor ||MGLV (the whole label) ||&lt;br /&gt;
|-&lt;br /&gt;
|V ||Vactrains/Hyperloop ||t, then I, then MGLV (the whole label) ||&lt;br /&gt;
|-&lt;br /&gt;
|t ||&amp;quot;Universal custom tunnel&amp;quot; (for electrified sub-surface rail tunnels) ||c, then p, then 7, then U (mandatory) ||&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt; ||Universal energy type (&#039;&#039;not&#039;&#039; meant to replace &amp;quot;***N&amp;quot;; use for vehicles such as driving cabs which cannot move under their own power regardless, if desired) ||N/A (Be sure to put &amp;quot;***E&amp;quot; in the [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]] of a &amp;quot;***-&amp;quot; label) ||(&#039;&#039;Do not give a fallback or use for railtypes, this is for unpowered &amp;quot;locomotives&amp;quot; only!&#039;&#039;)&lt;br /&gt;
|-&lt;br /&gt;
|5 ||750v DC Outer 3rd Rail (&amp;quot;MTRO&amp;quot; or &amp;quot;SA_3&amp;quot;) and 630v DC Inner 3rd/4th Rail; a total of 5 rails (2 for wheels, 3 for electricity), plausible in the London Underground network ||3 or 4 ||&lt;br /&gt;
|-&lt;br /&gt;
|U ||750v DC Outer 3rd Rail (&amp;quot;MTRO&amp;quot; or &amp;quot;SA_3&amp;quot;), 630v DC Inner 3rd/4th Rail and universal catenary (SAEE); a total of 5 rails (2 for wheels, 3 for electricity) if only one gauge, plausible in the London Underground network and an &amp;quot;ultimate&amp;quot; dual rail electrification without being a cheat (make it expensive or toggle-able?) as SAEU or as XAEU (universal dual rail electrified tracks) ||E ||&lt;br /&gt;
|-&lt;br /&gt;
|7 ||750v DC Outer 3rd Rail (&amp;quot;MTRO&amp;quot; or &amp;quot;SA_3&amp;quot;), 630v DC Inner 3rd/4th Rail, Three-phase AC (SA_T) 3rd/4th rail &amp;amp; catenary, and universal catenary (SA_E); a total of 7 rails (2 for wheels, 5 for electricity) if only one gauge, a truly universal dual rail electrification without being impossible (make it VERY expensive or toggle-able so it isn&#039;t cheat-y?) as SAE7, XAE7 or even as XRE7 (universal electrified rack-equipped dual rail tracks) ||U ||&lt;br /&gt;
|-&lt;br /&gt;
|P ||Pneumatic tube with physical piston slit, or closed pneumatic tube with magnetic piston (i.e. that used by [https://web.archive.org/web/20231213122530/http://www.flightrail.com/ Flightrail]) ||N/A ||&lt;br /&gt;
|-&lt;br /&gt;
|p ||Pneumatic and universal electrical power ||P or 7 (Be sure to put &amp;quot;***_&amp;quot; and ***P&amp;quot; in the [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]] of a &amp;quot;***p&amp;quot; label) ||&lt;br /&gt;
|-&lt;br /&gt;
|c ||Cheat electrification type; use solely for _R_c railtype ||p, then 7, then U, then E, then N, then &amp;quot;SA_-&amp;quot; (the whole label) ||&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Lurkmore</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=Standardized_Railtype_Scheme&amp;diff=4751</id>
		<title>Standardized Railtype Scheme</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=Standardized_Railtype_Scheme&amp;diff=4751"/>
		<updated>2024-02-28T07:18:54Z</updated>

		<summary type="html">&lt;p&gt;Lurkmore: /* Axle load class [**X*] */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This railtype label scheme aims to bring order to the uncontrolled growth of railtype labels. It groups the rail types into what matters from a technical perspective. The scheme provides a standardized way of defining railtype labels, based on track gauge and type, speed class, allowable axle weight and electrification type.&lt;br /&gt;
&lt;br /&gt;
It is the explicit intent of this scheme to decouple track sets from vehicle sets to facilitate easy mixing. This way the player can select a track set of choice to go with a train set of choice. It allows the player to play with or without axle load classes, or with or without speed limit classes, simply by loading a track set that does or does not provide these features. In some cases it will also be possible to combine niche track sets, for instance a standard gauge track set with a narrow gauge and a metro track set.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== The Label Scheme ==&lt;br /&gt;
A railtype label consists of four characters. In this scheme, each position has a different purpose:&lt;br /&gt;
# Track gauge and type class (e.g. standard gauge rail, narrow gauge rail, monorail)&lt;br /&gt;
# Speed limit class&lt;br /&gt;
# Axle load class (maximum allowed axle weight for this track)&lt;br /&gt;
# Energy source type class&lt;br /&gt;
&lt;br /&gt;
In the next sections, each of the four positions will be explained.&lt;br /&gt;
&lt;br /&gt;
=== Track gauge and type class [X***] ===&lt;br /&gt;
The first position in the railtype label defines track gauge and/or track type class. The following classes are currently defined:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Track type/gauge&lt;br /&gt;
|- &lt;br /&gt;
|S ||Standard gauge rail&lt;br /&gt;
|-&lt;br /&gt;
|B ||Broad gauge rail &lt;br /&gt;
|-&lt;br /&gt;
|N ||Narrow gauge rail&lt;br /&gt;
|-&lt;br /&gt;
|n ||Secondary narrow gauge rail (e.g. when providing both metre and cape gauge, always use N in case of just one type of narrow gauge)&lt;br /&gt;
|-&lt;br /&gt;
|D ||Dual gauge rail, standard/broad gauge&lt;br /&gt;
|-&lt;br /&gt;
|d ||Dual gauge rail, standard/narrow gauge&lt;br /&gt;
|-&lt;br /&gt;
|M ||Monorail&lt;br /&gt;
|-&lt;br /&gt;
|L ||Magnetic Levitation&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Speed limit class [*X**] ===&lt;br /&gt;
The second position in the railtype label defines the speed limit class. These classes do not map to a fixed numeric value, but are used to define an internal speed limit order for the track set. This means that if your track set has two different speed limits for track types that are otherwise identical, you&#039;ll use letters A and B here. In case of three different speed limits, use A, B and C. In case your track set does not employ speed limits, always use A. Train sets do not care about the speed limit, and will always set the lowest speed class, i.e. A.&lt;br /&gt;
&lt;br /&gt;
This gives for instance the following options:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||no speed limits&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;OR&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||low speed&lt;br /&gt;
|-&lt;br /&gt;
|B ||high speed&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;OR&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||low speed&lt;br /&gt;
|-&lt;br /&gt;
|B ||medium speed&lt;br /&gt;
|-&lt;br /&gt;
|C ||high speed&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;etc.&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear:left;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The speed limit class may also be used for some advanced features of the label scheme, like specialized track types and eyecandy purposes. Be careful not to break the compatibility with other sets when using the speed limit class for these purposes.&lt;br /&gt;
&lt;br /&gt;
An example of a special use is rack rail. In the French set it is used to give rack rail engines a higher speed and TE than normal rail engines when used on rack rail. When defining trains with a special speed limit class, always allow a fallback to speed limit class A via the railtype table.&lt;br /&gt;
&lt;br /&gt;
An example of eyecandy use are urban tracks. These are a variation of regular tracks, but with concrete ground tiles to better match the urban environment. Train sets must not define vehicles for eyecandy classes. If you think you have special vehicles that should only run on the eyecandy class, it is &#039;&#039;not&#039;&#039; eyecandy but a separate track gauge/type.&lt;br /&gt;
&lt;br /&gt;
The following special and eyecandy classes have been defined so far:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Description !!Type !!Used by&lt;br /&gt;
|- &lt;br /&gt;
|A-H ||speed limits ||colspan=&amp;quot;2&amp;quot;|reserved&lt;br /&gt;
|- &lt;br /&gt;
|R ||rack rail ||special ||French Set Rails &lt;br /&gt;
|- &lt;br /&gt;
|S ||subterranean ||eyecandy ||Metro Track Set&lt;br /&gt;
|- &lt;br /&gt;
|U ||urban ||eyecandy ||Metro Track Set&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Axle load class [**X*] ===&lt;br /&gt;
The third position defines the axle weight limit. Heavy trains cannot run on tracks with a low axle weight limit; these trains need more expensive tracks with a heigher weight limit. There are five axle load classes &#039;&#039;&#039;A&#039;&#039;&#039; through &#039;&#039;&#039;E&#039;&#039;&#039;. &#039;&#039;&#039;A&#039;&#039;&#039; is for the lowest axle load limit, &#039;&#039;&#039;E&#039;&#039;&#039; for the highest. The exact axle load attached to each class is relative to the track gauge/type and trains in the set. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A train set should set the appropriate axle weight for each train via the railtype label, as to make the set work with track sets that do provide tracks with different weight limits, even if you don&#039;t care about it for your trainset. Split all vehicles of a certain track gauge/type into five groups of similar axle weight. The group with the lowest axle weights will get class &#039;&#039;&#039;A&#039;&#039;&#039;, the second lowest class &#039;&#039;&#039;B&#039;&#039;&#039;, etc. up to the group with the highest axle weights which will get class &#039;&#039;&#039;E&#039;&#039;&#039;. Do the same for the other track gauge/types if your train set has those.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A track set does not have to provide a dedicated track type for each axle weight limit. A track set that does not provide a dedicated track for each axle load class, must make sure to map all undefined axle load classes to a real railtype using property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]]. This way a train set can rely on all labels for all axle load classes being available. Example: if you only want to provide 2 axle load classes for standard gauge unelectrified with no speed limits, you can map SA&#039;&#039;&#039;A&#039;&#039;&#039;N + SA&#039;&#039;&#039;B&#039;&#039;&#039;N to SA&#039;&#039;&#039;C&#039;&#039;&#039;N and SA&#039;&#039;&#039;D&#039;&#039;&#039;N to SA&#039;&#039;&#039;E&#039;&#039;&#039;N if the cost difference between the two railtypes is high, or SA&#039;&#039;&#039;A&#039;&#039;&#039;N to SA&#039;&#039;&#039;B&#039;&#039;&#039;N and SA&#039;&#039;&#039;C&#039;&#039;&#039;N + SA&#039;&#039;&#039;D&#039;&#039;&#039;N to SA&#039;&#039;&#039;E&#039;&#039;&#039;N if the cost difference is low.&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t want to provide any axle load classes in your track set, it doesn&#039;t really matter what axle load class you choose for the track, as you&#039;ll be mapping all other classes to this track anyways. But the lowest or highest class are the obvious choice. Example: if your track set only provides narrow gauge unelectrified track with no speed limits and no axle load limits, you may use NA&#039;&#039;&#039;A&#039;&#039;&#039;N for the track label, and provide NA&#039;&#039;&#039;B&#039;&#039;&#039;N, NA&#039;&#039;&#039;C&#039;&#039;&#039;N, NA&#039;&#039;&#039;D&#039;&#039;&#039;N, NA&#039;&#039;&#039;E&#039;&#039;&#039;N in property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you need more than five axle load class, you may use lowercase letters for very low axle loads and continue the uppercase letters for very high axle loads. Be advised that your train set may not assume the existance of any other class than &#039;&#039;&#039;A&#039;&#039;&#039; through &#039;&#039;&#039;E&#039;&#039;&#039;, so when the range make sure to program your railtype table such that trains with such a class will fall back to class &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;E&#039;&#039;&#039;. If you make a track set with an extended range, be aware that not all train sets will define trains for these tracks. In general: only do this in case of a train set with a matching track set.&lt;br /&gt;
&lt;br /&gt;
For the lowercase letters, &#039;&#039;&#039;b&#039;&#039;&#039; is lower than &#039;&#039;&#039;a&#039;&#039;&#039;, so for increasing axle load limits: b &amp;lt; a &amp;lt; A &amp;lt; B &amp;lt; C etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that the axle load classes never map to a specific weight in tonnes. For that reason it does not make sense to add a numeric value for the axle load to the name of a track type or in the extended purchase info of a train. Instead use the relative expressions &#039;very low&#039;, &#039;low&#039;, &#039;medium&#039;, &#039;high&#039; and &#039;very high&#039; or use the class letters directly.&lt;br /&gt;
&lt;br /&gt;
If a guideline is needed for updating a set to use axle loads in a train set where they don&#039;t yet exist, the following might serve as a basic &amp;quot;generic&amp;quot; guideline...&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Indefinite !!Generic !!First usage&lt;br /&gt;
|-&lt;br /&gt;
|b ||Horse-drawn Wagonway ||1 metric tonne (1000kg) per axle || 1594&lt;br /&gt;
|-&lt;br /&gt;
|a ||Prototype Iron Rails ||1 metric tonne (1000kg) per axle  || 1799&lt;br /&gt;
|-&lt;br /&gt;
|_ ||Unspecified ||No limit at all ||    0&lt;br /&gt;
|-&lt;br /&gt;
|A ||Very Low ||10 metric tonnes (10000kg) per axle || 1828&lt;br /&gt;
|-&lt;br /&gt;
|B ||Low ||20 metric tonnes (20000kg) per axle || 1968&lt;br /&gt;
|-&lt;br /&gt;
|C ||Medium ||30 metric tonnes (30000kg) per axle ||~1978&lt;br /&gt;
|-&lt;br /&gt;
|D ||High ||40 metric tonnes (40000kg) per axle || 1988&lt;br /&gt;
|-&lt;br /&gt;
|E ||Very High ||50 metric tonnes (50000kg) per axle || 2008&lt;br /&gt;
|-&lt;br /&gt;
|F ||Future-proofing ||No limit per axle (update in 2030 or so?) ||~2028&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Energy source type class [***X] ===&lt;br /&gt;
The last position defines the energy source type class. This is split in generic energy source types like overhead wires and third rail and specialized types like alternating and direct current.&lt;br /&gt;
&lt;br /&gt;
A track set that only uses specialized types, should map the generic types to the most suitable specialized type in the set.&lt;br /&gt;
&lt;br /&gt;
A vehicle set that uses specialized types should define a generic type as fallback, via the railtype table. If such a fallback is omitted, please note that certain vehicles may be unavailable depending on track set loaded.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Generic energy type classes&lt;br /&gt;
|-&lt;br /&gt;
|N ||no electrification&lt;br /&gt;
|-&lt;br /&gt;
|E ||overhead wires/catenary electrification&lt;br /&gt;
|-&lt;br /&gt;
|3 ||3rd rail electrification&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Specialized energy type classes !!Vehicle set fallback&lt;br /&gt;
|-&lt;br /&gt;
|Z ||3rd rail and catenary electrification || 3 or E&lt;br /&gt;
|-&lt;br /&gt;
|4 ||4th rail electrification || 3&lt;br /&gt;
|-&lt;br /&gt;
|Y ||4th rail and catenary electrification || 4 or E&lt;br /&gt;
|-&lt;br /&gt;
|T ||[http://en.wikipedia.org/wiki/Three-phase_AC_railway_electrification three phase AC electrification] || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|D ||DC catenary electrification || E&lt;br /&gt;
|-&lt;br /&gt;
|d ||low voltage DC catenary electrification (only when D also used in set) || First A then E&lt;br /&gt;
|-&lt;br /&gt;
|A ||AC catenary electrification || E&lt;br /&gt;
|-&lt;br /&gt;
|a ||low voltage AC catenary electrification (only when A also used in set) || First A then E&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
If you want multi-voltage/current vehicles in your set (i.e. a train that can run on both AC and DC current), you have to define a dedicated railtype for those vehicles. Without the railtype, it&#039;s not possible to define vehicles with this property. If you only have vehicles that can run on either one type of voltage/current or on all types of voltage/current (e.g. a 2-system if you only have &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;D&#039;&#039;&#039; tracks, or a 4-system in case of all &#039;&#039;&#039;A&#039;&#039;&#039;, &#039;&#039;&#039;a&#039;&#039;&#039;, &#039;&#039;&#039;D&#039;&#039;&#039; and &#039;&#039;&#039;d&#039;&#039;&#039;), then use the generic class &#039;&#039;&#039;E&#039;&#039;&#039; for vehicles that should be able to run on all different voltage/currents. Also the track set needs to have one at least one railtype with class &#039;&#039;&#039;E&#039;&#039;&#039; defined.&lt;br /&gt;
&lt;br /&gt;
Note that if you want more than one type of multi-voltage/current, you&#039;ll quickly get a combinatory explosion of railtype labels, so plan carefully or do not attempt it. For every different multi-voltage/current vehicle type a dedicated railtype is needed. If you want all possible combinations, then you need to define an additional 8 classes. It is not recommended to make your train/track set this complicated.&lt;br /&gt;
&lt;br /&gt;
Example approach for a 4-system set, with trains that can run on either one or all systems:&lt;br /&gt;
* &#039;&#039;&#039;E&#039;&#039;&#039;: generic catenary-powered electric engines. &amp;quot;universal&amp;quot; [4-system] if any of &#039;&#039;&#039;D&#039;&#039;&#039;/&#039;&#039;&#039;d&#039;&#039;&#039;/&#039;&#039;&#039;A&#039;&#039;&#039;/&#039;&#039;&#039;a&#039;&#039;&#039; are defined.&lt;br /&gt;
* &#039;&#039;&#039;A&#039;&#039;&#039;: generic AC catenary electric engines. 25kV only if &#039;&#039;&#039;a&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;A&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;a&#039;&#039;&#039;: 15kV AC catenary electric engines. Only defined if &#039;&#039;&#039;A&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;a&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;D&#039;&#039;&#039;: generic DC catenary electric engines. 3kV if &#039;&#039;&#039;d&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;D&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;d&#039;&#039;&#039;: 1.5kV DC catenary electric engines. Only defined if &#039;&#039;&#039;D&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;D&#039;&#039;&#039; and &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;d&#039;&#039;&#039;.&lt;br /&gt;
For a 2-system set, you can simply drop &#039;&#039;&#039;a&#039;&#039;&#039; and &#039;&#039;&#039;d&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Standard labels: RAIL, ELRL, MONO, MGLV ===&lt;br /&gt;
It&#039;s not possible to undefine the standard railtypes RAIL, ELRL, MONO and MGLV. The game will always add those if there are vehicles defined for these track types. As a result, for a track set it&#039;s best not to ignore those standard labels, but rather work with them and define them in the set. If your track set does not have monorail or maglev tracks, there of course is no need to define those. But if your track set defines anything that resembles unelectrified or electrified rail, you should use the RAIL and ELRL labels. Matching labels from the above scheme will then be defined in property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
As vehicles from NewGRFs that do not use explicit railtypes will end up on these standard railtypes, you should use RAIL instead of whatever type could be regarded as the most commonly used unelectrified type, ELRL instead of the most commonly used electrified type and so on. The label according to this scheme is then set as an alternate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Summary for track sets ==&lt;br /&gt;
This section summarizes the above for track sets.&lt;br /&gt;
&lt;br /&gt;
; [X***] Track gauge and type class&lt;br /&gt;
* Define at least one track type for every track gauge/type class you want in your set.&lt;br /&gt;
* If you only provide tracks for one gauge/type, consider leaving some free railtypes so a player can load an additional set for some other type.&lt;br /&gt;
; [*X**] Speed limit class&lt;br /&gt;
* Make sure class A is always available, either directly or via an alternate label.&lt;br /&gt;
* Use only class A if you don&#039;t want speed limits;&lt;br /&gt;
* With speed limits, A is the lowest speed limit. Continue with B, C, etc. for increasing speed limits;&lt;br /&gt;
* The speed class can also be used to implement additional eye-candy track types, use letters higher in the alphabet for this.&lt;br /&gt;
; [**X*] Axle load class&lt;br /&gt;
* Always define all classes A through E for every track type class / electrification combination, either:&lt;br /&gt;
** Directly via a real railtype definition;&lt;br /&gt;
** Indirectly via the alternate rail type label list, property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
* Extend the predefined classes only if you also provide a train set that makes use of these.&lt;br /&gt;
; [***X] Energy source type class&lt;br /&gt;
* If your set only uses specialized classes, always map the generic classes to the closest matching specialized type via property 1D.&lt;br /&gt;
; Standard labels [RAIL, ELRL, MONO, MGLV]&lt;br /&gt;
* Always define the standard labels when possible, instead of what would be the equivalent of the standard label in this scheme.&lt;br /&gt;
* Map the equivalent labels from this scheme to the standard labels using property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
Or, put differently, for each gauge/type, select one or more energy source types. For each type/energy combination provide all axle load classes for the speed class &amp;quot;A&amp;quot;, either as a real type or as an alternate of another type. Provide more types with a different speed letter if you want to provide several different speeds or other eye-candy tracks.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Summary for train sets ==&lt;br /&gt;
This section summarizes the above for train sets.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; [X***] Track gauge and type class&lt;br /&gt;
* Use the track type class that matches the vehicle;&lt;br /&gt;
* Define a fallback type via the railtype table in case you want the vehicle to be available on a different track if no matching track set is loaded.&lt;br /&gt;
** Specialized subtypes like &amp;quot;n&amp;quot; might not always be available. If you want those vehicles to be still available then, fall back the the generic class (e.g. &amp;quot;N&amp;quot;).&lt;br /&gt;
; [*X**] Speed limit class &lt;br /&gt;
* Always use class A for every vehicle.&lt;br /&gt;
; [**X*] Axle load class&lt;br /&gt;
* Use all classes A through E according to the maximum axle weight of the vehicle.&lt;br /&gt;
* Extend the predefined classes only if you also provide a track set that makes use of these;&lt;br /&gt;
** When extending the predefined classes A through E, define a fallback type via the railtype table in case you want the vehicle to be available if no matching track set is loaded.&lt;br /&gt;
; [***X] Energy source type class&lt;br /&gt;
* Use the energy source type class that matches the vehicle;&lt;br /&gt;
* When using specialized classes, define a fallback type via the railtype table in case you want the vehicle to be available if no matching track set is loaded.&lt;br /&gt;
; Standard labels [RAIL, ELRL, MONO, MGLV]&lt;br /&gt;
* Define a fallback type to the standard labels via the railtype table in case you want the vehicle to be available on the standard tracks if no matching track set is loaded.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Be as specific as you want when selecting the railtype, it is the job of the track set to select a playable, reduced subset out of all possible type combinations.&lt;br /&gt;
&lt;br /&gt;
== In case you&#039;re not convinced by this scheme ==&lt;br /&gt;
Adopting this scheme gives the player freedom to use any track set in combination with any train set that follow the scheme. &lt;br /&gt;
&lt;br /&gt;
This means that you can make your train set compatible with track sets that provide axle load classes, and track sets that provide speed limits, and at the same time with track sets that provide none of this. This way, the player can decide to play with or without axle load classes, or with or without speed limits, simply by loading a track set that does or does not provide these features.&lt;br /&gt;
&lt;br /&gt;
And for your track set, it means that you can make it as simple or as complicated as you want (within the 64 track type limit), while not having to worry about compatibility with train sets.&lt;br /&gt;
&lt;br /&gt;
Still not convinced? Feel free to use railtype labels of your own, but know that you will likely come to regret that at some point in the future.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Forum topic==&lt;br /&gt;
If you want to discuss the standardized railtype scheme or have any questions about it, you can visit [http://www.tt-forums.net/viewtopic.php?t=59379 the forum topic].&lt;br /&gt;
&lt;br /&gt;
==&amp;quot;Innsbruck 2022 Convention&amp;quot; for partial compliance==&lt;br /&gt;
&lt;br /&gt;
This is really esoteric, but eh. It was the product of long discussion / debate / argument / reasoning between grf authors.&lt;br /&gt;
&lt;br /&gt;
1. The Standardized Railtype Scheme &#039;&#039;&#039;is a useful tool&#039;&#039;&#039; for providing reliable compatibility between train grfs and railtype grfs.&lt;br /&gt;
&lt;br /&gt;
2. The &#039;&#039;&#039;axle load class&#039;&#039;&#039; in the scheme presents a number of issues for compliance.&lt;br /&gt;
&lt;br /&gt;
2.1. Over 10 years since the scheme was standardised, not many train grfs implement multiple axle load classes &#039;&#039;&#039;as required by the scheme&#039;&#039;&#039;.  Known examples that &#039;&#039;&#039;do&#039;&#039;&#039; comply include Dutch Train Set, French Narrow Gauge Trains, and Finnish Trains.&lt;br /&gt;
&lt;br /&gt;
2.2. Elements of the axle load rules have proven hard to interpret.  For example:&lt;br /&gt;
&lt;br /&gt;
* is it compliant to use &#039;&#039;fewer&#039;&#039; than 5 classes in a train grf?  There is a lack of consensus on this.&lt;br /&gt;
* axle load is only one of many factors that govern whether a vehicle is compatible with a route, for example loading gauge, minimum curve, signalling types etc&lt;br /&gt;
&lt;br /&gt;
2.3. Meanwhile &#039;&#039;multiple existing train grfs use class &#039;&#039;A&#039;&#039; for the axle load for all trains&#039;&#039; (except where relying on default railtypes such as RAIL and ELRL).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3. The Innsbruck 2022 Convention uses class &#039;&#039;A&#039;&#039; for axle load for &#039;&#039;&#039;all&#039;&#039;&#039; trains in a train grf (except where relying on default railtypes such as RAIL and ELRL).&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is &#039;&#039;&#039;not&#039;&#039;&#039; fully compliant with the Standardized Railtype Scheme and does not claim to be.&lt;br /&gt;
&lt;br /&gt;
However train grfs using the Innsbruck 2022 Convention are &#039;&#039;broadly compatible&#039;&#039; with railtype grfs using the Standardized Railtype Scheme.  &lt;br /&gt;
&lt;br /&gt;
Obligatory XKCD link about &#039;standards&#039;: https://xkcd.com/927/&lt;br /&gt;
&lt;br /&gt;
===Known issues===&lt;br /&gt;
&lt;br /&gt;
Known problems are that trains using only class &#039;A&#039; may limit the ability of railtype grf authors to achieve their design goals for separating railtypes by axle load.  &lt;br /&gt;
But on reflection, it can be seen that a train grf might not be able to provide a broad enough range of vehicles to cover at least 5 axle load classes.&lt;br /&gt;
&lt;br /&gt;
3.1. The Innsbruck 2022 Convention is &#039;&#039;&#039;not&#039;&#039;&#039; appropriate for train grf authors who wish to provide more than one axle load class.&lt;br /&gt;
&lt;br /&gt;
3.2. The Innsbruck 2022 Convention treats the meaning of class &#039;&#039;A&#039;&#039; as &#039;&#039;undefined&#039;&#039;, &#039;&#039;ignored&#039;&#039; or &#039;&#039;compatible with most restricted railtype&#039;&#039; for axle load.  &lt;br /&gt;
&lt;br /&gt;
Axle load class &#039;&#039;A&#039;&#039; &#039;&#039;&#039;cannot&#039;&#039;&#039; be safely interpreted as &#039;&#039;universal&#039;&#039; because from the perspective of a railtype grf &#039;&#039;A&#039;&#039; is &#039;&#039;most restricted railtype&#039;&#039;, where &#039;&#039;universal&#039;&#039; is better represented as &#039;&#039;least restricted railtype&#039;&#039;. Depending how many axle load classes are in use by the railtype grf, this could be class &#039;&#039;B&#039;&#039;, &#039;&#039;C&#039;&#039;, &#039;&#039;D&#039;&#039;, &#039;&#039;E&#039;&#039; etc.  To illustrate this issue, take the following scenario&lt;br /&gt;
&lt;br /&gt;
* railtype grf defines axle loads &#039;&#039;A&#039;&#039; to &#039;&#039;E&#039;&#039;. In this case the railtype grf author intends that &#039;&#039;A&#039;&#039; is compatible with the smallest range of vehicles, &#039;&#039;E&#039;&#039; is compatible with the largest range of vehicles, and &#039;&#039;B&#039;&#039;, &#039;&#039;C&#039;&#039; and &#039;&#039;D&#039;&#039; are compatible with some intermediate ranges of vehicles&lt;br /&gt;
* but the vehicle grf author has defined all vehicles to be axle load &#039;&#039;A&#039;&#039; in an attempt to express this vehicle is &#039;&#039;universal&#039;&#039;.  The result in the game is that an identical range of vehicles will be compatible with railtypes &#039;&#039;A&#039;&#039; to &#039;&#039;E&#039;&#039;.  &lt;br /&gt;
&lt;br /&gt;
This is clearly &#039;&#039;&#039;not&#039;&#039;&#039; the intended outcome of the railtype author. But nor is it clear within the spec that the vehicle author has particularly done anything wrong. &lt;br /&gt;
&lt;br /&gt;
It &#039;&#039;would&#039;&#039; be possible to use railtype availability testing to adjust the vehicle property 05 (track_type) to fit the highest defined axle load (&#039;&#039;E&#039;&#039; in this example case), but this is not insignificant work, and it&#039;s unlikely to be widely adopted by vehicle grf authors.  Nor would this solution achieve &#039;&#039;universal&#039;&#039; as all vehicles in vehicle grf then would be incompatible with types &#039;&#039;A&#039;&#039; through &#039;&#039;D&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
3.3. When the Innsbruck 2022 Convention is used, this &#039;&#039;&#039;does not prevent&#039;&#039;&#039; a train grf being extended in some future release to achieve full compliance with Standardized Railtype Scheme. &#039;&#039;That choice remains with train grf authors&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
3.4. If 2012 could be revisited, providing an optional &#039;&#039;_&#039;&#039; axle load class in the Standardized Railtype Scheme for &#039;&#039;undefined&#039;&#039; would have been preferable, but as of 2022, &#039;&#039;A&#039;&#039; is already widely used for this purpose, and time travel is not known to be possible.&lt;br /&gt;
&lt;br /&gt;
==Extended multivoltage support addition==&lt;br /&gt;
These are extensions to the energy source type class currently supported by SETS and xUSSR Rails which allow trainsets to code trains which are limited to a certain selection of voltages. As stated in the energy source type class section this might not be of use for all sets, as such it is optional but still recommended for trainsets for ideal functionality with tracksets which support the extended labels.&lt;br /&gt;
{|&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Specialized energy type classes !!Vehicle set fallback&lt;br /&gt;
|-&lt;br /&gt;
|* ||Equivilent to A, a, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|&#039; ||Equivilent to A, a and D || E&lt;br /&gt;
|-&lt;br /&gt;
|^ ||Equivilent to A, a and d || E&lt;br /&gt;
|-&lt;br /&gt;
|_ ||Equivilent to A, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
|, ||Equivilent to a, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|$ ||Equivilent to A and a  || First A then E&lt;br /&gt;
|-&lt;br /&gt;
|= ||Equivilent to D and d  || First D then E&lt;br /&gt;
|-&lt;br /&gt;
|) ||Equivilent to A and D  || E&lt;br /&gt;
|-&lt;br /&gt;
|( ||Equivilent to A and d  || E&lt;br /&gt;
|-&lt;br /&gt;
|] ||Equivilent to a and D  || E&lt;br /&gt;
|-&lt;br /&gt;
|[ ||Equivilent to a and d  || E&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Possible additions==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Track type/gauge&lt;br /&gt;
|-&lt;br /&gt;
|_ ||Universal &amp;quot;cheat&amp;quot; rail; ALWAYS add &amp;quot;_A_-&amp;quot; and &amp;quot;_A_N&amp;quot; to EVERY [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]] (as well as the equivalent electrified/pneumatic railtype that is powered on your electrified/pneumatic railtype to support it if you are making a new railtype set, older sets can be covered by fix or patch grfs) and &amp;quot;_A_t&amp;quot; to EVERY [[NML:Railtypes#Railtype_properties|powered_railtype_list (NML)]]&lt;br /&gt;
|-&lt;br /&gt;
|0 ||(A number zero, not a letter &amp;quot;Oh&amp;quot;) No track, eyecandy-use only&lt;br /&gt;
|-&lt;br /&gt;
|U ||[https://perma.cc/93VE-8JQZ &amp;quot;Ukrainian monorail&amp;quot; or Şaropoí̈zd (Шаропоїзд)], a u-shaped concrete &amp;quot;monorail trench&amp;quot; from 1920&#039;s Soviet Union; see [https://www.tt-forums.net/viewtopic.php?f=26&amp;amp;t=47432 the Yarmanchuk Express] for graphics&lt;br /&gt;
|-&lt;br /&gt;
|1 ||Early Monorail; See [https://perma.cc/6BVS-2P2X here] and [https://perma.cc/VCG2-ATUA here]&lt;br /&gt;
|-&lt;br /&gt;
|G ||Gyrail; [https://en.wikipedia.org/wiki/Gyro_monorail Gyro monorail/Gyroscopic monorail/Gyro-stabilized monorail] for description and IRL example, and [https://wikimon.net/Trailmon here] ([https://web.archive.org/web/20240227205547/https://wikimon.net/Trailmon archived]) for good fictional examples&lt;br /&gt;
|-&lt;br /&gt;
|m ||Minimum gauge rail; [https://en.wikipedia.org/wiki/Minimum-gauge_railway 15 in (381 mm), 400 mm (15+3⁄4 in), 16 in (406 mm), 18 in (457 mm), 19 in (483 mm), 500 mm (19+3⁄4 in) or 20 in (508 mm)]&lt;br /&gt;
|-&lt;br /&gt;
|n ||600mm &amp;quot;Decauville&amp;quot; or &amp;quot;Feldsbahn&amp;quot;, formerly labelled &amp;quot;NG60&amp;quot; before standardization; the most common narrow gauge track type in OpenTTD other than metre gauge, 600mm gauge is thus ideal for taking up the &amp;quot;n&amp;quot; gauge, though this is an ultimately optional distinction&lt;br /&gt;
|-&lt;br /&gt;
|7 ||750mm, Bosnian gauge (760 mm), and 762mm; all start with 7 and are close in size&lt;br /&gt;
|-&lt;br /&gt;
|3 ||Swedish 3 foot (891 mm), 900mm, 3 foot (914 mm) and Italian Metre (950mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|R ||Metre gauge; potentially compatible with base tramtype &amp;quot;RABN&amp;quot;, most early tramways were metre gauge&lt;br /&gt;
|-&lt;br /&gt;
|4 ||4 foot gauge (1219 mm), and possibly 4&#039;6&amp;quot; in. (1372 mm) if standardization is needed for 1372mm&lt;br /&gt;
|-&lt;br /&gt;
|s ||Scotch gauge (1372 mm)&lt;br /&gt;
|-&lt;br /&gt;
|S ||Standard gauge; already implemented in original standardized railtype scheme, but could include near-standard (1432 mm) as well as existing true standard (1435 mm) and is also potentially compatible with the SABN tramtype&lt;br /&gt;
|-&lt;br /&gt;
|X ||Omni-gauge rail (for at-grade multi-gauge crossings and stations); ultrabroad/secondary broad/primary broad/standard/primary narrow/secondary narrow gauge&lt;br /&gt;
|-&lt;br /&gt;
|x ||Multi-gauge rail (for at-grade multi-gauge crossings and stations); secondary broad/primary broad/standard/primary narrow/secondary narrow&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;+&amp;lt;/nowiki&amp;gt; ||Quad-gauge (Four-gauge) rail (for at-grade multi-gauge crossings and stations); secondary broad/primary broad/standard/primary narrow&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt; ||Four-gauge rail (for at-grade multi-gauge crossings and stations); primary broad/standard/primary narrow/secondary narrow&lt;br /&gt;
|-&lt;br /&gt;
|b ||Broad gauge rail - As broad gauge is a rare tracktype, it may still be feasible to cement B and b as broad gauges of two differing sizes, but the rarity among gauges in the real world would need to match; Italian (1445 mm) and Dresden (1450 mm) gauges may be better grouped here&lt;br /&gt;
|-&lt;br /&gt;
|t ||Leipzig trams (1458 mm) and Greater Toronto Area streetcars (1495 mm)&lt;br /&gt;
|-&lt;br /&gt;
|5 ||1520mm and 5 foot (1524 mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|V ||Pennsylvanian (1581 mm and 1588 mm) and Australian &amp;quot;Victorian&amp;quot; (1600 mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|6 ||6 foot (1829 mm) broad gauge&lt;br /&gt;
|-&lt;br /&gt;
|g ||Brunel&#039;s Great Western Railway gauge (2140 mm)&lt;br /&gt;
|-&lt;br /&gt;
|B ||Biggest Broad gauge rail - As broad gauge is a rare tracktype, and the variation in common real life track types too wide, it may be desirable to cement B and b as broad gauges of two differing sizes; With no real life examples that match the usage frequency of &amp;quot;B&amp;quot;, the gauge might best draw inspiration from the infamous [https://en.wikipedia.org/wiki/Breitspurbahn Breitspurbahn] (3000 mm) and [https://perma.cc/KQ2Z-5RCR the never-built vehicles designed for it], or from the [https://en.wikipedia.org/wiki/Brighton_and_Rottingdean_Seashore_Electric_Railway Brighton &amp;amp; Rottingdean Seashore Electric Railway] (18 ft/5,486 mm) &lt;br /&gt;
|-&lt;br /&gt;
|L ||Maglevs that have a u-shaped track&lt;br /&gt;
|-&lt;br /&gt;
|T ||Maglevs that have a monorail track&lt;br /&gt;
|-&lt;br /&gt;
|F ||Flightrail; A [https://web.archive.org/web/20231213122530/http://www.flightrail.com/ system capable of high speeds and steep hill grades] that uses a pneumatic pipe for propulsion (see &amp;quot;P&amp;quot; under energy sources), and &#039;&#039;wheels pointed inwards at a 45-degree angle&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
It might be preferred to instead use/keep &amp;quot;B&amp;quot; for &amp;quot;all (current) broad gauges&amp;quot; (mostly Victorian gauge) instead using lowercase &amp;quot;b&amp;quot; for Brunel/GWR broad gauge. This wouldn&#039;t be to different from narrow gauge since the lesser used ones are lowercase and fallback to the uppercase ones.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Electrification !!Fallback !!Notes&lt;br /&gt;
|-&lt;br /&gt;
|1 ||Unspecified monorail electrification |||MONO (the whole label) ||&lt;br /&gt;
|-&lt;br /&gt;
|S ||Maglevs that use a synchronous linear motor ||N/A ||&lt;br /&gt;
|-&lt;br /&gt;
|I ||Maglevs that use a linear induction motor ||MGLV (the whole label) ||&lt;br /&gt;
|-&lt;br /&gt;
|V ||Vactrains/Hyperloop ||t, then I, then MGLV (the whole label) ||&lt;br /&gt;
|-&lt;br /&gt;
|t ||&amp;quot;Universal custom tunnel&amp;quot; (for electrified sub-surface rail tunnels) ||c, then p, then 7, then U (mandatory) ||&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt; ||Universal energy type (&#039;&#039;not&#039;&#039; meant to replace &amp;quot;***N&amp;quot;; use for vehicles such as driving cabs which cannot move under their own power regardless, if desired) ||N/A (Be sure to put &amp;quot;***E&amp;quot; in the [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]] of a &amp;quot;***-&amp;quot; label) ||(&#039;&#039;Do not give a fallback or use for railtypes, this is for unpowered &amp;quot;locomotives&amp;quot; only!&#039;&#039;)&lt;br /&gt;
|-&lt;br /&gt;
|5 ||750v DC Outer 3rd Rail (&amp;quot;MTRO&amp;quot; or &amp;quot;SA_3&amp;quot;) and 630v DC Inner 3rd/4th Rail; a total of 5 rails (2 for wheels, 3 for electricity), plausible in the London Underground network ||3 or 4 ||&lt;br /&gt;
|-&lt;br /&gt;
|U ||750v DC Outer 3rd Rail (&amp;quot;MTRO&amp;quot; or &amp;quot;SA_3&amp;quot;), 630v DC Inner 3rd/4th Rail and universal catenary (SAEE); a total of 5 rails (2 for wheels, 3 for electricity) if only one gauge, plausible in the London Underground network and an &amp;quot;ultimate&amp;quot; dual rail electrification without being a cheat (make it expensive or toggle-able?) as SAEU or as XAEU (universal dual rail electrified tracks) ||E ||&lt;br /&gt;
|-&lt;br /&gt;
|7 ||750v DC Outer 3rd Rail (&amp;quot;MTRO&amp;quot; or &amp;quot;SA_3&amp;quot;), 630v DC Inner 3rd/4th Rail, Three-phase AC (SA_T) 3rd/4th rail &amp;amp; catenary, and universal catenary (SA_E); a total of 7 rails (2 for wheels, 5 for electricity) if only one gauge, a truly universal dual rail electrification without being impossible (make it VERY expensive or toggle-able so it isn&#039;t cheat-y?) as SAE7, XAE7 or even as XRE7 (universal electrified rack-equipped dual rail tracks) ||U ||&lt;br /&gt;
|-&lt;br /&gt;
|P ||Pneumatic tube with physical piston slit, or closed pneumatic tube with magnetic piston (i.e. that used by [https://web.archive.org/web/20231213122530/http://www.flightrail.com/ Flightrail]) ||N/A ||&lt;br /&gt;
|-&lt;br /&gt;
|p ||Pneumatic and universal electrical power ||P or 7 (Be sure to put &amp;quot;***_&amp;quot; and ***P&amp;quot; in the [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]] of a &amp;quot;***p&amp;quot; label) ||&lt;br /&gt;
|-&lt;br /&gt;
|c ||Cheat electrification type; use solely for _R_c railtype ||p, then 7, then U, then E, then N, then &amp;quot;SA_-&amp;quot; (the whole label) ||&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Lurkmore</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=Standardized_Railtype_Scheme&amp;diff=4750</id>
		<title>Standardized Railtype Scheme</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=Standardized_Railtype_Scheme&amp;diff=4750"/>
		<updated>2024-02-28T07:18:06Z</updated>

		<summary type="html">&lt;p&gt;Lurkmore: /* Axle load class [**X*] */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This railtype label scheme aims to bring order to the uncontrolled growth of railtype labels. It groups the rail types into what matters from a technical perspective. The scheme provides a standardized way of defining railtype labels, based on track gauge and type, speed class, allowable axle weight and electrification type.&lt;br /&gt;
&lt;br /&gt;
It is the explicit intent of this scheme to decouple track sets from vehicle sets to facilitate easy mixing. This way the player can select a track set of choice to go with a train set of choice. It allows the player to play with or without axle load classes, or with or without speed limit classes, simply by loading a track set that does or does not provide these features. In some cases it will also be possible to combine niche track sets, for instance a standard gauge track set with a narrow gauge and a metro track set.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== The Label Scheme ==&lt;br /&gt;
A railtype label consists of four characters. In this scheme, each position has a different purpose:&lt;br /&gt;
# Track gauge and type class (e.g. standard gauge rail, narrow gauge rail, monorail)&lt;br /&gt;
# Speed limit class&lt;br /&gt;
# Axle load class (maximum allowed axle weight for this track)&lt;br /&gt;
# Energy source type class&lt;br /&gt;
&lt;br /&gt;
In the next sections, each of the four positions will be explained.&lt;br /&gt;
&lt;br /&gt;
=== Track gauge and type class [X***] ===&lt;br /&gt;
The first position in the railtype label defines track gauge and/or track type class. The following classes are currently defined:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Track type/gauge&lt;br /&gt;
|- &lt;br /&gt;
|S ||Standard gauge rail&lt;br /&gt;
|-&lt;br /&gt;
|B ||Broad gauge rail &lt;br /&gt;
|-&lt;br /&gt;
|N ||Narrow gauge rail&lt;br /&gt;
|-&lt;br /&gt;
|n ||Secondary narrow gauge rail (e.g. when providing both metre and cape gauge, always use N in case of just one type of narrow gauge)&lt;br /&gt;
|-&lt;br /&gt;
|D ||Dual gauge rail, standard/broad gauge&lt;br /&gt;
|-&lt;br /&gt;
|d ||Dual gauge rail, standard/narrow gauge&lt;br /&gt;
|-&lt;br /&gt;
|M ||Monorail&lt;br /&gt;
|-&lt;br /&gt;
|L ||Magnetic Levitation&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Speed limit class [*X**] ===&lt;br /&gt;
The second position in the railtype label defines the speed limit class. These classes do not map to a fixed numeric value, but are used to define an internal speed limit order for the track set. This means that if your track set has two different speed limits for track types that are otherwise identical, you&#039;ll use letters A and B here. In case of three different speed limits, use A, B and C. In case your track set does not employ speed limits, always use A. Train sets do not care about the speed limit, and will always set the lowest speed class, i.e. A.&lt;br /&gt;
&lt;br /&gt;
This gives for instance the following options:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||no speed limits&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;OR&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||low speed&lt;br /&gt;
|-&lt;br /&gt;
|B ||high speed&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;OR&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||low speed&lt;br /&gt;
|-&lt;br /&gt;
|B ||medium speed&lt;br /&gt;
|-&lt;br /&gt;
|C ||high speed&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;etc.&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear:left;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The speed limit class may also be used for some advanced features of the label scheme, like specialized track types and eyecandy purposes. Be careful not to break the compatibility with other sets when using the speed limit class for these purposes.&lt;br /&gt;
&lt;br /&gt;
An example of a special use is rack rail. In the French set it is used to give rack rail engines a higher speed and TE than normal rail engines when used on rack rail. When defining trains with a special speed limit class, always allow a fallback to speed limit class A via the railtype table.&lt;br /&gt;
&lt;br /&gt;
An example of eyecandy use are urban tracks. These are a variation of regular tracks, but with concrete ground tiles to better match the urban environment. Train sets must not define vehicles for eyecandy classes. If you think you have special vehicles that should only run on the eyecandy class, it is &#039;&#039;not&#039;&#039; eyecandy but a separate track gauge/type.&lt;br /&gt;
&lt;br /&gt;
The following special and eyecandy classes have been defined so far:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Description !!Type !!Used by&lt;br /&gt;
|- &lt;br /&gt;
|A-H ||speed limits ||colspan=&amp;quot;2&amp;quot;|reserved&lt;br /&gt;
|- &lt;br /&gt;
|R ||rack rail ||special ||French Set Rails &lt;br /&gt;
|- &lt;br /&gt;
|S ||subterranean ||eyecandy ||Metro Track Set&lt;br /&gt;
|- &lt;br /&gt;
|U ||urban ||eyecandy ||Metro Track Set&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Axle load class [**X*] ===&lt;br /&gt;
The third position defines the axle weight limit. Heavy trains cannot run on tracks with a low axle weight limit; these trains need more expensive tracks with a heigher weight limit. There are five axle load classes &#039;&#039;&#039;A&#039;&#039;&#039; through &#039;&#039;&#039;E&#039;&#039;&#039;. &#039;&#039;&#039;A&#039;&#039;&#039; is for the lowest axle load limit, &#039;&#039;&#039;E&#039;&#039;&#039; for the highest. The exact axle load attached to each class is relative to the track gauge/type and trains in the set. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A train set should set the appropriate axle weight for each train via the railtype label, as to make the set work with track sets that do provide tracks with different weight limits, even if you don&#039;t care about it for your trainset. Split all vehicles of a certain track gauge/type into five groups of similar axle weight. The group with the lowest axle weights will get class &#039;&#039;&#039;A&#039;&#039;&#039;, the second lowest class &#039;&#039;&#039;B&#039;&#039;&#039;, etc. up to the group with the highest axle weights which will get class &#039;&#039;&#039;E&#039;&#039;&#039;. Do the same for the other track gauge/types if your train set has those.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A track set does not have to provide a dedicated track type for each axle weight limit. A track set that does not provide a dedicated track for each axle load class, must make sure to map all undefined axle load classes to a real railtype using property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]]. This way a train set can rely on all labels for all axle load classes being available. Example: if you only want to provide 2 axle load classes for standard gauge unelectrified with no speed limits, you can map SA&#039;&#039;&#039;A&#039;&#039;&#039;N + SA&#039;&#039;&#039;B&#039;&#039;&#039;N to SA&#039;&#039;&#039;C&#039;&#039;&#039;N and SA&#039;&#039;&#039;D&#039;&#039;&#039;N to SA&#039;&#039;&#039;E&#039;&#039;&#039;N if the cost difference between the two railtypes is high, or SA&#039;&#039;&#039;A&#039;&#039;&#039;N to SA&#039;&#039;&#039;B&#039;&#039;&#039;N and SA&#039;&#039;&#039;C&#039;&#039;&#039;N + SA&#039;&#039;&#039;D&#039;&#039;&#039;N to SA&#039;&#039;&#039;E&#039;&#039;&#039;N if the cost difference is low.&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t want to provide any axle load classes in your track set, it doesn&#039;t really matter what axle load class you choose for the track, as you&#039;ll be mapping all other classes to this track anyways. But the lowest or highest class are the obvious choice. Example: if your track set only provides narrow gauge unelectrified track with no speed limits and no axle load limits, you may use NA&#039;&#039;&#039;A&#039;&#039;&#039;N for the track label, and provide NA&#039;&#039;&#039;B&#039;&#039;&#039;N, NA&#039;&#039;&#039;C&#039;&#039;&#039;N, NA&#039;&#039;&#039;D&#039;&#039;&#039;N, NA&#039;&#039;&#039;E&#039;&#039;&#039;N in property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you need more than five axle load class, you may use lowercase letters for very low axle loads and continue the uppercase letters for very high axle loads. Be advised that your train set may not assume the existance of any other class than &#039;&#039;&#039;A&#039;&#039;&#039; through &#039;&#039;&#039;E&#039;&#039;&#039;, so when the range make sure to program your railtype table such that trains with such a class will fall back to class &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;E&#039;&#039;&#039;. If you make a track set with an extended range, be aware that not all train sets will define trains for these tracks. In general: only do this in case of a train set with a matching track set.&lt;br /&gt;
&lt;br /&gt;
For the lowercase letters, &#039;&#039;&#039;b&#039;&#039;&#039; is lower than &#039;&#039;&#039;a&#039;&#039;&#039;, so for increasing axle load limits: b &amp;lt; a &amp;lt; A &amp;lt; B &amp;lt; C etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that the axle load classes never map to a specific weight in tonnes. For that reason it does not make sense to add a numeric value for the axle load to the name of a track type or in the extended purchase info of a train. Instead use the relative expressions &#039;very low&#039;, &#039;low&#039;, &#039;medium&#039;, &#039;high&#039; and &#039;very high&#039; or use the class letters directly.&lt;br /&gt;
&lt;br /&gt;
If a guideline is needed for updating a set to use axle loads in a train set where they don&#039;t yet exist, the following might serve as a basic &amp;quot;generic&amp;quot; guideline...&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Indefinite !!Generic !!First usage&lt;br /&gt;
|-&lt;br /&gt;
|b ||Horse-drawn Wagonway ||1 metric tonne (1000kg) per axle ||1594&lt;br /&gt;
|-&lt;br /&gt;
|a ||Prototype Iron Rails ||1 metric tonne (1000kg) per axle  ||1799&lt;br /&gt;
|-&lt;br /&gt;
|_ ||Unspecified ||No limit at all ||0&lt;br /&gt;
|-&lt;br /&gt;
|A ||Very Low ||10 metric tonnes (10000kg) per axle ||1828&lt;br /&gt;
|-&lt;br /&gt;
|B ||Low ||20 metric tonnes (20000kg) per axle ||1968&lt;br /&gt;
|-&lt;br /&gt;
|C ||Medium ||30 metric tonnes (30000kg) per axle ||~1978&lt;br /&gt;
|-&lt;br /&gt;
|D ||High ||40 metric tonnes (40000kg) per axle ||1988&lt;br /&gt;
|-&lt;br /&gt;
|E ||Very High ||50 metric tonnes (50000kg) per axle ||2008&lt;br /&gt;
|-&lt;br /&gt;
|F ||Future-proofing ||No limit per axle (update in 2030 or so?) ||~2028&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Energy source type class [***X] ===&lt;br /&gt;
The last position defines the energy source type class. This is split in generic energy source types like overhead wires and third rail and specialized types like alternating and direct current.&lt;br /&gt;
&lt;br /&gt;
A track set that only uses specialized types, should map the generic types to the most suitable specialized type in the set.&lt;br /&gt;
&lt;br /&gt;
A vehicle set that uses specialized types should define a generic type as fallback, via the railtype table. If such a fallback is omitted, please note that certain vehicles may be unavailable depending on track set loaded.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Generic energy type classes&lt;br /&gt;
|-&lt;br /&gt;
|N ||no electrification&lt;br /&gt;
|-&lt;br /&gt;
|E ||overhead wires/catenary electrification&lt;br /&gt;
|-&lt;br /&gt;
|3 ||3rd rail electrification&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Specialized energy type classes !!Vehicle set fallback&lt;br /&gt;
|-&lt;br /&gt;
|Z ||3rd rail and catenary electrification || 3 or E&lt;br /&gt;
|-&lt;br /&gt;
|4 ||4th rail electrification || 3&lt;br /&gt;
|-&lt;br /&gt;
|Y ||4th rail and catenary electrification || 4 or E&lt;br /&gt;
|-&lt;br /&gt;
|T ||[http://en.wikipedia.org/wiki/Three-phase_AC_railway_electrification three phase AC electrification] || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|D ||DC catenary electrification || E&lt;br /&gt;
|-&lt;br /&gt;
|d ||low voltage DC catenary electrification (only when D also used in set) || First A then E&lt;br /&gt;
|-&lt;br /&gt;
|A ||AC catenary electrification || E&lt;br /&gt;
|-&lt;br /&gt;
|a ||low voltage AC catenary electrification (only when A also used in set) || First A then E&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
If you want multi-voltage/current vehicles in your set (i.e. a train that can run on both AC and DC current), you have to define a dedicated railtype for those vehicles. Without the railtype, it&#039;s not possible to define vehicles with this property. If you only have vehicles that can run on either one type of voltage/current or on all types of voltage/current (e.g. a 2-system if you only have &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;D&#039;&#039;&#039; tracks, or a 4-system in case of all &#039;&#039;&#039;A&#039;&#039;&#039;, &#039;&#039;&#039;a&#039;&#039;&#039;, &#039;&#039;&#039;D&#039;&#039;&#039; and &#039;&#039;&#039;d&#039;&#039;&#039;), then use the generic class &#039;&#039;&#039;E&#039;&#039;&#039; for vehicles that should be able to run on all different voltage/currents. Also the track set needs to have one at least one railtype with class &#039;&#039;&#039;E&#039;&#039;&#039; defined.&lt;br /&gt;
&lt;br /&gt;
Note that if you want more than one type of multi-voltage/current, you&#039;ll quickly get a combinatory explosion of railtype labels, so plan carefully or do not attempt it. For every different multi-voltage/current vehicle type a dedicated railtype is needed. If you want all possible combinations, then you need to define an additional 8 classes. It is not recommended to make your train/track set this complicated.&lt;br /&gt;
&lt;br /&gt;
Example approach for a 4-system set, with trains that can run on either one or all systems:&lt;br /&gt;
* &#039;&#039;&#039;E&#039;&#039;&#039;: generic catenary-powered electric engines. &amp;quot;universal&amp;quot; [4-system] if any of &#039;&#039;&#039;D&#039;&#039;&#039;/&#039;&#039;&#039;d&#039;&#039;&#039;/&#039;&#039;&#039;A&#039;&#039;&#039;/&#039;&#039;&#039;a&#039;&#039;&#039; are defined.&lt;br /&gt;
* &#039;&#039;&#039;A&#039;&#039;&#039;: generic AC catenary electric engines. 25kV only if &#039;&#039;&#039;a&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;A&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;a&#039;&#039;&#039;: 15kV AC catenary electric engines. Only defined if &#039;&#039;&#039;A&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;a&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;D&#039;&#039;&#039;: generic DC catenary electric engines. 3kV if &#039;&#039;&#039;d&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;D&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;d&#039;&#039;&#039;: 1.5kV DC catenary electric engines. Only defined if &#039;&#039;&#039;D&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;D&#039;&#039;&#039; and &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;d&#039;&#039;&#039;.&lt;br /&gt;
For a 2-system set, you can simply drop &#039;&#039;&#039;a&#039;&#039;&#039; and &#039;&#039;&#039;d&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Standard labels: RAIL, ELRL, MONO, MGLV ===&lt;br /&gt;
It&#039;s not possible to undefine the standard railtypes RAIL, ELRL, MONO and MGLV. The game will always add those if there are vehicles defined for these track types. As a result, for a track set it&#039;s best not to ignore those standard labels, but rather work with them and define them in the set. If your track set does not have monorail or maglev tracks, there of course is no need to define those. But if your track set defines anything that resembles unelectrified or electrified rail, you should use the RAIL and ELRL labels. Matching labels from the above scheme will then be defined in property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
As vehicles from NewGRFs that do not use explicit railtypes will end up on these standard railtypes, you should use RAIL instead of whatever type could be regarded as the most commonly used unelectrified type, ELRL instead of the most commonly used electrified type and so on. The label according to this scheme is then set as an alternate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Summary for track sets ==&lt;br /&gt;
This section summarizes the above for track sets.&lt;br /&gt;
&lt;br /&gt;
; [X***] Track gauge and type class&lt;br /&gt;
* Define at least one track type for every track gauge/type class you want in your set.&lt;br /&gt;
* If you only provide tracks for one gauge/type, consider leaving some free railtypes so a player can load an additional set for some other type.&lt;br /&gt;
; [*X**] Speed limit class&lt;br /&gt;
* Make sure class A is always available, either directly or via an alternate label.&lt;br /&gt;
* Use only class A if you don&#039;t want speed limits;&lt;br /&gt;
* With speed limits, A is the lowest speed limit. Continue with B, C, etc. for increasing speed limits;&lt;br /&gt;
* The speed class can also be used to implement additional eye-candy track types, use letters higher in the alphabet for this.&lt;br /&gt;
; [**X*] Axle load class&lt;br /&gt;
* Always define all classes A through E for every track type class / electrification combination, either:&lt;br /&gt;
** Directly via a real railtype definition;&lt;br /&gt;
** Indirectly via the alternate rail type label list, property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
* Extend the predefined classes only if you also provide a train set that makes use of these.&lt;br /&gt;
; [***X] Energy source type class&lt;br /&gt;
* If your set only uses specialized classes, always map the generic classes to the closest matching specialized type via property 1D.&lt;br /&gt;
; Standard labels [RAIL, ELRL, MONO, MGLV]&lt;br /&gt;
* Always define the standard labels when possible, instead of what would be the equivalent of the standard label in this scheme.&lt;br /&gt;
* Map the equivalent labels from this scheme to the standard labels using property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
Or, put differently, for each gauge/type, select one or more energy source types. For each type/energy combination provide all axle load classes for the speed class &amp;quot;A&amp;quot;, either as a real type or as an alternate of another type. Provide more types with a different speed letter if you want to provide several different speeds or other eye-candy tracks.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Summary for train sets ==&lt;br /&gt;
This section summarizes the above for train sets.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; [X***] Track gauge and type class&lt;br /&gt;
* Use the track type class that matches the vehicle;&lt;br /&gt;
* Define a fallback type via the railtype table in case you want the vehicle to be available on a different track if no matching track set is loaded.&lt;br /&gt;
** Specialized subtypes like &amp;quot;n&amp;quot; might not always be available. If you want those vehicles to be still available then, fall back the the generic class (e.g. &amp;quot;N&amp;quot;).&lt;br /&gt;
; [*X**] Speed limit class &lt;br /&gt;
* Always use class A for every vehicle.&lt;br /&gt;
; [**X*] Axle load class&lt;br /&gt;
* Use all classes A through E according to the maximum axle weight of the vehicle.&lt;br /&gt;
* Extend the predefined classes only if you also provide a track set that makes use of these;&lt;br /&gt;
** When extending the predefined classes A through E, define a fallback type via the railtype table in case you want the vehicle to be available if no matching track set is loaded.&lt;br /&gt;
; [***X] Energy source type class&lt;br /&gt;
* Use the energy source type class that matches the vehicle;&lt;br /&gt;
* When using specialized classes, define a fallback type via the railtype table in case you want the vehicle to be available if no matching track set is loaded.&lt;br /&gt;
; Standard labels [RAIL, ELRL, MONO, MGLV]&lt;br /&gt;
* Define a fallback type to the standard labels via the railtype table in case you want the vehicle to be available on the standard tracks if no matching track set is loaded.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Be as specific as you want when selecting the railtype, it is the job of the track set to select a playable, reduced subset out of all possible type combinations.&lt;br /&gt;
&lt;br /&gt;
== In case you&#039;re not convinced by this scheme ==&lt;br /&gt;
Adopting this scheme gives the player freedom to use any track set in combination with any train set that follow the scheme. &lt;br /&gt;
&lt;br /&gt;
This means that you can make your train set compatible with track sets that provide axle load classes, and track sets that provide speed limits, and at the same time with track sets that provide none of this. This way, the player can decide to play with or without axle load classes, or with or without speed limits, simply by loading a track set that does or does not provide these features.&lt;br /&gt;
&lt;br /&gt;
And for your track set, it means that you can make it as simple or as complicated as you want (within the 64 track type limit), while not having to worry about compatibility with train sets.&lt;br /&gt;
&lt;br /&gt;
Still not convinced? Feel free to use railtype labels of your own, but know that you will likely come to regret that at some point in the future.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Forum topic==&lt;br /&gt;
If you want to discuss the standardized railtype scheme or have any questions about it, you can visit [http://www.tt-forums.net/viewtopic.php?t=59379 the forum topic].&lt;br /&gt;
&lt;br /&gt;
==&amp;quot;Innsbruck 2022 Convention&amp;quot; for partial compliance==&lt;br /&gt;
&lt;br /&gt;
This is really esoteric, but eh. It was the product of long discussion / debate / argument / reasoning between grf authors.&lt;br /&gt;
&lt;br /&gt;
1. The Standardized Railtype Scheme &#039;&#039;&#039;is a useful tool&#039;&#039;&#039; for providing reliable compatibility between train grfs and railtype grfs.&lt;br /&gt;
&lt;br /&gt;
2. The &#039;&#039;&#039;axle load class&#039;&#039;&#039; in the scheme presents a number of issues for compliance.&lt;br /&gt;
&lt;br /&gt;
2.1. Over 10 years since the scheme was standardised, not many train grfs implement multiple axle load classes &#039;&#039;&#039;as required by the scheme&#039;&#039;&#039;.  Known examples that &#039;&#039;&#039;do&#039;&#039;&#039; comply include Dutch Train Set, French Narrow Gauge Trains, and Finnish Trains.&lt;br /&gt;
&lt;br /&gt;
2.2. Elements of the axle load rules have proven hard to interpret.  For example:&lt;br /&gt;
&lt;br /&gt;
* is it compliant to use &#039;&#039;fewer&#039;&#039; than 5 classes in a train grf?  There is a lack of consensus on this.&lt;br /&gt;
* axle load is only one of many factors that govern whether a vehicle is compatible with a route, for example loading gauge, minimum curve, signalling types etc&lt;br /&gt;
&lt;br /&gt;
2.3. Meanwhile &#039;&#039;multiple existing train grfs use class &#039;&#039;A&#039;&#039; for the axle load for all trains&#039;&#039; (except where relying on default railtypes such as RAIL and ELRL).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3. The Innsbruck 2022 Convention uses class &#039;&#039;A&#039;&#039; for axle load for &#039;&#039;&#039;all&#039;&#039;&#039; trains in a train grf (except where relying on default railtypes such as RAIL and ELRL).&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is &#039;&#039;&#039;not&#039;&#039;&#039; fully compliant with the Standardized Railtype Scheme and does not claim to be.&lt;br /&gt;
&lt;br /&gt;
However train grfs using the Innsbruck 2022 Convention are &#039;&#039;broadly compatible&#039;&#039; with railtype grfs using the Standardized Railtype Scheme.  &lt;br /&gt;
&lt;br /&gt;
Obligatory XKCD link about &#039;standards&#039;: https://xkcd.com/927/&lt;br /&gt;
&lt;br /&gt;
===Known issues===&lt;br /&gt;
&lt;br /&gt;
Known problems are that trains using only class &#039;A&#039; may limit the ability of railtype grf authors to achieve their design goals for separating railtypes by axle load.  &lt;br /&gt;
But on reflection, it can be seen that a train grf might not be able to provide a broad enough range of vehicles to cover at least 5 axle load classes.&lt;br /&gt;
&lt;br /&gt;
3.1. The Innsbruck 2022 Convention is &#039;&#039;&#039;not&#039;&#039;&#039; appropriate for train grf authors who wish to provide more than one axle load class.&lt;br /&gt;
&lt;br /&gt;
3.2. The Innsbruck 2022 Convention treats the meaning of class &#039;&#039;A&#039;&#039; as &#039;&#039;undefined&#039;&#039;, &#039;&#039;ignored&#039;&#039; or &#039;&#039;compatible with most restricted railtype&#039;&#039; for axle load.  &lt;br /&gt;
&lt;br /&gt;
Axle load class &#039;&#039;A&#039;&#039; &#039;&#039;&#039;cannot&#039;&#039;&#039; be safely interpreted as &#039;&#039;universal&#039;&#039; because from the perspective of a railtype grf &#039;&#039;A&#039;&#039; is &#039;&#039;most restricted railtype&#039;&#039;, where &#039;&#039;universal&#039;&#039; is better represented as &#039;&#039;least restricted railtype&#039;&#039;. Depending how many axle load classes are in use by the railtype grf, this could be class &#039;&#039;B&#039;&#039;, &#039;&#039;C&#039;&#039;, &#039;&#039;D&#039;&#039;, &#039;&#039;E&#039;&#039; etc.  To illustrate this issue, take the following scenario&lt;br /&gt;
&lt;br /&gt;
* railtype grf defines axle loads &#039;&#039;A&#039;&#039; to &#039;&#039;E&#039;&#039;. In this case the railtype grf author intends that &#039;&#039;A&#039;&#039; is compatible with the smallest range of vehicles, &#039;&#039;E&#039;&#039; is compatible with the largest range of vehicles, and &#039;&#039;B&#039;&#039;, &#039;&#039;C&#039;&#039; and &#039;&#039;D&#039;&#039; are compatible with some intermediate ranges of vehicles&lt;br /&gt;
* but the vehicle grf author has defined all vehicles to be axle load &#039;&#039;A&#039;&#039; in an attempt to express this vehicle is &#039;&#039;universal&#039;&#039;.  The result in the game is that an identical range of vehicles will be compatible with railtypes &#039;&#039;A&#039;&#039; to &#039;&#039;E&#039;&#039;.  &lt;br /&gt;
&lt;br /&gt;
This is clearly &#039;&#039;&#039;not&#039;&#039;&#039; the intended outcome of the railtype author. But nor is it clear within the spec that the vehicle author has particularly done anything wrong. &lt;br /&gt;
&lt;br /&gt;
It &#039;&#039;would&#039;&#039; be possible to use railtype availability testing to adjust the vehicle property 05 (track_type) to fit the highest defined axle load (&#039;&#039;E&#039;&#039; in this example case), but this is not insignificant work, and it&#039;s unlikely to be widely adopted by vehicle grf authors.  Nor would this solution achieve &#039;&#039;universal&#039;&#039; as all vehicles in vehicle grf then would be incompatible with types &#039;&#039;A&#039;&#039; through &#039;&#039;D&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
3.3. When the Innsbruck 2022 Convention is used, this &#039;&#039;&#039;does not prevent&#039;&#039;&#039; a train grf being extended in some future release to achieve full compliance with Standardized Railtype Scheme. &#039;&#039;That choice remains with train grf authors&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
3.4. If 2012 could be revisited, providing an optional &#039;&#039;_&#039;&#039; axle load class in the Standardized Railtype Scheme for &#039;&#039;undefined&#039;&#039; would have been preferable, but as of 2022, &#039;&#039;A&#039;&#039; is already widely used for this purpose, and time travel is not known to be possible.&lt;br /&gt;
&lt;br /&gt;
==Extended multivoltage support addition==&lt;br /&gt;
These are extensions to the energy source type class currently supported by SETS and xUSSR Rails which allow trainsets to code trains which are limited to a certain selection of voltages. As stated in the energy source type class section this might not be of use for all sets, as such it is optional but still recommended for trainsets for ideal functionality with tracksets which support the extended labels.&lt;br /&gt;
{|&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Specialized energy type classes !!Vehicle set fallback&lt;br /&gt;
|-&lt;br /&gt;
|* ||Equivilent to A, a, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|&#039; ||Equivilent to A, a and D || E&lt;br /&gt;
|-&lt;br /&gt;
|^ ||Equivilent to A, a and d || E&lt;br /&gt;
|-&lt;br /&gt;
|_ ||Equivilent to A, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
|, ||Equivilent to a, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|$ ||Equivilent to A and a  || First A then E&lt;br /&gt;
|-&lt;br /&gt;
|= ||Equivilent to D and d  || First D then E&lt;br /&gt;
|-&lt;br /&gt;
|) ||Equivilent to A and D  || E&lt;br /&gt;
|-&lt;br /&gt;
|( ||Equivilent to A and d  || E&lt;br /&gt;
|-&lt;br /&gt;
|] ||Equivilent to a and D  || E&lt;br /&gt;
|-&lt;br /&gt;
|[ ||Equivilent to a and d  || E&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Possible additions==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Track type/gauge&lt;br /&gt;
|-&lt;br /&gt;
|_ ||Universal &amp;quot;cheat&amp;quot; rail; ALWAYS add &amp;quot;_A_-&amp;quot; and &amp;quot;_A_N&amp;quot; to EVERY [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]] (as well as the equivalent electrified/pneumatic railtype that is powered on your electrified/pneumatic railtype to support it if you are making a new railtype set, older sets can be covered by fix or patch grfs) and &amp;quot;_A_t&amp;quot; to EVERY [[NML:Railtypes#Railtype_properties|powered_railtype_list (NML)]]&lt;br /&gt;
|-&lt;br /&gt;
|0 ||(A number zero, not a letter &amp;quot;Oh&amp;quot;) No track, eyecandy-use only&lt;br /&gt;
|-&lt;br /&gt;
|U ||[https://perma.cc/93VE-8JQZ &amp;quot;Ukrainian monorail&amp;quot; or Şaropoí̈zd (Шаропоїзд)], a u-shaped concrete &amp;quot;monorail trench&amp;quot; from 1920&#039;s Soviet Union; see [https://www.tt-forums.net/viewtopic.php?f=26&amp;amp;t=47432 the Yarmanchuk Express] for graphics&lt;br /&gt;
|-&lt;br /&gt;
|1 ||Early Monorail; See [https://perma.cc/6BVS-2P2X here] and [https://perma.cc/VCG2-ATUA here]&lt;br /&gt;
|-&lt;br /&gt;
|G ||Gyrail; [https://en.wikipedia.org/wiki/Gyro_monorail Gyro monorail/Gyroscopic monorail/Gyro-stabilized monorail] for description and IRL example, and [https://wikimon.net/Trailmon here] ([https://web.archive.org/web/20240227205547/https://wikimon.net/Trailmon archived]) for good fictional examples&lt;br /&gt;
|-&lt;br /&gt;
|m ||Minimum gauge rail; [https://en.wikipedia.org/wiki/Minimum-gauge_railway 15 in (381 mm), 400 mm (15+3⁄4 in), 16 in (406 mm), 18 in (457 mm), 19 in (483 mm), 500 mm (19+3⁄4 in) or 20 in (508 mm)]&lt;br /&gt;
|-&lt;br /&gt;
|n ||600mm &amp;quot;Decauville&amp;quot; or &amp;quot;Feldsbahn&amp;quot;, formerly labelled &amp;quot;NG60&amp;quot; before standardization; the most common narrow gauge track type in OpenTTD other than metre gauge, 600mm gauge is thus ideal for taking up the &amp;quot;n&amp;quot; gauge, though this is an ultimately optional distinction&lt;br /&gt;
|-&lt;br /&gt;
|7 ||750mm, Bosnian gauge (760 mm), and 762mm; all start with 7 and are close in size&lt;br /&gt;
|-&lt;br /&gt;
|3 ||Swedish 3 foot (891 mm), 900mm, 3 foot (914 mm) and Italian Metre (950mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|R ||Metre gauge; potentially compatible with base tramtype &amp;quot;RABN&amp;quot;, most early tramways were metre gauge&lt;br /&gt;
|-&lt;br /&gt;
|4 ||4 foot gauge (1219 mm), and possibly 4&#039;6&amp;quot; in. (1372 mm) if standardization is needed for 1372mm&lt;br /&gt;
|-&lt;br /&gt;
|s ||Scotch gauge (1372 mm)&lt;br /&gt;
|-&lt;br /&gt;
|S ||Standard gauge; already implemented in original standardized railtype scheme, but could include near-standard (1432 mm) as well as existing true standard (1435 mm) and is also potentially compatible with the SABN tramtype&lt;br /&gt;
|-&lt;br /&gt;
|X ||Omni-gauge rail (for at-grade multi-gauge crossings and stations); ultrabroad/secondary broad/primary broad/standard/primary narrow/secondary narrow gauge&lt;br /&gt;
|-&lt;br /&gt;
|x ||Multi-gauge rail (for at-grade multi-gauge crossings and stations); secondary broad/primary broad/standard/primary narrow/secondary narrow&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;+&amp;lt;/nowiki&amp;gt; ||Quad-gauge (Four-gauge) rail (for at-grade multi-gauge crossings and stations); secondary broad/primary broad/standard/primary narrow&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt; ||Four-gauge rail (for at-grade multi-gauge crossings and stations); primary broad/standard/primary narrow/secondary narrow&lt;br /&gt;
|-&lt;br /&gt;
|b ||Broad gauge rail - As broad gauge is a rare tracktype, it may still be feasible to cement B and b as broad gauges of two differing sizes, but the rarity among gauges in the real world would need to match; Italian (1445 mm) and Dresden (1450 mm) gauges may be better grouped here&lt;br /&gt;
|-&lt;br /&gt;
|t ||Leipzig trams (1458 mm) and Greater Toronto Area streetcars (1495 mm)&lt;br /&gt;
|-&lt;br /&gt;
|5 ||1520mm and 5 foot (1524 mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|V ||Pennsylvanian (1581 mm and 1588 mm) and Australian &amp;quot;Victorian&amp;quot; (1600 mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|6 ||6 foot (1829 mm) broad gauge&lt;br /&gt;
|-&lt;br /&gt;
|g ||Brunel&#039;s Great Western Railway gauge (2140 mm)&lt;br /&gt;
|-&lt;br /&gt;
|B ||Biggest Broad gauge rail - As broad gauge is a rare tracktype, and the variation in common real life track types too wide, it may be desirable to cement B and b as broad gauges of two differing sizes; With no real life examples that match the usage frequency of &amp;quot;B&amp;quot;, the gauge might best draw inspiration from the infamous [https://en.wikipedia.org/wiki/Breitspurbahn Breitspurbahn] (3000 mm) and [https://perma.cc/KQ2Z-5RCR the never-built vehicles designed for it], or from the [https://en.wikipedia.org/wiki/Brighton_and_Rottingdean_Seashore_Electric_Railway Brighton &amp;amp; Rottingdean Seashore Electric Railway] (18 ft/5,486 mm) &lt;br /&gt;
|-&lt;br /&gt;
|L ||Maglevs that have a u-shaped track&lt;br /&gt;
|-&lt;br /&gt;
|T ||Maglevs that have a monorail track&lt;br /&gt;
|-&lt;br /&gt;
|F ||Flightrail; A [https://web.archive.org/web/20231213122530/http://www.flightrail.com/ system capable of high speeds and steep hill grades] that uses a pneumatic pipe for propulsion (see &amp;quot;P&amp;quot; under energy sources), and &#039;&#039;wheels pointed inwards at a 45-degree angle&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
It might be preferred to instead use/keep &amp;quot;B&amp;quot; for &amp;quot;all (current) broad gauges&amp;quot; (mostly Victorian gauge) instead using lowercase &amp;quot;b&amp;quot; for Brunel/GWR broad gauge. This wouldn&#039;t be to different from narrow gauge since the lesser used ones are lowercase and fallback to the uppercase ones.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Electrification !!Fallback !!Notes&lt;br /&gt;
|-&lt;br /&gt;
|1 ||Unspecified monorail electrification |||MONO (the whole label) ||&lt;br /&gt;
|-&lt;br /&gt;
|S ||Maglevs that use a synchronous linear motor ||N/A ||&lt;br /&gt;
|-&lt;br /&gt;
|I ||Maglevs that use a linear induction motor ||MGLV (the whole label) ||&lt;br /&gt;
|-&lt;br /&gt;
|V ||Vactrains/Hyperloop ||t, then I, then MGLV (the whole label) ||&lt;br /&gt;
|-&lt;br /&gt;
|t ||&amp;quot;Universal custom tunnel&amp;quot; (for electrified sub-surface rail tunnels) ||c, then p, then 7, then U (mandatory) ||&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt; ||Universal energy type (&#039;&#039;not&#039;&#039; meant to replace &amp;quot;***N&amp;quot;; use for vehicles such as driving cabs which cannot move under their own power regardless, if desired) ||N/A (Be sure to put &amp;quot;***E&amp;quot; in the [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]] of a &amp;quot;***-&amp;quot; label) ||(&#039;&#039;Do not give a fallback or use for railtypes, this is for unpowered &amp;quot;locomotives&amp;quot; only!&#039;&#039;)&lt;br /&gt;
|-&lt;br /&gt;
|5 ||750v DC Outer 3rd Rail (&amp;quot;MTRO&amp;quot; or &amp;quot;SA_3&amp;quot;) and 630v DC Inner 3rd/4th Rail; a total of 5 rails (2 for wheels, 3 for electricity), plausible in the London Underground network ||3 or 4 ||&lt;br /&gt;
|-&lt;br /&gt;
|U ||750v DC Outer 3rd Rail (&amp;quot;MTRO&amp;quot; or &amp;quot;SA_3&amp;quot;), 630v DC Inner 3rd/4th Rail and universal catenary (SAEE); a total of 5 rails (2 for wheels, 3 for electricity) if only one gauge, plausible in the London Underground network and an &amp;quot;ultimate&amp;quot; dual rail electrification without being a cheat (make it expensive or toggle-able?) as SAEU or as XAEU (universal dual rail electrified tracks) ||E ||&lt;br /&gt;
|-&lt;br /&gt;
|7 ||750v DC Outer 3rd Rail (&amp;quot;MTRO&amp;quot; or &amp;quot;SA_3&amp;quot;), 630v DC Inner 3rd/4th Rail, Three-phase AC (SA_T) 3rd/4th rail &amp;amp; catenary, and universal catenary (SA_E); a total of 7 rails (2 for wheels, 5 for electricity) if only one gauge, a truly universal dual rail electrification without being impossible (make it VERY expensive or toggle-able so it isn&#039;t cheat-y?) as SAE7, XAE7 or even as XRE7 (universal electrified rack-equipped dual rail tracks) ||U ||&lt;br /&gt;
|-&lt;br /&gt;
|P ||Pneumatic tube with physical piston slit, or closed pneumatic tube with magnetic piston (i.e. that used by [https://web.archive.org/web/20231213122530/http://www.flightrail.com/ Flightrail]) ||N/A ||&lt;br /&gt;
|-&lt;br /&gt;
|p ||Pneumatic and universal electrical power ||P or 7 (Be sure to put &amp;quot;***_&amp;quot; and ***P&amp;quot; in the [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]] of a &amp;quot;***p&amp;quot; label) ||&lt;br /&gt;
|-&lt;br /&gt;
|c ||Cheat electrification type; use solely for _R_c railtype ||p, then 7, then U, then E, then N, then &amp;quot;SA_-&amp;quot; (the whole label) ||&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Lurkmore</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=Standardized_Railtype_Scheme&amp;diff=4749</id>
		<title>Standardized Railtype Scheme</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=Standardized_Railtype_Scheme&amp;diff=4749"/>
		<updated>2024-02-28T06:36:23Z</updated>

		<summary type="html">&lt;p&gt;Lurkmore: /* Possible additions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This railtype label scheme aims to bring order to the uncontrolled growth of railtype labels. It groups the rail types into what matters from a technical perspective. The scheme provides a standardized way of defining railtype labels, based on track gauge and type, speed class, allowable axle weight and electrification type.&lt;br /&gt;
&lt;br /&gt;
It is the explicit intent of this scheme to decouple track sets from vehicle sets to facilitate easy mixing. This way the player can select a track set of choice to go with a train set of choice. It allows the player to play with or without axle load classes, or with or without speed limit classes, simply by loading a track set that does or does not provide these features. In some cases it will also be possible to combine niche track sets, for instance a standard gauge track set with a narrow gauge and a metro track set.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== The Label Scheme ==&lt;br /&gt;
A railtype label consists of four characters. In this scheme, each position has a different purpose:&lt;br /&gt;
# Track gauge and type class (e.g. standard gauge rail, narrow gauge rail, monorail)&lt;br /&gt;
# Speed limit class&lt;br /&gt;
# Axle load class (maximum allowed axle weight for this track)&lt;br /&gt;
# Energy source type class&lt;br /&gt;
&lt;br /&gt;
In the next sections, each of the four positions will be explained.&lt;br /&gt;
&lt;br /&gt;
=== Track gauge and type class [X***] ===&lt;br /&gt;
The first position in the railtype label defines track gauge and/or track type class. The following classes are currently defined:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Track type/gauge&lt;br /&gt;
|- &lt;br /&gt;
|S ||Standard gauge rail&lt;br /&gt;
|-&lt;br /&gt;
|B ||Broad gauge rail &lt;br /&gt;
|-&lt;br /&gt;
|N ||Narrow gauge rail&lt;br /&gt;
|-&lt;br /&gt;
|n ||Secondary narrow gauge rail (e.g. when providing both metre and cape gauge, always use N in case of just one type of narrow gauge)&lt;br /&gt;
|-&lt;br /&gt;
|D ||Dual gauge rail, standard/broad gauge&lt;br /&gt;
|-&lt;br /&gt;
|d ||Dual gauge rail, standard/narrow gauge&lt;br /&gt;
|-&lt;br /&gt;
|M ||Monorail&lt;br /&gt;
|-&lt;br /&gt;
|L ||Magnetic Levitation&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Speed limit class [*X**] ===&lt;br /&gt;
The second position in the railtype label defines the speed limit class. These classes do not map to a fixed numeric value, but are used to define an internal speed limit order for the track set. This means that if your track set has two different speed limits for track types that are otherwise identical, you&#039;ll use letters A and B here. In case of three different speed limits, use A, B and C. In case your track set does not employ speed limits, always use A. Train sets do not care about the speed limit, and will always set the lowest speed class, i.e. A.&lt;br /&gt;
&lt;br /&gt;
This gives for instance the following options:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||no speed limits&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;OR&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||low speed&lt;br /&gt;
|-&lt;br /&gt;
|B ||high speed&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;OR&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||low speed&lt;br /&gt;
|-&lt;br /&gt;
|B ||medium speed&lt;br /&gt;
|-&lt;br /&gt;
|C ||high speed&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;etc.&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear:left;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The speed limit class may also be used for some advanced features of the label scheme, like specialized track types and eyecandy purposes. Be careful not to break the compatibility with other sets when using the speed limit class for these purposes.&lt;br /&gt;
&lt;br /&gt;
An example of a special use is rack rail. In the French set it is used to give rack rail engines a higher speed and TE than normal rail engines when used on rack rail. When defining trains with a special speed limit class, always allow a fallback to speed limit class A via the railtype table.&lt;br /&gt;
&lt;br /&gt;
An example of eyecandy use are urban tracks. These are a variation of regular tracks, but with concrete ground tiles to better match the urban environment. Train sets must not define vehicles for eyecandy classes. If you think you have special vehicles that should only run on the eyecandy class, it is &#039;&#039;not&#039;&#039; eyecandy but a separate track gauge/type.&lt;br /&gt;
&lt;br /&gt;
The following special and eyecandy classes have been defined so far:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Description !!Type !!Used by&lt;br /&gt;
|- &lt;br /&gt;
|A-H ||speed limits ||colspan=&amp;quot;2&amp;quot;|reserved&lt;br /&gt;
|- &lt;br /&gt;
|R ||rack rail ||special ||French Set Rails &lt;br /&gt;
|- &lt;br /&gt;
|S ||subterranean ||eyecandy ||Metro Track Set&lt;br /&gt;
|- &lt;br /&gt;
|U ||urban ||eyecandy ||Metro Track Set&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Axle load class [**X*] ===&lt;br /&gt;
The third position defines the axle weight limit. Heavy trains cannot run on tracks with a low axle weight limit; these trains need more expensive tracks with a heigher weight limit. There are five axle load classes &#039;&#039;&#039;A&#039;&#039;&#039; through &#039;&#039;&#039;E&#039;&#039;&#039;. &#039;&#039;&#039;A&#039;&#039;&#039; is for the lowest axle load limit, &#039;&#039;&#039;E&#039;&#039;&#039; for the highest. The exact axle load attached to each class is relative to the track gauge/type and trains in the set. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A train set should set the appropriate axle weight for each train via the railtype label, as to make the set work with track sets that do provide tracks with different weight limits, even if you don&#039;t care about it for your trainset. Split all vehicles of a certain track gauge/type into five groups of similar axle weight. The group with the lowest axle weights will get class &#039;&#039;&#039;A&#039;&#039;&#039;, the second lowest class &#039;&#039;&#039;B&#039;&#039;&#039;, etc. up to the group with the highest axle weights which will get class &#039;&#039;&#039;E&#039;&#039;&#039;. Do the same for the other track gauge/types if your train set has those.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A track set does not have to provide a dedicated track type for each axle weight limit. A track set that does not provide a dedicated track for each axle load class, must make sure to map all undefined axle load classes to a real railtype using property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]]. This way a train set can rely on all labels for all axle load classes being available. Example: if you only want to provide 2 axle load classes for standard gauge unelectrified with no speed limits, you can map SA&#039;&#039;&#039;A&#039;&#039;&#039;N + SA&#039;&#039;&#039;B&#039;&#039;&#039;N to SA&#039;&#039;&#039;C&#039;&#039;&#039;N and SA&#039;&#039;&#039;D&#039;&#039;&#039;N to SA&#039;&#039;&#039;E&#039;&#039;&#039;N if the cost difference between the two railtypes is high, or SA&#039;&#039;&#039;A&#039;&#039;&#039;N to SA&#039;&#039;&#039;B&#039;&#039;&#039;N and SA&#039;&#039;&#039;C&#039;&#039;&#039;N + SA&#039;&#039;&#039;D&#039;&#039;&#039;N to SA&#039;&#039;&#039;E&#039;&#039;&#039;N if the cost difference is low.&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t want to provide any axle load classes in your track set, it doesn&#039;t really matter what axle load class you choose for the track, as you&#039;ll be mapping all other classes to this track anyways. But the lowest or highest class are the obvious choice. Example: if your track set only provides narrow gauge unelectrified track with no speed limits and no axle load limits, you may use NA&#039;&#039;&#039;A&#039;&#039;&#039;N for the track label, and provide NA&#039;&#039;&#039;B&#039;&#039;&#039;N, NA&#039;&#039;&#039;C&#039;&#039;&#039;N, NA&#039;&#039;&#039;D&#039;&#039;&#039;N, NA&#039;&#039;&#039;E&#039;&#039;&#039;N in property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you need more than five axle load class, you may use lowercase letters for very low axle loads and continue the uppercase letters for very high axle loads. Be advised that your train set may not assume the existance of any other class than &#039;&#039;&#039;A&#039;&#039;&#039; through &#039;&#039;&#039;E&#039;&#039;&#039;, so when the range make sure to program your railtype table such that trains with such a class will fall back to class &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;E&#039;&#039;&#039;. If you make a track set with an extended range, be aware that not all train sets will define trains for these tracks. In general: only do this in case of a train set with a matching track set.&lt;br /&gt;
&lt;br /&gt;
For the lowercase letters, &#039;&#039;&#039;b&#039;&#039;&#039; is lower than &#039;&#039;&#039;a&#039;&#039;&#039;, so for increasing axle load limits: b &amp;lt; a &amp;lt; A &amp;lt; B &amp;lt; C etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that the axle load classes never map to a specific weight in tonnes. For that reason it does not make sense to add a numeric value for the axle load to the name of a track type or in the extended purchase info of a train. Instead use the relative expressions &#039;very low&#039;, &#039;low&#039;, &#039;medium&#039;, &#039;high&#039; and &#039;very high&#039; or use the class letters directly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Energy source type class [***X] ===&lt;br /&gt;
The last position defines the energy source type class. This is split in generic energy source types like overhead wires and third rail and specialized types like alternating and direct current.&lt;br /&gt;
&lt;br /&gt;
A track set that only uses specialized types, should map the generic types to the most suitable specialized type in the set.&lt;br /&gt;
&lt;br /&gt;
A vehicle set that uses specialized types should define a generic type as fallback, via the railtype table. If such a fallback is omitted, please note that certain vehicles may be unavailable depending on track set loaded.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Generic energy type classes&lt;br /&gt;
|-&lt;br /&gt;
|N ||no electrification&lt;br /&gt;
|-&lt;br /&gt;
|E ||overhead wires/catenary electrification&lt;br /&gt;
|-&lt;br /&gt;
|3 ||3rd rail electrification&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Specialized energy type classes !!Vehicle set fallback&lt;br /&gt;
|-&lt;br /&gt;
|Z ||3rd rail and catenary electrification || 3 or E&lt;br /&gt;
|-&lt;br /&gt;
|4 ||4th rail electrification || 3&lt;br /&gt;
|-&lt;br /&gt;
|Y ||4th rail and catenary electrification || 4 or E&lt;br /&gt;
|-&lt;br /&gt;
|T ||[http://en.wikipedia.org/wiki/Three-phase_AC_railway_electrification three phase AC electrification] || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|D ||DC catenary electrification || E&lt;br /&gt;
|-&lt;br /&gt;
|d ||low voltage DC catenary electrification (only when D also used in set) || First A then E&lt;br /&gt;
|-&lt;br /&gt;
|A ||AC catenary electrification || E&lt;br /&gt;
|-&lt;br /&gt;
|a ||low voltage AC catenary electrification (only when A also used in set) || First A then E&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
If you want multi-voltage/current vehicles in your set (i.e. a train that can run on both AC and DC current), you have to define a dedicated railtype for those vehicles. Without the railtype, it&#039;s not possible to define vehicles with this property. If you only have vehicles that can run on either one type of voltage/current or on all types of voltage/current (e.g. a 2-system if you only have &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;D&#039;&#039;&#039; tracks, or a 4-system in case of all &#039;&#039;&#039;A&#039;&#039;&#039;, &#039;&#039;&#039;a&#039;&#039;&#039;, &#039;&#039;&#039;D&#039;&#039;&#039; and &#039;&#039;&#039;d&#039;&#039;&#039;), then use the generic class &#039;&#039;&#039;E&#039;&#039;&#039; for vehicles that should be able to run on all different voltage/currents. Also the track set needs to have one at least one railtype with class &#039;&#039;&#039;E&#039;&#039;&#039; defined.&lt;br /&gt;
&lt;br /&gt;
Note that if you want more than one type of multi-voltage/current, you&#039;ll quickly get a combinatory explosion of railtype labels, so plan carefully or do not attempt it. For every different multi-voltage/current vehicle type a dedicated railtype is needed. If you want all possible combinations, then you need to define an additional 8 classes. It is not recommended to make your train/track set this complicated.&lt;br /&gt;
&lt;br /&gt;
Example approach for a 4-system set, with trains that can run on either one or all systems:&lt;br /&gt;
* &#039;&#039;&#039;E&#039;&#039;&#039;: generic catenary-powered electric engines. &amp;quot;universal&amp;quot; [4-system] if any of &#039;&#039;&#039;D&#039;&#039;&#039;/&#039;&#039;&#039;d&#039;&#039;&#039;/&#039;&#039;&#039;A&#039;&#039;&#039;/&#039;&#039;&#039;a&#039;&#039;&#039; are defined.&lt;br /&gt;
* &#039;&#039;&#039;A&#039;&#039;&#039;: generic AC catenary electric engines. 25kV only if &#039;&#039;&#039;a&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;A&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;a&#039;&#039;&#039;: 15kV AC catenary electric engines. Only defined if &#039;&#039;&#039;A&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;a&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;D&#039;&#039;&#039;: generic DC catenary electric engines. 3kV if &#039;&#039;&#039;d&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;D&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;d&#039;&#039;&#039;: 1.5kV DC catenary electric engines. Only defined if &#039;&#039;&#039;D&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;D&#039;&#039;&#039; and &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;d&#039;&#039;&#039;.&lt;br /&gt;
For a 2-system set, you can simply drop &#039;&#039;&#039;a&#039;&#039;&#039; and &#039;&#039;&#039;d&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Standard labels: RAIL, ELRL, MONO, MGLV ===&lt;br /&gt;
It&#039;s not possible to undefine the standard railtypes RAIL, ELRL, MONO and MGLV. The game will always add those if there are vehicles defined for these track types. As a result, for a track set it&#039;s best not to ignore those standard labels, but rather work with them and define them in the set. If your track set does not have monorail or maglev tracks, there of course is no need to define those. But if your track set defines anything that resembles unelectrified or electrified rail, you should use the RAIL and ELRL labels. Matching labels from the above scheme will then be defined in property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
As vehicles from NewGRFs that do not use explicit railtypes will end up on these standard railtypes, you should use RAIL instead of whatever type could be regarded as the most commonly used unelectrified type, ELRL instead of the most commonly used electrified type and so on. The label according to this scheme is then set as an alternate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Summary for track sets ==&lt;br /&gt;
This section summarizes the above for track sets.&lt;br /&gt;
&lt;br /&gt;
; [X***] Track gauge and type class&lt;br /&gt;
* Define at least one track type for every track gauge/type class you want in your set.&lt;br /&gt;
* If you only provide tracks for one gauge/type, consider leaving some free railtypes so a player can load an additional set for some other type.&lt;br /&gt;
; [*X**] Speed limit class&lt;br /&gt;
* Make sure class A is always available, either directly or via an alternate label.&lt;br /&gt;
* Use only class A if you don&#039;t want speed limits;&lt;br /&gt;
* With speed limits, A is the lowest speed limit. Continue with B, C, etc. for increasing speed limits;&lt;br /&gt;
* The speed class can also be used to implement additional eye-candy track types, use letters higher in the alphabet for this.&lt;br /&gt;
; [**X*] Axle load class&lt;br /&gt;
* Always define all classes A through E for every track type class / electrification combination, either:&lt;br /&gt;
** Directly via a real railtype definition;&lt;br /&gt;
** Indirectly via the alternate rail type label list, property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
* Extend the predefined classes only if you also provide a train set that makes use of these.&lt;br /&gt;
; [***X] Energy source type class&lt;br /&gt;
* If your set only uses specialized classes, always map the generic classes to the closest matching specialized type via property 1D.&lt;br /&gt;
; Standard labels [RAIL, ELRL, MONO, MGLV]&lt;br /&gt;
* Always define the standard labels when possible, instead of what would be the equivalent of the standard label in this scheme.&lt;br /&gt;
* Map the equivalent labels from this scheme to the standard labels using property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
Or, put differently, for each gauge/type, select one or more energy source types. For each type/energy combination provide all axle load classes for the speed class &amp;quot;A&amp;quot;, either as a real type or as an alternate of another type. Provide more types with a different speed letter if you want to provide several different speeds or other eye-candy tracks.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Summary for train sets ==&lt;br /&gt;
This section summarizes the above for train sets.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; [X***] Track gauge and type class&lt;br /&gt;
* Use the track type class that matches the vehicle;&lt;br /&gt;
* Define a fallback type via the railtype table in case you want the vehicle to be available on a different track if no matching track set is loaded.&lt;br /&gt;
** Specialized subtypes like &amp;quot;n&amp;quot; might not always be available. If you want those vehicles to be still available then, fall back the the generic class (e.g. &amp;quot;N&amp;quot;).&lt;br /&gt;
; [*X**] Speed limit class &lt;br /&gt;
* Always use class A for every vehicle.&lt;br /&gt;
; [**X*] Axle load class&lt;br /&gt;
* Use all classes A through E according to the maximum axle weight of the vehicle.&lt;br /&gt;
* Extend the predefined classes only if you also provide a track set that makes use of these;&lt;br /&gt;
** When extending the predefined classes A through E, define a fallback type via the railtype table in case you want the vehicle to be available if no matching track set is loaded.&lt;br /&gt;
; [***X] Energy source type class&lt;br /&gt;
* Use the energy source type class that matches the vehicle;&lt;br /&gt;
* When using specialized classes, define a fallback type via the railtype table in case you want the vehicle to be available if no matching track set is loaded.&lt;br /&gt;
; Standard labels [RAIL, ELRL, MONO, MGLV]&lt;br /&gt;
* Define a fallback type to the standard labels via the railtype table in case you want the vehicle to be available on the standard tracks if no matching track set is loaded.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Be as specific as you want when selecting the railtype, it is the job of the track set to select a playable, reduced subset out of all possible type combinations.&lt;br /&gt;
&lt;br /&gt;
== In case you&#039;re not convinced by this scheme ==&lt;br /&gt;
Adopting this scheme gives the player freedom to use any track set in combination with any train set that follow the scheme. &lt;br /&gt;
&lt;br /&gt;
This means that you can make your train set compatible with track sets that provide axle load classes, and track sets that provide speed limits, and at the same time with track sets that provide none of this. This way, the player can decide to play with or without axle load classes, or with or without speed limits, simply by loading a track set that does or does not provide these features.&lt;br /&gt;
&lt;br /&gt;
And for your track set, it means that you can make it as simple or as complicated as you want (within the 64 track type limit), while not having to worry about compatibility with train sets.&lt;br /&gt;
&lt;br /&gt;
Still not convinced? Feel free to use railtype labels of your own, but know that you will likely come to regret that at some point in the future.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Forum topic==&lt;br /&gt;
If you want to discuss the standardized railtype scheme or have any questions about it, you can visit [http://www.tt-forums.net/viewtopic.php?t=59379 the forum topic].&lt;br /&gt;
&lt;br /&gt;
==&amp;quot;Innsbruck 2022 Convention&amp;quot; for partial compliance==&lt;br /&gt;
&lt;br /&gt;
This is really esoteric, but eh. It was the product of long discussion / debate / argument / reasoning between grf authors.&lt;br /&gt;
&lt;br /&gt;
1. The Standardized Railtype Scheme &#039;&#039;&#039;is a useful tool&#039;&#039;&#039; for providing reliable compatibility between train grfs and railtype grfs.&lt;br /&gt;
&lt;br /&gt;
2. The &#039;&#039;&#039;axle load class&#039;&#039;&#039; in the scheme presents a number of issues for compliance.&lt;br /&gt;
&lt;br /&gt;
2.1. Over 10 years since the scheme was standardised, not many train grfs implement multiple axle load classes &#039;&#039;&#039;as required by the scheme&#039;&#039;&#039;.  Known examples that &#039;&#039;&#039;do&#039;&#039;&#039; comply include Dutch Train Set, French Narrow Gauge Trains, and Finnish Trains.&lt;br /&gt;
&lt;br /&gt;
2.2. Elements of the axle load rules have proven hard to interpret.  For example:&lt;br /&gt;
&lt;br /&gt;
* is it compliant to use &#039;&#039;fewer&#039;&#039; than 5 classes in a train grf?  There is a lack of consensus on this.&lt;br /&gt;
* axle load is only one of many factors that govern whether a vehicle is compatible with a route, for example loading gauge, minimum curve, signalling types etc&lt;br /&gt;
&lt;br /&gt;
2.3. Meanwhile &#039;&#039;multiple existing train grfs use class &#039;&#039;A&#039;&#039; for the axle load for all trains&#039;&#039; (except where relying on default railtypes such as RAIL and ELRL).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3. The Innsbruck 2022 Convention uses class &#039;&#039;A&#039;&#039; for axle load for &#039;&#039;&#039;all&#039;&#039;&#039; trains in a train grf (except where relying on default railtypes such as RAIL and ELRL).&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is &#039;&#039;&#039;not&#039;&#039;&#039; fully compliant with the Standardized Railtype Scheme and does not claim to be.&lt;br /&gt;
&lt;br /&gt;
However train grfs using the Innsbruck 2022 Convention are &#039;&#039;broadly compatible&#039;&#039; with railtype grfs using the Standardized Railtype Scheme.  &lt;br /&gt;
&lt;br /&gt;
Obligatory XKCD link about &#039;standards&#039;: https://xkcd.com/927/&lt;br /&gt;
&lt;br /&gt;
===Known issues===&lt;br /&gt;
&lt;br /&gt;
Known problems are that trains using only class &#039;A&#039; may limit the ability of railtype grf authors to achieve their design goals for separating railtypes by axle load.  &lt;br /&gt;
But on reflection, it can be seen that a train grf might not be able to provide a broad enough range of vehicles to cover at least 5 axle load classes.&lt;br /&gt;
&lt;br /&gt;
3.1. The Innsbruck 2022 Convention is &#039;&#039;&#039;not&#039;&#039;&#039; appropriate for train grf authors who wish to provide more than one axle load class.&lt;br /&gt;
&lt;br /&gt;
3.2. The Innsbruck 2022 Convention treats the meaning of class &#039;&#039;A&#039;&#039; as &#039;&#039;undefined&#039;&#039;, &#039;&#039;ignored&#039;&#039; or &#039;&#039;compatible with most restricted railtype&#039;&#039; for axle load.  &lt;br /&gt;
&lt;br /&gt;
Axle load class &#039;&#039;A&#039;&#039; &#039;&#039;&#039;cannot&#039;&#039;&#039; be safely interpreted as &#039;&#039;universal&#039;&#039; because from the perspective of a railtype grf &#039;&#039;A&#039;&#039; is &#039;&#039;most restricted railtype&#039;&#039;, where &#039;&#039;universal&#039;&#039; is better represented as &#039;&#039;least restricted railtype&#039;&#039;. Depending how many axle load classes are in use by the railtype grf, this could be class &#039;&#039;B&#039;&#039;, &#039;&#039;C&#039;&#039;, &#039;&#039;D&#039;&#039;, &#039;&#039;E&#039;&#039; etc.  To illustrate this issue, take the following scenario&lt;br /&gt;
&lt;br /&gt;
* railtype grf defines axle loads &#039;&#039;A&#039;&#039; to &#039;&#039;E&#039;&#039;. In this case the railtype grf author intends that &#039;&#039;A&#039;&#039; is compatible with the smallest range of vehicles, &#039;&#039;E&#039;&#039; is compatible with the largest range of vehicles, and &#039;&#039;B&#039;&#039;, &#039;&#039;C&#039;&#039; and &#039;&#039;D&#039;&#039; are compatible with some intermediate ranges of vehicles&lt;br /&gt;
* but the vehicle grf author has defined all vehicles to be axle load &#039;&#039;A&#039;&#039; in an attempt to express this vehicle is &#039;&#039;universal&#039;&#039;.  The result in the game is that an identical range of vehicles will be compatible with railtypes &#039;&#039;A&#039;&#039; to &#039;&#039;E&#039;&#039;.  &lt;br /&gt;
&lt;br /&gt;
This is clearly &#039;&#039;&#039;not&#039;&#039;&#039; the intended outcome of the railtype author. But nor is it clear within the spec that the vehicle author has particularly done anything wrong. &lt;br /&gt;
&lt;br /&gt;
It &#039;&#039;would&#039;&#039; be possible to use railtype availability testing to adjust the vehicle property 05 (track_type) to fit the highest defined axle load (&#039;&#039;E&#039;&#039; in this example case), but this is not insignificant work, and it&#039;s unlikely to be widely adopted by vehicle grf authors.  Nor would this solution achieve &#039;&#039;universal&#039;&#039; as all vehicles in vehicle grf then would be incompatible with types &#039;&#039;A&#039;&#039; through &#039;&#039;D&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
3.3. When the Innsbruck 2022 Convention is used, this &#039;&#039;&#039;does not prevent&#039;&#039;&#039; a train grf being extended in some future release to achieve full compliance with Standardized Railtype Scheme. &#039;&#039;That choice remains with train grf authors&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
3.4. If 2012 could be revisited, providing an optional &#039;&#039;_&#039;&#039; axle load class in the Standardized Railtype Scheme for &#039;&#039;undefined&#039;&#039; would have been preferable, but as of 2022, &#039;&#039;A&#039;&#039; is already widely used for this purpose, and time travel is not known to be possible.&lt;br /&gt;
&lt;br /&gt;
==Extended multivoltage support addition==&lt;br /&gt;
These are extensions to the energy source type class currently supported by SETS and xUSSR Rails which allow trainsets to code trains which are limited to a certain selection of voltages. As stated in the energy source type class section this might not be of use for all sets, as such it is optional but still recommended for trainsets for ideal functionality with tracksets which support the extended labels.&lt;br /&gt;
{|&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Specialized energy type classes !!Vehicle set fallback&lt;br /&gt;
|-&lt;br /&gt;
|* ||Equivilent to A, a, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|&#039; ||Equivilent to A, a and D || E&lt;br /&gt;
|-&lt;br /&gt;
|^ ||Equivilent to A, a and d || E&lt;br /&gt;
|-&lt;br /&gt;
|_ ||Equivilent to A, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
|, ||Equivilent to a, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|$ ||Equivilent to A and a  || First A then E&lt;br /&gt;
|-&lt;br /&gt;
|= ||Equivilent to D and d  || First D then E&lt;br /&gt;
|-&lt;br /&gt;
|) ||Equivilent to A and D  || E&lt;br /&gt;
|-&lt;br /&gt;
|( ||Equivilent to A and d  || E&lt;br /&gt;
|-&lt;br /&gt;
|] ||Equivilent to a and D  || E&lt;br /&gt;
|-&lt;br /&gt;
|[ ||Equivilent to a and d  || E&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Possible additions==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Track type/gauge&lt;br /&gt;
|-&lt;br /&gt;
|_ ||Universal &amp;quot;cheat&amp;quot; rail; ALWAYS add &amp;quot;_A_-&amp;quot; and &amp;quot;_A_N&amp;quot; to EVERY [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]] (as well as the equivalent electrified/pneumatic railtype that is powered on your electrified/pneumatic railtype to support it if you are making a new railtype set, older sets can be covered by fix or patch grfs) and &amp;quot;_A_t&amp;quot; to EVERY [[NML:Railtypes#Railtype_properties|powered_railtype_list (NML)]]&lt;br /&gt;
|-&lt;br /&gt;
|0 ||(A number zero, not a letter &amp;quot;Oh&amp;quot;) No track, eyecandy-use only&lt;br /&gt;
|-&lt;br /&gt;
|U ||[https://perma.cc/93VE-8JQZ &amp;quot;Ukrainian monorail&amp;quot; or Şaropoí̈zd (Шаропоїзд)], a u-shaped concrete &amp;quot;monorail trench&amp;quot; from 1920&#039;s Soviet Union; see [https://www.tt-forums.net/viewtopic.php?f=26&amp;amp;t=47432 the Yarmanchuk Express] for graphics&lt;br /&gt;
|-&lt;br /&gt;
|1 ||Early Monorail; See [https://perma.cc/6BVS-2P2X here] and [https://perma.cc/VCG2-ATUA here]&lt;br /&gt;
|-&lt;br /&gt;
|G ||Gyrail; [https://en.wikipedia.org/wiki/Gyro_monorail Gyro monorail/Gyroscopic monorail/Gyro-stabilized monorail] for description and IRL example, and [https://wikimon.net/Trailmon here] ([https://web.archive.org/web/20240227205547/https://wikimon.net/Trailmon archived]) for good fictional examples&lt;br /&gt;
|-&lt;br /&gt;
|m ||Minimum gauge rail; [https://en.wikipedia.org/wiki/Minimum-gauge_railway 15 in (381 mm), 400 mm (15+3⁄4 in), 16 in (406 mm), 18 in (457 mm), 19 in (483 mm), 500 mm (19+3⁄4 in) or 20 in (508 mm)]&lt;br /&gt;
|-&lt;br /&gt;
|n ||600mm &amp;quot;Decauville&amp;quot; or &amp;quot;Feldsbahn&amp;quot;, formerly labelled &amp;quot;NG60&amp;quot; before standardization; the most common narrow gauge track type in OpenTTD other than metre gauge, 600mm gauge is thus ideal for taking up the &amp;quot;n&amp;quot; gauge, though this is an ultimately optional distinction&lt;br /&gt;
|-&lt;br /&gt;
|7 ||750mm, Bosnian gauge (760 mm), and 762mm; all start with 7 and are close in size&lt;br /&gt;
|-&lt;br /&gt;
|3 ||Swedish 3 foot (891 mm), 900mm, 3 foot (914 mm) and Italian Metre (950mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|R ||Metre gauge; potentially compatible with base tramtype &amp;quot;RABN&amp;quot;, most early tramways were metre gauge&lt;br /&gt;
|-&lt;br /&gt;
|4 ||4 foot gauge (1219 mm), and possibly 4&#039;6&amp;quot; in. (1372 mm) if standardization is needed for 1372mm&lt;br /&gt;
|-&lt;br /&gt;
|s ||Scotch gauge (1372 mm)&lt;br /&gt;
|-&lt;br /&gt;
|S ||Standard gauge; already implemented in original standardized railtype scheme, but could include near-standard (1432 mm) as well as existing true standard (1435 mm) and is also potentially compatible with the SABN tramtype&lt;br /&gt;
|-&lt;br /&gt;
|X ||Omni-gauge rail (for at-grade multi-gauge crossings and stations); ultrabroad/secondary broad/primary broad/standard/primary narrow/secondary narrow gauge&lt;br /&gt;
|-&lt;br /&gt;
|x ||Multi-gauge rail (for at-grade multi-gauge crossings and stations); secondary broad/primary broad/standard/primary narrow/secondary narrow&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;+&amp;lt;/nowiki&amp;gt; ||Quad-gauge (Four-gauge) rail (for at-grade multi-gauge crossings and stations); secondary broad/primary broad/standard/primary narrow&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt; ||Four-gauge rail (for at-grade multi-gauge crossings and stations); primary broad/standard/primary narrow/secondary narrow&lt;br /&gt;
|-&lt;br /&gt;
|b ||Broad gauge rail - As broad gauge is a rare tracktype, it may still be feasible to cement B and b as broad gauges of two differing sizes, but the rarity among gauges in the real world would need to match; Italian (1445 mm) and Dresden (1450 mm) gauges may be better grouped here&lt;br /&gt;
|-&lt;br /&gt;
|t ||Leipzig trams (1458 mm) and Greater Toronto Area streetcars (1495 mm)&lt;br /&gt;
|-&lt;br /&gt;
|5 ||1520mm and 5 foot (1524 mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|V ||Pennsylvanian (1581 mm and 1588 mm) and Australian &amp;quot;Victorian&amp;quot; (1600 mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|6 ||6 foot (1829 mm) broad gauge&lt;br /&gt;
|-&lt;br /&gt;
|g ||Brunel&#039;s Great Western Railway gauge (2140 mm)&lt;br /&gt;
|-&lt;br /&gt;
|B ||Biggest Broad gauge rail - As broad gauge is a rare tracktype, and the variation in common real life track types too wide, it may be desirable to cement B and b as broad gauges of two differing sizes; With no real life examples that match the usage frequency of &amp;quot;B&amp;quot;, the gauge might best draw inspiration from the infamous [https://en.wikipedia.org/wiki/Breitspurbahn Breitspurbahn] (3000 mm) and [https://perma.cc/KQ2Z-5RCR the never-built vehicles designed for it], or from the [https://en.wikipedia.org/wiki/Brighton_and_Rottingdean_Seashore_Electric_Railway Brighton &amp;amp; Rottingdean Seashore Electric Railway] (18 ft/5,486 mm) &lt;br /&gt;
|-&lt;br /&gt;
|L ||Maglevs that have a u-shaped track&lt;br /&gt;
|-&lt;br /&gt;
|T ||Maglevs that have a monorail track&lt;br /&gt;
|-&lt;br /&gt;
|F ||Flightrail; A [https://web.archive.org/web/20231213122530/http://www.flightrail.com/ system capable of high speeds and steep hill grades] that uses a pneumatic pipe for propulsion (see &amp;quot;P&amp;quot; under energy sources), and &#039;&#039;wheels pointed inwards at a 45-degree angle&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
It might be preferred to instead use/keep &amp;quot;B&amp;quot; for &amp;quot;all (current) broad gauges&amp;quot; (mostly Victorian gauge) instead using lowercase &amp;quot;b&amp;quot; for Brunel/GWR broad gauge. This wouldn&#039;t be to different from narrow gauge since the lesser used ones are lowercase and fallback to the uppercase ones.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Electrification !!Fallback !!Notes&lt;br /&gt;
|-&lt;br /&gt;
|1 ||Unspecified monorail electrification |||MONO (the whole label) ||&lt;br /&gt;
|-&lt;br /&gt;
|S ||Maglevs that use a synchronous linear motor ||N/A ||&lt;br /&gt;
|-&lt;br /&gt;
|I ||Maglevs that use a linear induction motor ||MGLV (the whole label) ||&lt;br /&gt;
|-&lt;br /&gt;
|V ||Vactrains/Hyperloop ||t, then I, then MGLV (the whole label) ||&lt;br /&gt;
|-&lt;br /&gt;
|t ||&amp;quot;Universal custom tunnel&amp;quot; (for electrified sub-surface rail tunnels) ||c, then p, then 7, then U (mandatory) ||&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt; ||Universal energy type (&#039;&#039;not&#039;&#039; meant to replace &amp;quot;***N&amp;quot;; use for vehicles such as driving cabs which cannot move under their own power regardless, if desired) ||N/A (Be sure to put &amp;quot;***E&amp;quot; in the [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]] of a &amp;quot;***-&amp;quot; label) ||(&#039;&#039;Do not give a fallback or use for railtypes, this is for unpowered &amp;quot;locomotives&amp;quot; only!&#039;&#039;)&lt;br /&gt;
|-&lt;br /&gt;
|5 ||750v DC Outer 3rd Rail (&amp;quot;MTRO&amp;quot; or &amp;quot;SA_3&amp;quot;) and 630v DC Inner 3rd/4th Rail; a total of 5 rails (2 for wheels, 3 for electricity), plausible in the London Underground network ||3 or 4 ||&lt;br /&gt;
|-&lt;br /&gt;
|U ||750v DC Outer 3rd Rail (&amp;quot;MTRO&amp;quot; or &amp;quot;SA_3&amp;quot;), 630v DC Inner 3rd/4th Rail and universal catenary (SAEE); a total of 5 rails (2 for wheels, 3 for electricity) if only one gauge, plausible in the London Underground network and an &amp;quot;ultimate&amp;quot; dual rail electrification without being a cheat (make it expensive or toggle-able?) as SAEU or as XAEU (universal dual rail electrified tracks) ||E ||&lt;br /&gt;
|-&lt;br /&gt;
|7 ||750v DC Outer 3rd Rail (&amp;quot;MTRO&amp;quot; or &amp;quot;SA_3&amp;quot;), 630v DC Inner 3rd/4th Rail, Three-phase AC (SA_T) 3rd/4th rail &amp;amp; catenary, and universal catenary (SA_E); a total of 7 rails (2 for wheels, 5 for electricity) if only one gauge, a truly universal dual rail electrification without being impossible (make it VERY expensive or toggle-able so it isn&#039;t cheat-y?) as SAE7, XAE7 or even as XRE7 (universal electrified rack-equipped dual rail tracks) ||U ||&lt;br /&gt;
|-&lt;br /&gt;
|P ||Pneumatic tube with physical piston slit, or closed pneumatic tube with magnetic piston (i.e. that used by [https://web.archive.org/web/20231213122530/http://www.flightrail.com/ Flightrail]) ||N/A ||&lt;br /&gt;
|-&lt;br /&gt;
|p ||Pneumatic and universal electrical power ||P or 7 (Be sure to put &amp;quot;***_&amp;quot; and ***P&amp;quot; in the [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]] of a &amp;quot;***p&amp;quot; label) ||&lt;br /&gt;
|-&lt;br /&gt;
|c ||Cheat electrification type; use solely for _R_c railtype ||p, then 7, then U, then E, then N, then &amp;quot;SA_-&amp;quot; (the whole label) ||&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Lurkmore</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=Standardized_Railtype_Scheme&amp;diff=4748</id>
		<title>Standardized Railtype Scheme</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=Standardized_Railtype_Scheme&amp;diff=4748"/>
		<updated>2024-02-28T06:35:29Z</updated>

		<summary type="html">&lt;p&gt;Lurkmore: /* Possible additions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This railtype label scheme aims to bring order to the uncontrolled growth of railtype labels. It groups the rail types into what matters from a technical perspective. The scheme provides a standardized way of defining railtype labels, based on track gauge and type, speed class, allowable axle weight and electrification type.&lt;br /&gt;
&lt;br /&gt;
It is the explicit intent of this scheme to decouple track sets from vehicle sets to facilitate easy mixing. This way the player can select a track set of choice to go with a train set of choice. It allows the player to play with or without axle load classes, or with or without speed limit classes, simply by loading a track set that does or does not provide these features. In some cases it will also be possible to combine niche track sets, for instance a standard gauge track set with a narrow gauge and a metro track set.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== The Label Scheme ==&lt;br /&gt;
A railtype label consists of four characters. In this scheme, each position has a different purpose:&lt;br /&gt;
# Track gauge and type class (e.g. standard gauge rail, narrow gauge rail, monorail)&lt;br /&gt;
# Speed limit class&lt;br /&gt;
# Axle load class (maximum allowed axle weight for this track)&lt;br /&gt;
# Energy source type class&lt;br /&gt;
&lt;br /&gt;
In the next sections, each of the four positions will be explained.&lt;br /&gt;
&lt;br /&gt;
=== Track gauge and type class [X***] ===&lt;br /&gt;
The first position in the railtype label defines track gauge and/or track type class. The following classes are currently defined:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Track type/gauge&lt;br /&gt;
|- &lt;br /&gt;
|S ||Standard gauge rail&lt;br /&gt;
|-&lt;br /&gt;
|B ||Broad gauge rail &lt;br /&gt;
|-&lt;br /&gt;
|N ||Narrow gauge rail&lt;br /&gt;
|-&lt;br /&gt;
|n ||Secondary narrow gauge rail (e.g. when providing both metre and cape gauge, always use N in case of just one type of narrow gauge)&lt;br /&gt;
|-&lt;br /&gt;
|D ||Dual gauge rail, standard/broad gauge&lt;br /&gt;
|-&lt;br /&gt;
|d ||Dual gauge rail, standard/narrow gauge&lt;br /&gt;
|-&lt;br /&gt;
|M ||Monorail&lt;br /&gt;
|-&lt;br /&gt;
|L ||Magnetic Levitation&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Speed limit class [*X**] ===&lt;br /&gt;
The second position in the railtype label defines the speed limit class. These classes do not map to a fixed numeric value, but are used to define an internal speed limit order for the track set. This means that if your track set has two different speed limits for track types that are otherwise identical, you&#039;ll use letters A and B here. In case of three different speed limits, use A, B and C. In case your track set does not employ speed limits, always use A. Train sets do not care about the speed limit, and will always set the lowest speed class, i.e. A.&lt;br /&gt;
&lt;br /&gt;
This gives for instance the following options:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||no speed limits&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;OR&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||low speed&lt;br /&gt;
|-&lt;br /&gt;
|B ||high speed&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;OR&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||low speed&lt;br /&gt;
|-&lt;br /&gt;
|B ||medium speed&lt;br /&gt;
|-&lt;br /&gt;
|C ||high speed&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;etc.&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear:left;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The speed limit class may also be used for some advanced features of the label scheme, like specialized track types and eyecandy purposes. Be careful not to break the compatibility with other sets when using the speed limit class for these purposes.&lt;br /&gt;
&lt;br /&gt;
An example of a special use is rack rail. In the French set it is used to give rack rail engines a higher speed and TE than normal rail engines when used on rack rail. When defining trains with a special speed limit class, always allow a fallback to speed limit class A via the railtype table.&lt;br /&gt;
&lt;br /&gt;
An example of eyecandy use are urban tracks. These are a variation of regular tracks, but with concrete ground tiles to better match the urban environment. Train sets must not define vehicles for eyecandy classes. If you think you have special vehicles that should only run on the eyecandy class, it is &#039;&#039;not&#039;&#039; eyecandy but a separate track gauge/type.&lt;br /&gt;
&lt;br /&gt;
The following special and eyecandy classes have been defined so far:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Description !!Type !!Used by&lt;br /&gt;
|- &lt;br /&gt;
|A-H ||speed limits ||colspan=&amp;quot;2&amp;quot;|reserved&lt;br /&gt;
|- &lt;br /&gt;
|R ||rack rail ||special ||French Set Rails &lt;br /&gt;
|- &lt;br /&gt;
|S ||subterranean ||eyecandy ||Metro Track Set&lt;br /&gt;
|- &lt;br /&gt;
|U ||urban ||eyecandy ||Metro Track Set&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Axle load class [**X*] ===&lt;br /&gt;
The third position defines the axle weight limit. Heavy trains cannot run on tracks with a low axle weight limit; these trains need more expensive tracks with a heigher weight limit. There are five axle load classes &#039;&#039;&#039;A&#039;&#039;&#039; through &#039;&#039;&#039;E&#039;&#039;&#039;. &#039;&#039;&#039;A&#039;&#039;&#039; is for the lowest axle load limit, &#039;&#039;&#039;E&#039;&#039;&#039; for the highest. The exact axle load attached to each class is relative to the track gauge/type and trains in the set. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A train set should set the appropriate axle weight for each train via the railtype label, as to make the set work with track sets that do provide tracks with different weight limits, even if you don&#039;t care about it for your trainset. Split all vehicles of a certain track gauge/type into five groups of similar axle weight. The group with the lowest axle weights will get class &#039;&#039;&#039;A&#039;&#039;&#039;, the second lowest class &#039;&#039;&#039;B&#039;&#039;&#039;, etc. up to the group with the highest axle weights which will get class &#039;&#039;&#039;E&#039;&#039;&#039;. Do the same for the other track gauge/types if your train set has those.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A track set does not have to provide a dedicated track type for each axle weight limit. A track set that does not provide a dedicated track for each axle load class, must make sure to map all undefined axle load classes to a real railtype using property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]]. This way a train set can rely on all labels for all axle load classes being available. Example: if you only want to provide 2 axle load classes for standard gauge unelectrified with no speed limits, you can map SA&#039;&#039;&#039;A&#039;&#039;&#039;N + SA&#039;&#039;&#039;B&#039;&#039;&#039;N to SA&#039;&#039;&#039;C&#039;&#039;&#039;N and SA&#039;&#039;&#039;D&#039;&#039;&#039;N to SA&#039;&#039;&#039;E&#039;&#039;&#039;N if the cost difference between the two railtypes is high, or SA&#039;&#039;&#039;A&#039;&#039;&#039;N to SA&#039;&#039;&#039;B&#039;&#039;&#039;N and SA&#039;&#039;&#039;C&#039;&#039;&#039;N + SA&#039;&#039;&#039;D&#039;&#039;&#039;N to SA&#039;&#039;&#039;E&#039;&#039;&#039;N if the cost difference is low.&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t want to provide any axle load classes in your track set, it doesn&#039;t really matter what axle load class you choose for the track, as you&#039;ll be mapping all other classes to this track anyways. But the lowest or highest class are the obvious choice. Example: if your track set only provides narrow gauge unelectrified track with no speed limits and no axle load limits, you may use NA&#039;&#039;&#039;A&#039;&#039;&#039;N for the track label, and provide NA&#039;&#039;&#039;B&#039;&#039;&#039;N, NA&#039;&#039;&#039;C&#039;&#039;&#039;N, NA&#039;&#039;&#039;D&#039;&#039;&#039;N, NA&#039;&#039;&#039;E&#039;&#039;&#039;N in property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you need more than five axle load class, you may use lowercase letters for very low axle loads and continue the uppercase letters for very high axle loads. Be advised that your train set may not assume the existance of any other class than &#039;&#039;&#039;A&#039;&#039;&#039; through &#039;&#039;&#039;E&#039;&#039;&#039;, so when the range make sure to program your railtype table such that trains with such a class will fall back to class &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;E&#039;&#039;&#039;. If you make a track set with an extended range, be aware that not all train sets will define trains for these tracks. In general: only do this in case of a train set with a matching track set.&lt;br /&gt;
&lt;br /&gt;
For the lowercase letters, &#039;&#039;&#039;b&#039;&#039;&#039; is lower than &#039;&#039;&#039;a&#039;&#039;&#039;, so for increasing axle load limits: b &amp;lt; a &amp;lt; A &amp;lt; B &amp;lt; C etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that the axle load classes never map to a specific weight in tonnes. For that reason it does not make sense to add a numeric value for the axle load to the name of a track type or in the extended purchase info of a train. Instead use the relative expressions &#039;very low&#039;, &#039;low&#039;, &#039;medium&#039;, &#039;high&#039; and &#039;very high&#039; or use the class letters directly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Energy source type class [***X] ===&lt;br /&gt;
The last position defines the energy source type class. This is split in generic energy source types like overhead wires and third rail and specialized types like alternating and direct current.&lt;br /&gt;
&lt;br /&gt;
A track set that only uses specialized types, should map the generic types to the most suitable specialized type in the set.&lt;br /&gt;
&lt;br /&gt;
A vehicle set that uses specialized types should define a generic type as fallback, via the railtype table. If such a fallback is omitted, please note that certain vehicles may be unavailable depending on track set loaded.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Generic energy type classes&lt;br /&gt;
|-&lt;br /&gt;
|N ||no electrification&lt;br /&gt;
|-&lt;br /&gt;
|E ||overhead wires/catenary electrification&lt;br /&gt;
|-&lt;br /&gt;
|3 ||3rd rail electrification&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Specialized energy type classes !!Vehicle set fallback&lt;br /&gt;
|-&lt;br /&gt;
|Z ||3rd rail and catenary electrification || 3 or E&lt;br /&gt;
|-&lt;br /&gt;
|4 ||4th rail electrification || 3&lt;br /&gt;
|-&lt;br /&gt;
|Y ||4th rail and catenary electrification || 4 or E&lt;br /&gt;
|-&lt;br /&gt;
|T ||[http://en.wikipedia.org/wiki/Three-phase_AC_railway_electrification three phase AC electrification] || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|D ||DC catenary electrification || E&lt;br /&gt;
|-&lt;br /&gt;
|d ||low voltage DC catenary electrification (only when D also used in set) || First A then E&lt;br /&gt;
|-&lt;br /&gt;
|A ||AC catenary electrification || E&lt;br /&gt;
|-&lt;br /&gt;
|a ||low voltage AC catenary electrification (only when A also used in set) || First A then E&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
If you want multi-voltage/current vehicles in your set (i.e. a train that can run on both AC and DC current), you have to define a dedicated railtype for those vehicles. Without the railtype, it&#039;s not possible to define vehicles with this property. If you only have vehicles that can run on either one type of voltage/current or on all types of voltage/current (e.g. a 2-system if you only have &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;D&#039;&#039;&#039; tracks, or a 4-system in case of all &#039;&#039;&#039;A&#039;&#039;&#039;, &#039;&#039;&#039;a&#039;&#039;&#039;, &#039;&#039;&#039;D&#039;&#039;&#039; and &#039;&#039;&#039;d&#039;&#039;&#039;), then use the generic class &#039;&#039;&#039;E&#039;&#039;&#039; for vehicles that should be able to run on all different voltage/currents. Also the track set needs to have one at least one railtype with class &#039;&#039;&#039;E&#039;&#039;&#039; defined.&lt;br /&gt;
&lt;br /&gt;
Note that if you want more than one type of multi-voltage/current, you&#039;ll quickly get a combinatory explosion of railtype labels, so plan carefully or do not attempt it. For every different multi-voltage/current vehicle type a dedicated railtype is needed. If you want all possible combinations, then you need to define an additional 8 classes. It is not recommended to make your train/track set this complicated.&lt;br /&gt;
&lt;br /&gt;
Example approach for a 4-system set, with trains that can run on either one or all systems:&lt;br /&gt;
* &#039;&#039;&#039;E&#039;&#039;&#039;: generic catenary-powered electric engines. &amp;quot;universal&amp;quot; [4-system] if any of &#039;&#039;&#039;D&#039;&#039;&#039;/&#039;&#039;&#039;d&#039;&#039;&#039;/&#039;&#039;&#039;A&#039;&#039;&#039;/&#039;&#039;&#039;a&#039;&#039;&#039; are defined.&lt;br /&gt;
* &#039;&#039;&#039;A&#039;&#039;&#039;: generic AC catenary electric engines. 25kV only if &#039;&#039;&#039;a&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;A&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;a&#039;&#039;&#039;: 15kV AC catenary electric engines. Only defined if &#039;&#039;&#039;A&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;a&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;D&#039;&#039;&#039;: generic DC catenary electric engines. 3kV if &#039;&#039;&#039;d&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;D&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;d&#039;&#039;&#039;: 1.5kV DC catenary electric engines. Only defined if &#039;&#039;&#039;D&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;D&#039;&#039;&#039; and &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;d&#039;&#039;&#039;.&lt;br /&gt;
For a 2-system set, you can simply drop &#039;&#039;&#039;a&#039;&#039;&#039; and &#039;&#039;&#039;d&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Standard labels: RAIL, ELRL, MONO, MGLV ===&lt;br /&gt;
It&#039;s not possible to undefine the standard railtypes RAIL, ELRL, MONO and MGLV. The game will always add those if there are vehicles defined for these track types. As a result, for a track set it&#039;s best not to ignore those standard labels, but rather work with them and define them in the set. If your track set does not have monorail or maglev tracks, there of course is no need to define those. But if your track set defines anything that resembles unelectrified or electrified rail, you should use the RAIL and ELRL labels. Matching labels from the above scheme will then be defined in property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
As vehicles from NewGRFs that do not use explicit railtypes will end up on these standard railtypes, you should use RAIL instead of whatever type could be regarded as the most commonly used unelectrified type, ELRL instead of the most commonly used electrified type and so on. The label according to this scheme is then set as an alternate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Summary for track sets ==&lt;br /&gt;
This section summarizes the above for track sets.&lt;br /&gt;
&lt;br /&gt;
; [X***] Track gauge and type class&lt;br /&gt;
* Define at least one track type for every track gauge/type class you want in your set.&lt;br /&gt;
* If you only provide tracks for one gauge/type, consider leaving some free railtypes so a player can load an additional set for some other type.&lt;br /&gt;
; [*X**] Speed limit class&lt;br /&gt;
* Make sure class A is always available, either directly or via an alternate label.&lt;br /&gt;
* Use only class A if you don&#039;t want speed limits;&lt;br /&gt;
* With speed limits, A is the lowest speed limit. Continue with B, C, etc. for increasing speed limits;&lt;br /&gt;
* The speed class can also be used to implement additional eye-candy track types, use letters higher in the alphabet for this.&lt;br /&gt;
; [**X*] Axle load class&lt;br /&gt;
* Always define all classes A through E for every track type class / electrification combination, either:&lt;br /&gt;
** Directly via a real railtype definition;&lt;br /&gt;
** Indirectly via the alternate rail type label list, property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
* Extend the predefined classes only if you also provide a train set that makes use of these.&lt;br /&gt;
; [***X] Energy source type class&lt;br /&gt;
* If your set only uses specialized classes, always map the generic classes to the closest matching specialized type via property 1D.&lt;br /&gt;
; Standard labels [RAIL, ELRL, MONO, MGLV]&lt;br /&gt;
* Always define the standard labels when possible, instead of what would be the equivalent of the standard label in this scheme.&lt;br /&gt;
* Map the equivalent labels from this scheme to the standard labels using property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
Or, put differently, for each gauge/type, select one or more energy source types. For each type/energy combination provide all axle load classes for the speed class &amp;quot;A&amp;quot;, either as a real type or as an alternate of another type. Provide more types with a different speed letter if you want to provide several different speeds or other eye-candy tracks.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Summary for train sets ==&lt;br /&gt;
This section summarizes the above for train sets.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; [X***] Track gauge and type class&lt;br /&gt;
* Use the track type class that matches the vehicle;&lt;br /&gt;
* Define a fallback type via the railtype table in case you want the vehicle to be available on a different track if no matching track set is loaded.&lt;br /&gt;
** Specialized subtypes like &amp;quot;n&amp;quot; might not always be available. If you want those vehicles to be still available then, fall back the the generic class (e.g. &amp;quot;N&amp;quot;).&lt;br /&gt;
; [*X**] Speed limit class &lt;br /&gt;
* Always use class A for every vehicle.&lt;br /&gt;
; [**X*] Axle load class&lt;br /&gt;
* Use all classes A through E according to the maximum axle weight of the vehicle.&lt;br /&gt;
* Extend the predefined classes only if you also provide a track set that makes use of these;&lt;br /&gt;
** When extending the predefined classes A through E, define a fallback type via the railtype table in case you want the vehicle to be available if no matching track set is loaded.&lt;br /&gt;
; [***X] Energy source type class&lt;br /&gt;
* Use the energy source type class that matches the vehicle;&lt;br /&gt;
* When using specialized classes, define a fallback type via the railtype table in case you want the vehicle to be available if no matching track set is loaded.&lt;br /&gt;
; Standard labels [RAIL, ELRL, MONO, MGLV]&lt;br /&gt;
* Define a fallback type to the standard labels via the railtype table in case you want the vehicle to be available on the standard tracks if no matching track set is loaded.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Be as specific as you want when selecting the railtype, it is the job of the track set to select a playable, reduced subset out of all possible type combinations.&lt;br /&gt;
&lt;br /&gt;
== In case you&#039;re not convinced by this scheme ==&lt;br /&gt;
Adopting this scheme gives the player freedom to use any track set in combination with any train set that follow the scheme. &lt;br /&gt;
&lt;br /&gt;
This means that you can make your train set compatible with track sets that provide axle load classes, and track sets that provide speed limits, and at the same time with track sets that provide none of this. This way, the player can decide to play with or without axle load classes, or with or without speed limits, simply by loading a track set that does or does not provide these features.&lt;br /&gt;
&lt;br /&gt;
And for your track set, it means that you can make it as simple or as complicated as you want (within the 64 track type limit), while not having to worry about compatibility with train sets.&lt;br /&gt;
&lt;br /&gt;
Still not convinced? Feel free to use railtype labels of your own, but know that you will likely come to regret that at some point in the future.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Forum topic==&lt;br /&gt;
If you want to discuss the standardized railtype scheme or have any questions about it, you can visit [http://www.tt-forums.net/viewtopic.php?t=59379 the forum topic].&lt;br /&gt;
&lt;br /&gt;
==&amp;quot;Innsbruck 2022 Convention&amp;quot; for partial compliance==&lt;br /&gt;
&lt;br /&gt;
This is really esoteric, but eh. It was the product of long discussion / debate / argument / reasoning between grf authors.&lt;br /&gt;
&lt;br /&gt;
1. The Standardized Railtype Scheme &#039;&#039;&#039;is a useful tool&#039;&#039;&#039; for providing reliable compatibility between train grfs and railtype grfs.&lt;br /&gt;
&lt;br /&gt;
2. The &#039;&#039;&#039;axle load class&#039;&#039;&#039; in the scheme presents a number of issues for compliance.&lt;br /&gt;
&lt;br /&gt;
2.1. Over 10 years since the scheme was standardised, not many train grfs implement multiple axle load classes &#039;&#039;&#039;as required by the scheme&#039;&#039;&#039;.  Known examples that &#039;&#039;&#039;do&#039;&#039;&#039; comply include Dutch Train Set, French Narrow Gauge Trains, and Finnish Trains.&lt;br /&gt;
&lt;br /&gt;
2.2. Elements of the axle load rules have proven hard to interpret.  For example:&lt;br /&gt;
&lt;br /&gt;
* is it compliant to use &#039;&#039;fewer&#039;&#039; than 5 classes in a train grf?  There is a lack of consensus on this.&lt;br /&gt;
* axle load is only one of many factors that govern whether a vehicle is compatible with a route, for example loading gauge, minimum curve, signalling types etc&lt;br /&gt;
&lt;br /&gt;
2.3. Meanwhile &#039;&#039;multiple existing train grfs use class &#039;&#039;A&#039;&#039; for the axle load for all trains&#039;&#039; (except where relying on default railtypes such as RAIL and ELRL).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3. The Innsbruck 2022 Convention uses class &#039;&#039;A&#039;&#039; for axle load for &#039;&#039;&#039;all&#039;&#039;&#039; trains in a train grf (except where relying on default railtypes such as RAIL and ELRL).&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is &#039;&#039;&#039;not&#039;&#039;&#039; fully compliant with the Standardized Railtype Scheme and does not claim to be.&lt;br /&gt;
&lt;br /&gt;
However train grfs using the Innsbruck 2022 Convention are &#039;&#039;broadly compatible&#039;&#039; with railtype grfs using the Standardized Railtype Scheme.  &lt;br /&gt;
&lt;br /&gt;
Obligatory XKCD link about &#039;standards&#039;: https://xkcd.com/927/&lt;br /&gt;
&lt;br /&gt;
===Known issues===&lt;br /&gt;
&lt;br /&gt;
Known problems are that trains using only class &#039;A&#039; may limit the ability of railtype grf authors to achieve their design goals for separating railtypes by axle load.  &lt;br /&gt;
But on reflection, it can be seen that a train grf might not be able to provide a broad enough range of vehicles to cover at least 5 axle load classes.&lt;br /&gt;
&lt;br /&gt;
3.1. The Innsbruck 2022 Convention is &#039;&#039;&#039;not&#039;&#039;&#039; appropriate for train grf authors who wish to provide more than one axle load class.&lt;br /&gt;
&lt;br /&gt;
3.2. The Innsbruck 2022 Convention treats the meaning of class &#039;&#039;A&#039;&#039; as &#039;&#039;undefined&#039;&#039;, &#039;&#039;ignored&#039;&#039; or &#039;&#039;compatible with most restricted railtype&#039;&#039; for axle load.  &lt;br /&gt;
&lt;br /&gt;
Axle load class &#039;&#039;A&#039;&#039; &#039;&#039;&#039;cannot&#039;&#039;&#039; be safely interpreted as &#039;&#039;universal&#039;&#039; because from the perspective of a railtype grf &#039;&#039;A&#039;&#039; is &#039;&#039;most restricted railtype&#039;&#039;, where &#039;&#039;universal&#039;&#039; is better represented as &#039;&#039;least restricted railtype&#039;&#039;. Depending how many axle load classes are in use by the railtype grf, this could be class &#039;&#039;B&#039;&#039;, &#039;&#039;C&#039;&#039;, &#039;&#039;D&#039;&#039;, &#039;&#039;E&#039;&#039; etc.  To illustrate this issue, take the following scenario&lt;br /&gt;
&lt;br /&gt;
* railtype grf defines axle loads &#039;&#039;A&#039;&#039; to &#039;&#039;E&#039;&#039;. In this case the railtype grf author intends that &#039;&#039;A&#039;&#039; is compatible with the smallest range of vehicles, &#039;&#039;E&#039;&#039; is compatible with the largest range of vehicles, and &#039;&#039;B&#039;&#039;, &#039;&#039;C&#039;&#039; and &#039;&#039;D&#039;&#039; are compatible with some intermediate ranges of vehicles&lt;br /&gt;
* but the vehicle grf author has defined all vehicles to be axle load &#039;&#039;A&#039;&#039; in an attempt to express this vehicle is &#039;&#039;universal&#039;&#039;.  The result in the game is that an identical range of vehicles will be compatible with railtypes &#039;&#039;A&#039;&#039; to &#039;&#039;E&#039;&#039;.  &lt;br /&gt;
&lt;br /&gt;
This is clearly &#039;&#039;&#039;not&#039;&#039;&#039; the intended outcome of the railtype author. But nor is it clear within the spec that the vehicle author has particularly done anything wrong. &lt;br /&gt;
&lt;br /&gt;
It &#039;&#039;would&#039;&#039; be possible to use railtype availability testing to adjust the vehicle property 05 (track_type) to fit the highest defined axle load (&#039;&#039;E&#039;&#039; in this example case), but this is not insignificant work, and it&#039;s unlikely to be widely adopted by vehicle grf authors.  Nor would this solution achieve &#039;&#039;universal&#039;&#039; as all vehicles in vehicle grf then would be incompatible with types &#039;&#039;A&#039;&#039; through &#039;&#039;D&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
3.3. When the Innsbruck 2022 Convention is used, this &#039;&#039;&#039;does not prevent&#039;&#039;&#039; a train grf being extended in some future release to achieve full compliance with Standardized Railtype Scheme. &#039;&#039;That choice remains with train grf authors&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
3.4. If 2012 could be revisited, providing an optional &#039;&#039;_&#039;&#039; axle load class in the Standardized Railtype Scheme for &#039;&#039;undefined&#039;&#039; would have been preferable, but as of 2022, &#039;&#039;A&#039;&#039; is already widely used for this purpose, and time travel is not known to be possible.&lt;br /&gt;
&lt;br /&gt;
==Extended multivoltage support addition==&lt;br /&gt;
These are extensions to the energy source type class currently supported by SETS and xUSSR Rails which allow trainsets to code trains which are limited to a certain selection of voltages. As stated in the energy source type class section this might not be of use for all sets, as such it is optional but still recommended for trainsets for ideal functionality with tracksets which support the extended labels.&lt;br /&gt;
{|&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Specialized energy type classes !!Vehicle set fallback&lt;br /&gt;
|-&lt;br /&gt;
|* ||Equivilent to A, a, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|&#039; ||Equivilent to A, a and D || E&lt;br /&gt;
|-&lt;br /&gt;
|^ ||Equivilent to A, a and d || E&lt;br /&gt;
|-&lt;br /&gt;
|_ ||Equivilent to A, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
|, ||Equivilent to a, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|$ ||Equivilent to A and a  || First A then E&lt;br /&gt;
|-&lt;br /&gt;
|= ||Equivilent to D and d  || First D then E&lt;br /&gt;
|-&lt;br /&gt;
|) ||Equivilent to A and D  || E&lt;br /&gt;
|-&lt;br /&gt;
|( ||Equivilent to A and d  || E&lt;br /&gt;
|-&lt;br /&gt;
|] ||Equivilent to a and D  || E&lt;br /&gt;
|-&lt;br /&gt;
|[ ||Equivilent to a and d  || E&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Possible additions==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Track type/gauge&lt;br /&gt;
|-&lt;br /&gt;
|_ ||Universal &amp;quot;cheat&amp;quot; rail; ALWAYS add &amp;quot;_A_-&amp;quot; and &amp;quot;_A_N&amp;quot; to EVERY [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]] (as well as the equivalent electrified/pneumatic railtype that is powered on your electrified/pneumatic railtype to support it if you are making a new railtype set, older sets can be covered by fix or patch grfs) and &amp;quot;_A_t&amp;quot; to EVERY [[NML:Railtypes#Railtype_properties|powered_railtype_list (NML)]]&lt;br /&gt;
|-&lt;br /&gt;
|0 ||(A number zero, not a letter &amp;quot;Oh&amp;quot;) No track, eyecandy-use only&lt;br /&gt;
|-&lt;br /&gt;
|U ||[https://perma.cc/93VE-8JQZ &amp;quot;Ukrainian monorail&amp;quot; or Şaropoí̈zd (Шаропоїзд)], a u-shaped concrete &amp;quot;monorail trench&amp;quot; from 1920&#039;s Soviet Union; see [https://www.tt-forums.net/viewtopic.php?f=26&amp;amp;t=47432 the Yarmanchuk Express] for graphics&lt;br /&gt;
|-&lt;br /&gt;
|1 ||Early Monorail; See [https://perma.cc/6BVS-2P2X here] and [https://perma.cc/VCG2-ATUA here]&lt;br /&gt;
|-&lt;br /&gt;
|G ||Gyrail; [https://en.wikipedia.org/wiki/Gyro_monorail Gyro monorail/Gyroscopic monorail/Gyro-stabilized monorail] for description and IRL example, and [https://wikimon.net/Trailmon here] ([https://web.archive.org/web/20240227205547/https://wikimon.net/Trailmon archived]) for good fictional examples&lt;br /&gt;
|-&lt;br /&gt;
|m ||Minimum gauge rail; [https://en.wikipedia.org/wiki/Minimum-gauge_railway 15 in (381 mm), 400 mm (15+3⁄4 in), 16 in (406 mm), 18 in (457 mm), 19 in (483 mm), 500 mm (19+3⁄4 in) or 20 in (508 mm)]&lt;br /&gt;
|-&lt;br /&gt;
|n ||600mm &amp;quot;Decauville&amp;quot; or &amp;quot;Feldsbahn&amp;quot;, formerly labelled &amp;quot;NG60&amp;quot; before standardization; the most common narrow gauge track type in OpenTTD other than metre gauge, 600mm gauge is thus ideal for taking up the &amp;quot;n&amp;quot; gauge, though this is an ultimately optional distinction&lt;br /&gt;
|-&lt;br /&gt;
|7 ||750mm, Bosnian gauge (760 mm), and 762mm; all start with 7 and are close in size&lt;br /&gt;
|-&lt;br /&gt;
|3 ||Swedish 3 foot (891 mm), 900mm, 3 foot (914 mm) and Italian Metre (950mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|R ||Metre gauge; potentially compatible with base tramtype &amp;quot;RABN&amp;quot;, most early tramways were metre gauge&lt;br /&gt;
|-&lt;br /&gt;
|4 ||4 foot gauge (1219 mm), and possibly 4&#039;6&amp;quot; in. (1372 mm) if standardization is needed for 1372mm&lt;br /&gt;
|-&lt;br /&gt;
|s ||Scotch gauge (1372 mm)&lt;br /&gt;
|-&lt;br /&gt;
|S ||Standard gauge; already implemented in original standardized railtype scheme, but could include near-standard (1432 mm) as well as existing true standard (1435 mm) and is also potentially compatible with the SABN tramtype&lt;br /&gt;
|-&lt;br /&gt;
|X ||Omni-gauge rail (for at-grade multi-gauge crossings and stations); ultrabroad/secondary broad/primary broad/standard/primary narrow/secondary narrow gauge&lt;br /&gt;
|-&lt;br /&gt;
|x ||Multi-gauge rail (for at-grade multi-gauge crossings and stations); secondary broad/primary broad/standard/primary narrow/secondary narrow&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;+&amp;lt;/nowiki&amp;gt; ||Quad-gauge (Four-gauge) rail (for at-grade multi-gauge crossings and stations); secondary broad/primary broad/standard/primary narrow&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt; ||Four-gauge rail (for at-grade multi-gauge crossings and stations); primary broad/standard/primary narrow/secondary narrow&lt;br /&gt;
|-&lt;br /&gt;
|b ||Broad gauge rail - As broad gauge is a rare tracktype, it may still be feasible to cement B and b as broad gauges of two differing sizes, but the rarity among gauges in the real world would need to match; Italian (1445 mm) and Dresden (1450 mm) gauges may be better grouped here&lt;br /&gt;
|-&lt;br /&gt;
|t ||Leipzig trams (1458 mm) and Greater Toronto Area streetcars (1495 mm)&lt;br /&gt;
|-&lt;br /&gt;
|5 ||1520mm and 5 foot (1524 mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|V ||Pennsylvanian (1581 mm and 1588 mm) and Australian &amp;quot;Victorian&amp;quot; (1600 mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|6 ||6 foot (1829 mm) broad gauge&lt;br /&gt;
|-&lt;br /&gt;
|g ||Brunel&#039;s Great Western Railway gauge (2140 mm)&lt;br /&gt;
|-&lt;br /&gt;
|B ||Biggest Broad gauge rail - As broad gauge is a rare tracktype, and the variation in common real life track types too wide, it may be desirable to cement B and b as broad gauges of two differing sizes; With no real life examples that match the usage frequency of &amp;quot;B&amp;quot;, the gauge might best draw inspiration from the infamous [https://en.wikipedia.org/wiki/Breitspurbahn Breitspurbahn] (3000 mm) and [https://perma.cc/KQ2Z-5RCR the never-built vehicles designed for it], or from the [https://en.wikipedia.org/wiki/Brighton_and_Rottingdean_Seashore_Electric_Railway Brighton &amp;amp; Rottingdean Seashore Electric Railway] (18 ft/5,486 mm) &lt;br /&gt;
|-&lt;br /&gt;
|L ||Maglevs that have a u-shaped track&lt;br /&gt;
|-&lt;br /&gt;
|T ||Maglevs that have a monorail track&lt;br /&gt;
|-&lt;br /&gt;
|F ||Flightrail; A [https://web.archive.org/web/20231213122530/http://www.flightrail.com/ system capable of high speeds and steep hill grades] that uses a pneumatic pipe for propulsion (see &amp;quot;P&amp;quot; under energy sources), and &#039;&#039;wheels pointed inwards at a 45-degree angle&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
It might be preferred to instead use/keep &amp;quot;B&amp;quot; for &amp;quot;all (current) broad gauges&amp;quot; (mostly Victorian gauge) instead using lowercase &amp;quot;b&amp;quot; for Brunel/GWR broad gauge. This wouldn&#039;t be to different from narrow gauge since the lesser used ones are lowercase and fallback to the uppercase ones.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Electrification !!Fallback&lt;br /&gt;
|-&lt;br /&gt;
|1 ||Unspecified monorail electrification |||MONO (the whole label) ||&lt;br /&gt;
|-&lt;br /&gt;
|S ||Maglevs that use a synchronous linear motor ||N/A ||&lt;br /&gt;
|-&lt;br /&gt;
|I ||Maglevs that use a linear induction motor ||MGLV (the whole label) ||&lt;br /&gt;
|-&lt;br /&gt;
|V ||Vactrains/Hyperloop ||t, then I, then MGLV (the whole label) ||&lt;br /&gt;
|-&lt;br /&gt;
|t ||&amp;quot;Universal custom tunnel&amp;quot; (for electrified sub-surface rail tunnels) ||c, then p, then 7, then U (mandatory) ||&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt; ||Universal energy type (&#039;&#039;not&#039;&#039; meant to replace &amp;quot;***N&amp;quot;; use for vehicles such as driving cabs which cannot move under their own power regardless, if desired) ||N/A (Be sure to put &amp;quot;***E&amp;quot; in the [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]] of a &amp;quot;***-&amp;quot; label) ||(&#039;&#039;Do not give a fallback or use for railtypes, this is for unpowered &amp;quot;locomotives&amp;quot; only!&#039;&#039;)&lt;br /&gt;
|-&lt;br /&gt;
|5 ||750v DC Outer 3rd Rail (&amp;quot;MTRO&amp;quot; or &amp;quot;SA_3&amp;quot;) and 630v DC Inner 3rd/4th Rail; a total of 5 rails (2 for wheels, 3 for electricity), plausible in the London Underground network ||3 or 4 ||&lt;br /&gt;
|-&lt;br /&gt;
|U ||750v DC Outer 3rd Rail (&amp;quot;MTRO&amp;quot; or &amp;quot;SA_3&amp;quot;), 630v DC Inner 3rd/4th Rail and universal catenary (SAEE); a total of 5 rails (2 for wheels, 3 for electricity) if only one gauge, plausible in the London Underground network and an &amp;quot;ultimate&amp;quot; dual rail electrification without being a cheat (make it expensive or toggle-able?) as SAEU or as XAEU (universal dual rail electrified tracks) ||E ||&lt;br /&gt;
|-&lt;br /&gt;
|7 ||750v DC Outer 3rd Rail (&amp;quot;MTRO&amp;quot; or &amp;quot;SA_3&amp;quot;), 630v DC Inner 3rd/4th Rail, Three-phase AC (SA_T) 3rd/4th rail &amp;amp; catenary, and universal catenary (SA_E); a total of 7 rails (2 for wheels, 5 for electricity) if only one gauge, a truly universal dual rail electrification without being impossible (make it VERY expensive or toggle-able so it isn&#039;t cheat-y?) as SAE7, XAE7 or even as XRE7 (universal electrified rack-equipped dual rail tracks) ||U ||&lt;br /&gt;
|-&lt;br /&gt;
|P ||Pneumatic tube with physical piston slit, or closed pneumatic tube with magnetic piston (i.e. that used by [https://web.archive.org/web/20231213122530/http://www.flightrail.com/ Flightrail]) ||N/A ||&lt;br /&gt;
|-&lt;br /&gt;
|p ||Pneumatic and universal electrical power ||P or 7 (Be sure to put &amp;quot;***_&amp;quot; and ***P&amp;quot; in the [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]] of a &amp;quot;***p&amp;quot; label) ||&lt;br /&gt;
|-&lt;br /&gt;
|c ||Cheat electrification type; use solely for _R_c railtype ||p, then 7, then U, then E, then N, then &amp;quot;SA_-&amp;quot; (the whole label) ||&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Lurkmore</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=Standardized_Railtype_Scheme&amp;diff=4747</id>
		<title>Standardized Railtype Scheme</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=Standardized_Railtype_Scheme&amp;diff=4747"/>
		<updated>2024-02-28T06:33:37Z</updated>

		<summary type="html">&lt;p&gt;Lurkmore: /* Possible additions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This railtype label scheme aims to bring order to the uncontrolled growth of railtype labels. It groups the rail types into what matters from a technical perspective. The scheme provides a standardized way of defining railtype labels, based on track gauge and type, speed class, allowable axle weight and electrification type.&lt;br /&gt;
&lt;br /&gt;
It is the explicit intent of this scheme to decouple track sets from vehicle sets to facilitate easy mixing. This way the player can select a track set of choice to go with a train set of choice. It allows the player to play with or without axle load classes, or with or without speed limit classes, simply by loading a track set that does or does not provide these features. In some cases it will also be possible to combine niche track sets, for instance a standard gauge track set with a narrow gauge and a metro track set.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== The Label Scheme ==&lt;br /&gt;
A railtype label consists of four characters. In this scheme, each position has a different purpose:&lt;br /&gt;
# Track gauge and type class (e.g. standard gauge rail, narrow gauge rail, monorail)&lt;br /&gt;
# Speed limit class&lt;br /&gt;
# Axle load class (maximum allowed axle weight for this track)&lt;br /&gt;
# Energy source type class&lt;br /&gt;
&lt;br /&gt;
In the next sections, each of the four positions will be explained.&lt;br /&gt;
&lt;br /&gt;
=== Track gauge and type class [X***] ===&lt;br /&gt;
The first position in the railtype label defines track gauge and/or track type class. The following classes are currently defined:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Track type/gauge&lt;br /&gt;
|- &lt;br /&gt;
|S ||Standard gauge rail&lt;br /&gt;
|-&lt;br /&gt;
|B ||Broad gauge rail &lt;br /&gt;
|-&lt;br /&gt;
|N ||Narrow gauge rail&lt;br /&gt;
|-&lt;br /&gt;
|n ||Secondary narrow gauge rail (e.g. when providing both metre and cape gauge, always use N in case of just one type of narrow gauge)&lt;br /&gt;
|-&lt;br /&gt;
|D ||Dual gauge rail, standard/broad gauge&lt;br /&gt;
|-&lt;br /&gt;
|d ||Dual gauge rail, standard/narrow gauge&lt;br /&gt;
|-&lt;br /&gt;
|M ||Monorail&lt;br /&gt;
|-&lt;br /&gt;
|L ||Magnetic Levitation&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Speed limit class [*X**] ===&lt;br /&gt;
The second position in the railtype label defines the speed limit class. These classes do not map to a fixed numeric value, but are used to define an internal speed limit order for the track set. This means that if your track set has two different speed limits for track types that are otherwise identical, you&#039;ll use letters A and B here. In case of three different speed limits, use A, B and C. In case your track set does not employ speed limits, always use A. Train sets do not care about the speed limit, and will always set the lowest speed class, i.e. A.&lt;br /&gt;
&lt;br /&gt;
This gives for instance the following options:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||no speed limits&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;OR&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||low speed&lt;br /&gt;
|-&lt;br /&gt;
|B ||high speed&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;OR&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||low speed&lt;br /&gt;
|-&lt;br /&gt;
|B ||medium speed&lt;br /&gt;
|-&lt;br /&gt;
|C ||high speed&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;etc.&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear:left;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The speed limit class may also be used for some advanced features of the label scheme, like specialized track types and eyecandy purposes. Be careful not to break the compatibility with other sets when using the speed limit class for these purposes.&lt;br /&gt;
&lt;br /&gt;
An example of a special use is rack rail. In the French set it is used to give rack rail engines a higher speed and TE than normal rail engines when used on rack rail. When defining trains with a special speed limit class, always allow a fallback to speed limit class A via the railtype table.&lt;br /&gt;
&lt;br /&gt;
An example of eyecandy use are urban tracks. These are a variation of regular tracks, but with concrete ground tiles to better match the urban environment. Train sets must not define vehicles for eyecandy classes. If you think you have special vehicles that should only run on the eyecandy class, it is &#039;&#039;not&#039;&#039; eyecandy but a separate track gauge/type.&lt;br /&gt;
&lt;br /&gt;
The following special and eyecandy classes have been defined so far:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Description !!Type !!Used by&lt;br /&gt;
|- &lt;br /&gt;
|A-H ||speed limits ||colspan=&amp;quot;2&amp;quot;|reserved&lt;br /&gt;
|- &lt;br /&gt;
|R ||rack rail ||special ||French Set Rails &lt;br /&gt;
|- &lt;br /&gt;
|S ||subterranean ||eyecandy ||Metro Track Set&lt;br /&gt;
|- &lt;br /&gt;
|U ||urban ||eyecandy ||Metro Track Set&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Axle load class [**X*] ===&lt;br /&gt;
The third position defines the axle weight limit. Heavy trains cannot run on tracks with a low axle weight limit; these trains need more expensive tracks with a heigher weight limit. There are five axle load classes &#039;&#039;&#039;A&#039;&#039;&#039; through &#039;&#039;&#039;E&#039;&#039;&#039;. &#039;&#039;&#039;A&#039;&#039;&#039; is for the lowest axle load limit, &#039;&#039;&#039;E&#039;&#039;&#039; for the highest. The exact axle load attached to each class is relative to the track gauge/type and trains in the set. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A train set should set the appropriate axle weight for each train via the railtype label, as to make the set work with track sets that do provide tracks with different weight limits, even if you don&#039;t care about it for your trainset. Split all vehicles of a certain track gauge/type into five groups of similar axle weight. The group with the lowest axle weights will get class &#039;&#039;&#039;A&#039;&#039;&#039;, the second lowest class &#039;&#039;&#039;B&#039;&#039;&#039;, etc. up to the group with the highest axle weights which will get class &#039;&#039;&#039;E&#039;&#039;&#039;. Do the same for the other track gauge/types if your train set has those.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A track set does not have to provide a dedicated track type for each axle weight limit. A track set that does not provide a dedicated track for each axle load class, must make sure to map all undefined axle load classes to a real railtype using property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]]. This way a train set can rely on all labels for all axle load classes being available. Example: if you only want to provide 2 axle load classes for standard gauge unelectrified with no speed limits, you can map SA&#039;&#039;&#039;A&#039;&#039;&#039;N + SA&#039;&#039;&#039;B&#039;&#039;&#039;N to SA&#039;&#039;&#039;C&#039;&#039;&#039;N and SA&#039;&#039;&#039;D&#039;&#039;&#039;N to SA&#039;&#039;&#039;E&#039;&#039;&#039;N if the cost difference between the two railtypes is high, or SA&#039;&#039;&#039;A&#039;&#039;&#039;N to SA&#039;&#039;&#039;B&#039;&#039;&#039;N and SA&#039;&#039;&#039;C&#039;&#039;&#039;N + SA&#039;&#039;&#039;D&#039;&#039;&#039;N to SA&#039;&#039;&#039;E&#039;&#039;&#039;N if the cost difference is low.&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t want to provide any axle load classes in your track set, it doesn&#039;t really matter what axle load class you choose for the track, as you&#039;ll be mapping all other classes to this track anyways. But the lowest or highest class are the obvious choice. Example: if your track set only provides narrow gauge unelectrified track with no speed limits and no axle load limits, you may use NA&#039;&#039;&#039;A&#039;&#039;&#039;N for the track label, and provide NA&#039;&#039;&#039;B&#039;&#039;&#039;N, NA&#039;&#039;&#039;C&#039;&#039;&#039;N, NA&#039;&#039;&#039;D&#039;&#039;&#039;N, NA&#039;&#039;&#039;E&#039;&#039;&#039;N in property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you need more than five axle load class, you may use lowercase letters for very low axle loads and continue the uppercase letters for very high axle loads. Be advised that your train set may not assume the existance of any other class than &#039;&#039;&#039;A&#039;&#039;&#039; through &#039;&#039;&#039;E&#039;&#039;&#039;, so when the range make sure to program your railtype table such that trains with such a class will fall back to class &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;E&#039;&#039;&#039;. If you make a track set with an extended range, be aware that not all train sets will define trains for these tracks. In general: only do this in case of a train set with a matching track set.&lt;br /&gt;
&lt;br /&gt;
For the lowercase letters, &#039;&#039;&#039;b&#039;&#039;&#039; is lower than &#039;&#039;&#039;a&#039;&#039;&#039;, so for increasing axle load limits: b &amp;lt; a &amp;lt; A &amp;lt; B &amp;lt; C etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that the axle load classes never map to a specific weight in tonnes. For that reason it does not make sense to add a numeric value for the axle load to the name of a track type or in the extended purchase info of a train. Instead use the relative expressions &#039;very low&#039;, &#039;low&#039;, &#039;medium&#039;, &#039;high&#039; and &#039;very high&#039; or use the class letters directly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Energy source type class [***X] ===&lt;br /&gt;
The last position defines the energy source type class. This is split in generic energy source types like overhead wires and third rail and specialized types like alternating and direct current.&lt;br /&gt;
&lt;br /&gt;
A track set that only uses specialized types, should map the generic types to the most suitable specialized type in the set.&lt;br /&gt;
&lt;br /&gt;
A vehicle set that uses specialized types should define a generic type as fallback, via the railtype table. If such a fallback is omitted, please note that certain vehicles may be unavailable depending on track set loaded.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Generic energy type classes&lt;br /&gt;
|-&lt;br /&gt;
|N ||no electrification&lt;br /&gt;
|-&lt;br /&gt;
|E ||overhead wires/catenary electrification&lt;br /&gt;
|-&lt;br /&gt;
|3 ||3rd rail electrification&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Specialized energy type classes !!Vehicle set fallback&lt;br /&gt;
|-&lt;br /&gt;
|Z ||3rd rail and catenary electrification || 3 or E&lt;br /&gt;
|-&lt;br /&gt;
|4 ||4th rail electrification || 3&lt;br /&gt;
|-&lt;br /&gt;
|Y ||4th rail and catenary electrification || 4 or E&lt;br /&gt;
|-&lt;br /&gt;
|T ||[http://en.wikipedia.org/wiki/Three-phase_AC_railway_electrification three phase AC electrification] || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|D ||DC catenary electrification || E&lt;br /&gt;
|-&lt;br /&gt;
|d ||low voltage DC catenary electrification (only when D also used in set) || First A then E&lt;br /&gt;
|-&lt;br /&gt;
|A ||AC catenary electrification || E&lt;br /&gt;
|-&lt;br /&gt;
|a ||low voltage AC catenary electrification (only when A also used in set) || First A then E&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
If you want multi-voltage/current vehicles in your set (i.e. a train that can run on both AC and DC current), you have to define a dedicated railtype for those vehicles. Without the railtype, it&#039;s not possible to define vehicles with this property. If you only have vehicles that can run on either one type of voltage/current or on all types of voltage/current (e.g. a 2-system if you only have &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;D&#039;&#039;&#039; tracks, or a 4-system in case of all &#039;&#039;&#039;A&#039;&#039;&#039;, &#039;&#039;&#039;a&#039;&#039;&#039;, &#039;&#039;&#039;D&#039;&#039;&#039; and &#039;&#039;&#039;d&#039;&#039;&#039;), then use the generic class &#039;&#039;&#039;E&#039;&#039;&#039; for vehicles that should be able to run on all different voltage/currents. Also the track set needs to have one at least one railtype with class &#039;&#039;&#039;E&#039;&#039;&#039; defined.&lt;br /&gt;
&lt;br /&gt;
Note that if you want more than one type of multi-voltage/current, you&#039;ll quickly get a combinatory explosion of railtype labels, so plan carefully or do not attempt it. For every different multi-voltage/current vehicle type a dedicated railtype is needed. If you want all possible combinations, then you need to define an additional 8 classes. It is not recommended to make your train/track set this complicated.&lt;br /&gt;
&lt;br /&gt;
Example approach for a 4-system set, with trains that can run on either one or all systems:&lt;br /&gt;
* &#039;&#039;&#039;E&#039;&#039;&#039;: generic catenary-powered electric engines. &amp;quot;universal&amp;quot; [4-system] if any of &#039;&#039;&#039;D&#039;&#039;&#039;/&#039;&#039;&#039;d&#039;&#039;&#039;/&#039;&#039;&#039;A&#039;&#039;&#039;/&#039;&#039;&#039;a&#039;&#039;&#039; are defined.&lt;br /&gt;
* &#039;&#039;&#039;A&#039;&#039;&#039;: generic AC catenary electric engines. 25kV only if &#039;&#039;&#039;a&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;A&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;a&#039;&#039;&#039;: 15kV AC catenary electric engines. Only defined if &#039;&#039;&#039;A&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;a&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;D&#039;&#039;&#039;: generic DC catenary electric engines. 3kV if &#039;&#039;&#039;d&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;D&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;d&#039;&#039;&#039;: 1.5kV DC catenary electric engines. Only defined if &#039;&#039;&#039;D&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;D&#039;&#039;&#039; and &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;d&#039;&#039;&#039;.&lt;br /&gt;
For a 2-system set, you can simply drop &#039;&#039;&#039;a&#039;&#039;&#039; and &#039;&#039;&#039;d&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Standard labels: RAIL, ELRL, MONO, MGLV ===&lt;br /&gt;
It&#039;s not possible to undefine the standard railtypes RAIL, ELRL, MONO and MGLV. The game will always add those if there are vehicles defined for these track types. As a result, for a track set it&#039;s best not to ignore those standard labels, but rather work with them and define them in the set. If your track set does not have monorail or maglev tracks, there of course is no need to define those. But if your track set defines anything that resembles unelectrified or electrified rail, you should use the RAIL and ELRL labels. Matching labels from the above scheme will then be defined in property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
As vehicles from NewGRFs that do not use explicit railtypes will end up on these standard railtypes, you should use RAIL instead of whatever type could be regarded as the most commonly used unelectrified type, ELRL instead of the most commonly used electrified type and so on. The label according to this scheme is then set as an alternate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Summary for track sets ==&lt;br /&gt;
This section summarizes the above for track sets.&lt;br /&gt;
&lt;br /&gt;
; [X***] Track gauge and type class&lt;br /&gt;
* Define at least one track type for every track gauge/type class you want in your set.&lt;br /&gt;
* If you only provide tracks for one gauge/type, consider leaving some free railtypes so a player can load an additional set for some other type.&lt;br /&gt;
; [*X**] Speed limit class&lt;br /&gt;
* Make sure class A is always available, either directly or via an alternate label.&lt;br /&gt;
* Use only class A if you don&#039;t want speed limits;&lt;br /&gt;
* With speed limits, A is the lowest speed limit. Continue with B, C, etc. for increasing speed limits;&lt;br /&gt;
* The speed class can also be used to implement additional eye-candy track types, use letters higher in the alphabet for this.&lt;br /&gt;
; [**X*] Axle load class&lt;br /&gt;
* Always define all classes A through E for every track type class / electrification combination, either:&lt;br /&gt;
** Directly via a real railtype definition;&lt;br /&gt;
** Indirectly via the alternate rail type label list, property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
* Extend the predefined classes only if you also provide a train set that makes use of these.&lt;br /&gt;
; [***X] Energy source type class&lt;br /&gt;
* If your set only uses specialized classes, always map the generic classes to the closest matching specialized type via property 1D.&lt;br /&gt;
; Standard labels [RAIL, ELRL, MONO, MGLV]&lt;br /&gt;
* Always define the standard labels when possible, instead of what would be the equivalent of the standard label in this scheme.&lt;br /&gt;
* Map the equivalent labels from this scheme to the standard labels using property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
Or, put differently, for each gauge/type, select one or more energy source types. For each type/energy combination provide all axle load classes for the speed class &amp;quot;A&amp;quot;, either as a real type or as an alternate of another type. Provide more types with a different speed letter if you want to provide several different speeds or other eye-candy tracks.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Summary for train sets ==&lt;br /&gt;
This section summarizes the above for train sets.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; [X***] Track gauge and type class&lt;br /&gt;
* Use the track type class that matches the vehicle;&lt;br /&gt;
* Define a fallback type via the railtype table in case you want the vehicle to be available on a different track if no matching track set is loaded.&lt;br /&gt;
** Specialized subtypes like &amp;quot;n&amp;quot; might not always be available. If you want those vehicles to be still available then, fall back the the generic class (e.g. &amp;quot;N&amp;quot;).&lt;br /&gt;
; [*X**] Speed limit class &lt;br /&gt;
* Always use class A for every vehicle.&lt;br /&gt;
; [**X*] Axle load class&lt;br /&gt;
* Use all classes A through E according to the maximum axle weight of the vehicle.&lt;br /&gt;
* Extend the predefined classes only if you also provide a track set that makes use of these;&lt;br /&gt;
** When extending the predefined classes A through E, define a fallback type via the railtype table in case you want the vehicle to be available if no matching track set is loaded.&lt;br /&gt;
; [***X] Energy source type class&lt;br /&gt;
* Use the energy source type class that matches the vehicle;&lt;br /&gt;
* When using specialized classes, define a fallback type via the railtype table in case you want the vehicle to be available if no matching track set is loaded.&lt;br /&gt;
; Standard labels [RAIL, ELRL, MONO, MGLV]&lt;br /&gt;
* Define a fallback type to the standard labels via the railtype table in case you want the vehicle to be available on the standard tracks if no matching track set is loaded.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Be as specific as you want when selecting the railtype, it is the job of the track set to select a playable, reduced subset out of all possible type combinations.&lt;br /&gt;
&lt;br /&gt;
== In case you&#039;re not convinced by this scheme ==&lt;br /&gt;
Adopting this scheme gives the player freedom to use any track set in combination with any train set that follow the scheme. &lt;br /&gt;
&lt;br /&gt;
This means that you can make your train set compatible with track sets that provide axle load classes, and track sets that provide speed limits, and at the same time with track sets that provide none of this. This way, the player can decide to play with or without axle load classes, or with or without speed limits, simply by loading a track set that does or does not provide these features.&lt;br /&gt;
&lt;br /&gt;
And for your track set, it means that you can make it as simple or as complicated as you want (within the 64 track type limit), while not having to worry about compatibility with train sets.&lt;br /&gt;
&lt;br /&gt;
Still not convinced? Feel free to use railtype labels of your own, but know that you will likely come to regret that at some point in the future.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Forum topic==&lt;br /&gt;
If you want to discuss the standardized railtype scheme or have any questions about it, you can visit [http://www.tt-forums.net/viewtopic.php?t=59379 the forum topic].&lt;br /&gt;
&lt;br /&gt;
==&amp;quot;Innsbruck 2022 Convention&amp;quot; for partial compliance==&lt;br /&gt;
&lt;br /&gt;
This is really esoteric, but eh. It was the product of long discussion / debate / argument / reasoning between grf authors.&lt;br /&gt;
&lt;br /&gt;
1. The Standardized Railtype Scheme &#039;&#039;&#039;is a useful tool&#039;&#039;&#039; for providing reliable compatibility between train grfs and railtype grfs.&lt;br /&gt;
&lt;br /&gt;
2. The &#039;&#039;&#039;axle load class&#039;&#039;&#039; in the scheme presents a number of issues for compliance.&lt;br /&gt;
&lt;br /&gt;
2.1. Over 10 years since the scheme was standardised, not many train grfs implement multiple axle load classes &#039;&#039;&#039;as required by the scheme&#039;&#039;&#039;.  Known examples that &#039;&#039;&#039;do&#039;&#039;&#039; comply include Dutch Train Set, French Narrow Gauge Trains, and Finnish Trains.&lt;br /&gt;
&lt;br /&gt;
2.2. Elements of the axle load rules have proven hard to interpret.  For example:&lt;br /&gt;
&lt;br /&gt;
* is it compliant to use &#039;&#039;fewer&#039;&#039; than 5 classes in a train grf?  There is a lack of consensus on this.&lt;br /&gt;
* axle load is only one of many factors that govern whether a vehicle is compatible with a route, for example loading gauge, minimum curve, signalling types etc&lt;br /&gt;
&lt;br /&gt;
2.3. Meanwhile &#039;&#039;multiple existing train grfs use class &#039;&#039;A&#039;&#039; for the axle load for all trains&#039;&#039; (except where relying on default railtypes such as RAIL and ELRL).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3. The Innsbruck 2022 Convention uses class &#039;&#039;A&#039;&#039; for axle load for &#039;&#039;&#039;all&#039;&#039;&#039; trains in a train grf (except where relying on default railtypes such as RAIL and ELRL).&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is &#039;&#039;&#039;not&#039;&#039;&#039; fully compliant with the Standardized Railtype Scheme and does not claim to be.&lt;br /&gt;
&lt;br /&gt;
However train grfs using the Innsbruck 2022 Convention are &#039;&#039;broadly compatible&#039;&#039; with railtype grfs using the Standardized Railtype Scheme.  &lt;br /&gt;
&lt;br /&gt;
Obligatory XKCD link about &#039;standards&#039;: https://xkcd.com/927/&lt;br /&gt;
&lt;br /&gt;
===Known issues===&lt;br /&gt;
&lt;br /&gt;
Known problems are that trains using only class &#039;A&#039; may limit the ability of railtype grf authors to achieve their design goals for separating railtypes by axle load.  &lt;br /&gt;
But on reflection, it can be seen that a train grf might not be able to provide a broad enough range of vehicles to cover at least 5 axle load classes.&lt;br /&gt;
&lt;br /&gt;
3.1. The Innsbruck 2022 Convention is &#039;&#039;&#039;not&#039;&#039;&#039; appropriate for train grf authors who wish to provide more than one axle load class.&lt;br /&gt;
&lt;br /&gt;
3.2. The Innsbruck 2022 Convention treats the meaning of class &#039;&#039;A&#039;&#039; as &#039;&#039;undefined&#039;&#039;, &#039;&#039;ignored&#039;&#039; or &#039;&#039;compatible with most restricted railtype&#039;&#039; for axle load.  &lt;br /&gt;
&lt;br /&gt;
Axle load class &#039;&#039;A&#039;&#039; &#039;&#039;&#039;cannot&#039;&#039;&#039; be safely interpreted as &#039;&#039;universal&#039;&#039; because from the perspective of a railtype grf &#039;&#039;A&#039;&#039; is &#039;&#039;most restricted railtype&#039;&#039;, where &#039;&#039;universal&#039;&#039; is better represented as &#039;&#039;least restricted railtype&#039;&#039;. Depending how many axle load classes are in use by the railtype grf, this could be class &#039;&#039;B&#039;&#039;, &#039;&#039;C&#039;&#039;, &#039;&#039;D&#039;&#039;, &#039;&#039;E&#039;&#039; etc.  To illustrate this issue, take the following scenario&lt;br /&gt;
&lt;br /&gt;
* railtype grf defines axle loads &#039;&#039;A&#039;&#039; to &#039;&#039;E&#039;&#039;. In this case the railtype grf author intends that &#039;&#039;A&#039;&#039; is compatible with the smallest range of vehicles, &#039;&#039;E&#039;&#039; is compatible with the largest range of vehicles, and &#039;&#039;B&#039;&#039;, &#039;&#039;C&#039;&#039; and &#039;&#039;D&#039;&#039; are compatible with some intermediate ranges of vehicles&lt;br /&gt;
* but the vehicle grf author has defined all vehicles to be axle load &#039;&#039;A&#039;&#039; in an attempt to express this vehicle is &#039;&#039;universal&#039;&#039;.  The result in the game is that an identical range of vehicles will be compatible with railtypes &#039;&#039;A&#039;&#039; to &#039;&#039;E&#039;&#039;.  &lt;br /&gt;
&lt;br /&gt;
This is clearly &#039;&#039;&#039;not&#039;&#039;&#039; the intended outcome of the railtype author. But nor is it clear within the spec that the vehicle author has particularly done anything wrong. &lt;br /&gt;
&lt;br /&gt;
It &#039;&#039;would&#039;&#039; be possible to use railtype availability testing to adjust the vehicle property 05 (track_type) to fit the highest defined axle load (&#039;&#039;E&#039;&#039; in this example case), but this is not insignificant work, and it&#039;s unlikely to be widely adopted by vehicle grf authors.  Nor would this solution achieve &#039;&#039;universal&#039;&#039; as all vehicles in vehicle grf then would be incompatible with types &#039;&#039;A&#039;&#039; through &#039;&#039;D&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
3.3. When the Innsbruck 2022 Convention is used, this &#039;&#039;&#039;does not prevent&#039;&#039;&#039; a train grf being extended in some future release to achieve full compliance with Standardized Railtype Scheme. &#039;&#039;That choice remains with train grf authors&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
3.4. If 2012 could be revisited, providing an optional &#039;&#039;_&#039;&#039; axle load class in the Standardized Railtype Scheme for &#039;&#039;undefined&#039;&#039; would have been preferable, but as of 2022, &#039;&#039;A&#039;&#039; is already widely used for this purpose, and time travel is not known to be possible.&lt;br /&gt;
&lt;br /&gt;
==Extended multivoltage support addition==&lt;br /&gt;
These are extensions to the energy source type class currently supported by SETS and xUSSR Rails which allow trainsets to code trains which are limited to a certain selection of voltages. As stated in the energy source type class section this might not be of use for all sets, as such it is optional but still recommended for trainsets for ideal functionality with tracksets which support the extended labels.&lt;br /&gt;
{|&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Specialized energy type classes !!Vehicle set fallback&lt;br /&gt;
|-&lt;br /&gt;
|* ||Equivilent to A, a, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|&#039; ||Equivilent to A, a and D || E&lt;br /&gt;
|-&lt;br /&gt;
|^ ||Equivilent to A, a and d || E&lt;br /&gt;
|-&lt;br /&gt;
|_ ||Equivilent to A, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
|, ||Equivilent to a, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|$ ||Equivilent to A and a  || First A then E&lt;br /&gt;
|-&lt;br /&gt;
|= ||Equivilent to D and d  || First D then E&lt;br /&gt;
|-&lt;br /&gt;
|) ||Equivilent to A and D  || E&lt;br /&gt;
|-&lt;br /&gt;
|( ||Equivilent to A and d  || E&lt;br /&gt;
|-&lt;br /&gt;
|] ||Equivilent to a and D  || E&lt;br /&gt;
|-&lt;br /&gt;
|[ ||Equivilent to a and d  || E&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Possible additions==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Track type/gauge&lt;br /&gt;
|-&lt;br /&gt;
|_ ||Universal &amp;quot;cheat&amp;quot; rail; ALWAYS add &amp;quot;_A_-&amp;quot; and &amp;quot;_A_N&amp;quot; to EVERY [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]] (as well as the equivalent electrified/pneumatic railtype that is powered on your electrified/pneumatic railtype to support it if you are making a new railtype set, older sets can be covered by fix or patch grfs) and &amp;quot;_A_t&amp;quot; to EVERY [[NML:Railtypes#Railtype_properties|powered_railtype_list (NML)]]&lt;br /&gt;
|-&lt;br /&gt;
|0 ||(A number zero, not a letter &amp;quot;Oh&amp;quot;) No track, eyecandy-use only&lt;br /&gt;
|-&lt;br /&gt;
|U ||[https://perma.cc/93VE-8JQZ &amp;quot;Ukrainian monorail&amp;quot; or Şaropoí̈zd (Шаропоїзд)], a u-shaped concrete &amp;quot;monorail trench&amp;quot; from 1920&#039;s Soviet Union; see [https://www.tt-forums.net/viewtopic.php?f=26&amp;amp;t=47432 the Yarmanchuk Express] for graphics&lt;br /&gt;
|-&lt;br /&gt;
|1 ||Early Monorail; See [https://perma.cc/6BVS-2P2X here] and [https://perma.cc/VCG2-ATUA here]&lt;br /&gt;
|-&lt;br /&gt;
|G ||Gyrail; [https://en.wikipedia.org/wiki/Gyro_monorail Gyro monorail/Gyroscopic monorail/Gyro-stabilized monorail] for description and IRL example, and [https://wikimon.net/Trailmon here] ([https://web.archive.org/web/20240227205547/https://wikimon.net/Trailmon archived]) for good fictional examples&lt;br /&gt;
|-&lt;br /&gt;
|m ||Minimum gauge rail; [https://en.wikipedia.org/wiki/Minimum-gauge_railway 15 in (381 mm), 400 mm (15+3⁄4 in), 16 in (406 mm), 18 in (457 mm), 19 in (483 mm), 500 mm (19+3⁄4 in) or 20 in (508 mm)]&lt;br /&gt;
|-&lt;br /&gt;
|n ||600mm &amp;quot;Decauville&amp;quot; or &amp;quot;Feldsbahn&amp;quot;, formerly labelled &amp;quot;NG60&amp;quot; before standardization; the most common narrow gauge track type in OpenTTD other than metre gauge, 600mm gauge is thus ideal for taking up the &amp;quot;n&amp;quot; gauge, though this is an ultimately optional distinction&lt;br /&gt;
|-&lt;br /&gt;
|7 ||750mm, Bosnian gauge (760 mm), and 762mm; all start with 7 and are close in size&lt;br /&gt;
|-&lt;br /&gt;
|3 ||Swedish 3 foot (891 mm), 900mm, 3 foot (914 mm) and Italian Metre (950mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|R ||Metre gauge; potentially compatible with base tramtype &amp;quot;RABN&amp;quot;, most early tramways were metre gauge&lt;br /&gt;
|-&lt;br /&gt;
|4 ||4 foot gauge (1219 mm), and possibly 4&#039;6&amp;quot; in. (1372 mm) if standardization is needed for 1372mm&lt;br /&gt;
|-&lt;br /&gt;
|s ||Scotch gauge (1372 mm)&lt;br /&gt;
|-&lt;br /&gt;
|S ||Standard gauge; already implemented in original standardized railtype scheme, but could include near-standard (1432 mm) as well as existing true standard (1435 mm) and is also potentially compatible with the SABN tramtype&lt;br /&gt;
|-&lt;br /&gt;
|X ||Omni-gauge rail (for at-grade multi-gauge crossings and stations); ultrabroad/secondary broad/primary broad/standard/primary narrow/secondary narrow gauge&lt;br /&gt;
|-&lt;br /&gt;
|x ||Multi-gauge rail (for at-grade multi-gauge crossings and stations); secondary broad/primary broad/standard/primary narrow/secondary narrow&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;+&amp;lt;/nowiki&amp;gt; ||Quad-gauge (Four-gauge) rail (for at-grade multi-gauge crossings and stations); secondary broad/primary broad/standard/primary narrow&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt; ||Four-gauge rail (for at-grade multi-gauge crossings and stations); primary broad/standard/primary narrow/secondary narrow&lt;br /&gt;
|-&lt;br /&gt;
|b ||Broad gauge rail - As broad gauge is a rare tracktype, it may still be feasible to cement B and b as broad gauges of two differing sizes, but the rarity among gauges in the real world would need to match; Italian (1445 mm) and Dresden (1450 mm) gauges may be better grouped here&lt;br /&gt;
|-&lt;br /&gt;
|t ||Leipzig trams (1458 mm) and Greater Toronto Area streetcars (1495 mm)&lt;br /&gt;
|-&lt;br /&gt;
|5 ||1520mm and 5 foot (1524 mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|V ||Pennsylvanian (1581 mm and 1588 mm) and Australian &amp;quot;Victorian&amp;quot; (1600 mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|6 ||6 foot (1829 mm) broad gauge&lt;br /&gt;
|-&lt;br /&gt;
|g ||Brunel&#039;s Great Western Railway gauge (2140 mm)&lt;br /&gt;
|-&lt;br /&gt;
|B ||Biggest Broad gauge rail - As broad gauge is a rare tracktype, and the variation in common real life track types too wide, it may be desirable to cement B and b as broad gauges of two differing sizes; With no real life examples that match the usage frequency of &amp;quot;B&amp;quot;, the gauge might best draw inspiration from the infamous [https://en.wikipedia.org/wiki/Breitspurbahn Breitspurbahn] (3000 mm) and [https://perma.cc/KQ2Z-5RCR the never-built vehicles designed for it], or from the [https://en.wikipedia.org/wiki/Brighton_and_Rottingdean_Seashore_Electric_Railway Brighton &amp;amp; Rottingdean Seashore Electric Railway] (18 ft/5,486 mm) &lt;br /&gt;
|-&lt;br /&gt;
|L ||Maglevs that have a u-shaped track&lt;br /&gt;
|-&lt;br /&gt;
|T ||Maglevs that have a monorail track&lt;br /&gt;
|-&lt;br /&gt;
|F ||Flightrail; A [https://web.archive.org/web/20231213122530/http://www.flightrail.com/ system capable of high speeds and steep hill grades] that uses a pneumatic pipe for propulsion (see &amp;quot;P&amp;quot; under energy sources), and &#039;&#039;wheels pointed inwards at a 45-degree angle&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
It might be preferred to instead use/keep &amp;quot;B&amp;quot; for &amp;quot;all (current) broad gauges&amp;quot; (mostly Victorian gauge) instead using lowercase &amp;quot;b&amp;quot; for Brunel/GWR broad gauge. This wouldn&#039;t be to different from narrow gauge since the lesser used ones are lowercase and fallback to the uppercase ones.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Electrification !!Fallback&lt;br /&gt;
|-&lt;br /&gt;
|1 ||Unspecified monorail electrification |||MONO (the whole label)&lt;br /&gt;
|-&lt;br /&gt;
|S ||Maglevs that use a synchronous linear motor ||N/A&lt;br /&gt;
|-&lt;br /&gt;
|I ||Maglevs that use a linear induction motor ||MGLV (the whole label)&lt;br /&gt;
|-&lt;br /&gt;
|V ||Vactrains/Hyperloop ||t, then I, then MGLV (the whole label)&lt;br /&gt;
|-&lt;br /&gt;
|t ||&amp;quot;Universal custom tunnel&amp;quot; (for electrified sub-surface rail tunnels) ||c, then p, then 7, then U (mandatory)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt; ||Universal energy type (&#039;&#039;not&#039;&#039; meant to replace &amp;quot;***N&amp;quot;; use for vehicles such as driving cabs which cannot move under their own power regardless, if desired) ||N/A (Be sure to put &amp;quot;***E&amp;quot; in the [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]] of a &amp;quot;***-&amp;quot; label) ||(&#039;&#039;Do not give a fallback or use for railtypes, this is for unpowered &amp;quot;locomotives&amp;quot; only!&#039;&#039;)&lt;br /&gt;
|-&lt;br /&gt;
|5 ||750v DC Outer 3rd Rail (&amp;quot;MTRO&amp;quot; or &amp;quot;SA_3&amp;quot;) and 630v DC Inner 3rd/4th Rail; a total of 5 rails (2 for wheels, 3 for electricity), plausible in the London Underground network ||3 or 4&lt;br /&gt;
|-&lt;br /&gt;
|U ||750v DC Outer 3rd Rail (&amp;quot;MTRO&amp;quot; or &amp;quot;SA_3&amp;quot;), 630v DC Inner 3rd/4th Rail and universal catenary (SAEE); a total of 5 rails (2 for wheels, 3 for electricity) if only one gauge, plausible in the London Underground network and an &amp;quot;ultimate&amp;quot; dual rail electrification without being a cheat (make it expensive or toggle-able?) as SAEU or as XAEU (universal dual rail electrified tracks) ||E&lt;br /&gt;
|-&lt;br /&gt;
|7 ||750v DC Outer 3rd Rail (&amp;quot;MTRO&amp;quot; or &amp;quot;SA_3&amp;quot;), 630v DC Inner 3rd/4th Rail, Three-phase AC (SA_T) 3rd/4th rail &amp;amp; catenary, and universal catenary (SA_E); a total of 7 rails (2 for wheels, 5 for electricity) if only one gauge, a truly universal dual rail electrification without being impossible (make it VERY expensive or toggle-able so it isn&#039;t cheat-y?) as SAE7, XAE7 or even as XRE7 (universal electrified rack-equipped dual rail tracks) ||U&lt;br /&gt;
|-&lt;br /&gt;
|P ||Pneumatic tube with physical piston slit, or closed pneumatic tube with magnetic piston (i.e. that used by [https://web.archive.org/web/20231213122530/http://www.flightrail.com/ Flightrail]) ||N/A&lt;br /&gt;
|-&lt;br /&gt;
|p ||Pneumatic and universal electrical power ||P or 7 (Be sure to put &amp;quot;***_&amp;quot; and ***P&amp;quot; in the [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]] of a &amp;quot;***p&amp;quot; label) ||&lt;br /&gt;
|-&lt;br /&gt;
|c ||Cheat electrification type; use solely for _R_c railtype ||p, then 7, then U, then E, then N, then &amp;quot;SA_-&amp;quot; (the whole label)&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Lurkmore</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=Standardized_Railtype_Scheme&amp;diff=4746</id>
		<title>Standardized Railtype Scheme</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=Standardized_Railtype_Scheme&amp;diff=4746"/>
		<updated>2024-02-28T06:22:19Z</updated>

		<summary type="html">&lt;p&gt;Lurkmore: /* Possible additions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This railtype label scheme aims to bring order to the uncontrolled growth of railtype labels. It groups the rail types into what matters from a technical perspective. The scheme provides a standardized way of defining railtype labels, based on track gauge and type, speed class, allowable axle weight and electrification type.&lt;br /&gt;
&lt;br /&gt;
It is the explicit intent of this scheme to decouple track sets from vehicle sets to facilitate easy mixing. This way the player can select a track set of choice to go with a train set of choice. It allows the player to play with or without axle load classes, or with or without speed limit classes, simply by loading a track set that does or does not provide these features. In some cases it will also be possible to combine niche track sets, for instance a standard gauge track set with a narrow gauge and a metro track set.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== The Label Scheme ==&lt;br /&gt;
A railtype label consists of four characters. In this scheme, each position has a different purpose:&lt;br /&gt;
# Track gauge and type class (e.g. standard gauge rail, narrow gauge rail, monorail)&lt;br /&gt;
# Speed limit class&lt;br /&gt;
# Axle load class (maximum allowed axle weight for this track)&lt;br /&gt;
# Energy source type class&lt;br /&gt;
&lt;br /&gt;
In the next sections, each of the four positions will be explained.&lt;br /&gt;
&lt;br /&gt;
=== Track gauge and type class [X***] ===&lt;br /&gt;
The first position in the railtype label defines track gauge and/or track type class. The following classes are currently defined:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Track type/gauge&lt;br /&gt;
|- &lt;br /&gt;
|S ||Standard gauge rail&lt;br /&gt;
|-&lt;br /&gt;
|B ||Broad gauge rail &lt;br /&gt;
|-&lt;br /&gt;
|N ||Narrow gauge rail&lt;br /&gt;
|-&lt;br /&gt;
|n ||Secondary narrow gauge rail (e.g. when providing both metre and cape gauge, always use N in case of just one type of narrow gauge)&lt;br /&gt;
|-&lt;br /&gt;
|D ||Dual gauge rail, standard/broad gauge&lt;br /&gt;
|-&lt;br /&gt;
|d ||Dual gauge rail, standard/narrow gauge&lt;br /&gt;
|-&lt;br /&gt;
|M ||Monorail&lt;br /&gt;
|-&lt;br /&gt;
|L ||Magnetic Levitation&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Speed limit class [*X**] ===&lt;br /&gt;
The second position in the railtype label defines the speed limit class. These classes do not map to a fixed numeric value, but are used to define an internal speed limit order for the track set. This means that if your track set has two different speed limits for track types that are otherwise identical, you&#039;ll use letters A and B here. In case of three different speed limits, use A, B and C. In case your track set does not employ speed limits, always use A. Train sets do not care about the speed limit, and will always set the lowest speed class, i.e. A.&lt;br /&gt;
&lt;br /&gt;
This gives for instance the following options:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||no speed limits&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;OR&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||low speed&lt;br /&gt;
|-&lt;br /&gt;
|B ||high speed&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;OR&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||low speed&lt;br /&gt;
|-&lt;br /&gt;
|B ||medium speed&lt;br /&gt;
|-&lt;br /&gt;
|C ||high speed&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;etc.&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear:left;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The speed limit class may also be used for some advanced features of the label scheme, like specialized track types and eyecandy purposes. Be careful not to break the compatibility with other sets when using the speed limit class for these purposes.&lt;br /&gt;
&lt;br /&gt;
An example of a special use is rack rail. In the French set it is used to give rack rail engines a higher speed and TE than normal rail engines when used on rack rail. When defining trains with a special speed limit class, always allow a fallback to speed limit class A via the railtype table.&lt;br /&gt;
&lt;br /&gt;
An example of eyecandy use are urban tracks. These are a variation of regular tracks, but with concrete ground tiles to better match the urban environment. Train sets must not define vehicles for eyecandy classes. If you think you have special vehicles that should only run on the eyecandy class, it is &#039;&#039;not&#039;&#039; eyecandy but a separate track gauge/type.&lt;br /&gt;
&lt;br /&gt;
The following special and eyecandy classes have been defined so far:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Description !!Type !!Used by&lt;br /&gt;
|- &lt;br /&gt;
|A-H ||speed limits ||colspan=&amp;quot;2&amp;quot;|reserved&lt;br /&gt;
|- &lt;br /&gt;
|R ||rack rail ||special ||French Set Rails &lt;br /&gt;
|- &lt;br /&gt;
|S ||subterranean ||eyecandy ||Metro Track Set&lt;br /&gt;
|- &lt;br /&gt;
|U ||urban ||eyecandy ||Metro Track Set&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Axle load class [**X*] ===&lt;br /&gt;
The third position defines the axle weight limit. Heavy trains cannot run on tracks with a low axle weight limit; these trains need more expensive tracks with a heigher weight limit. There are five axle load classes &#039;&#039;&#039;A&#039;&#039;&#039; through &#039;&#039;&#039;E&#039;&#039;&#039;. &#039;&#039;&#039;A&#039;&#039;&#039; is for the lowest axle load limit, &#039;&#039;&#039;E&#039;&#039;&#039; for the highest. The exact axle load attached to each class is relative to the track gauge/type and trains in the set. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A train set should set the appropriate axle weight for each train via the railtype label, as to make the set work with track sets that do provide tracks with different weight limits, even if you don&#039;t care about it for your trainset. Split all vehicles of a certain track gauge/type into five groups of similar axle weight. The group with the lowest axle weights will get class &#039;&#039;&#039;A&#039;&#039;&#039;, the second lowest class &#039;&#039;&#039;B&#039;&#039;&#039;, etc. up to the group with the highest axle weights which will get class &#039;&#039;&#039;E&#039;&#039;&#039;. Do the same for the other track gauge/types if your train set has those.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A track set does not have to provide a dedicated track type for each axle weight limit. A track set that does not provide a dedicated track for each axle load class, must make sure to map all undefined axle load classes to a real railtype using property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]]. This way a train set can rely on all labels for all axle load classes being available. Example: if you only want to provide 2 axle load classes for standard gauge unelectrified with no speed limits, you can map SA&#039;&#039;&#039;A&#039;&#039;&#039;N + SA&#039;&#039;&#039;B&#039;&#039;&#039;N to SA&#039;&#039;&#039;C&#039;&#039;&#039;N and SA&#039;&#039;&#039;D&#039;&#039;&#039;N to SA&#039;&#039;&#039;E&#039;&#039;&#039;N if the cost difference between the two railtypes is high, or SA&#039;&#039;&#039;A&#039;&#039;&#039;N to SA&#039;&#039;&#039;B&#039;&#039;&#039;N and SA&#039;&#039;&#039;C&#039;&#039;&#039;N + SA&#039;&#039;&#039;D&#039;&#039;&#039;N to SA&#039;&#039;&#039;E&#039;&#039;&#039;N if the cost difference is low.&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t want to provide any axle load classes in your track set, it doesn&#039;t really matter what axle load class you choose for the track, as you&#039;ll be mapping all other classes to this track anyways. But the lowest or highest class are the obvious choice. Example: if your track set only provides narrow gauge unelectrified track with no speed limits and no axle load limits, you may use NA&#039;&#039;&#039;A&#039;&#039;&#039;N for the track label, and provide NA&#039;&#039;&#039;B&#039;&#039;&#039;N, NA&#039;&#039;&#039;C&#039;&#039;&#039;N, NA&#039;&#039;&#039;D&#039;&#039;&#039;N, NA&#039;&#039;&#039;E&#039;&#039;&#039;N in property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you need more than five axle load class, you may use lowercase letters for very low axle loads and continue the uppercase letters for very high axle loads. Be advised that your train set may not assume the existance of any other class than &#039;&#039;&#039;A&#039;&#039;&#039; through &#039;&#039;&#039;E&#039;&#039;&#039;, so when the range make sure to program your railtype table such that trains with such a class will fall back to class &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;E&#039;&#039;&#039;. If you make a track set with an extended range, be aware that not all train sets will define trains for these tracks. In general: only do this in case of a train set with a matching track set.&lt;br /&gt;
&lt;br /&gt;
For the lowercase letters, &#039;&#039;&#039;b&#039;&#039;&#039; is lower than &#039;&#039;&#039;a&#039;&#039;&#039;, so for increasing axle load limits: b &amp;lt; a &amp;lt; A &amp;lt; B &amp;lt; C etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that the axle load classes never map to a specific weight in tonnes. For that reason it does not make sense to add a numeric value for the axle load to the name of a track type or in the extended purchase info of a train. Instead use the relative expressions &#039;very low&#039;, &#039;low&#039;, &#039;medium&#039;, &#039;high&#039; and &#039;very high&#039; or use the class letters directly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Energy source type class [***X] ===&lt;br /&gt;
The last position defines the energy source type class. This is split in generic energy source types like overhead wires and third rail and specialized types like alternating and direct current.&lt;br /&gt;
&lt;br /&gt;
A track set that only uses specialized types, should map the generic types to the most suitable specialized type in the set.&lt;br /&gt;
&lt;br /&gt;
A vehicle set that uses specialized types should define a generic type as fallback, via the railtype table. If such a fallback is omitted, please note that certain vehicles may be unavailable depending on track set loaded.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Generic energy type classes&lt;br /&gt;
|-&lt;br /&gt;
|N ||no electrification&lt;br /&gt;
|-&lt;br /&gt;
|E ||overhead wires/catenary electrification&lt;br /&gt;
|-&lt;br /&gt;
|3 ||3rd rail electrification&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Specialized energy type classes !!Vehicle set fallback&lt;br /&gt;
|-&lt;br /&gt;
|Z ||3rd rail and catenary electrification || 3 or E&lt;br /&gt;
|-&lt;br /&gt;
|4 ||4th rail electrification || 3&lt;br /&gt;
|-&lt;br /&gt;
|Y ||4th rail and catenary electrification || 4 or E&lt;br /&gt;
|-&lt;br /&gt;
|T ||[http://en.wikipedia.org/wiki/Three-phase_AC_railway_electrification three phase AC electrification] || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|D ||DC catenary electrification || E&lt;br /&gt;
|-&lt;br /&gt;
|d ||low voltage DC catenary electrification (only when D also used in set) || First A then E&lt;br /&gt;
|-&lt;br /&gt;
|A ||AC catenary electrification || E&lt;br /&gt;
|-&lt;br /&gt;
|a ||low voltage AC catenary electrification (only when A also used in set) || First A then E&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
If you want multi-voltage/current vehicles in your set (i.e. a train that can run on both AC and DC current), you have to define a dedicated railtype for those vehicles. Without the railtype, it&#039;s not possible to define vehicles with this property. If you only have vehicles that can run on either one type of voltage/current or on all types of voltage/current (e.g. a 2-system if you only have &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;D&#039;&#039;&#039; tracks, or a 4-system in case of all &#039;&#039;&#039;A&#039;&#039;&#039;, &#039;&#039;&#039;a&#039;&#039;&#039;, &#039;&#039;&#039;D&#039;&#039;&#039; and &#039;&#039;&#039;d&#039;&#039;&#039;), then use the generic class &#039;&#039;&#039;E&#039;&#039;&#039; for vehicles that should be able to run on all different voltage/currents. Also the track set needs to have one at least one railtype with class &#039;&#039;&#039;E&#039;&#039;&#039; defined.&lt;br /&gt;
&lt;br /&gt;
Note that if you want more than one type of multi-voltage/current, you&#039;ll quickly get a combinatory explosion of railtype labels, so plan carefully or do not attempt it. For every different multi-voltage/current vehicle type a dedicated railtype is needed. If you want all possible combinations, then you need to define an additional 8 classes. It is not recommended to make your train/track set this complicated.&lt;br /&gt;
&lt;br /&gt;
Example approach for a 4-system set, with trains that can run on either one or all systems:&lt;br /&gt;
* &#039;&#039;&#039;E&#039;&#039;&#039;: generic catenary-powered electric engines. &amp;quot;universal&amp;quot; [4-system] if any of &#039;&#039;&#039;D&#039;&#039;&#039;/&#039;&#039;&#039;d&#039;&#039;&#039;/&#039;&#039;&#039;A&#039;&#039;&#039;/&#039;&#039;&#039;a&#039;&#039;&#039; are defined.&lt;br /&gt;
* &#039;&#039;&#039;A&#039;&#039;&#039;: generic AC catenary electric engines. 25kV only if &#039;&#039;&#039;a&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;A&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;a&#039;&#039;&#039;: 15kV AC catenary electric engines. Only defined if &#039;&#039;&#039;A&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;a&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;D&#039;&#039;&#039;: generic DC catenary electric engines. 3kV if &#039;&#039;&#039;d&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;D&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;d&#039;&#039;&#039;: 1.5kV DC catenary electric engines. Only defined if &#039;&#039;&#039;D&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;D&#039;&#039;&#039; and &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;d&#039;&#039;&#039;.&lt;br /&gt;
For a 2-system set, you can simply drop &#039;&#039;&#039;a&#039;&#039;&#039; and &#039;&#039;&#039;d&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Standard labels: RAIL, ELRL, MONO, MGLV ===&lt;br /&gt;
It&#039;s not possible to undefine the standard railtypes RAIL, ELRL, MONO and MGLV. The game will always add those if there are vehicles defined for these track types. As a result, for a track set it&#039;s best not to ignore those standard labels, but rather work with them and define them in the set. If your track set does not have monorail or maglev tracks, there of course is no need to define those. But if your track set defines anything that resembles unelectrified or electrified rail, you should use the RAIL and ELRL labels. Matching labels from the above scheme will then be defined in property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
As vehicles from NewGRFs that do not use explicit railtypes will end up on these standard railtypes, you should use RAIL instead of whatever type could be regarded as the most commonly used unelectrified type, ELRL instead of the most commonly used electrified type and so on. The label according to this scheme is then set as an alternate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Summary for track sets ==&lt;br /&gt;
This section summarizes the above for track sets.&lt;br /&gt;
&lt;br /&gt;
; [X***] Track gauge and type class&lt;br /&gt;
* Define at least one track type for every track gauge/type class you want in your set.&lt;br /&gt;
* If you only provide tracks for one gauge/type, consider leaving some free railtypes so a player can load an additional set for some other type.&lt;br /&gt;
; [*X**] Speed limit class&lt;br /&gt;
* Make sure class A is always available, either directly or via an alternate label.&lt;br /&gt;
* Use only class A if you don&#039;t want speed limits;&lt;br /&gt;
* With speed limits, A is the lowest speed limit. Continue with B, C, etc. for increasing speed limits;&lt;br /&gt;
* The speed class can also be used to implement additional eye-candy track types, use letters higher in the alphabet for this.&lt;br /&gt;
; [**X*] Axle load class&lt;br /&gt;
* Always define all classes A through E for every track type class / electrification combination, either:&lt;br /&gt;
** Directly via a real railtype definition;&lt;br /&gt;
** Indirectly via the alternate rail type label list, property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
* Extend the predefined classes only if you also provide a train set that makes use of these.&lt;br /&gt;
; [***X] Energy source type class&lt;br /&gt;
* If your set only uses specialized classes, always map the generic classes to the closest matching specialized type via property 1D.&lt;br /&gt;
; Standard labels [RAIL, ELRL, MONO, MGLV]&lt;br /&gt;
* Always define the standard labels when possible, instead of what would be the equivalent of the standard label in this scheme.&lt;br /&gt;
* Map the equivalent labels from this scheme to the standard labels using property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
Or, put differently, for each gauge/type, select one or more energy source types. For each type/energy combination provide all axle load classes for the speed class &amp;quot;A&amp;quot;, either as a real type or as an alternate of another type. Provide more types with a different speed letter if you want to provide several different speeds or other eye-candy tracks.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Summary for train sets ==&lt;br /&gt;
This section summarizes the above for train sets.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; [X***] Track gauge and type class&lt;br /&gt;
* Use the track type class that matches the vehicle;&lt;br /&gt;
* Define a fallback type via the railtype table in case you want the vehicle to be available on a different track if no matching track set is loaded.&lt;br /&gt;
** Specialized subtypes like &amp;quot;n&amp;quot; might not always be available. If you want those vehicles to be still available then, fall back the the generic class (e.g. &amp;quot;N&amp;quot;).&lt;br /&gt;
; [*X**] Speed limit class &lt;br /&gt;
* Always use class A for every vehicle.&lt;br /&gt;
; [**X*] Axle load class&lt;br /&gt;
* Use all classes A through E according to the maximum axle weight of the vehicle.&lt;br /&gt;
* Extend the predefined classes only if you also provide a track set that makes use of these;&lt;br /&gt;
** When extending the predefined classes A through E, define a fallback type via the railtype table in case you want the vehicle to be available if no matching track set is loaded.&lt;br /&gt;
; [***X] Energy source type class&lt;br /&gt;
* Use the energy source type class that matches the vehicle;&lt;br /&gt;
* When using specialized classes, define a fallback type via the railtype table in case you want the vehicle to be available if no matching track set is loaded.&lt;br /&gt;
; Standard labels [RAIL, ELRL, MONO, MGLV]&lt;br /&gt;
* Define a fallback type to the standard labels via the railtype table in case you want the vehicle to be available on the standard tracks if no matching track set is loaded.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Be as specific as you want when selecting the railtype, it is the job of the track set to select a playable, reduced subset out of all possible type combinations.&lt;br /&gt;
&lt;br /&gt;
== In case you&#039;re not convinced by this scheme ==&lt;br /&gt;
Adopting this scheme gives the player freedom to use any track set in combination with any train set that follow the scheme. &lt;br /&gt;
&lt;br /&gt;
This means that you can make your train set compatible with track sets that provide axle load classes, and track sets that provide speed limits, and at the same time with track sets that provide none of this. This way, the player can decide to play with or without axle load classes, or with or without speed limits, simply by loading a track set that does or does not provide these features.&lt;br /&gt;
&lt;br /&gt;
And for your track set, it means that you can make it as simple or as complicated as you want (within the 64 track type limit), while not having to worry about compatibility with train sets.&lt;br /&gt;
&lt;br /&gt;
Still not convinced? Feel free to use railtype labels of your own, but know that you will likely come to regret that at some point in the future.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Forum topic==&lt;br /&gt;
If you want to discuss the standardized railtype scheme or have any questions about it, you can visit [http://www.tt-forums.net/viewtopic.php?t=59379 the forum topic].&lt;br /&gt;
&lt;br /&gt;
==&amp;quot;Innsbruck 2022 Convention&amp;quot; for partial compliance==&lt;br /&gt;
&lt;br /&gt;
This is really esoteric, but eh. It was the product of long discussion / debate / argument / reasoning between grf authors.&lt;br /&gt;
&lt;br /&gt;
1. The Standardized Railtype Scheme &#039;&#039;&#039;is a useful tool&#039;&#039;&#039; for providing reliable compatibility between train grfs and railtype grfs.&lt;br /&gt;
&lt;br /&gt;
2. The &#039;&#039;&#039;axle load class&#039;&#039;&#039; in the scheme presents a number of issues for compliance.&lt;br /&gt;
&lt;br /&gt;
2.1. Over 10 years since the scheme was standardised, not many train grfs implement multiple axle load classes &#039;&#039;&#039;as required by the scheme&#039;&#039;&#039;.  Known examples that &#039;&#039;&#039;do&#039;&#039;&#039; comply include Dutch Train Set, French Narrow Gauge Trains, and Finnish Trains.&lt;br /&gt;
&lt;br /&gt;
2.2. Elements of the axle load rules have proven hard to interpret.  For example:&lt;br /&gt;
&lt;br /&gt;
* is it compliant to use &#039;&#039;fewer&#039;&#039; than 5 classes in a train grf?  There is a lack of consensus on this.&lt;br /&gt;
* axle load is only one of many factors that govern whether a vehicle is compatible with a route, for example loading gauge, minimum curve, signalling types etc&lt;br /&gt;
&lt;br /&gt;
2.3. Meanwhile &#039;&#039;multiple existing train grfs use class &#039;&#039;A&#039;&#039; for the axle load for all trains&#039;&#039; (except where relying on default railtypes such as RAIL and ELRL).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3. The Innsbruck 2022 Convention uses class &#039;&#039;A&#039;&#039; for axle load for &#039;&#039;&#039;all&#039;&#039;&#039; trains in a train grf (except where relying on default railtypes such as RAIL and ELRL).&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is &#039;&#039;&#039;not&#039;&#039;&#039; fully compliant with the Standardized Railtype Scheme and does not claim to be.&lt;br /&gt;
&lt;br /&gt;
However train grfs using the Innsbruck 2022 Convention are &#039;&#039;broadly compatible&#039;&#039; with railtype grfs using the Standardized Railtype Scheme.  &lt;br /&gt;
&lt;br /&gt;
Obligatory XKCD link about &#039;standards&#039;: https://xkcd.com/927/&lt;br /&gt;
&lt;br /&gt;
===Known issues===&lt;br /&gt;
&lt;br /&gt;
Known problems are that trains using only class &#039;A&#039; may limit the ability of railtype grf authors to achieve their design goals for separating railtypes by axle load.  &lt;br /&gt;
But on reflection, it can be seen that a train grf might not be able to provide a broad enough range of vehicles to cover at least 5 axle load classes.&lt;br /&gt;
&lt;br /&gt;
3.1. The Innsbruck 2022 Convention is &#039;&#039;&#039;not&#039;&#039;&#039; appropriate for train grf authors who wish to provide more than one axle load class.&lt;br /&gt;
&lt;br /&gt;
3.2. The Innsbruck 2022 Convention treats the meaning of class &#039;&#039;A&#039;&#039; as &#039;&#039;undefined&#039;&#039;, &#039;&#039;ignored&#039;&#039; or &#039;&#039;compatible with most restricted railtype&#039;&#039; for axle load.  &lt;br /&gt;
&lt;br /&gt;
Axle load class &#039;&#039;A&#039;&#039; &#039;&#039;&#039;cannot&#039;&#039;&#039; be safely interpreted as &#039;&#039;universal&#039;&#039; because from the perspective of a railtype grf &#039;&#039;A&#039;&#039; is &#039;&#039;most restricted railtype&#039;&#039;, where &#039;&#039;universal&#039;&#039; is better represented as &#039;&#039;least restricted railtype&#039;&#039;. Depending how many axle load classes are in use by the railtype grf, this could be class &#039;&#039;B&#039;&#039;, &#039;&#039;C&#039;&#039;, &#039;&#039;D&#039;&#039;, &#039;&#039;E&#039;&#039; etc.  To illustrate this issue, take the following scenario&lt;br /&gt;
&lt;br /&gt;
* railtype grf defines axle loads &#039;&#039;A&#039;&#039; to &#039;&#039;E&#039;&#039;. In this case the railtype grf author intends that &#039;&#039;A&#039;&#039; is compatible with the smallest range of vehicles, &#039;&#039;E&#039;&#039; is compatible with the largest range of vehicles, and &#039;&#039;B&#039;&#039;, &#039;&#039;C&#039;&#039; and &#039;&#039;D&#039;&#039; are compatible with some intermediate ranges of vehicles&lt;br /&gt;
* but the vehicle grf author has defined all vehicles to be axle load &#039;&#039;A&#039;&#039; in an attempt to express this vehicle is &#039;&#039;universal&#039;&#039;.  The result in the game is that an identical range of vehicles will be compatible with railtypes &#039;&#039;A&#039;&#039; to &#039;&#039;E&#039;&#039;.  &lt;br /&gt;
&lt;br /&gt;
This is clearly &#039;&#039;&#039;not&#039;&#039;&#039; the intended outcome of the railtype author. But nor is it clear within the spec that the vehicle author has particularly done anything wrong. &lt;br /&gt;
&lt;br /&gt;
It &#039;&#039;would&#039;&#039; be possible to use railtype availability testing to adjust the vehicle property 05 (track_type) to fit the highest defined axle load (&#039;&#039;E&#039;&#039; in this example case), but this is not insignificant work, and it&#039;s unlikely to be widely adopted by vehicle grf authors.  Nor would this solution achieve &#039;&#039;universal&#039;&#039; as all vehicles in vehicle grf then would be incompatible with types &#039;&#039;A&#039;&#039; through &#039;&#039;D&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
3.3. When the Innsbruck 2022 Convention is used, this &#039;&#039;&#039;does not prevent&#039;&#039;&#039; a train grf being extended in some future release to achieve full compliance with Standardized Railtype Scheme. &#039;&#039;That choice remains with train grf authors&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
3.4. If 2012 could be revisited, providing an optional &#039;&#039;_&#039;&#039; axle load class in the Standardized Railtype Scheme for &#039;&#039;undefined&#039;&#039; would have been preferable, but as of 2022, &#039;&#039;A&#039;&#039; is already widely used for this purpose, and time travel is not known to be possible.&lt;br /&gt;
&lt;br /&gt;
==Extended multivoltage support addition==&lt;br /&gt;
These are extensions to the energy source type class currently supported by SETS and xUSSR Rails which allow trainsets to code trains which are limited to a certain selection of voltages. As stated in the energy source type class section this might not be of use for all sets, as such it is optional but still recommended for trainsets for ideal functionality with tracksets which support the extended labels.&lt;br /&gt;
{|&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Specialized energy type classes !!Vehicle set fallback&lt;br /&gt;
|-&lt;br /&gt;
|* ||Equivilent to A, a, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|&#039; ||Equivilent to A, a and D || E&lt;br /&gt;
|-&lt;br /&gt;
|^ ||Equivilent to A, a and d || E&lt;br /&gt;
|-&lt;br /&gt;
|_ ||Equivilent to A, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
|, ||Equivilent to a, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|$ ||Equivilent to A and a  || First A then E&lt;br /&gt;
|-&lt;br /&gt;
|= ||Equivilent to D and d  || First D then E&lt;br /&gt;
|-&lt;br /&gt;
|) ||Equivilent to A and D  || E&lt;br /&gt;
|-&lt;br /&gt;
|( ||Equivilent to A and d  || E&lt;br /&gt;
|-&lt;br /&gt;
|] ||Equivilent to a and D  || E&lt;br /&gt;
|-&lt;br /&gt;
|[ ||Equivilent to a and d  || E&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Possible additions==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Track type/gauge&lt;br /&gt;
|-&lt;br /&gt;
|_ ||Universal &amp;quot;cheat&amp;quot; rail; ALWAYS add &amp;quot;_A_-&amp;quot; and &amp;quot;_A_N&amp;quot; to EVERY [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]] (as well as the equivalent electrified/pneumatic railtype that is powered on your electrified/pneumatic railtype to support it if you are making a new railtype set, older sets can be covered by fix or patch grfs) and &amp;quot;_A_t&amp;quot; to EVERY [[NML:Railtypes#Railtype_properties|powered_railtype_list (NML)]]&lt;br /&gt;
|-&lt;br /&gt;
|0 ||(A number zero, not a letter &amp;quot;Oh&amp;quot;) No track, eyecandy-use only&lt;br /&gt;
|-&lt;br /&gt;
|U ||[https://perma.cc/93VE-8JQZ &amp;quot;Ukrainian monorail&amp;quot; or Şaropoí̈zd (Шаропоїзд)], a u-shaped concrete &amp;quot;monorail trench&amp;quot; from 1920&#039;s Soviet Union; see [https://www.tt-forums.net/viewtopic.php?f=26&amp;amp;t=47432 the Yarmanchuk Express] for graphics&lt;br /&gt;
|-&lt;br /&gt;
|1 ||Early Monorail; See [https://perma.cc/6BVS-2P2X here] and [https://perma.cc/VCG2-ATUA here]&lt;br /&gt;
|-&lt;br /&gt;
|G ||Gyrail; [https://en.wikipedia.org/wiki/Gyro_monorail Gyro monorail/Gyroscopic monorail/Gyro-stabilized monorail] for description and IRL example, and [https://wikimon.net/Trailmon here] ([https://web.archive.org/web/20240227205547/https://wikimon.net/Trailmon archived]) for good fictional examples&lt;br /&gt;
|-&lt;br /&gt;
|m ||Minimum gauge rail; [https://en.wikipedia.org/wiki/Minimum-gauge_railway 15 in (381 mm), 400 mm (15+3⁄4 in), 16 in (406 mm), 18 in (457 mm), 19 in (483 mm), 500 mm (19+3⁄4 in) or 20 in (508 mm)]&lt;br /&gt;
|-&lt;br /&gt;
|n ||600mm &amp;quot;Decauville&amp;quot; or &amp;quot;Feldsbahn&amp;quot;, formerly labelled &amp;quot;NG60&amp;quot; before standardization; the most common narrow gauge track type in OpenTTD other than metre gauge, 600mm gauge is thus ideal for taking up the &amp;quot;n&amp;quot; gauge, though this is an ultimately optional distinction&lt;br /&gt;
|-&lt;br /&gt;
|7 ||750mm, Bosnian gauge (760 mm), and 762mm; all start with 7 and are close in size&lt;br /&gt;
|-&lt;br /&gt;
|3 ||Swedish 3 foot (891 mm), 900mm, 3 foot (914 mm) and Italian Metre (950mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|R ||Metre gauge; potentially compatible with base tramtype &amp;quot;RABN&amp;quot;, most early tramways were metre gauge&lt;br /&gt;
|-&lt;br /&gt;
|4 ||4 foot gauge (1219 mm), and possibly 4&#039;6&amp;quot; in. (1372 mm) if standardization is needed for 1372mm&lt;br /&gt;
|-&lt;br /&gt;
|s ||Scotch gauge (1372 mm)&lt;br /&gt;
|-&lt;br /&gt;
|S ||Standard gauge; already implemented in original standardized railtype scheme, but could include near-standard (1432 mm) as well as existing true standard (1435 mm) and is also potentially compatible with the SABN tramtype&lt;br /&gt;
|-&lt;br /&gt;
|X ||Omni-gauge rail (for at-grade multi-gauge crossings and stations); ultrabroad/secondary broad/primary broad/standard/primary narrow/secondary narrow gauge&lt;br /&gt;
|-&lt;br /&gt;
|x ||Multi-gauge rail (for at-grade multi-gauge crossings and stations); secondary broad/primary broad/standard/primary narrow/secondary narrow&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;+&amp;lt;/nowiki&amp;gt; ||Quad-gauge (Four-gauge) rail (for at-grade multi-gauge crossings and stations); secondary broad/primary broad/standard/primary narrow&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt; ||Four-gauge rail (for at-grade multi-gauge crossings and stations); primary broad/standard/primary narrow/secondary narrow&lt;br /&gt;
|-&lt;br /&gt;
|b ||Broad gauge rail - As broad gauge is a rare tracktype, it may still be feasible to cement B and b as broad gauges of two differing sizes, but the rarity among gauges in the real world would need to match; Italian (1445 mm) and Dresden (1450 mm) gauges may be better grouped here&lt;br /&gt;
|-&lt;br /&gt;
|t ||Leipzig trams (1458 mm) and Greater Toronto Area streetcars (1495 mm)&lt;br /&gt;
|-&lt;br /&gt;
|5 ||1520mm and 5 foot (1524 mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|V ||Pennsylvanian (1581 mm and 1588 mm) and Australian &amp;quot;Victorian&amp;quot; (1600 mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|6 ||6 foot (1829 mm) broad gauge&lt;br /&gt;
|-&lt;br /&gt;
|g ||Brunel&#039;s Great Western Railway gauge (2140 mm)&lt;br /&gt;
|-&lt;br /&gt;
|B ||Biggest Broad gauge rail - As broad gauge is a rare tracktype, and the variation in common real life track types too wide, it may be desirable to cement B and b as broad gauges of two differing sizes; With no real life examples that match the usage frequency of &amp;quot;B&amp;quot;, the gauge might best draw inspiration from the infamous [https://en.wikipedia.org/wiki/Breitspurbahn Breitspurbahn] (3000 mm) and [https://perma.cc/KQ2Z-5RCR the never-built vehicles designed for it], or from the [https://en.wikipedia.org/wiki/Brighton_and_Rottingdean_Seashore_Electric_Railway Brighton &amp;amp; Rottingdean Seashore Electric Railway] (18 ft/5,486 mm) &lt;br /&gt;
|-&lt;br /&gt;
|L ||Maglevs that have a u-shaped track&lt;br /&gt;
|-&lt;br /&gt;
|T ||Maglevs that have a monorail track&lt;br /&gt;
|-&lt;br /&gt;
|F ||Flightrail; A [https://web.archive.org/web/20231213122530/http://www.flightrail.com/ system capable of high speeds and steep hill grades] that uses a pneumatic pipe for propulsion (see &amp;quot;P&amp;quot; under energy sources), and &#039;&#039;wheels pointed inwards at a 45-degree angle&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
It might be preferred to instead use/keep &amp;quot;B&amp;quot; for &amp;quot;all (current) broad gauges&amp;quot; (mostly Victorian gauge) instead using lowercase &amp;quot;b&amp;quot; for Brunel/GWR broad gauge. This wouldn&#039;t be to different from narrow gauge since the lesser used ones are lowercase and fallback to the uppercase ones.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Electrification !!Fallback&lt;br /&gt;
|-&lt;br /&gt;
|1 ||Unspecified monorail electrification |||MONO (the whole label)&lt;br /&gt;
|-&lt;br /&gt;
|S ||Maglevs that use a synchronous linear motor ||N/A&lt;br /&gt;
|-&lt;br /&gt;
|I ||Maglevs that use a linear induction motor ||MGLV (the whole label)&lt;br /&gt;
|-&lt;br /&gt;
|V ||Vactrains/Hyperloop ||t, then I, then MGLV (the whole label)&lt;br /&gt;
|-&lt;br /&gt;
|t ||&amp;quot;Universal custom tunnel&amp;quot; (for electrified sub-surface rail tunnels) ||c, then p, then 7, then U (mandatory)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt; ||Universal energy type (&#039;&#039;not&#039;&#039; meant to replace &amp;quot;***N&amp;quot;; use for vehicles such as driving cabs which cannot move under their own power regardless, if desired) ||N/A (Be sure to put &amp;quot;***E&amp;quot; in the [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]] of a &amp;quot;***-&amp;quot; label) ||(&#039;&#039;Do not give a fallback or use for railtypes, this is for unpowered &amp;quot;locomotives&amp;quot; only!&#039;&#039;)&lt;br /&gt;
|-&lt;br /&gt;
|5 ||750v DC Outer 3rd Rail (&amp;quot;MTRO&amp;quot; or &amp;quot;SA_3&amp;quot;) and 630v DC Inner 3rd/4th Rail; a total of 5 rails (2 for wheels, 3 for electricity), plausible in the London Underground network ||3 or 4&lt;br /&gt;
|-&lt;br /&gt;
|U ||750v DC Outer 3rd Rail (&amp;quot;MTRO&amp;quot; or &amp;quot;SA_3&amp;quot;), 630v DC Inner 3rd/4th Rail and universal catenary (SAEE); a total of 5 rails (2 for wheels, 3 for electricity) if only one gauge, plausible in the London Underground network and an &amp;quot;ultimate&amp;quot; dual rail electrification without being a cheat (make it expensive or toggle-able?) as SAEU or as XAEU (universal dual rail electrified tracks) ||E&lt;br /&gt;
|-&lt;br /&gt;
|7 ||750v DC Outer 3rd Rail (&amp;quot;MTRO&amp;quot; or &amp;quot;SA_3&amp;quot;), 630v DC Inner 3rd/4th Rail, Three-phase AC (SA_T) 3rd/4th rail &amp;amp; catenary, and universal catenary (SA_E); a total of 7 rails (2 for wheels, 5 for electricity) if only one gauge, a truly universal dual rail electrification without being impossible (make it VERY expensive or toggle-able so it isn&#039;t cheat-y?) as SAE7, XAE7 or even as XRE7 (universal electrified rack-equipped dual rail tracks) ||U&lt;br /&gt;
|-&lt;br /&gt;
|P ||Pneumatic tube with physical piston slit, or closed pneumatic tube with magnetic piston (i.e. that used by [https://web.archive.org/web/20231213122530/http://www.flightrail.com/ Flightrail]) ||N/A&lt;br /&gt;
|-&lt;br /&gt;
|p ||Pneumatic and universal electrical power ||N/A (Be sure to put &amp;quot;***_&amp;quot; and ***P&amp;quot; in the [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]] of a &amp;quot;***p&amp;quot; label) ||P or 7&lt;br /&gt;
|-&lt;br /&gt;
|c ||Cheat electrification type; use solely for _R_c railtype ||p, then 7, then U, then E, then N, then &amp;quot;SA_-&amp;quot; (the whole label)&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Lurkmore</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=Standardized_Railtype_Scheme&amp;diff=4745</id>
		<title>Standardized Railtype Scheme</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=Standardized_Railtype_Scheme&amp;diff=4745"/>
		<updated>2024-02-28T05:34:45Z</updated>

		<summary type="html">&lt;p&gt;Lurkmore: Final self-correction(?)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This railtype label scheme aims to bring order to the uncontrolled growth of railtype labels. It groups the rail types into what matters from a technical perspective. The scheme provides a standardized way of defining railtype labels, based on track gauge and type, speed class, allowable axle weight and electrification type.&lt;br /&gt;
&lt;br /&gt;
It is the explicit intent of this scheme to decouple track sets from vehicle sets to facilitate easy mixing. This way the player can select a track set of choice to go with a train set of choice. It allows the player to play with or without axle load classes, or with or without speed limit classes, simply by loading a track set that does or does not provide these features. In some cases it will also be possible to combine niche track sets, for instance a standard gauge track set with a narrow gauge and a metro track set.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== The Label Scheme ==&lt;br /&gt;
A railtype label consists of four characters. In this scheme, each position has a different purpose:&lt;br /&gt;
# Track gauge and type class (e.g. standard gauge rail, narrow gauge rail, monorail)&lt;br /&gt;
# Speed limit class&lt;br /&gt;
# Axle load class (maximum allowed axle weight for this track)&lt;br /&gt;
# Energy source type class&lt;br /&gt;
&lt;br /&gt;
In the next sections, each of the four positions will be explained.&lt;br /&gt;
&lt;br /&gt;
=== Track gauge and type class [X***] ===&lt;br /&gt;
The first position in the railtype label defines track gauge and/or track type class. The following classes are currently defined:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Track type/gauge&lt;br /&gt;
|- &lt;br /&gt;
|S ||Standard gauge rail&lt;br /&gt;
|-&lt;br /&gt;
|B ||Broad gauge rail &lt;br /&gt;
|-&lt;br /&gt;
|N ||Narrow gauge rail&lt;br /&gt;
|-&lt;br /&gt;
|n ||Secondary narrow gauge rail (e.g. when providing both metre and cape gauge, always use N in case of just one type of narrow gauge)&lt;br /&gt;
|-&lt;br /&gt;
|D ||Dual gauge rail, standard/broad gauge&lt;br /&gt;
|-&lt;br /&gt;
|d ||Dual gauge rail, standard/narrow gauge&lt;br /&gt;
|-&lt;br /&gt;
|M ||Monorail&lt;br /&gt;
|-&lt;br /&gt;
|L ||Magnetic Levitation&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Speed limit class [*X**] ===&lt;br /&gt;
The second position in the railtype label defines the speed limit class. These classes do not map to a fixed numeric value, but are used to define an internal speed limit order for the track set. This means that if your track set has two different speed limits for track types that are otherwise identical, you&#039;ll use letters A and B here. In case of three different speed limits, use A, B and C. In case your track set does not employ speed limits, always use A. Train sets do not care about the speed limit, and will always set the lowest speed class, i.e. A.&lt;br /&gt;
&lt;br /&gt;
This gives for instance the following options:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||no speed limits&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;OR&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||low speed&lt;br /&gt;
|-&lt;br /&gt;
|B ||high speed&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;OR&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||low speed&lt;br /&gt;
|-&lt;br /&gt;
|B ||medium speed&lt;br /&gt;
|-&lt;br /&gt;
|C ||high speed&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;etc.&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear:left;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The speed limit class may also be used for some advanced features of the label scheme, like specialized track types and eyecandy purposes. Be careful not to break the compatibility with other sets when using the speed limit class for these purposes.&lt;br /&gt;
&lt;br /&gt;
An example of a special use is rack rail. In the French set it is used to give rack rail engines a higher speed and TE than normal rail engines when used on rack rail. When defining trains with a special speed limit class, always allow a fallback to speed limit class A via the railtype table.&lt;br /&gt;
&lt;br /&gt;
An example of eyecandy use are urban tracks. These are a variation of regular tracks, but with concrete ground tiles to better match the urban environment. Train sets must not define vehicles for eyecandy classes. If you think you have special vehicles that should only run on the eyecandy class, it is &#039;&#039;not&#039;&#039; eyecandy but a separate track gauge/type.&lt;br /&gt;
&lt;br /&gt;
The following special and eyecandy classes have been defined so far:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Description !!Type !!Used by&lt;br /&gt;
|- &lt;br /&gt;
|A-H ||speed limits ||colspan=&amp;quot;2&amp;quot;|reserved&lt;br /&gt;
|- &lt;br /&gt;
|R ||rack rail ||special ||French Set Rails &lt;br /&gt;
|- &lt;br /&gt;
|S ||subterranean ||eyecandy ||Metro Track Set&lt;br /&gt;
|- &lt;br /&gt;
|U ||urban ||eyecandy ||Metro Track Set&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Axle load class [**X*] ===&lt;br /&gt;
The third position defines the axle weight limit. Heavy trains cannot run on tracks with a low axle weight limit; these trains need more expensive tracks with a heigher weight limit. There are five axle load classes &#039;&#039;&#039;A&#039;&#039;&#039; through &#039;&#039;&#039;E&#039;&#039;&#039;. &#039;&#039;&#039;A&#039;&#039;&#039; is for the lowest axle load limit, &#039;&#039;&#039;E&#039;&#039;&#039; for the highest. The exact axle load attached to each class is relative to the track gauge/type and trains in the set. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A train set should set the appropriate axle weight for each train via the railtype label, as to make the set work with track sets that do provide tracks with different weight limits, even if you don&#039;t care about it for your trainset. Split all vehicles of a certain track gauge/type into five groups of similar axle weight. The group with the lowest axle weights will get class &#039;&#039;&#039;A&#039;&#039;&#039;, the second lowest class &#039;&#039;&#039;B&#039;&#039;&#039;, etc. up to the group with the highest axle weights which will get class &#039;&#039;&#039;E&#039;&#039;&#039;. Do the same for the other track gauge/types if your train set has those.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A track set does not have to provide a dedicated track type for each axle weight limit. A track set that does not provide a dedicated track for each axle load class, must make sure to map all undefined axle load classes to a real railtype using property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]]. This way a train set can rely on all labels for all axle load classes being available. Example: if you only want to provide 2 axle load classes for standard gauge unelectrified with no speed limits, you can map SA&#039;&#039;&#039;A&#039;&#039;&#039;N + SA&#039;&#039;&#039;B&#039;&#039;&#039;N to SA&#039;&#039;&#039;C&#039;&#039;&#039;N and SA&#039;&#039;&#039;D&#039;&#039;&#039;N to SA&#039;&#039;&#039;E&#039;&#039;&#039;N if the cost difference between the two railtypes is high, or SA&#039;&#039;&#039;A&#039;&#039;&#039;N to SA&#039;&#039;&#039;B&#039;&#039;&#039;N and SA&#039;&#039;&#039;C&#039;&#039;&#039;N + SA&#039;&#039;&#039;D&#039;&#039;&#039;N to SA&#039;&#039;&#039;E&#039;&#039;&#039;N if the cost difference is low.&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t want to provide any axle load classes in your track set, it doesn&#039;t really matter what axle load class you choose for the track, as you&#039;ll be mapping all other classes to this track anyways. But the lowest or highest class are the obvious choice. Example: if your track set only provides narrow gauge unelectrified track with no speed limits and no axle load limits, you may use NA&#039;&#039;&#039;A&#039;&#039;&#039;N for the track label, and provide NA&#039;&#039;&#039;B&#039;&#039;&#039;N, NA&#039;&#039;&#039;C&#039;&#039;&#039;N, NA&#039;&#039;&#039;D&#039;&#039;&#039;N, NA&#039;&#039;&#039;E&#039;&#039;&#039;N in property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you need more than five axle load class, you may use lowercase letters for very low axle loads and continue the uppercase letters for very high axle loads. Be advised that your train set may not assume the existance of any other class than &#039;&#039;&#039;A&#039;&#039;&#039; through &#039;&#039;&#039;E&#039;&#039;&#039;, so when the range make sure to program your railtype table such that trains with such a class will fall back to class &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;E&#039;&#039;&#039;. If you make a track set with an extended range, be aware that not all train sets will define trains for these tracks. In general: only do this in case of a train set with a matching track set.&lt;br /&gt;
&lt;br /&gt;
For the lowercase letters, &#039;&#039;&#039;b&#039;&#039;&#039; is lower than &#039;&#039;&#039;a&#039;&#039;&#039;, so for increasing axle load limits: b &amp;lt; a &amp;lt; A &amp;lt; B &amp;lt; C etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that the axle load classes never map to a specific weight in tonnes. For that reason it does not make sense to add a numeric value for the axle load to the name of a track type or in the extended purchase info of a train. Instead use the relative expressions &#039;very low&#039;, &#039;low&#039;, &#039;medium&#039;, &#039;high&#039; and &#039;very high&#039; or use the class letters directly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Energy source type class [***X] ===&lt;br /&gt;
The last position defines the energy source type class. This is split in generic energy source types like overhead wires and third rail and specialized types like alternating and direct current.&lt;br /&gt;
&lt;br /&gt;
A track set that only uses specialized types, should map the generic types to the most suitable specialized type in the set.&lt;br /&gt;
&lt;br /&gt;
A vehicle set that uses specialized types should define a generic type as fallback, via the railtype table. If such a fallback is omitted, please note that certain vehicles may be unavailable depending on track set loaded.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Generic energy type classes&lt;br /&gt;
|-&lt;br /&gt;
|N ||no electrification&lt;br /&gt;
|-&lt;br /&gt;
|E ||overhead wires/catenary electrification&lt;br /&gt;
|-&lt;br /&gt;
|3 ||3rd rail electrification&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Specialized energy type classes !!Vehicle set fallback&lt;br /&gt;
|-&lt;br /&gt;
|Z ||3rd rail and catenary electrification || 3 or E&lt;br /&gt;
|-&lt;br /&gt;
|4 ||4th rail electrification || 3&lt;br /&gt;
|-&lt;br /&gt;
|Y ||4th rail and catenary electrification || 4 or E&lt;br /&gt;
|-&lt;br /&gt;
|T ||[http://en.wikipedia.org/wiki/Three-phase_AC_railway_electrification three phase AC electrification] || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|D ||DC catenary electrification || E&lt;br /&gt;
|-&lt;br /&gt;
|d ||low voltage DC catenary electrification (only when D also used in set) || First A then E&lt;br /&gt;
|-&lt;br /&gt;
|A ||AC catenary electrification || E&lt;br /&gt;
|-&lt;br /&gt;
|a ||low voltage AC catenary electrification (only when A also used in set) || First A then E&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
If you want multi-voltage/current vehicles in your set (i.e. a train that can run on both AC and DC current), you have to define a dedicated railtype for those vehicles. Without the railtype, it&#039;s not possible to define vehicles with this property. If you only have vehicles that can run on either one type of voltage/current or on all types of voltage/current (e.g. a 2-system if you only have &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;D&#039;&#039;&#039; tracks, or a 4-system in case of all &#039;&#039;&#039;A&#039;&#039;&#039;, &#039;&#039;&#039;a&#039;&#039;&#039;, &#039;&#039;&#039;D&#039;&#039;&#039; and &#039;&#039;&#039;d&#039;&#039;&#039;), then use the generic class &#039;&#039;&#039;E&#039;&#039;&#039; for vehicles that should be able to run on all different voltage/currents. Also the track set needs to have one at least one railtype with class &#039;&#039;&#039;E&#039;&#039;&#039; defined.&lt;br /&gt;
&lt;br /&gt;
Note that if you want more than one type of multi-voltage/current, you&#039;ll quickly get a combinatory explosion of railtype labels, so plan carefully or do not attempt it. For every different multi-voltage/current vehicle type a dedicated railtype is needed. If you want all possible combinations, then you need to define an additional 8 classes. It is not recommended to make your train/track set this complicated.&lt;br /&gt;
&lt;br /&gt;
Example approach for a 4-system set, with trains that can run on either one or all systems:&lt;br /&gt;
* &#039;&#039;&#039;E&#039;&#039;&#039;: generic catenary-powered electric engines. &amp;quot;universal&amp;quot; [4-system] if any of &#039;&#039;&#039;D&#039;&#039;&#039;/&#039;&#039;&#039;d&#039;&#039;&#039;/&#039;&#039;&#039;A&#039;&#039;&#039;/&#039;&#039;&#039;a&#039;&#039;&#039; are defined.&lt;br /&gt;
* &#039;&#039;&#039;A&#039;&#039;&#039;: generic AC catenary electric engines. 25kV only if &#039;&#039;&#039;a&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;A&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;a&#039;&#039;&#039;: 15kV AC catenary electric engines. Only defined if &#039;&#039;&#039;A&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;a&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;D&#039;&#039;&#039;: generic DC catenary electric engines. 3kV if &#039;&#039;&#039;d&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;D&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;d&#039;&#039;&#039;: 1.5kV DC catenary electric engines. Only defined if &#039;&#039;&#039;D&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;D&#039;&#039;&#039; and &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;d&#039;&#039;&#039;.&lt;br /&gt;
For a 2-system set, you can simply drop &#039;&#039;&#039;a&#039;&#039;&#039; and &#039;&#039;&#039;d&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Standard labels: RAIL, ELRL, MONO, MGLV ===&lt;br /&gt;
It&#039;s not possible to undefine the standard railtypes RAIL, ELRL, MONO and MGLV. The game will always add those if there are vehicles defined for these track types. As a result, for a track set it&#039;s best not to ignore those standard labels, but rather work with them and define them in the set. If your track set does not have monorail or maglev tracks, there of course is no need to define those. But if your track set defines anything that resembles unelectrified or electrified rail, you should use the RAIL and ELRL labels. Matching labels from the above scheme will then be defined in property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
As vehicles from NewGRFs that do not use explicit railtypes will end up on these standard railtypes, you should use RAIL instead of whatever type could be regarded as the most commonly used unelectrified type, ELRL instead of the most commonly used electrified type and so on. The label according to this scheme is then set as an alternate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Summary for track sets ==&lt;br /&gt;
This section summarizes the above for track sets.&lt;br /&gt;
&lt;br /&gt;
; [X***] Track gauge and type class&lt;br /&gt;
* Define at least one track type for every track gauge/type class you want in your set.&lt;br /&gt;
* If you only provide tracks for one gauge/type, consider leaving some free railtypes so a player can load an additional set for some other type.&lt;br /&gt;
; [*X**] Speed limit class&lt;br /&gt;
* Make sure class A is always available, either directly or via an alternate label.&lt;br /&gt;
* Use only class A if you don&#039;t want speed limits;&lt;br /&gt;
* With speed limits, A is the lowest speed limit. Continue with B, C, etc. for increasing speed limits;&lt;br /&gt;
* The speed class can also be used to implement additional eye-candy track types, use letters higher in the alphabet for this.&lt;br /&gt;
; [**X*] Axle load class&lt;br /&gt;
* Always define all classes A through E for every track type class / electrification combination, either:&lt;br /&gt;
** Directly via a real railtype definition;&lt;br /&gt;
** Indirectly via the alternate rail type label list, property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
* Extend the predefined classes only if you also provide a train set that makes use of these.&lt;br /&gt;
; [***X] Energy source type class&lt;br /&gt;
* If your set only uses specialized classes, always map the generic classes to the closest matching specialized type via property 1D.&lt;br /&gt;
; Standard labels [RAIL, ELRL, MONO, MGLV]&lt;br /&gt;
* Always define the standard labels when possible, instead of what would be the equivalent of the standard label in this scheme.&lt;br /&gt;
* Map the equivalent labels from this scheme to the standard labels using property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
Or, put differently, for each gauge/type, select one or more energy source types. For each type/energy combination provide all axle load classes for the speed class &amp;quot;A&amp;quot;, either as a real type or as an alternate of another type. Provide more types with a different speed letter if you want to provide several different speeds or other eye-candy tracks.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Summary for train sets ==&lt;br /&gt;
This section summarizes the above for train sets.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; [X***] Track gauge and type class&lt;br /&gt;
* Use the track type class that matches the vehicle;&lt;br /&gt;
* Define a fallback type via the railtype table in case you want the vehicle to be available on a different track if no matching track set is loaded.&lt;br /&gt;
** Specialized subtypes like &amp;quot;n&amp;quot; might not always be available. If you want those vehicles to be still available then, fall back the the generic class (e.g. &amp;quot;N&amp;quot;).&lt;br /&gt;
; [*X**] Speed limit class &lt;br /&gt;
* Always use class A for every vehicle.&lt;br /&gt;
; [**X*] Axle load class&lt;br /&gt;
* Use all classes A through E according to the maximum axle weight of the vehicle.&lt;br /&gt;
* Extend the predefined classes only if you also provide a track set that makes use of these;&lt;br /&gt;
** When extending the predefined classes A through E, define a fallback type via the railtype table in case you want the vehicle to be available if no matching track set is loaded.&lt;br /&gt;
; [***X] Energy source type class&lt;br /&gt;
* Use the energy source type class that matches the vehicle;&lt;br /&gt;
* When using specialized classes, define a fallback type via the railtype table in case you want the vehicle to be available if no matching track set is loaded.&lt;br /&gt;
; Standard labels [RAIL, ELRL, MONO, MGLV]&lt;br /&gt;
* Define a fallback type to the standard labels via the railtype table in case you want the vehicle to be available on the standard tracks if no matching track set is loaded.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Be as specific as you want when selecting the railtype, it is the job of the track set to select a playable, reduced subset out of all possible type combinations.&lt;br /&gt;
&lt;br /&gt;
== In case you&#039;re not convinced by this scheme ==&lt;br /&gt;
Adopting this scheme gives the player freedom to use any track set in combination with any train set that follow the scheme. &lt;br /&gt;
&lt;br /&gt;
This means that you can make your train set compatible with track sets that provide axle load classes, and track sets that provide speed limits, and at the same time with track sets that provide none of this. This way, the player can decide to play with or without axle load classes, or with or without speed limits, simply by loading a track set that does or does not provide these features.&lt;br /&gt;
&lt;br /&gt;
And for your track set, it means that you can make it as simple or as complicated as you want (within the 64 track type limit), while not having to worry about compatibility with train sets.&lt;br /&gt;
&lt;br /&gt;
Still not convinced? Feel free to use railtype labels of your own, but know that you will likely come to regret that at some point in the future.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Forum topic==&lt;br /&gt;
If you want to discuss the standardized railtype scheme or have any questions about it, you can visit [http://www.tt-forums.net/viewtopic.php?t=59379 the forum topic].&lt;br /&gt;
&lt;br /&gt;
==&amp;quot;Innsbruck 2022 Convention&amp;quot; for partial compliance==&lt;br /&gt;
&lt;br /&gt;
This is really esoteric, but eh. It was the product of long discussion / debate / argument / reasoning between grf authors.&lt;br /&gt;
&lt;br /&gt;
1. The Standardized Railtype Scheme &#039;&#039;&#039;is a useful tool&#039;&#039;&#039; for providing reliable compatibility between train grfs and railtype grfs.&lt;br /&gt;
&lt;br /&gt;
2. The &#039;&#039;&#039;axle load class&#039;&#039;&#039; in the scheme presents a number of issues for compliance.&lt;br /&gt;
&lt;br /&gt;
2.1. Over 10 years since the scheme was standardised, not many train grfs implement multiple axle load classes &#039;&#039;&#039;as required by the scheme&#039;&#039;&#039;.  Known examples that &#039;&#039;&#039;do&#039;&#039;&#039; comply include Dutch Train Set, French Narrow Gauge Trains, and Finnish Trains.&lt;br /&gt;
&lt;br /&gt;
2.2. Elements of the axle load rules have proven hard to interpret.  For example:&lt;br /&gt;
&lt;br /&gt;
* is it compliant to use &#039;&#039;fewer&#039;&#039; than 5 classes in a train grf?  There is a lack of consensus on this.&lt;br /&gt;
* axle load is only one of many factors that govern whether a vehicle is compatible with a route, for example loading gauge, minimum curve, signalling types etc&lt;br /&gt;
&lt;br /&gt;
2.3. Meanwhile &#039;&#039;multiple existing train grfs use class &#039;&#039;A&#039;&#039; for the axle load for all trains&#039;&#039; (except where relying on default railtypes such as RAIL and ELRL).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3. The Innsbruck 2022 Convention uses class &#039;&#039;A&#039;&#039; for axle load for &#039;&#039;&#039;all&#039;&#039;&#039; trains in a train grf (except where relying on default railtypes such as RAIL and ELRL).&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is &#039;&#039;&#039;not&#039;&#039;&#039; fully compliant with the Standardized Railtype Scheme and does not claim to be.&lt;br /&gt;
&lt;br /&gt;
However train grfs using the Innsbruck 2022 Convention are &#039;&#039;broadly compatible&#039;&#039; with railtype grfs using the Standardized Railtype Scheme.  &lt;br /&gt;
&lt;br /&gt;
Obligatory XKCD link about &#039;standards&#039;: https://xkcd.com/927/&lt;br /&gt;
&lt;br /&gt;
===Known issues===&lt;br /&gt;
&lt;br /&gt;
Known problems are that trains using only class &#039;A&#039; may limit the ability of railtype grf authors to achieve their design goals for separating railtypes by axle load.  &lt;br /&gt;
But on reflection, it can be seen that a train grf might not be able to provide a broad enough range of vehicles to cover at least 5 axle load classes.&lt;br /&gt;
&lt;br /&gt;
3.1. The Innsbruck 2022 Convention is &#039;&#039;&#039;not&#039;&#039;&#039; appropriate for train grf authors who wish to provide more than one axle load class.&lt;br /&gt;
&lt;br /&gt;
3.2. The Innsbruck 2022 Convention treats the meaning of class &#039;&#039;A&#039;&#039; as &#039;&#039;undefined&#039;&#039;, &#039;&#039;ignored&#039;&#039; or &#039;&#039;compatible with most restricted railtype&#039;&#039; for axle load.  &lt;br /&gt;
&lt;br /&gt;
Axle load class &#039;&#039;A&#039;&#039; &#039;&#039;&#039;cannot&#039;&#039;&#039; be safely interpreted as &#039;&#039;universal&#039;&#039; because from the perspective of a railtype grf &#039;&#039;A&#039;&#039; is &#039;&#039;most restricted railtype&#039;&#039;, where &#039;&#039;universal&#039;&#039; is better represented as &#039;&#039;least restricted railtype&#039;&#039;. Depending how many axle load classes are in use by the railtype grf, this could be class &#039;&#039;B&#039;&#039;, &#039;&#039;C&#039;&#039;, &#039;&#039;D&#039;&#039;, &#039;&#039;E&#039;&#039; etc.  To illustrate this issue, take the following scenario&lt;br /&gt;
&lt;br /&gt;
* railtype grf defines axle loads &#039;&#039;A&#039;&#039; to &#039;&#039;E&#039;&#039;. In this case the railtype grf author intends that &#039;&#039;A&#039;&#039; is compatible with the smallest range of vehicles, &#039;&#039;E&#039;&#039; is compatible with the largest range of vehicles, and &#039;&#039;B&#039;&#039;, &#039;&#039;C&#039;&#039; and &#039;&#039;D&#039;&#039; are compatible with some intermediate ranges of vehicles&lt;br /&gt;
* but the vehicle grf author has defined all vehicles to be axle load &#039;&#039;A&#039;&#039; in an attempt to express this vehicle is &#039;&#039;universal&#039;&#039;.  The result in the game is that an identical range of vehicles will be compatible with railtypes &#039;&#039;A&#039;&#039; to &#039;&#039;E&#039;&#039;.  &lt;br /&gt;
&lt;br /&gt;
This is clearly &#039;&#039;&#039;not&#039;&#039;&#039; the intended outcome of the railtype author. But nor is it clear within the spec that the vehicle author has particularly done anything wrong. &lt;br /&gt;
&lt;br /&gt;
It &#039;&#039;would&#039;&#039; be possible to use railtype availability testing to adjust the vehicle property 05 (track_type) to fit the highest defined axle load (&#039;&#039;E&#039;&#039; in this example case), but this is not insignificant work, and it&#039;s unlikely to be widely adopted by vehicle grf authors.  Nor would this solution achieve &#039;&#039;universal&#039;&#039; as all vehicles in vehicle grf then would be incompatible with types &#039;&#039;A&#039;&#039; through &#039;&#039;D&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
3.3. When the Innsbruck 2022 Convention is used, this &#039;&#039;&#039;does not prevent&#039;&#039;&#039; a train grf being extended in some future release to achieve full compliance with Standardized Railtype Scheme. &#039;&#039;That choice remains with train grf authors&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
3.4. If 2012 could be revisited, providing an optional &#039;&#039;_&#039;&#039; axle load class in the Standardized Railtype Scheme for &#039;&#039;undefined&#039;&#039; would have been preferable, but as of 2022, &#039;&#039;A&#039;&#039; is already widely used for this purpose, and time travel is not known to be possible.&lt;br /&gt;
&lt;br /&gt;
==Extended multivoltage support addition==&lt;br /&gt;
These are extensions to the energy source type class currently supported by SETS and xUSSR Rails which allow trainsets to code trains which are limited to a certain selection of voltages. As stated in the energy source type class section this might not be of use for all sets, as such it is optional but still recommended for trainsets for ideal functionality with tracksets which support the extended labels.&lt;br /&gt;
{|&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Specialized energy type classes !!Vehicle set fallback&lt;br /&gt;
|-&lt;br /&gt;
|* ||Equivilent to A, a, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|&#039; ||Equivilent to A, a and D || E&lt;br /&gt;
|-&lt;br /&gt;
|^ ||Equivilent to A, a and d || E&lt;br /&gt;
|-&lt;br /&gt;
|_ ||Equivilent to A, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
|, ||Equivilent to a, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|$ ||Equivilent to A and a  || First A then E&lt;br /&gt;
|-&lt;br /&gt;
|= ||Equivilent to D and d  || First D then E&lt;br /&gt;
|-&lt;br /&gt;
|) ||Equivilent to A and D  || E&lt;br /&gt;
|-&lt;br /&gt;
|( ||Equivilent to A and d  || E&lt;br /&gt;
|-&lt;br /&gt;
|] ||Equivilent to a and D  || E&lt;br /&gt;
|-&lt;br /&gt;
|[ ||Equivilent to a and d  || E&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Possible additions==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Track type/gauge&lt;br /&gt;
|-&lt;br /&gt;
|_ ||Universal &amp;quot;cheat&amp;quot; rail; ALWAYS add &amp;quot;_A_-&amp;quot; and &amp;quot;_A_N&amp;quot; to EVERY [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]] (as well as the equivalent electrified/pneumatic railtype that is powered on your electrified/pneumatic railtype to support it if you are making a new railtype set, older sets can be covered by fix or patch grfs) and &amp;quot;_A_t&amp;quot; to EVERY [[NML:Railtypes#Railtype_properties|powered_railtype_list (NML)]]&lt;br /&gt;
|-&lt;br /&gt;
|0 ||(A number zero, not a letter &amp;quot;Oh&amp;quot;) No track, eyecandy-use only&lt;br /&gt;
|-&lt;br /&gt;
|U ||[https://perma.cc/93VE-8JQZ &amp;quot;Ukrainian monorail&amp;quot; or Şaropoí̈zd (Шаропоїзд)], a u-shaped concrete &amp;quot;monorail trench&amp;quot; from 1920&#039;s Soviet Union; see [https://www.tt-forums.net/viewtopic.php?f=26&amp;amp;t=47432 the Yarmanchuk Express] for graphics&lt;br /&gt;
|-&lt;br /&gt;
|1 ||Early Monorail; See [https://perma.cc/6BVS-2P2X here] and [https://perma.cc/VCG2-ATUA here]&lt;br /&gt;
|-&lt;br /&gt;
|G ||Gyrail; [https://en.wikipedia.org/wiki/Gyro_monorail Gyro monorail/Gyroscopic monorail/Gyro-stabilized monorail] for description and IRL example, and [https://wikimon.net/Trailmon here] ([https://web.archive.org/web/20240227205547/https://wikimon.net/Trailmon archived]) for good fictional examples&lt;br /&gt;
|-&lt;br /&gt;
|m ||Minimum gauge rail; [https://en.wikipedia.org/wiki/Minimum-gauge_railway 15 in (381 mm), 400 mm (15+3⁄4 in), 16 in (406 mm), 18 in (457 mm), 19 in (483 mm), 500 mm (19+3⁄4 in) or 20 in (508 mm)]&lt;br /&gt;
|-&lt;br /&gt;
|n ||600mm &amp;quot;Decauville&amp;quot; or &amp;quot;Feldsbahn&amp;quot;, formerly labelled &amp;quot;NG60&amp;quot; before standardization; the most common narrow gauge track type in OpenTTD other than metre gauge, 600mm gauge is thus ideal for taking up the &amp;quot;n&amp;quot; gauge, though this is an ultimately optional distinction&lt;br /&gt;
|-&lt;br /&gt;
|7 ||750mm, Bosnian gauge (760 mm), and 762mm; all start with 7 and are close in size&lt;br /&gt;
|-&lt;br /&gt;
|3 ||Swedish 3 foot (891 mm), 900mm, 3 foot (914 mm) and Italian Metre (950mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|R ||Metre gauge; potentially compatible with base tramtype &amp;quot;RABN&amp;quot;, most early tramways were metre gauge&lt;br /&gt;
|-&lt;br /&gt;
|4 ||4 foot gauge (1219 mm), and possibly 4&#039;6&amp;quot; in. (1372 mm) if standardization is needed for 1372mm&lt;br /&gt;
|-&lt;br /&gt;
|s ||Scotch gauge (1372 mm)&lt;br /&gt;
|-&lt;br /&gt;
|S ||Standard gauge; already implemented in original standardized railtype scheme, but could include near-standard (1432 mm) as well as existing true standard (1435 mm) and is also potentially compatible with the SABN tramtype&lt;br /&gt;
|-&lt;br /&gt;
|X ||Omni-gauge rail (for at-grade multi-gauge crossings and stations); ultrabroad/secondary broad/primary broad/standard/primary narrow/secondary narrow gauge&lt;br /&gt;
|-&lt;br /&gt;
|x ||Multi-gauge rail (for at-grade multi-gauge crossings and stations); secondary broad/primary broad/standard/primary narrow/secondary narrow&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;+&amp;lt;/nowiki&amp;gt; ||Quad-gauge (Four-gauge) rail (for at-grade multi-gauge crossings and stations); secondary broad/primary broad/standard/primary narrow&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt; ||Four-gauge rail (for at-grade multi-gauge crossings and stations); primary broad/standard/primary narrow/secondary narrow&lt;br /&gt;
|-&lt;br /&gt;
|b ||Broad gauge rail - As broad gauge is a rare tracktype, it may still be feasible to cement B and b as broad gauges of two differing sizes, but the rarity among gauges in the real world would need to match; Italian (1445 mm) and Dresden (1450 mm) gauges may be better grouped here&lt;br /&gt;
|-&lt;br /&gt;
|t ||Leipzig trams (1458 mm) and Greater Toronto Area streetcars (1495 mm)&lt;br /&gt;
|-&lt;br /&gt;
|5 ||1520mm and 5 foot (1524 mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|V ||Pennsylvanian (1581 mm and 1588 mm) and Australian &amp;quot;Victorian&amp;quot; (1600 mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|6 ||6 foot (1829 mm) broad gauge&lt;br /&gt;
|-&lt;br /&gt;
|g ||Brunel&#039;s Great Western Railway gauge (2140 mm)&lt;br /&gt;
|-&lt;br /&gt;
|B ||Biggest Broad gauge rail - As broad gauge is a rare tracktype, and the variation in common real life track types too wide, it may be desirable to cement B and b as broad gauges of two differing sizes; With no real life examples that match the usage frequency of &amp;quot;B&amp;quot;, the gauge might best draw inspiration from the infamous [https://en.wikipedia.org/wiki/Breitspurbahn Breitspurbahn] (3000 mm) and [https://perma.cc/KQ2Z-5RCR the never-built vehicles designed for it], or from the [https://en.wikipedia.org/wiki/Brighton_and_Rottingdean_Seashore_Electric_Railway Brighton &amp;amp; Rottingdean Seashore Electric Railway] (18 ft/5,486 mm) &lt;br /&gt;
|-&lt;br /&gt;
|L ||Maglevs that have a u-shaped track&lt;br /&gt;
|-&lt;br /&gt;
|T ||Maglevs that have a monorail track&lt;br /&gt;
|-&lt;br /&gt;
|F ||Flightrail; A [https://web.archive.org/web/20231213122530/http://www.flightrail.com/ system capable of high speeds and steep hill grades] that uses a pneumatic pipe for propulsion (see &amp;quot;P&amp;quot; under energy sources), and &#039;&#039;wheels pointed inwards at a 45-degree angle&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
It might be preferred to instead use/keep &amp;quot;B&amp;quot; for &amp;quot;all (current) broad gauges&amp;quot; (mostly Victorian gauge) instead using lowercase &amp;quot;b&amp;quot; for Brunel/GWR broad gauge. This wouldn&#039;t be to different from narrow gauge since the lesser used ones are lowercase and fallback to the uppercase ones.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Electrification !!Fallback&lt;br /&gt;
|-&lt;br /&gt;
|S ||Maglevs that use a synchronous linear motor ||N/A&lt;br /&gt;
|-&lt;br /&gt;
|I ||Maglevs that use a linear induction motor ||MGLV (the whole label)&lt;br /&gt;
|-&lt;br /&gt;
|V ||Vactrains/Hyperloop ||t, then I, then MGLV (the whole label)&lt;br /&gt;
|-&lt;br /&gt;
|t ||&amp;quot;Universal custom tunnel&amp;quot; (for electrified sub-surface rail tunnels) ||c, then p, then 7, then U (mandatory)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt; ||Universal energy type (&#039;&#039;not&#039;&#039; meant to replace &amp;quot;***N&amp;quot;; use for vehicles such as driving cabs which cannot move under their own power regardless, if desired) ||N/A (Be sure to put &amp;quot;***E&amp;quot; in the [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]] of a &amp;quot;***-&amp;quot; label) ||(&#039;&#039;Do not give a fallback or use for railtypes, this is for unpowered &amp;quot;locomotives&amp;quot; only!&#039;&#039;)&lt;br /&gt;
|-&lt;br /&gt;
|5 ||750v DC Outer 3rd Rail (&amp;quot;MTRO&amp;quot; or &amp;quot;SA_3&amp;quot;) and 630v DC Inner 3rd/4th Rail; a total of 5 rails (2 for wheels, 3 for electricity), plausible in the London Underground network ||3 or 4&lt;br /&gt;
|-&lt;br /&gt;
|U ||750v DC Outer 3rd Rail (&amp;quot;MTRO&amp;quot; or &amp;quot;SA_3&amp;quot;), 630v DC Inner 3rd/4th Rail and universal catenary (SAEE); a total of 5 rails (2 for wheels, 3 for electricity) if only one gauge, plausible in the London Underground network and an &amp;quot;ultimate&amp;quot; dual rail electrification without being a cheat (make it expensive or toggle-able?) as SAEU or as XAEU (universal dual rail electrified tracks) ||E&lt;br /&gt;
|-&lt;br /&gt;
|7 ||750v DC Outer 3rd Rail (&amp;quot;MTRO&amp;quot; or &amp;quot;SA_3&amp;quot;), 630v DC Inner 3rd/4th Rail, Three-phase AC (SA_T) 3rd/4th rail &amp;amp; catenary, and universal catenary (SA_E); a total of 7 rails (2 for wheels, 5 for electricity) if only one gauge, a truly universal dual rail electrification without being impossible (make it VERY expensive or toggle-able so it isn&#039;t cheat-y?) as SAE7, XAE7 or even as XRE7 (universal electrified rack-equipped dual rail tracks) ||U&lt;br /&gt;
|-&lt;br /&gt;
|P ||Pneumatic tube with physical piston slit, or closed pneumatic tube with magnetic piston (i.e. that used by [https://web.archive.org/web/20231213122530/http://www.flightrail.com/ Flightrail]) ||N/A&lt;br /&gt;
|-&lt;br /&gt;
|p ||Pneumatic and universal electrical power ||N/A (Be sure to put &amp;quot;***_&amp;quot; and ***P&amp;quot; in the [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]] of a &amp;quot;***p&amp;quot; label) ||P or 7&lt;br /&gt;
|-&lt;br /&gt;
|c ||Cheat electrification type; use solely for _R_c railtype ||p, then 7, then U, then E, then N, then &amp;quot;SA_-&amp;quot; (the whole label)&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Lurkmore</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=Standardized_Railtype_Scheme&amp;diff=4744</id>
		<title>Standardized Railtype Scheme</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=Standardized_Railtype_Scheme&amp;diff=4744"/>
		<updated>2024-02-28T05:08:13Z</updated>

		<summary type="html">&lt;p&gt;Lurkmore: Self-corrections.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This railtype label scheme aims to bring order to the uncontrolled growth of railtype labels. It groups the rail types into what matters from a technical perspective. The scheme provides a standardized way of defining railtype labels, based on track gauge and type, speed class, allowable axle weight and electrification type.&lt;br /&gt;
&lt;br /&gt;
It is the explicit intent of this scheme to decouple track sets from vehicle sets to facilitate easy mixing. This way the player can select a track set of choice to go with a train set of choice. It allows the player to play with or without axle load classes, or with or without speed limit classes, simply by loading a track set that does or does not provide these features. In some cases it will also be possible to combine niche track sets, for instance a standard gauge track set with a narrow gauge and a metro track set.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== The Label Scheme ==&lt;br /&gt;
A railtype label consists of four characters. In this scheme, each position has a different purpose:&lt;br /&gt;
# Track gauge and type class (e.g. standard gauge rail, narrow gauge rail, monorail)&lt;br /&gt;
# Speed limit class&lt;br /&gt;
# Axle load class (maximum allowed axle weight for this track)&lt;br /&gt;
# Energy source type class&lt;br /&gt;
&lt;br /&gt;
In the next sections, each of the four positions will be explained.&lt;br /&gt;
&lt;br /&gt;
=== Track gauge and type class [X***] ===&lt;br /&gt;
The first position in the railtype label defines track gauge and/or track type class. The following classes are currently defined:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Track type/gauge&lt;br /&gt;
|- &lt;br /&gt;
|S ||Standard gauge rail&lt;br /&gt;
|-&lt;br /&gt;
|B ||Broad gauge rail &lt;br /&gt;
|-&lt;br /&gt;
|N ||Narrow gauge rail&lt;br /&gt;
|-&lt;br /&gt;
|n ||Secondary narrow gauge rail (e.g. when providing both metre and cape gauge, always use N in case of just one type of narrow gauge)&lt;br /&gt;
|-&lt;br /&gt;
|D ||Dual gauge rail, standard/broad gauge&lt;br /&gt;
|-&lt;br /&gt;
|d ||Dual gauge rail, standard/narrow gauge&lt;br /&gt;
|-&lt;br /&gt;
|M ||Monorail&lt;br /&gt;
|-&lt;br /&gt;
|L ||Magnetic Levitation&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Speed limit class [*X**] ===&lt;br /&gt;
The second position in the railtype label defines the speed limit class. These classes do not map to a fixed numeric value, but are used to define an internal speed limit order for the track set. This means that if your track set has two different speed limits for track types that are otherwise identical, you&#039;ll use letters A and B here. In case of three different speed limits, use A, B and C. In case your track set does not employ speed limits, always use A. Train sets do not care about the speed limit, and will always set the lowest speed class, i.e. A.&lt;br /&gt;
&lt;br /&gt;
This gives for instance the following options:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||no speed limits&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;OR&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||low speed&lt;br /&gt;
|-&lt;br /&gt;
|B ||high speed&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;OR&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||low speed&lt;br /&gt;
|-&lt;br /&gt;
|B ||medium speed&lt;br /&gt;
|-&lt;br /&gt;
|C ||high speed&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;etc.&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear:left;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The speed limit class may also be used for some advanced features of the label scheme, like specialized track types and eyecandy purposes. Be careful not to break the compatibility with other sets when using the speed limit class for these purposes.&lt;br /&gt;
&lt;br /&gt;
An example of a special use is rack rail. In the French set it is used to give rack rail engines a higher speed and TE than normal rail engines when used on rack rail. When defining trains with a special speed limit class, always allow a fallback to speed limit class A via the railtype table.&lt;br /&gt;
&lt;br /&gt;
An example of eyecandy use are urban tracks. These are a variation of regular tracks, but with concrete ground tiles to better match the urban environment. Train sets must not define vehicles for eyecandy classes. If you think you have special vehicles that should only run on the eyecandy class, it is &#039;&#039;not&#039;&#039; eyecandy but a separate track gauge/type.&lt;br /&gt;
&lt;br /&gt;
The following special and eyecandy classes have been defined so far:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Description !!Type !!Used by&lt;br /&gt;
|- &lt;br /&gt;
|A-H ||speed limits ||colspan=&amp;quot;2&amp;quot;|reserved&lt;br /&gt;
|- &lt;br /&gt;
|R ||rack rail ||special ||French Set Rails &lt;br /&gt;
|- &lt;br /&gt;
|S ||subterranean ||eyecandy ||Metro Track Set&lt;br /&gt;
|- &lt;br /&gt;
|U ||urban ||eyecandy ||Metro Track Set&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Axle load class [**X*] ===&lt;br /&gt;
The third position defines the axle weight limit. Heavy trains cannot run on tracks with a low axle weight limit; these trains need more expensive tracks with a heigher weight limit. There are five axle load classes &#039;&#039;&#039;A&#039;&#039;&#039; through &#039;&#039;&#039;E&#039;&#039;&#039;. &#039;&#039;&#039;A&#039;&#039;&#039; is for the lowest axle load limit, &#039;&#039;&#039;E&#039;&#039;&#039; for the highest. The exact axle load attached to each class is relative to the track gauge/type and trains in the set. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A train set should set the appropriate axle weight for each train via the railtype label, as to make the set work with track sets that do provide tracks with different weight limits, even if you don&#039;t care about it for your trainset. Split all vehicles of a certain track gauge/type into five groups of similar axle weight. The group with the lowest axle weights will get class &#039;&#039;&#039;A&#039;&#039;&#039;, the second lowest class &#039;&#039;&#039;B&#039;&#039;&#039;, etc. up to the group with the highest axle weights which will get class &#039;&#039;&#039;E&#039;&#039;&#039;. Do the same for the other track gauge/types if your train set has those.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A track set does not have to provide a dedicated track type for each axle weight limit. A track set that does not provide a dedicated track for each axle load class, must make sure to map all undefined axle load classes to a real railtype using property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]]. This way a train set can rely on all labels for all axle load classes being available. Example: if you only want to provide 2 axle load classes for standard gauge unelectrified with no speed limits, you can map SA&#039;&#039;&#039;A&#039;&#039;&#039;N + SA&#039;&#039;&#039;B&#039;&#039;&#039;N to SA&#039;&#039;&#039;C&#039;&#039;&#039;N and SA&#039;&#039;&#039;D&#039;&#039;&#039;N to SA&#039;&#039;&#039;E&#039;&#039;&#039;N if the cost difference between the two railtypes is high, or SA&#039;&#039;&#039;A&#039;&#039;&#039;N to SA&#039;&#039;&#039;B&#039;&#039;&#039;N and SA&#039;&#039;&#039;C&#039;&#039;&#039;N + SA&#039;&#039;&#039;D&#039;&#039;&#039;N to SA&#039;&#039;&#039;E&#039;&#039;&#039;N if the cost difference is low.&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t want to provide any axle load classes in your track set, it doesn&#039;t really matter what axle load class you choose for the track, as you&#039;ll be mapping all other classes to this track anyways. But the lowest or highest class are the obvious choice. Example: if your track set only provides narrow gauge unelectrified track with no speed limits and no axle load limits, you may use NA&#039;&#039;&#039;A&#039;&#039;&#039;N for the track label, and provide NA&#039;&#039;&#039;B&#039;&#039;&#039;N, NA&#039;&#039;&#039;C&#039;&#039;&#039;N, NA&#039;&#039;&#039;D&#039;&#039;&#039;N, NA&#039;&#039;&#039;E&#039;&#039;&#039;N in property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you need more than five axle load class, you may use lowercase letters for very low axle loads and continue the uppercase letters for very high axle loads. Be advised that your train set may not assume the existance of any other class than &#039;&#039;&#039;A&#039;&#039;&#039; through &#039;&#039;&#039;E&#039;&#039;&#039;, so when the range make sure to program your railtype table such that trains with such a class will fall back to class &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;E&#039;&#039;&#039;. If you make a track set with an extended range, be aware that not all train sets will define trains for these tracks. In general: only do this in case of a train set with a matching track set.&lt;br /&gt;
&lt;br /&gt;
For the lowercase letters, &#039;&#039;&#039;b&#039;&#039;&#039; is lower than &#039;&#039;&#039;a&#039;&#039;&#039;, so for increasing axle load limits: b &amp;lt; a &amp;lt; A &amp;lt; B &amp;lt; C etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that the axle load classes never map to a specific weight in tonnes. For that reason it does not make sense to add a numeric value for the axle load to the name of a track type or in the extended purchase info of a train. Instead use the relative expressions &#039;very low&#039;, &#039;low&#039;, &#039;medium&#039;, &#039;high&#039; and &#039;very high&#039; or use the class letters directly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Energy source type class [***X] ===&lt;br /&gt;
The last position defines the energy source type class. This is split in generic energy source types like overhead wires and third rail and specialized types like alternating and direct current.&lt;br /&gt;
&lt;br /&gt;
A track set that only uses specialized types, should map the generic types to the most suitable specialized type in the set.&lt;br /&gt;
&lt;br /&gt;
A vehicle set that uses specialized types should define a generic type as fallback, via the railtype table. If such a fallback is omitted, please note that certain vehicles may be unavailable depending on track set loaded.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Generic energy type classes&lt;br /&gt;
|-&lt;br /&gt;
|N ||no electrification&lt;br /&gt;
|-&lt;br /&gt;
|E ||overhead wires/catenary electrification&lt;br /&gt;
|-&lt;br /&gt;
|3 ||3rd rail electrification&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Specialized energy type classes !!Vehicle set fallback&lt;br /&gt;
|-&lt;br /&gt;
|Z ||3rd rail and catenary electrification || 3 or E&lt;br /&gt;
|-&lt;br /&gt;
|4 ||4th rail electrification || 3&lt;br /&gt;
|-&lt;br /&gt;
|Y ||4th rail and catenary electrification || 4 or E&lt;br /&gt;
|-&lt;br /&gt;
|T ||[http://en.wikipedia.org/wiki/Three-phase_AC_railway_electrification three phase AC electrification] || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|D ||DC catenary electrification || E&lt;br /&gt;
|-&lt;br /&gt;
|d ||low voltage DC catenary electrification (only when D also used in set) || First A then E&lt;br /&gt;
|-&lt;br /&gt;
|A ||AC catenary electrification || E&lt;br /&gt;
|-&lt;br /&gt;
|a ||low voltage AC catenary electrification (only when A also used in set) || First A then E&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
If you want multi-voltage/current vehicles in your set (i.e. a train that can run on both AC and DC current), you have to define a dedicated railtype for those vehicles. Without the railtype, it&#039;s not possible to define vehicles with this property. If you only have vehicles that can run on either one type of voltage/current or on all types of voltage/current (e.g. a 2-system if you only have &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;D&#039;&#039;&#039; tracks, or a 4-system in case of all &#039;&#039;&#039;A&#039;&#039;&#039;, &#039;&#039;&#039;a&#039;&#039;&#039;, &#039;&#039;&#039;D&#039;&#039;&#039; and &#039;&#039;&#039;d&#039;&#039;&#039;), then use the generic class &#039;&#039;&#039;E&#039;&#039;&#039; for vehicles that should be able to run on all different voltage/currents. Also the track set needs to have one at least one railtype with class &#039;&#039;&#039;E&#039;&#039;&#039; defined.&lt;br /&gt;
&lt;br /&gt;
Note that if you want more than one type of multi-voltage/current, you&#039;ll quickly get a combinatory explosion of railtype labels, so plan carefully or do not attempt it. For every different multi-voltage/current vehicle type a dedicated railtype is needed. If you want all possible combinations, then you need to define an additional 8 classes. It is not recommended to make your train/track set this complicated.&lt;br /&gt;
&lt;br /&gt;
Example approach for a 4-system set, with trains that can run on either one or all systems:&lt;br /&gt;
* &#039;&#039;&#039;E&#039;&#039;&#039;: generic catenary-powered electric engines. &amp;quot;universal&amp;quot; [4-system] if any of &#039;&#039;&#039;D&#039;&#039;&#039;/&#039;&#039;&#039;d&#039;&#039;&#039;/&#039;&#039;&#039;A&#039;&#039;&#039;/&#039;&#039;&#039;a&#039;&#039;&#039; are defined.&lt;br /&gt;
* &#039;&#039;&#039;A&#039;&#039;&#039;: generic AC catenary electric engines. 25kV only if &#039;&#039;&#039;a&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;A&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;a&#039;&#039;&#039;: 15kV AC catenary electric engines. Only defined if &#039;&#039;&#039;A&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;a&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;D&#039;&#039;&#039;: generic DC catenary electric engines. 3kV if &#039;&#039;&#039;d&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;D&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;d&#039;&#039;&#039;: 1.5kV DC catenary electric engines. Only defined if &#039;&#039;&#039;D&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;D&#039;&#039;&#039; and &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;d&#039;&#039;&#039;.&lt;br /&gt;
For a 2-system set, you can simply drop &#039;&#039;&#039;a&#039;&#039;&#039; and &#039;&#039;&#039;d&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Standard labels: RAIL, ELRL, MONO, MGLV ===&lt;br /&gt;
It&#039;s not possible to undefine the standard railtypes RAIL, ELRL, MONO and MGLV. The game will always add those if there are vehicles defined for these track types. As a result, for a track set it&#039;s best not to ignore those standard labels, but rather work with them and define them in the set. If your track set does not have monorail or maglev tracks, there of course is no need to define those. But if your track set defines anything that resembles unelectrified or electrified rail, you should use the RAIL and ELRL labels. Matching labels from the above scheme will then be defined in property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
As vehicles from NewGRFs that do not use explicit railtypes will end up on these standard railtypes, you should use RAIL instead of whatever type could be regarded as the most commonly used unelectrified type, ELRL instead of the most commonly used electrified type and so on. The label according to this scheme is then set as an alternate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Summary for track sets ==&lt;br /&gt;
This section summarizes the above for track sets.&lt;br /&gt;
&lt;br /&gt;
; [X***] Track gauge and type class&lt;br /&gt;
* Define at least one track type for every track gauge/type class you want in your set.&lt;br /&gt;
* If you only provide tracks for one gauge/type, consider leaving some free railtypes so a player can load an additional set for some other type.&lt;br /&gt;
; [*X**] Speed limit class&lt;br /&gt;
* Make sure class A is always available, either directly or via an alternate label.&lt;br /&gt;
* Use only class A if you don&#039;t want speed limits;&lt;br /&gt;
* With speed limits, A is the lowest speed limit. Continue with B, C, etc. for increasing speed limits;&lt;br /&gt;
* The speed class can also be used to implement additional eye-candy track types, use letters higher in the alphabet for this.&lt;br /&gt;
; [**X*] Axle load class&lt;br /&gt;
* Always define all classes A through E for every track type class / electrification combination, either:&lt;br /&gt;
** Directly via a real railtype definition;&lt;br /&gt;
** Indirectly via the alternate rail type label list, property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
* Extend the predefined classes only if you also provide a train set that makes use of these.&lt;br /&gt;
; [***X] Energy source type class&lt;br /&gt;
* If your set only uses specialized classes, always map the generic classes to the closest matching specialized type via property 1D.&lt;br /&gt;
; Standard labels [RAIL, ELRL, MONO, MGLV]&lt;br /&gt;
* Always define the standard labels when possible, instead of what would be the equivalent of the standard label in this scheme.&lt;br /&gt;
* Map the equivalent labels from this scheme to the standard labels using property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
Or, put differently, for each gauge/type, select one or more energy source types. For each type/energy combination provide all axle load classes for the speed class &amp;quot;A&amp;quot;, either as a real type or as an alternate of another type. Provide more types with a different speed letter if you want to provide several different speeds or other eye-candy tracks.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Summary for train sets ==&lt;br /&gt;
This section summarizes the above for train sets.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; [X***] Track gauge and type class&lt;br /&gt;
* Use the track type class that matches the vehicle;&lt;br /&gt;
* Define a fallback type via the railtype table in case you want the vehicle to be available on a different track if no matching track set is loaded.&lt;br /&gt;
** Specialized subtypes like &amp;quot;n&amp;quot; might not always be available. If you want those vehicles to be still available then, fall back the the generic class (e.g. &amp;quot;N&amp;quot;).&lt;br /&gt;
; [*X**] Speed limit class &lt;br /&gt;
* Always use class A for every vehicle.&lt;br /&gt;
; [**X*] Axle load class&lt;br /&gt;
* Use all classes A through E according to the maximum axle weight of the vehicle.&lt;br /&gt;
* Extend the predefined classes only if you also provide a track set that makes use of these;&lt;br /&gt;
** When extending the predefined classes A through E, define a fallback type via the railtype table in case you want the vehicle to be available if no matching track set is loaded.&lt;br /&gt;
; [***X] Energy source type class&lt;br /&gt;
* Use the energy source type class that matches the vehicle;&lt;br /&gt;
* When using specialized classes, define a fallback type via the railtype table in case you want the vehicle to be available if no matching track set is loaded.&lt;br /&gt;
; Standard labels [RAIL, ELRL, MONO, MGLV]&lt;br /&gt;
* Define a fallback type to the standard labels via the railtype table in case you want the vehicle to be available on the standard tracks if no matching track set is loaded.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Be as specific as you want when selecting the railtype, it is the job of the track set to select a playable, reduced subset out of all possible type combinations.&lt;br /&gt;
&lt;br /&gt;
== In case you&#039;re not convinced by this scheme ==&lt;br /&gt;
Adopting this scheme gives the player freedom to use any track set in combination with any train set that follow the scheme. &lt;br /&gt;
&lt;br /&gt;
This means that you can make your train set compatible with track sets that provide axle load classes, and track sets that provide speed limits, and at the same time with track sets that provide none of this. This way, the player can decide to play with or without axle load classes, or with or without speed limits, simply by loading a track set that does or does not provide these features.&lt;br /&gt;
&lt;br /&gt;
And for your track set, it means that you can make it as simple or as complicated as you want (within the 64 track type limit), while not having to worry about compatibility with train sets.&lt;br /&gt;
&lt;br /&gt;
Still not convinced? Feel free to use railtype labels of your own, but know that you will likely come to regret that at some point in the future.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Forum topic==&lt;br /&gt;
If you want to discuss the standardized railtype scheme or have any questions about it, you can visit [http://www.tt-forums.net/viewtopic.php?t=59379 the forum topic].&lt;br /&gt;
&lt;br /&gt;
==&amp;quot;Innsbruck 2022 Convention&amp;quot; for partial compliance==&lt;br /&gt;
&lt;br /&gt;
This is really esoteric, but eh. It was the product of long discussion / debate / argument / reasoning between grf authors.&lt;br /&gt;
&lt;br /&gt;
1. The Standardized Railtype Scheme &#039;&#039;&#039;is a useful tool&#039;&#039;&#039; for providing reliable compatibility between train grfs and railtype grfs.&lt;br /&gt;
&lt;br /&gt;
2. The &#039;&#039;&#039;axle load class&#039;&#039;&#039; in the scheme presents a number of issues for compliance.&lt;br /&gt;
&lt;br /&gt;
2.1. Over 10 years since the scheme was standardised, not many train grfs implement multiple axle load classes &#039;&#039;&#039;as required by the scheme&#039;&#039;&#039;.  Known examples that &#039;&#039;&#039;do&#039;&#039;&#039; comply include Dutch Train Set, French Narrow Gauge Trains, and Finnish Trains.&lt;br /&gt;
&lt;br /&gt;
2.2. Elements of the axle load rules have proven hard to interpret.  For example:&lt;br /&gt;
&lt;br /&gt;
* is it compliant to use &#039;&#039;fewer&#039;&#039; than 5 classes in a train grf?  There is a lack of consensus on this.&lt;br /&gt;
* axle load is only one of many factors that govern whether a vehicle is compatible with a route, for example loading gauge, minimum curve, signalling types etc&lt;br /&gt;
&lt;br /&gt;
2.3. Meanwhile &#039;&#039;multiple existing train grfs use class &#039;&#039;A&#039;&#039; for the axle load for all trains&#039;&#039; (except where relying on default railtypes such as RAIL and ELRL).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3. The Innsbruck 2022 Convention uses class &#039;&#039;A&#039;&#039; for axle load for &#039;&#039;&#039;all&#039;&#039;&#039; trains in a train grf (except where relying on default railtypes such as RAIL and ELRL).&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is &#039;&#039;&#039;not&#039;&#039;&#039; fully compliant with the Standardized Railtype Scheme and does not claim to be.&lt;br /&gt;
&lt;br /&gt;
However train grfs using the Innsbruck 2022 Convention are &#039;&#039;broadly compatible&#039;&#039; with railtype grfs using the Standardized Railtype Scheme.  &lt;br /&gt;
&lt;br /&gt;
Obligatory XKCD link about &#039;standards&#039;: https://xkcd.com/927/&lt;br /&gt;
&lt;br /&gt;
===Known issues===&lt;br /&gt;
&lt;br /&gt;
Known problems are that trains using only class &#039;A&#039; may limit the ability of railtype grf authors to achieve their design goals for separating railtypes by axle load.  &lt;br /&gt;
But on reflection, it can be seen that a train grf might not be able to provide a broad enough range of vehicles to cover at least 5 axle load classes.&lt;br /&gt;
&lt;br /&gt;
3.1. The Innsbruck 2022 Convention is &#039;&#039;&#039;not&#039;&#039;&#039; appropriate for train grf authors who wish to provide more than one axle load class.&lt;br /&gt;
&lt;br /&gt;
3.2. The Innsbruck 2022 Convention treats the meaning of class &#039;&#039;A&#039;&#039; as &#039;&#039;undefined&#039;&#039;, &#039;&#039;ignored&#039;&#039; or &#039;&#039;compatible with most restricted railtype&#039;&#039; for axle load.  &lt;br /&gt;
&lt;br /&gt;
Axle load class &#039;&#039;A&#039;&#039; &#039;&#039;&#039;cannot&#039;&#039;&#039; be safely interpreted as &#039;&#039;universal&#039;&#039; because from the perspective of a railtype grf &#039;&#039;A&#039;&#039; is &#039;&#039;most restricted railtype&#039;&#039;, where &#039;&#039;universal&#039;&#039; is better represented as &#039;&#039;least restricted railtype&#039;&#039;. Depending how many axle load classes are in use by the railtype grf, this could be class &#039;&#039;B&#039;&#039;, &#039;&#039;C&#039;&#039;, &#039;&#039;D&#039;&#039;, &#039;&#039;E&#039;&#039; etc.  To illustrate this issue, take the following scenario&lt;br /&gt;
&lt;br /&gt;
* railtype grf defines axle loads &#039;&#039;A&#039;&#039; to &#039;&#039;E&#039;&#039;. In this case the railtype grf author intends that &#039;&#039;A&#039;&#039; is compatible with the smallest range of vehicles, &#039;&#039;E&#039;&#039; is compatible with the largest range of vehicles, and &#039;&#039;B&#039;&#039;, &#039;&#039;C&#039;&#039; and &#039;&#039;D&#039;&#039; are compatible with some intermediate ranges of vehicles&lt;br /&gt;
* but the vehicle grf author has defined all vehicles to be axle load &#039;&#039;A&#039;&#039; in an attempt to express this vehicle is &#039;&#039;universal&#039;&#039;.  The result in the game is that an identical range of vehicles will be compatible with railtypes &#039;&#039;A&#039;&#039; to &#039;&#039;E&#039;&#039;.  &lt;br /&gt;
&lt;br /&gt;
This is clearly &#039;&#039;&#039;not&#039;&#039;&#039; the intended outcome of the railtype author. But nor is it clear within the spec that the vehicle author has particularly done anything wrong. &lt;br /&gt;
&lt;br /&gt;
It &#039;&#039;would&#039;&#039; be possible to use railtype availability testing to adjust the vehicle property 05 (track_type) to fit the highest defined axle load (&#039;&#039;E&#039;&#039; in this example case), but this is not insignificant work, and it&#039;s unlikely to be widely adopted by vehicle grf authors.  Nor would this solution achieve &#039;&#039;universal&#039;&#039; as all vehicles in vehicle grf then would be incompatible with types &#039;&#039;A&#039;&#039; through &#039;&#039;D&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
3.3. When the Innsbruck 2022 Convention is used, this &#039;&#039;&#039;does not prevent&#039;&#039;&#039; a train grf being extended in some future release to achieve full compliance with Standardized Railtype Scheme. &#039;&#039;That choice remains with train grf authors&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
3.4. If 2012 could be revisited, providing an optional &#039;&#039;_&#039;&#039; axle load class in the Standardized Railtype Scheme for &#039;&#039;undefined&#039;&#039; would have been preferable, but as of 2022, &#039;&#039;A&#039;&#039; is already widely used for this purpose, and time travel is not known to be possible.&lt;br /&gt;
&lt;br /&gt;
==Extended multivoltage support addition==&lt;br /&gt;
These are extensions to the energy source type class currently supported by SETS and xUSSR Rails which allow trainsets to code trains which are limited to a certain selection of voltages. As stated in the energy source type class section this might not be of use for all sets, as such it is optional but still recommended for trainsets for ideal functionality with tracksets which support the extended labels.&lt;br /&gt;
{|&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Specialized energy type classes !!Vehicle set fallback&lt;br /&gt;
|-&lt;br /&gt;
|* ||Equivilent to A, a, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|&#039; ||Equivilent to A, a and D || E&lt;br /&gt;
|-&lt;br /&gt;
|^ ||Equivilent to A, a and d || E&lt;br /&gt;
|-&lt;br /&gt;
|_ ||Equivilent to A, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
|, ||Equivilent to a, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|$ ||Equivilent to A and a  || First A then E&lt;br /&gt;
|-&lt;br /&gt;
|= ||Equivilent to D and d  || First D then E&lt;br /&gt;
|-&lt;br /&gt;
|) ||Equivilent to A and D  || E&lt;br /&gt;
|-&lt;br /&gt;
|( ||Equivilent to A and d  || E&lt;br /&gt;
|-&lt;br /&gt;
|] ||Equivilent to a and D  || E&lt;br /&gt;
|-&lt;br /&gt;
|[ ||Equivilent to a and d  || E&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Possible additions==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Track type/gauge&lt;br /&gt;
|-&lt;br /&gt;
|_ ||Universal &amp;quot;cheat&amp;quot; rail; ALWAYS add &amp;quot;_A_-&amp;quot; and &amp;quot;_A_N&amp;quot; to EVERY [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]] (as well as the equivalent electrified/pneumatic railtype that is powered on your electrified/pneumatic railtype to support it if you are making a new railtype set, older sets can be covered by fix or patch grfs) and &amp;quot;_A_t&amp;quot; to EVERY [[NML:Railtypes#Railtype_properties|powered_railtype_list (NML)]]&lt;br /&gt;
|-&lt;br /&gt;
|0 ||(A number zero, not a letter &amp;quot;Oh&amp;quot;) No track, eyecandy-use only&lt;br /&gt;
|-&lt;br /&gt;
|U ||[https://perma.cc/93VE-8JQZ &amp;quot;Ukrainian monorail&amp;quot; or Şaropoí̈zd (Шаропоїзд)], a u-shaped concrete &amp;quot;monorail trench&amp;quot; from 1920&#039;s Soviet Union; see [https://www.tt-forums.net/viewtopic.php?f=26&amp;amp;t=47432 the Yarmanchuk Express] for graphics&lt;br /&gt;
|-&lt;br /&gt;
|1 ||Early Monorail; See [https://perma.cc/6BVS-2P2X here] and [https://perma.cc/VCG2-ATUA here]&lt;br /&gt;
|-&lt;br /&gt;
|G ||Gyrail; [https://en.wikipedia.org/wiki/Gyro_monorail Gyro monorail/Gyroscopic monorail/Gyro-stabilized monorail] for description and IRL example, and [https://wikimon.net/Trailmon here] ([https://web.archive.org/web/20240227205547/https://wikimon.net/Trailmon archived]) for good fictional examples&lt;br /&gt;
|-&lt;br /&gt;
|m ||Minimum gauge rail; [https://en.wikipedia.org/wiki/Minimum-gauge_railway 15 in (381 mm), 400 mm (15+3⁄4 in), 16 in (406 mm), 18 in (457 mm), 19 in (483 mm), 500 mm (19+3⁄4 in) or 20 in (508 mm)]&lt;br /&gt;
|-&lt;br /&gt;
|n ||600mm &amp;quot;Decauville&amp;quot; or &amp;quot;Feldsbahn&amp;quot;, formerly labelled &amp;quot;NG60&amp;quot; before standardization; the most common narrow gauge track type in OpenTTD other than metre gauge, 600mm gauge is thus ideal for taking up the &amp;quot;n&amp;quot; gauge, though this is an ultimately optional distinction&lt;br /&gt;
|-&lt;br /&gt;
|7 ||750mm, Bosnian gauge (760 mm), and 762mm; all start with 7 and are close in size&lt;br /&gt;
|-&lt;br /&gt;
|3 ||Swedish 3 foot (891 mm), 900mm, 3 foot (914 mm) and Italian Metre (950mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|R ||Metre gauge; potentially compatible with base tramtype &amp;quot;RABN&amp;quot;, most early tramways were metre gauge&lt;br /&gt;
|-&lt;br /&gt;
|4 ||4 foot gauge (1219 mm), and possibly 4&#039;6&amp;quot; in. (1372 mm) if standardization is needed for 1372mm&lt;br /&gt;
|-&lt;br /&gt;
|s ||Scotch gauge (1372 mm)&lt;br /&gt;
|-&lt;br /&gt;
|S ||Standard gauge; already implemented in original standardized railtype scheme, but could include near-standard (1432 mm) as well as existing true standard (1435 mm) and is also potentially compatible with the SABN tramtype&lt;br /&gt;
|-&lt;br /&gt;
|X ||Omni-gauge rail (for at-grade multi-gauge crossings and stations); ultrabroad/secondary broad/primary broad/standard/primary narrow/secondary narrow gauge&lt;br /&gt;
|-&lt;br /&gt;
|x ||Multi-gauge rail (for at-grade multi-gauge crossings and stations); secondary broad/primary broad/standard/primary narrow/secondary narrow&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;+&amp;lt;/nowiki&amp;gt; ||Quad-gauge (Four-gauge) rail (for at-grade multi-gauge crossings and stations); secondary broad/primary broad/standard/primary narrow&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt; ||Four-gauge rail (for at-grade multi-gauge crossings and stations); primary broad/standard/primary narrow/secondary narrow&lt;br /&gt;
|-&lt;br /&gt;
|b ||Broad gauge rail - As broad gauge is a rare tracktype, it may still be feasible to cement B and b as broad gauges of two differing sizes, but the rarity among gauges in the real world would need to match; Italian (1445 mm) and Dresden (1450 mm) gauges may be better grouped here&lt;br /&gt;
|-&lt;br /&gt;
|t ||Leipzig trams (1458 mm) and Greater Toronto Area streetcars (1495 mm)&lt;br /&gt;
|-&lt;br /&gt;
|5 ||1520mm and 5 foot (1524 mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|V ||Pennsylvanian (1581 mm and 1588 mm) and Australian &amp;quot;Victorian&amp;quot; (1600 mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|6 ||6 foot (1829 mm) broad gauge&lt;br /&gt;
|-&lt;br /&gt;
|g ||Brunel&#039;s Great Western Railway gauge (2140 mm)&lt;br /&gt;
|-&lt;br /&gt;
|B ||Biggest Broad gauge rail - As broad gauge is a rare tracktype, and the variation in common real life track types too wide, it may be desirable to cement B and b as broad gauges of two differing sizes; With no real life examples that match the usage frequency of &amp;quot;B&amp;quot;, the gauge might best draw inspiration from the infamous [https://en.wikipedia.org/wiki/Breitspurbahn Breitspurbahn] (3000 mm) and [https://perma.cc/KQ2Z-5RCR the never-built vehicles designed for it], or from the [https://en.wikipedia.org/wiki/Brighton_and_Rottingdean_Seashore_Electric_Railway Brighton &amp;amp; Rottingdean Seashore Electric Railway] (18 ft/5,486 mm) &lt;br /&gt;
|-&lt;br /&gt;
|L ||Maglevs that have a u-shaped track&lt;br /&gt;
|-&lt;br /&gt;
|T ||Maglevs that have a monorail track&lt;br /&gt;
|-&lt;br /&gt;
|F ||Flightrail; A [https://web.archive.org/web/20231213122530/http://www.flightrail.com/ system capable of high speeds and steep hill grades] that uses a pneumatic pipe for propulsion (see &amp;quot;P&amp;quot; under energy sources), and &#039;&#039;wheels pointed inwards at a 45-degree angle&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
It might be preferred to instead use/keep &amp;quot;B&amp;quot; for &amp;quot;all (current) broad gauges&amp;quot; (mostly Victorian gauge) instead using lowercase &amp;quot;b&amp;quot; for Brunel/GWR broad gauge. This wouldn&#039;t be to different from narrow gauge since the lesser used ones are lowercase and fallback to the uppercase ones.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Electrification !!Fallback&lt;br /&gt;
|-&lt;br /&gt;
|S ||Maglevs that use a synchronous linear motor ||N/A&lt;br /&gt;
|-&lt;br /&gt;
|I ||Maglevs that use a linear induction motor ||MGLV (the whole label)&lt;br /&gt;
|-&lt;br /&gt;
|V ||Vactrains/Hyperloop ||t, then I, then MGLV (the whole label)&lt;br /&gt;
|-&lt;br /&gt;
|t ||&amp;quot;Universal custom tunnel&amp;quot; (for electrified sub-surface rail tunnels) ||c, then p, then 7, then U (mandatory)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt; ||Universal energy type (&#039;&#039;not&#039;&#039; meant to replace &amp;quot;***N&amp;quot;; use for vehicles such as driving cabs which cannot move under their own power regardless, if desired) ||N/A (Be sure to put &amp;quot;***E&amp;quot; in the [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]] of a &amp;quot;***-&amp;quot; label) ||(&#039;&#039;Do not give a fallback or use for railtypes, this is for unpowered &amp;quot;locomotives&amp;quot; only!&#039;&#039;)&lt;br /&gt;
|-&lt;br /&gt;
|5 ||750v DC Outer 3rd Rail (&amp;quot;MTRO&amp;quot; or &amp;quot;SA_3&amp;quot;) and 630v DC Inner 3rd/4th Rail; a total of 5 rails (2 for wheels, 3 for electricity), plausible in the London Underground network ||3 or 4&lt;br /&gt;
|-&lt;br /&gt;
|U ||750v DC Outer 3rd Rail (&amp;quot;MTRO&amp;quot; or &amp;quot;SA_3&amp;quot;), 630v DC Inner 3rd/4th Rail and universal catenary (SAEE); a total of 5 rails (2 for wheels, 3 for electricity) if only one gauge, plausible in the London Underground network and an &amp;quot;ultimate&amp;quot; dual rail electrification without being a cheat (make it expensive or toggle-able?) as SAEU or as XAEU (universal dual rail electrified tracks) ||E&lt;br /&gt;
|-&lt;br /&gt;
|7 ||750v DC Outer 3rd Rail (&amp;quot;MTRO&amp;quot; or &amp;quot;SA_3&amp;quot;), 630v DC Inner 3rd/4th Rail, Three-phase AC (SA_T) 3rd/4th rail &amp;amp; catenary, and universal catenary (SA_E); a total of 7 rails (2 for wheels, 5 for electricity) if only one gauge, a truly universal dual rail electrification without being impossible (make it VERY expensive or toggle-able so it isn&#039;t cheat-y?) as SAE7, XAE7 or even as XRE7 (universal electrified rack-equipped dual rail tracks) ||U&lt;br /&gt;
|-&lt;br /&gt;
|P ||Pneumatic tube with physical piston slit, or closed pneumatic tube with magnetic piston (i.e. that used by [https://web.archive.org/web/20231213122530/http://www.flightrail.com/ Flightrail]) ||N/A&lt;br /&gt;
|-&lt;br /&gt;
|p ||Pneumatic and universal electrical power ||N/A (Be sure to put &amp;quot;***_&amp;quot; and ***P&amp;quot; in the [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]] of a &amp;quot;***p&amp;quot; label) ||c, then p, then 7, then U, then E&lt;br /&gt;
|-&lt;br /&gt;
|c ||Cheat electrification type; use solely for _R_c railtype ||c, then p, then 7, then U, then E, then N, then &amp;quot;SA_-&amp;quot; (the whole label)&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Lurkmore</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=Standardized_Roadtype_Scheme&amp;diff=4743</id>
		<title>Standardized Roadtype Scheme</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=Standardized_Roadtype_Scheme&amp;diff=4743"/>
		<updated>2024-02-28T04:59:43Z</updated>

		<summary type="html">&lt;p&gt;Lurkmore: /* Energy [***X] */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This scheme was originally conceived in order to decrease the amount of necessary hidden road and tramtrack types. This is done by standardizing which labels vehicles and infrastructure should use. The standard also allows for more gameplay depth by having the option to limit vehicles to certain types of roads. It does similarly to the railtype scheme allow mixing of any vehicle set with any infrastructure set. It does however not allow multiple infrastructure sets to be used at the same time. It does not prevent it but all of the sets used have to be made to be used with each other, or use different surfaces/types which don&#039;t conflict with each other. The standard sets no limit on how vehicle sets can be used.&lt;br /&gt;
&lt;br /&gt;
It is ultimately up to the infrastructure set to chose what roadtypes are available and thereby what vehicles are available. Infrastructure and vehicles can both be in the same set, it is however recommended to be able to disable the infrastructure with parameters (preferably on an individual basis per roadtype) in case the player wants to use a different set for their infrastructure.&lt;br /&gt;
&lt;br /&gt;
* While this is a guide rather than a hard rule, it is recommended to think of standardized roadtypes vs. &amp;quot;fancy&amp;quot; roadtypes (not a default - ROAD for roadtypes, ELRL for tramtypes - and not to this standard; for example &amp;quot;FNCY&amp;quot;, &amp;quot;HAUL&amp;quot; and &amp;quot;NSTD&amp;quot; would be fancy labels) as a microcosm of the difference between a base set (OpenGFX) and a NewGRF that provides new graphics; The goal is for a basic roadtype set to cover as many standardized labels as is appropriate, and leave the more niche uses of the system to another set. This reduces the number of necessary roadtypes to a bare minimum, allowing optional roadtypes more room to cover corner cases.&lt;br /&gt;
** The reason to keep the above in mind is that if done in this way the effect works very differently than railtypes, where the primary concern is to allow gauge, energy source and so on to exist and bind trains from all sets to only the logically compatible railtypes. Roads and, by extension, streetcar tracks are more compatible with vehicles but also have much more variation. This is complicated by game engine limitations; only 60 - or 61 without ELRL - tracktype slots exist in recent versions of OpenTTD, but reaching that limit is usually a non-issue. Roadtypes and Tramtypes are considered the same on that front by the game engine, leaving 62 tramtypes - 64, including ROAD and ELRL - to be split in a pool between the two.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Surface / Type [X***] ===&lt;br /&gt;
Describes the road surface / rail type and thus the vehicle type.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roadtype:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|- style=&amp;quot;font-style:italic;&amp;quot;&lt;br /&gt;
! Letter&lt;br /&gt;
! Meaning (Road)&lt;br /&gt;
! Powered Roadtypes&lt;br /&gt;
! Recomended vehicle set fallbacks&lt;br /&gt;
|-&lt;br /&gt;
| R&lt;br /&gt;
| Regular Road&lt;br /&gt;
| RI(S)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P&lt;br /&gt;
| Passenger-only&lt;br /&gt;
| RPI(S)&lt;br /&gt;
| R&lt;br /&gt;
|-&lt;br /&gt;
| G&lt;br /&gt;
| Guided busway&lt;br /&gt;
| RPG&lt;br /&gt;
| P then R&lt;br /&gt;
|-&lt;br /&gt;
| I&lt;br /&gt;
| Industrial Site (ISR)&lt;br /&gt;
| I&lt;br /&gt;
| R&lt;br /&gt;
|-&lt;br /&gt;
| B&lt;br /&gt;
| Bicycle Lane&lt;br /&gt;
| RB(Z)&lt;br /&gt;
| R&lt;br /&gt;
|-&lt;br /&gt;
| W&lt;br /&gt;
| Waterway&lt;br /&gt;
| W&lt;br /&gt;
|-&lt;br /&gt;
| A&lt;br /&gt;
| Amphibious on road (hidden)&lt;br /&gt;
| RPI(S)W&lt;br /&gt;
| R&lt;br /&gt;
|-&lt;br /&gt;
| S&lt;br /&gt;
| Snowy or Iced Track&lt;br /&gt;
| S&lt;br /&gt;
|-&lt;br /&gt;
| a&lt;br /&gt;
| Amphibious on snow (hidden)&lt;br /&gt;
| SW&lt;br /&gt;
| S&lt;br /&gt;
|-&lt;br /&gt;
| Z&lt;br /&gt;
| Pedestrian Zone&lt;br /&gt;
| Z&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| E&lt;br /&gt;
| Eyecandy&lt;br /&gt;
| E&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| p&lt;br /&gt;
| Pump/Pipeline&lt;br /&gt;
| p&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tramtype:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|- style=&amp;quot;font-style:italic;&amp;quot;&lt;br /&gt;
! Letter&lt;br /&gt;
! Meaning (Tram)&lt;br /&gt;
! Powered Tramtypes&lt;br /&gt;
! Recomended vehicle set fallbacks&lt;br /&gt;
|-&lt;br /&gt;
| R&lt;br /&gt;
| Regular Rail&lt;br /&gt;
| RI(M)&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| P&lt;br /&gt;
| Passenger-only&lt;br /&gt;
| RPI(M)&lt;br /&gt;
| R&lt;br /&gt;
|-&lt;br /&gt;
| I&lt;br /&gt;
| Industrial Site (ISR)&lt;br /&gt;
| I&lt;br /&gt;
| R&lt;br /&gt;
|-&lt;br /&gt;
| B&lt;br /&gt;
| Bicycle Lane&lt;br /&gt;
| (R)B&lt;br /&gt;
| R&lt;br /&gt;
|-&lt;br /&gt;
| S&lt;br /&gt;
| Suspended Monorail&lt;br /&gt;
| S&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| M&lt;br /&gt;
| Metro&lt;br /&gt;
| M(RP)&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| O&lt;br /&gt;
| Trackless trams&lt;br /&gt;
| O&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| E&lt;br /&gt;
| Eyecandy/Electrical infrastructure&lt;br /&gt;
| E&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
It is the vehicle set&#039;s responsibility to implement fallbacks to other appropriate surfaces. It is also up to the author to decide if they want to do it or not. This means that road/tramtrack sets shouldn&#039;t add these to their [[NML:Roadtypes#Roadtype_properties|alternative_roadtype_list (NML)]] and [[NML:Tramtypes#Tramtype_properties|alternative_tramtype_list (NML)]]&lt;br /&gt;
&lt;br /&gt;
It is up to the track set to implement all powered roadtypes in the [[NML:Roadtypes#Roadtype_properties|powered_roadtype_list (NML)]]. The same goes for tramtypes: [[NML:Tramtypes#Tramtype_properties|powered_tramtype_list (NML)]]. It is further advised to implement support for the roadtypes/tramtypes in brackets, if applicable.&lt;br /&gt;
&lt;br /&gt;
Hidden roadtypes for compatibility should be implemented by road sets. It is up to the author to decide if they want to implement it as a hidden roadtype or not.&lt;br /&gt;
&lt;br /&gt;
=== Speed / Feature [*X**] ===&lt;br /&gt;
Any character may be used for roads, but at least one road must have &amp;quot;A&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
Vehicles should use &amp;quot;A&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Terrain / Stability [**X*] ===&lt;br /&gt;
Describes the roughness of the road surface / trackbed stability, and thus the vehicle tier.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|- style=&amp;quot;font-style:italic;&amp;quot;&lt;br /&gt;
! Letter&lt;br /&gt;
! Meaning&lt;br /&gt;
! Powered Roadtypes&lt;br /&gt;
|-&lt;br /&gt;
| a&lt;br /&gt;
| Very slow / rough / light&lt;br /&gt;
| a&lt;br /&gt;
|-&lt;br /&gt;
| A&lt;br /&gt;
| Slow / rough / light&lt;br /&gt;
| aAB&lt;br /&gt;
|-&lt;br /&gt;
| B&lt;br /&gt;
| Regular&lt;br /&gt;
| ABC&lt;br /&gt;
|-&lt;br /&gt;
| C&lt;br /&gt;
| Fast / stable&lt;br /&gt;
| BCc&lt;br /&gt;
|-&lt;br /&gt;
| c&lt;br /&gt;
| Very fast / stable&lt;br /&gt;
| c&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
If all classes aren&#039;t defined by the road set, the other ones should be in the [[NML:Roadtypes#Roadtype_properties|alternative_roadtype_list (NML)]]. The same goes for tramtypes: [[NML:Tramtypes#Tramtype_properties|alternative_tramtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
Road vehicle sets should not implement fallbacks for terrain / stability.&lt;br /&gt;
&lt;br /&gt;
Classes &amp;quot;a&amp;quot; and &amp;quot;c&amp;quot; are entirely optional for road/tramtype sets and should under no circumstances be used by vehicles.&lt;br /&gt;
&lt;br /&gt;
=== Energy [***X] ===&lt;br /&gt;
Describes the energy source of the track / vehicle.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Generic classes:&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|- style=&amp;quot;font-style:italic;&amp;quot;&lt;br /&gt;
! Letter&lt;br /&gt;
! Meaning (Road)&lt;br /&gt;
! Meaning (Tram)&lt;br /&gt;
! Vehicle set fallback&lt;br /&gt;
|-&lt;br /&gt;
| N&lt;br /&gt;
| None&lt;br /&gt;
| None&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| E&lt;br /&gt;
| Overhead electrified (Catenary)&lt;br /&gt;
| Overhead electrified (Catenary)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| G&lt;br /&gt;
| Ground electrified&lt;br /&gt;
| Ground electrified&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Z&lt;br /&gt;
| Ground and overhead electrified&lt;br /&gt;
| Ground and overhead electrified&lt;br /&gt;
| E or G&lt;br /&gt;
|}&lt;br /&gt;
&#039;&#039;&#039;Specialized classes:&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|- style=&amp;quot;font-style:italic;&amp;quot;&lt;br /&gt;
! Letter&lt;br /&gt;
! Meaning (Road)&lt;br /&gt;
! Meaning (Tram)&lt;br /&gt;
! Vehicle set fallback&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| n/a&lt;br /&gt;
| Third Rail&lt;br /&gt;
| G&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| n/a&lt;br /&gt;
| Fourth Rail&lt;br /&gt;
| 3 then G&lt;br /&gt;
|-&lt;br /&gt;
| C&lt;br /&gt;
| n/a&lt;br /&gt;
| Cable&lt;br /&gt;
| G&lt;br /&gt;
|}&lt;br /&gt;
A tramtrack set that only uses specialized types, should map the generic types to the most suitable specialized type in the set with the help of the [[NML:Tramtypes#Tramtype_properties|alternative_tramtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
=== The default labels (ROAD, ELRL) and non-standard labels===&lt;br /&gt;
OpenTTD will allways define ROAD and ELRL incase there are vehicles for them. It is therefore recomended to have these present in the set so that you can map them to appropriete labels from the standard. There are a few ways of doing this:&lt;br /&gt;
*Replacing one of the standardised types with the default label and putting the standardised label in the [[NML:Roadtypes#Roadtype_properties|alternative_roadtype_list (NML)]] or [[NML:Tramtypes#Tramtype_properties|alternative_tramtype_list (NML)]].&lt;br /&gt;
*Defining ROAD and/or ELRL separately from the standardised labels and adding the standard ones to the [[NML:Roadtypes#Roadtype_properties|powered_roadtype_list (NML)]] or [[NML:Tramtypes#Tramtype_properties|powered_tramtype_list (NML)]]. The main advantage of this is that you can use a parameter to map ROAD and/or ELRL to the standardised labels. This allows the player to chose where there non standardised vehicles will be able to go.&lt;br /&gt;
&lt;br /&gt;
Vehicle set authors might want to add the default labels and non-standard labels as a fallback. If not implemented for the defualt labels, their vehicles won&#039;t show up on the default roads and/or tracks, leading to countless bug reports from players. Non standard labels that might be worth adding fallbacks too are: ELRD, RAIL, HAUL and probably some more.&lt;br /&gt;
&lt;br /&gt;
== Summary for Road/Tramtrack sets ==&lt;br /&gt;
This section summarizes the above for road/tramtrack sets.&lt;br /&gt;
&lt;br /&gt;
; [X***] Surface / Type&lt;br /&gt;
* Chose which Surfaces and types you want in your set and give them the correct [[NML:Roadtypes#Roadtype_properties|powered_roadtype_list (NML)]] or [[NML:Tramtypes#Tramtype_properties|powered_tramtype_list (NML)]].&lt;br /&gt;
* If you only provide roads/tramtracks for one surface/type, consider leaving some free road/tramtypes so a player can load an additional set for some other type.&lt;br /&gt;
; [*X**] Speed / Feature&lt;br /&gt;
* Make sure class A is always available.&lt;br /&gt;
* Use B, C and so on if you have multible roads/tramtracks with the otherwise the same label.&lt;br /&gt;
; [**X*] Terrain / Stability &lt;br /&gt;
* Always define classes A through C for every road/tramtrack surface/type energy combination, either:&lt;br /&gt;
** Directly via a real road/tramtype definition;&lt;br /&gt;
** Indirectly via the alternate road/tramtype label list, [[NML:Roadtypes#Roadtype_properties|powered_roadtype_list (NML)]] or [[NML:Tramtypes#Tramtype_properties|powered_tramtype_list (NML)]].&lt;br /&gt;
; [***X] Energy source type class&lt;br /&gt;
* If your set only uses specialized classes, always map the generic classes to the closest matching specialized type via [[NML:Roadtypes#Roadtype_properties|powered_roadtype_list (NML)]] or [[NML:Tramtypes#Tramtype_properties|powered_tramtype_list (NML)]].&lt;br /&gt;
; Default labels [ROAD, ELRL] and non-standard labels&lt;br /&gt;
* Always define the default labels when possible, instead of what would be the equivalent of the default label in this scheme.&lt;br /&gt;
* Map the equivalent labels from this scheme to the default labels using [[NML:Roadtypes#Roadtype_properties|powered_roadtype_list (NML)]] or [[NML:Tramtypes#Tramtype_properties|powered_tramtype_list (NML)]].&lt;br /&gt;
* Map common non-standard labels to the most similar label in this scheme using [[NML:Roadtypes#Roadtype_properties|powered_roadtype_list (NML)]] or [[NML:Tramtypes#Tramtype_properties|powered_tramtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
== Summary for vehicle sets ==&lt;br /&gt;
This section summarizes the above for vehicle sets.&lt;br /&gt;
&lt;br /&gt;
; [X***] Surface / Type&lt;br /&gt;
* Use the surface / type class that matches the vehicle;&lt;br /&gt;
* Define a fallback type via the road/tramtype table in case you want the vehicle to be available on a different road or tramtrack if no matching road/tramtrack set is loaded.&lt;br /&gt;
** Specialized subtypes like &amp;quot;G&amp;quot; might not always be available. If you want those vehicles to be still available then, fall back the the generic class (e.g. &amp;quot;P&amp;quot; or &amp;quot;R&amp;quot;).&lt;br /&gt;
; [*X**] Speed / Feature &lt;br /&gt;
* Always use class A for every vehicle.&lt;br /&gt;
; [**X*] Terrain / Stability&lt;br /&gt;
* Use A, B or C depending on where you want your vehicles to be able to drive.&lt;br /&gt;
** A is used for slow offroad capable vehicles which aren&#039;t allowed on Motorways and similar Roads&lt;br /&gt;
** B is used for vehicles which can drive offroad but are also allowed on Motorways.&lt;br /&gt;
** C is used for vehicles which can&#039;t go offroad or similar.&lt;br /&gt;
** Use B if you aren&#039;t sure what to chose.&lt;br /&gt;
* Never use a or c.&lt;br /&gt;
; [***X] Energy source type class&lt;br /&gt;
* Use the energy source type class that matches the vehicle;&lt;br /&gt;
* When using specialized classes, define a fallback type via the railtype table in case you want the vehicle to be available if no matching track set is loaded.&lt;br /&gt;
; Default labels [ROAD, ELRL] and non-standard labels&lt;br /&gt;
* Define a fallback type to the default labels via the road/tramtype table in case you want the vehicle to be available on the default roads/track if no matching set is loaded.&lt;br /&gt;
* Do the same for any non-standard labels that may be relevant.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Be as specific as you want when selecting the road/tramtype, it is the job of the road/track set to select a playable, reduced subset out of all possible type combinations.&lt;br /&gt;
=== Example of fallback order for vehicle sets ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|- style=&amp;quot;font-style:italic;&amp;quot;&lt;br /&gt;
! Unchanged label&lt;br /&gt;
! Fallback order&lt;br /&gt;
|-&lt;br /&gt;
| GACE (road)&lt;br /&gt;
| GACE -&amp;gt; PACE -&amp;gt; RACE -&amp;gt; (ROAD)&lt;br /&gt;
|-&lt;br /&gt;
| PAB4 (tram)&lt;br /&gt;
| PAB4 -&amp;gt; PAB3 -&amp;gt; PABG -&amp;gt; RAB4 -&amp;gt; RAB3 -&amp;gt; RABG&lt;br /&gt;
|-&lt;br /&gt;
| IAAG (road)&lt;br /&gt;
| IAAG -&amp;gt; RAAG&lt;br /&gt;
|-&lt;br /&gt;
| AACE (road)&lt;br /&gt;
| AACE -&amp;gt; RAAE -&amp;gt; (ELRD)&lt;br /&gt;
|-&lt;br /&gt;
| RABE (tram)&lt;br /&gt;
| RABE -&amp;gt; (ELRL)&lt;br /&gt;
|-&lt;br /&gt;
| PAAN (tram)&lt;br /&gt;
| PAAN -&amp;gt; RAAN -&amp;gt; (RAIL)&lt;br /&gt;
|}&lt;br /&gt;
== Forum topic ==&lt;br /&gt;
Feel free to discuss and ask questions about the scheme at the forum topic [https://www.tt-forums.net/viewtopic.php?t=90715 Here].&lt;br /&gt;
&lt;br /&gt;
=== Possible additions ===&lt;br /&gt;
To be discussed in the forum topic...&lt;br /&gt;
&lt;br /&gt;
==== Surface / Type [X***] ====&lt;br /&gt;
Describes the road surface / rail type and thus the vehicle type.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tramtype:&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|- style=&amp;quot;font-style:italic;&amp;quot;&lt;br /&gt;
! Letter&lt;br /&gt;
! Meaning (Tram)&lt;br /&gt;
! Powered Tramtypes&lt;br /&gt;
! Recomended vehicle set fallbacks&lt;br /&gt;
|-&lt;br /&gt;
| Z&lt;br /&gt;
| Deep-Bore Metro&lt;br /&gt;
| (For subsurface logistics systems that are normally never visible on the surface)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| z&lt;br /&gt;
| Passenger-only (Deep-Bore Metro)&lt;br /&gt;
| (For subsurface metro systems that are normally never visible on the surface)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| X or x&lt;br /&gt;
| Multiple guidance systems or guages&lt;br /&gt;
| (Depends on intent; only two tramtype rail system combinations can exist for a given set of standardized labels - i.e. XABE and xABE - making it necessary to plan accordingly)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0 (#)&lt;br /&gt;
| Invisible&lt;br /&gt;
| For invisible tramtypes; Fallback for INVI, BKVI, 0000 and other &amp;quot;null&amp;quot; tramtypes&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| s&lt;br /&gt;
| Regular Rail (Standard Gauge)&lt;br /&gt;
| r&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| p&lt;br /&gt;
| Passenger-only (Standard Gauge)&lt;br /&gt;
| r&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| r&lt;br /&gt;
| Multi-gauge Rail (Standard Gauge, Metre Gauge, 600mm Gauge)&lt;br /&gt;
| s, R, p, P&lt;br /&gt;
| P or p, depending on the vehicle&#039;s gauge (City tram); R, s or 6, depending on the vehicle&#039;s gauge (Cargo tram)&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| Industrial Tramway (600mm Gauge - default tramway rails graphics)&lt;br /&gt;
| r&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Terrain / Stability [**X*] ====&lt;br /&gt;
Describes the roughness of the road surface / trackbed stability, and thus the vehicle tier. &#039;&#039;(This is edited to include the potential &amp;quot;Low Clearance&amp;quot; hidden roadtype.)&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|- style=&amp;quot;font-style:italic;&amp;quot;&lt;br /&gt;
! Letter&lt;br /&gt;
! Meaning&lt;br /&gt;
! Powered Roadtypes&lt;br /&gt;
|-&lt;br /&gt;
| a&lt;br /&gt;
| Very slow / rough / light&lt;br /&gt;
| aA&lt;br /&gt;
|-&lt;br /&gt;
| A&lt;br /&gt;
| Slow / rough / light&lt;br /&gt;
| aAB&lt;br /&gt;
|-&lt;br /&gt;
| B&lt;br /&gt;
| Regular&lt;br /&gt;
| ABC&lt;br /&gt;
|-&lt;br /&gt;
| b&lt;br /&gt;
| Regular (Low clearance)&lt;br /&gt;
| ABC&lt;br /&gt;
|-&lt;br /&gt;
| C&lt;br /&gt;
| Fast / stable&lt;br /&gt;
| BCc&lt;br /&gt;
|-&lt;br /&gt;
| c&lt;br /&gt;
| Very fast / stable&lt;br /&gt;
| Cc&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
If all classes aren&#039;t defined by the road set, the other ones should be in the [[NML:Roadtypes#Roadtype_properties|alternative_roadtype_list (NML)]]. The same goes for tramtypes: [[NML:Tramtypes#Tramtype_properties|alternative_tramtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
Road vehicle sets should not implement fallbacks for terrain / stability. Class &amp;quot;b&amp;quot; should only be used for a hidden roadtype, such as &amp;quot;RAbN&amp;quot;, &amp;quot;PAbN&amp;quot; and electrified variants. This is optional, but if used it should be applied to the [[NML:Vehicles#Road_vehicle_properties|roadtype (NML) or tram_type (NML)]] property of all vehicles able to travel under the relevant low-clearance obstacles.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;As a frame of reference, realistically &amp;quot;RAbN&amp;quot; should be used for all eye-candy cars small cargo vans and single-decker non-electrified cargo trams, while trucks (excluding trolleytrucks) and non-electrified double-decker trams should default to &amp;quot;RABN&amp;quot;. &amp;quot;RAbE&amp;quot; and other powered vehicles should be used by trolleytrucks and electric cargo trams (excluding double-decker trams). &amp;quot;PAbN&amp;quot; should be used by double-decker busses, and most non-electric trams (excluding double-decker trams). &amp;quot;PAbE&amp;quot; should be used by most passenger trams, excluding double-decker passenger trams. For other energy sources, the instructions for&amp;quot;RAbE&amp;quot; and &amp;quot;PAbE&amp;quot; can easily be adapted for any other power source (&amp;quot;RAbG&amp;quot; and &amp;quot;PAbG&amp;quot;, &amp;quot;RAbI&amp;quot; and &amp;quot;PAbI&amp;quot;, etc.).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Classes &amp;quot;a&amp;quot; and &amp;quot;c&amp;quot; are entirely optional for road/tramtype sets and should under no circumstances be used by vehicles.&lt;br /&gt;
&lt;br /&gt;
Class &amp;quot;b&amp;quot; is also optional for road/tramtype sets but should have ROADTYPE_FLAG_HIDDEN set in the bitmask of [[NML:Roadtypes#Roadtype_properties|roadtype_flags (NML)]]. Instead, a low-clearance variant of a standardized roadtype or tramtype should be compatible with all other standard classes (&amp;quot;a&amp;quot;, &amp;quot;A&amp;quot;, B&amp;quot;, &amp;quot;C&amp;quot; and &amp;quot;c&amp;quot;) using the [[NML:Roadtypes#Roadtype_properties|powered_roadtype_list (NML)]] in a road/tramtype set that sets the standardized labels (i.e. &amp;quot;RAbN&amp;quot; should be used for small cargo vans and must fallback to &amp;quot;RAaN, RAAN, RABN, RACN, RAcN&amp;quot;, and &amp;quot;PAbE&amp;quot; should be used by all busses and must fallback to &amp;quot;PAaN, PAAN, PABN, PACN, PAcN&amp;quot;). If a complex roadtype (i.e. RAaN) needs a low-clearance variant, create a non-standard label (i.e. XMPL), then define the relevant standard labels (RAaN in this case, and RAbN in turn) in the [[NML:Roadtypes#Roadtype_properties|alternative_roadtype_list (NML)]] of the non-standard label (XMPL), and define the entire class of labels (RAaN, RAAN, RABN, RAbN, RACN, RAcN) in the [[NML:Roadtypes#Roadtype_properties|powered_roadtype_list (NML)]] of the non-standard label (XMPL).&lt;br /&gt;
&lt;br /&gt;
==== Energy [***X] ====&lt;br /&gt;
Describes the energy source of the track / vehicle.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Generic classes:&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|- style=&amp;quot;font-style:italic;&amp;quot;&lt;br /&gt;
! Letter&lt;br /&gt;
! Meaning (Road)&lt;br /&gt;
! Meaning (Tram)&lt;br /&gt;
! Vehicle set fallback&lt;br /&gt;
|-&lt;br /&gt;
| I&lt;br /&gt;
| Induction-charge electrified&lt;br /&gt;
| Induction-charge electrified&lt;br /&gt;
| Z then G then N&lt;br /&gt;
|-&lt;br /&gt;
| i&lt;br /&gt;
| Eyecandy/Pipeline Infrastructure&lt;br /&gt;
| Eyecandy/Electric &amp;amp; Telecom Infrastructure&lt;br /&gt;
| Z then E then G then I&lt;br /&gt;
|-&lt;br /&gt;
| L&lt;br /&gt;
| Reclaimed Elevated Rail Eco-Park&lt;br /&gt;
| Elevated Rail&lt;br /&gt;
| I then Z then G then N (Roadtype); E then Z then G then I (Tramtype)&lt;br /&gt;
|-&lt;br /&gt;
| P&lt;br /&gt;
| No Commercial Vehicles/Parking Lot (restricted roads for RABN-compatible cars that busses and trucks cannot use; eye candy cars should use RAbP as the primary label if intended to support this)&lt;br /&gt;
| &amp;quot;PneuMetro&amp;quot; (Pneumatic Metro/Subway)&lt;br /&gt;
| I then N then i (Roadtype); N/A (Tramtype)&lt;br /&gt;
|-&lt;br /&gt;
| S&lt;br /&gt;
| &amp;quot;SolaRoad&amp;quot; (Solar Roadway) or &amp;quot;SmartStreet&amp;quot; (smartgrid network-enabled roads)&lt;br /&gt;
| Superscience/Supernatural/Special (For anything that isn&#039;t fuel and isn&#039;t based on any real energy source; psychokinetic, mana, creative energy, etc.)&lt;br /&gt;
| I then Z then E then G then N&lt;br /&gt;
|-&lt;br /&gt;
| V&lt;br /&gt;
| Viaduct/Voltaic Variant (For a second bridge variant of a road, or a trolleybus variant of a road with limited overhead clearance)&lt;br /&gt;
| &amp;quot;VacTube&amp;quot; (VacTrain Metro/Subway)&lt;br /&gt;
| P (Roadtype); N/A (Tramtype)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Specialized classes:&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|- style=&amp;quot;font-style:italic;&amp;quot;&lt;br /&gt;
! Letter&lt;br /&gt;
! Meaning (Road)&lt;br /&gt;
! Meaning (Tram)&lt;br /&gt;
! Vehicle set fallback&lt;br /&gt;
|-&lt;br /&gt;
| X&lt;br /&gt;
| Multiple systems of electricity&lt;br /&gt;
| Multiple systems of electricity&lt;br /&gt;
| Use with surface X or x (e.g. XABX and xABX) or surface R (road, or a rail-based tramtype). For use only when at least one standardized label is an energy supply and multiple non-conflicting energy types are all at the same level, such as electrified, ground electrified and induction-charging overlap; Do not set powered_railtype_list for these, instead use alternative_railtype_list.&lt;br /&gt;
|-&lt;br /&gt;
| x&lt;br /&gt;
| N/A&lt;br /&gt;
| Multiple systems of guidance, incompatible&lt;br /&gt;
| Use this with surface x (e.g. xABx) or the surface systems (e.g. SABx, RABx, MABx). For use when tramtypes are at different heights but all are fundamentally incompatible (i.e. suspended monorail, trackless tram and pneumatic metro); Do not set powered_railtype_list for these, instead use alternative_railtype_list.&lt;br /&gt;
|-&lt;br /&gt;
| 0-2 &amp;amp; 5-9&lt;br /&gt;
| N/A&lt;br /&gt;
| Multiple systems of guidance, mix of compatible/incompatible&lt;br /&gt;
| For use when tramtypes are a mix of compatible and fundamentally incompatible (i.e. electrified, ground electrified, trackless tram, suspended monorail, tram and pneumatic metro); Do not set powered_railtype_list for these, instead use alternative_railtype_list, or define these in another label&#039;s powered_railtype_list (i.e. XAB0/XAB1/XAB2/XAB5/.../XAB9 for XABN/XABE/XABX and RAB0/RAB1/RAB2/RAB5/.../RAB9 for RABN/RABE/RABX).&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Lurkmore</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=Standardized_Railtype_Scheme&amp;diff=4742</id>
		<title>Standardized Railtype Scheme</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=Standardized_Railtype_Scheme&amp;diff=4742"/>
		<updated>2024-02-28T04:29:08Z</updated>

		<summary type="html">&lt;p&gt;Lurkmore: Proposals to discuss.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This railtype label scheme aims to bring order to the uncontrolled growth of railtype labels. It groups the rail types into what matters from a technical perspective. The scheme provides a standardized way of defining railtype labels, based on track gauge and type, speed class, allowable axle weight and electrification type.&lt;br /&gt;
&lt;br /&gt;
It is the explicit intent of this scheme to decouple track sets from vehicle sets to facilitate easy mixing. This way the player can select a track set of choice to go with a train set of choice. It allows the player to play with or without axle load classes, or with or without speed limit classes, simply by loading a track set that does or does not provide these features. In some cases it will also be possible to combine niche track sets, for instance a standard gauge track set with a narrow gauge and a metro track set.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== The Label Scheme ==&lt;br /&gt;
A railtype label consists of four characters. In this scheme, each position has a different purpose:&lt;br /&gt;
# Track gauge and type class (e.g. standard gauge rail, narrow gauge rail, monorail)&lt;br /&gt;
# Speed limit class&lt;br /&gt;
# Axle load class (maximum allowed axle weight for this track)&lt;br /&gt;
# Energy source type class&lt;br /&gt;
&lt;br /&gt;
In the next sections, each of the four positions will be explained.&lt;br /&gt;
&lt;br /&gt;
=== Track gauge and type class [X***] ===&lt;br /&gt;
The first position in the railtype label defines track gauge and/or track type class. The following classes are currently defined:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Track type/gauge&lt;br /&gt;
|- &lt;br /&gt;
|S ||Standard gauge rail&lt;br /&gt;
|-&lt;br /&gt;
|B ||Broad gauge rail &lt;br /&gt;
|-&lt;br /&gt;
|N ||Narrow gauge rail&lt;br /&gt;
|-&lt;br /&gt;
|n ||Secondary narrow gauge rail (e.g. when providing both metre and cape gauge, always use N in case of just one type of narrow gauge)&lt;br /&gt;
|-&lt;br /&gt;
|D ||Dual gauge rail, standard/broad gauge&lt;br /&gt;
|-&lt;br /&gt;
|d ||Dual gauge rail, standard/narrow gauge&lt;br /&gt;
|-&lt;br /&gt;
|M ||Monorail&lt;br /&gt;
|-&lt;br /&gt;
|L ||Magnetic Levitation&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Speed limit class [*X**] ===&lt;br /&gt;
The second position in the railtype label defines the speed limit class. These classes do not map to a fixed numeric value, but are used to define an internal speed limit order for the track set. This means that if your track set has two different speed limits for track types that are otherwise identical, you&#039;ll use letters A and B here. In case of three different speed limits, use A, B and C. In case your track set does not employ speed limits, always use A. Train sets do not care about the speed limit, and will always set the lowest speed class, i.e. A.&lt;br /&gt;
&lt;br /&gt;
This gives for instance the following options:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||no speed limits&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;OR&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||low speed&lt;br /&gt;
|-&lt;br /&gt;
|B ||high speed&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;OR&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||low speed&lt;br /&gt;
|-&lt;br /&gt;
|B ||medium speed&lt;br /&gt;
|-&lt;br /&gt;
|C ||high speed&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;etc.&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear:left;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The speed limit class may also be used for some advanced features of the label scheme, like specialized track types and eyecandy purposes. Be careful not to break the compatibility with other sets when using the speed limit class for these purposes.&lt;br /&gt;
&lt;br /&gt;
An example of a special use is rack rail. In the French set it is used to give rack rail engines a higher speed and TE than normal rail engines when used on rack rail. When defining trains with a special speed limit class, always allow a fallback to speed limit class A via the railtype table.&lt;br /&gt;
&lt;br /&gt;
An example of eyecandy use are urban tracks. These are a variation of regular tracks, but with concrete ground tiles to better match the urban environment. Train sets must not define vehicles for eyecandy classes. If you think you have special vehicles that should only run on the eyecandy class, it is &#039;&#039;not&#039;&#039; eyecandy but a separate track gauge/type.&lt;br /&gt;
&lt;br /&gt;
The following special and eyecandy classes have been defined so far:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Description !!Type !!Used by&lt;br /&gt;
|- &lt;br /&gt;
|A-H ||speed limits ||colspan=&amp;quot;2&amp;quot;|reserved&lt;br /&gt;
|- &lt;br /&gt;
|R ||rack rail ||special ||French Set Rails &lt;br /&gt;
|- &lt;br /&gt;
|S ||subterranean ||eyecandy ||Metro Track Set&lt;br /&gt;
|- &lt;br /&gt;
|U ||urban ||eyecandy ||Metro Track Set&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Axle load class [**X*] ===&lt;br /&gt;
The third position defines the axle weight limit. Heavy trains cannot run on tracks with a low axle weight limit; these trains need more expensive tracks with a heigher weight limit. There are five axle load classes &#039;&#039;&#039;A&#039;&#039;&#039; through &#039;&#039;&#039;E&#039;&#039;&#039;. &#039;&#039;&#039;A&#039;&#039;&#039; is for the lowest axle load limit, &#039;&#039;&#039;E&#039;&#039;&#039; for the highest. The exact axle load attached to each class is relative to the track gauge/type and trains in the set. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A train set should set the appropriate axle weight for each train via the railtype label, as to make the set work with track sets that do provide tracks with different weight limits, even if you don&#039;t care about it for your trainset. Split all vehicles of a certain track gauge/type into five groups of similar axle weight. The group with the lowest axle weights will get class &#039;&#039;&#039;A&#039;&#039;&#039;, the second lowest class &#039;&#039;&#039;B&#039;&#039;&#039;, etc. up to the group with the highest axle weights which will get class &#039;&#039;&#039;E&#039;&#039;&#039;. Do the same for the other track gauge/types if your train set has those.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A track set does not have to provide a dedicated track type for each axle weight limit. A track set that does not provide a dedicated track for each axle load class, must make sure to map all undefined axle load classes to a real railtype using property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]]. This way a train set can rely on all labels for all axle load classes being available. Example: if you only want to provide 2 axle load classes for standard gauge unelectrified with no speed limits, you can map SA&#039;&#039;&#039;A&#039;&#039;&#039;N + SA&#039;&#039;&#039;B&#039;&#039;&#039;N to SA&#039;&#039;&#039;C&#039;&#039;&#039;N and SA&#039;&#039;&#039;D&#039;&#039;&#039;N to SA&#039;&#039;&#039;E&#039;&#039;&#039;N if the cost difference between the two railtypes is high, or SA&#039;&#039;&#039;A&#039;&#039;&#039;N to SA&#039;&#039;&#039;B&#039;&#039;&#039;N and SA&#039;&#039;&#039;C&#039;&#039;&#039;N + SA&#039;&#039;&#039;D&#039;&#039;&#039;N to SA&#039;&#039;&#039;E&#039;&#039;&#039;N if the cost difference is low.&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t want to provide any axle load classes in your track set, it doesn&#039;t really matter what axle load class you choose for the track, as you&#039;ll be mapping all other classes to this track anyways. But the lowest or highest class are the obvious choice. Example: if your track set only provides narrow gauge unelectrified track with no speed limits and no axle load limits, you may use NA&#039;&#039;&#039;A&#039;&#039;&#039;N for the track label, and provide NA&#039;&#039;&#039;B&#039;&#039;&#039;N, NA&#039;&#039;&#039;C&#039;&#039;&#039;N, NA&#039;&#039;&#039;D&#039;&#039;&#039;N, NA&#039;&#039;&#039;E&#039;&#039;&#039;N in property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you need more than five axle load class, you may use lowercase letters for very low axle loads and continue the uppercase letters for very high axle loads. Be advised that your train set may not assume the existance of any other class than &#039;&#039;&#039;A&#039;&#039;&#039; through &#039;&#039;&#039;E&#039;&#039;&#039;, so when the range make sure to program your railtype table such that trains with such a class will fall back to class &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;E&#039;&#039;&#039;. If you make a track set with an extended range, be aware that not all train sets will define trains for these tracks. In general: only do this in case of a train set with a matching track set.&lt;br /&gt;
&lt;br /&gt;
For the lowercase letters, &#039;&#039;&#039;b&#039;&#039;&#039; is lower than &#039;&#039;&#039;a&#039;&#039;&#039;, so for increasing axle load limits: b &amp;lt; a &amp;lt; A &amp;lt; B &amp;lt; C etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that the axle load classes never map to a specific weight in tonnes. For that reason it does not make sense to add a numeric value for the axle load to the name of a track type or in the extended purchase info of a train. Instead use the relative expressions &#039;very low&#039;, &#039;low&#039;, &#039;medium&#039;, &#039;high&#039; and &#039;very high&#039; or use the class letters directly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Energy source type class [***X] ===&lt;br /&gt;
The last position defines the energy source type class. This is split in generic energy source types like overhead wires and third rail and specialized types like alternating and direct current.&lt;br /&gt;
&lt;br /&gt;
A track set that only uses specialized types, should map the generic types to the most suitable specialized type in the set.&lt;br /&gt;
&lt;br /&gt;
A vehicle set that uses specialized types should define a generic type as fallback, via the railtype table. If such a fallback is omitted, please note that certain vehicles may be unavailable depending on track set loaded.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Generic energy type classes&lt;br /&gt;
|-&lt;br /&gt;
|N ||no electrification&lt;br /&gt;
|-&lt;br /&gt;
|E ||overhead wires/catenary electrification&lt;br /&gt;
|-&lt;br /&gt;
|3 ||3rd rail electrification&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Specialized energy type classes !!Vehicle set fallback&lt;br /&gt;
|-&lt;br /&gt;
|Z ||3rd rail and catenary electrification || 3 or E&lt;br /&gt;
|-&lt;br /&gt;
|4 ||4th rail electrification || 3&lt;br /&gt;
|-&lt;br /&gt;
|Y ||4th rail and catenary electrification || 4 or E&lt;br /&gt;
|-&lt;br /&gt;
|T ||[http://en.wikipedia.org/wiki/Three-phase_AC_railway_electrification three phase AC electrification] || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|D ||DC catenary electrification || E&lt;br /&gt;
|-&lt;br /&gt;
|d ||low voltage DC catenary electrification (only when D also used in set) || First A then E&lt;br /&gt;
|-&lt;br /&gt;
|A ||AC catenary electrification || E&lt;br /&gt;
|-&lt;br /&gt;
|a ||low voltage AC catenary electrification (only when A also used in set) || First A then E&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
If you want multi-voltage/current vehicles in your set (i.e. a train that can run on both AC and DC current), you have to define a dedicated railtype for those vehicles. Without the railtype, it&#039;s not possible to define vehicles with this property. If you only have vehicles that can run on either one type of voltage/current or on all types of voltage/current (e.g. a 2-system if you only have &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;D&#039;&#039;&#039; tracks, or a 4-system in case of all &#039;&#039;&#039;A&#039;&#039;&#039;, &#039;&#039;&#039;a&#039;&#039;&#039;, &#039;&#039;&#039;D&#039;&#039;&#039; and &#039;&#039;&#039;d&#039;&#039;&#039;), then use the generic class &#039;&#039;&#039;E&#039;&#039;&#039; for vehicles that should be able to run on all different voltage/currents. Also the track set needs to have one at least one railtype with class &#039;&#039;&#039;E&#039;&#039;&#039; defined.&lt;br /&gt;
&lt;br /&gt;
Note that if you want more than one type of multi-voltage/current, you&#039;ll quickly get a combinatory explosion of railtype labels, so plan carefully or do not attempt it. For every different multi-voltage/current vehicle type a dedicated railtype is needed. If you want all possible combinations, then you need to define an additional 8 classes. It is not recommended to make your train/track set this complicated.&lt;br /&gt;
&lt;br /&gt;
Example approach for a 4-system set, with trains that can run on either one or all systems:&lt;br /&gt;
* &#039;&#039;&#039;E&#039;&#039;&#039;: generic catenary-powered electric engines. &amp;quot;universal&amp;quot; [4-system] if any of &#039;&#039;&#039;D&#039;&#039;&#039;/&#039;&#039;&#039;d&#039;&#039;&#039;/&#039;&#039;&#039;A&#039;&#039;&#039;/&#039;&#039;&#039;a&#039;&#039;&#039; are defined.&lt;br /&gt;
* &#039;&#039;&#039;A&#039;&#039;&#039;: generic AC catenary electric engines. 25kV only if &#039;&#039;&#039;a&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;A&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;a&#039;&#039;&#039;: 15kV AC catenary electric engines. Only defined if &#039;&#039;&#039;A&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;a&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;D&#039;&#039;&#039;: generic DC catenary electric engines. 3kV if &#039;&#039;&#039;d&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;D&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;d&#039;&#039;&#039;: 1.5kV DC catenary electric engines. Only defined if &#039;&#039;&#039;D&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;D&#039;&#039;&#039; and &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;d&#039;&#039;&#039;.&lt;br /&gt;
For a 2-system set, you can simply drop &#039;&#039;&#039;a&#039;&#039;&#039; and &#039;&#039;&#039;d&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Standard labels: RAIL, ELRL, MONO, MGLV ===&lt;br /&gt;
It&#039;s not possible to undefine the standard railtypes RAIL, ELRL, MONO and MGLV. The game will always add those if there are vehicles defined for these track types. As a result, for a track set it&#039;s best not to ignore those standard labels, but rather work with them and define them in the set. If your track set does not have monorail or maglev tracks, there of course is no need to define those. But if your track set defines anything that resembles unelectrified or electrified rail, you should use the RAIL and ELRL labels. Matching labels from the above scheme will then be defined in property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
As vehicles from NewGRFs that do not use explicit railtypes will end up on these standard railtypes, you should use RAIL instead of whatever type could be regarded as the most commonly used unelectrified type, ELRL instead of the most commonly used electrified type and so on. The label according to this scheme is then set as an alternate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Summary for track sets ==&lt;br /&gt;
This section summarizes the above for track sets.&lt;br /&gt;
&lt;br /&gt;
; [X***] Track gauge and type class&lt;br /&gt;
* Define at least one track type for every track gauge/type class you want in your set.&lt;br /&gt;
* If you only provide tracks for one gauge/type, consider leaving some free railtypes so a player can load an additional set for some other type.&lt;br /&gt;
; [*X**] Speed limit class&lt;br /&gt;
* Make sure class A is always available, either directly or via an alternate label.&lt;br /&gt;
* Use only class A if you don&#039;t want speed limits;&lt;br /&gt;
* With speed limits, A is the lowest speed limit. Continue with B, C, etc. for increasing speed limits;&lt;br /&gt;
* The speed class can also be used to implement additional eye-candy track types, use letters higher in the alphabet for this.&lt;br /&gt;
; [**X*] Axle load class&lt;br /&gt;
* Always define all classes A through E for every track type class / electrification combination, either:&lt;br /&gt;
** Directly via a real railtype definition;&lt;br /&gt;
** Indirectly via the alternate rail type label list, property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
* Extend the predefined classes only if you also provide a train set that makes use of these.&lt;br /&gt;
; [***X] Energy source type class&lt;br /&gt;
* If your set only uses specialized classes, always map the generic classes to the closest matching specialized type via property 1D.&lt;br /&gt;
; Standard labels [RAIL, ELRL, MONO, MGLV]&lt;br /&gt;
* Always define the standard labels when possible, instead of what would be the equivalent of the standard label in this scheme.&lt;br /&gt;
* Map the equivalent labels from this scheme to the standard labels using property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
Or, put differently, for each gauge/type, select one or more energy source types. For each type/energy combination provide all axle load classes for the speed class &amp;quot;A&amp;quot;, either as a real type or as an alternate of another type. Provide more types with a different speed letter if you want to provide several different speeds or other eye-candy tracks.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Summary for train sets ==&lt;br /&gt;
This section summarizes the above for train sets.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; [X***] Track gauge and type class&lt;br /&gt;
* Use the track type class that matches the vehicle;&lt;br /&gt;
* Define a fallback type via the railtype table in case you want the vehicle to be available on a different track if no matching track set is loaded.&lt;br /&gt;
** Specialized subtypes like &amp;quot;n&amp;quot; might not always be available. If you want those vehicles to be still available then, fall back the the generic class (e.g. &amp;quot;N&amp;quot;).&lt;br /&gt;
; [*X**] Speed limit class &lt;br /&gt;
* Always use class A for every vehicle.&lt;br /&gt;
; [**X*] Axle load class&lt;br /&gt;
* Use all classes A through E according to the maximum axle weight of the vehicle.&lt;br /&gt;
* Extend the predefined classes only if you also provide a track set that makes use of these;&lt;br /&gt;
** When extending the predefined classes A through E, define a fallback type via the railtype table in case you want the vehicle to be available if no matching track set is loaded.&lt;br /&gt;
; [***X] Energy source type class&lt;br /&gt;
* Use the energy source type class that matches the vehicle;&lt;br /&gt;
* When using specialized classes, define a fallback type via the railtype table in case you want the vehicle to be available if no matching track set is loaded.&lt;br /&gt;
; Standard labels [RAIL, ELRL, MONO, MGLV]&lt;br /&gt;
* Define a fallback type to the standard labels via the railtype table in case you want the vehicle to be available on the standard tracks if no matching track set is loaded.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Be as specific as you want when selecting the railtype, it is the job of the track set to select a playable, reduced subset out of all possible type combinations.&lt;br /&gt;
&lt;br /&gt;
== In case you&#039;re not convinced by this scheme ==&lt;br /&gt;
Adopting this scheme gives the player freedom to use any track set in combination with any train set that follow the scheme. &lt;br /&gt;
&lt;br /&gt;
This means that you can make your train set compatible with track sets that provide axle load classes, and track sets that provide speed limits, and at the same time with track sets that provide none of this. This way, the player can decide to play with or without axle load classes, or with or without speed limits, simply by loading a track set that does or does not provide these features.&lt;br /&gt;
&lt;br /&gt;
And for your track set, it means that you can make it as simple or as complicated as you want (within the 64 track type limit), while not having to worry about compatibility with train sets.&lt;br /&gt;
&lt;br /&gt;
Still not convinced? Feel free to use railtype labels of your own, but know that you will likely come to regret that at some point in the future.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Forum topic==&lt;br /&gt;
If you want to discuss the standardized railtype scheme or have any questions about it, you can visit [http://www.tt-forums.net/viewtopic.php?t=59379 the forum topic].&lt;br /&gt;
&lt;br /&gt;
==&amp;quot;Innsbruck 2022 Convention&amp;quot; for partial compliance==&lt;br /&gt;
&lt;br /&gt;
This is really esoteric, but eh. It was the product of long discussion / debate / argument / reasoning between grf authors.&lt;br /&gt;
&lt;br /&gt;
1. The Standardized Railtype Scheme &#039;&#039;&#039;is a useful tool&#039;&#039;&#039; for providing reliable compatibility between train grfs and railtype grfs.&lt;br /&gt;
&lt;br /&gt;
2. The &#039;&#039;&#039;axle load class&#039;&#039;&#039; in the scheme presents a number of issues for compliance.&lt;br /&gt;
&lt;br /&gt;
2.1. Over 10 years since the scheme was standardised, not many train grfs implement multiple axle load classes &#039;&#039;&#039;as required by the scheme&#039;&#039;&#039;.  Known examples that &#039;&#039;&#039;do&#039;&#039;&#039; comply include Dutch Train Set, French Narrow Gauge Trains, and Finnish Trains.&lt;br /&gt;
&lt;br /&gt;
2.2. Elements of the axle load rules have proven hard to interpret.  For example:&lt;br /&gt;
&lt;br /&gt;
* is it compliant to use &#039;&#039;fewer&#039;&#039; than 5 classes in a train grf?  There is a lack of consensus on this.&lt;br /&gt;
* axle load is only one of many factors that govern whether a vehicle is compatible with a route, for example loading gauge, minimum curve, signalling types etc&lt;br /&gt;
&lt;br /&gt;
2.3. Meanwhile &#039;&#039;multiple existing train grfs use class &#039;&#039;A&#039;&#039; for the axle load for all trains&#039;&#039; (except where relying on default railtypes such as RAIL and ELRL).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3. The Innsbruck 2022 Convention uses class &#039;&#039;A&#039;&#039; for axle load for &#039;&#039;&#039;all&#039;&#039;&#039; trains in a train grf (except where relying on default railtypes such as RAIL and ELRL).&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is &#039;&#039;&#039;not&#039;&#039;&#039; fully compliant with the Standardized Railtype Scheme and does not claim to be.&lt;br /&gt;
&lt;br /&gt;
However train grfs using the Innsbruck 2022 Convention are &#039;&#039;broadly compatible&#039;&#039; with railtype grfs using the Standardized Railtype Scheme.  &lt;br /&gt;
&lt;br /&gt;
Obligatory XKCD link about &#039;standards&#039;: https://xkcd.com/927/&lt;br /&gt;
&lt;br /&gt;
===Known issues===&lt;br /&gt;
&lt;br /&gt;
Known problems are that trains using only class &#039;A&#039; may limit the ability of railtype grf authors to achieve their design goals for separating railtypes by axle load.  &lt;br /&gt;
But on reflection, it can be seen that a train grf might not be able to provide a broad enough range of vehicles to cover at least 5 axle load classes.&lt;br /&gt;
&lt;br /&gt;
3.1. The Innsbruck 2022 Convention is &#039;&#039;&#039;not&#039;&#039;&#039; appropriate for train grf authors who wish to provide more than one axle load class.&lt;br /&gt;
&lt;br /&gt;
3.2. The Innsbruck 2022 Convention treats the meaning of class &#039;&#039;A&#039;&#039; as &#039;&#039;undefined&#039;&#039;, &#039;&#039;ignored&#039;&#039; or &#039;&#039;compatible with most restricted railtype&#039;&#039; for axle load.  &lt;br /&gt;
&lt;br /&gt;
Axle load class &#039;&#039;A&#039;&#039; &#039;&#039;&#039;cannot&#039;&#039;&#039; be safely interpreted as &#039;&#039;universal&#039;&#039; because from the perspective of a railtype grf &#039;&#039;A&#039;&#039; is &#039;&#039;most restricted railtype&#039;&#039;, where &#039;&#039;universal&#039;&#039; is better represented as &#039;&#039;least restricted railtype&#039;&#039;. Depending how many axle load classes are in use by the railtype grf, this could be class &#039;&#039;B&#039;&#039;, &#039;&#039;C&#039;&#039;, &#039;&#039;D&#039;&#039;, &#039;&#039;E&#039;&#039; etc.  To illustrate this issue, take the following scenario&lt;br /&gt;
&lt;br /&gt;
* railtype grf defines axle loads &#039;&#039;A&#039;&#039; to &#039;&#039;E&#039;&#039;. In this case the railtype grf author intends that &#039;&#039;A&#039;&#039; is compatible with the smallest range of vehicles, &#039;&#039;E&#039;&#039; is compatible with the largest range of vehicles, and &#039;&#039;B&#039;&#039;, &#039;&#039;C&#039;&#039; and &#039;&#039;D&#039;&#039; are compatible with some intermediate ranges of vehicles&lt;br /&gt;
* but the vehicle grf author has defined all vehicles to be axle load &#039;&#039;A&#039;&#039; in an attempt to express this vehicle is &#039;&#039;universal&#039;&#039;.  The result in the game is that an identical range of vehicles will be compatible with railtypes &#039;&#039;A&#039;&#039; to &#039;&#039;E&#039;&#039;.  &lt;br /&gt;
&lt;br /&gt;
This is clearly &#039;&#039;&#039;not&#039;&#039;&#039; the intended outcome of the railtype author. But nor is it clear within the spec that the vehicle author has particularly done anything wrong. &lt;br /&gt;
&lt;br /&gt;
It &#039;&#039;would&#039;&#039; be possible to use railtype availability testing to adjust the vehicle property 05 (track_type) to fit the highest defined axle load (&#039;&#039;E&#039;&#039; in this example case), but this is not insignificant work, and it&#039;s unlikely to be widely adopted by vehicle grf authors.  Nor would this solution achieve &#039;&#039;universal&#039;&#039; as all vehicles in vehicle grf then would be incompatible with types &#039;&#039;A&#039;&#039; through &#039;&#039;D&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
3.3. When the Innsbruck 2022 Convention is used, this &#039;&#039;&#039;does not prevent&#039;&#039;&#039; a train grf being extended in some future release to achieve full compliance with Standardized Railtype Scheme. &#039;&#039;That choice remains with train grf authors&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
3.4. If 2012 could be revisited, providing an optional &#039;&#039;_&#039;&#039; axle load class in the Standardized Railtype Scheme for &#039;&#039;undefined&#039;&#039; would have been preferable, but as of 2022, &#039;&#039;A&#039;&#039; is already widely used for this purpose, and time travel is not known to be possible.&lt;br /&gt;
&lt;br /&gt;
==Extended multivoltage support addition==&lt;br /&gt;
These are extensions to the energy source type class currently supported by SETS and xUSSR Rails which allow trainsets to code trains which are limited to a certain selection of voltages. As stated in the energy source type class section this might not be of use for all sets, as such it is optional but still recommended for trainsets for ideal functionality with tracksets which support the extended labels.&lt;br /&gt;
{|&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Specialized energy type classes !!Vehicle set fallback&lt;br /&gt;
|-&lt;br /&gt;
|* ||Equivilent to A, a, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|&#039; ||Equivilent to A, a and D || E&lt;br /&gt;
|-&lt;br /&gt;
|^ ||Equivilent to A, a and d || E&lt;br /&gt;
|-&lt;br /&gt;
|_ ||Equivilent to A, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
|, ||Equivilent to a, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|$ ||Equivilent to A and a  || First A then E&lt;br /&gt;
|-&lt;br /&gt;
|= ||Equivilent to D and d  || First D then E&lt;br /&gt;
|-&lt;br /&gt;
|) ||Equivilent to A and D  || E&lt;br /&gt;
|-&lt;br /&gt;
|( ||Equivilent to A and d  || E&lt;br /&gt;
|-&lt;br /&gt;
|] ||Equivilent to a and D  || E&lt;br /&gt;
|-&lt;br /&gt;
|[ ||Equivilent to a and d  || E&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Possible additions==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Track type/gauge&lt;br /&gt;
|-&lt;br /&gt;
|_ ||Universal &amp;quot;cheat&amp;quot; rail; ALWAYS add &amp;quot;_A_-&amp;quot; and &amp;quot;_A_N&amp;quot; to EVERY [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]] (as well as the equivalent electrified/pneumatic railtype that is powered on your electrified/pneumatic railtype to support it if you are making a new railtype set, older sets can be covered by fix or patch grfs) and &amp;quot;_A_t&amp;quot; to EVERY [[NML:Railtypes#Railtype_properties|powered_railtype_list (NML)]]&lt;br /&gt;
|-&lt;br /&gt;
|0 ||(A number zero, not a letter &amp;quot;Oh&amp;quot;) No track, eyecandy-use only&lt;br /&gt;
|-&lt;br /&gt;
|U ||[https://perma.cc/93VE-8JQZ &amp;quot;Ukrainian monorail&amp;quot; or Şaropoí̈zd (Шаропоїзд)], a u-shaped concrete &amp;quot;monorail trench&amp;quot; from 1920&#039;s Soviet Union; see [https://www.tt-forums.net/viewtopic.php?f=26&amp;amp;t=47432 the Yarmanchuk Express] for graphics&lt;br /&gt;
|-&lt;br /&gt;
|1 ||Early Monorail; See [https://perma.cc/6BVS-2P2X here] and [https://perma.cc/VCG2-ATUA here]&lt;br /&gt;
|-&lt;br /&gt;
|G ||Gyrail; [https://en.wikipedia.org/wiki/Gyro_monorail Gyro monorail/Gyroscopic monorail/Gyro-stabilized monorail] for description and IRL example, and [https://wikimon.net/Trailmon here] ([https://web.archive.org/web/20240227205547/https://wikimon.net/Trailmon archived]) for good fictional examples&lt;br /&gt;
|-&lt;br /&gt;
|m ||Minimum gauge rail; [https://en.wikipedia.org/wiki/Minimum-gauge_railway 15 in (381 mm), 400 mm (15+3⁄4 in), 16 in (406 mm), 18 in (457 mm), 19 in (483 mm), 500 mm (19+3⁄4 in) or 20 in (508 mm)]&lt;br /&gt;
|-&lt;br /&gt;
|n ||600mm &amp;quot;Decauville&amp;quot; or &amp;quot;Feldsbahn&amp;quot;, formerly labelled &amp;quot;NG60&amp;quot; before standardization; the most common narrow gauge track type in OpenTTD other than metre gauge, 600mm gauge is thus ideal for taking up the &amp;quot;n&amp;quot; gauge, though this is an ultimately optional distinction&lt;br /&gt;
|-&lt;br /&gt;
|7 ||750mm, Bosnian gauge (760 mm), and 762mm; all start with 7 and are close in size&lt;br /&gt;
|-&lt;br /&gt;
|3 ||Swedish 3 foot (891 mm), 900mm, 3 foot (914 mm) and Italian Metre (950mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|R ||Metre gauge; potentially compatible with base tramtype &amp;quot;RABN&amp;quot;, most early tramways were metre gauge&lt;br /&gt;
|-&lt;br /&gt;
|4 ||4 foot gauge (1219 mm), and possibly 4&#039;6&amp;quot; in. (1372 mm) if standardization is needed for 1372mm&lt;br /&gt;
|-&lt;br /&gt;
|s ||Scotch gauge (1372 mm)&lt;br /&gt;
|-&lt;br /&gt;
|S ||Standard gauge; already implemented in original standardized railtype scheme, but could include near-standard (1432 mm) as well as existing true standard (1435 mm) and is also potentially compatible with the SABN tramtype&lt;br /&gt;
|-&lt;br /&gt;
|X ||Omni-gauge rail (for at-grade multi-gauge crossings and stations); ultrabroad/secondary broad/primary broad/standard/primary narrow/secondary narrow gauge&lt;br /&gt;
|-&lt;br /&gt;
|x ||Multi-gauge rail (for at-grade multi-gauge crossings and stations); secondary broad/primary broad/standard/primary narrow/secondary narrow&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;+&amp;lt;/nowiki&amp;gt; ||Quad-gauge (Four-gauge) rail (for at-grade multi-gauge crossings and stations); secondary broad/primary broad/standard/primary narrow&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt; ||Four-gauge rail (for at-grade multi-gauge crossings and stations); primary broad/standard/primary narrow/secondary narrow&lt;br /&gt;
|-&lt;br /&gt;
|b ||Broad gauge rail - As broad gauge is a rare tracktype, it may still be feasible to cement B and b as broad gauges of two differing sizes, but the rarity among gauges in the real world would need to match; Italian (1445 mm) and Dresden (1450 mm) gauges may be better grouped here&lt;br /&gt;
|-&lt;br /&gt;
|t ||Leipzig trams (1458 mm) and Greater Toronto Area streetcars (1495 mm)&lt;br /&gt;
|-&lt;br /&gt;
|5 ||1520mm and 5 foot (1524 mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|V ||Pennsylvanian (1581 mm and 1588 mm) and Australian &amp;quot;Victorian&amp;quot; (1600 mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|6 ||6 foot (1829 mm) broad gauge&lt;br /&gt;
|-&lt;br /&gt;
|g ||Brunel&#039;s Great Western Railway gauge (2140 mm)&lt;br /&gt;
|-&lt;br /&gt;
|B ||Biggest Broad gauge rail - As broad gauge is a rare tracktype, and the variation in common real life track types too wide, it may be desirable to cement B and b as broad gauges of two differing sizes; With no real life examples that match the usage frequency of &amp;quot;B&amp;quot;, the gauge might best draw inspiration from the infamous [https://en.wikipedia.org/wiki/Breitspurbahn Breitspurbahn] (3000 mm) and [https://perma.cc/KQ2Z-5RCR the never-built vehicles designed for it], or from the [https://en.wikipedia.org/wiki/Brighton_and_Rottingdean_Seashore_Electric_Railway Brighton &amp;amp; Rottingdean Seashore Electric Railway] (18 ft/5,486 mm) &lt;br /&gt;
|-&lt;br /&gt;
|L ||Maglevs that have a u-shaped track&lt;br /&gt;
|-&lt;br /&gt;
|T ||Maglevs that have a monorail track&lt;br /&gt;
|-&lt;br /&gt;
|F ||Flightrail; A [https://web.archive.org/web/20231213122530/http://www.flightrail.com/ system capable of high speeds and steep hill grades] that uses a pneumatic pipe for propulsion (see &amp;quot;P&amp;quot; under energy sources), and &#039;&#039;wheels pointed inwards at a 45-degree angle&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
It might be preferred to instead use/keep &amp;quot;B&amp;quot; for &amp;quot;all (current) broad gauges&amp;quot; (mostly Victorian gauge) instead using lowercase &amp;quot;b&amp;quot; for Brunel/GWR broad gauge. This wouldn&#039;t be to different from narrow gauge since the lesser used ones are lowercase and fallback to the uppercase ones.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Electrification !!Fallback&lt;br /&gt;
|-&lt;br /&gt;
|S ||Maglevs that use a synchronous linear motor ||N/A&lt;br /&gt;
|-&lt;br /&gt;
|I ||Maglevs that use a linear induction motor ||MGLV (the whole label)&lt;br /&gt;
|-&lt;br /&gt;
|V ||Vactrains/Hyperloop ||t, then I, then MGLV (the whole label)&lt;br /&gt;
|-&lt;br /&gt;
|t ||&amp;quot;Universal custom tunnel&amp;quot; (for electrified sub-surface rail tunnels) ||E (mandatory)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt; ||Universal energy type (&#039;&#039;not&#039;&#039; meant to replace &amp;quot;***N&amp;quot;; use for vehicles such as driving cabs which cannot move under their own power regardless, if desired) ||N/A (Be sure to put &amp;quot;***E&amp;quot; in the [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]] of a &amp;quot;***-&amp;quot; label)&lt;br /&gt;
|-&lt;br /&gt;
|5 ||750v DC Outer 3rd Rail (&amp;quot;MTRO&amp;quot; or &amp;quot;SA_3&amp;quot;) and 630v DC Inner 3rd/4th Rail; a total of 5 rails (2 for wheels, 3 for electricity), plausible in the London Underground network&lt;br /&gt;
|-&lt;br /&gt;
|U ||750v DC Outer 3rd Rail (&amp;quot;MTRO&amp;quot; or &amp;quot;SA_3&amp;quot;), 630v DC Inner 3rd/4th Rail and universal catenary (SAEE); a total of 5 rails (2 for wheels, 3 for electricity) if only one gauge, plausible in the London Underground network and an &amp;quot;ultimate&amp;quot; dual rail electrification without being a cheat (make it expensive or toggle-able?) as SAEU or as XAEU (universal dual rail electrified tracks)&lt;br /&gt;
|-&lt;br /&gt;
|7 ||750v DC Outer 3rd Rail (&amp;quot;MTRO&amp;quot; or &amp;quot;SA_3&amp;quot;), 630v DC Inner 3rd/4th Rail, Three-phase AC (SA_T) 3rd/4th rail &amp;amp; catenary, and universal catenary (SA_E); a total of 7 rails (2 for wheels, 5 for electricity) if only one gauge, plausible in real life and a truly dual rail electrification without being a cheat (make it VERY expensive or toggle-able?) as SAE7, XAE7 or even as XRE7 (universal electrified rack-equipped dual rail tracks)&lt;br /&gt;
|-&lt;br /&gt;
|P ||Pneumatic tube with physical piston slit, or closed pneumatic tube with magnetic piston (i.e. that used by [https://web.archive.org/web/20231213122530/http://www.flightrail.com/ Flightrail]) ||N/A&lt;br /&gt;
|-&lt;br /&gt;
|p ||Pneumatic and universal electrical power ||N/A (Be sure to put &amp;quot;***_&amp;quot; and ***P&amp;quot; in the [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]] of a &amp;quot;***p&amp;quot; label)&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Lurkmore</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=Standardized_Railtype_Scheme&amp;diff=4741</id>
		<title>Standardized Railtype Scheme</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=Standardized_Railtype_Scheme&amp;diff=4741"/>
		<updated>2024-02-28T04:21:35Z</updated>

		<summary type="html">&lt;p&gt;Lurkmore: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This railtype label scheme aims to bring order to the uncontrolled growth of railtype labels. It groups the rail types into what matters from a technical perspective. The scheme provides a standardized way of defining railtype labels, based on track gauge and type, speed class, allowable axle weight and electrification type.&lt;br /&gt;
&lt;br /&gt;
It is the explicit intent of this scheme to decouple track sets from vehicle sets to facilitate easy mixing. This way the player can select a track set of choice to go with a train set of choice. It allows the player to play with or without axle load classes, or with or without speed limit classes, simply by loading a track set that does or does not provide these features. In some cases it will also be possible to combine niche track sets, for instance a standard gauge track set with a narrow gauge and a metro track set.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== The Label Scheme ==&lt;br /&gt;
A railtype label consists of four characters. In this scheme, each position has a different purpose:&lt;br /&gt;
# Track gauge and type class (e.g. standard gauge rail, narrow gauge rail, monorail)&lt;br /&gt;
# Speed limit class&lt;br /&gt;
# Axle load class (maximum allowed axle weight for this track)&lt;br /&gt;
# Energy source type class&lt;br /&gt;
&lt;br /&gt;
In the next sections, each of the four positions will be explained.&lt;br /&gt;
&lt;br /&gt;
=== Track gauge and type class [X***] ===&lt;br /&gt;
The first position in the railtype label defines track gauge and/or track type class. The following classes are currently defined:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Track type/gauge&lt;br /&gt;
|- &lt;br /&gt;
|S ||Standard gauge rail&lt;br /&gt;
|-&lt;br /&gt;
|B ||Broad gauge rail &lt;br /&gt;
|-&lt;br /&gt;
|N ||Narrow gauge rail&lt;br /&gt;
|-&lt;br /&gt;
|n ||Secondary narrow gauge rail (e.g. when providing both metre and cape gauge, always use N in case of just one type of narrow gauge)&lt;br /&gt;
|-&lt;br /&gt;
|D ||Dual gauge rail, standard/broad gauge&lt;br /&gt;
|-&lt;br /&gt;
|d ||Dual gauge rail, standard/narrow gauge&lt;br /&gt;
|-&lt;br /&gt;
|M ||Monorail&lt;br /&gt;
|-&lt;br /&gt;
|L ||Magnetic Levitation&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Speed limit class [*X**] ===&lt;br /&gt;
The second position in the railtype label defines the speed limit class. These classes do not map to a fixed numeric value, but are used to define an internal speed limit order for the track set. This means that if your track set has two different speed limits for track types that are otherwise identical, you&#039;ll use letters A and B here. In case of three different speed limits, use A, B and C. In case your track set does not employ speed limits, always use A. Train sets do not care about the speed limit, and will always set the lowest speed class, i.e. A.&lt;br /&gt;
&lt;br /&gt;
This gives for instance the following options:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||no speed limits&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;OR&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||low speed&lt;br /&gt;
|-&lt;br /&gt;
|B ||high speed&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;OR&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||low speed&lt;br /&gt;
|-&lt;br /&gt;
|B ||medium speed&lt;br /&gt;
|-&lt;br /&gt;
|C ||high speed&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;etc.&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear:left;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The speed limit class may also be used for some advanced features of the label scheme, like specialized track types and eyecandy purposes. Be careful not to break the compatibility with other sets when using the speed limit class for these purposes.&lt;br /&gt;
&lt;br /&gt;
An example of a special use is rack rail. In the French set it is used to give rack rail engines a higher speed and TE than normal rail engines when used on rack rail. When defining trains with a special speed limit class, always allow a fallback to speed limit class A via the railtype table.&lt;br /&gt;
&lt;br /&gt;
An example of eyecandy use are urban tracks. These are a variation of regular tracks, but with concrete ground tiles to better match the urban environment. Train sets must not define vehicles for eyecandy classes. If you think you have special vehicles that should only run on the eyecandy class, it is &#039;&#039;not&#039;&#039; eyecandy but a separate track gauge/type.&lt;br /&gt;
&lt;br /&gt;
The following special and eyecandy classes have been defined so far:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Description !!Type !!Used by&lt;br /&gt;
|- &lt;br /&gt;
|A-H ||speed limits ||colspan=&amp;quot;2&amp;quot;|reserved&lt;br /&gt;
|- &lt;br /&gt;
|R ||rack rail ||special ||French Set Rails &lt;br /&gt;
|- &lt;br /&gt;
|S ||subterranean ||eyecandy ||Metro Track Set&lt;br /&gt;
|- &lt;br /&gt;
|U ||urban ||eyecandy ||Metro Track Set&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Axle load class [**X*] ===&lt;br /&gt;
The third position defines the axle weight limit. Heavy trains cannot run on tracks with a low axle weight limit; these trains need more expensive tracks with a heigher weight limit. There are five axle load classes &#039;&#039;&#039;A&#039;&#039;&#039; through &#039;&#039;&#039;E&#039;&#039;&#039;. &#039;&#039;&#039;A&#039;&#039;&#039; is for the lowest axle load limit, &#039;&#039;&#039;E&#039;&#039;&#039; for the highest. The exact axle load attached to each class is relative to the track gauge/type and trains in the set. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A train set should set the appropriate axle weight for each train via the railtype label, as to make the set work with track sets that do provide tracks with different weight limits, even if you don&#039;t care about it for your trainset. Split all vehicles of a certain track gauge/type into five groups of similar axle weight. The group with the lowest axle weights will get class &#039;&#039;&#039;A&#039;&#039;&#039;, the second lowest class &#039;&#039;&#039;B&#039;&#039;&#039;, etc. up to the group with the highest axle weights which will get class &#039;&#039;&#039;E&#039;&#039;&#039;. Do the same for the other track gauge/types if your train set has those.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A track set does not have to provide a dedicated track type for each axle weight limit. A track set that does not provide a dedicated track for each axle load class, must make sure to map all undefined axle load classes to a real railtype using property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]]. This way a train set can rely on all labels for all axle load classes being available. Example: if you only want to provide 2 axle load classes for standard gauge unelectrified with no speed limits, you can map SA&#039;&#039;&#039;A&#039;&#039;&#039;N + SA&#039;&#039;&#039;B&#039;&#039;&#039;N to SA&#039;&#039;&#039;C&#039;&#039;&#039;N and SA&#039;&#039;&#039;D&#039;&#039;&#039;N to SA&#039;&#039;&#039;E&#039;&#039;&#039;N if the cost difference between the two railtypes is high, or SA&#039;&#039;&#039;A&#039;&#039;&#039;N to SA&#039;&#039;&#039;B&#039;&#039;&#039;N and SA&#039;&#039;&#039;C&#039;&#039;&#039;N + SA&#039;&#039;&#039;D&#039;&#039;&#039;N to SA&#039;&#039;&#039;E&#039;&#039;&#039;N if the cost difference is low.&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t want to provide any axle load classes in your track set, it doesn&#039;t really matter what axle load class you choose for the track, as you&#039;ll be mapping all other classes to this track anyways. But the lowest or highest class are the obvious choice. Example: if your track set only provides narrow gauge unelectrified track with no speed limits and no axle load limits, you may use NA&#039;&#039;&#039;A&#039;&#039;&#039;N for the track label, and provide NA&#039;&#039;&#039;B&#039;&#039;&#039;N, NA&#039;&#039;&#039;C&#039;&#039;&#039;N, NA&#039;&#039;&#039;D&#039;&#039;&#039;N, NA&#039;&#039;&#039;E&#039;&#039;&#039;N in property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you need more than five axle load class, you may use lowercase letters for very low axle loads and continue the uppercase letters for very high axle loads. Be advised that your train set may not assume the existance of any other class than &#039;&#039;&#039;A&#039;&#039;&#039; through &#039;&#039;&#039;E&#039;&#039;&#039;, so when the range make sure to program your railtype table such that trains with such a class will fall back to class &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;E&#039;&#039;&#039;. If you make a track set with an extended range, be aware that not all train sets will define trains for these tracks. In general: only do this in case of a train set with a matching track set.&lt;br /&gt;
&lt;br /&gt;
For the lowercase letters, &#039;&#039;&#039;b&#039;&#039;&#039; is lower than &#039;&#039;&#039;a&#039;&#039;&#039;, so for increasing axle load limits: b &amp;lt; a &amp;lt; A &amp;lt; B &amp;lt; C etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that the axle load classes never map to a specific weight in tonnes. For that reason it does not make sense to add a numeric value for the axle load to the name of a track type or in the extended purchase info of a train. Instead use the relative expressions &#039;very low&#039;, &#039;low&#039;, &#039;medium&#039;, &#039;high&#039; and &#039;very high&#039; or use the class letters directly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Energy source type class [***X] ===&lt;br /&gt;
The last position defines the energy source type class. This is split in generic energy source types like overhead wires and third rail and specialized types like alternating and direct current.&lt;br /&gt;
&lt;br /&gt;
A track set that only uses specialized types, should map the generic types to the most suitable specialized type in the set.&lt;br /&gt;
&lt;br /&gt;
A vehicle set that uses specialized types should define a generic type as fallback, via the railtype table. If such a fallback is omitted, please note that certain vehicles may be unavailable depending on track set loaded.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Generic energy type classes&lt;br /&gt;
|-&lt;br /&gt;
|N ||no electrification&lt;br /&gt;
|-&lt;br /&gt;
|E ||overhead wires/catenary electrification&lt;br /&gt;
|-&lt;br /&gt;
|3 ||3rd rail electrification&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Specialized energy type classes !!Vehicle set fallback&lt;br /&gt;
|-&lt;br /&gt;
|Z ||3rd rail and catenary electrification || 3 or E&lt;br /&gt;
|-&lt;br /&gt;
|4 ||4th rail electrification || 3&lt;br /&gt;
|-&lt;br /&gt;
|Y ||4th rail and catenary electrification || 4 or E&lt;br /&gt;
|-&lt;br /&gt;
|T ||[http://en.wikipedia.org/wiki/Three-phase_AC_railway_electrification three phase AC electrification] || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|D ||DC catenary electrification || E&lt;br /&gt;
|-&lt;br /&gt;
|d ||low voltage DC catenary electrification (only when D also used in set) || First A then E&lt;br /&gt;
|-&lt;br /&gt;
|A ||AC catenary electrification || E&lt;br /&gt;
|-&lt;br /&gt;
|a ||low voltage AC catenary electrification (only when A also used in set) || First A then E&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
If you want multi-voltage/current vehicles in your set (i.e. a train that can run on both AC and DC current), you have to define a dedicated railtype for those vehicles. Without the railtype, it&#039;s not possible to define vehicles with this property. If you only have vehicles that can run on either one type of voltage/current or on all types of voltage/current (e.g. a 2-system if you only have &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;D&#039;&#039;&#039; tracks, or a 4-system in case of all &#039;&#039;&#039;A&#039;&#039;&#039;, &#039;&#039;&#039;a&#039;&#039;&#039;, &#039;&#039;&#039;D&#039;&#039;&#039; and &#039;&#039;&#039;d&#039;&#039;&#039;), then use the generic class &#039;&#039;&#039;E&#039;&#039;&#039; for vehicles that should be able to run on all different voltage/currents. Also the track set needs to have one at least one railtype with class &#039;&#039;&#039;E&#039;&#039;&#039; defined.&lt;br /&gt;
&lt;br /&gt;
Note that if you want more than one type of multi-voltage/current, you&#039;ll quickly get a combinatory explosion of railtype labels, so plan carefully or do not attempt it. For every different multi-voltage/current vehicle type a dedicated railtype is needed. If you want all possible combinations, then you need to define an additional 8 classes. It is not recommended to make your train/track set this complicated.&lt;br /&gt;
&lt;br /&gt;
Example approach for a 4-system set, with trains that can run on either one or all systems:&lt;br /&gt;
* &#039;&#039;&#039;E&#039;&#039;&#039;: generic catenary-powered electric engines. &amp;quot;universal&amp;quot; [4-system] if any of &#039;&#039;&#039;D&#039;&#039;&#039;/&#039;&#039;&#039;d&#039;&#039;&#039;/&#039;&#039;&#039;A&#039;&#039;&#039;/&#039;&#039;&#039;a&#039;&#039;&#039; are defined.&lt;br /&gt;
* &#039;&#039;&#039;A&#039;&#039;&#039;: generic AC catenary electric engines. 25kV only if &#039;&#039;&#039;a&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;A&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;a&#039;&#039;&#039;: 15kV AC catenary electric engines. Only defined if &#039;&#039;&#039;A&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;a&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;D&#039;&#039;&#039;: generic DC catenary electric engines. 3kV if &#039;&#039;&#039;d&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;D&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;d&#039;&#039;&#039;: 1.5kV DC catenary electric engines. Only defined if &#039;&#039;&#039;D&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;D&#039;&#039;&#039; and &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;d&#039;&#039;&#039;.&lt;br /&gt;
For a 2-system set, you can simply drop &#039;&#039;&#039;a&#039;&#039;&#039; and &#039;&#039;&#039;d&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Standard labels: RAIL, ELRL, MONO, MGLV ===&lt;br /&gt;
It&#039;s not possible to undefine the standard railtypes RAIL, ELRL, MONO and MGLV. The game will always add those if there are vehicles defined for these track types. As a result, for a track set it&#039;s best not to ignore those standard labels, but rather work with them and define them in the set. If your track set does not have monorail or maglev tracks, there of course is no need to define those. But if your track set defines anything that resembles unelectrified or electrified rail, you should use the RAIL and ELRL labels. Matching labels from the above scheme will then be defined in property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
As vehicles from NewGRFs that do not use explicit railtypes will end up on these standard railtypes, you should use RAIL instead of whatever type could be regarded as the most commonly used unelectrified type, ELRL instead of the most commonly used electrified type and so on. The label according to this scheme is then set as an alternate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Summary for track sets ==&lt;br /&gt;
This section summarizes the above for track sets.&lt;br /&gt;
&lt;br /&gt;
; [X***] Track gauge and type class&lt;br /&gt;
* Define at least one track type for every track gauge/type class you want in your set.&lt;br /&gt;
* If you only provide tracks for one gauge/type, consider leaving some free railtypes so a player can load an additional set for some other type.&lt;br /&gt;
; [*X**] Speed limit class&lt;br /&gt;
* Make sure class A is always available, either directly or via an alternate label.&lt;br /&gt;
* Use only class A if you don&#039;t want speed limits;&lt;br /&gt;
* With speed limits, A is the lowest speed limit. Continue with B, C, etc. for increasing speed limits;&lt;br /&gt;
* The speed class can also be used to implement additional eye-candy track types, use letters higher in the alphabet for this.&lt;br /&gt;
; [**X*] Axle load class&lt;br /&gt;
* Always define all classes A through E for every track type class / electrification combination, either:&lt;br /&gt;
** Directly via a real railtype definition;&lt;br /&gt;
** Indirectly via the alternate rail type label list, property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
* Extend the predefined classes only if you also provide a train set that makes use of these.&lt;br /&gt;
; [***X] Energy source type class&lt;br /&gt;
* If your set only uses specialized classes, always map the generic classes to the closest matching specialized type via property 1D.&lt;br /&gt;
; Standard labels [RAIL, ELRL, MONO, MGLV]&lt;br /&gt;
* Always define the standard labels when possible, instead of what would be the equivalent of the standard label in this scheme.&lt;br /&gt;
* Map the equivalent labels from this scheme to the standard labels using property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
Or, put differently, for each gauge/type, select one or more energy source types. For each type/energy combination provide all axle load classes for the speed class &amp;quot;A&amp;quot;, either as a real type or as an alternate of another type. Provide more types with a different speed letter if you want to provide several different speeds or other eye-candy tracks.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Summary for train sets ==&lt;br /&gt;
This section summarizes the above for train sets.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; [X***] Track gauge and type class&lt;br /&gt;
* Use the track type class that matches the vehicle;&lt;br /&gt;
* Define a fallback type via the railtype table in case you want the vehicle to be available on a different track if no matching track set is loaded.&lt;br /&gt;
** Specialized subtypes like &amp;quot;n&amp;quot; might not always be available. If you want those vehicles to be still available then, fall back the the generic class (e.g. &amp;quot;N&amp;quot;).&lt;br /&gt;
; [*X**] Speed limit class &lt;br /&gt;
* Always use class A for every vehicle.&lt;br /&gt;
; [**X*] Axle load class&lt;br /&gt;
* Use all classes A through E according to the maximum axle weight of the vehicle.&lt;br /&gt;
* Extend the predefined classes only if you also provide a track set that makes use of these;&lt;br /&gt;
** When extending the predefined classes A through E, define a fallback type via the railtype table in case you want the vehicle to be available if no matching track set is loaded.&lt;br /&gt;
; [***X] Energy source type class&lt;br /&gt;
* Use the energy source type class that matches the vehicle;&lt;br /&gt;
* When using specialized classes, define a fallback type via the railtype table in case you want the vehicle to be available if no matching track set is loaded.&lt;br /&gt;
; Standard labels [RAIL, ELRL, MONO, MGLV]&lt;br /&gt;
* Define a fallback type to the standard labels via the railtype table in case you want the vehicle to be available on the standard tracks if no matching track set is loaded.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Be as specific as you want when selecting the railtype, it is the job of the track set to select a playable, reduced subset out of all possible type combinations.&lt;br /&gt;
&lt;br /&gt;
== In case you&#039;re not convinced by this scheme ==&lt;br /&gt;
Adopting this scheme gives the player freedom to use any track set in combination with any train set that follow the scheme. &lt;br /&gt;
&lt;br /&gt;
This means that you can make your train set compatible with track sets that provide axle load classes, and track sets that provide speed limits, and at the same time with track sets that provide none of this. This way, the player can decide to play with or without axle load classes, or with or without speed limits, simply by loading a track set that does or does not provide these features.&lt;br /&gt;
&lt;br /&gt;
And for your track set, it means that you can make it as simple or as complicated as you want (within the 64 track type limit), while not having to worry about compatibility with train sets.&lt;br /&gt;
&lt;br /&gt;
Still not convinced? Feel free to use railtype labels of your own, but know that you will likely come to regret that at some point in the future.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Forum topic==&lt;br /&gt;
If you want to discuss the standardized railtype scheme or have any questions about it, you can visit [http://www.tt-forums.net/viewtopic.php?t=59379 the forum topic].&lt;br /&gt;
&lt;br /&gt;
==&amp;quot;Innsbruck 2022 Convention&amp;quot; for partial compliance==&lt;br /&gt;
&lt;br /&gt;
This is really esoteric, but eh. It was the product of long discussion / debate / argument / reasoning between grf authors.&lt;br /&gt;
&lt;br /&gt;
1. The Standardized Railtype Scheme &#039;&#039;&#039;is a useful tool&#039;&#039;&#039; for providing reliable compatibility between train grfs and railtype grfs.&lt;br /&gt;
&lt;br /&gt;
2. The &#039;&#039;&#039;axle load class&#039;&#039;&#039; in the scheme presents a number of issues for compliance.&lt;br /&gt;
&lt;br /&gt;
2.1. Over 10 years since the scheme was standardised, not many train grfs implement multiple axle load classes &#039;&#039;&#039;as required by the scheme&#039;&#039;&#039;.  Known examples that &#039;&#039;&#039;do&#039;&#039;&#039; comply include Dutch Train Set, French Narrow Gauge Trains, and Finnish Trains.&lt;br /&gt;
&lt;br /&gt;
2.2. Elements of the axle load rules have proven hard to interpret.  For example:&lt;br /&gt;
&lt;br /&gt;
* is it compliant to use &#039;&#039;fewer&#039;&#039; than 5 classes in a train grf?  There is a lack of consensus on this.&lt;br /&gt;
* axle load is only one of many factors that govern whether a vehicle is compatible with a route, for example loading gauge, minimum curve, signalling types etc&lt;br /&gt;
&lt;br /&gt;
2.3. Meanwhile &#039;&#039;multiple existing train grfs use class &#039;&#039;A&#039;&#039; for the axle load for all trains&#039;&#039; (except where relying on default railtypes such as RAIL and ELRL).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3. The Innsbruck 2022 Convention uses class &#039;&#039;A&#039;&#039; for axle load for &#039;&#039;&#039;all&#039;&#039;&#039; trains in a train grf (except where relying on default railtypes such as RAIL and ELRL).&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is &#039;&#039;&#039;not&#039;&#039;&#039; fully compliant with the Standardized Railtype Scheme and does not claim to be.&lt;br /&gt;
&lt;br /&gt;
However train grfs using the Innsbruck 2022 Convention are &#039;&#039;broadly compatible&#039;&#039; with railtype grfs using the Standardized Railtype Scheme.  &lt;br /&gt;
&lt;br /&gt;
Obligatory XKCD link about &#039;standards&#039;: https://xkcd.com/927/&lt;br /&gt;
&lt;br /&gt;
===Known issues===&lt;br /&gt;
&lt;br /&gt;
Known problems are that trains using only class &#039;A&#039; may limit the ability of railtype grf authors to achieve their design goals for separating railtypes by axle load.  &lt;br /&gt;
But on reflection, it can be seen that a train grf might not be able to provide a broad enough range of vehicles to cover at least 5 axle load classes.&lt;br /&gt;
&lt;br /&gt;
3.1. The Innsbruck 2022 Convention is &#039;&#039;&#039;not&#039;&#039;&#039; appropriate for train grf authors who wish to provide more than one axle load class.&lt;br /&gt;
&lt;br /&gt;
3.2. The Innsbruck 2022 Convention treats the meaning of class &#039;&#039;A&#039;&#039; as &#039;&#039;undefined&#039;&#039;, &#039;&#039;ignored&#039;&#039; or &#039;&#039;compatible with most restricted railtype&#039;&#039; for axle load.  &lt;br /&gt;
&lt;br /&gt;
Axle load class &#039;&#039;A&#039;&#039; &#039;&#039;&#039;cannot&#039;&#039;&#039; be safely interpreted as &#039;&#039;universal&#039;&#039; because from the perspective of a railtype grf &#039;&#039;A&#039;&#039; is &#039;&#039;most restricted railtype&#039;&#039;, where &#039;&#039;universal&#039;&#039; is better represented as &#039;&#039;least restricted railtype&#039;&#039;. Depending how many axle load classes are in use by the railtype grf, this could be class &#039;&#039;B&#039;&#039;, &#039;&#039;C&#039;&#039;, &#039;&#039;D&#039;&#039;, &#039;&#039;E&#039;&#039; etc.  To illustrate this issue, take the following scenario&lt;br /&gt;
&lt;br /&gt;
* railtype grf defines axle loads &#039;&#039;A&#039;&#039; to &#039;&#039;E&#039;&#039;. In this case the railtype grf author intends that &#039;&#039;A&#039;&#039; is compatible with the smallest range of vehicles, &#039;&#039;E&#039;&#039; is compatible with the largest range of vehicles, and &#039;&#039;B&#039;&#039;, &#039;&#039;C&#039;&#039; and &#039;&#039;D&#039;&#039; are compatible with some intermediate ranges of vehicles&lt;br /&gt;
* but the vehicle grf author has defined all vehicles to be axle load &#039;&#039;A&#039;&#039; in an attempt to express this vehicle is &#039;&#039;universal&#039;&#039;.  The result in the game is that an identical range of vehicles will be compatible with railtypes &#039;&#039;A&#039;&#039; to &#039;&#039;E&#039;&#039;.  &lt;br /&gt;
&lt;br /&gt;
This is clearly &#039;&#039;&#039;not&#039;&#039;&#039; the intended outcome of the railtype author. But nor is it clear within the spec that the vehicle author has particularly done anything wrong. &lt;br /&gt;
&lt;br /&gt;
It &#039;&#039;would&#039;&#039; be possible to use railtype availability testing to adjust the vehicle property 05 (track_type) to fit the highest defined axle load (&#039;&#039;E&#039;&#039; in this example case), but this is not insignificant work, and it&#039;s unlikely to be widely adopted by vehicle grf authors.  Nor would this solution achieve &#039;&#039;universal&#039;&#039; as all vehicles in vehicle grf then would be incompatible with types &#039;&#039;A&#039;&#039; through &#039;&#039;D&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
3.3. When the Innsbruck 2022 Convention is used, this &#039;&#039;&#039;does not prevent&#039;&#039;&#039; a train grf being extended in some future release to achieve full compliance with Standardized Railtype Scheme. &#039;&#039;That choice remains with train grf authors&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
3.4. If 2012 could be revisited, providing an optional &#039;&#039;_&#039;&#039; axle load class in the Standardized Railtype Scheme for &#039;&#039;undefined&#039;&#039; would have been preferable, but as of 2022, &#039;&#039;A&#039;&#039; is already widely used for this purpose, and time travel is not known to be possible.&lt;br /&gt;
&lt;br /&gt;
==Extended multivoltage support addition==&lt;br /&gt;
These are extensions to the energy source type class currently supported by SETS and xUSSR Rails which allow trainsets to code trains which are limited to a certain selection of voltages. As stated in the energy source type class section this might not be of use for all sets, as such it is optional but still recommended for trainsets for ideal functionality with tracksets which support the extended labels.&lt;br /&gt;
{|&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Specialized energy type classes !!Vehicle set fallback&lt;br /&gt;
|-&lt;br /&gt;
|* ||Equivilent to A, a, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|&#039; ||Equivilent to A, a and D || E&lt;br /&gt;
|-&lt;br /&gt;
|^ ||Equivilent to A, a and d || E&lt;br /&gt;
|-&lt;br /&gt;
|_ ||Equivilent to A, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
|, ||Equivilent to a, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|$ ||Equivilent to A and a  || First A then E&lt;br /&gt;
|-&lt;br /&gt;
|= ||Equivilent to D and d  || First D then E&lt;br /&gt;
|-&lt;br /&gt;
|) ||Equivilent to A and D  || E&lt;br /&gt;
|-&lt;br /&gt;
|( ||Equivilent to A and d  || E&lt;br /&gt;
|-&lt;br /&gt;
|] ||Equivilent to a and D  || E&lt;br /&gt;
|-&lt;br /&gt;
|[ ||Equivilent to a and d  || E&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Possible additions==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Track type/gauge&lt;br /&gt;
|-&lt;br /&gt;
|_ ||Universal &amp;quot;cheat&amp;quot; rail; ALWAYS add &amp;quot;_A_-&amp;quot; and &amp;quot;_A_N&amp;quot; to EVERY [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]] (as well as the equivalent electrified/pneumatic railtype that is powered on your electrified/pneumatic railtype to support it if you are making a new railtype set, older sets can be covered by fix or patch grfs) and &amp;quot;_A_t&amp;quot; to EVERY [[NML:Railtypes#Railtype_properties|powered_railtype_list (NML)]]&lt;br /&gt;
|-&lt;br /&gt;
|0 ||(A number zero, not a letter &amp;quot;Oh&amp;quot;) No track, eyecandy-use only&lt;br /&gt;
|-&lt;br /&gt;
|U ||[https://perma.cc/93VE-8JQZ &amp;quot;Ukrainian monorail&amp;quot; or Şaropoí̈zd (Шаропоїзд)], a u-shaped concrete &amp;quot;monorail trench&amp;quot; from 1920&#039;s Soviet Union; see [https://www.tt-forums.net/viewtopic.php?f=26&amp;amp;t=47432 the Yarmanchuk Express] for graphics&lt;br /&gt;
|-&lt;br /&gt;
|1 ||Early Monorail; See [https://perma.cc/6BVS-2P2X here] and [https://perma.cc/VCG2-ATUA here]&lt;br /&gt;
|-&lt;br /&gt;
|G ||Gyrail; [https://en.wikipedia.org/wiki/Gyro_monorail Gyro monorail/Gyroscopic monorail/Gyro-stabilized monorail] for description and IRL example, and [https://wikimon.net/Trailmon here] ([https://web.archive.org/web/20240227205547/https://wikimon.net/Trailmon archived]) for good fictional examples&lt;br /&gt;
|-&lt;br /&gt;
|m ||Minimum gauge rail; [https://en.wikipedia.org/wiki/Minimum-gauge_railway 15 in (381 mm), 400 mm (15+3⁄4 in), 16 in (406 mm), 18 in (457 mm), 19 in (483 mm), 500 mm (19+3⁄4 in) or 20 in (508 mm)]&lt;br /&gt;
|-&lt;br /&gt;
|n ||600mm &amp;quot;Decauville&amp;quot; or &amp;quot;Feldsbahn&amp;quot;, formerly labelled &amp;quot;NG60&amp;quot; before standardization; the most common narrow gauge track type in OpenTTD other than metre gauge, 600mm gauge is thus ideal for taking up the &amp;quot;n&amp;quot; gauge, though this is an ultimately optional distinction&lt;br /&gt;
|-&lt;br /&gt;
|7 ||750mm, Bosnian gauge (760 mm), and 762mm; all start with 7 and are close in size&lt;br /&gt;
|-&lt;br /&gt;
|3 ||Swedish 3 foot (891 mm), 900mm, 3 foot (914 mm) and Italian Metre (950mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|R ||Metre gauge; potentially compatible with base tramtype &amp;quot;RABN&amp;quot;, most early tramways were metre gauge&lt;br /&gt;
|-&lt;br /&gt;
|4 ||4 foot gauge (1219 mm), and possibly 4&#039;6&amp;quot; in. (1372 mm) if standardization is needed for 1372mm&lt;br /&gt;
|-&lt;br /&gt;
|s ||Scotch gauge (1372 mm)&lt;br /&gt;
|-&lt;br /&gt;
|S ||Standard gauge; already implemented in original standardized railtype scheme, but could include near-standard (1432 mm) as well as existing true standard (1435 mm) and is also potentially compatible with the SABN tramtype&lt;br /&gt;
|-&lt;br /&gt;
|X ||Omni-gauge rail (for at-grade multi-gauge crossings and stations); ultrabroad/secondary broad/primary broad/standard/primary narrow/secondary narrow gauge&lt;br /&gt;
|-&lt;br /&gt;
|x ||Multi-gauge rail (for at-grade multi-gauge crossings and stations); secondary broad/primary broad/standard/primary narrow/secondary narrow&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;+&amp;lt;/nowiki&amp;gt; ||Quad-gauge (Four-gauge) rail (for at-grade multi-gauge crossings and stations); secondary broad/primary broad/standard/primary narrow&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt; ||Four-gauge rail (for at-grade multi-gauge crossings and stations); primary broad/standard/primary narrow/secondary narrow&lt;br /&gt;
|-&lt;br /&gt;
|b ||Broad gauge rail - As broad gauge is a rare tracktype, it may still be feasible to cement B and b as broad gauges of two differing sizes, but the rarity among gauges in the real world would need to match; Italian (1445 mm) and Dresden (1450 mm) gauges may be better grouped here&lt;br /&gt;
|-&lt;br /&gt;
|t ||Leipzig trams (1458 mm) and Greater Toronto Area streetcars (1495 mm)&lt;br /&gt;
|-&lt;br /&gt;
|5 ||1520mm and 5 foot (1524 mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|V ||Pennsylvanian (1581 mm and 1588 mm) and Australian &amp;quot;Victorian&amp;quot; (1600 mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|6 ||6 foot (1829 mm) broad gauge&lt;br /&gt;
|-&lt;br /&gt;
|g ||Brunel&#039;s Great Western Railway gauge (2140 mm)&lt;br /&gt;
|-&lt;br /&gt;
|B ||Biggest Broad gauge rail - As broad gauge is a rare tracktype, and the variation in common real life track types too wide, it may be desirable to cement B and b as broad gauges of two differing sizes; With no real life examples that match the usage frequency of &amp;quot;B&amp;quot;, the gauge might best draw inspiration from the infamous [https://en.wikipedia.org/wiki/Breitspurbahn Breitspurbahn] (3000 mm) and [https://perma.cc/KQ2Z-5RCR the never-built vehicles designed for it], or from the [https://en.wikipedia.org/wiki/Brighton_and_Rottingdean_Seashore_Electric_Railway Brighton &amp;amp; Rottingdean Seashore Electric Railway] (18 ft/5,486 mm) &lt;br /&gt;
|-&lt;br /&gt;
|L ||Maglevs that have a u-shaped track&lt;br /&gt;
|-&lt;br /&gt;
|T ||Maglevs that have a monorail track&lt;br /&gt;
|-&lt;br /&gt;
|F ||Flightrail; A [https://web.archive.org/web/20231213122530/http://www.flightrail.com/ system capable of high speeds and steep hill grades] that uses a pneumatic pipe for propulsion (see &amp;quot;P&amp;quot; under energy sources), and &#039;&#039;wheels pointed inwards at a 45-degree angle&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
It might be preferred to instead use/keep &amp;quot;B&amp;quot; for &amp;quot;all (current) broad gauges&amp;quot; (mostly Victorian gauge) instead using lowercase &amp;quot;b&amp;quot; for Brunel/GWR broad gauge. This wouldn&#039;t be to different from narrow gauge since the lesser used ones are lowercase and fallback to the uppercase ones.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Electrification !!Fallback&lt;br /&gt;
|-&lt;br /&gt;
|S ||Maglevs that use a synchronous linear motor ||N/A&lt;br /&gt;
|-&lt;br /&gt;
|I ||Maglevs that use a linear induction motor ||MGLV (the whole label)&lt;br /&gt;
|-&lt;br /&gt;
|V ||Vactrains/Hyperloop ||t, then I, then MGLV (the whole label)&lt;br /&gt;
|-&lt;br /&gt;
|t ||&amp;quot;Universal custom tunnel&amp;quot; (for electrified sub-surface rail tunnels) ||E (mandatory)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt; ||Universal energy type (&#039;&#039;not&#039;&#039; meant to replace &amp;quot;***N&amp;quot;; use for vehicles such as driving cabs which cannot move under their own power regardless, if desired) ||N/A (Be sure to put &amp;quot;***E&amp;quot; in the [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]] of a &amp;quot;***-&amp;quot; label)&lt;br /&gt;
|-&lt;br /&gt;
|5 ||750v DC Outer 3rd Rail (&amp;quot;MTRO&amp;quot; or &amp;quot;SA_3&amp;quot;) and 630v DC Inner 3rd/4th Rail; a total of 5 rails (2 for wheels, 3 for electricity), plausible in the London Underground network&lt;br /&gt;
|-&lt;br /&gt;
|U ||750v DC Outer 3rd Rail (&amp;quot;MTRO&amp;quot; or &amp;quot;SA_3&amp;quot;), 630v DC Inner 3rd/4th Rail and universal catenary (SAEE); a total of 5 rails (2 for wheels, 3 for electricity), plausible in the London Underground network and an &amp;quot;ultimate&amp;quot; dual rail electrification without being a cheat (make it expensive or toggle-able?) as SAEU or even as XAEU (universal dual rail electrified tracks)&lt;br /&gt;
|-&lt;br /&gt;
|7 ||750v DC Outer 3rd Rail (&amp;quot;MTRO&amp;quot; or &amp;quot;SA_3&amp;quot;), 630v DC Inner 3rd/4th Rail, Three-phase AC (SA_T) 3rd/4th rail &amp;amp; catenary, and universal catenary (SA_E); a total of 7 rails (2 for wheels, 3 for electricity), plausible in the London Underground network and an &amp;quot;ultimate&amp;quot; dual rail electrification without being a cheat (make it expensive or toggle-able?) as SAEU, XAEU or even as XREU (universal dual rail electrified rack rail tracks).&lt;br /&gt;
|-&lt;br /&gt;
|P ||Pneumatic tube with physical piston slit, or closed pneumatic tube with magnetic piston (i.e. that used by [https://web.archive.org/web/20231213122530/http://www.flightrail.com/ Flightrail]) ||N/A&lt;br /&gt;
|-&lt;br /&gt;
|p ||Pneumatic and universal electrical power ||N/A (Be sure to put &amp;quot;***_&amp;quot; and ***P&amp;quot; in the [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]] of a &amp;quot;***p&amp;quot; label)&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Lurkmore</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=Standardized_Railtype_Scheme&amp;diff=4740</id>
		<title>Standardized Railtype Scheme</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=Standardized_Railtype_Scheme&amp;diff=4740"/>
		<updated>2024-02-28T04:05:31Z</updated>

		<summary type="html">&lt;p&gt;Lurkmore: /* The Label Scheme */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This railtype label scheme aims to bring order to the uncontrolled growth of railtype labels. It groups the rail types into what matters from a technical perspective. The scheme provides a standardized way of defining railtype labels, based on track gauge and type, speed class, allowable axle weight and electrification type.&lt;br /&gt;
&lt;br /&gt;
It is the explicit intent of this scheme to decouple track sets from vehicle sets to facilitate easy mixing. This way the player can select a track set of choice to go with a train set of choice. It allows the player to play with or without axle load classes, or with or without speed limit classes, simply by loading a track set that does or does not provide these features. In some cases it will also be possible to combine niche track sets, for instance a standard gauge track set with a narrow gauge and a metro track set.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== The Label Scheme ==&lt;br /&gt;
A railtype label consists of four characters. In this scheme, each position has a different purpose:&lt;br /&gt;
# Track gauge and type class (e.g. standard gauge rail, narrow gauge rail, monorail)&lt;br /&gt;
# Speed limit class&lt;br /&gt;
# Axle load class (maximum allowed axle weight for this track)&lt;br /&gt;
# Energy source type class&lt;br /&gt;
&lt;br /&gt;
In the next sections, each of the four positions will be explained.&lt;br /&gt;
&lt;br /&gt;
=== Track gauge and type class [X***] ===&lt;br /&gt;
The first position in the railtype label defines track gauge and/or track type class. The following classes are currently defined:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Track type/gauge&lt;br /&gt;
|- &lt;br /&gt;
|S ||Standard gauge rail&lt;br /&gt;
|-&lt;br /&gt;
|B ||Broad gauge rail &lt;br /&gt;
|-&lt;br /&gt;
|N ||Narrow gauge rail&lt;br /&gt;
|-&lt;br /&gt;
|n ||Secondary narrow gauge rail (e.g. when providing both metre and cape gauge, always use N in case of just one type of narrow gauge)&lt;br /&gt;
|-&lt;br /&gt;
|D ||Dual gauge rail, standard/broad gauge&lt;br /&gt;
|-&lt;br /&gt;
|d ||Dual gauge rail, standard/narrow gauge&lt;br /&gt;
|-&lt;br /&gt;
|M ||Monorail&lt;br /&gt;
|-&lt;br /&gt;
|L ||Magnetic Levitation&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Speed limit class [*X**] ===&lt;br /&gt;
The second position in the railtype label defines the speed limit class. These classes do not map to a fixed numeric value, but are used to define an internal speed limit order for the track set. This means that if your track set has two different speed limits for track types that are otherwise identical, you&#039;ll use letters A and B here. In case of three different speed limits, use A, B and C. In case your track set does not employ speed limits, always use A. Train sets do not care about the speed limit, and will always set the lowest speed class, i.e. A.&lt;br /&gt;
&lt;br /&gt;
This gives for instance the following options:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||no speed limits&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;OR&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||low speed&lt;br /&gt;
|-&lt;br /&gt;
|B ||high speed&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;OR&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||low speed&lt;br /&gt;
|-&lt;br /&gt;
|B ||medium speed&lt;br /&gt;
|-&lt;br /&gt;
|C ||high speed&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;etc.&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear:left;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The speed limit class may also be used for some advanced features of the label scheme, like specialized track types and eyecandy purposes. Be careful not to break the compatibility with other sets when using the speed limit class for these purposes.&lt;br /&gt;
&lt;br /&gt;
An example of a special use is rack rail. In the French set it is used to give rack rail engines a higher speed and TE than normal rail engines when used on rack rail. When defining trains with a special speed limit class, always allow a fallback to speed limit class A via the railtype table.&lt;br /&gt;
&lt;br /&gt;
An example of eyecandy use are urban tracks. These are a variation of regular tracks, but with concrete ground tiles to better match the urban environment. Train sets must not define vehicles for eyecandy classes. If you think you have special vehicles that should only run on the eyecandy class, it is &#039;&#039;not&#039;&#039; eyecandy but a separate track gauge/type.&lt;br /&gt;
&lt;br /&gt;
The following special and eyecandy classes have been defined so far:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Description !!Type !!Used by&lt;br /&gt;
|- &lt;br /&gt;
|A-H ||speed limits ||colspan=&amp;quot;2&amp;quot;|reserved&lt;br /&gt;
|- &lt;br /&gt;
|R ||rack rail ||special ||French Set Rails &lt;br /&gt;
|- &lt;br /&gt;
|S ||subterranean ||eyecandy ||Metro Track Set&lt;br /&gt;
|- &lt;br /&gt;
|U ||urban ||eyecandy ||Metro Track Set&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Axle load class [**X*] ===&lt;br /&gt;
The third position defines the axle weight limit. Heavy trains cannot run on tracks with a low axle weight limit; these trains need more expensive tracks with a heigher weight limit. There are five axle load classes &#039;&#039;&#039;A&#039;&#039;&#039; through &#039;&#039;&#039;E&#039;&#039;&#039;. &#039;&#039;&#039;A&#039;&#039;&#039; is for the lowest axle load limit, &#039;&#039;&#039;E&#039;&#039;&#039; for the highest. The exact axle load attached to each class is relative to the track gauge/type and trains in the set. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A train set should set the appropriate axle weight for each train via the railtype label, as to make the set work with track sets that do provide tracks with different weight limits, even if you don&#039;t care about it for your trainset. Split all vehicles of a certain track gauge/type into five groups of similar axle weight. The group with the lowest axle weights will get class &#039;&#039;&#039;A&#039;&#039;&#039;, the second lowest class &#039;&#039;&#039;B&#039;&#039;&#039;, etc. up to the group with the highest axle weights which will get class &#039;&#039;&#039;E&#039;&#039;&#039;. Do the same for the other track gauge/types if your train set has those.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A track set does not have to provide a dedicated track type for each axle weight limit. A track set that does not provide a dedicated track for each axle load class, must make sure to map all undefined axle load classes to a real railtype using property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]]. This way a train set can rely on all labels for all axle load classes being available. Example: if you only want to provide 2 axle load classes for standard gauge unelectrified with no speed limits, you can map SA&#039;&#039;&#039;A&#039;&#039;&#039;N + SA&#039;&#039;&#039;B&#039;&#039;&#039;N to SA&#039;&#039;&#039;C&#039;&#039;&#039;N and SA&#039;&#039;&#039;D&#039;&#039;&#039;N to SA&#039;&#039;&#039;E&#039;&#039;&#039;N if the cost difference between the two railtypes is high, or SA&#039;&#039;&#039;A&#039;&#039;&#039;N to SA&#039;&#039;&#039;B&#039;&#039;&#039;N and SA&#039;&#039;&#039;C&#039;&#039;&#039;N + SA&#039;&#039;&#039;D&#039;&#039;&#039;N to SA&#039;&#039;&#039;E&#039;&#039;&#039;N if the cost difference is low.&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t want to provide any axle load classes in your track set, it doesn&#039;t really matter what axle load class you choose for the track, as you&#039;ll be mapping all other classes to this track anyways. But the lowest or highest class are the obvious choice. Example: if your track set only provides narrow gauge unelectrified track with no speed limits and no axle load limits, you may use NA&#039;&#039;&#039;A&#039;&#039;&#039;N for the track label, and provide NA&#039;&#039;&#039;B&#039;&#039;&#039;N, NA&#039;&#039;&#039;C&#039;&#039;&#039;N, NA&#039;&#039;&#039;D&#039;&#039;&#039;N, NA&#039;&#039;&#039;E&#039;&#039;&#039;N in property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you need more than five axle load class, you may use lowercase letters for very low axle loads and continue the uppercase letters for very high axle loads. Be advised that your train set may not assume the existance of any other class than &#039;&#039;&#039;A&#039;&#039;&#039; through &#039;&#039;&#039;E&#039;&#039;&#039;, so when the range make sure to program your railtype table such that trains with such a class will fall back to class &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;E&#039;&#039;&#039;. If you make a track set with an extended range, be aware that not all train sets will define trains for these tracks. In general: only do this in case of a train set with a matching track set.&lt;br /&gt;
&lt;br /&gt;
For the lowercase letters, &#039;&#039;&#039;b&#039;&#039;&#039; is lower than &#039;&#039;&#039;a&#039;&#039;&#039;, so for increasing axle load limits: b &amp;lt; a &amp;lt; A &amp;lt; B &amp;lt; C etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that the axle load classes never map to a specific weight in tonnes. For that reason it does not make sense to add a numeric value for the axle load to the name of a track type or in the extended purchase info of a train. Instead use the relative expressions &#039;very low&#039;, &#039;low&#039;, &#039;medium&#039;, &#039;high&#039; and &#039;very high&#039; or use the class letters directly.&lt;br /&gt;
&lt;br /&gt;
=== Energy source type class [***X] ===&lt;br /&gt;
The last position defines the energy source type class. This is split in generic energy source types like overhead wires and third rail and specialized types like alternating and direct current.&lt;br /&gt;
&lt;br /&gt;
A track set that only uses specialized types, should map the generic types to the most suitable specialized type in the set.&lt;br /&gt;
&lt;br /&gt;
A vehicle set that uses specialized types should define a generic type as fallback, via the railtype table. If such a fallback is omitted, please note that certain vehicles may be unavailable depending on track set loaded.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Generic energy type classes&lt;br /&gt;
|-&lt;br /&gt;
|N ||no electrification&lt;br /&gt;
|-&lt;br /&gt;
|E ||overhead wires/catenary electrification&lt;br /&gt;
|-&lt;br /&gt;
|3 ||3rd rail electrification&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Specialized energy type classes !!Vehicle set fallback&lt;br /&gt;
|-&lt;br /&gt;
|Z ||3rd rail and catenary electrification || 3 or E&lt;br /&gt;
|-&lt;br /&gt;
|4 ||4th rail electrification || 3&lt;br /&gt;
|-&lt;br /&gt;
|Y ||4th rail and catenary electrification || 4 or E&lt;br /&gt;
|-&lt;br /&gt;
|T ||[http://en.wikipedia.org/wiki/Three-phase_AC_railway_electrification three phase AC electrification] || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|D ||DC catenary electrification || E&lt;br /&gt;
|-&lt;br /&gt;
|d ||low voltage DC catenary electrification (only when D also used in set) || First A then E&lt;br /&gt;
|-&lt;br /&gt;
|A ||AC catenary electrification || E&lt;br /&gt;
|-&lt;br /&gt;
|a ||low voltage AC catenary electrification (only when A also used in set) || First A then E&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
If you want multi-voltage/current vehicles in your set (i.e. a train that can run on both AC and DC current), you have to define a dedicated railtype for those vehicles. Without the railtype, it&#039;s not possible to define vehicles with this property. If you only have vehicles that can run on either one type of voltage/current or on all types of voltage/current (e.g. a 2-system if you only have &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;D&#039;&#039;&#039; tracks, or a 4-system in case of all &#039;&#039;&#039;A&#039;&#039;&#039;, &#039;&#039;&#039;a&#039;&#039;&#039;, &#039;&#039;&#039;D&#039;&#039;&#039; and &#039;&#039;&#039;d&#039;&#039;&#039;), then use the generic class &#039;&#039;&#039;E&#039;&#039;&#039; for vehicles that should be able to run on all different voltage/currents. Also the track set needs to have one at least one railtype with class &#039;&#039;&#039;E&#039;&#039;&#039; defined.&lt;br /&gt;
&lt;br /&gt;
Note that if you want more than one type of multi-voltage/current, you&#039;ll quickly get a combinatory explosion of railtype labels, so plan carefully or do not attempt it. For every different multi-voltage/current vehicle type a dedicated railtype is needed. If you want all possible combinations, then you need to define an additional 8 classes. It is not recommended to make your train/track set this complicated.&lt;br /&gt;
&lt;br /&gt;
Example approach for a 4-system set, with trains that can run on either one or all systems:&lt;br /&gt;
* &#039;&#039;&#039;E&#039;&#039;&#039;: generic catenary-powered electric engines. &amp;quot;universal&amp;quot; [4-system] if any of &#039;&#039;&#039;D&#039;&#039;&#039;/&#039;&#039;&#039;d&#039;&#039;&#039;/&#039;&#039;&#039;A&#039;&#039;&#039;/&#039;&#039;&#039;a&#039;&#039;&#039; are defined.&lt;br /&gt;
* &#039;&#039;&#039;A&#039;&#039;&#039;: generic AC catenary electric engines. 25kV only if &#039;&#039;&#039;a&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;A&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;a&#039;&#039;&#039;: 15kV AC catenary electric engines. Only defined if &#039;&#039;&#039;A&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;a&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;D&#039;&#039;&#039;: generic DC catenary electric engines. 3kV if &#039;&#039;&#039;d&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;D&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;d&#039;&#039;&#039;: 1.5kV DC catenary electric engines. Only defined if &#039;&#039;&#039;D&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;D&#039;&#039;&#039; and &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;d&#039;&#039;&#039;.&lt;br /&gt;
For a 2-system set, you can simply drop &#039;&#039;&#039;a&#039;&#039;&#039; and &#039;&#039;&#039;d&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Standard labels: RAIL, ELRL, MONO, MGLV ===&lt;br /&gt;
It&#039;s not possible to undefine the standard railtypes RAIL, ELRL, MONO and MGLV. The game will always add those if there are vehicles defined for these track types. As a result, for a track set it&#039;s best not to ignore those standard labels, but rather work with them and define them in the set. If your track set does not have monorail or maglev tracks, there of course is no need to define those. But if your track set defines anything that resembles unelectrified or electrified rail, you should use the RAIL and ELRL labels. Matching labels from the above scheme will then be defined in property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
As vehicles from NewGRFs that do not use explicit railtypes will end up on these standard railtypes, you should use RAIL instead of whatever type could be regarded as the most commonly used unelectrified type, ELRL instead of the most commonly used electrified type and so on. The label according to this scheme is then set as an alternate.&lt;br /&gt;
&lt;br /&gt;
== Summary for track sets ==&lt;br /&gt;
This section summarizes the above for track sets.&lt;br /&gt;
&lt;br /&gt;
; [X***] Track gauge and type class&lt;br /&gt;
* Define at least one track type for every track gauge/type class you want in your set.&lt;br /&gt;
* If you only provide tracks for one gauge/type, consider leaving some free railtypes so a player can load an additional set for some other type.&lt;br /&gt;
; [*X**] Speed limit class&lt;br /&gt;
* Make sure class A is always available, either directly or via an alternate label.&lt;br /&gt;
* Use only class A if you don&#039;t want speed limits;&lt;br /&gt;
* With speed limits, A is the lowest speed limit. Continue with B, C, etc. for increasing speed limits;&lt;br /&gt;
* The speed class can also be used to implement additional eye-candy track types, use letters higher in the alphabet for this.&lt;br /&gt;
; [**X*] Axle load class&lt;br /&gt;
* Always define all classes A through E for every track type class / electrification combination, either:&lt;br /&gt;
** Directly via a real railtype definition;&lt;br /&gt;
** Indirectly via the alternate rail type label list, property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
* Extend the predefined classes only if you also provide a train set that makes use of these.&lt;br /&gt;
; [***X] Energy source type class&lt;br /&gt;
* If your set only uses specialized classes, always map the generic classes to the closest matching specialized type via property 1D.&lt;br /&gt;
; Standard labels [RAIL, ELRL, MONO, MGLV]&lt;br /&gt;
* Always define the standard labels when possible, instead of what would be the equivalent of the standard label in this scheme.&lt;br /&gt;
* Map the equivalent labels from this scheme to the standard labels using property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
Or, put differently, for each gauge/type, select one or more energy source types. For each type/energy combination provide all axle load classes for the speed class &amp;quot;A&amp;quot;, either as a real type or as an alternate of another type. Provide more types with a different speed letter if you want to provide several different speeds or other eye-candy tracks.&lt;br /&gt;
&lt;br /&gt;
== Summary for train sets ==&lt;br /&gt;
This section summarizes the above for train sets.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; [X***] Track gauge and type class&lt;br /&gt;
* Use the track type class that matches the vehicle;&lt;br /&gt;
* Define a fallback type via the railtype table in case you want the vehicle to be available on a different track if no matching track set is loaded.&lt;br /&gt;
** Specialized subtypes like &amp;quot;n&amp;quot; might not always be available. If you want those vehicles to be still available then, fall back the the generic class (e.g. &amp;quot;N&amp;quot;).&lt;br /&gt;
; [*X**] Speed limit class &lt;br /&gt;
* Always use class A for every vehicle.&lt;br /&gt;
; [**X*] Axle load class&lt;br /&gt;
* Use all classes A through E according to the maximum axle weight of the vehicle.&lt;br /&gt;
* Extend the predefined classes only if you also provide a track set that makes use of these;&lt;br /&gt;
** When extending the predefined classes A through E, define a fallback type via the railtype table in case you want the vehicle to be available if no matching track set is loaded.&lt;br /&gt;
; [***X] Energy source type class&lt;br /&gt;
* Use the energy source type class that matches the vehicle;&lt;br /&gt;
* When using specialized classes, define a fallback type via the railtype table in case you want the vehicle to be available if no matching track set is loaded.&lt;br /&gt;
; Standard labels [RAIL, ELRL, MONO, MGLV]&lt;br /&gt;
* Define a fallback type to the standard labels via the railtype table in case you want the vehicle to be available on the standard tracks if no matching track set is loaded.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Be as specific as you want when selecting the railtype, it is the job of the track set to select a playable, reduced subset out of all possible type combinations.&lt;br /&gt;
&lt;br /&gt;
== In case you&#039;re not convinced by this scheme ==&lt;br /&gt;
Adopting this scheme gives the player freedom to use any track set in combination with any train set that follow the scheme. &lt;br /&gt;
&lt;br /&gt;
This means that you can make your train set compatible with track sets that provide axle load classes, and track sets that provide speed limits, and at the same time with track sets that provide none of this. This way, the player can decide to play with or without axle load classes, or with or without speed limits, simply by loading a track set that does or does not provide these features.&lt;br /&gt;
&lt;br /&gt;
And for your track set, it means that you can make it as simple or as complicated as you want (within the 64 track type limit), while not having to worry about compatibility with train sets.&lt;br /&gt;
&lt;br /&gt;
Still not convinced? Feel free to use railtype labels of your own, but know that you will likely come to regret that at some point in the future.&lt;br /&gt;
&lt;br /&gt;
==Forum topic==&lt;br /&gt;
If you want to discuss the standardized railtype scheme or have any questions about it, you can visit [http://www.tt-forums.net/viewtopic.php?t=59379 the forum topic].&lt;br /&gt;
&lt;br /&gt;
==&amp;quot;Innsbruck 2022 Convention&amp;quot; for partial compliance==&lt;br /&gt;
&lt;br /&gt;
This is really esoteric, but eh. It was the product of long discussion / debate / argument / reasoning between grf authors.&lt;br /&gt;
&lt;br /&gt;
1. The Standardized Railtype Scheme &#039;&#039;&#039;is a useful tool&#039;&#039;&#039; for providing reliable compatibility between train grfs and railtype grfs.&lt;br /&gt;
&lt;br /&gt;
2. The &#039;&#039;&#039;axle load class&#039;&#039;&#039; in the scheme presents a number of issues for compliance.&lt;br /&gt;
&lt;br /&gt;
2.1. Over 10 years since the scheme was standardised, not many train grfs implement multiple axle load classes &#039;&#039;&#039;as required by the scheme&#039;&#039;&#039;.  Known examples that &#039;&#039;&#039;do&#039;&#039;&#039; comply include Dutch Train Set, French Narrow Gauge Trains, and Finnish Trains.&lt;br /&gt;
&lt;br /&gt;
2.2. Elements of the axle load rules have proven hard to interpret.  For example:&lt;br /&gt;
&lt;br /&gt;
* is it compliant to use &#039;&#039;fewer&#039;&#039; than 5 classes in a train grf?  There is a lack of consensus on this.&lt;br /&gt;
* axle load is only one of many factors that govern whether a vehicle is compatible with a route, for example loading gauge, minimum curve, signalling types etc&lt;br /&gt;
&lt;br /&gt;
2.3. Meanwhile &#039;&#039;multiple existing train grfs use class &#039;&#039;A&#039;&#039; for the axle load for all trains&#039;&#039; (except where relying on default railtypes such as RAIL and ELRL).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3. The Innsbruck 2022 Convention uses class &#039;&#039;A&#039;&#039; for axle load for &#039;&#039;&#039;all&#039;&#039;&#039; trains in a train grf (except where relying on default railtypes such as RAIL and ELRL).&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is &#039;&#039;&#039;not&#039;&#039;&#039; fully compliant with the Standardized Railtype Scheme and does not claim to be.&lt;br /&gt;
&lt;br /&gt;
However train grfs using the Innsbruck 2022 Convention are &#039;&#039;broadly compatible&#039;&#039; with railtype grfs using the Standardized Railtype Scheme.  &lt;br /&gt;
&lt;br /&gt;
Obligatory XKCD link about &#039;standards&#039;: https://xkcd.com/927/&lt;br /&gt;
&lt;br /&gt;
===Known issues===&lt;br /&gt;
&lt;br /&gt;
Known problems are that trains using only class &#039;A&#039; may limit the ability of railtype grf authors to achieve their design goals for separating railtypes by axle load.  &lt;br /&gt;
But on reflection, it can be seen that a train grf might not be able to provide a broad enough range of vehicles to cover at least 5 axle load classes.&lt;br /&gt;
&lt;br /&gt;
3.1. The Innsbruck 2022 Convention is &#039;&#039;&#039;not&#039;&#039;&#039; appropriate for train grf authors who wish to provide more than one axle load class.&lt;br /&gt;
&lt;br /&gt;
3.2. The Innsbruck 2022 Convention treats the meaning of class &#039;&#039;A&#039;&#039; as &#039;&#039;undefined&#039;&#039;, &#039;&#039;ignored&#039;&#039; or &#039;&#039;compatible with most restricted railtype&#039;&#039; for axle load.  &lt;br /&gt;
&lt;br /&gt;
Axle load class &#039;&#039;A&#039;&#039; &#039;&#039;&#039;cannot&#039;&#039;&#039; be safely interpreted as &#039;&#039;universal&#039;&#039; because from the perspective of a railtype grf &#039;&#039;A&#039;&#039; is &#039;&#039;most restricted railtype&#039;&#039;, where &#039;&#039;universal&#039;&#039; is better represented as &#039;&#039;least restricted railtype&#039;&#039;. Depending how many axle load classes are in use by the railtype grf, this could be class &#039;&#039;B&#039;&#039;, &#039;&#039;C&#039;&#039;, &#039;&#039;D&#039;&#039;, &#039;&#039;E&#039;&#039; etc.  To illustrate this issue, take the following scenario&lt;br /&gt;
&lt;br /&gt;
* railtype grf defines axle loads &#039;&#039;A&#039;&#039; to &#039;&#039;E&#039;&#039;. In this case the railtype grf author intends that &#039;&#039;A&#039;&#039; is compatible with the smallest range of vehicles, &#039;&#039;E&#039;&#039; is compatible with the largest range of vehicles, and &#039;&#039;B&#039;&#039;, &#039;&#039;C&#039;&#039; and &#039;&#039;D&#039;&#039; are compatible with some intermediate ranges of vehicles&lt;br /&gt;
* but the vehicle grf author has defined all vehicles to be axle load &#039;&#039;A&#039;&#039; in an attempt to express this vehicle is &#039;&#039;universal&#039;&#039;.  The result in the game is that an identical range of vehicles will be compatible with railtypes &#039;&#039;A&#039;&#039; to &#039;&#039;E&#039;&#039;.  &lt;br /&gt;
&lt;br /&gt;
This is clearly &#039;&#039;&#039;not&#039;&#039;&#039; the intended outcome of the railtype author. But nor is it clear within the spec that the vehicle author has particularly done anything wrong. &lt;br /&gt;
&lt;br /&gt;
It &#039;&#039;would&#039;&#039; be possible to use railtype availability testing to adjust the vehicle property 05 (track_type) to fit the highest defined axle load (&#039;&#039;E&#039;&#039; in this example case), but this is not insignificant work, and it&#039;s unlikely to be widely adopted by vehicle grf authors.  Nor would this solution achieve &#039;&#039;universal&#039;&#039; as all vehicles in vehicle grf then would be incompatible with types &#039;&#039;A&#039;&#039; through &#039;&#039;D&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
3.3. When the Innsbruck 2022 Convention is used, this &#039;&#039;&#039;does not prevent&#039;&#039;&#039; a train grf being extended in some future release to achieve full compliance with Standardized Railtype Scheme. &#039;&#039;That choice remains with train grf authors&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
3.4. If 2012 could be revisited, providing an optional &#039;&#039;_&#039;&#039; axle load class in the Standardized Railtype Scheme for &#039;&#039;undefined&#039;&#039; would have been preferable, but as of 2022, &#039;&#039;A&#039;&#039; is already widely used for this purpose, and time travel is not known to be possible.&lt;br /&gt;
&lt;br /&gt;
==Extended multivoltage support addition==&lt;br /&gt;
These are extensions to the energy source type class currently supported by SETS and xUSSR Rails which allow trainsets to code trains which are limited to a certain selection of voltages. As stated in the energy source type class section this might not be of use for all sets, as such it is optional but still recommended for trainsets for ideal functionality with tracksets which support the extended labels.&lt;br /&gt;
{|&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Specialized energy type classes !!Vehicle set fallback&lt;br /&gt;
|-&lt;br /&gt;
|* ||Equivilent to A, a, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|&#039; ||Equivilent to A, a and D || E&lt;br /&gt;
|-&lt;br /&gt;
|^ ||Equivilent to A, a and d || E&lt;br /&gt;
|-&lt;br /&gt;
|_ ||Equivilent to A, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
|, ||Equivilent to a, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|$ ||Equivilent to A and a  || First A then E&lt;br /&gt;
|-&lt;br /&gt;
|= ||Equivilent to D and d  || First D then E&lt;br /&gt;
|-&lt;br /&gt;
|) ||Equivilent to A and D  || E&lt;br /&gt;
|-&lt;br /&gt;
|( ||Equivilent to A and d  || E&lt;br /&gt;
|-&lt;br /&gt;
|] ||Equivilent to a and D  || E&lt;br /&gt;
|-&lt;br /&gt;
|[ ||Equivilent to a and d  || E&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Possible additions==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Track type/gauge&lt;br /&gt;
|-&lt;br /&gt;
|_ ||Universal &amp;quot;cheat&amp;quot; rail; ALWAYS add &amp;quot;_A_-&amp;quot; and &amp;quot;_A_N&amp;quot; to EVERY [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]] (as well as the equivalent electrified/pneumatic railtype that is powered on your electrified/pneumatic railtype to support it if you are making a new railtype set, older sets can be covered by fix or patch grfs) and &amp;quot;_A_t&amp;quot; to EVERY [[NML:Railtypes#Railtype_properties|powered_railtype_list (NML)]]&lt;br /&gt;
|-&lt;br /&gt;
|0 ||(A number zero, not a letter &amp;quot;Oh&amp;quot;) No track, eyecandy-use only&lt;br /&gt;
|-&lt;br /&gt;
|U ||[https://perma.cc/93VE-8JQZ &amp;quot;Ukrainian monorail&amp;quot; or Şaropoí̈zd (Шаропоїзд)], a u-shaped concrete &amp;quot;monorail trench&amp;quot; from 1920&#039;s Soviet Union; see [https://www.tt-forums.net/viewtopic.php?f=26&amp;amp;t=47432 the Yarmanchuk Express] for graphics&lt;br /&gt;
|-&lt;br /&gt;
|1 ||Early Monorail; See [https://perma.cc/6BVS-2P2X here] and [https://perma.cc/VCG2-ATUA here]&lt;br /&gt;
|-&lt;br /&gt;
|G ||Gyrail; [https://en.wikipedia.org/wiki/Gyro_monorail Gyro monorail/Gyroscopic monorail/Gyro-stabilized monorail] for description and IRL example, and [https://wikimon.net/Trailmon here] ([https://web.archive.org/web/20240227205547/https://wikimon.net/Trailmon archived]) for good fictional examples&lt;br /&gt;
|-&lt;br /&gt;
|m ||Minimum gauge rail; [https://en.wikipedia.org/wiki/Minimum-gauge_railway 15 in (381 mm), 400 mm (15+3⁄4 in), 16 in (406 mm), 18 in (457 mm), 19 in (483 mm), 500 mm (19+3⁄4 in) or 20 in (508 mm)]&lt;br /&gt;
|-&lt;br /&gt;
|n ||600mm &amp;quot;Decauville&amp;quot; or &amp;quot;Feldsbahn&amp;quot;, formerly labelled &amp;quot;NG60&amp;quot; before standardization; the most common narrow gauge track type in OpenTTD other than metre gauge, 600mm gauge is thus ideal for taking up the &amp;quot;n&amp;quot; gauge, though this is an ultimately optional distinction&lt;br /&gt;
|-&lt;br /&gt;
|7 ||750mm, Bosnian gauge (760 mm), and 762mm; all start with 7 and are close in size&lt;br /&gt;
|-&lt;br /&gt;
|3 ||Swedish 3 foot (891 mm), 900mm, 3 foot (914 mm) and Italian Metre (950mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|R ||Metre gauge; potentially compatible with base tramtype &amp;quot;RABN&amp;quot;, most early tramways were metre gauge&lt;br /&gt;
|-&lt;br /&gt;
|4 ||4 foot gauge (1219 mm), and possibly 4&#039;6&amp;quot; in. (1372 mm) if standardization is needed for 1372mm&lt;br /&gt;
|-&lt;br /&gt;
|s ||Scotch gauge (1372 mm)&lt;br /&gt;
|-&lt;br /&gt;
|S ||Standard gauge; already implemented in original standardized railtype scheme, but could include near-standard (1432 mm) as well as existing true standard (1435 mm) and is also potentially compatible with the SABN tramtype&lt;br /&gt;
|-&lt;br /&gt;
|X ||Omni-gauge rail (for at-grade multi-gauge crossings and stations); ultrabroad/secondary broad/primary broad/standard/primary narrow/secondary narrow gauge&lt;br /&gt;
|-&lt;br /&gt;
|x ||Multi-gauge rail (for at-grade multi-gauge crossings and stations); secondary broad/primary broad/standard/primary narrow/secondary narrow&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;+&amp;lt;/nowiki&amp;gt; ||Quad-gauge (Four-gauge) rail (for at-grade multi-gauge crossings and stations); secondary broad/primary broad/standard/primary narrow&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt; ||Four-gauge rail (for at-grade multi-gauge crossings and stations); primary broad/standard/primary narrow/secondary narrow&lt;br /&gt;
|-&lt;br /&gt;
|b ||Broad gauge rail - As broad gauge is a rare tracktype, it may still be feasible to cement B and b as broad gauges of two differing sizes, but the rarity among gauges in the real world would need to match; Italian (1445 mm) and Dresden (1450 mm) gauges may be better grouped here&lt;br /&gt;
|-&lt;br /&gt;
|t ||Leipzig trams (1458 mm) and Greater Toronto Area streetcars (1495 mm)&lt;br /&gt;
|-&lt;br /&gt;
|5 ||1520mm and 5 foot (1524 mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|V ||Pennsylvanian (1581 mm and 1588 mm) and Australian &amp;quot;Victorian&amp;quot; (1600 mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|6 ||6 foot (1829 mm) broad gauge&lt;br /&gt;
|-&lt;br /&gt;
|g ||Brunel&#039;s Great Western Railway gauge (2140 mm)&lt;br /&gt;
|-&lt;br /&gt;
|B ||Biggest Broad gauge rail - As broad gauge is a rare tracktype, and the variation in common real life track types too wide, it may be desirable to cement B and b as broad gauges of two differing sizes; With no real life examples that match the usage frequency of &amp;quot;B&amp;quot;, the gauge might best draw inspiration from the infamous [https://en.wikipedia.org/wiki/Breitspurbahn Breitspurbahn] (3000 mm) and [https://perma.cc/KQ2Z-5RCR the never-built vehicles designed for it], or from the [https://en.wikipedia.org/wiki/Brighton_and_Rottingdean_Seashore_Electric_Railway Brighton &amp;amp; Rottingdean Seashore Electric Railway] (18 ft/5,486 mm) &lt;br /&gt;
|-&lt;br /&gt;
|L ||Maglevs that have a u-shaped track&lt;br /&gt;
|-&lt;br /&gt;
|T ||Maglevs that have a monorail track&lt;br /&gt;
|-&lt;br /&gt;
|F ||Flightrail; A [https://web.archive.org/web/20231213122530/http://www.flightrail.com/ system capable of high speeds and steep hill grades] that uses a pneumatic pipe for propulsion (see &amp;quot;P&amp;quot; under energy sources), and &#039;&#039;wheels pointed inwards at a 45-degree angle&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
It might be preferred to instead use/keep &amp;quot;B&amp;quot; for &amp;quot;all (current) broad gauges&amp;quot; (mostly Victorian gauge) instead using lowercase &amp;quot;b&amp;quot; for Brunel/GWR broad gauge. This wouldn&#039;t be to different from narrow gauge since the lesser used ones are lowercase and fallback to the uppercase ones.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Electrification !!Fallback&lt;br /&gt;
|-&lt;br /&gt;
|S ||Maglevs that use a synchronous linear motor ||N/A&lt;br /&gt;
|-&lt;br /&gt;
|I ||Maglevs that use a linear induction motor ||MGLV (the whole label)&lt;br /&gt;
|-&lt;br /&gt;
|V ||Vactrains/Hyperloop ||t, then I, then MGLV (the whole label)&lt;br /&gt;
|-&lt;br /&gt;
|t ||&amp;quot;Universal custom tunnel&amp;quot; (for electrified sub-surface rail tunnels) ||E (mandatory)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt; ||Universal energy type (&#039;&#039;not&#039;&#039; meant to replace &amp;quot;***N&amp;quot;; use for vehicles such as driving cabs which cannot move under their own power regardless, if desired) ||N/A (Be sure to put &amp;quot;***E&amp;quot; in the [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]] of a &amp;quot;***-&amp;quot; label)&lt;br /&gt;
|-&lt;br /&gt;
|P ||Pneumatic tube with physical piston slit, or closed pneumatic tube with magnetic piston (i.e. that used by [https://web.archive.org/web/20231213122530/http://www.flightrail.com/ Flightrail]) ||N/A&lt;br /&gt;
|-&lt;br /&gt;
|p ||Pneumatic and universal electrical power ||N/A (Be sure to put &amp;quot;***_&amp;quot; and ***P&amp;quot; in the [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]] of a &amp;quot;***p&amp;quot; label)&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Lurkmore</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=Standardized_Railtype_Scheme&amp;diff=4739</id>
		<title>Standardized Railtype Scheme</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=Standardized_Railtype_Scheme&amp;diff=4739"/>
		<updated>2024-02-27T23:19:32Z</updated>

		<summary type="html">&lt;p&gt;Lurkmore: /* Possible additions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This railtype label scheme aims to bring order to the uncontrolled growth of railtype labels. It groups the rail types into what matters from a technical perspective. The scheme provides a standardized way of defining railtype labels, based on track gauge and type, speed class, allowable axle weight and electrification type.&lt;br /&gt;
&lt;br /&gt;
It is the explicit intent of this scheme to decouple track sets from vehicle sets to facilitate easy mixing. This way the player can select a track set of choice to go with a train set of choice. It allows the player to play with or without axle load classes, or with or without speed limit classes, simply by loading a track set that does or does not provide these features. In some cases it will also be possible to combine niche track sets, for instance a standard gauge track set with a narrow gauge and a metro track set.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== The Label Scheme ==&lt;br /&gt;
A railtype label consists of four characters. In this scheme, each position has a different purpose:&lt;br /&gt;
# Track gauge and type class (e.g. standard gauge rail, narrow gauge rail, monorail)&lt;br /&gt;
# Speed limit class&lt;br /&gt;
# Axle load class (maximum allowed axle weight for this track)&lt;br /&gt;
# Energy source type class&lt;br /&gt;
&lt;br /&gt;
In the next sections, each of the four positions will be explained.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Track gauge and type class [X***] ===&lt;br /&gt;
The first position in the railtype label defines track gauge and/or track type class. The following classes are currently defined:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Track type/gauge&lt;br /&gt;
|- &lt;br /&gt;
|S ||Standard gauge rail&lt;br /&gt;
|-&lt;br /&gt;
|B ||Broad gauge rail &lt;br /&gt;
|-&lt;br /&gt;
|N ||Narrow gauge rail&lt;br /&gt;
|-&lt;br /&gt;
|n ||Secondary narrow gauge rail (e.g. when providing both metre and cape gauge, always use N in case of just one type of narrow gauge)&lt;br /&gt;
|-&lt;br /&gt;
|D ||Dual gauge rail, standard/broad gauge&lt;br /&gt;
|-&lt;br /&gt;
|d ||Dual gauge rail, standard/narrow gauge&lt;br /&gt;
|-&lt;br /&gt;
|M ||Monorail&lt;br /&gt;
|-&lt;br /&gt;
|L ||Magnetic Levitation&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Speed limit class [*X**] ===&lt;br /&gt;
The second position in the railtype label defines the speed limit class. These classes do not map to a fixed numeric value, but are used to define an internal speed limit order for the track set. This means that if your track set has two different speed limits for track types that are otherwise identical, you&#039;ll use letters A and B here. In case of three different speed limits, use A, B and C. In case your track set does not employ speed limits, always use A. Train sets do not care about the speed limit, and will always set the lowest speed class, i.e. A.&lt;br /&gt;
&lt;br /&gt;
This gives for instance the following options:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||no speed limits&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;OR&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||low speed&lt;br /&gt;
|-&lt;br /&gt;
|B ||high speed&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;OR&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||low speed&lt;br /&gt;
|-&lt;br /&gt;
|B ||medium speed&lt;br /&gt;
|-&lt;br /&gt;
|C ||high speed&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;etc.&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear:left;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The speed limit class may also be used for some advanced features of the label scheme, like specialized track types and eyecandy purposes. Be careful not to break the compatibility with other sets when using the speed limit class for these purposes.&lt;br /&gt;
&lt;br /&gt;
An example of a special use is rack rail. In the French set it is used to give rack rail engines a higher speed and TE than normal rail engines when used on rack rail. When defining trains with a special speed limit class, always allow a fallback to speed limit class A via the railtype table.&lt;br /&gt;
&lt;br /&gt;
An example of eyecandy use are urban tracks. These are a variation of regular tracks, but with concrete ground tiles to better match the urban environment. Train sets must not define vehicles for eyecandy classes. If you think you have special vehicles that should only run on the eyecandy class, it is &#039;&#039;not&#039;&#039; eyecandy but a separate track gauge/type.&lt;br /&gt;
&lt;br /&gt;
The following special and eyecandy classes have been defined so far:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Description !!Type !!Used by&lt;br /&gt;
|- &lt;br /&gt;
|A-H ||speed limits ||colspan=&amp;quot;2&amp;quot;|reserved&lt;br /&gt;
|- &lt;br /&gt;
|R ||rack rail ||special ||French Set Rails &lt;br /&gt;
|- &lt;br /&gt;
|S ||subterranean ||eyecandy ||Metro Track Set&lt;br /&gt;
|- &lt;br /&gt;
|U ||urban ||eyecandy ||Metro Track Set&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Axle load class [**X*] ===&lt;br /&gt;
The third position defines the axle weight limit. Heavy trains cannot run on tracks with a low axle weight limit; these trains need more expensive tracks with a heigher weight limit. There are five axle load classes &#039;&#039;&#039;A&#039;&#039;&#039; through &#039;&#039;&#039;E&#039;&#039;&#039;. &#039;&#039;&#039;A&#039;&#039;&#039; is for the lowest axle load limit, &#039;&#039;&#039;E&#039;&#039;&#039; for the highest. The exact axle load attached to each class is relative to the track gauge/type and trains in the set. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A train set should set the appropriate axle weight for each train via the railtype label, as to make the set work with track sets that do provide tracks with different weight limits, even if you don&#039;t care about it for your trainset. Split all vehicles of a certain track gauge/type into five groups of similar axle weight. The group with the lowest axle weights will get class &#039;&#039;&#039;A&#039;&#039;&#039;, the second lowest class &#039;&#039;&#039;B&#039;&#039;&#039;, etc. up to the group with the highest axle weights which will get class &#039;&#039;&#039;E&#039;&#039;&#039;. Do the same for the other track gauge/types if your train set has those.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A track set does not have to provide a dedicated track type for each axle weight limit. A track set that does not provide a dedicated track for each axle load class, must make sure to map all undefined axle load classes to a real railtype using property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]]. This way a train set can rely on all labels for all axle load classes being available. Example: if you only want to provide 2 axle load classes for standard gauge unelectrified with no speed limits, you can map SA&#039;&#039;&#039;A&#039;&#039;&#039;N + SA&#039;&#039;&#039;B&#039;&#039;&#039;N to SA&#039;&#039;&#039;C&#039;&#039;&#039;N and SA&#039;&#039;&#039;D&#039;&#039;&#039;N to SA&#039;&#039;&#039;E&#039;&#039;&#039;N if the cost difference between the two railtypes is high, or SA&#039;&#039;&#039;A&#039;&#039;&#039;N to SA&#039;&#039;&#039;B&#039;&#039;&#039;N and SA&#039;&#039;&#039;C&#039;&#039;&#039;N + SA&#039;&#039;&#039;D&#039;&#039;&#039;N to SA&#039;&#039;&#039;E&#039;&#039;&#039;N if the cost difference is low.&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t want to provide any axle load classes in your track set, it doesn&#039;t really matter what axle load class you choose for the track, as you&#039;ll be mapping all other classes to this track anyways. But the lowest or highest class are the obvious choice. Example: if your track set only provides narrow gauge unelectrified track with no speed limits and no axle load limits, you may use NA&#039;&#039;&#039;A&#039;&#039;&#039;N for the track label, and provide NA&#039;&#039;&#039;B&#039;&#039;&#039;N, NA&#039;&#039;&#039;C&#039;&#039;&#039;N, NA&#039;&#039;&#039;D&#039;&#039;&#039;N, NA&#039;&#039;&#039;E&#039;&#039;&#039;N in property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you need more than five axle load class, you may use lowercase letters for very low axle loads and continue the uppercase letters for very high axle loads. Be advised that your train set may not assume the existance of any other class than &#039;&#039;&#039;A&#039;&#039;&#039; through &#039;&#039;&#039;E&#039;&#039;&#039;, so when the range make sure to program your railtype table such that trains with such a class will fall back to class &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;E&#039;&#039;&#039;. If you make a track set with an extended range, be aware that not all train sets will define trains for these tracks. In general: only do this in case of a train set with a matching track set.&lt;br /&gt;
&lt;br /&gt;
For the lowercase letters, &#039;&#039;&#039;b&#039;&#039;&#039; is lower than &#039;&#039;&#039;a&#039;&#039;&#039;, so for increasing axle load limits: b &amp;lt; a &amp;lt; A &amp;lt; B &amp;lt; C etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that the axle load classes never map to a specific weight in tonnes. For that reason it does not make sense to add a numeric value for the axle load to the name of a track type or in the extended purchase info of a train. Instead use the relative expressions &#039;very low&#039;, &#039;low&#039;, &#039;medium&#039;, &#039;high&#039; and &#039;very high&#039; or use the class letters directly.&lt;br /&gt;
&lt;br /&gt;
=== Energy source type class [***X] ===&lt;br /&gt;
The last position defines the energy source type class. This is split in generic energy source types like overhead wires and third rail and specialized types like alternating and direct current.&lt;br /&gt;
&lt;br /&gt;
A track set that only uses specialized types, should map the generic types to the most suitable specialized type in the set.&lt;br /&gt;
&lt;br /&gt;
A vehicle set that uses specialized types should define a generic type as fallback, via the railtype table. If such a fallback is omitted, please note that certain vehicles may be unavailable depending on track set loaded.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Generic energy type classes&lt;br /&gt;
|-&lt;br /&gt;
|N ||no electrification&lt;br /&gt;
|-&lt;br /&gt;
|E ||overhead wires/catenary electrification&lt;br /&gt;
|-&lt;br /&gt;
|3 ||3rd rail electrification&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Specialized energy type classes !!Vehicle set fallback&lt;br /&gt;
|-&lt;br /&gt;
|Z ||3rd rail and catenary electrification || 3 or E&lt;br /&gt;
|-&lt;br /&gt;
|4 ||4th rail electrification || 3&lt;br /&gt;
|-&lt;br /&gt;
|Y ||4th rail and catenary electrification || 4 or E&lt;br /&gt;
|-&lt;br /&gt;
|T ||[http://en.wikipedia.org/wiki/Three-phase_AC_railway_electrification three phase AC electrification] || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|D ||DC catenary electrification || E&lt;br /&gt;
|-&lt;br /&gt;
|d ||low voltage DC catenary electrification (only when D also used in set) || First A then E&lt;br /&gt;
|-&lt;br /&gt;
|A ||AC catenary electrification || E&lt;br /&gt;
|-&lt;br /&gt;
|a ||low voltage AC catenary electrification (only when A also used in set) || First A then E&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
If you want multi-voltage/current vehicles in your set (i.e. a train that can run on both AC and DC current), you have to define a dedicated railtype for those vehicles. Without the railtype, it&#039;s not possible to define vehicles with this property. If you only have vehicles that can run on either one type of voltage/current or on all types of voltage/current (e.g. a 2-system if you only have &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;D&#039;&#039;&#039; tracks, or a 4-system in case of all &#039;&#039;&#039;A&#039;&#039;&#039;, &#039;&#039;&#039;a&#039;&#039;&#039;, &#039;&#039;&#039;D&#039;&#039;&#039; and &#039;&#039;&#039;d&#039;&#039;&#039;), then use the generic class &#039;&#039;&#039;E&#039;&#039;&#039; for vehicles that should be able to run on all different voltage/currents. Also the track set needs to have one at least one railtype with class &#039;&#039;&#039;E&#039;&#039;&#039; defined.&lt;br /&gt;
&lt;br /&gt;
Note that if you want more than one type of multi-voltage/current, you&#039;ll quickly get a combinatory explosion of railtype labels, so plan carefully or do not attempt it. For every different multi-voltage/current vehicle type a dedicated railtype is needed. If you want all possible combinations, then you need to define an additional 8 classes. It is not recommended to make your train/track set this complicated.&lt;br /&gt;
&lt;br /&gt;
Example approach for a 4-system set, with trains that can run on either one or all systems:&lt;br /&gt;
* &#039;&#039;&#039;E&#039;&#039;&#039;: generic catenary-powered electric engines. &amp;quot;universal&amp;quot; [4-system] if any of &#039;&#039;&#039;D&#039;&#039;&#039;/&#039;&#039;&#039;d&#039;&#039;&#039;/&#039;&#039;&#039;A&#039;&#039;&#039;/&#039;&#039;&#039;a&#039;&#039;&#039; are defined.&lt;br /&gt;
* &#039;&#039;&#039;A&#039;&#039;&#039;: generic AC catenary electric engines. 25kV only if &#039;&#039;&#039;a&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;A&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;a&#039;&#039;&#039;: 15kV AC catenary electric engines. Only defined if &#039;&#039;&#039;A&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;a&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;D&#039;&#039;&#039;: generic DC catenary electric engines. 3kV if &#039;&#039;&#039;d&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;D&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;d&#039;&#039;&#039;: 1.5kV DC catenary electric engines. Only defined if &#039;&#039;&#039;D&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;D&#039;&#039;&#039; and &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;d&#039;&#039;&#039;.&lt;br /&gt;
For a 2-system set, you can simply drop &#039;&#039;&#039;a&#039;&#039;&#039; and &#039;&#039;&#039;d&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Standard labels: RAIL, ELRL, MONO, MGLV ===&lt;br /&gt;
It&#039;s not possible to undefine the standard railtypes RAIL, ELRL, MONO and MGLV. The game will always add those if there are vehicles defined for these track types. As a result, for a track set it&#039;s best not to ignore those standard labels, but rather work with them and define them in the set. If your track set does not have monorail or maglev tracks, there of course is no need to define those. But if your track set defines anything that resembles unelectrified or electrified rail, you should use the RAIL and ELRL labels. Matching labels from the above scheme will then be defined in property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
As vehicles from NewGRFs that do not use explicit railtypes will end up on these standard railtypes, you should use RAIL instead of whatever type could be regarded as the most commonly used unelectrified type, ELRL instead of the most commonly used electrified type and so on. The label according to this scheme is then set as an alternate.&lt;br /&gt;
&lt;br /&gt;
== Summary for track sets ==&lt;br /&gt;
This section summarizes the above for track sets.&lt;br /&gt;
&lt;br /&gt;
; [X***] Track gauge and type class&lt;br /&gt;
* Define at least one track type for every track gauge/type class you want in your set.&lt;br /&gt;
* If you only provide tracks for one gauge/type, consider leaving some free railtypes so a player can load an additional set for some other type.&lt;br /&gt;
; [*X**] Speed limit class&lt;br /&gt;
* Make sure class A is always available, either directly or via an alternate label.&lt;br /&gt;
* Use only class A if you don&#039;t want speed limits;&lt;br /&gt;
* With speed limits, A is the lowest speed limit. Continue with B, C, etc. for increasing speed limits;&lt;br /&gt;
* The speed class can also be used to implement additional eye-candy track types, use letters higher in the alphabet for this.&lt;br /&gt;
; [**X*] Axle load class&lt;br /&gt;
* Always define all classes A through E for every track type class / electrification combination, either:&lt;br /&gt;
** Directly via a real railtype definition;&lt;br /&gt;
** Indirectly via the alternate rail type label list, property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
* Extend the predefined classes only if you also provide a train set that makes use of these.&lt;br /&gt;
; [***X] Energy source type class&lt;br /&gt;
* If your set only uses specialized classes, always map the generic classes to the closest matching specialized type via property 1D.&lt;br /&gt;
; Standard labels [RAIL, ELRL, MONO, MGLV]&lt;br /&gt;
* Always define the standard labels when possible, instead of what would be the equivalent of the standard label in this scheme.&lt;br /&gt;
* Map the equivalent labels from this scheme to the standard labels using property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
Or, put differently, for each gauge/type, select one or more energy source types. For each type/energy combination provide all axle load classes for the speed class &amp;quot;A&amp;quot;, either as a real type or as an alternate of another type. Provide more types with a different speed letter if you want to provide several different speeds or other eye-candy tracks.&lt;br /&gt;
&lt;br /&gt;
== Summary for train sets ==&lt;br /&gt;
This section summarizes the above for train sets.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; [X***] Track gauge and type class&lt;br /&gt;
* Use the track type class that matches the vehicle;&lt;br /&gt;
* Define a fallback type via the railtype table in case you want the vehicle to be available on a different track if no matching track set is loaded.&lt;br /&gt;
** Specialized subtypes like &amp;quot;n&amp;quot; might not always be available. If you want those vehicles to be still available then, fall back the the generic class (e.g. &amp;quot;N&amp;quot;).&lt;br /&gt;
; [*X**] Speed limit class &lt;br /&gt;
* Always use class A for every vehicle.&lt;br /&gt;
; [**X*] Axle load class&lt;br /&gt;
* Use all classes A through E according to the maximum axle weight of the vehicle.&lt;br /&gt;
* Extend the predefined classes only if you also provide a track set that makes use of these;&lt;br /&gt;
** When extending the predefined classes A through E, define a fallback type via the railtype table in case you want the vehicle to be available if no matching track set is loaded.&lt;br /&gt;
; [***X] Energy source type class&lt;br /&gt;
* Use the energy source type class that matches the vehicle;&lt;br /&gt;
* When using specialized classes, define a fallback type via the railtype table in case you want the vehicle to be available if no matching track set is loaded.&lt;br /&gt;
; Standard labels [RAIL, ELRL, MONO, MGLV]&lt;br /&gt;
* Define a fallback type to the standard labels via the railtype table in case you want the vehicle to be available on the standard tracks if no matching track set is loaded.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Be as specific as you want when selecting the railtype, it is the job of the track set to select a playable, reduced subset out of all possible type combinations.&lt;br /&gt;
&lt;br /&gt;
== In case you&#039;re not convinced by this scheme ==&lt;br /&gt;
Adopting this scheme gives the player freedom to use any track set in combination with any train set that follow the scheme. &lt;br /&gt;
&lt;br /&gt;
This means that you can make your train set compatible with track sets that provide axle load classes, and track sets that provide speed limits, and at the same time with track sets that provide none of this. This way, the player can decide to play with or without axle load classes, or with or without speed limits, simply by loading a track set that does or does not provide these features.&lt;br /&gt;
&lt;br /&gt;
And for your track set, it means that you can make it as simple or as complicated as you want (within the 64 track type limit), while not having to worry about compatibility with train sets.&lt;br /&gt;
&lt;br /&gt;
Still not convinced? Feel free to use railtype labels of your own, but know that you will likely come to regret that at some point in the future.&lt;br /&gt;
&lt;br /&gt;
==Forum topic==&lt;br /&gt;
If you want to discuss the standardized railtype scheme or have any questions about it, you can visit [http://www.tt-forums.net/viewtopic.php?t=59379 the forum topic].&lt;br /&gt;
&lt;br /&gt;
==&amp;quot;Innsbruck 2022 Convention&amp;quot; for partial compliance==&lt;br /&gt;
&lt;br /&gt;
This is really esoteric, but eh. It was the product of long discussion / debate / argument / reasoning between grf authors.&lt;br /&gt;
&lt;br /&gt;
1. The Standardized Railtype Scheme &#039;&#039;&#039;is a useful tool&#039;&#039;&#039; for providing reliable compatibility between train grfs and railtype grfs.&lt;br /&gt;
&lt;br /&gt;
2. The &#039;&#039;&#039;axle load class&#039;&#039;&#039; in the scheme presents a number of issues for compliance.&lt;br /&gt;
&lt;br /&gt;
2.1. Over 10 years since the scheme was standardised, not many train grfs implement multiple axle load classes &#039;&#039;&#039;as required by the scheme&#039;&#039;&#039;.  Known examples that &#039;&#039;&#039;do&#039;&#039;&#039; comply include Dutch Train Set, French Narrow Gauge Trains, and Finnish Trains.&lt;br /&gt;
&lt;br /&gt;
2.2. Elements of the axle load rules have proven hard to interpret.  For example:&lt;br /&gt;
&lt;br /&gt;
* is it compliant to use &#039;&#039;fewer&#039;&#039; than 5 classes in a train grf?  There is a lack of consensus on this.&lt;br /&gt;
* axle load is only one of many factors that govern whether a vehicle is compatible with a route, for example loading gauge, minimum curve, signalling types etc&lt;br /&gt;
&lt;br /&gt;
2.3. Meanwhile &#039;&#039;multiple existing train grfs use class &#039;&#039;A&#039;&#039; for the axle load for all trains&#039;&#039; (except where relying on default railtypes such as RAIL and ELRL).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3. The Innsbruck 2022 Convention uses class &#039;&#039;A&#039;&#039; for axle load for &#039;&#039;&#039;all&#039;&#039;&#039; trains in a train grf (except where relying on default railtypes such as RAIL and ELRL).&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is &#039;&#039;&#039;not&#039;&#039;&#039; fully compliant with the Standardized Railtype Scheme and does not claim to be.&lt;br /&gt;
&lt;br /&gt;
However train grfs using the Innsbruck 2022 Convention are &#039;&#039;broadly compatible&#039;&#039; with railtype grfs using the Standardized Railtype Scheme.  &lt;br /&gt;
&lt;br /&gt;
Obligatory XKCD link about &#039;standards&#039;: https://xkcd.com/927/&lt;br /&gt;
&lt;br /&gt;
===Known issues===&lt;br /&gt;
&lt;br /&gt;
Known problems are that trains using only class &#039;A&#039; may limit the ability of railtype grf authors to achieve their design goals for separating railtypes by axle load.  &lt;br /&gt;
But on reflection, it can be seen that a train grf might not be able to provide a broad enough range of vehicles to cover at least 5 axle load classes.&lt;br /&gt;
&lt;br /&gt;
3.1. The Innsbruck 2022 Convention is &#039;&#039;&#039;not&#039;&#039;&#039; appropriate for train grf authors who wish to provide more than one axle load class.&lt;br /&gt;
&lt;br /&gt;
3.2. The Innsbruck 2022 Convention treats the meaning of class &#039;&#039;A&#039;&#039; as &#039;&#039;undefined&#039;&#039;, &#039;&#039;ignored&#039;&#039; or &#039;&#039;compatible with most restricted railtype&#039;&#039; for axle load.  &lt;br /&gt;
&lt;br /&gt;
Axle load class &#039;&#039;A&#039;&#039; &#039;&#039;&#039;cannot&#039;&#039;&#039; be safely interpreted as &#039;&#039;universal&#039;&#039; because from the perspective of a railtype grf &#039;&#039;A&#039;&#039; is &#039;&#039;most restricted railtype&#039;&#039;, where &#039;&#039;universal&#039;&#039; is better represented as &#039;&#039;least restricted railtype&#039;&#039;. Depending how many axle load classes are in use by the railtype grf, this could be class &#039;&#039;B&#039;&#039;, &#039;&#039;C&#039;&#039;, &#039;&#039;D&#039;&#039;, &#039;&#039;E&#039;&#039; etc.  To illustrate this issue, take the following scenario&lt;br /&gt;
&lt;br /&gt;
* railtype grf defines axle loads &#039;&#039;A&#039;&#039; to &#039;&#039;E&#039;&#039;. In this case the railtype grf author intends that &#039;&#039;A&#039;&#039; is compatible with the smallest range of vehicles, &#039;&#039;E&#039;&#039; is compatible with the largest range of vehicles, and &#039;&#039;B&#039;&#039;, &#039;&#039;C&#039;&#039; and &#039;&#039;D&#039;&#039; are compatible with some intermediate ranges of vehicles&lt;br /&gt;
* but the vehicle grf author has defined all vehicles to be axle load &#039;&#039;A&#039;&#039; in an attempt to express this vehicle is &#039;&#039;universal&#039;&#039;.  The result in the game is that an identical range of vehicles will be compatible with railtypes &#039;&#039;A&#039;&#039; to &#039;&#039;E&#039;&#039;.  &lt;br /&gt;
&lt;br /&gt;
This is clearly &#039;&#039;&#039;not&#039;&#039;&#039; the intended outcome of the railtype author. But nor is it clear within the spec that the vehicle author has particularly done anything wrong. &lt;br /&gt;
&lt;br /&gt;
It &#039;&#039;would&#039;&#039; be possible to use railtype availability testing to adjust the vehicle property 05 (track_type) to fit the highest defined axle load (&#039;&#039;E&#039;&#039; in this example case), but this is not insignificant work, and it&#039;s unlikely to be widely adopted by vehicle grf authors.  Nor would this solution achieve &#039;&#039;universal&#039;&#039; as all vehicles in vehicle grf then would be incompatible with types &#039;&#039;A&#039;&#039; through &#039;&#039;D&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
3.3. When the Innsbruck 2022 Convention is used, this &#039;&#039;&#039;does not prevent&#039;&#039;&#039; a train grf being extended in some future release to achieve full compliance with Standardized Railtype Scheme. &#039;&#039;That choice remains with train grf authors&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
3.4. If 2012 could be revisited, providing an optional &#039;&#039;_&#039;&#039; axle load class in the Standardized Railtype Scheme for &#039;&#039;undefined&#039;&#039; would have been preferable, but as of 2022, &#039;&#039;A&#039;&#039; is already widely used for this purpose, and time travel is not known to be possible.&lt;br /&gt;
&lt;br /&gt;
==Extended multivoltage support addition==&lt;br /&gt;
These are extensions to the energy source type class currently supported by SETS and xUSSR Rails which allow trainsets to code trains which are limited to a certain selection of voltages. As stated in the energy source type class section this might not be of use for all sets, as such it is optional but still recommended for trainsets for ideal functionality with tracksets which support the extended labels.&lt;br /&gt;
{|&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Specialized energy type classes !!Vehicle set fallback&lt;br /&gt;
|-&lt;br /&gt;
|* ||Equivilent to A, a, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|&#039; ||Equivilent to A, a and D || E&lt;br /&gt;
|-&lt;br /&gt;
|^ ||Equivilent to A, a and d || E&lt;br /&gt;
|-&lt;br /&gt;
|_ ||Equivilent to A, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
|, ||Equivilent to a, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|$ ||Equivilent to A and a  || First A then E&lt;br /&gt;
|-&lt;br /&gt;
|= ||Equivilent to D and d  || First D then E&lt;br /&gt;
|-&lt;br /&gt;
|) ||Equivilent to A and D  || E&lt;br /&gt;
|-&lt;br /&gt;
|( ||Equivilent to A and d  || E&lt;br /&gt;
|-&lt;br /&gt;
|] ||Equivilent to a and D  || E&lt;br /&gt;
|-&lt;br /&gt;
|[ ||Equivilent to a and d  || E&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Possible additions==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Track type/gauge&lt;br /&gt;
|-&lt;br /&gt;
|_ ||Universal &amp;quot;cheat&amp;quot; rail; ALWAYS add &amp;quot;_A_-&amp;quot; and &amp;quot;_A_N&amp;quot; to EVERY [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]] (as well as the equivalent electrified/pneumatic railtype that is powered on your electrified/pneumatic railtype to support it if you are making a new railtype set, older sets can be covered by fix or patch grfs) and &amp;quot;_A_t&amp;quot; to EVERY [[NML:Railtypes#Railtype_properties|powered_railtype_list (NML)]]&lt;br /&gt;
|-&lt;br /&gt;
|0 ||(A number zero, not a letter &amp;quot;Oh&amp;quot;) No track, eyecandy-use only&lt;br /&gt;
|-&lt;br /&gt;
|U ||[https://perma.cc/93VE-8JQZ &amp;quot;Ukrainian monorail&amp;quot; or Şaropoí̈zd (Шаропоїзд)], a u-shaped concrete &amp;quot;monorail trench&amp;quot; from 1920&#039;s Soviet Union; see [https://www.tt-forums.net/viewtopic.php?f=26&amp;amp;t=47432 the Yarmanchuk Express] for graphics&lt;br /&gt;
|-&lt;br /&gt;
|1 ||Early Monorail; See [https://perma.cc/6BVS-2P2X here] and [https://perma.cc/VCG2-ATUA here]&lt;br /&gt;
|-&lt;br /&gt;
|G ||Gyrail; [https://en.wikipedia.org/wiki/Gyro_monorail Gyro monorail/Gyroscopic monorail/Gyro-stabilized monorail] for description and IRL example, and [https://wikimon.net/Trailmon here] ([https://web.archive.org/web/20240227205547/https://wikimon.net/Trailmon archived]) for good fictional examples&lt;br /&gt;
|-&lt;br /&gt;
|m ||Minimum gauge rail; [https://en.wikipedia.org/wiki/Minimum-gauge_railway 15 in (381 mm), 400 mm (15+3⁄4 in), 16 in (406 mm), 18 in (457 mm), 19 in (483 mm), 500 mm (19+3⁄4 in) or 20 in (508 mm)]&lt;br /&gt;
|-&lt;br /&gt;
|n ||600mm &amp;quot;Decauville&amp;quot; or &amp;quot;Feldsbahn&amp;quot;, formerly labelled &amp;quot;NG60&amp;quot; before standardization; the most common narrow gauge track type in OpenTTD other than metre gauge, 600mm gauge is thus ideal for taking up the &amp;quot;n&amp;quot; gauge, though this is an ultimately optional distinction&lt;br /&gt;
|-&lt;br /&gt;
|7 ||750mm, Bosnian gauge (760 mm), and 762mm; all start with 7 and are close in size&lt;br /&gt;
|-&lt;br /&gt;
|3 ||Swedish 3 foot (891 mm), 900mm, 3 foot (914 mm) and Italian Metre (950mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|R ||Metre gauge; potentially compatible with base tramtype &amp;quot;RABN&amp;quot;, most early tramways were metre gauge&lt;br /&gt;
|-&lt;br /&gt;
|4 ||4 foot gauge (1219 mm), and possibly 4&#039;6&amp;quot; in. (1372 mm) if standardization is needed for 1372mm&lt;br /&gt;
|-&lt;br /&gt;
|s ||Scotch gauge (1372 mm)&lt;br /&gt;
|-&lt;br /&gt;
|S ||Standard gauge; already implemented in original standardized railtype scheme, but could include near-standard (1432 mm) as well as existing true standard (1435 mm) and is also potentially compatible with the SABN tramtype&lt;br /&gt;
|-&lt;br /&gt;
|X ||Omni-gauge rail (for at-grade multi-gauge crossings and stations); ultrabroad/secondary broad/primary broad/standard/primary narrow/secondary narrow gauge&lt;br /&gt;
|-&lt;br /&gt;
|x ||Multi-gauge rail (for at-grade multi-gauge crossings and stations); secondary broad/primary broad/standard/primary narrow/secondary narrow&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;+&amp;lt;/nowiki&amp;gt; ||Quad-gauge (Four-gauge) rail (for at-grade multi-gauge crossings and stations); secondary broad/primary broad/standard/primary narrow&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt; ||Four-gauge rail (for at-grade multi-gauge crossings and stations); primary broad/standard/primary narrow/secondary narrow&lt;br /&gt;
|-&lt;br /&gt;
|b ||Broad gauge rail - As broad gauge is a rare tracktype, it may still be feasible to cement B and b as broad gauges of two differing sizes, but the rarity among gauges in the real world would need to match; Italian (1445 mm) and Dresden (1450 mm) gauges may be better grouped here&lt;br /&gt;
|-&lt;br /&gt;
|t ||Leipzig trams (1458 mm) and Greater Toronto Area streetcars (1495 mm)&lt;br /&gt;
|-&lt;br /&gt;
|5 ||1520mm and 5 foot (1524 mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|V ||Pennsylvanian (1581 mm and 1588 mm) and Australian &amp;quot;Victorian&amp;quot; (1600 mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|6 ||6 foot (1829 mm) broad gauge&lt;br /&gt;
|-&lt;br /&gt;
|g ||Brunel&#039;s Great Western Railway gauge (2140 mm)&lt;br /&gt;
|-&lt;br /&gt;
|B ||Biggest Broad gauge rail - As broad gauge is a rare tracktype, and the variation in common real life track types too wide, it may be desirable to cement B and b as broad gauges of two differing sizes; With no real life examples that match the usage frequency of &amp;quot;B&amp;quot;, the gauge might best draw inspiration from the infamous [https://en.wikipedia.org/wiki/Breitspurbahn Breitspurbahn] (3000 mm) and [https://perma.cc/KQ2Z-5RCR the never-built vehicles designed for it], or from the [https://en.wikipedia.org/wiki/Brighton_and_Rottingdean_Seashore_Electric_Railway Brighton &amp;amp; Rottingdean Seashore Electric Railway] (18 ft/5,486 mm) &lt;br /&gt;
|-&lt;br /&gt;
|L ||Maglevs that have a u-shaped track&lt;br /&gt;
|-&lt;br /&gt;
|T ||Maglevs that have a monorail track&lt;br /&gt;
|-&lt;br /&gt;
|F ||Flightrail; A [https://web.archive.org/web/20231213122530/http://www.flightrail.com/ system capable of high speeds and steep hill grades] that uses a pneumatic pipe for propulsion (see &amp;quot;P&amp;quot; under energy sources), and &#039;&#039;wheels pointed inwards at a 45-degree angle&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
It might be preferred to instead use/keep &amp;quot;B&amp;quot; for &amp;quot;all (current) broad gauges&amp;quot; (mostly Victorian gauge) instead using lowercase &amp;quot;b&amp;quot; for Brunel/GWR broad gauge. This wouldn&#039;t be to different from narrow gauge since the lesser used ones are lowercase and fallback to the uppercase ones.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Electrification !!Fallback&lt;br /&gt;
|-&lt;br /&gt;
|S ||Maglevs that use a synchronous linear motor ||N/A&lt;br /&gt;
|-&lt;br /&gt;
|I ||Maglevs that use a linear induction motor ||MGLV (the whole label)&lt;br /&gt;
|-&lt;br /&gt;
|V ||Vactrains/Hyperloop ||t, then I, then MGLV (the whole label)&lt;br /&gt;
|-&lt;br /&gt;
|t ||&amp;quot;Universal custom tunnel&amp;quot; (for electrified sub-surface rail tunnels) ||E (mandatory)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt; ||Universal energy type (&#039;&#039;not&#039;&#039; meant to replace &amp;quot;***N&amp;quot;; use for vehicles such as driving cabs which cannot move under their own power regardless, if desired) ||N/A (Be sure to put &amp;quot;***E&amp;quot; in the [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]] of a &amp;quot;***-&amp;quot; label)&lt;br /&gt;
|-&lt;br /&gt;
|P ||Pneumatic tube with physical piston slit, or closed pneumatic tube with magnetic piston (i.e. that used by [https://web.archive.org/web/20231213122530/http://www.flightrail.com/ Flightrail]) ||N/A&lt;br /&gt;
|-&lt;br /&gt;
|p ||Pneumatic and universal electrical power ||N/A (Be sure to put &amp;quot;***_&amp;quot; and ***P&amp;quot; in the [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]] of a &amp;quot;***p&amp;quot; label)&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Lurkmore</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=Standardized_Railtype_Scheme&amp;diff=4738</id>
		<title>Standardized Railtype Scheme</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=Standardized_Railtype_Scheme&amp;diff=4738"/>
		<updated>2024-02-27T23:01:38Z</updated>

		<summary type="html">&lt;p&gt;Lurkmore: /* Possible additions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This railtype label scheme aims to bring order to the uncontrolled growth of railtype labels. It groups the rail types into what matters from a technical perspective. The scheme provides a standardized way of defining railtype labels, based on track gauge and type, speed class, allowable axle weight and electrification type.&lt;br /&gt;
&lt;br /&gt;
It is the explicit intent of this scheme to decouple track sets from vehicle sets to facilitate easy mixing. This way the player can select a track set of choice to go with a train set of choice. It allows the player to play with or without axle load classes, or with or without speed limit classes, simply by loading a track set that does or does not provide these features. In some cases it will also be possible to combine niche track sets, for instance a standard gauge track set with a narrow gauge and a metro track set.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== The Label Scheme ==&lt;br /&gt;
A railtype label consists of four characters. In this scheme, each position has a different purpose:&lt;br /&gt;
# Track gauge and type class (e.g. standard gauge rail, narrow gauge rail, monorail)&lt;br /&gt;
# Speed limit class&lt;br /&gt;
# Axle load class (maximum allowed axle weight for this track)&lt;br /&gt;
# Energy source type class&lt;br /&gt;
&lt;br /&gt;
In the next sections, each of the four positions will be explained.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Track gauge and type class [X***] ===&lt;br /&gt;
The first position in the railtype label defines track gauge and/or track type class. The following classes are currently defined:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Track type/gauge&lt;br /&gt;
|- &lt;br /&gt;
|S ||Standard gauge rail&lt;br /&gt;
|-&lt;br /&gt;
|B ||Broad gauge rail &lt;br /&gt;
|-&lt;br /&gt;
|N ||Narrow gauge rail&lt;br /&gt;
|-&lt;br /&gt;
|n ||Secondary narrow gauge rail (e.g. when providing both metre and cape gauge, always use N in case of just one type of narrow gauge)&lt;br /&gt;
|-&lt;br /&gt;
|D ||Dual gauge rail, standard/broad gauge&lt;br /&gt;
|-&lt;br /&gt;
|d ||Dual gauge rail, standard/narrow gauge&lt;br /&gt;
|-&lt;br /&gt;
|M ||Monorail&lt;br /&gt;
|-&lt;br /&gt;
|L ||Magnetic Levitation&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Speed limit class [*X**] ===&lt;br /&gt;
The second position in the railtype label defines the speed limit class. These classes do not map to a fixed numeric value, but are used to define an internal speed limit order for the track set. This means that if your track set has two different speed limits for track types that are otherwise identical, you&#039;ll use letters A and B here. In case of three different speed limits, use A, B and C. In case your track set does not employ speed limits, always use A. Train sets do not care about the speed limit, and will always set the lowest speed class, i.e. A.&lt;br /&gt;
&lt;br /&gt;
This gives for instance the following options:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||no speed limits&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;OR&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||low speed&lt;br /&gt;
|-&lt;br /&gt;
|B ||high speed&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;OR&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||low speed&lt;br /&gt;
|-&lt;br /&gt;
|B ||medium speed&lt;br /&gt;
|-&lt;br /&gt;
|C ||high speed&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;etc.&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear:left;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The speed limit class may also be used for some advanced features of the label scheme, like specialized track types and eyecandy purposes. Be careful not to break the compatibility with other sets when using the speed limit class for these purposes.&lt;br /&gt;
&lt;br /&gt;
An example of a special use is rack rail. In the French set it is used to give rack rail engines a higher speed and TE than normal rail engines when used on rack rail. When defining trains with a special speed limit class, always allow a fallback to speed limit class A via the railtype table.&lt;br /&gt;
&lt;br /&gt;
An example of eyecandy use are urban tracks. These are a variation of regular tracks, but with concrete ground tiles to better match the urban environment. Train sets must not define vehicles for eyecandy classes. If you think you have special vehicles that should only run on the eyecandy class, it is &#039;&#039;not&#039;&#039; eyecandy but a separate track gauge/type.&lt;br /&gt;
&lt;br /&gt;
The following special and eyecandy classes have been defined so far:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Description !!Type !!Used by&lt;br /&gt;
|- &lt;br /&gt;
|A-H ||speed limits ||colspan=&amp;quot;2&amp;quot;|reserved&lt;br /&gt;
|- &lt;br /&gt;
|R ||rack rail ||special ||French Set Rails &lt;br /&gt;
|- &lt;br /&gt;
|S ||subterranean ||eyecandy ||Metro Track Set&lt;br /&gt;
|- &lt;br /&gt;
|U ||urban ||eyecandy ||Metro Track Set&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Axle load class [**X*] ===&lt;br /&gt;
The third position defines the axle weight limit. Heavy trains cannot run on tracks with a low axle weight limit; these trains need more expensive tracks with a heigher weight limit. There are five axle load classes &#039;&#039;&#039;A&#039;&#039;&#039; through &#039;&#039;&#039;E&#039;&#039;&#039;. &#039;&#039;&#039;A&#039;&#039;&#039; is for the lowest axle load limit, &#039;&#039;&#039;E&#039;&#039;&#039; for the highest. The exact axle load attached to each class is relative to the track gauge/type and trains in the set. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A train set should set the appropriate axle weight for each train via the railtype label, as to make the set work with track sets that do provide tracks with different weight limits, even if you don&#039;t care about it for your trainset. Split all vehicles of a certain track gauge/type into five groups of similar axle weight. The group with the lowest axle weights will get class &#039;&#039;&#039;A&#039;&#039;&#039;, the second lowest class &#039;&#039;&#039;B&#039;&#039;&#039;, etc. up to the group with the highest axle weights which will get class &#039;&#039;&#039;E&#039;&#039;&#039;. Do the same for the other track gauge/types if your train set has those.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A track set does not have to provide a dedicated track type for each axle weight limit. A track set that does not provide a dedicated track for each axle load class, must make sure to map all undefined axle load classes to a real railtype using property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]]. This way a train set can rely on all labels for all axle load classes being available. Example: if you only want to provide 2 axle load classes for standard gauge unelectrified with no speed limits, you can map SA&#039;&#039;&#039;A&#039;&#039;&#039;N + SA&#039;&#039;&#039;B&#039;&#039;&#039;N to SA&#039;&#039;&#039;C&#039;&#039;&#039;N and SA&#039;&#039;&#039;D&#039;&#039;&#039;N to SA&#039;&#039;&#039;E&#039;&#039;&#039;N if the cost difference between the two railtypes is high, or SA&#039;&#039;&#039;A&#039;&#039;&#039;N to SA&#039;&#039;&#039;B&#039;&#039;&#039;N and SA&#039;&#039;&#039;C&#039;&#039;&#039;N + SA&#039;&#039;&#039;D&#039;&#039;&#039;N to SA&#039;&#039;&#039;E&#039;&#039;&#039;N if the cost difference is low.&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t want to provide any axle load classes in your track set, it doesn&#039;t really matter what axle load class you choose for the track, as you&#039;ll be mapping all other classes to this track anyways. But the lowest or highest class are the obvious choice. Example: if your track set only provides narrow gauge unelectrified track with no speed limits and no axle load limits, you may use NA&#039;&#039;&#039;A&#039;&#039;&#039;N for the track label, and provide NA&#039;&#039;&#039;B&#039;&#039;&#039;N, NA&#039;&#039;&#039;C&#039;&#039;&#039;N, NA&#039;&#039;&#039;D&#039;&#039;&#039;N, NA&#039;&#039;&#039;E&#039;&#039;&#039;N in property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you need more than five axle load class, you may use lowercase letters for very low axle loads and continue the uppercase letters for very high axle loads. Be advised that your train set may not assume the existance of any other class than &#039;&#039;&#039;A&#039;&#039;&#039; through &#039;&#039;&#039;E&#039;&#039;&#039;, so when the range make sure to program your railtype table such that trains with such a class will fall back to class &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;E&#039;&#039;&#039;. If you make a track set with an extended range, be aware that not all train sets will define trains for these tracks. In general: only do this in case of a train set with a matching track set.&lt;br /&gt;
&lt;br /&gt;
For the lowercase letters, &#039;&#039;&#039;b&#039;&#039;&#039; is lower than &#039;&#039;&#039;a&#039;&#039;&#039;, so for increasing axle load limits: b &amp;lt; a &amp;lt; A &amp;lt; B &amp;lt; C etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that the axle load classes never map to a specific weight in tonnes. For that reason it does not make sense to add a numeric value for the axle load to the name of a track type or in the extended purchase info of a train. Instead use the relative expressions &#039;very low&#039;, &#039;low&#039;, &#039;medium&#039;, &#039;high&#039; and &#039;very high&#039; or use the class letters directly.&lt;br /&gt;
&lt;br /&gt;
=== Energy source type class [***X] ===&lt;br /&gt;
The last position defines the energy source type class. This is split in generic energy source types like overhead wires and third rail and specialized types like alternating and direct current.&lt;br /&gt;
&lt;br /&gt;
A track set that only uses specialized types, should map the generic types to the most suitable specialized type in the set.&lt;br /&gt;
&lt;br /&gt;
A vehicle set that uses specialized types should define a generic type as fallback, via the railtype table. If such a fallback is omitted, please note that certain vehicles may be unavailable depending on track set loaded.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Generic energy type classes&lt;br /&gt;
|-&lt;br /&gt;
|N ||no electrification&lt;br /&gt;
|-&lt;br /&gt;
|E ||overhead wires/catenary electrification&lt;br /&gt;
|-&lt;br /&gt;
|3 ||3rd rail electrification&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Specialized energy type classes !!Vehicle set fallback&lt;br /&gt;
|-&lt;br /&gt;
|Z ||3rd rail and catenary electrification || 3 or E&lt;br /&gt;
|-&lt;br /&gt;
|4 ||4th rail electrification || 3&lt;br /&gt;
|-&lt;br /&gt;
|Y ||4th rail and catenary electrification || 4 or E&lt;br /&gt;
|-&lt;br /&gt;
|T ||[http://en.wikipedia.org/wiki/Three-phase_AC_railway_electrification three phase AC electrification] || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|D ||DC catenary electrification || E&lt;br /&gt;
|-&lt;br /&gt;
|d ||low voltage DC catenary electrification (only when D also used in set) || First A then E&lt;br /&gt;
|-&lt;br /&gt;
|A ||AC catenary electrification || E&lt;br /&gt;
|-&lt;br /&gt;
|a ||low voltage AC catenary electrification (only when A also used in set) || First A then E&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
If you want multi-voltage/current vehicles in your set (i.e. a train that can run on both AC and DC current), you have to define a dedicated railtype for those vehicles. Without the railtype, it&#039;s not possible to define vehicles with this property. If you only have vehicles that can run on either one type of voltage/current or on all types of voltage/current (e.g. a 2-system if you only have &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;D&#039;&#039;&#039; tracks, or a 4-system in case of all &#039;&#039;&#039;A&#039;&#039;&#039;, &#039;&#039;&#039;a&#039;&#039;&#039;, &#039;&#039;&#039;D&#039;&#039;&#039; and &#039;&#039;&#039;d&#039;&#039;&#039;), then use the generic class &#039;&#039;&#039;E&#039;&#039;&#039; for vehicles that should be able to run on all different voltage/currents. Also the track set needs to have one at least one railtype with class &#039;&#039;&#039;E&#039;&#039;&#039; defined.&lt;br /&gt;
&lt;br /&gt;
Note that if you want more than one type of multi-voltage/current, you&#039;ll quickly get a combinatory explosion of railtype labels, so plan carefully or do not attempt it. For every different multi-voltage/current vehicle type a dedicated railtype is needed. If you want all possible combinations, then you need to define an additional 8 classes. It is not recommended to make your train/track set this complicated.&lt;br /&gt;
&lt;br /&gt;
Example approach for a 4-system set, with trains that can run on either one or all systems:&lt;br /&gt;
* &#039;&#039;&#039;E&#039;&#039;&#039;: generic catenary-powered electric engines. &amp;quot;universal&amp;quot; [4-system] if any of &#039;&#039;&#039;D&#039;&#039;&#039;/&#039;&#039;&#039;d&#039;&#039;&#039;/&#039;&#039;&#039;A&#039;&#039;&#039;/&#039;&#039;&#039;a&#039;&#039;&#039; are defined.&lt;br /&gt;
* &#039;&#039;&#039;A&#039;&#039;&#039;: generic AC catenary electric engines. 25kV only if &#039;&#039;&#039;a&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;A&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;a&#039;&#039;&#039;: 15kV AC catenary electric engines. Only defined if &#039;&#039;&#039;A&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;a&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;D&#039;&#039;&#039;: generic DC catenary electric engines. 3kV if &#039;&#039;&#039;d&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;D&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;d&#039;&#039;&#039;: 1.5kV DC catenary electric engines. Only defined if &#039;&#039;&#039;D&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;D&#039;&#039;&#039; and &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;d&#039;&#039;&#039;.&lt;br /&gt;
For a 2-system set, you can simply drop &#039;&#039;&#039;a&#039;&#039;&#039; and &#039;&#039;&#039;d&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Standard labels: RAIL, ELRL, MONO, MGLV ===&lt;br /&gt;
It&#039;s not possible to undefine the standard railtypes RAIL, ELRL, MONO and MGLV. The game will always add those if there are vehicles defined for these track types. As a result, for a track set it&#039;s best not to ignore those standard labels, but rather work with them and define them in the set. If your track set does not have monorail or maglev tracks, there of course is no need to define those. But if your track set defines anything that resembles unelectrified or electrified rail, you should use the RAIL and ELRL labels. Matching labels from the above scheme will then be defined in property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
As vehicles from NewGRFs that do not use explicit railtypes will end up on these standard railtypes, you should use RAIL instead of whatever type could be regarded as the most commonly used unelectrified type, ELRL instead of the most commonly used electrified type and so on. The label according to this scheme is then set as an alternate.&lt;br /&gt;
&lt;br /&gt;
== Summary for track sets ==&lt;br /&gt;
This section summarizes the above for track sets.&lt;br /&gt;
&lt;br /&gt;
; [X***] Track gauge and type class&lt;br /&gt;
* Define at least one track type for every track gauge/type class you want in your set.&lt;br /&gt;
* If you only provide tracks for one gauge/type, consider leaving some free railtypes so a player can load an additional set for some other type.&lt;br /&gt;
; [*X**] Speed limit class&lt;br /&gt;
* Make sure class A is always available, either directly or via an alternate label.&lt;br /&gt;
* Use only class A if you don&#039;t want speed limits;&lt;br /&gt;
* With speed limits, A is the lowest speed limit. Continue with B, C, etc. for increasing speed limits;&lt;br /&gt;
* The speed class can also be used to implement additional eye-candy track types, use letters higher in the alphabet for this.&lt;br /&gt;
; [**X*] Axle load class&lt;br /&gt;
* Always define all classes A through E for every track type class / electrification combination, either:&lt;br /&gt;
** Directly via a real railtype definition;&lt;br /&gt;
** Indirectly via the alternate rail type label list, property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
* Extend the predefined classes only if you also provide a train set that makes use of these.&lt;br /&gt;
; [***X] Energy source type class&lt;br /&gt;
* If your set only uses specialized classes, always map the generic classes to the closest matching specialized type via property 1D.&lt;br /&gt;
; Standard labels [RAIL, ELRL, MONO, MGLV]&lt;br /&gt;
* Always define the standard labels when possible, instead of what would be the equivalent of the standard label in this scheme.&lt;br /&gt;
* Map the equivalent labels from this scheme to the standard labels using property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
Or, put differently, for each gauge/type, select one or more energy source types. For each type/energy combination provide all axle load classes for the speed class &amp;quot;A&amp;quot;, either as a real type or as an alternate of another type. Provide more types with a different speed letter if you want to provide several different speeds or other eye-candy tracks.&lt;br /&gt;
&lt;br /&gt;
== Summary for train sets ==&lt;br /&gt;
This section summarizes the above for train sets.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; [X***] Track gauge and type class&lt;br /&gt;
* Use the track type class that matches the vehicle;&lt;br /&gt;
* Define a fallback type via the railtype table in case you want the vehicle to be available on a different track if no matching track set is loaded.&lt;br /&gt;
** Specialized subtypes like &amp;quot;n&amp;quot; might not always be available. If you want those vehicles to be still available then, fall back the the generic class (e.g. &amp;quot;N&amp;quot;).&lt;br /&gt;
; [*X**] Speed limit class &lt;br /&gt;
* Always use class A for every vehicle.&lt;br /&gt;
; [**X*] Axle load class&lt;br /&gt;
* Use all classes A through E according to the maximum axle weight of the vehicle.&lt;br /&gt;
* Extend the predefined classes only if you also provide a track set that makes use of these;&lt;br /&gt;
** When extending the predefined classes A through E, define a fallback type via the railtype table in case you want the vehicle to be available if no matching track set is loaded.&lt;br /&gt;
; [***X] Energy source type class&lt;br /&gt;
* Use the energy source type class that matches the vehicle;&lt;br /&gt;
* When using specialized classes, define a fallback type via the railtype table in case you want the vehicle to be available if no matching track set is loaded.&lt;br /&gt;
; Standard labels [RAIL, ELRL, MONO, MGLV]&lt;br /&gt;
* Define a fallback type to the standard labels via the railtype table in case you want the vehicle to be available on the standard tracks if no matching track set is loaded.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Be as specific as you want when selecting the railtype, it is the job of the track set to select a playable, reduced subset out of all possible type combinations.&lt;br /&gt;
&lt;br /&gt;
== In case you&#039;re not convinced by this scheme ==&lt;br /&gt;
Adopting this scheme gives the player freedom to use any track set in combination with any train set that follow the scheme. &lt;br /&gt;
&lt;br /&gt;
This means that you can make your train set compatible with track sets that provide axle load classes, and track sets that provide speed limits, and at the same time with track sets that provide none of this. This way, the player can decide to play with or without axle load classes, or with or without speed limits, simply by loading a track set that does or does not provide these features.&lt;br /&gt;
&lt;br /&gt;
And for your track set, it means that you can make it as simple or as complicated as you want (within the 64 track type limit), while not having to worry about compatibility with train sets.&lt;br /&gt;
&lt;br /&gt;
Still not convinced? Feel free to use railtype labels of your own, but know that you will likely come to regret that at some point in the future.&lt;br /&gt;
&lt;br /&gt;
==Forum topic==&lt;br /&gt;
If you want to discuss the standardized railtype scheme or have any questions about it, you can visit [http://www.tt-forums.net/viewtopic.php?t=59379 the forum topic].&lt;br /&gt;
&lt;br /&gt;
==&amp;quot;Innsbruck 2022 Convention&amp;quot; for partial compliance==&lt;br /&gt;
&lt;br /&gt;
This is really esoteric, but eh. It was the product of long discussion / debate / argument / reasoning between grf authors.&lt;br /&gt;
&lt;br /&gt;
1. The Standardized Railtype Scheme &#039;&#039;&#039;is a useful tool&#039;&#039;&#039; for providing reliable compatibility between train grfs and railtype grfs.&lt;br /&gt;
&lt;br /&gt;
2. The &#039;&#039;&#039;axle load class&#039;&#039;&#039; in the scheme presents a number of issues for compliance.&lt;br /&gt;
&lt;br /&gt;
2.1. Over 10 years since the scheme was standardised, not many train grfs implement multiple axle load classes &#039;&#039;&#039;as required by the scheme&#039;&#039;&#039;.  Known examples that &#039;&#039;&#039;do&#039;&#039;&#039; comply include Dutch Train Set, French Narrow Gauge Trains, and Finnish Trains.&lt;br /&gt;
&lt;br /&gt;
2.2. Elements of the axle load rules have proven hard to interpret.  For example:&lt;br /&gt;
&lt;br /&gt;
* is it compliant to use &#039;&#039;fewer&#039;&#039; than 5 classes in a train grf?  There is a lack of consensus on this.&lt;br /&gt;
* axle load is only one of many factors that govern whether a vehicle is compatible with a route, for example loading gauge, minimum curve, signalling types etc&lt;br /&gt;
&lt;br /&gt;
2.3. Meanwhile &#039;&#039;multiple existing train grfs use class &#039;&#039;A&#039;&#039; for the axle load for all trains&#039;&#039; (except where relying on default railtypes such as RAIL and ELRL).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3. The Innsbruck 2022 Convention uses class &#039;&#039;A&#039;&#039; for axle load for &#039;&#039;&#039;all&#039;&#039;&#039; trains in a train grf (except where relying on default railtypes such as RAIL and ELRL).&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is &#039;&#039;&#039;not&#039;&#039;&#039; fully compliant with the Standardized Railtype Scheme and does not claim to be.&lt;br /&gt;
&lt;br /&gt;
However train grfs using the Innsbruck 2022 Convention are &#039;&#039;broadly compatible&#039;&#039; with railtype grfs using the Standardized Railtype Scheme.  &lt;br /&gt;
&lt;br /&gt;
Obligatory XKCD link about &#039;standards&#039;: https://xkcd.com/927/&lt;br /&gt;
&lt;br /&gt;
===Known issues===&lt;br /&gt;
&lt;br /&gt;
Known problems are that trains using only class &#039;A&#039; may limit the ability of railtype grf authors to achieve their design goals for separating railtypes by axle load.  &lt;br /&gt;
But on reflection, it can be seen that a train grf might not be able to provide a broad enough range of vehicles to cover at least 5 axle load classes.&lt;br /&gt;
&lt;br /&gt;
3.1. The Innsbruck 2022 Convention is &#039;&#039;&#039;not&#039;&#039;&#039; appropriate for train grf authors who wish to provide more than one axle load class.&lt;br /&gt;
&lt;br /&gt;
3.2. The Innsbruck 2022 Convention treats the meaning of class &#039;&#039;A&#039;&#039; as &#039;&#039;undefined&#039;&#039;, &#039;&#039;ignored&#039;&#039; or &#039;&#039;compatible with most restricted railtype&#039;&#039; for axle load.  &lt;br /&gt;
&lt;br /&gt;
Axle load class &#039;&#039;A&#039;&#039; &#039;&#039;&#039;cannot&#039;&#039;&#039; be safely interpreted as &#039;&#039;universal&#039;&#039; because from the perspective of a railtype grf &#039;&#039;A&#039;&#039; is &#039;&#039;most restricted railtype&#039;&#039;, where &#039;&#039;universal&#039;&#039; is better represented as &#039;&#039;least restricted railtype&#039;&#039;. Depending how many axle load classes are in use by the railtype grf, this could be class &#039;&#039;B&#039;&#039;, &#039;&#039;C&#039;&#039;, &#039;&#039;D&#039;&#039;, &#039;&#039;E&#039;&#039; etc.  To illustrate this issue, take the following scenario&lt;br /&gt;
&lt;br /&gt;
* railtype grf defines axle loads &#039;&#039;A&#039;&#039; to &#039;&#039;E&#039;&#039;. In this case the railtype grf author intends that &#039;&#039;A&#039;&#039; is compatible with the smallest range of vehicles, &#039;&#039;E&#039;&#039; is compatible with the largest range of vehicles, and &#039;&#039;B&#039;&#039;, &#039;&#039;C&#039;&#039; and &#039;&#039;D&#039;&#039; are compatible with some intermediate ranges of vehicles&lt;br /&gt;
* but the vehicle grf author has defined all vehicles to be axle load &#039;&#039;A&#039;&#039; in an attempt to express this vehicle is &#039;&#039;universal&#039;&#039;.  The result in the game is that an identical range of vehicles will be compatible with railtypes &#039;&#039;A&#039;&#039; to &#039;&#039;E&#039;&#039;.  &lt;br /&gt;
&lt;br /&gt;
This is clearly &#039;&#039;&#039;not&#039;&#039;&#039; the intended outcome of the railtype author. But nor is it clear within the spec that the vehicle author has particularly done anything wrong. &lt;br /&gt;
&lt;br /&gt;
It &#039;&#039;would&#039;&#039; be possible to use railtype availability testing to adjust the vehicle property 05 (track_type) to fit the highest defined axle load (&#039;&#039;E&#039;&#039; in this example case), but this is not insignificant work, and it&#039;s unlikely to be widely adopted by vehicle grf authors.  Nor would this solution achieve &#039;&#039;universal&#039;&#039; as all vehicles in vehicle grf then would be incompatible with types &#039;&#039;A&#039;&#039; through &#039;&#039;D&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
3.3. When the Innsbruck 2022 Convention is used, this &#039;&#039;&#039;does not prevent&#039;&#039;&#039; a train grf being extended in some future release to achieve full compliance with Standardized Railtype Scheme. &#039;&#039;That choice remains with train grf authors&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
3.4. If 2012 could be revisited, providing an optional &#039;&#039;_&#039;&#039; axle load class in the Standardized Railtype Scheme for &#039;&#039;undefined&#039;&#039; would have been preferable, but as of 2022, &#039;&#039;A&#039;&#039; is already widely used for this purpose, and time travel is not known to be possible.&lt;br /&gt;
&lt;br /&gt;
==Extended multivoltage support addition==&lt;br /&gt;
These are extensions to the energy source type class currently supported by SETS and xUSSR Rails which allow trainsets to code trains which are limited to a certain selection of voltages. As stated in the energy source type class section this might not be of use for all sets, as such it is optional but still recommended for trainsets for ideal functionality with tracksets which support the extended labels.&lt;br /&gt;
{|&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Specialized energy type classes !!Vehicle set fallback&lt;br /&gt;
|-&lt;br /&gt;
|* ||Equivilent to A, a, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|&#039; ||Equivilent to A, a and D || E&lt;br /&gt;
|-&lt;br /&gt;
|^ ||Equivilent to A, a and d || E&lt;br /&gt;
|-&lt;br /&gt;
|_ ||Equivilent to A, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
|, ||Equivilent to a, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|$ ||Equivilent to A and a  || First A then E&lt;br /&gt;
|-&lt;br /&gt;
|= ||Equivilent to D and d  || First D then E&lt;br /&gt;
|-&lt;br /&gt;
|) ||Equivilent to A and D  || E&lt;br /&gt;
|-&lt;br /&gt;
|( ||Equivilent to A and d  || E&lt;br /&gt;
|-&lt;br /&gt;
|] ||Equivilent to a and D  || E&lt;br /&gt;
|-&lt;br /&gt;
|[ ||Equivilent to a and d  || E&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Possible additions==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Track type/gauge&lt;br /&gt;
|-&lt;br /&gt;
|_ ||Universal &amp;quot;cheat&amp;quot; rail; ALWAYS add &amp;quot;_A_-&amp;quot; and &amp;quot;_A_N&amp;quot; to EVERY [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]] (as well as the equivalent electrified/pneumatic railtype that is powered on your electrified/pneumatic railtype to support it if you are making a new railtype set, older sets can be covered by fix or patch grfs) and &amp;quot;_A_t&amp;quot; to EVERY [[NML:Railtypes#Railtype_properties|powered_railtype_list (NML)]]&lt;br /&gt;
|-&lt;br /&gt;
|0 ||(A number zero, not a letter &amp;quot;Oh&amp;quot;) No track, eyecandy-use only&lt;br /&gt;
|-&lt;br /&gt;
|U ||&lt;br /&gt;
|-&lt;br /&gt;
|1 ||Early Monorail; See [https://perma.cc/6BVS-2P2X here] and [https://perma.cc/VCG2-ATUA here]&lt;br /&gt;
|-&lt;br /&gt;
|G ||Gyrail; [https://en.wikipedia.org/wiki/Gyro_monorail Gyro monorail/Gyroscopic monorail/Gyro-stabilized monorail] for description and IRL example, and [https://wikimon.net/Trailmon here] ([https://web.archive.org/web/20240227205547/https://wikimon.net/Trailmon archived]) for good fictional examples&lt;br /&gt;
|-&lt;br /&gt;
|m ||Minimum gauge rail; [https://en.wikipedia.org/wiki/Minimum-gauge_railway 15 in (381 mm), 400 mm (15+3⁄4 in), 16 in (406 mm), 18 in (457 mm), 19 in (483 mm), 500 mm (19+3⁄4 in) or 20 in (508 mm)]&lt;br /&gt;
|-&lt;br /&gt;
|n ||600mm &amp;quot;Decauville&amp;quot; or &amp;quot;Feldsbahn&amp;quot;, formerly labelled &amp;quot;NG60&amp;quot; before standardization; the most common narrow gauge track type in OpenTTD other than metre gauge, 600mm gauge is thus ideal for taking up the &amp;quot;n&amp;quot; gauge, though this is an ultimately optional distinction&lt;br /&gt;
|-&lt;br /&gt;
|7 ||750mm, Bosnian gauge (760 mm), and 762mm; all start with 7 and are close in size&lt;br /&gt;
|-&lt;br /&gt;
|3 ||Swedish 3 foot (891 mm), 900mm, 3 foot (914 mm) and Italian Metre (950mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|R ||Metre gauge; potentially compatible with base tramtype &amp;quot;RABN&amp;quot;, most early tramways were metre gauge&lt;br /&gt;
|-&lt;br /&gt;
|4 ||4 foot gauge (1219 mm), and possibly 4&#039;6&amp;quot; in. (1372 mm) if standardization is needed for 1372mm&lt;br /&gt;
|-&lt;br /&gt;
|s ||Scotch gauge (1372 mm)&lt;br /&gt;
|-&lt;br /&gt;
|S ||Standard gauge; already implemented in original standardized railtype scheme, but could include near-standard (1432 mm) as well as existing true standard (1435 mm) and is also potentially compatible with the SABN tramtype&lt;br /&gt;
|-&lt;br /&gt;
|X ||Omni-gauge rail (for at-grade multi-gauge crossings and stations); ultrabroad/secondary broad/primary broad/standard/primary narrow/secondary narrow gauge&lt;br /&gt;
|-&lt;br /&gt;
|x ||Multi-gauge rail (for at-grade multi-gauge crossings and stations); secondary broad/primary broad/standard/primary narrow/secondary narrow&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;+&amp;lt;/nowiki&amp;gt; ||Quad-gauge (Four-gauge) rail (for at-grade multi-gauge crossings and stations); secondary broad/primary broad/standard/primary narrow&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt; ||Four-gauge rail (for at-grade multi-gauge crossings and stations); primary broad/standard/primary narrow/secondary narrow&lt;br /&gt;
|-&lt;br /&gt;
|b ||Broad gauge rail - As broad gauge is a rare tracktype, it may still be feasible to cement B and b as broad gauges of two differing sizes, but the rarity among gauges in the real world would need to match; Italian (1445 mm) and Dresden (1450 mm) gauges may be better grouped here&lt;br /&gt;
|-&lt;br /&gt;
|t ||Leipzig trams (1458 mm) and Greater Toronto Area streetcars (1495 mm)&lt;br /&gt;
|-&lt;br /&gt;
|5 ||1520mm and 5 foot (1524 mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|V ||Pennsylvanian (1581 mm and 1588 mm) and Australian &amp;quot;Victorian&amp;quot; (1600 mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|6 ||6 foot (1829 mm) broad gauge&lt;br /&gt;
|-&lt;br /&gt;
|g ||Brunel&#039;s Great Western Railway gauge (2140 mm)&lt;br /&gt;
|-&lt;br /&gt;
|B ||Biggest Broad gauge rail - As broad gauge is a rare tracktype, and the variation in common real life track types too wide, it may be desirable to cement B and b as broad gauges of two differing sizes; With no real life examples that match the usage frequency of &amp;quot;B&amp;quot;, the gauge might best draw inspiration from the infamous [https://en.wikipedia.org/wiki/Breitspurbahn Breitspurbahn] (3000 mm) and [https://perma.cc/KQ2Z-5RCR the never-built vehicles designed for it], or from the [https://en.wikipedia.org/wiki/Brighton_and_Rottingdean_Seashore_Electric_Railway Brighton &amp;amp; Rottingdean Seashore Electric Railway] (18 ft/5,486 mm) &lt;br /&gt;
|-&lt;br /&gt;
|L ||Maglevs that have a u-shaped track&lt;br /&gt;
|-&lt;br /&gt;
|T ||Maglevs that have a monorail track&lt;br /&gt;
|-&lt;br /&gt;
|F ||Flightrail; A [https://web.archive.org/web/20231213122530/http://www.flightrail.com/ system capable of high speeds and steep hill grades] that uses a pneumatic pipe for propulsion (see &amp;quot;P&amp;quot; under energy sources), and &#039;&#039;wheels pointed inwards at a 45-degree angle&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
It might be preferred to instead use/keep &amp;quot;B&amp;quot; for &amp;quot;all (current) broad gauges&amp;quot; (mostly Victorian gauge) instead using lowercase &amp;quot;b&amp;quot; for Brunel/GWR broad gauge. This wouldn&#039;t be to different from narrow gauge since the lesser used ones are lowercase and fallback to the uppercase ones.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Electrification !!Fallback&lt;br /&gt;
|-&lt;br /&gt;
|S ||Maglevs that use a synchronous linear motor ||N/A&lt;br /&gt;
|-&lt;br /&gt;
|I ||Maglevs that use a linear induction motor ||MGLV (the whole label)&lt;br /&gt;
|-&lt;br /&gt;
|V ||Vactrains/Hyperloop ||t, then I, then MGLV (the whole label)&lt;br /&gt;
|-&lt;br /&gt;
|t ||&amp;quot;Universal custom tunnel&amp;quot; (for electrified sub-surface rail tunnels) ||E (mandatory)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt; ||Universal energy type (&#039;&#039;not&#039;&#039; meant to replace &amp;quot;***N&amp;quot;; use for vehicles such as driving cabs which cannot move under their own power regardless, if desired) ||N/A (Be sure to put &amp;quot;***E&amp;quot; in the [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]] of a &amp;quot;***-&amp;quot; label)&lt;br /&gt;
|-&lt;br /&gt;
|P ||Pneumatic tube with physical piston slit, or closed pneumatic tube with magnetic piston (i.e. that used by [https://web.archive.org/web/20231213122530/http://www.flightrail.com/ Flightrail]) ||N/A&lt;br /&gt;
|-&lt;br /&gt;
|p ||Pneumatic and universal electrical power ||N/A (Be sure to put &amp;quot;***_&amp;quot; and ***P&amp;quot; in the [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]] of a &amp;quot;***p&amp;quot; label)&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Lurkmore</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=Standardized_Railtype_Scheme&amp;diff=4737</id>
		<title>Standardized Railtype Scheme</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=Standardized_Railtype_Scheme&amp;diff=4737"/>
		<updated>2024-02-27T22:46:39Z</updated>

		<summary type="html">&lt;p&gt;Lurkmore: /* Possible additions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This railtype label scheme aims to bring order to the uncontrolled growth of railtype labels. It groups the rail types into what matters from a technical perspective. The scheme provides a standardized way of defining railtype labels, based on track gauge and type, speed class, allowable axle weight and electrification type.&lt;br /&gt;
&lt;br /&gt;
It is the explicit intent of this scheme to decouple track sets from vehicle sets to facilitate easy mixing. This way the player can select a track set of choice to go with a train set of choice. It allows the player to play with or without axle load classes, or with or without speed limit classes, simply by loading a track set that does or does not provide these features. In some cases it will also be possible to combine niche track sets, for instance a standard gauge track set with a narrow gauge and a metro track set.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== The Label Scheme ==&lt;br /&gt;
A railtype label consists of four characters. In this scheme, each position has a different purpose:&lt;br /&gt;
# Track gauge and type class (e.g. standard gauge rail, narrow gauge rail, monorail)&lt;br /&gt;
# Speed limit class&lt;br /&gt;
# Axle load class (maximum allowed axle weight for this track)&lt;br /&gt;
# Energy source type class&lt;br /&gt;
&lt;br /&gt;
In the next sections, each of the four positions will be explained.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Track gauge and type class [X***] ===&lt;br /&gt;
The first position in the railtype label defines track gauge and/or track type class. The following classes are currently defined:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Track type/gauge&lt;br /&gt;
|- &lt;br /&gt;
|S ||Standard gauge rail&lt;br /&gt;
|-&lt;br /&gt;
|B ||Broad gauge rail &lt;br /&gt;
|-&lt;br /&gt;
|N ||Narrow gauge rail&lt;br /&gt;
|-&lt;br /&gt;
|n ||Secondary narrow gauge rail (e.g. when providing both metre and cape gauge, always use N in case of just one type of narrow gauge)&lt;br /&gt;
|-&lt;br /&gt;
|D ||Dual gauge rail, standard/broad gauge&lt;br /&gt;
|-&lt;br /&gt;
|d ||Dual gauge rail, standard/narrow gauge&lt;br /&gt;
|-&lt;br /&gt;
|M ||Monorail&lt;br /&gt;
|-&lt;br /&gt;
|L ||Magnetic Levitation&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Speed limit class [*X**] ===&lt;br /&gt;
The second position in the railtype label defines the speed limit class. These classes do not map to a fixed numeric value, but are used to define an internal speed limit order for the track set. This means that if your track set has two different speed limits for track types that are otherwise identical, you&#039;ll use letters A and B here. In case of three different speed limits, use A, B and C. In case your track set does not employ speed limits, always use A. Train sets do not care about the speed limit, and will always set the lowest speed class, i.e. A.&lt;br /&gt;
&lt;br /&gt;
This gives for instance the following options:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||no speed limits&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;OR&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||low speed&lt;br /&gt;
|-&lt;br /&gt;
|B ||high speed&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;OR&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||low speed&lt;br /&gt;
|-&lt;br /&gt;
|B ||medium speed&lt;br /&gt;
|-&lt;br /&gt;
|C ||high speed&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;etc.&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear:left;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The speed limit class may also be used for some advanced features of the label scheme, like specialized track types and eyecandy purposes. Be careful not to break the compatibility with other sets when using the speed limit class for these purposes.&lt;br /&gt;
&lt;br /&gt;
An example of a special use is rack rail. In the French set it is used to give rack rail engines a higher speed and TE than normal rail engines when used on rack rail. When defining trains with a special speed limit class, always allow a fallback to speed limit class A via the railtype table.&lt;br /&gt;
&lt;br /&gt;
An example of eyecandy use are urban tracks. These are a variation of regular tracks, but with concrete ground tiles to better match the urban environment. Train sets must not define vehicles for eyecandy classes. If you think you have special vehicles that should only run on the eyecandy class, it is &#039;&#039;not&#039;&#039; eyecandy but a separate track gauge/type.&lt;br /&gt;
&lt;br /&gt;
The following special and eyecandy classes have been defined so far:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Description !!Type !!Used by&lt;br /&gt;
|- &lt;br /&gt;
|A-H ||speed limits ||colspan=&amp;quot;2&amp;quot;|reserved&lt;br /&gt;
|- &lt;br /&gt;
|R ||rack rail ||special ||French Set Rails &lt;br /&gt;
|- &lt;br /&gt;
|S ||subterranean ||eyecandy ||Metro Track Set&lt;br /&gt;
|- &lt;br /&gt;
|U ||urban ||eyecandy ||Metro Track Set&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Axle load class [**X*] ===&lt;br /&gt;
The third position defines the axle weight limit. Heavy trains cannot run on tracks with a low axle weight limit; these trains need more expensive tracks with a heigher weight limit. There are five axle load classes &#039;&#039;&#039;A&#039;&#039;&#039; through &#039;&#039;&#039;E&#039;&#039;&#039;. &#039;&#039;&#039;A&#039;&#039;&#039; is for the lowest axle load limit, &#039;&#039;&#039;E&#039;&#039;&#039; for the highest. The exact axle load attached to each class is relative to the track gauge/type and trains in the set. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A train set should set the appropriate axle weight for each train via the railtype label, as to make the set work with track sets that do provide tracks with different weight limits, even if you don&#039;t care about it for your trainset. Split all vehicles of a certain track gauge/type into five groups of similar axle weight. The group with the lowest axle weights will get class &#039;&#039;&#039;A&#039;&#039;&#039;, the second lowest class &#039;&#039;&#039;B&#039;&#039;&#039;, etc. up to the group with the highest axle weights which will get class &#039;&#039;&#039;E&#039;&#039;&#039;. Do the same for the other track gauge/types if your train set has those.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A track set does not have to provide a dedicated track type for each axle weight limit. A track set that does not provide a dedicated track for each axle load class, must make sure to map all undefined axle load classes to a real railtype using property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]]. This way a train set can rely on all labels for all axle load classes being available. Example: if you only want to provide 2 axle load classes for standard gauge unelectrified with no speed limits, you can map SA&#039;&#039;&#039;A&#039;&#039;&#039;N + SA&#039;&#039;&#039;B&#039;&#039;&#039;N to SA&#039;&#039;&#039;C&#039;&#039;&#039;N and SA&#039;&#039;&#039;D&#039;&#039;&#039;N to SA&#039;&#039;&#039;E&#039;&#039;&#039;N if the cost difference between the two railtypes is high, or SA&#039;&#039;&#039;A&#039;&#039;&#039;N to SA&#039;&#039;&#039;B&#039;&#039;&#039;N and SA&#039;&#039;&#039;C&#039;&#039;&#039;N + SA&#039;&#039;&#039;D&#039;&#039;&#039;N to SA&#039;&#039;&#039;E&#039;&#039;&#039;N if the cost difference is low.&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t want to provide any axle load classes in your track set, it doesn&#039;t really matter what axle load class you choose for the track, as you&#039;ll be mapping all other classes to this track anyways. But the lowest or highest class are the obvious choice. Example: if your track set only provides narrow gauge unelectrified track with no speed limits and no axle load limits, you may use NA&#039;&#039;&#039;A&#039;&#039;&#039;N for the track label, and provide NA&#039;&#039;&#039;B&#039;&#039;&#039;N, NA&#039;&#039;&#039;C&#039;&#039;&#039;N, NA&#039;&#039;&#039;D&#039;&#039;&#039;N, NA&#039;&#039;&#039;E&#039;&#039;&#039;N in property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you need more than five axle load class, you may use lowercase letters for very low axle loads and continue the uppercase letters for very high axle loads. Be advised that your train set may not assume the existance of any other class than &#039;&#039;&#039;A&#039;&#039;&#039; through &#039;&#039;&#039;E&#039;&#039;&#039;, so when the range make sure to program your railtype table such that trains with such a class will fall back to class &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;E&#039;&#039;&#039;. If you make a track set with an extended range, be aware that not all train sets will define trains for these tracks. In general: only do this in case of a train set with a matching track set.&lt;br /&gt;
&lt;br /&gt;
For the lowercase letters, &#039;&#039;&#039;b&#039;&#039;&#039; is lower than &#039;&#039;&#039;a&#039;&#039;&#039;, so for increasing axle load limits: b &amp;lt; a &amp;lt; A &amp;lt; B &amp;lt; C etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that the axle load classes never map to a specific weight in tonnes. For that reason it does not make sense to add a numeric value for the axle load to the name of a track type or in the extended purchase info of a train. Instead use the relative expressions &#039;very low&#039;, &#039;low&#039;, &#039;medium&#039;, &#039;high&#039; and &#039;very high&#039; or use the class letters directly.&lt;br /&gt;
&lt;br /&gt;
=== Energy source type class [***X] ===&lt;br /&gt;
The last position defines the energy source type class. This is split in generic energy source types like overhead wires and third rail and specialized types like alternating and direct current.&lt;br /&gt;
&lt;br /&gt;
A track set that only uses specialized types, should map the generic types to the most suitable specialized type in the set.&lt;br /&gt;
&lt;br /&gt;
A vehicle set that uses specialized types should define a generic type as fallback, via the railtype table. If such a fallback is omitted, please note that certain vehicles may be unavailable depending on track set loaded.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Generic energy type classes&lt;br /&gt;
|-&lt;br /&gt;
|N ||no electrification&lt;br /&gt;
|-&lt;br /&gt;
|E ||overhead wires/catenary electrification&lt;br /&gt;
|-&lt;br /&gt;
|3 ||3rd rail electrification&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Specialized energy type classes !!Vehicle set fallback&lt;br /&gt;
|-&lt;br /&gt;
|Z ||3rd rail and catenary electrification || 3 or E&lt;br /&gt;
|-&lt;br /&gt;
|4 ||4th rail electrification || 3&lt;br /&gt;
|-&lt;br /&gt;
|Y ||4th rail and catenary electrification || 4 or E&lt;br /&gt;
|-&lt;br /&gt;
|T ||[http://en.wikipedia.org/wiki/Three-phase_AC_railway_electrification three phase AC electrification] || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|D ||DC catenary electrification || E&lt;br /&gt;
|-&lt;br /&gt;
|d ||low voltage DC catenary electrification (only when D also used in set) || First A then E&lt;br /&gt;
|-&lt;br /&gt;
|A ||AC catenary electrification || E&lt;br /&gt;
|-&lt;br /&gt;
|a ||low voltage AC catenary electrification (only when A also used in set) || First A then E&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
If you want multi-voltage/current vehicles in your set (i.e. a train that can run on both AC and DC current), you have to define a dedicated railtype for those vehicles. Without the railtype, it&#039;s not possible to define vehicles with this property. If you only have vehicles that can run on either one type of voltage/current or on all types of voltage/current (e.g. a 2-system if you only have &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;D&#039;&#039;&#039; tracks, or a 4-system in case of all &#039;&#039;&#039;A&#039;&#039;&#039;, &#039;&#039;&#039;a&#039;&#039;&#039;, &#039;&#039;&#039;D&#039;&#039;&#039; and &#039;&#039;&#039;d&#039;&#039;&#039;), then use the generic class &#039;&#039;&#039;E&#039;&#039;&#039; for vehicles that should be able to run on all different voltage/currents. Also the track set needs to have one at least one railtype with class &#039;&#039;&#039;E&#039;&#039;&#039; defined.&lt;br /&gt;
&lt;br /&gt;
Note that if you want more than one type of multi-voltage/current, you&#039;ll quickly get a combinatory explosion of railtype labels, so plan carefully or do not attempt it. For every different multi-voltage/current vehicle type a dedicated railtype is needed. If you want all possible combinations, then you need to define an additional 8 classes. It is not recommended to make your train/track set this complicated.&lt;br /&gt;
&lt;br /&gt;
Example approach for a 4-system set, with trains that can run on either one or all systems:&lt;br /&gt;
* &#039;&#039;&#039;E&#039;&#039;&#039;: generic catenary-powered electric engines. &amp;quot;universal&amp;quot; [4-system] if any of &#039;&#039;&#039;D&#039;&#039;&#039;/&#039;&#039;&#039;d&#039;&#039;&#039;/&#039;&#039;&#039;A&#039;&#039;&#039;/&#039;&#039;&#039;a&#039;&#039;&#039; are defined.&lt;br /&gt;
* &#039;&#039;&#039;A&#039;&#039;&#039;: generic AC catenary electric engines. 25kV only if &#039;&#039;&#039;a&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;A&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;a&#039;&#039;&#039;: 15kV AC catenary electric engines. Only defined if &#039;&#039;&#039;A&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;a&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;D&#039;&#039;&#039;: generic DC catenary electric engines. 3kV if &#039;&#039;&#039;d&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;D&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;d&#039;&#039;&#039;: 1.5kV DC catenary electric engines. Only defined if &#039;&#039;&#039;D&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;D&#039;&#039;&#039; and &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;d&#039;&#039;&#039;.&lt;br /&gt;
For a 2-system set, you can simply drop &#039;&#039;&#039;a&#039;&#039;&#039; and &#039;&#039;&#039;d&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Standard labels: RAIL, ELRL, MONO, MGLV ===&lt;br /&gt;
It&#039;s not possible to undefine the standard railtypes RAIL, ELRL, MONO and MGLV. The game will always add those if there are vehicles defined for these track types. As a result, for a track set it&#039;s best not to ignore those standard labels, but rather work with them and define them in the set. If your track set does not have monorail or maglev tracks, there of course is no need to define those. But if your track set defines anything that resembles unelectrified or electrified rail, you should use the RAIL and ELRL labels. Matching labels from the above scheme will then be defined in property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
As vehicles from NewGRFs that do not use explicit railtypes will end up on these standard railtypes, you should use RAIL instead of whatever type could be regarded as the most commonly used unelectrified type, ELRL instead of the most commonly used electrified type and so on. The label according to this scheme is then set as an alternate.&lt;br /&gt;
&lt;br /&gt;
== Summary for track sets ==&lt;br /&gt;
This section summarizes the above for track sets.&lt;br /&gt;
&lt;br /&gt;
; [X***] Track gauge and type class&lt;br /&gt;
* Define at least one track type for every track gauge/type class you want in your set.&lt;br /&gt;
* If you only provide tracks for one gauge/type, consider leaving some free railtypes so a player can load an additional set for some other type.&lt;br /&gt;
; [*X**] Speed limit class&lt;br /&gt;
* Make sure class A is always available, either directly or via an alternate label.&lt;br /&gt;
* Use only class A if you don&#039;t want speed limits;&lt;br /&gt;
* With speed limits, A is the lowest speed limit. Continue with B, C, etc. for increasing speed limits;&lt;br /&gt;
* The speed class can also be used to implement additional eye-candy track types, use letters higher in the alphabet for this.&lt;br /&gt;
; [**X*] Axle load class&lt;br /&gt;
* Always define all classes A through E for every track type class / electrification combination, either:&lt;br /&gt;
** Directly via a real railtype definition;&lt;br /&gt;
** Indirectly via the alternate rail type label list, property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
* Extend the predefined classes only if you also provide a train set that makes use of these.&lt;br /&gt;
; [***X] Energy source type class&lt;br /&gt;
* If your set only uses specialized classes, always map the generic classes to the closest matching specialized type via property 1D.&lt;br /&gt;
; Standard labels [RAIL, ELRL, MONO, MGLV]&lt;br /&gt;
* Always define the standard labels when possible, instead of what would be the equivalent of the standard label in this scheme.&lt;br /&gt;
* Map the equivalent labels from this scheme to the standard labels using property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
Or, put differently, for each gauge/type, select one or more energy source types. For each type/energy combination provide all axle load classes for the speed class &amp;quot;A&amp;quot;, either as a real type or as an alternate of another type. Provide more types with a different speed letter if you want to provide several different speeds or other eye-candy tracks.&lt;br /&gt;
&lt;br /&gt;
== Summary for train sets ==&lt;br /&gt;
This section summarizes the above for train sets.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; [X***] Track gauge and type class&lt;br /&gt;
* Use the track type class that matches the vehicle;&lt;br /&gt;
* Define a fallback type via the railtype table in case you want the vehicle to be available on a different track if no matching track set is loaded.&lt;br /&gt;
** Specialized subtypes like &amp;quot;n&amp;quot; might not always be available. If you want those vehicles to be still available then, fall back the the generic class (e.g. &amp;quot;N&amp;quot;).&lt;br /&gt;
; [*X**] Speed limit class &lt;br /&gt;
* Always use class A for every vehicle.&lt;br /&gt;
; [**X*] Axle load class&lt;br /&gt;
* Use all classes A through E according to the maximum axle weight of the vehicle.&lt;br /&gt;
* Extend the predefined classes only if you also provide a track set that makes use of these;&lt;br /&gt;
** When extending the predefined classes A through E, define a fallback type via the railtype table in case you want the vehicle to be available if no matching track set is loaded.&lt;br /&gt;
; [***X] Energy source type class&lt;br /&gt;
* Use the energy source type class that matches the vehicle;&lt;br /&gt;
* When using specialized classes, define a fallback type via the railtype table in case you want the vehicle to be available if no matching track set is loaded.&lt;br /&gt;
; Standard labels [RAIL, ELRL, MONO, MGLV]&lt;br /&gt;
* Define a fallback type to the standard labels via the railtype table in case you want the vehicle to be available on the standard tracks if no matching track set is loaded.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Be as specific as you want when selecting the railtype, it is the job of the track set to select a playable, reduced subset out of all possible type combinations.&lt;br /&gt;
&lt;br /&gt;
== In case you&#039;re not convinced by this scheme ==&lt;br /&gt;
Adopting this scheme gives the player freedom to use any track set in combination with any train set that follow the scheme. &lt;br /&gt;
&lt;br /&gt;
This means that you can make your train set compatible with track sets that provide axle load classes, and track sets that provide speed limits, and at the same time with track sets that provide none of this. This way, the player can decide to play with or without axle load classes, or with or without speed limits, simply by loading a track set that does or does not provide these features.&lt;br /&gt;
&lt;br /&gt;
And for your track set, it means that you can make it as simple or as complicated as you want (within the 64 track type limit), while not having to worry about compatibility with train sets.&lt;br /&gt;
&lt;br /&gt;
Still not convinced? Feel free to use railtype labels of your own, but know that you will likely come to regret that at some point in the future.&lt;br /&gt;
&lt;br /&gt;
==Forum topic==&lt;br /&gt;
If you want to discuss the standardized railtype scheme or have any questions about it, you can visit [http://www.tt-forums.net/viewtopic.php?t=59379 the forum topic].&lt;br /&gt;
&lt;br /&gt;
==&amp;quot;Innsbruck 2022 Convention&amp;quot; for partial compliance==&lt;br /&gt;
&lt;br /&gt;
This is really esoteric, but eh. It was the product of long discussion / debate / argument / reasoning between grf authors.&lt;br /&gt;
&lt;br /&gt;
1. The Standardized Railtype Scheme &#039;&#039;&#039;is a useful tool&#039;&#039;&#039; for providing reliable compatibility between train grfs and railtype grfs.&lt;br /&gt;
&lt;br /&gt;
2. The &#039;&#039;&#039;axle load class&#039;&#039;&#039; in the scheme presents a number of issues for compliance.&lt;br /&gt;
&lt;br /&gt;
2.1. Over 10 years since the scheme was standardised, not many train grfs implement multiple axle load classes &#039;&#039;&#039;as required by the scheme&#039;&#039;&#039;.  Known examples that &#039;&#039;&#039;do&#039;&#039;&#039; comply include Dutch Train Set, French Narrow Gauge Trains, and Finnish Trains.&lt;br /&gt;
&lt;br /&gt;
2.2. Elements of the axle load rules have proven hard to interpret.  For example:&lt;br /&gt;
&lt;br /&gt;
* is it compliant to use &#039;&#039;fewer&#039;&#039; than 5 classes in a train grf?  There is a lack of consensus on this.&lt;br /&gt;
* axle load is only one of many factors that govern whether a vehicle is compatible with a route, for example loading gauge, minimum curve, signalling types etc&lt;br /&gt;
&lt;br /&gt;
2.3. Meanwhile &#039;&#039;multiple existing train grfs use class &#039;&#039;A&#039;&#039; for the axle load for all trains&#039;&#039; (except where relying on default railtypes such as RAIL and ELRL).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3. The Innsbruck 2022 Convention uses class &#039;&#039;A&#039;&#039; for axle load for &#039;&#039;&#039;all&#039;&#039;&#039; trains in a train grf (except where relying on default railtypes such as RAIL and ELRL).&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is &#039;&#039;&#039;not&#039;&#039;&#039; fully compliant with the Standardized Railtype Scheme and does not claim to be.&lt;br /&gt;
&lt;br /&gt;
However train grfs using the Innsbruck 2022 Convention are &#039;&#039;broadly compatible&#039;&#039; with railtype grfs using the Standardized Railtype Scheme.  &lt;br /&gt;
&lt;br /&gt;
Obligatory XKCD link about &#039;standards&#039;: https://xkcd.com/927/&lt;br /&gt;
&lt;br /&gt;
===Known issues===&lt;br /&gt;
&lt;br /&gt;
Known problems are that trains using only class &#039;A&#039; may limit the ability of railtype grf authors to achieve their design goals for separating railtypes by axle load.  &lt;br /&gt;
But on reflection, it can be seen that a train grf might not be able to provide a broad enough range of vehicles to cover at least 5 axle load classes.&lt;br /&gt;
&lt;br /&gt;
3.1. The Innsbruck 2022 Convention is &#039;&#039;&#039;not&#039;&#039;&#039; appropriate for train grf authors who wish to provide more than one axle load class.&lt;br /&gt;
&lt;br /&gt;
3.2. The Innsbruck 2022 Convention treats the meaning of class &#039;&#039;A&#039;&#039; as &#039;&#039;undefined&#039;&#039;, &#039;&#039;ignored&#039;&#039; or &#039;&#039;compatible with most restricted railtype&#039;&#039; for axle load.  &lt;br /&gt;
&lt;br /&gt;
Axle load class &#039;&#039;A&#039;&#039; &#039;&#039;&#039;cannot&#039;&#039;&#039; be safely interpreted as &#039;&#039;universal&#039;&#039; because from the perspective of a railtype grf &#039;&#039;A&#039;&#039; is &#039;&#039;most restricted railtype&#039;&#039;, where &#039;&#039;universal&#039;&#039; is better represented as &#039;&#039;least restricted railtype&#039;&#039;. Depending how many axle load classes are in use by the railtype grf, this could be class &#039;&#039;B&#039;&#039;, &#039;&#039;C&#039;&#039;, &#039;&#039;D&#039;&#039;, &#039;&#039;E&#039;&#039; etc.  To illustrate this issue, take the following scenario&lt;br /&gt;
&lt;br /&gt;
* railtype grf defines axle loads &#039;&#039;A&#039;&#039; to &#039;&#039;E&#039;&#039;. In this case the railtype grf author intends that &#039;&#039;A&#039;&#039; is compatible with the smallest range of vehicles, &#039;&#039;E&#039;&#039; is compatible with the largest range of vehicles, and &#039;&#039;B&#039;&#039;, &#039;&#039;C&#039;&#039; and &#039;&#039;D&#039;&#039; are compatible with some intermediate ranges of vehicles&lt;br /&gt;
* but the vehicle grf author has defined all vehicles to be axle load &#039;&#039;A&#039;&#039; in an attempt to express this vehicle is &#039;&#039;universal&#039;&#039;.  The result in the game is that an identical range of vehicles will be compatible with railtypes &#039;&#039;A&#039;&#039; to &#039;&#039;E&#039;&#039;.  &lt;br /&gt;
&lt;br /&gt;
This is clearly &#039;&#039;&#039;not&#039;&#039;&#039; the intended outcome of the railtype author. But nor is it clear within the spec that the vehicle author has particularly done anything wrong. &lt;br /&gt;
&lt;br /&gt;
It &#039;&#039;would&#039;&#039; be possible to use railtype availability testing to adjust the vehicle property 05 (track_type) to fit the highest defined axle load (&#039;&#039;E&#039;&#039; in this example case), but this is not insignificant work, and it&#039;s unlikely to be widely adopted by vehicle grf authors.  Nor would this solution achieve &#039;&#039;universal&#039;&#039; as all vehicles in vehicle grf then would be incompatible with types &#039;&#039;A&#039;&#039; through &#039;&#039;D&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
3.3. When the Innsbruck 2022 Convention is used, this &#039;&#039;&#039;does not prevent&#039;&#039;&#039; a train grf being extended in some future release to achieve full compliance with Standardized Railtype Scheme. &#039;&#039;That choice remains with train grf authors&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
3.4. If 2012 could be revisited, providing an optional &#039;&#039;_&#039;&#039; axle load class in the Standardized Railtype Scheme for &#039;&#039;undefined&#039;&#039; would have been preferable, but as of 2022, &#039;&#039;A&#039;&#039; is already widely used for this purpose, and time travel is not known to be possible.&lt;br /&gt;
&lt;br /&gt;
==Extended multivoltage support addition==&lt;br /&gt;
These are extensions to the energy source type class currently supported by SETS and xUSSR Rails which allow trainsets to code trains which are limited to a certain selection of voltages. As stated in the energy source type class section this might not be of use for all sets, as such it is optional but still recommended for trainsets for ideal functionality with tracksets which support the extended labels.&lt;br /&gt;
{|&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Specialized energy type classes !!Vehicle set fallback&lt;br /&gt;
|-&lt;br /&gt;
|* ||Equivilent to A, a, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|&#039; ||Equivilent to A, a and D || E&lt;br /&gt;
|-&lt;br /&gt;
|^ ||Equivilent to A, a and d || E&lt;br /&gt;
|-&lt;br /&gt;
|_ ||Equivilent to A, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
|, ||Equivilent to a, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|$ ||Equivilent to A and a  || First A then E&lt;br /&gt;
|-&lt;br /&gt;
|= ||Equivilent to D and d  || First D then E&lt;br /&gt;
|-&lt;br /&gt;
|) ||Equivilent to A and D  || E&lt;br /&gt;
|-&lt;br /&gt;
|( ||Equivilent to A and d  || E&lt;br /&gt;
|-&lt;br /&gt;
|] ||Equivilent to a and D  || E&lt;br /&gt;
|-&lt;br /&gt;
|[ ||Equivilent to a and d  || E&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Possible additions==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Track type/gauge&lt;br /&gt;
|-&lt;br /&gt;
|_ ||Universal &amp;quot;cheat&amp;quot; rail; ALWAYS add &amp;quot;_A_-&amp;quot; and &amp;quot;_A_N&amp;quot; to EVERY [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]] (as well as the equivalent electrified/pneumatic railtype that is powered on your electrified/pneumatic railtype to support it if you are making a new railtype set, older sets can be covered by fix or patch grfs&lt;br /&gt;
|-&lt;br /&gt;
|0 ||(A number zero, not a letter &amp;quot;Oh&amp;quot;) No track, eyecandy-use only&lt;br /&gt;
|-&lt;br /&gt;
|U ||&lt;br /&gt;
|-&lt;br /&gt;
|1 ||Early Monorail; See [https://perma.cc/6BVS-2P2X here] and [https://perma.cc/VCG2-ATUA here]&lt;br /&gt;
|-&lt;br /&gt;
|G ||Gyrail; [https://en.wikipedia.org/wiki/Gyro_monorail Gyro monorail/Gyroscopic monorail/Gyro-stabilized monorail] for description and IRL example, and [https://wikimon.net/Trailmon here] ([https://web.archive.org/web/20240227205547/https://wikimon.net/Trailmon archived]) for good fictional examples&lt;br /&gt;
|-&lt;br /&gt;
|m ||Minimum gauge rail; [https://en.wikipedia.org/wiki/Minimum-gauge_railway 15 in (381 mm), 400 mm (15+3⁄4 in), 16 in (406 mm), 18 in (457 mm), 19 in (483 mm), 500 mm (19+3⁄4 in) or 20 in (508 mm)]&lt;br /&gt;
|-&lt;br /&gt;
|n ||600mm &amp;quot;Decauville&amp;quot; or &amp;quot;Feldsbahn&amp;quot;, formerly labelled &amp;quot;NG60&amp;quot; before standardization; the most common narrow gauge track type in OpenTTD other than metre gauge, 600mm gauge is thus ideal for taking up the &amp;quot;n&amp;quot; gauge, though this is an ultimately optional distinction&lt;br /&gt;
|-&lt;br /&gt;
|7 ||750mm, Bosnian gauge (760 mm), and 762mm; all start with 7 and are close in size&lt;br /&gt;
|-&lt;br /&gt;
|3 ||Swedish 3 foot (891 mm), 900mm, 3 foot (914 mm) and Italian Metre (950mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|R ||Metre gauge; potentially compatible with base tramtype &amp;quot;RABN&amp;quot;, most early tramways were metre gauge&lt;br /&gt;
|-&lt;br /&gt;
|4 ||4 foot gauge (1219 mm), and possibly 4&#039;6&amp;quot; in. (1372 mm) if standardization is needed for 1372mm&lt;br /&gt;
|-&lt;br /&gt;
|s ||Scotch gauge (1372 mm)&lt;br /&gt;
|-&lt;br /&gt;
|S ||Standard gauge; already implemented in original standardized railtype scheme, but could include near-standard (1432 mm) as well as existing true standard (1435 mm) and is also potentially compatible with the SABN tramtype&lt;br /&gt;
|-&lt;br /&gt;
|X ||Omni-gauge rail (for at-grade multi-gauge crossings and stations); ultrabroad/secondary broad/primary broad/standard/primary narrow/secondary narrow gauge&lt;br /&gt;
|-&lt;br /&gt;
|x ||Multi-gauge rail (for at-grade multi-gauge crossings and stations); secondary broad/primary broad/standard/primary narrow/secondary narrow&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;+&amp;lt;/nowiki&amp;gt; ||Quad-gauge (Four-gauge) rail (for at-grade multi-gauge crossings and stations); secondary broad/primary broad/standard/primary narrow&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt; ||Four-gauge rail (for at-grade multi-gauge crossings and stations); primary broad/standard/primary narrow/secondary narrow&lt;br /&gt;
|-&lt;br /&gt;
|b ||Broad gauge rail - As broad gauge is a rare tracktype, it may still be feasible to cement B and b as broad gauges of two differing sizes, but the rarity among gauges in the real world would need to match; Italian (1445 mm) and Dresden (1450 mm) gauges may be better grouped here&lt;br /&gt;
|-&lt;br /&gt;
|t ||Leipzig trams (1458 mm) and Greater Toronto Area streetcars (1495 mm)&lt;br /&gt;
|-&lt;br /&gt;
|5 ||1520mm and 5 foot (1524 mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|V ||Pennsylvanian (1581 mm and 1588 mm) and Australian &amp;quot;Victorian&amp;quot; (1600 mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|6 ||6 foot (1829 mm) broad gauge&lt;br /&gt;
|-&lt;br /&gt;
|g ||Brunel&#039;s Great Western Railway gauge (2140 mm)&lt;br /&gt;
|-&lt;br /&gt;
|B ||Biggest Broad gauge rail - As broad gauge is a rare tracktype, and the variation in common real life track types too wide, it may be desirable to cement B and b as broad gauges of two differing sizes; With no real life examples that match the usage frequency of &amp;quot;B&amp;quot;, the gauge might best draw inspiration from the infamous [https://en.wikipedia.org/wiki/Breitspurbahn Breitspurbahn] (3000 mm) and [https://perma.cc/KQ2Z-5RCR the never-built vehicles designed for it], or from the [https://en.wikipedia.org/wiki/Brighton_and_Rottingdean_Seashore_Electric_Railway Brighton &amp;amp; Rottingdean Seashore Electric Railway] (18 ft/5,486 mm) &lt;br /&gt;
|-&lt;br /&gt;
|L ||Maglevs that have a u-shaped track&lt;br /&gt;
|-&lt;br /&gt;
|T ||Maglevs that have a monorail track&lt;br /&gt;
|-&lt;br /&gt;
|F ||Flightrail; A [https://web.archive.org/web/20231213122530/http://www.flightrail.com/ system capable of high speeds and steep hill grades] that uses a pneumatic pipe for propulsion (see &amp;quot;P&amp;quot; under energy sources), and &#039;&#039;wheels pointed inwards at a 45-degree angle&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
It might be preferred to instead use/keep &amp;quot;B&amp;quot; for &amp;quot;all (current) broad gauges&amp;quot; (mostly Victorian gauge) instead using lowercase &amp;quot;b&amp;quot; for Brunel/GWR broad gauge. This wouldn&#039;t be to different from narrow gauge since the lesser used ones are lowercase and fallback to the uppercase ones.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Electrification !!Fallback&lt;br /&gt;
|-&lt;br /&gt;
|S ||Maglevs that use a synchronous linear motor ||N/A&lt;br /&gt;
|-&lt;br /&gt;
|I ||Maglevs that use a linear induction motor ||MGLV (the whole label)&lt;br /&gt;
|-&lt;br /&gt;
|V ||Vactrains/Hyperloop ||t, then I, then MGLV (the whole label)&lt;br /&gt;
|-&lt;br /&gt;
|t ||&amp;quot;Universal custom tunnel&amp;quot; (for electrified sub-surface rail tunnels) ||E (mandatory)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt; ||Universal energy type (&#039;&#039;not&#039;&#039; meant to replace &amp;quot;***N&amp;quot;; use for vehicles such as driving cabs which cannot move under their own power regardless, if desired) ||N/A (Be sure to put &amp;quot;***E&amp;quot; in the [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]] of a &amp;quot;***-&amp;quot; label)&lt;br /&gt;
|-&lt;br /&gt;
|P ||Pneumatic tube with physical piston slit, or closed pneumatic tube with magnetic piston (i.e. that used by [https://web.archive.org/web/20231213122530/http://www.flightrail.com/ Flightrail]) ||N/A&lt;br /&gt;
|-&lt;br /&gt;
|p ||Pneumatic and universal electrical power ||N/A (Be sure to put &amp;quot;***_&amp;quot; and ***P&amp;quot; in the [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]] of a &amp;quot;***p&amp;quot; label)&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Lurkmore</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=Standardized_Railtype_Scheme&amp;diff=4736</id>
		<title>Standardized Railtype Scheme</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=Standardized_Railtype_Scheme&amp;diff=4736"/>
		<updated>2024-02-27T22:23:07Z</updated>

		<summary type="html">&lt;p&gt;Lurkmore: /* Possible additions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This railtype label scheme aims to bring order to the uncontrolled growth of railtype labels. It groups the rail types into what matters from a technical perspective. The scheme provides a standardized way of defining railtype labels, based on track gauge and type, speed class, allowable axle weight and electrification type.&lt;br /&gt;
&lt;br /&gt;
It is the explicit intent of this scheme to decouple track sets from vehicle sets to facilitate easy mixing. This way the player can select a track set of choice to go with a train set of choice. It allows the player to play with or without axle load classes, or with or without speed limit classes, simply by loading a track set that does or does not provide these features. In some cases it will also be possible to combine niche track sets, for instance a standard gauge track set with a narrow gauge and a metro track set.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== The Label Scheme ==&lt;br /&gt;
A railtype label consists of four characters. In this scheme, each position has a different purpose:&lt;br /&gt;
# Track gauge and type class (e.g. standard gauge rail, narrow gauge rail, monorail)&lt;br /&gt;
# Speed limit class&lt;br /&gt;
# Axle load class (maximum allowed axle weight for this track)&lt;br /&gt;
# Energy source type class&lt;br /&gt;
&lt;br /&gt;
In the next sections, each of the four positions will be explained.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Track gauge and type class [X***] ===&lt;br /&gt;
The first position in the railtype label defines track gauge and/or track type class. The following classes are currently defined:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Track type/gauge&lt;br /&gt;
|- &lt;br /&gt;
|S ||Standard gauge rail&lt;br /&gt;
|-&lt;br /&gt;
|B ||Broad gauge rail &lt;br /&gt;
|-&lt;br /&gt;
|N ||Narrow gauge rail&lt;br /&gt;
|-&lt;br /&gt;
|n ||Secondary narrow gauge rail (e.g. when providing both metre and cape gauge, always use N in case of just one type of narrow gauge)&lt;br /&gt;
|-&lt;br /&gt;
|D ||Dual gauge rail, standard/broad gauge&lt;br /&gt;
|-&lt;br /&gt;
|d ||Dual gauge rail, standard/narrow gauge&lt;br /&gt;
|-&lt;br /&gt;
|M ||Monorail&lt;br /&gt;
|-&lt;br /&gt;
|L ||Magnetic Levitation&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Speed limit class [*X**] ===&lt;br /&gt;
The second position in the railtype label defines the speed limit class. These classes do not map to a fixed numeric value, but are used to define an internal speed limit order for the track set. This means that if your track set has two different speed limits for track types that are otherwise identical, you&#039;ll use letters A and B here. In case of three different speed limits, use A, B and C. In case your track set does not employ speed limits, always use A. Train sets do not care about the speed limit, and will always set the lowest speed class, i.e. A.&lt;br /&gt;
&lt;br /&gt;
This gives for instance the following options:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||no speed limits&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;OR&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||low speed&lt;br /&gt;
|-&lt;br /&gt;
|B ||high speed&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;OR&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||low speed&lt;br /&gt;
|-&lt;br /&gt;
|B ||medium speed&lt;br /&gt;
|-&lt;br /&gt;
|C ||high speed&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;etc.&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear:left;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The speed limit class may also be used for some advanced features of the label scheme, like specialized track types and eyecandy purposes. Be careful not to break the compatibility with other sets when using the speed limit class for these purposes.&lt;br /&gt;
&lt;br /&gt;
An example of a special use is rack rail. In the French set it is used to give rack rail engines a higher speed and TE than normal rail engines when used on rack rail. When defining trains with a special speed limit class, always allow a fallback to speed limit class A via the railtype table.&lt;br /&gt;
&lt;br /&gt;
An example of eyecandy use are urban tracks. These are a variation of regular tracks, but with concrete ground tiles to better match the urban environment. Train sets must not define vehicles for eyecandy classes. If you think you have special vehicles that should only run on the eyecandy class, it is &#039;&#039;not&#039;&#039; eyecandy but a separate track gauge/type.&lt;br /&gt;
&lt;br /&gt;
The following special and eyecandy classes have been defined so far:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Description !!Type !!Used by&lt;br /&gt;
|- &lt;br /&gt;
|A-H ||speed limits ||colspan=&amp;quot;2&amp;quot;|reserved&lt;br /&gt;
|- &lt;br /&gt;
|R ||rack rail ||special ||French Set Rails &lt;br /&gt;
|- &lt;br /&gt;
|S ||subterranean ||eyecandy ||Metro Track Set&lt;br /&gt;
|- &lt;br /&gt;
|U ||urban ||eyecandy ||Metro Track Set&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Axle load class [**X*] ===&lt;br /&gt;
The third position defines the axle weight limit. Heavy trains cannot run on tracks with a low axle weight limit; these trains need more expensive tracks with a heigher weight limit. There are five axle load classes &#039;&#039;&#039;A&#039;&#039;&#039; through &#039;&#039;&#039;E&#039;&#039;&#039;. &#039;&#039;&#039;A&#039;&#039;&#039; is for the lowest axle load limit, &#039;&#039;&#039;E&#039;&#039;&#039; for the highest. The exact axle load attached to each class is relative to the track gauge/type and trains in the set. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A train set should set the appropriate axle weight for each train via the railtype label, as to make the set work with track sets that do provide tracks with different weight limits, even if you don&#039;t care about it for your trainset. Split all vehicles of a certain track gauge/type into five groups of similar axle weight. The group with the lowest axle weights will get class &#039;&#039;&#039;A&#039;&#039;&#039;, the second lowest class &#039;&#039;&#039;B&#039;&#039;&#039;, etc. up to the group with the highest axle weights which will get class &#039;&#039;&#039;E&#039;&#039;&#039;. Do the same for the other track gauge/types if your train set has those.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A track set does not have to provide a dedicated track type for each axle weight limit. A track set that does not provide a dedicated track for each axle load class, must make sure to map all undefined axle load classes to a real railtype using property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]]. This way a train set can rely on all labels for all axle load classes being available. Example: if you only want to provide 2 axle load classes for standard gauge unelectrified with no speed limits, you can map SA&#039;&#039;&#039;A&#039;&#039;&#039;N + SA&#039;&#039;&#039;B&#039;&#039;&#039;N to SA&#039;&#039;&#039;C&#039;&#039;&#039;N and SA&#039;&#039;&#039;D&#039;&#039;&#039;N to SA&#039;&#039;&#039;E&#039;&#039;&#039;N if the cost difference between the two railtypes is high, or SA&#039;&#039;&#039;A&#039;&#039;&#039;N to SA&#039;&#039;&#039;B&#039;&#039;&#039;N and SA&#039;&#039;&#039;C&#039;&#039;&#039;N + SA&#039;&#039;&#039;D&#039;&#039;&#039;N to SA&#039;&#039;&#039;E&#039;&#039;&#039;N if the cost difference is low.&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t want to provide any axle load classes in your track set, it doesn&#039;t really matter what axle load class you choose for the track, as you&#039;ll be mapping all other classes to this track anyways. But the lowest or highest class are the obvious choice. Example: if your track set only provides narrow gauge unelectrified track with no speed limits and no axle load limits, you may use NA&#039;&#039;&#039;A&#039;&#039;&#039;N for the track label, and provide NA&#039;&#039;&#039;B&#039;&#039;&#039;N, NA&#039;&#039;&#039;C&#039;&#039;&#039;N, NA&#039;&#039;&#039;D&#039;&#039;&#039;N, NA&#039;&#039;&#039;E&#039;&#039;&#039;N in property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you need more than five axle load class, you may use lowercase letters for very low axle loads and continue the uppercase letters for very high axle loads. Be advised that your train set may not assume the existance of any other class than &#039;&#039;&#039;A&#039;&#039;&#039; through &#039;&#039;&#039;E&#039;&#039;&#039;, so when the range make sure to program your railtype table such that trains with such a class will fall back to class &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;E&#039;&#039;&#039;. If you make a track set with an extended range, be aware that not all train sets will define trains for these tracks. In general: only do this in case of a train set with a matching track set.&lt;br /&gt;
&lt;br /&gt;
For the lowercase letters, &#039;&#039;&#039;b&#039;&#039;&#039; is lower than &#039;&#039;&#039;a&#039;&#039;&#039;, so for increasing axle load limits: b &amp;lt; a &amp;lt; A &amp;lt; B &amp;lt; C etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that the axle load classes never map to a specific weight in tonnes. For that reason it does not make sense to add a numeric value for the axle load to the name of a track type or in the extended purchase info of a train. Instead use the relative expressions &#039;very low&#039;, &#039;low&#039;, &#039;medium&#039;, &#039;high&#039; and &#039;very high&#039; or use the class letters directly.&lt;br /&gt;
&lt;br /&gt;
=== Energy source type class [***X] ===&lt;br /&gt;
The last position defines the energy source type class. This is split in generic energy source types like overhead wires and third rail and specialized types like alternating and direct current.&lt;br /&gt;
&lt;br /&gt;
A track set that only uses specialized types, should map the generic types to the most suitable specialized type in the set.&lt;br /&gt;
&lt;br /&gt;
A vehicle set that uses specialized types should define a generic type as fallback, via the railtype table. If such a fallback is omitted, please note that certain vehicles may be unavailable depending on track set loaded.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Generic energy type classes&lt;br /&gt;
|-&lt;br /&gt;
|N ||no electrification&lt;br /&gt;
|-&lt;br /&gt;
|E ||overhead wires/catenary electrification&lt;br /&gt;
|-&lt;br /&gt;
|3 ||3rd rail electrification&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Specialized energy type classes !!Vehicle set fallback&lt;br /&gt;
|-&lt;br /&gt;
|Z ||3rd rail and catenary electrification || 3 or E&lt;br /&gt;
|-&lt;br /&gt;
|4 ||4th rail electrification || 3&lt;br /&gt;
|-&lt;br /&gt;
|Y ||4th rail and catenary electrification || 4 or E&lt;br /&gt;
|-&lt;br /&gt;
|T ||[http://en.wikipedia.org/wiki/Three-phase_AC_railway_electrification three phase AC electrification] || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|D ||DC catenary electrification || E&lt;br /&gt;
|-&lt;br /&gt;
|d ||low voltage DC catenary electrification (only when D also used in set) || First A then E&lt;br /&gt;
|-&lt;br /&gt;
|A ||AC catenary electrification || E&lt;br /&gt;
|-&lt;br /&gt;
|a ||low voltage AC catenary electrification (only when A also used in set) || First A then E&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
If you want multi-voltage/current vehicles in your set (i.e. a train that can run on both AC and DC current), you have to define a dedicated railtype for those vehicles. Without the railtype, it&#039;s not possible to define vehicles with this property. If you only have vehicles that can run on either one type of voltage/current or on all types of voltage/current (e.g. a 2-system if you only have &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;D&#039;&#039;&#039; tracks, or a 4-system in case of all &#039;&#039;&#039;A&#039;&#039;&#039;, &#039;&#039;&#039;a&#039;&#039;&#039;, &#039;&#039;&#039;D&#039;&#039;&#039; and &#039;&#039;&#039;d&#039;&#039;&#039;), then use the generic class &#039;&#039;&#039;E&#039;&#039;&#039; for vehicles that should be able to run on all different voltage/currents. Also the track set needs to have one at least one railtype with class &#039;&#039;&#039;E&#039;&#039;&#039; defined.&lt;br /&gt;
&lt;br /&gt;
Note that if you want more than one type of multi-voltage/current, you&#039;ll quickly get a combinatory explosion of railtype labels, so plan carefully or do not attempt it. For every different multi-voltage/current vehicle type a dedicated railtype is needed. If you want all possible combinations, then you need to define an additional 8 classes. It is not recommended to make your train/track set this complicated.&lt;br /&gt;
&lt;br /&gt;
Example approach for a 4-system set, with trains that can run on either one or all systems:&lt;br /&gt;
* &#039;&#039;&#039;E&#039;&#039;&#039;: generic catenary-powered electric engines. &amp;quot;universal&amp;quot; [4-system] if any of &#039;&#039;&#039;D&#039;&#039;&#039;/&#039;&#039;&#039;d&#039;&#039;&#039;/&#039;&#039;&#039;A&#039;&#039;&#039;/&#039;&#039;&#039;a&#039;&#039;&#039; are defined.&lt;br /&gt;
* &#039;&#039;&#039;A&#039;&#039;&#039;: generic AC catenary electric engines. 25kV only if &#039;&#039;&#039;a&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;A&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;a&#039;&#039;&#039;: 15kV AC catenary electric engines. Only defined if &#039;&#039;&#039;A&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;a&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;D&#039;&#039;&#039;: generic DC catenary electric engines. 3kV if &#039;&#039;&#039;d&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;D&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;d&#039;&#039;&#039;: 1.5kV DC catenary electric engines. Only defined if &#039;&#039;&#039;D&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;D&#039;&#039;&#039; and &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;d&#039;&#039;&#039;.&lt;br /&gt;
For a 2-system set, you can simply drop &#039;&#039;&#039;a&#039;&#039;&#039; and &#039;&#039;&#039;d&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Standard labels: RAIL, ELRL, MONO, MGLV ===&lt;br /&gt;
It&#039;s not possible to undefine the standard railtypes RAIL, ELRL, MONO and MGLV. The game will always add those if there are vehicles defined for these track types. As a result, for a track set it&#039;s best not to ignore those standard labels, but rather work with them and define them in the set. If your track set does not have monorail or maglev tracks, there of course is no need to define those. But if your track set defines anything that resembles unelectrified or electrified rail, you should use the RAIL and ELRL labels. Matching labels from the above scheme will then be defined in property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
As vehicles from NewGRFs that do not use explicit railtypes will end up on these standard railtypes, you should use RAIL instead of whatever type could be regarded as the most commonly used unelectrified type, ELRL instead of the most commonly used electrified type and so on. The label according to this scheme is then set as an alternate.&lt;br /&gt;
&lt;br /&gt;
== Summary for track sets ==&lt;br /&gt;
This section summarizes the above for track sets.&lt;br /&gt;
&lt;br /&gt;
; [X***] Track gauge and type class&lt;br /&gt;
* Define at least one track type for every track gauge/type class you want in your set.&lt;br /&gt;
* If you only provide tracks for one gauge/type, consider leaving some free railtypes so a player can load an additional set for some other type.&lt;br /&gt;
; [*X**] Speed limit class&lt;br /&gt;
* Make sure class A is always available, either directly or via an alternate label.&lt;br /&gt;
* Use only class A if you don&#039;t want speed limits;&lt;br /&gt;
* With speed limits, A is the lowest speed limit. Continue with B, C, etc. for increasing speed limits;&lt;br /&gt;
* The speed class can also be used to implement additional eye-candy track types, use letters higher in the alphabet for this.&lt;br /&gt;
; [**X*] Axle load class&lt;br /&gt;
* Always define all classes A through E for every track type class / electrification combination, either:&lt;br /&gt;
** Directly via a real railtype definition;&lt;br /&gt;
** Indirectly via the alternate rail type label list, property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
* Extend the predefined classes only if you also provide a train set that makes use of these.&lt;br /&gt;
; [***X] Energy source type class&lt;br /&gt;
* If your set only uses specialized classes, always map the generic classes to the closest matching specialized type via property 1D.&lt;br /&gt;
; Standard labels [RAIL, ELRL, MONO, MGLV]&lt;br /&gt;
* Always define the standard labels when possible, instead of what would be the equivalent of the standard label in this scheme.&lt;br /&gt;
* Map the equivalent labels from this scheme to the standard labels using property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
Or, put differently, for each gauge/type, select one or more energy source types. For each type/energy combination provide all axle load classes for the speed class &amp;quot;A&amp;quot;, either as a real type or as an alternate of another type. Provide more types with a different speed letter if you want to provide several different speeds or other eye-candy tracks.&lt;br /&gt;
&lt;br /&gt;
== Summary for train sets ==&lt;br /&gt;
This section summarizes the above for train sets.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; [X***] Track gauge and type class&lt;br /&gt;
* Use the track type class that matches the vehicle;&lt;br /&gt;
* Define a fallback type via the railtype table in case you want the vehicle to be available on a different track if no matching track set is loaded.&lt;br /&gt;
** Specialized subtypes like &amp;quot;n&amp;quot; might not always be available. If you want those vehicles to be still available then, fall back the the generic class (e.g. &amp;quot;N&amp;quot;).&lt;br /&gt;
; [*X**] Speed limit class &lt;br /&gt;
* Always use class A for every vehicle.&lt;br /&gt;
; [**X*] Axle load class&lt;br /&gt;
* Use all classes A through E according to the maximum axle weight of the vehicle.&lt;br /&gt;
* Extend the predefined classes only if you also provide a track set that makes use of these;&lt;br /&gt;
** When extending the predefined classes A through E, define a fallback type via the railtype table in case you want the vehicle to be available if no matching track set is loaded.&lt;br /&gt;
; [***X] Energy source type class&lt;br /&gt;
* Use the energy source type class that matches the vehicle;&lt;br /&gt;
* When using specialized classes, define a fallback type via the railtype table in case you want the vehicle to be available if no matching track set is loaded.&lt;br /&gt;
; Standard labels [RAIL, ELRL, MONO, MGLV]&lt;br /&gt;
* Define a fallback type to the standard labels via the railtype table in case you want the vehicle to be available on the standard tracks if no matching track set is loaded.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Be as specific as you want when selecting the railtype, it is the job of the track set to select a playable, reduced subset out of all possible type combinations.&lt;br /&gt;
&lt;br /&gt;
== In case you&#039;re not convinced by this scheme ==&lt;br /&gt;
Adopting this scheme gives the player freedom to use any track set in combination with any train set that follow the scheme. &lt;br /&gt;
&lt;br /&gt;
This means that you can make your train set compatible with track sets that provide axle load classes, and track sets that provide speed limits, and at the same time with track sets that provide none of this. This way, the player can decide to play with or without axle load classes, or with or without speed limits, simply by loading a track set that does or does not provide these features.&lt;br /&gt;
&lt;br /&gt;
And for your track set, it means that you can make it as simple or as complicated as you want (within the 64 track type limit), while not having to worry about compatibility with train sets.&lt;br /&gt;
&lt;br /&gt;
Still not convinced? Feel free to use railtype labels of your own, but know that you will likely come to regret that at some point in the future.&lt;br /&gt;
&lt;br /&gt;
==Forum topic==&lt;br /&gt;
If you want to discuss the standardized railtype scheme or have any questions about it, you can visit [http://www.tt-forums.net/viewtopic.php?t=59379 the forum topic].&lt;br /&gt;
&lt;br /&gt;
==&amp;quot;Innsbruck 2022 Convention&amp;quot; for partial compliance==&lt;br /&gt;
&lt;br /&gt;
This is really esoteric, but eh. It was the product of long discussion / debate / argument / reasoning between grf authors.&lt;br /&gt;
&lt;br /&gt;
1. The Standardized Railtype Scheme &#039;&#039;&#039;is a useful tool&#039;&#039;&#039; for providing reliable compatibility between train grfs and railtype grfs.&lt;br /&gt;
&lt;br /&gt;
2. The &#039;&#039;&#039;axle load class&#039;&#039;&#039; in the scheme presents a number of issues for compliance.&lt;br /&gt;
&lt;br /&gt;
2.1. Over 10 years since the scheme was standardised, not many train grfs implement multiple axle load classes &#039;&#039;&#039;as required by the scheme&#039;&#039;&#039;.  Known examples that &#039;&#039;&#039;do&#039;&#039;&#039; comply include Dutch Train Set, French Narrow Gauge Trains, and Finnish Trains.&lt;br /&gt;
&lt;br /&gt;
2.2. Elements of the axle load rules have proven hard to interpret.  For example:&lt;br /&gt;
&lt;br /&gt;
* is it compliant to use &#039;&#039;fewer&#039;&#039; than 5 classes in a train grf?  There is a lack of consensus on this.&lt;br /&gt;
* axle load is only one of many factors that govern whether a vehicle is compatible with a route, for example loading gauge, minimum curve, signalling types etc&lt;br /&gt;
&lt;br /&gt;
2.3. Meanwhile &#039;&#039;multiple existing train grfs use class &#039;&#039;A&#039;&#039; for the axle load for all trains&#039;&#039; (except where relying on default railtypes such as RAIL and ELRL).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3. The Innsbruck 2022 Convention uses class &#039;&#039;A&#039;&#039; for axle load for &#039;&#039;&#039;all&#039;&#039;&#039; trains in a train grf (except where relying on default railtypes such as RAIL and ELRL).&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is &#039;&#039;&#039;not&#039;&#039;&#039; fully compliant with the Standardized Railtype Scheme and does not claim to be.&lt;br /&gt;
&lt;br /&gt;
However train grfs using the Innsbruck 2022 Convention are &#039;&#039;broadly compatible&#039;&#039; with railtype grfs using the Standardized Railtype Scheme.  &lt;br /&gt;
&lt;br /&gt;
Obligatory XKCD link about &#039;standards&#039;: https://xkcd.com/927/&lt;br /&gt;
&lt;br /&gt;
===Known issues===&lt;br /&gt;
&lt;br /&gt;
Known problems are that trains using only class &#039;A&#039; may limit the ability of railtype grf authors to achieve their design goals for separating railtypes by axle load.  &lt;br /&gt;
But on reflection, it can be seen that a train grf might not be able to provide a broad enough range of vehicles to cover at least 5 axle load classes.&lt;br /&gt;
&lt;br /&gt;
3.1. The Innsbruck 2022 Convention is &#039;&#039;&#039;not&#039;&#039;&#039; appropriate for train grf authors who wish to provide more than one axle load class.&lt;br /&gt;
&lt;br /&gt;
3.2. The Innsbruck 2022 Convention treats the meaning of class &#039;&#039;A&#039;&#039; as &#039;&#039;undefined&#039;&#039;, &#039;&#039;ignored&#039;&#039; or &#039;&#039;compatible with most restricted railtype&#039;&#039; for axle load.  &lt;br /&gt;
&lt;br /&gt;
Axle load class &#039;&#039;A&#039;&#039; &#039;&#039;&#039;cannot&#039;&#039;&#039; be safely interpreted as &#039;&#039;universal&#039;&#039; because from the perspective of a railtype grf &#039;&#039;A&#039;&#039; is &#039;&#039;most restricted railtype&#039;&#039;, where &#039;&#039;universal&#039;&#039; is better represented as &#039;&#039;least restricted railtype&#039;&#039;. Depending how many axle load classes are in use by the railtype grf, this could be class &#039;&#039;B&#039;&#039;, &#039;&#039;C&#039;&#039;, &#039;&#039;D&#039;&#039;, &#039;&#039;E&#039;&#039; etc.  To illustrate this issue, take the following scenario&lt;br /&gt;
&lt;br /&gt;
* railtype grf defines axle loads &#039;&#039;A&#039;&#039; to &#039;&#039;E&#039;&#039;. In this case the railtype grf author intends that &#039;&#039;A&#039;&#039; is compatible with the smallest range of vehicles, &#039;&#039;E&#039;&#039; is compatible with the largest range of vehicles, and &#039;&#039;B&#039;&#039;, &#039;&#039;C&#039;&#039; and &#039;&#039;D&#039;&#039; are compatible with some intermediate ranges of vehicles&lt;br /&gt;
* but the vehicle grf author has defined all vehicles to be axle load &#039;&#039;A&#039;&#039; in an attempt to express this vehicle is &#039;&#039;universal&#039;&#039;.  The result in the game is that an identical range of vehicles will be compatible with railtypes &#039;&#039;A&#039;&#039; to &#039;&#039;E&#039;&#039;.  &lt;br /&gt;
&lt;br /&gt;
This is clearly &#039;&#039;&#039;not&#039;&#039;&#039; the intended outcome of the railtype author. But nor is it clear within the spec that the vehicle author has particularly done anything wrong. &lt;br /&gt;
&lt;br /&gt;
It &#039;&#039;would&#039;&#039; be possible to use railtype availability testing to adjust the vehicle property 05 (track_type) to fit the highest defined axle load (&#039;&#039;E&#039;&#039; in this example case), but this is not insignificant work, and it&#039;s unlikely to be widely adopted by vehicle grf authors.  Nor would this solution achieve &#039;&#039;universal&#039;&#039; as all vehicles in vehicle grf then would be incompatible with types &#039;&#039;A&#039;&#039; through &#039;&#039;D&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
3.3. When the Innsbruck 2022 Convention is used, this &#039;&#039;&#039;does not prevent&#039;&#039;&#039; a train grf being extended in some future release to achieve full compliance with Standardized Railtype Scheme. &#039;&#039;That choice remains with train grf authors&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
3.4. If 2012 could be revisited, providing an optional &#039;&#039;_&#039;&#039; axle load class in the Standardized Railtype Scheme for &#039;&#039;undefined&#039;&#039; would have been preferable, but as of 2022, &#039;&#039;A&#039;&#039; is already widely used for this purpose, and time travel is not known to be possible.&lt;br /&gt;
&lt;br /&gt;
==Extended multivoltage support addition==&lt;br /&gt;
These are extensions to the energy source type class currently supported by SETS and xUSSR Rails which allow trainsets to code trains which are limited to a certain selection of voltages. As stated in the energy source type class section this might not be of use for all sets, as such it is optional but still recommended for trainsets for ideal functionality with tracksets which support the extended labels.&lt;br /&gt;
{|&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Specialized energy type classes !!Vehicle set fallback&lt;br /&gt;
|-&lt;br /&gt;
|* ||Equivilent to A, a, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|&#039; ||Equivilent to A, a and D || E&lt;br /&gt;
|-&lt;br /&gt;
|^ ||Equivilent to A, a and d || E&lt;br /&gt;
|-&lt;br /&gt;
|_ ||Equivilent to A, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
|, ||Equivilent to a, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|$ ||Equivilent to A and a  || First A then E&lt;br /&gt;
|-&lt;br /&gt;
|= ||Equivilent to D and d  || First D then E&lt;br /&gt;
|-&lt;br /&gt;
|) ||Equivilent to A and D  || E&lt;br /&gt;
|-&lt;br /&gt;
|( ||Equivilent to A and d  || E&lt;br /&gt;
|-&lt;br /&gt;
|] ||Equivilent to a and D  || E&lt;br /&gt;
|-&lt;br /&gt;
|[ ||Equivilent to a and d  || E&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Possible additions==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Track type/gauge&lt;br /&gt;
|-&lt;br /&gt;
|_ ||Universal &amp;quot;cheat&amp;quot; rail; ALWAYS add &amp;quot;_A_-&amp;quot;, &amp;quot;_A_t and &amp;quot;_A_N&amp;quot; to EVERY [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]] to support it if you are making a new set, older sets can be covered by fix or patch grfs&lt;br /&gt;
|-&lt;br /&gt;
|0 ||(A number zero, not a letter &amp;quot;Oh&amp;quot;) No track, eyecandy-use only&lt;br /&gt;
|-&lt;br /&gt;
|U ||&lt;br /&gt;
|-&lt;br /&gt;
|1 ||Early Monorail; See [https://perma.cc/6BVS-2P2X here] and [https://perma.cc/VCG2-ATUA here]&lt;br /&gt;
|-&lt;br /&gt;
|G ||Gyrail; [https://en.wikipedia.org/wiki/Gyro_monorail Gyro monorail/Gyroscopic monorail/Gyro-stabilized monorail] for description and IRL example, and [https://wikimon.net/Trailmon here] ([https://web.archive.org/web/20240227205547/https://wikimon.net/Trailmon archived]) for good fictional examples&lt;br /&gt;
|-&lt;br /&gt;
|m ||Minimum gauge rail; [https://en.wikipedia.org/wiki/Minimum-gauge_railway 15 in (381 mm), 400 mm (15+3⁄4 in), 16 in (406 mm), 18 in (457 mm), 19 in (483 mm), 500 mm (19+3⁄4 in) or 20 in (508 mm)]&lt;br /&gt;
|-&lt;br /&gt;
|n ||600mm &amp;quot;Decauville&amp;quot; or &amp;quot;Feldsbahn&amp;quot;, formerly labelled &amp;quot;NG60&amp;quot; before standardization; the most common narrow gauge track type in OpenTTD other than metre gauge, 600mm gauge is thus ideal for taking up the &amp;quot;n&amp;quot; gauge, though this is an ultimately optional distinction&lt;br /&gt;
|-&lt;br /&gt;
|7 ||750mm, Bosnian gauge (760 mm), and 762mm; all start with 7 and are close in size&lt;br /&gt;
|-&lt;br /&gt;
|3 ||Swedish 3 foot (891 mm), 900mm, 3 foot (914 mm) and Italian Metre (950mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|R ||Metre gauge; potentially compatible with base tramtype &amp;quot;RABN&amp;quot;, most early tramways were metre gauge&lt;br /&gt;
|-&lt;br /&gt;
|4 ||4 foot gauge (1219 mm), and possibly 4&#039;6&amp;quot; in. (1372 mm) if standardization is needed for 1372mm&lt;br /&gt;
|-&lt;br /&gt;
|s ||Scotch gauge (1372 mm)&lt;br /&gt;
|-&lt;br /&gt;
|S ||Standard gauge; already implemented in original standardized railtype scheme, but could include near-standard (1432 mm) as well as existing true standard (1435 mm) and is also potentially compatible with the SABN tramtype&lt;br /&gt;
|-&lt;br /&gt;
|X ||Omni-gauge rail (for at-grade multi-gauge crossings and stations); ultrabroad/secondary broad/primary broad/standard/primary narrow/secondary narrow gauge&lt;br /&gt;
|-&lt;br /&gt;
|x ||Multi-gauge rail (for at-grade multi-gauge crossings and stations); secondary broad/primary broad/standard/primary narrow/secondary narrow&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;+&amp;lt;/nowiki&amp;gt; ||Quad-gauge (Four-gauge) rail (for at-grade multi-gauge crossings and stations); secondary broad/primary broad/standard/primary narrow&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt; ||Four-gauge rail (for at-grade multi-gauge crossings and stations); primary broad/standard/primary narrow/secondary narrow&lt;br /&gt;
|-&lt;br /&gt;
|b ||Broad gauge rail - As broad gauge is a rare tracktype, it may still be feasible to cement B and b as broad gauges of two differing sizes, but the rarity among gauges in the real world would need to match; Italian (1445 mm) and Dresden (1450 mm) gauges may be better grouped here&lt;br /&gt;
|-&lt;br /&gt;
|t ||Leipzig trams (1458 mm) and Greater Toronto Area streetcars (1495 mm)&lt;br /&gt;
|-&lt;br /&gt;
|5 ||1520mm and 5 foot (1524 mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|V ||Pennsylvanian (1581 mm and 1588 mm) and Australian &amp;quot;Victorian&amp;quot; (1600 mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|6 ||6 foot (1829 mm) broad gauge&lt;br /&gt;
|-&lt;br /&gt;
|g ||Brunel&#039;s Great Western Railway gauge (2140 mm)&lt;br /&gt;
|-&lt;br /&gt;
|B ||Biggest Broad gauge rail - As broad gauge is a rare tracktype, and the variation in common real life track types too wide, it may be desirable to cement B and b as broad gauges of two differing sizes; With no real life examples that match the usage frequency of &amp;quot;B&amp;quot;, the gauge might best draw inspiration from the infamous [https://en.wikipedia.org/wiki/Breitspurbahn Breitspurbahn] (3000 mm) and [https://perma.cc/KQ2Z-5RCR the never-built vehicles designed for it], or from the [https://en.wikipedia.org/wiki/Brighton_and_Rottingdean_Seashore_Electric_Railway Brighton &amp;amp; Rottingdean Seashore Electric Railway] (18 ft/5,486 mm) &lt;br /&gt;
|-&lt;br /&gt;
|L ||Maglevs that have a u-shaped track&lt;br /&gt;
|-&lt;br /&gt;
|T ||Maglevs that have a monorail track&lt;br /&gt;
|-&lt;br /&gt;
|F ||Flightrail; A [https://web.archive.org/web/20231213122530/http://www.flightrail.com/ system capable of high speeds and steep hill grades] that uses a pneumatic pipe for propulsion (see &amp;quot;P&amp;quot; under energy sources), and &#039;&#039;wheels pointed inwards at a 45-degree angle&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
It might be preferred to instead use/keep &amp;quot;B&amp;quot; for &amp;quot;all (current) broad gauges&amp;quot; (mostly Victorian gauge) instead using lowercase &amp;quot;b&amp;quot; for Brunel/GWR broad gauge. This wouldn&#039;t be to different from narrow gauge since the lesser used ones are lowercase and fallback to the uppercase ones.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Electrification !!Fallback&lt;br /&gt;
|-&lt;br /&gt;
|S ||Maglevs that use a synchronous linear motor ||N/A&lt;br /&gt;
|-&lt;br /&gt;
|I ||Maglevs that use a linear induction motor ||MGLV (the whole label)&lt;br /&gt;
|-&lt;br /&gt;
|V ||Vactrains/Hyperloop ||t, then I, then MGLV (the whole label)&lt;br /&gt;
|-&lt;br /&gt;
|t ||&amp;quot;Universal custom tunnel&amp;quot; (for electrified sub-surface rail tunnels) ||E (mandatory)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt; ||Universal energy type (&#039;&#039;not&#039;&#039; meant to replace &amp;quot;***N&amp;quot;; use for vehicles such as driving cabs which cannot move under their own power regardless, if desired) ||N/A (Be sure to put &amp;quot;***E&amp;quot; in the [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]] of a &amp;quot;***-&amp;quot; label)&lt;br /&gt;
|-&lt;br /&gt;
|P ||Pneumatic tube with physical piston slit, or closed pneumatic tube with magnetic piston (i.e. that used by [https://web.archive.org/web/20231213122530/http://www.flightrail.com/ Flightrail]) ||N/A&lt;br /&gt;
|-&lt;br /&gt;
|p ||Pneumatic and universal electrical power ||N/A (Be sure to put &amp;quot;***_&amp;quot; and ***P&amp;quot; in the [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]] of a &amp;quot;***p&amp;quot; label)&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Lurkmore</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=Standardized_Railtype_Scheme&amp;diff=4735</id>
		<title>Standardized Railtype Scheme</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=Standardized_Railtype_Scheme&amp;diff=4735"/>
		<updated>2024-02-27T21:26:55Z</updated>

		<summary type="html">&lt;p&gt;Lurkmore: /* Possible additions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This railtype label scheme aims to bring order to the uncontrolled growth of railtype labels. It groups the rail types into what matters from a technical perspective. The scheme provides a standardized way of defining railtype labels, based on track gauge and type, speed class, allowable axle weight and electrification type.&lt;br /&gt;
&lt;br /&gt;
It is the explicit intent of this scheme to decouple track sets from vehicle sets to facilitate easy mixing. This way the player can select a track set of choice to go with a train set of choice. It allows the player to play with or without axle load classes, or with or without speed limit classes, simply by loading a track set that does or does not provide these features. In some cases it will also be possible to combine niche track sets, for instance a standard gauge track set with a narrow gauge and a metro track set.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== The Label Scheme ==&lt;br /&gt;
A railtype label consists of four characters. In this scheme, each position has a different purpose:&lt;br /&gt;
# Track gauge and type class (e.g. standard gauge rail, narrow gauge rail, monorail)&lt;br /&gt;
# Speed limit class&lt;br /&gt;
# Axle load class (maximum allowed axle weight for this track)&lt;br /&gt;
# Energy source type class&lt;br /&gt;
&lt;br /&gt;
In the next sections, each of the four positions will be explained.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Track gauge and type class [X***] ===&lt;br /&gt;
The first position in the railtype label defines track gauge and/or track type class. The following classes are currently defined:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Track type/gauge&lt;br /&gt;
|- &lt;br /&gt;
|S ||Standard gauge rail&lt;br /&gt;
|-&lt;br /&gt;
|B ||Broad gauge rail &lt;br /&gt;
|-&lt;br /&gt;
|N ||Narrow gauge rail&lt;br /&gt;
|-&lt;br /&gt;
|n ||Secondary narrow gauge rail (e.g. when providing both metre and cape gauge, always use N in case of just one type of narrow gauge)&lt;br /&gt;
|-&lt;br /&gt;
|D ||Dual gauge rail, standard/broad gauge&lt;br /&gt;
|-&lt;br /&gt;
|d ||Dual gauge rail, standard/narrow gauge&lt;br /&gt;
|-&lt;br /&gt;
|M ||Monorail&lt;br /&gt;
|-&lt;br /&gt;
|L ||Magnetic Levitation&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Speed limit class [*X**] ===&lt;br /&gt;
The second position in the railtype label defines the speed limit class. These classes do not map to a fixed numeric value, but are used to define an internal speed limit order for the track set. This means that if your track set has two different speed limits for track types that are otherwise identical, you&#039;ll use letters A and B here. In case of three different speed limits, use A, B and C. In case your track set does not employ speed limits, always use A. Train sets do not care about the speed limit, and will always set the lowest speed class, i.e. A.&lt;br /&gt;
&lt;br /&gt;
This gives for instance the following options:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||no speed limits&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;OR&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||low speed&lt;br /&gt;
|-&lt;br /&gt;
|B ||high speed&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;OR&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||low speed&lt;br /&gt;
|-&lt;br /&gt;
|B ||medium speed&lt;br /&gt;
|-&lt;br /&gt;
|C ||high speed&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;etc.&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear:left;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The speed limit class may also be used for some advanced features of the label scheme, like specialized track types and eyecandy purposes. Be careful not to break the compatibility with other sets when using the speed limit class for these purposes.&lt;br /&gt;
&lt;br /&gt;
An example of a special use is rack rail. In the French set it is used to give rack rail engines a higher speed and TE than normal rail engines when used on rack rail. When defining trains with a special speed limit class, always allow a fallback to speed limit class A via the railtype table.&lt;br /&gt;
&lt;br /&gt;
An example of eyecandy use are urban tracks. These are a variation of regular tracks, but with concrete ground tiles to better match the urban environment. Train sets must not define vehicles for eyecandy classes. If you think you have special vehicles that should only run on the eyecandy class, it is &#039;&#039;not&#039;&#039; eyecandy but a separate track gauge/type.&lt;br /&gt;
&lt;br /&gt;
The following special and eyecandy classes have been defined so far:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Description !!Type !!Used by&lt;br /&gt;
|- &lt;br /&gt;
|A-H ||speed limits ||colspan=&amp;quot;2&amp;quot;|reserved&lt;br /&gt;
|- &lt;br /&gt;
|R ||rack rail ||special ||French Set Rails &lt;br /&gt;
|- &lt;br /&gt;
|S ||subterranean ||eyecandy ||Metro Track Set&lt;br /&gt;
|- &lt;br /&gt;
|U ||urban ||eyecandy ||Metro Track Set&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Axle load class [**X*] ===&lt;br /&gt;
The third position defines the axle weight limit. Heavy trains cannot run on tracks with a low axle weight limit; these trains need more expensive tracks with a heigher weight limit. There are five axle load classes &#039;&#039;&#039;A&#039;&#039;&#039; through &#039;&#039;&#039;E&#039;&#039;&#039;. &#039;&#039;&#039;A&#039;&#039;&#039; is for the lowest axle load limit, &#039;&#039;&#039;E&#039;&#039;&#039; for the highest. The exact axle load attached to each class is relative to the track gauge/type and trains in the set. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A train set should set the appropriate axle weight for each train via the railtype label, as to make the set work with track sets that do provide tracks with different weight limits, even if you don&#039;t care about it for your trainset. Split all vehicles of a certain track gauge/type into five groups of similar axle weight. The group with the lowest axle weights will get class &#039;&#039;&#039;A&#039;&#039;&#039;, the second lowest class &#039;&#039;&#039;B&#039;&#039;&#039;, etc. up to the group with the highest axle weights which will get class &#039;&#039;&#039;E&#039;&#039;&#039;. Do the same for the other track gauge/types if your train set has those.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A track set does not have to provide a dedicated track type for each axle weight limit. A track set that does not provide a dedicated track for each axle load class, must make sure to map all undefined axle load classes to a real railtype using property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]]. This way a train set can rely on all labels for all axle load classes being available. Example: if you only want to provide 2 axle load classes for standard gauge unelectrified with no speed limits, you can map SA&#039;&#039;&#039;A&#039;&#039;&#039;N + SA&#039;&#039;&#039;B&#039;&#039;&#039;N to SA&#039;&#039;&#039;C&#039;&#039;&#039;N and SA&#039;&#039;&#039;D&#039;&#039;&#039;N to SA&#039;&#039;&#039;E&#039;&#039;&#039;N if the cost difference between the two railtypes is high, or SA&#039;&#039;&#039;A&#039;&#039;&#039;N to SA&#039;&#039;&#039;B&#039;&#039;&#039;N and SA&#039;&#039;&#039;C&#039;&#039;&#039;N + SA&#039;&#039;&#039;D&#039;&#039;&#039;N to SA&#039;&#039;&#039;E&#039;&#039;&#039;N if the cost difference is low.&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t want to provide any axle load classes in your track set, it doesn&#039;t really matter what axle load class you choose for the track, as you&#039;ll be mapping all other classes to this track anyways. But the lowest or highest class are the obvious choice. Example: if your track set only provides narrow gauge unelectrified track with no speed limits and no axle load limits, you may use NA&#039;&#039;&#039;A&#039;&#039;&#039;N for the track label, and provide NA&#039;&#039;&#039;B&#039;&#039;&#039;N, NA&#039;&#039;&#039;C&#039;&#039;&#039;N, NA&#039;&#039;&#039;D&#039;&#039;&#039;N, NA&#039;&#039;&#039;E&#039;&#039;&#039;N in property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you need more than five axle load class, you may use lowercase letters for very low axle loads and continue the uppercase letters for very high axle loads. Be advised that your train set may not assume the existance of any other class than &#039;&#039;&#039;A&#039;&#039;&#039; through &#039;&#039;&#039;E&#039;&#039;&#039;, so when the range make sure to program your railtype table such that trains with such a class will fall back to class &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;E&#039;&#039;&#039;. If you make a track set with an extended range, be aware that not all train sets will define trains for these tracks. In general: only do this in case of a train set with a matching track set.&lt;br /&gt;
&lt;br /&gt;
For the lowercase letters, &#039;&#039;&#039;b&#039;&#039;&#039; is lower than &#039;&#039;&#039;a&#039;&#039;&#039;, so for increasing axle load limits: b &amp;lt; a &amp;lt; A &amp;lt; B &amp;lt; C etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that the axle load classes never map to a specific weight in tonnes. For that reason it does not make sense to add a numeric value for the axle load to the name of a track type or in the extended purchase info of a train. Instead use the relative expressions &#039;very low&#039;, &#039;low&#039;, &#039;medium&#039;, &#039;high&#039; and &#039;very high&#039; or use the class letters directly.&lt;br /&gt;
&lt;br /&gt;
=== Energy source type class [***X] ===&lt;br /&gt;
The last position defines the energy source type class. This is split in generic energy source types like overhead wires and third rail and specialized types like alternating and direct current.&lt;br /&gt;
&lt;br /&gt;
A track set that only uses specialized types, should map the generic types to the most suitable specialized type in the set.&lt;br /&gt;
&lt;br /&gt;
A vehicle set that uses specialized types should define a generic type as fallback, via the railtype table. If such a fallback is omitted, please note that certain vehicles may be unavailable depending on track set loaded.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Generic energy type classes&lt;br /&gt;
|-&lt;br /&gt;
|N ||no electrification&lt;br /&gt;
|-&lt;br /&gt;
|E ||overhead wires/catenary electrification&lt;br /&gt;
|-&lt;br /&gt;
|3 ||3rd rail electrification&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Specialized energy type classes !!Vehicle set fallback&lt;br /&gt;
|-&lt;br /&gt;
|Z ||3rd rail and catenary electrification || 3 or E&lt;br /&gt;
|-&lt;br /&gt;
|4 ||4th rail electrification || 3&lt;br /&gt;
|-&lt;br /&gt;
|Y ||4th rail and catenary electrification || 4 or E&lt;br /&gt;
|-&lt;br /&gt;
|T ||[http://en.wikipedia.org/wiki/Three-phase_AC_railway_electrification three phase AC electrification] || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|D ||DC catenary electrification || E&lt;br /&gt;
|-&lt;br /&gt;
|d ||low voltage DC catenary electrification (only when D also used in set) || First A then E&lt;br /&gt;
|-&lt;br /&gt;
|A ||AC catenary electrification || E&lt;br /&gt;
|-&lt;br /&gt;
|a ||low voltage AC catenary electrification (only when A also used in set) || First A then E&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
If you want multi-voltage/current vehicles in your set (i.e. a train that can run on both AC and DC current), you have to define a dedicated railtype for those vehicles. Without the railtype, it&#039;s not possible to define vehicles with this property. If you only have vehicles that can run on either one type of voltage/current or on all types of voltage/current (e.g. a 2-system if you only have &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;D&#039;&#039;&#039; tracks, or a 4-system in case of all &#039;&#039;&#039;A&#039;&#039;&#039;, &#039;&#039;&#039;a&#039;&#039;&#039;, &#039;&#039;&#039;D&#039;&#039;&#039; and &#039;&#039;&#039;d&#039;&#039;&#039;), then use the generic class &#039;&#039;&#039;E&#039;&#039;&#039; for vehicles that should be able to run on all different voltage/currents. Also the track set needs to have one at least one railtype with class &#039;&#039;&#039;E&#039;&#039;&#039; defined.&lt;br /&gt;
&lt;br /&gt;
Note that if you want more than one type of multi-voltage/current, you&#039;ll quickly get a combinatory explosion of railtype labels, so plan carefully or do not attempt it. For every different multi-voltage/current vehicle type a dedicated railtype is needed. If you want all possible combinations, then you need to define an additional 8 classes. It is not recommended to make your train/track set this complicated.&lt;br /&gt;
&lt;br /&gt;
Example approach for a 4-system set, with trains that can run on either one or all systems:&lt;br /&gt;
* &#039;&#039;&#039;E&#039;&#039;&#039;: generic catenary-powered electric engines. &amp;quot;universal&amp;quot; [4-system] if any of &#039;&#039;&#039;D&#039;&#039;&#039;/&#039;&#039;&#039;d&#039;&#039;&#039;/&#039;&#039;&#039;A&#039;&#039;&#039;/&#039;&#039;&#039;a&#039;&#039;&#039; are defined.&lt;br /&gt;
* &#039;&#039;&#039;A&#039;&#039;&#039;: generic AC catenary electric engines. 25kV only if &#039;&#039;&#039;a&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;A&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;a&#039;&#039;&#039;: 15kV AC catenary electric engines. Only defined if &#039;&#039;&#039;A&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;a&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;D&#039;&#039;&#039;: generic DC catenary electric engines. 3kV if &#039;&#039;&#039;d&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;D&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;d&#039;&#039;&#039;: 1.5kV DC catenary electric engines. Only defined if &#039;&#039;&#039;D&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;D&#039;&#039;&#039; and &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;d&#039;&#039;&#039;.&lt;br /&gt;
For a 2-system set, you can simply drop &#039;&#039;&#039;a&#039;&#039;&#039; and &#039;&#039;&#039;d&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Standard labels: RAIL, ELRL, MONO, MGLV ===&lt;br /&gt;
It&#039;s not possible to undefine the standard railtypes RAIL, ELRL, MONO and MGLV. The game will always add those if there are vehicles defined for these track types. As a result, for a track set it&#039;s best not to ignore those standard labels, but rather work with them and define them in the set. If your track set does not have monorail or maglev tracks, there of course is no need to define those. But if your track set defines anything that resembles unelectrified or electrified rail, you should use the RAIL and ELRL labels. Matching labels from the above scheme will then be defined in property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
As vehicles from NewGRFs that do not use explicit railtypes will end up on these standard railtypes, you should use RAIL instead of whatever type could be regarded as the most commonly used unelectrified type, ELRL instead of the most commonly used electrified type and so on. The label according to this scheme is then set as an alternate.&lt;br /&gt;
&lt;br /&gt;
== Summary for track sets ==&lt;br /&gt;
This section summarizes the above for track sets.&lt;br /&gt;
&lt;br /&gt;
; [X***] Track gauge and type class&lt;br /&gt;
* Define at least one track type for every track gauge/type class you want in your set.&lt;br /&gt;
* If you only provide tracks for one gauge/type, consider leaving some free railtypes so a player can load an additional set for some other type.&lt;br /&gt;
; [*X**] Speed limit class&lt;br /&gt;
* Make sure class A is always available, either directly or via an alternate label.&lt;br /&gt;
* Use only class A if you don&#039;t want speed limits;&lt;br /&gt;
* With speed limits, A is the lowest speed limit. Continue with B, C, etc. for increasing speed limits;&lt;br /&gt;
* The speed class can also be used to implement additional eye-candy track types, use letters higher in the alphabet for this.&lt;br /&gt;
; [**X*] Axle load class&lt;br /&gt;
* Always define all classes A through E for every track type class / electrification combination, either:&lt;br /&gt;
** Directly via a real railtype definition;&lt;br /&gt;
** Indirectly via the alternate rail type label list, property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
* Extend the predefined classes only if you also provide a train set that makes use of these.&lt;br /&gt;
; [***X] Energy source type class&lt;br /&gt;
* If your set only uses specialized classes, always map the generic classes to the closest matching specialized type via property 1D.&lt;br /&gt;
; Standard labels [RAIL, ELRL, MONO, MGLV]&lt;br /&gt;
* Always define the standard labels when possible, instead of what would be the equivalent of the standard label in this scheme.&lt;br /&gt;
* Map the equivalent labels from this scheme to the standard labels using property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
Or, put differently, for each gauge/type, select one or more energy source types. For each type/energy combination provide all axle load classes for the speed class &amp;quot;A&amp;quot;, either as a real type or as an alternate of another type. Provide more types with a different speed letter if you want to provide several different speeds or other eye-candy tracks.&lt;br /&gt;
&lt;br /&gt;
== Summary for train sets ==&lt;br /&gt;
This section summarizes the above for train sets.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; [X***] Track gauge and type class&lt;br /&gt;
* Use the track type class that matches the vehicle;&lt;br /&gt;
* Define a fallback type via the railtype table in case you want the vehicle to be available on a different track if no matching track set is loaded.&lt;br /&gt;
** Specialized subtypes like &amp;quot;n&amp;quot; might not always be available. If you want those vehicles to be still available then, fall back the the generic class (e.g. &amp;quot;N&amp;quot;).&lt;br /&gt;
; [*X**] Speed limit class &lt;br /&gt;
* Always use class A for every vehicle.&lt;br /&gt;
; [**X*] Axle load class&lt;br /&gt;
* Use all classes A through E according to the maximum axle weight of the vehicle.&lt;br /&gt;
* Extend the predefined classes only if you also provide a track set that makes use of these;&lt;br /&gt;
** When extending the predefined classes A through E, define a fallback type via the railtype table in case you want the vehicle to be available if no matching track set is loaded.&lt;br /&gt;
; [***X] Energy source type class&lt;br /&gt;
* Use the energy source type class that matches the vehicle;&lt;br /&gt;
* When using specialized classes, define a fallback type via the railtype table in case you want the vehicle to be available if no matching track set is loaded.&lt;br /&gt;
; Standard labels [RAIL, ELRL, MONO, MGLV]&lt;br /&gt;
* Define a fallback type to the standard labels via the railtype table in case you want the vehicle to be available on the standard tracks if no matching track set is loaded.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Be as specific as you want when selecting the railtype, it is the job of the track set to select a playable, reduced subset out of all possible type combinations.&lt;br /&gt;
&lt;br /&gt;
== In case you&#039;re not convinced by this scheme ==&lt;br /&gt;
Adopting this scheme gives the player freedom to use any track set in combination with any train set that follow the scheme. &lt;br /&gt;
&lt;br /&gt;
This means that you can make your train set compatible with track sets that provide axle load classes, and track sets that provide speed limits, and at the same time with track sets that provide none of this. This way, the player can decide to play with or without axle load classes, or with or without speed limits, simply by loading a track set that does or does not provide these features.&lt;br /&gt;
&lt;br /&gt;
And for your track set, it means that you can make it as simple or as complicated as you want (within the 64 track type limit), while not having to worry about compatibility with train sets.&lt;br /&gt;
&lt;br /&gt;
Still not convinced? Feel free to use railtype labels of your own, but know that you will likely come to regret that at some point in the future.&lt;br /&gt;
&lt;br /&gt;
==Forum topic==&lt;br /&gt;
If you want to discuss the standardized railtype scheme or have any questions about it, you can visit [http://www.tt-forums.net/viewtopic.php?t=59379 the forum topic].&lt;br /&gt;
&lt;br /&gt;
==&amp;quot;Innsbruck 2022 Convention&amp;quot; for partial compliance==&lt;br /&gt;
&lt;br /&gt;
This is really esoteric, but eh. It was the product of long discussion / debate / argument / reasoning between grf authors.&lt;br /&gt;
&lt;br /&gt;
1. The Standardized Railtype Scheme &#039;&#039;&#039;is a useful tool&#039;&#039;&#039; for providing reliable compatibility between train grfs and railtype grfs.&lt;br /&gt;
&lt;br /&gt;
2. The &#039;&#039;&#039;axle load class&#039;&#039;&#039; in the scheme presents a number of issues for compliance.&lt;br /&gt;
&lt;br /&gt;
2.1. Over 10 years since the scheme was standardised, not many train grfs implement multiple axle load classes &#039;&#039;&#039;as required by the scheme&#039;&#039;&#039;.  Known examples that &#039;&#039;&#039;do&#039;&#039;&#039; comply include Dutch Train Set, French Narrow Gauge Trains, and Finnish Trains.&lt;br /&gt;
&lt;br /&gt;
2.2. Elements of the axle load rules have proven hard to interpret.  For example:&lt;br /&gt;
&lt;br /&gt;
* is it compliant to use &#039;&#039;fewer&#039;&#039; than 5 classes in a train grf?  There is a lack of consensus on this.&lt;br /&gt;
* axle load is only one of many factors that govern whether a vehicle is compatible with a route, for example loading gauge, minimum curve, signalling types etc&lt;br /&gt;
&lt;br /&gt;
2.3. Meanwhile &#039;&#039;multiple existing train grfs use class &#039;&#039;A&#039;&#039; for the axle load for all trains&#039;&#039; (except where relying on default railtypes such as RAIL and ELRL).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3. The Innsbruck 2022 Convention uses class &#039;&#039;A&#039;&#039; for axle load for &#039;&#039;&#039;all&#039;&#039;&#039; trains in a train grf (except where relying on default railtypes such as RAIL and ELRL).&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is &#039;&#039;&#039;not&#039;&#039;&#039; fully compliant with the Standardized Railtype Scheme and does not claim to be.&lt;br /&gt;
&lt;br /&gt;
However train grfs using the Innsbruck 2022 Convention are &#039;&#039;broadly compatible&#039;&#039; with railtype grfs using the Standardized Railtype Scheme.  &lt;br /&gt;
&lt;br /&gt;
Obligatory XKCD link about &#039;standards&#039;: https://xkcd.com/927/&lt;br /&gt;
&lt;br /&gt;
===Known issues===&lt;br /&gt;
&lt;br /&gt;
Known problems are that trains using only class &#039;A&#039; may limit the ability of railtype grf authors to achieve their design goals for separating railtypes by axle load.  &lt;br /&gt;
But on reflection, it can be seen that a train grf might not be able to provide a broad enough range of vehicles to cover at least 5 axle load classes.&lt;br /&gt;
&lt;br /&gt;
3.1. The Innsbruck 2022 Convention is &#039;&#039;&#039;not&#039;&#039;&#039; appropriate for train grf authors who wish to provide more than one axle load class.&lt;br /&gt;
&lt;br /&gt;
3.2. The Innsbruck 2022 Convention treats the meaning of class &#039;&#039;A&#039;&#039; as &#039;&#039;undefined&#039;&#039;, &#039;&#039;ignored&#039;&#039; or &#039;&#039;compatible with most restricted railtype&#039;&#039; for axle load.  &lt;br /&gt;
&lt;br /&gt;
Axle load class &#039;&#039;A&#039;&#039; &#039;&#039;&#039;cannot&#039;&#039;&#039; be safely interpreted as &#039;&#039;universal&#039;&#039; because from the perspective of a railtype grf &#039;&#039;A&#039;&#039; is &#039;&#039;most restricted railtype&#039;&#039;, where &#039;&#039;universal&#039;&#039; is better represented as &#039;&#039;least restricted railtype&#039;&#039;. Depending how many axle load classes are in use by the railtype grf, this could be class &#039;&#039;B&#039;&#039;, &#039;&#039;C&#039;&#039;, &#039;&#039;D&#039;&#039;, &#039;&#039;E&#039;&#039; etc.  To illustrate this issue, take the following scenario&lt;br /&gt;
&lt;br /&gt;
* railtype grf defines axle loads &#039;&#039;A&#039;&#039; to &#039;&#039;E&#039;&#039;. In this case the railtype grf author intends that &#039;&#039;A&#039;&#039; is compatible with the smallest range of vehicles, &#039;&#039;E&#039;&#039; is compatible with the largest range of vehicles, and &#039;&#039;B&#039;&#039;, &#039;&#039;C&#039;&#039; and &#039;&#039;D&#039;&#039; are compatible with some intermediate ranges of vehicles&lt;br /&gt;
* but the vehicle grf author has defined all vehicles to be axle load &#039;&#039;A&#039;&#039; in an attempt to express this vehicle is &#039;&#039;universal&#039;&#039;.  The result in the game is that an identical range of vehicles will be compatible with railtypes &#039;&#039;A&#039;&#039; to &#039;&#039;E&#039;&#039;.  &lt;br /&gt;
&lt;br /&gt;
This is clearly &#039;&#039;&#039;not&#039;&#039;&#039; the intended outcome of the railtype author. But nor is it clear within the spec that the vehicle author has particularly done anything wrong. &lt;br /&gt;
&lt;br /&gt;
It &#039;&#039;would&#039;&#039; be possible to use railtype availability testing to adjust the vehicle property 05 (track_type) to fit the highest defined axle load (&#039;&#039;E&#039;&#039; in this example case), but this is not insignificant work, and it&#039;s unlikely to be widely adopted by vehicle grf authors.  Nor would this solution achieve &#039;&#039;universal&#039;&#039; as all vehicles in vehicle grf then would be incompatible with types &#039;&#039;A&#039;&#039; through &#039;&#039;D&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
3.3. When the Innsbruck 2022 Convention is used, this &#039;&#039;&#039;does not prevent&#039;&#039;&#039; a train grf being extended in some future release to achieve full compliance with Standardized Railtype Scheme. &#039;&#039;That choice remains with train grf authors&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
3.4. If 2012 could be revisited, providing an optional &#039;&#039;_&#039;&#039; axle load class in the Standardized Railtype Scheme for &#039;&#039;undefined&#039;&#039; would have been preferable, but as of 2022, &#039;&#039;A&#039;&#039; is already widely used for this purpose, and time travel is not known to be possible.&lt;br /&gt;
&lt;br /&gt;
==Extended multivoltage support addition==&lt;br /&gt;
These are extensions to the energy source type class currently supported by SETS and xUSSR Rails which allow trainsets to code trains which are limited to a certain selection of voltages. As stated in the energy source type class section this might not be of use for all sets, as such it is optional but still recommended for trainsets for ideal functionality with tracksets which support the extended labels.&lt;br /&gt;
{|&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Specialized energy type classes !!Vehicle set fallback&lt;br /&gt;
|-&lt;br /&gt;
|* ||Equivilent to A, a, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|&#039; ||Equivilent to A, a and D || E&lt;br /&gt;
|-&lt;br /&gt;
|^ ||Equivilent to A, a and d || E&lt;br /&gt;
|-&lt;br /&gt;
|_ ||Equivilent to A, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
|, ||Equivilent to a, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|$ ||Equivilent to A and a  || First A then E&lt;br /&gt;
|-&lt;br /&gt;
|= ||Equivilent to D and d  || First D then E&lt;br /&gt;
|-&lt;br /&gt;
|) ||Equivilent to A and D  || E&lt;br /&gt;
|-&lt;br /&gt;
|( ||Equivilent to A and d  || E&lt;br /&gt;
|-&lt;br /&gt;
|] ||Equivilent to a and D  || E&lt;br /&gt;
|-&lt;br /&gt;
|[ ||Equivilent to a and d  || E&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Possible additions==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Track type/gauge&lt;br /&gt;
|-&lt;br /&gt;
|_ ||Universal &amp;quot;cheat&amp;quot; rail; ALWAYS add &amp;quot;_A_-&amp;quot;, &amp;quot;_A_t and &amp;quot;_A_N&amp;quot; to EVERY [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]] to support it if you are making a new set, older sets can be covered by fix or patch grfs&lt;br /&gt;
|-&lt;br /&gt;
|0 ||(A number zero, not a letter &amp;quot;Oh&amp;quot;) No track, eyecandy-use only&lt;br /&gt;
|-&lt;br /&gt;
|1 ||Early Monorail; See [https://perma.cc/6BVS-2P2X here] and [https://perma.cc/VCG2-ATUA here]&lt;br /&gt;
|-&lt;br /&gt;
|G ||Gyrail; [https://en.wikipedia.org/wiki/Gyro_monorail Gyro monorail/Gyroscopic monorail/Gyro-stabilized monorail] for description and IRL example, and [https://wikimon.net/Trailmon here] ([https://web.archive.org/web/20240227205547/https://wikimon.net/Trailmon archived]) for good fictional examples&lt;br /&gt;
|-&lt;br /&gt;
|m ||Minimum gauge rail; [https://en.wikipedia.org/wiki/Minimum-gauge_railway 15 in (381 mm), 400 mm (15+3⁄4 in), 16 in (406 mm), 18 in (457 mm), 19 in (483 mm), 500 mm (19+3⁄4 in) or 20 in (508 mm)]&lt;br /&gt;
|-&lt;br /&gt;
|n ||600mm &amp;quot;Decauville&amp;quot; or &amp;quot;Feldsbahn&amp;quot;, formerly labelled &amp;quot;NG60&amp;quot; before standardization; the most common narrow gauge track type in OpenTTD other than metre gauge, 600mm gauge is thus ideal for taking up the &amp;quot;n&amp;quot; gauge, though this is an ultimately optional distinction&lt;br /&gt;
|-&lt;br /&gt;
|7 ||750mm, Bosnian gauge (760 mm), and 762mm; all start with 7 and are close in size&lt;br /&gt;
|-&lt;br /&gt;
|3 ||Swedish 3 foot (891 mm), 900mm, 3 foot (914 mm) and Italian Metre (950mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|R ||Metre gauge; potentially compatible with base tramtype &amp;quot;RABN&amp;quot;, most early tramways were metre gauge&lt;br /&gt;
|-&lt;br /&gt;
|4 ||4 foot gauge (1219 mm), and possibly 4&#039;6&amp;quot; in. (1372 mm) if standardization is needed for 1372mm&lt;br /&gt;
|-&lt;br /&gt;
|s ||Scotch gauge (1372 mm)&lt;br /&gt;
|-&lt;br /&gt;
|S ||Standard gauge; already implemented in original standardized railtype scheme, but could include near-standard (1432 mm) as well as existing true standard (1435 mm) and is also potentially compatible with the SABN tramtype&lt;br /&gt;
|-&lt;br /&gt;
|X ||Omni-gauge rail (for at-grade multi-gauge crossings and stations); ultrabroad/secondary broad/primary broad/standard/primary narrow/secondary narrow gauge&lt;br /&gt;
|-&lt;br /&gt;
|x ||Multi-gauge rail (for at-grade multi-gauge crossings and stations); secondary broad/primary broad/standard/primary narrow/secondary narrow&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;+&amp;lt;/nowiki&amp;gt; ||Quad-gauge (Four-gauge) rail (for at-grade multi-gauge crossings and stations); secondary broad/primary broad/standard/primary narrow&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt; ||Four-gauge rail (for at-grade multi-gauge crossings and stations); primary broad/standard/primary narrow/secondary narrow&lt;br /&gt;
|-&lt;br /&gt;
|b ||Broad gauge rail - As broad gauge is a rare tracktype, it may still be feasible to cement B and b as broad gauges of two differing sizes, but the rarity among gauges in the real world would need to match; Italian (1445 mm) and Dresden (1450 mm) gauges may be better grouped here&lt;br /&gt;
|-&lt;br /&gt;
|t ||Leipzig trams (1458 mm) and Greater Toronto Area streetcars (1495 mm)&lt;br /&gt;
|-&lt;br /&gt;
|5 ||1520mm and 5 foot (1524 mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|V ||Pennsylvanian (1581 mm and 1588 mm) and Australian &amp;quot;Victorian&amp;quot; (1600 mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|6 ||6 foot (1829 mm) broad gauge&lt;br /&gt;
|-&lt;br /&gt;
|g ||Brunel&#039;s Great Western Railway gauge (2140 mm)&lt;br /&gt;
|-&lt;br /&gt;
|B ||Broad gauge rail - As broad gauge is a rare tracktype, and the variation in common real life track types too wide, it may be desirable to cement B and b as broad gauges of two differing sizes; With no real life examples that match the usage frequency of &amp;quot;B&amp;quot;, the gauge might best draw inspiration from the infamous [https://en.wikipedia.org/wiki/Breitspurbahn Breitspurbahn] (3000 mm) and [https://perma.cc/KQ2Z-5RCR the never-built vehicles designed for it]&lt;br /&gt;
|-&lt;br /&gt;
|L ||Maglevs that have a u-shaped track&lt;br /&gt;
|-&lt;br /&gt;
|T ||Maglevs that have a monorail track&lt;br /&gt;
|-&lt;br /&gt;
|F ||Flightrail; A [https://web.archive.org/web/20231213122530/http://www.flightrail.com/ system capable of high speeds and steep hill grades] that uses a pneumatic pipe for propulsion (see &amp;quot;P&amp;quot; under energy sources), and &#039;&#039;wheels pointed inwards at a 45-degree angle&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
It might be preferred to instead use/keep &amp;quot;B&amp;quot; for &amp;quot;all (current) broad gauges&amp;quot; (mostly Victorian gauge) instead using lowercase &amp;quot;b&amp;quot; for Brunel/GWR broad gauge. This wouldn&#039;t be to different from narrow gauge since the lesser used ones are lowercase and fallback to the uppercase ones.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Electrification !!Fallback&lt;br /&gt;
|-&lt;br /&gt;
|S ||Maglevs that use a synchronous linear motor ||N/A&lt;br /&gt;
|-&lt;br /&gt;
|I ||Maglevs that use a linear induction motor ||MGLV (the whole label)&lt;br /&gt;
|-&lt;br /&gt;
|V ||Vactrains/Hyperloop ||t, then I, then MGLV (the whole label)&lt;br /&gt;
|-&lt;br /&gt;
|t ||&amp;quot;Universal custom tunnel&amp;quot; (for electrified sub-surface rail tunnels) ||E (mandatory)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt; ||Universal energy type (&#039;&#039;not&#039;&#039; meant to replace &amp;quot;***N&amp;quot;; use for vehicles such as driving cabs which cannot move under their own power regardless, if desired) ||N/A (Be sure to put &amp;quot;***E&amp;quot; in the [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]] of a &amp;quot;***-&amp;quot; label)&lt;br /&gt;
|-&lt;br /&gt;
|P ||Pneumatic tube with physical piston slit, or closed pneumatic tube with magnetic piston (i.e. that used by [https://web.archive.org/web/20231213122530/http://www.flightrail.com/ Flightrail]) ||N/A&lt;br /&gt;
|-&lt;br /&gt;
|p ||Pneumatic and universal electrical power ||N/A (Be sure to put &amp;quot;***_&amp;quot; and ***P&amp;quot; in the [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]] of a &amp;quot;***p&amp;quot; label)&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Lurkmore</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=Standardized_Railtype_Scheme&amp;diff=4734</id>
		<title>Standardized Railtype Scheme</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=Standardized_Railtype_Scheme&amp;diff=4734"/>
		<updated>2024-02-27T20:57:40Z</updated>

		<summary type="html">&lt;p&gt;Lurkmore: /* Possible additions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This railtype label scheme aims to bring order to the uncontrolled growth of railtype labels. It groups the rail types into what matters from a technical perspective. The scheme provides a standardized way of defining railtype labels, based on track gauge and type, speed class, allowable axle weight and electrification type.&lt;br /&gt;
&lt;br /&gt;
It is the explicit intent of this scheme to decouple track sets from vehicle sets to facilitate easy mixing. This way the player can select a track set of choice to go with a train set of choice. It allows the player to play with or without axle load classes, or with or without speed limit classes, simply by loading a track set that does or does not provide these features. In some cases it will also be possible to combine niche track sets, for instance a standard gauge track set with a narrow gauge and a metro track set.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== The Label Scheme ==&lt;br /&gt;
A railtype label consists of four characters. In this scheme, each position has a different purpose:&lt;br /&gt;
# Track gauge and type class (e.g. standard gauge rail, narrow gauge rail, monorail)&lt;br /&gt;
# Speed limit class&lt;br /&gt;
# Axle load class (maximum allowed axle weight for this track)&lt;br /&gt;
# Energy source type class&lt;br /&gt;
&lt;br /&gt;
In the next sections, each of the four positions will be explained.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Track gauge and type class [X***] ===&lt;br /&gt;
The first position in the railtype label defines track gauge and/or track type class. The following classes are currently defined:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Track type/gauge&lt;br /&gt;
|- &lt;br /&gt;
|S ||Standard gauge rail&lt;br /&gt;
|-&lt;br /&gt;
|B ||Broad gauge rail &lt;br /&gt;
|-&lt;br /&gt;
|N ||Narrow gauge rail&lt;br /&gt;
|-&lt;br /&gt;
|n ||Secondary narrow gauge rail (e.g. when providing both metre and cape gauge, always use N in case of just one type of narrow gauge)&lt;br /&gt;
|-&lt;br /&gt;
|D ||Dual gauge rail, standard/broad gauge&lt;br /&gt;
|-&lt;br /&gt;
|d ||Dual gauge rail, standard/narrow gauge&lt;br /&gt;
|-&lt;br /&gt;
|M ||Monorail&lt;br /&gt;
|-&lt;br /&gt;
|L ||Magnetic Levitation&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Speed limit class [*X**] ===&lt;br /&gt;
The second position in the railtype label defines the speed limit class. These classes do not map to a fixed numeric value, but are used to define an internal speed limit order for the track set. This means that if your track set has two different speed limits for track types that are otherwise identical, you&#039;ll use letters A and B here. In case of three different speed limits, use A, B and C. In case your track set does not employ speed limits, always use A. Train sets do not care about the speed limit, and will always set the lowest speed class, i.e. A.&lt;br /&gt;
&lt;br /&gt;
This gives for instance the following options:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||no speed limits&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;OR&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||low speed&lt;br /&gt;
|-&lt;br /&gt;
|B ||high speed&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;OR&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||low speed&lt;br /&gt;
|-&lt;br /&gt;
|B ||medium speed&lt;br /&gt;
|-&lt;br /&gt;
|C ||high speed&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;etc.&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear:left;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The speed limit class may also be used for some advanced features of the label scheme, like specialized track types and eyecandy purposes. Be careful not to break the compatibility with other sets when using the speed limit class for these purposes.&lt;br /&gt;
&lt;br /&gt;
An example of a special use is rack rail. In the French set it is used to give rack rail engines a higher speed and TE than normal rail engines when used on rack rail. When defining trains with a special speed limit class, always allow a fallback to speed limit class A via the railtype table.&lt;br /&gt;
&lt;br /&gt;
An example of eyecandy use are urban tracks. These are a variation of regular tracks, but with concrete ground tiles to better match the urban environment. Train sets must not define vehicles for eyecandy classes. If you think you have special vehicles that should only run on the eyecandy class, it is &#039;&#039;not&#039;&#039; eyecandy but a separate track gauge/type.&lt;br /&gt;
&lt;br /&gt;
The following special and eyecandy classes have been defined so far:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Description !!Type !!Used by&lt;br /&gt;
|- &lt;br /&gt;
|A-H ||speed limits ||colspan=&amp;quot;2&amp;quot;|reserved&lt;br /&gt;
|- &lt;br /&gt;
|R ||rack rail ||special ||French Set Rails &lt;br /&gt;
|- &lt;br /&gt;
|S ||subterranean ||eyecandy ||Metro Track Set&lt;br /&gt;
|- &lt;br /&gt;
|U ||urban ||eyecandy ||Metro Track Set&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Axle load class [**X*] ===&lt;br /&gt;
The third position defines the axle weight limit. Heavy trains cannot run on tracks with a low axle weight limit; these trains need more expensive tracks with a heigher weight limit. There are five axle load classes &#039;&#039;&#039;A&#039;&#039;&#039; through &#039;&#039;&#039;E&#039;&#039;&#039;. &#039;&#039;&#039;A&#039;&#039;&#039; is for the lowest axle load limit, &#039;&#039;&#039;E&#039;&#039;&#039; for the highest. The exact axle load attached to each class is relative to the track gauge/type and trains in the set. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A train set should set the appropriate axle weight for each train via the railtype label, as to make the set work with track sets that do provide tracks with different weight limits, even if you don&#039;t care about it for your trainset. Split all vehicles of a certain track gauge/type into five groups of similar axle weight. The group with the lowest axle weights will get class &#039;&#039;&#039;A&#039;&#039;&#039;, the second lowest class &#039;&#039;&#039;B&#039;&#039;&#039;, etc. up to the group with the highest axle weights which will get class &#039;&#039;&#039;E&#039;&#039;&#039;. Do the same for the other track gauge/types if your train set has those.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A track set does not have to provide a dedicated track type for each axle weight limit. A track set that does not provide a dedicated track for each axle load class, must make sure to map all undefined axle load classes to a real railtype using property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]]. This way a train set can rely on all labels for all axle load classes being available. Example: if you only want to provide 2 axle load classes for standard gauge unelectrified with no speed limits, you can map SA&#039;&#039;&#039;A&#039;&#039;&#039;N + SA&#039;&#039;&#039;B&#039;&#039;&#039;N to SA&#039;&#039;&#039;C&#039;&#039;&#039;N and SA&#039;&#039;&#039;D&#039;&#039;&#039;N to SA&#039;&#039;&#039;E&#039;&#039;&#039;N if the cost difference between the two railtypes is high, or SA&#039;&#039;&#039;A&#039;&#039;&#039;N to SA&#039;&#039;&#039;B&#039;&#039;&#039;N and SA&#039;&#039;&#039;C&#039;&#039;&#039;N + SA&#039;&#039;&#039;D&#039;&#039;&#039;N to SA&#039;&#039;&#039;E&#039;&#039;&#039;N if the cost difference is low.&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t want to provide any axle load classes in your track set, it doesn&#039;t really matter what axle load class you choose for the track, as you&#039;ll be mapping all other classes to this track anyways. But the lowest or highest class are the obvious choice. Example: if your track set only provides narrow gauge unelectrified track with no speed limits and no axle load limits, you may use NA&#039;&#039;&#039;A&#039;&#039;&#039;N for the track label, and provide NA&#039;&#039;&#039;B&#039;&#039;&#039;N, NA&#039;&#039;&#039;C&#039;&#039;&#039;N, NA&#039;&#039;&#039;D&#039;&#039;&#039;N, NA&#039;&#039;&#039;E&#039;&#039;&#039;N in property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you need more than five axle load class, you may use lowercase letters for very low axle loads and continue the uppercase letters for very high axle loads. Be advised that your train set may not assume the existance of any other class than &#039;&#039;&#039;A&#039;&#039;&#039; through &#039;&#039;&#039;E&#039;&#039;&#039;, so when the range make sure to program your railtype table such that trains with such a class will fall back to class &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;E&#039;&#039;&#039;. If you make a track set with an extended range, be aware that not all train sets will define trains for these tracks. In general: only do this in case of a train set with a matching track set.&lt;br /&gt;
&lt;br /&gt;
For the lowercase letters, &#039;&#039;&#039;b&#039;&#039;&#039; is lower than &#039;&#039;&#039;a&#039;&#039;&#039;, so for increasing axle load limits: b &amp;lt; a &amp;lt; A &amp;lt; B &amp;lt; C etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that the axle load classes never map to a specific weight in tonnes. For that reason it does not make sense to add a numeric value for the axle load to the name of a track type or in the extended purchase info of a train. Instead use the relative expressions &#039;very low&#039;, &#039;low&#039;, &#039;medium&#039;, &#039;high&#039; and &#039;very high&#039; or use the class letters directly.&lt;br /&gt;
&lt;br /&gt;
=== Energy source type class [***X] ===&lt;br /&gt;
The last position defines the energy source type class. This is split in generic energy source types like overhead wires and third rail and specialized types like alternating and direct current.&lt;br /&gt;
&lt;br /&gt;
A track set that only uses specialized types, should map the generic types to the most suitable specialized type in the set.&lt;br /&gt;
&lt;br /&gt;
A vehicle set that uses specialized types should define a generic type as fallback, via the railtype table. If such a fallback is omitted, please note that certain vehicles may be unavailable depending on track set loaded.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Generic energy type classes&lt;br /&gt;
|-&lt;br /&gt;
|N ||no electrification&lt;br /&gt;
|-&lt;br /&gt;
|E ||overhead wires/catenary electrification&lt;br /&gt;
|-&lt;br /&gt;
|3 ||3rd rail electrification&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Specialized energy type classes !!Vehicle set fallback&lt;br /&gt;
|-&lt;br /&gt;
|Z ||3rd rail and catenary electrification || 3 or E&lt;br /&gt;
|-&lt;br /&gt;
|4 ||4th rail electrification || 3&lt;br /&gt;
|-&lt;br /&gt;
|Y ||4th rail and catenary electrification || 4 or E&lt;br /&gt;
|-&lt;br /&gt;
|T ||[http://en.wikipedia.org/wiki/Three-phase_AC_railway_electrification three phase AC electrification] || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|D ||DC catenary electrification || E&lt;br /&gt;
|-&lt;br /&gt;
|d ||low voltage DC catenary electrification (only when D also used in set) || First A then E&lt;br /&gt;
|-&lt;br /&gt;
|A ||AC catenary electrification || E&lt;br /&gt;
|-&lt;br /&gt;
|a ||low voltage AC catenary electrification (only when A also used in set) || First A then E&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
If you want multi-voltage/current vehicles in your set (i.e. a train that can run on both AC and DC current), you have to define a dedicated railtype for those vehicles. Without the railtype, it&#039;s not possible to define vehicles with this property. If you only have vehicles that can run on either one type of voltage/current or on all types of voltage/current (e.g. a 2-system if you only have &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;D&#039;&#039;&#039; tracks, or a 4-system in case of all &#039;&#039;&#039;A&#039;&#039;&#039;, &#039;&#039;&#039;a&#039;&#039;&#039;, &#039;&#039;&#039;D&#039;&#039;&#039; and &#039;&#039;&#039;d&#039;&#039;&#039;), then use the generic class &#039;&#039;&#039;E&#039;&#039;&#039; for vehicles that should be able to run on all different voltage/currents. Also the track set needs to have one at least one railtype with class &#039;&#039;&#039;E&#039;&#039;&#039; defined.&lt;br /&gt;
&lt;br /&gt;
Note that if you want more than one type of multi-voltage/current, you&#039;ll quickly get a combinatory explosion of railtype labels, so plan carefully or do not attempt it. For every different multi-voltage/current vehicle type a dedicated railtype is needed. If you want all possible combinations, then you need to define an additional 8 classes. It is not recommended to make your train/track set this complicated.&lt;br /&gt;
&lt;br /&gt;
Example approach for a 4-system set, with trains that can run on either one or all systems:&lt;br /&gt;
* &#039;&#039;&#039;E&#039;&#039;&#039;: generic catenary-powered electric engines. &amp;quot;universal&amp;quot; [4-system] if any of &#039;&#039;&#039;D&#039;&#039;&#039;/&#039;&#039;&#039;d&#039;&#039;&#039;/&#039;&#039;&#039;A&#039;&#039;&#039;/&#039;&#039;&#039;a&#039;&#039;&#039; are defined.&lt;br /&gt;
* &#039;&#039;&#039;A&#039;&#039;&#039;: generic AC catenary electric engines. 25kV only if &#039;&#039;&#039;a&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;A&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;a&#039;&#039;&#039;: 15kV AC catenary electric engines. Only defined if &#039;&#039;&#039;A&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;a&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;D&#039;&#039;&#039;: generic DC catenary electric engines. 3kV if &#039;&#039;&#039;d&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;D&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;d&#039;&#039;&#039;: 1.5kV DC catenary electric engines. Only defined if &#039;&#039;&#039;D&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;D&#039;&#039;&#039; and &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;d&#039;&#039;&#039;.&lt;br /&gt;
For a 2-system set, you can simply drop &#039;&#039;&#039;a&#039;&#039;&#039; and &#039;&#039;&#039;d&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Standard labels: RAIL, ELRL, MONO, MGLV ===&lt;br /&gt;
It&#039;s not possible to undefine the standard railtypes RAIL, ELRL, MONO and MGLV. The game will always add those if there are vehicles defined for these track types. As a result, for a track set it&#039;s best not to ignore those standard labels, but rather work with them and define them in the set. If your track set does not have monorail or maglev tracks, there of course is no need to define those. But if your track set defines anything that resembles unelectrified or electrified rail, you should use the RAIL and ELRL labels. Matching labels from the above scheme will then be defined in property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
As vehicles from NewGRFs that do not use explicit railtypes will end up on these standard railtypes, you should use RAIL instead of whatever type could be regarded as the most commonly used unelectrified type, ELRL instead of the most commonly used electrified type and so on. The label according to this scheme is then set as an alternate.&lt;br /&gt;
&lt;br /&gt;
== Summary for track sets ==&lt;br /&gt;
This section summarizes the above for track sets.&lt;br /&gt;
&lt;br /&gt;
; [X***] Track gauge and type class&lt;br /&gt;
* Define at least one track type for every track gauge/type class you want in your set.&lt;br /&gt;
* If you only provide tracks for one gauge/type, consider leaving some free railtypes so a player can load an additional set for some other type.&lt;br /&gt;
; [*X**] Speed limit class&lt;br /&gt;
* Make sure class A is always available, either directly or via an alternate label.&lt;br /&gt;
* Use only class A if you don&#039;t want speed limits;&lt;br /&gt;
* With speed limits, A is the lowest speed limit. Continue with B, C, etc. for increasing speed limits;&lt;br /&gt;
* The speed class can also be used to implement additional eye-candy track types, use letters higher in the alphabet for this.&lt;br /&gt;
; [**X*] Axle load class&lt;br /&gt;
* Always define all classes A through E for every track type class / electrification combination, either:&lt;br /&gt;
** Directly via a real railtype definition;&lt;br /&gt;
** Indirectly via the alternate rail type label list, property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
* Extend the predefined classes only if you also provide a train set that makes use of these.&lt;br /&gt;
; [***X] Energy source type class&lt;br /&gt;
* If your set only uses specialized classes, always map the generic classes to the closest matching specialized type via property 1D.&lt;br /&gt;
; Standard labels [RAIL, ELRL, MONO, MGLV]&lt;br /&gt;
* Always define the standard labels when possible, instead of what would be the equivalent of the standard label in this scheme.&lt;br /&gt;
* Map the equivalent labels from this scheme to the standard labels using property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
Or, put differently, for each gauge/type, select one or more energy source types. For each type/energy combination provide all axle load classes for the speed class &amp;quot;A&amp;quot;, either as a real type or as an alternate of another type. Provide more types with a different speed letter if you want to provide several different speeds or other eye-candy tracks.&lt;br /&gt;
&lt;br /&gt;
== Summary for train sets ==&lt;br /&gt;
This section summarizes the above for train sets.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; [X***] Track gauge and type class&lt;br /&gt;
* Use the track type class that matches the vehicle;&lt;br /&gt;
* Define a fallback type via the railtype table in case you want the vehicle to be available on a different track if no matching track set is loaded.&lt;br /&gt;
** Specialized subtypes like &amp;quot;n&amp;quot; might not always be available. If you want those vehicles to be still available then, fall back the the generic class (e.g. &amp;quot;N&amp;quot;).&lt;br /&gt;
; [*X**] Speed limit class &lt;br /&gt;
* Always use class A for every vehicle.&lt;br /&gt;
; [**X*] Axle load class&lt;br /&gt;
* Use all classes A through E according to the maximum axle weight of the vehicle.&lt;br /&gt;
* Extend the predefined classes only if you also provide a track set that makes use of these;&lt;br /&gt;
** When extending the predefined classes A through E, define a fallback type via the railtype table in case you want the vehicle to be available if no matching track set is loaded.&lt;br /&gt;
; [***X] Energy source type class&lt;br /&gt;
* Use the energy source type class that matches the vehicle;&lt;br /&gt;
* When using specialized classes, define a fallback type via the railtype table in case you want the vehicle to be available if no matching track set is loaded.&lt;br /&gt;
; Standard labels [RAIL, ELRL, MONO, MGLV]&lt;br /&gt;
* Define a fallback type to the standard labels via the railtype table in case you want the vehicle to be available on the standard tracks if no matching track set is loaded.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Be as specific as you want when selecting the railtype, it is the job of the track set to select a playable, reduced subset out of all possible type combinations.&lt;br /&gt;
&lt;br /&gt;
== In case you&#039;re not convinced by this scheme ==&lt;br /&gt;
Adopting this scheme gives the player freedom to use any track set in combination with any train set that follow the scheme. &lt;br /&gt;
&lt;br /&gt;
This means that you can make your train set compatible with track sets that provide axle load classes, and track sets that provide speed limits, and at the same time with track sets that provide none of this. This way, the player can decide to play with or without axle load classes, or with or without speed limits, simply by loading a track set that does or does not provide these features.&lt;br /&gt;
&lt;br /&gt;
And for your track set, it means that you can make it as simple or as complicated as you want (within the 64 track type limit), while not having to worry about compatibility with train sets.&lt;br /&gt;
&lt;br /&gt;
Still not convinced? Feel free to use railtype labels of your own, but know that you will likely come to regret that at some point in the future.&lt;br /&gt;
&lt;br /&gt;
==Forum topic==&lt;br /&gt;
If you want to discuss the standardized railtype scheme or have any questions about it, you can visit [http://www.tt-forums.net/viewtopic.php?t=59379 the forum topic].&lt;br /&gt;
&lt;br /&gt;
==&amp;quot;Innsbruck 2022 Convention&amp;quot; for partial compliance==&lt;br /&gt;
&lt;br /&gt;
This is really esoteric, but eh. It was the product of long discussion / debate / argument / reasoning between grf authors.&lt;br /&gt;
&lt;br /&gt;
1. The Standardized Railtype Scheme &#039;&#039;&#039;is a useful tool&#039;&#039;&#039; for providing reliable compatibility between train grfs and railtype grfs.&lt;br /&gt;
&lt;br /&gt;
2. The &#039;&#039;&#039;axle load class&#039;&#039;&#039; in the scheme presents a number of issues for compliance.&lt;br /&gt;
&lt;br /&gt;
2.1. Over 10 years since the scheme was standardised, not many train grfs implement multiple axle load classes &#039;&#039;&#039;as required by the scheme&#039;&#039;&#039;.  Known examples that &#039;&#039;&#039;do&#039;&#039;&#039; comply include Dutch Train Set, French Narrow Gauge Trains, and Finnish Trains.&lt;br /&gt;
&lt;br /&gt;
2.2. Elements of the axle load rules have proven hard to interpret.  For example:&lt;br /&gt;
&lt;br /&gt;
* is it compliant to use &#039;&#039;fewer&#039;&#039; than 5 classes in a train grf?  There is a lack of consensus on this.&lt;br /&gt;
* axle load is only one of many factors that govern whether a vehicle is compatible with a route, for example loading gauge, minimum curve, signalling types etc&lt;br /&gt;
&lt;br /&gt;
2.3. Meanwhile &#039;&#039;multiple existing train grfs use class &#039;&#039;A&#039;&#039; for the axle load for all trains&#039;&#039; (except where relying on default railtypes such as RAIL and ELRL).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3. The Innsbruck 2022 Convention uses class &#039;&#039;A&#039;&#039; for axle load for &#039;&#039;&#039;all&#039;&#039;&#039; trains in a train grf (except where relying on default railtypes such as RAIL and ELRL).&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is &#039;&#039;&#039;not&#039;&#039;&#039; fully compliant with the Standardized Railtype Scheme and does not claim to be.&lt;br /&gt;
&lt;br /&gt;
However train grfs using the Innsbruck 2022 Convention are &#039;&#039;broadly compatible&#039;&#039; with railtype grfs using the Standardized Railtype Scheme.  &lt;br /&gt;
&lt;br /&gt;
Obligatory XKCD link about &#039;standards&#039;: https://xkcd.com/927/&lt;br /&gt;
&lt;br /&gt;
===Known issues===&lt;br /&gt;
&lt;br /&gt;
Known problems are that trains using only class &#039;A&#039; may limit the ability of railtype grf authors to achieve their design goals for separating railtypes by axle load.  &lt;br /&gt;
But on reflection, it can be seen that a train grf might not be able to provide a broad enough range of vehicles to cover at least 5 axle load classes.&lt;br /&gt;
&lt;br /&gt;
3.1. The Innsbruck 2022 Convention is &#039;&#039;&#039;not&#039;&#039;&#039; appropriate for train grf authors who wish to provide more than one axle load class.&lt;br /&gt;
&lt;br /&gt;
3.2. The Innsbruck 2022 Convention treats the meaning of class &#039;&#039;A&#039;&#039; as &#039;&#039;undefined&#039;&#039;, &#039;&#039;ignored&#039;&#039; or &#039;&#039;compatible with most restricted railtype&#039;&#039; for axle load.  &lt;br /&gt;
&lt;br /&gt;
Axle load class &#039;&#039;A&#039;&#039; &#039;&#039;&#039;cannot&#039;&#039;&#039; be safely interpreted as &#039;&#039;universal&#039;&#039; because from the perspective of a railtype grf &#039;&#039;A&#039;&#039; is &#039;&#039;most restricted railtype&#039;&#039;, where &#039;&#039;universal&#039;&#039; is better represented as &#039;&#039;least restricted railtype&#039;&#039;. Depending how many axle load classes are in use by the railtype grf, this could be class &#039;&#039;B&#039;&#039;, &#039;&#039;C&#039;&#039;, &#039;&#039;D&#039;&#039;, &#039;&#039;E&#039;&#039; etc.  To illustrate this issue, take the following scenario&lt;br /&gt;
&lt;br /&gt;
* railtype grf defines axle loads &#039;&#039;A&#039;&#039; to &#039;&#039;E&#039;&#039;. In this case the railtype grf author intends that &#039;&#039;A&#039;&#039; is compatible with the smallest range of vehicles, &#039;&#039;E&#039;&#039; is compatible with the largest range of vehicles, and &#039;&#039;B&#039;&#039;, &#039;&#039;C&#039;&#039; and &#039;&#039;D&#039;&#039; are compatible with some intermediate ranges of vehicles&lt;br /&gt;
* but the vehicle grf author has defined all vehicles to be axle load &#039;&#039;A&#039;&#039; in an attempt to express this vehicle is &#039;&#039;universal&#039;&#039;.  The result in the game is that an identical range of vehicles will be compatible with railtypes &#039;&#039;A&#039;&#039; to &#039;&#039;E&#039;&#039;.  &lt;br /&gt;
&lt;br /&gt;
This is clearly &#039;&#039;&#039;not&#039;&#039;&#039; the intended outcome of the railtype author. But nor is it clear within the spec that the vehicle author has particularly done anything wrong. &lt;br /&gt;
&lt;br /&gt;
It &#039;&#039;would&#039;&#039; be possible to use railtype availability testing to adjust the vehicle property 05 (track_type) to fit the highest defined axle load (&#039;&#039;E&#039;&#039; in this example case), but this is not insignificant work, and it&#039;s unlikely to be widely adopted by vehicle grf authors.  Nor would this solution achieve &#039;&#039;universal&#039;&#039; as all vehicles in vehicle grf then would be incompatible with types &#039;&#039;A&#039;&#039; through &#039;&#039;D&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
3.3. When the Innsbruck 2022 Convention is used, this &#039;&#039;&#039;does not prevent&#039;&#039;&#039; a train grf being extended in some future release to achieve full compliance with Standardized Railtype Scheme. &#039;&#039;That choice remains with train grf authors&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
3.4. If 2012 could be revisited, providing an optional &#039;&#039;_&#039;&#039; axle load class in the Standardized Railtype Scheme for &#039;&#039;undefined&#039;&#039; would have been preferable, but as of 2022, &#039;&#039;A&#039;&#039; is already widely used for this purpose, and time travel is not known to be possible.&lt;br /&gt;
&lt;br /&gt;
==Extended multivoltage support addition==&lt;br /&gt;
These are extensions to the energy source type class currently supported by SETS and xUSSR Rails which allow trainsets to code trains which are limited to a certain selection of voltages. As stated in the energy source type class section this might not be of use for all sets, as such it is optional but still recommended for trainsets for ideal functionality with tracksets which support the extended labels.&lt;br /&gt;
{|&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Specialized energy type classes !!Vehicle set fallback&lt;br /&gt;
|-&lt;br /&gt;
|* ||Equivilent to A, a, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|&#039; ||Equivilent to A, a and D || E&lt;br /&gt;
|-&lt;br /&gt;
|^ ||Equivilent to A, a and d || E&lt;br /&gt;
|-&lt;br /&gt;
|_ ||Equivilent to A, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
|, ||Equivilent to a, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|$ ||Equivilent to A and a  || First A then E&lt;br /&gt;
|-&lt;br /&gt;
|= ||Equivilent to D and d  || First D then E&lt;br /&gt;
|-&lt;br /&gt;
|) ||Equivilent to A and D  || E&lt;br /&gt;
|-&lt;br /&gt;
|( ||Equivilent to A and d  || E&lt;br /&gt;
|-&lt;br /&gt;
|] ||Equivilent to a and D  || E&lt;br /&gt;
|-&lt;br /&gt;
|[ ||Equivilent to a and d  || E&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Possible additions==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Track type/gauge&lt;br /&gt;
|-&lt;br /&gt;
|_ ||Universal &amp;quot;cheat&amp;quot; rail; ALWAYS add &amp;quot;_A_-&amp;quot;, &amp;quot;_A_t and &amp;quot;_A_N&amp;quot; to EVERY [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]] to support it if you are making a new set, older sets can be covered by fix or patch grfs&lt;br /&gt;
|-&lt;br /&gt;
|0 ||(A number zero, not a letter &amp;quot;Oh&amp;quot;) No track, eyecandy-use only&lt;br /&gt;
|-&lt;br /&gt;
|1 ||Early Monorail; See [https://perma.cc/6BVS-2P2X here] and [https://perma.cc/VCG2-ATUA here]&lt;br /&gt;
|-&lt;br /&gt;
|G ||Gyrail; [https://en.wikipedia.org/wiki/Gyro_monorail Gyro monorail/Gyroscopic monorail/Gyro-stabilized monorail] for description and IRL example, and [https://wikimon.net/Trailmon here] ([https://web.archive.org/web/20240227205547/https://wikimon.net/Trailmon archived]) for good fictional examples&lt;br /&gt;
|-&lt;br /&gt;
|m ||Minimum gauge rail; [https://en.wikipedia.org/wiki/Minimum-gauge_railway 15 in (381 mm), 400 mm (15+3⁄4 in), 16 in (406 mm), 18 in (457 mm), 19 in (483 mm), 500 mm (19+3⁄4 in) or 20 in (508 mm)]&lt;br /&gt;
|-&lt;br /&gt;
|n ||600mm &amp;quot;Decauville&amp;quot; or &amp;quot;Feldsbahn&amp;quot;, formerly labelled &amp;quot;NG60&amp;quot; before standardization; the most common narrow gauge track type in OpenTTD other than metre gauge, 600mm gauge is thus ideal for taking up the &amp;quot;n&amp;quot; gauge, though this is an ultimately optional distinction&lt;br /&gt;
|-&lt;br /&gt;
|7 ||750mm, Bosnian gauge (760 mm), and 762mm; all start with 7 and are close in size&lt;br /&gt;
|-&lt;br /&gt;
|3 ||Swedish 3 foot (891 mm), 900mm, 3 foot (914 mm) and Italian Metre (950mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|R ||Metre gauge; potentially compatible with base tramtype &amp;quot;RABN&amp;quot;, most early tramways were metre gauge&lt;br /&gt;
|-&lt;br /&gt;
|4 ||4 foot gauge (1219 mm), and possibly 4&#039;6&amp;quot; in. (1372 mm) if standardization is needed for 1372mm&lt;br /&gt;
|-&lt;br /&gt;
|s ||Scotch gauge (1372 mm)&lt;br /&gt;
|-&lt;br /&gt;
|S ||Standard gauge; already implemented in original standardized railtype scheme, but could include near-standard (1432 mm) as well as existing true standard (1435 mm) and is also potentially compatible with the SABN tramtype&lt;br /&gt;
|-&lt;br /&gt;
|X ||Omni-gauge rail (for at-grade multi-gauge crossings and stations); ultrabroad/secondary broad/primary broad/standard/primary narrow/secondary narrow gauge&lt;br /&gt;
|-&lt;br /&gt;
|x ||Multi-gauge rail (for at-grade multi-gauge crossings and stations); secondary broad/primary broad/standard/primary narrow/secondary narrow&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;+&amp;lt;/nowiki&amp;gt; ||Quad-gauge (Four-gauge) rail (for at-grade multi-gauge crossings and stations); secondary broad/primary broad/standard/primary narrow&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt; ||Four-gauge rail (for at-grade multi-gauge crossings and stations); primary broad/standard/primary narrow/secondary narrow&lt;br /&gt;
|-&lt;br /&gt;
|b ||Broad gauge rail - As broad gauge is a rare tracktype, it may still be feasible to cement B and b as broad gauges of two differing sizes, but the rarity among gauges in the real world would need to match; Italian (1445 mm) and Dresden (1450 mm) gauges may be better grouped here&lt;br /&gt;
|-&lt;br /&gt;
|t ||Leipzig trams (1458 mm) and Greater Toronto Area streetcars (1495 mm)&lt;br /&gt;
|-&lt;br /&gt;
|5 ||1520mm and 5 foot (1524 mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|V ||Pennsylvanian (1581 mm and 1588 mm) and Australian &amp;quot;Victorian&amp;quot; (1600 mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|6 ||6 foot (1829 mm) broad gauge&lt;br /&gt;
|-&lt;br /&gt;
|g ||Brunel&#039;s Great Western Railway gauge (2140 mm)&lt;br /&gt;
|-&lt;br /&gt;
|B ||Broad gauge rail - As broad gauge is a rare tracktype, and the variation in common real life track types too wide, it may be desirable to cement B and b as broad gauges of two differing sizes; With no real life examples that match the usage frequency of &amp;quot;B&amp;quot;, the gauge might best draw inspiration from the infamous [https://en.wikipedia.org/wiki/Breitspurbahn Breitspurbahn] (3000 mm) and [https://perma.cc/KQ2Z-5RCR the never-built vehicles designed for it]&lt;br /&gt;
|-&lt;br /&gt;
|L ||Maglevs that have a u-shaped track&lt;br /&gt;
|-&lt;br /&gt;
|T ||Maglevs that have a monorail track&lt;br /&gt;
|-&lt;br /&gt;
|F ||Flightrail; A [https://web.archive.org/web/20231213122530/http://www.flightrail.com/ system capable of high speeds and steep hill grades] that uses a pneumatic pipe for propulsion (see &amp;quot;P&amp;quot; under energy sources), and &#039;&#039;wheels pointed inwards at a 45-degree angle&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
It might be preferred to instead use/keep &amp;quot;B&amp;quot; for &amp;quot;all (current) broad gauges&amp;quot; (mostly Victorian gauge) instead using lowercase &amp;quot;b&amp;quot; for Brunel/GWR broad gauge. This wouldn&#039;t be to different from narrow gauge since the lesser used ones are lowercase and fallback to the uppercase ones.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Electrification !!Fallback&lt;br /&gt;
|-&lt;br /&gt;
|S ||Maglevs that use a synchronous linear motor ||N/A&lt;br /&gt;
|-&lt;br /&gt;
|I ||Maglevs that use a linear induction motor ||MGLV (the whole label)&lt;br /&gt;
|-&lt;br /&gt;
|t ||&amp;quot;Universal custom tunnel&amp;quot; (for electrified sub-surface rail tunnels) ||E (mandatory)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt; ||Universal energy type (&#039;&#039;not&#039;&#039; meant to replace &amp;quot;***N&amp;quot;; use for vehicles such as driving cabs which cannot move under their own power regardless, if desired) ||N/A (Be sure to put &amp;quot;***E&amp;quot; in the [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]] of a &amp;quot;***-&amp;quot; label)&lt;br /&gt;
|-&lt;br /&gt;
|P ||Pneumatic tube with physical piston slit, or closed pneumatic tube with magnetic piston (i.e. that used by [https://web.archive.org/web/20231213122530/http://www.flightrail.com/ Flightrail]) ||N/A&lt;br /&gt;
|-&lt;br /&gt;
|p ||Pneumatic and universal electrical power ||N/A (Be sure to put &amp;quot;***_&amp;quot; and ***P&amp;quot; in the [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]] of a &amp;quot;***p&amp;quot; label)&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Lurkmore</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=Standardized_Railtype_Scheme&amp;diff=4733</id>
		<title>Standardized Railtype Scheme</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=Standardized_Railtype_Scheme&amp;diff=4733"/>
		<updated>2024-02-27T20:50:18Z</updated>

		<summary type="html">&lt;p&gt;Lurkmore: /* Possible additions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This railtype label scheme aims to bring order to the uncontrolled growth of railtype labels. It groups the rail types into what matters from a technical perspective. The scheme provides a standardized way of defining railtype labels, based on track gauge and type, speed class, allowable axle weight and electrification type.&lt;br /&gt;
&lt;br /&gt;
It is the explicit intent of this scheme to decouple track sets from vehicle sets to facilitate easy mixing. This way the player can select a track set of choice to go with a train set of choice. It allows the player to play with or without axle load classes, or with or without speed limit classes, simply by loading a track set that does or does not provide these features. In some cases it will also be possible to combine niche track sets, for instance a standard gauge track set with a narrow gauge and a metro track set.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== The Label Scheme ==&lt;br /&gt;
A railtype label consists of four characters. In this scheme, each position has a different purpose:&lt;br /&gt;
# Track gauge and type class (e.g. standard gauge rail, narrow gauge rail, monorail)&lt;br /&gt;
# Speed limit class&lt;br /&gt;
# Axle load class (maximum allowed axle weight for this track)&lt;br /&gt;
# Energy source type class&lt;br /&gt;
&lt;br /&gt;
In the next sections, each of the four positions will be explained.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Track gauge and type class [X***] ===&lt;br /&gt;
The first position in the railtype label defines track gauge and/or track type class. The following classes are currently defined:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Track type/gauge&lt;br /&gt;
|- &lt;br /&gt;
|S ||Standard gauge rail&lt;br /&gt;
|-&lt;br /&gt;
|B ||Broad gauge rail &lt;br /&gt;
|-&lt;br /&gt;
|N ||Narrow gauge rail&lt;br /&gt;
|-&lt;br /&gt;
|n ||Secondary narrow gauge rail (e.g. when providing both metre and cape gauge, always use N in case of just one type of narrow gauge)&lt;br /&gt;
|-&lt;br /&gt;
|D ||Dual gauge rail, standard/broad gauge&lt;br /&gt;
|-&lt;br /&gt;
|d ||Dual gauge rail, standard/narrow gauge&lt;br /&gt;
|-&lt;br /&gt;
|M ||Monorail&lt;br /&gt;
|-&lt;br /&gt;
|L ||Magnetic Levitation&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Speed limit class [*X**] ===&lt;br /&gt;
The second position in the railtype label defines the speed limit class. These classes do not map to a fixed numeric value, but are used to define an internal speed limit order for the track set. This means that if your track set has two different speed limits for track types that are otherwise identical, you&#039;ll use letters A and B here. In case of three different speed limits, use A, B and C. In case your track set does not employ speed limits, always use A. Train sets do not care about the speed limit, and will always set the lowest speed class, i.e. A.&lt;br /&gt;
&lt;br /&gt;
This gives for instance the following options:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||no speed limits&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;OR&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||low speed&lt;br /&gt;
|-&lt;br /&gt;
|B ||high speed&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;OR&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||low speed&lt;br /&gt;
|-&lt;br /&gt;
|B ||medium speed&lt;br /&gt;
|-&lt;br /&gt;
|C ||high speed&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;etc.&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear:left;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The speed limit class may also be used for some advanced features of the label scheme, like specialized track types and eyecandy purposes. Be careful not to break the compatibility with other sets when using the speed limit class for these purposes.&lt;br /&gt;
&lt;br /&gt;
An example of a special use is rack rail. In the French set it is used to give rack rail engines a higher speed and TE than normal rail engines when used on rack rail. When defining trains with a special speed limit class, always allow a fallback to speed limit class A via the railtype table.&lt;br /&gt;
&lt;br /&gt;
An example of eyecandy use are urban tracks. These are a variation of regular tracks, but with concrete ground tiles to better match the urban environment. Train sets must not define vehicles for eyecandy classes. If you think you have special vehicles that should only run on the eyecandy class, it is &#039;&#039;not&#039;&#039; eyecandy but a separate track gauge/type.&lt;br /&gt;
&lt;br /&gt;
The following special and eyecandy classes have been defined so far:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Description !!Type !!Used by&lt;br /&gt;
|- &lt;br /&gt;
|A-H ||speed limits ||colspan=&amp;quot;2&amp;quot;|reserved&lt;br /&gt;
|- &lt;br /&gt;
|R ||rack rail ||special ||French Set Rails &lt;br /&gt;
|- &lt;br /&gt;
|S ||subterranean ||eyecandy ||Metro Track Set&lt;br /&gt;
|- &lt;br /&gt;
|U ||urban ||eyecandy ||Metro Track Set&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Axle load class [**X*] ===&lt;br /&gt;
The third position defines the axle weight limit. Heavy trains cannot run on tracks with a low axle weight limit; these trains need more expensive tracks with a heigher weight limit. There are five axle load classes &#039;&#039;&#039;A&#039;&#039;&#039; through &#039;&#039;&#039;E&#039;&#039;&#039;. &#039;&#039;&#039;A&#039;&#039;&#039; is for the lowest axle load limit, &#039;&#039;&#039;E&#039;&#039;&#039; for the highest. The exact axle load attached to each class is relative to the track gauge/type and trains in the set. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A train set should set the appropriate axle weight for each train via the railtype label, as to make the set work with track sets that do provide tracks with different weight limits, even if you don&#039;t care about it for your trainset. Split all vehicles of a certain track gauge/type into five groups of similar axle weight. The group with the lowest axle weights will get class &#039;&#039;&#039;A&#039;&#039;&#039;, the second lowest class &#039;&#039;&#039;B&#039;&#039;&#039;, etc. up to the group with the highest axle weights which will get class &#039;&#039;&#039;E&#039;&#039;&#039;. Do the same for the other track gauge/types if your train set has those.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A track set does not have to provide a dedicated track type for each axle weight limit. A track set that does not provide a dedicated track for each axle load class, must make sure to map all undefined axle load classes to a real railtype using property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]]. This way a train set can rely on all labels for all axle load classes being available. Example: if you only want to provide 2 axle load classes for standard gauge unelectrified with no speed limits, you can map SA&#039;&#039;&#039;A&#039;&#039;&#039;N + SA&#039;&#039;&#039;B&#039;&#039;&#039;N to SA&#039;&#039;&#039;C&#039;&#039;&#039;N and SA&#039;&#039;&#039;D&#039;&#039;&#039;N to SA&#039;&#039;&#039;E&#039;&#039;&#039;N if the cost difference between the two railtypes is high, or SA&#039;&#039;&#039;A&#039;&#039;&#039;N to SA&#039;&#039;&#039;B&#039;&#039;&#039;N and SA&#039;&#039;&#039;C&#039;&#039;&#039;N + SA&#039;&#039;&#039;D&#039;&#039;&#039;N to SA&#039;&#039;&#039;E&#039;&#039;&#039;N if the cost difference is low.&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t want to provide any axle load classes in your track set, it doesn&#039;t really matter what axle load class you choose for the track, as you&#039;ll be mapping all other classes to this track anyways. But the lowest or highest class are the obvious choice. Example: if your track set only provides narrow gauge unelectrified track with no speed limits and no axle load limits, you may use NA&#039;&#039;&#039;A&#039;&#039;&#039;N for the track label, and provide NA&#039;&#039;&#039;B&#039;&#039;&#039;N, NA&#039;&#039;&#039;C&#039;&#039;&#039;N, NA&#039;&#039;&#039;D&#039;&#039;&#039;N, NA&#039;&#039;&#039;E&#039;&#039;&#039;N in property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you need more than five axle load class, you may use lowercase letters for very low axle loads and continue the uppercase letters for very high axle loads. Be advised that your train set may not assume the existance of any other class than &#039;&#039;&#039;A&#039;&#039;&#039; through &#039;&#039;&#039;E&#039;&#039;&#039;, so when the range make sure to program your railtype table such that trains with such a class will fall back to class &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;E&#039;&#039;&#039;. If you make a track set with an extended range, be aware that not all train sets will define trains for these tracks. In general: only do this in case of a train set with a matching track set.&lt;br /&gt;
&lt;br /&gt;
For the lowercase letters, &#039;&#039;&#039;b&#039;&#039;&#039; is lower than &#039;&#039;&#039;a&#039;&#039;&#039;, so for increasing axle load limits: b &amp;lt; a &amp;lt; A &amp;lt; B &amp;lt; C etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that the axle load classes never map to a specific weight in tonnes. For that reason it does not make sense to add a numeric value for the axle load to the name of a track type or in the extended purchase info of a train. Instead use the relative expressions &#039;very low&#039;, &#039;low&#039;, &#039;medium&#039;, &#039;high&#039; and &#039;very high&#039; or use the class letters directly.&lt;br /&gt;
&lt;br /&gt;
=== Energy source type class [***X] ===&lt;br /&gt;
The last position defines the energy source type class. This is split in generic energy source types like overhead wires and third rail and specialized types like alternating and direct current.&lt;br /&gt;
&lt;br /&gt;
A track set that only uses specialized types, should map the generic types to the most suitable specialized type in the set.&lt;br /&gt;
&lt;br /&gt;
A vehicle set that uses specialized types should define a generic type as fallback, via the railtype table. If such a fallback is omitted, please note that certain vehicles may be unavailable depending on track set loaded.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Generic energy type classes&lt;br /&gt;
|-&lt;br /&gt;
|N ||no electrification&lt;br /&gt;
|-&lt;br /&gt;
|E ||overhead wires/catenary electrification&lt;br /&gt;
|-&lt;br /&gt;
|3 ||3rd rail electrification&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Specialized energy type classes !!Vehicle set fallback&lt;br /&gt;
|-&lt;br /&gt;
|Z ||3rd rail and catenary electrification || 3 or E&lt;br /&gt;
|-&lt;br /&gt;
|4 ||4th rail electrification || 3&lt;br /&gt;
|-&lt;br /&gt;
|Y ||4th rail and catenary electrification || 4 or E&lt;br /&gt;
|-&lt;br /&gt;
|T ||[http://en.wikipedia.org/wiki/Three-phase_AC_railway_electrification three phase AC electrification] || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|D ||DC catenary electrification || E&lt;br /&gt;
|-&lt;br /&gt;
|d ||low voltage DC catenary electrification (only when D also used in set) || First A then E&lt;br /&gt;
|-&lt;br /&gt;
|A ||AC catenary electrification || E&lt;br /&gt;
|-&lt;br /&gt;
|a ||low voltage AC catenary electrification (only when A also used in set) || First A then E&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
If you want multi-voltage/current vehicles in your set (i.e. a train that can run on both AC and DC current), you have to define a dedicated railtype for those vehicles. Without the railtype, it&#039;s not possible to define vehicles with this property. If you only have vehicles that can run on either one type of voltage/current or on all types of voltage/current (e.g. a 2-system if you only have &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;D&#039;&#039;&#039; tracks, or a 4-system in case of all &#039;&#039;&#039;A&#039;&#039;&#039;, &#039;&#039;&#039;a&#039;&#039;&#039;, &#039;&#039;&#039;D&#039;&#039;&#039; and &#039;&#039;&#039;d&#039;&#039;&#039;), then use the generic class &#039;&#039;&#039;E&#039;&#039;&#039; for vehicles that should be able to run on all different voltage/currents. Also the track set needs to have one at least one railtype with class &#039;&#039;&#039;E&#039;&#039;&#039; defined.&lt;br /&gt;
&lt;br /&gt;
Note that if you want more than one type of multi-voltage/current, you&#039;ll quickly get a combinatory explosion of railtype labels, so plan carefully or do not attempt it. For every different multi-voltage/current vehicle type a dedicated railtype is needed. If you want all possible combinations, then you need to define an additional 8 classes. It is not recommended to make your train/track set this complicated.&lt;br /&gt;
&lt;br /&gt;
Example approach for a 4-system set, with trains that can run on either one or all systems:&lt;br /&gt;
* &#039;&#039;&#039;E&#039;&#039;&#039;: generic catenary-powered electric engines. &amp;quot;universal&amp;quot; [4-system] if any of &#039;&#039;&#039;D&#039;&#039;&#039;/&#039;&#039;&#039;d&#039;&#039;&#039;/&#039;&#039;&#039;A&#039;&#039;&#039;/&#039;&#039;&#039;a&#039;&#039;&#039; are defined.&lt;br /&gt;
* &#039;&#039;&#039;A&#039;&#039;&#039;: generic AC catenary electric engines. 25kV only if &#039;&#039;&#039;a&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;A&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;a&#039;&#039;&#039;: 15kV AC catenary electric engines. Only defined if &#039;&#039;&#039;A&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;a&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;D&#039;&#039;&#039;: generic DC catenary electric engines. 3kV if &#039;&#039;&#039;d&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;D&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;d&#039;&#039;&#039;: 1.5kV DC catenary electric engines. Only defined if &#039;&#039;&#039;D&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;D&#039;&#039;&#039; and &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;d&#039;&#039;&#039;.&lt;br /&gt;
For a 2-system set, you can simply drop &#039;&#039;&#039;a&#039;&#039;&#039; and &#039;&#039;&#039;d&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Standard labels: RAIL, ELRL, MONO, MGLV ===&lt;br /&gt;
It&#039;s not possible to undefine the standard railtypes RAIL, ELRL, MONO and MGLV. The game will always add those if there are vehicles defined for these track types. As a result, for a track set it&#039;s best not to ignore those standard labels, but rather work with them and define them in the set. If your track set does not have monorail or maglev tracks, there of course is no need to define those. But if your track set defines anything that resembles unelectrified or electrified rail, you should use the RAIL and ELRL labels. Matching labels from the above scheme will then be defined in property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
As vehicles from NewGRFs that do not use explicit railtypes will end up on these standard railtypes, you should use RAIL instead of whatever type could be regarded as the most commonly used unelectrified type, ELRL instead of the most commonly used electrified type and so on. The label according to this scheme is then set as an alternate.&lt;br /&gt;
&lt;br /&gt;
== Summary for track sets ==&lt;br /&gt;
This section summarizes the above for track sets.&lt;br /&gt;
&lt;br /&gt;
; [X***] Track gauge and type class&lt;br /&gt;
* Define at least one track type for every track gauge/type class you want in your set.&lt;br /&gt;
* If you only provide tracks for one gauge/type, consider leaving some free railtypes so a player can load an additional set for some other type.&lt;br /&gt;
; [*X**] Speed limit class&lt;br /&gt;
* Make sure class A is always available, either directly or via an alternate label.&lt;br /&gt;
* Use only class A if you don&#039;t want speed limits;&lt;br /&gt;
* With speed limits, A is the lowest speed limit. Continue with B, C, etc. for increasing speed limits;&lt;br /&gt;
* The speed class can also be used to implement additional eye-candy track types, use letters higher in the alphabet for this.&lt;br /&gt;
; [**X*] Axle load class&lt;br /&gt;
* Always define all classes A through E for every track type class / electrification combination, either:&lt;br /&gt;
** Directly via a real railtype definition;&lt;br /&gt;
** Indirectly via the alternate rail type label list, property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
* Extend the predefined classes only if you also provide a train set that makes use of these.&lt;br /&gt;
; [***X] Energy source type class&lt;br /&gt;
* If your set only uses specialized classes, always map the generic classes to the closest matching specialized type via property 1D.&lt;br /&gt;
; Standard labels [RAIL, ELRL, MONO, MGLV]&lt;br /&gt;
* Always define the standard labels when possible, instead of what would be the equivalent of the standard label in this scheme.&lt;br /&gt;
* Map the equivalent labels from this scheme to the standard labels using property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
Or, put differently, for each gauge/type, select one or more energy source types. For each type/energy combination provide all axle load classes for the speed class &amp;quot;A&amp;quot;, either as a real type or as an alternate of another type. Provide more types with a different speed letter if you want to provide several different speeds or other eye-candy tracks.&lt;br /&gt;
&lt;br /&gt;
== Summary for train sets ==&lt;br /&gt;
This section summarizes the above for train sets.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; [X***] Track gauge and type class&lt;br /&gt;
* Use the track type class that matches the vehicle;&lt;br /&gt;
* Define a fallback type via the railtype table in case you want the vehicle to be available on a different track if no matching track set is loaded.&lt;br /&gt;
** Specialized subtypes like &amp;quot;n&amp;quot; might not always be available. If you want those vehicles to be still available then, fall back the the generic class (e.g. &amp;quot;N&amp;quot;).&lt;br /&gt;
; [*X**] Speed limit class &lt;br /&gt;
* Always use class A for every vehicle.&lt;br /&gt;
; [**X*] Axle load class&lt;br /&gt;
* Use all classes A through E according to the maximum axle weight of the vehicle.&lt;br /&gt;
* Extend the predefined classes only if you also provide a track set that makes use of these;&lt;br /&gt;
** When extending the predefined classes A through E, define a fallback type via the railtype table in case you want the vehicle to be available if no matching track set is loaded.&lt;br /&gt;
; [***X] Energy source type class&lt;br /&gt;
* Use the energy source type class that matches the vehicle;&lt;br /&gt;
* When using specialized classes, define a fallback type via the railtype table in case you want the vehicle to be available if no matching track set is loaded.&lt;br /&gt;
; Standard labels [RAIL, ELRL, MONO, MGLV]&lt;br /&gt;
* Define a fallback type to the standard labels via the railtype table in case you want the vehicle to be available on the standard tracks if no matching track set is loaded.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Be as specific as you want when selecting the railtype, it is the job of the track set to select a playable, reduced subset out of all possible type combinations.&lt;br /&gt;
&lt;br /&gt;
== In case you&#039;re not convinced by this scheme ==&lt;br /&gt;
Adopting this scheme gives the player freedom to use any track set in combination with any train set that follow the scheme. &lt;br /&gt;
&lt;br /&gt;
This means that you can make your train set compatible with track sets that provide axle load classes, and track sets that provide speed limits, and at the same time with track sets that provide none of this. This way, the player can decide to play with or without axle load classes, or with or without speed limits, simply by loading a track set that does or does not provide these features.&lt;br /&gt;
&lt;br /&gt;
And for your track set, it means that you can make it as simple or as complicated as you want (within the 64 track type limit), while not having to worry about compatibility with train sets.&lt;br /&gt;
&lt;br /&gt;
Still not convinced? Feel free to use railtype labels of your own, but know that you will likely come to regret that at some point in the future.&lt;br /&gt;
&lt;br /&gt;
==Forum topic==&lt;br /&gt;
If you want to discuss the standardized railtype scheme or have any questions about it, you can visit [http://www.tt-forums.net/viewtopic.php?t=59379 the forum topic].&lt;br /&gt;
&lt;br /&gt;
==&amp;quot;Innsbruck 2022 Convention&amp;quot; for partial compliance==&lt;br /&gt;
&lt;br /&gt;
This is really esoteric, but eh. It was the product of long discussion / debate / argument / reasoning between grf authors.&lt;br /&gt;
&lt;br /&gt;
1. The Standardized Railtype Scheme &#039;&#039;&#039;is a useful tool&#039;&#039;&#039; for providing reliable compatibility between train grfs and railtype grfs.&lt;br /&gt;
&lt;br /&gt;
2. The &#039;&#039;&#039;axle load class&#039;&#039;&#039; in the scheme presents a number of issues for compliance.&lt;br /&gt;
&lt;br /&gt;
2.1. Over 10 years since the scheme was standardised, not many train grfs implement multiple axle load classes &#039;&#039;&#039;as required by the scheme&#039;&#039;&#039;.  Known examples that &#039;&#039;&#039;do&#039;&#039;&#039; comply include Dutch Train Set, French Narrow Gauge Trains, and Finnish Trains.&lt;br /&gt;
&lt;br /&gt;
2.2. Elements of the axle load rules have proven hard to interpret.  For example:&lt;br /&gt;
&lt;br /&gt;
* is it compliant to use &#039;&#039;fewer&#039;&#039; than 5 classes in a train grf?  There is a lack of consensus on this.&lt;br /&gt;
* axle load is only one of many factors that govern whether a vehicle is compatible with a route, for example loading gauge, minimum curve, signalling types etc&lt;br /&gt;
&lt;br /&gt;
2.3. Meanwhile &#039;&#039;multiple existing train grfs use class &#039;&#039;A&#039;&#039; for the axle load for all trains&#039;&#039; (except where relying on default railtypes such as RAIL and ELRL).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3. The Innsbruck 2022 Convention uses class &#039;&#039;A&#039;&#039; for axle load for &#039;&#039;&#039;all&#039;&#039;&#039; trains in a train grf (except where relying on default railtypes such as RAIL and ELRL).&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is &#039;&#039;&#039;not&#039;&#039;&#039; fully compliant with the Standardized Railtype Scheme and does not claim to be.&lt;br /&gt;
&lt;br /&gt;
However train grfs using the Innsbruck 2022 Convention are &#039;&#039;broadly compatible&#039;&#039; with railtype grfs using the Standardized Railtype Scheme.  &lt;br /&gt;
&lt;br /&gt;
Obligatory XKCD link about &#039;standards&#039;: https://xkcd.com/927/&lt;br /&gt;
&lt;br /&gt;
===Known issues===&lt;br /&gt;
&lt;br /&gt;
Known problems are that trains using only class &#039;A&#039; may limit the ability of railtype grf authors to achieve their design goals for separating railtypes by axle load.  &lt;br /&gt;
But on reflection, it can be seen that a train grf might not be able to provide a broad enough range of vehicles to cover at least 5 axle load classes.&lt;br /&gt;
&lt;br /&gt;
3.1. The Innsbruck 2022 Convention is &#039;&#039;&#039;not&#039;&#039;&#039; appropriate for train grf authors who wish to provide more than one axle load class.&lt;br /&gt;
&lt;br /&gt;
3.2. The Innsbruck 2022 Convention treats the meaning of class &#039;&#039;A&#039;&#039; as &#039;&#039;undefined&#039;&#039;, &#039;&#039;ignored&#039;&#039; or &#039;&#039;compatible with most restricted railtype&#039;&#039; for axle load.  &lt;br /&gt;
&lt;br /&gt;
Axle load class &#039;&#039;A&#039;&#039; &#039;&#039;&#039;cannot&#039;&#039;&#039; be safely interpreted as &#039;&#039;universal&#039;&#039; because from the perspective of a railtype grf &#039;&#039;A&#039;&#039; is &#039;&#039;most restricted railtype&#039;&#039;, where &#039;&#039;universal&#039;&#039; is better represented as &#039;&#039;least restricted railtype&#039;&#039;. Depending how many axle load classes are in use by the railtype grf, this could be class &#039;&#039;B&#039;&#039;, &#039;&#039;C&#039;&#039;, &#039;&#039;D&#039;&#039;, &#039;&#039;E&#039;&#039; etc.  To illustrate this issue, take the following scenario&lt;br /&gt;
&lt;br /&gt;
* railtype grf defines axle loads &#039;&#039;A&#039;&#039; to &#039;&#039;E&#039;&#039;. In this case the railtype grf author intends that &#039;&#039;A&#039;&#039; is compatible with the smallest range of vehicles, &#039;&#039;E&#039;&#039; is compatible with the largest range of vehicles, and &#039;&#039;B&#039;&#039;, &#039;&#039;C&#039;&#039; and &#039;&#039;D&#039;&#039; are compatible with some intermediate ranges of vehicles&lt;br /&gt;
* but the vehicle grf author has defined all vehicles to be axle load &#039;&#039;A&#039;&#039; in an attempt to express this vehicle is &#039;&#039;universal&#039;&#039;.  The result in the game is that an identical range of vehicles will be compatible with railtypes &#039;&#039;A&#039;&#039; to &#039;&#039;E&#039;&#039;.  &lt;br /&gt;
&lt;br /&gt;
This is clearly &#039;&#039;&#039;not&#039;&#039;&#039; the intended outcome of the railtype author. But nor is it clear within the spec that the vehicle author has particularly done anything wrong. &lt;br /&gt;
&lt;br /&gt;
It &#039;&#039;would&#039;&#039; be possible to use railtype availability testing to adjust the vehicle property 05 (track_type) to fit the highest defined axle load (&#039;&#039;E&#039;&#039; in this example case), but this is not insignificant work, and it&#039;s unlikely to be widely adopted by vehicle grf authors.  Nor would this solution achieve &#039;&#039;universal&#039;&#039; as all vehicles in vehicle grf then would be incompatible with types &#039;&#039;A&#039;&#039; through &#039;&#039;D&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
3.3. When the Innsbruck 2022 Convention is used, this &#039;&#039;&#039;does not prevent&#039;&#039;&#039; a train grf being extended in some future release to achieve full compliance with Standardized Railtype Scheme. &#039;&#039;That choice remains with train grf authors&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
3.4. If 2012 could be revisited, providing an optional &#039;&#039;_&#039;&#039; axle load class in the Standardized Railtype Scheme for &#039;&#039;undefined&#039;&#039; would have been preferable, but as of 2022, &#039;&#039;A&#039;&#039; is already widely used for this purpose, and time travel is not known to be possible.&lt;br /&gt;
&lt;br /&gt;
==Extended multivoltage support addition==&lt;br /&gt;
These are extensions to the energy source type class currently supported by SETS and xUSSR Rails which allow trainsets to code trains which are limited to a certain selection of voltages. As stated in the energy source type class section this might not be of use for all sets, as such it is optional but still recommended for trainsets for ideal functionality with tracksets which support the extended labels.&lt;br /&gt;
{|&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Specialized energy type classes !!Vehicle set fallback&lt;br /&gt;
|-&lt;br /&gt;
|* ||Equivilent to A, a, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|&#039; ||Equivilent to A, a and D || E&lt;br /&gt;
|-&lt;br /&gt;
|^ ||Equivilent to A, a and d || E&lt;br /&gt;
|-&lt;br /&gt;
|_ ||Equivilent to A, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
|, ||Equivilent to a, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|$ ||Equivilent to A and a  || First A then E&lt;br /&gt;
|-&lt;br /&gt;
|= ||Equivilent to D and d  || First D then E&lt;br /&gt;
|-&lt;br /&gt;
|) ||Equivilent to A and D  || E&lt;br /&gt;
|-&lt;br /&gt;
|( ||Equivilent to A and d  || E&lt;br /&gt;
|-&lt;br /&gt;
|] ||Equivilent to a and D  || E&lt;br /&gt;
|-&lt;br /&gt;
|[ ||Equivilent to a and d  || E&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Possible additions==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Track type/gauge&lt;br /&gt;
|-&lt;br /&gt;
|_ ||Universal &amp;quot;cheat&amp;quot; rail; ALWAYS add &amp;quot;_A_-&amp;quot;, &amp;quot;_A_t and &amp;quot;_A_N&amp;quot; to EVERY [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]] to support it if you are making a new set, older sets can be covered by fix or patch grfs&lt;br /&gt;
|-&lt;br /&gt;
|0 ||(A number zero, not a letter &amp;quot;Oh&amp;quot;) No track, eyecandy-use only&lt;br /&gt;
|-&lt;br /&gt;
|1 ||Early Monorail; See [https://perma.cc/6BVS-2P2X here] and [https://perma.cc/VCG2-ATUA here]&lt;br /&gt;
|-&lt;br /&gt;
|G ||Gyrail; [https://en.wikipedia.org/wiki/Gyro_monorail Gyro monorail/Gyroscopic monorail/Gyro-stabilized monorail]&lt;br /&gt;
|-&lt;br /&gt;
|m ||Minimum gauge rail; [https://en.wikipedia.org/wiki/Minimum-gauge_railway 15 in (381 mm), 400 mm (15+3⁄4 in), 16 in (406 mm), 18 in (457 mm), 19 in (483 mm), 500 mm (19+3⁄4 in) or 20 in (508 mm)]&lt;br /&gt;
|-&lt;br /&gt;
|n ||600mm &amp;quot;Decauville&amp;quot; or &amp;quot;Feldsbahn&amp;quot;, formerly labelled &amp;quot;NG60&amp;quot; before standardization; the most common narrow gauge track type in OpenTTD other than metre gauge, 600mm gauge is thus ideal for taking up the &amp;quot;n&amp;quot; gauge, though this is an ultimately optional distinction&lt;br /&gt;
|-&lt;br /&gt;
|7 ||750mm, Bosnian gauge (760 mm), and 762mm; all start with 7 and are close in size&lt;br /&gt;
|-&lt;br /&gt;
|3 ||Swedish 3 foot (891 mm), 900mm, 3 foot (914 mm) and Italian Metre (950mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|R ||Metre gauge; potentially compatible with base tramtype &amp;quot;RABN&amp;quot;, most early tramways were metre gauge&lt;br /&gt;
|-&lt;br /&gt;
|4 ||4 foot gauge (1219 mm), and possibly 4&#039;6&amp;quot; in. (1372 mm) if standardization is needed for 1372mm&lt;br /&gt;
|-&lt;br /&gt;
|s ||Scotch gauge (1372 mm)&lt;br /&gt;
|-&lt;br /&gt;
|S ||Standard gauge; already implemented in original standardized railtype scheme, but could include near-standard (1432 mm) as well as existing true standard (1435 mm) and is also potentially compatible with the SABN tramtype&lt;br /&gt;
|-&lt;br /&gt;
|X ||Omni-gauge rail (for at-grade multi-gauge crossings and stations); ultrabroad/secondary broad/primary broad/standard/primary narrow/secondary narrow gauge&lt;br /&gt;
|-&lt;br /&gt;
|x ||Multi-gauge rail (for at-grade multi-gauge crossings and stations); secondary broad/primary broad/standard/primary narrow/secondary narrow&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;+&amp;lt;/nowiki&amp;gt; ||Quad-gauge (Four-gauge) rail (for at-grade multi-gauge crossings and stations); secondary broad/primary broad/standard/primary narrow&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt; ||Four-gauge rail (for at-grade multi-gauge crossings and stations); primary broad/standard/primary narrow/secondary narrow&lt;br /&gt;
|-&lt;br /&gt;
|b ||Broad gauge rail - As broad gauge is a rare tracktype, it may still be feasible to cement B and b as broad gauges of two differing sizes, but the rarity among gauges in the real world would need to match; Italian (1445 mm) and Dresden (1450 mm) gauges may be better grouped here&lt;br /&gt;
|-&lt;br /&gt;
|t ||Leipzig trams (1458 mm) and Greater Toronto Area streetcars (1495 mm)&lt;br /&gt;
|-&lt;br /&gt;
|5 ||1520mm and 5 foot (1524 mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|V ||Pennsylvanian (1581 mm and 1588 mm) and Australian &amp;quot;Victorian&amp;quot; (1600 mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|6 ||6 foot (1829 mm) broad gauge&lt;br /&gt;
|-&lt;br /&gt;
|g ||Brunel&#039;s Great Western Railway gauge (2140 mm)&lt;br /&gt;
|-&lt;br /&gt;
|B ||Broad gauge rail - As broad gauge is a rare tracktype, and the variation in common real life track types too wide, it may be desirable to cement B and b as broad gauges of two differing sizes; With no real life examples that match the usage frequency of &amp;quot;B&amp;quot;, the gauge might best draw inspiration from the infamous [https://en.wikipedia.org/wiki/Breitspurbahn Breitspurbahn] (3000 mm) and [https://perma.cc/KQ2Z-5RCR the never-built vehicles designed for it]&lt;br /&gt;
|-&lt;br /&gt;
|L ||Maglevs that have a u-shaped track&lt;br /&gt;
|-&lt;br /&gt;
|T ||Maglevs that have a monorail track&lt;br /&gt;
|-&lt;br /&gt;
|F ||Flightrail; A [https://web.archive.org/web/20231213122530/http://www.flightrail.com/ system capable of high speeds and steep hill grades] that uses a pneumatic pipe for propulsion (see &amp;quot;P&amp;quot; under energy sources), and &#039;&#039;wheels pointed inwards at a 45-degree angle&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
It might be preferred to instead use/keep &amp;quot;B&amp;quot; for &amp;quot;all (current) broad gauges&amp;quot; (mostly Victorian gauge) instead using lowercase &amp;quot;b&amp;quot; for Brunel/GWR broad gauge. This wouldn&#039;t be to different from narrow gauge since the lesser used ones are lowercase and fallback to the uppercase ones.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Electrification !!Fallback&lt;br /&gt;
|-&lt;br /&gt;
|S ||Maglevs that use a synchronous linear motor ||N/A&lt;br /&gt;
|-&lt;br /&gt;
|I ||Maglevs that use a linear induction motor ||MGLV (the whole label)&lt;br /&gt;
|-&lt;br /&gt;
|t ||&amp;quot;Universal custom tunnel&amp;quot; (for electrified sub-surface rail tunnels) ||E (mandatory)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt; ||Universal energy type (&#039;&#039;not&#039;&#039; meant to replace &amp;quot;***N&amp;quot;; use for vehicles such as driving cabs which cannot move under their own power regardless, if desired) ||N/A (Be sure to put &amp;quot;***E&amp;quot; in the [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]] of a &amp;quot;***-&amp;quot; label)&lt;br /&gt;
|-&lt;br /&gt;
|P ||Pneumatic tube with physical piston slit, or closed pneumatic tube with magnetic piston (i.e. that used by [https://web.archive.org/web/20231213122530/http://www.flightrail.com/ Flightrail]) ||N/A&lt;br /&gt;
|-&lt;br /&gt;
|p ||Pneumatic and universal electrical power ||N/A (Be sure to put &amp;quot;***_&amp;quot; and ***P&amp;quot; in the [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]] of a &amp;quot;***p&amp;quot; label)&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Lurkmore</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=Standardized_Railtype_Scheme&amp;diff=4732</id>
		<title>Standardized Railtype Scheme</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=Standardized_Railtype_Scheme&amp;diff=4732"/>
		<updated>2024-02-27T20:46:21Z</updated>

		<summary type="html">&lt;p&gt;Lurkmore: /* Possible additions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This railtype label scheme aims to bring order to the uncontrolled growth of railtype labels. It groups the rail types into what matters from a technical perspective. The scheme provides a standardized way of defining railtype labels, based on track gauge and type, speed class, allowable axle weight and electrification type.&lt;br /&gt;
&lt;br /&gt;
It is the explicit intent of this scheme to decouple track sets from vehicle sets to facilitate easy mixing. This way the player can select a track set of choice to go with a train set of choice. It allows the player to play with or without axle load classes, or with or without speed limit classes, simply by loading a track set that does or does not provide these features. In some cases it will also be possible to combine niche track sets, for instance a standard gauge track set with a narrow gauge and a metro track set.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== The Label Scheme ==&lt;br /&gt;
A railtype label consists of four characters. In this scheme, each position has a different purpose:&lt;br /&gt;
# Track gauge and type class (e.g. standard gauge rail, narrow gauge rail, monorail)&lt;br /&gt;
# Speed limit class&lt;br /&gt;
# Axle load class (maximum allowed axle weight for this track)&lt;br /&gt;
# Energy source type class&lt;br /&gt;
&lt;br /&gt;
In the next sections, each of the four positions will be explained.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Track gauge and type class [X***] ===&lt;br /&gt;
The first position in the railtype label defines track gauge and/or track type class. The following classes are currently defined:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Track type/gauge&lt;br /&gt;
|- &lt;br /&gt;
|S ||Standard gauge rail&lt;br /&gt;
|-&lt;br /&gt;
|B ||Broad gauge rail &lt;br /&gt;
|-&lt;br /&gt;
|N ||Narrow gauge rail&lt;br /&gt;
|-&lt;br /&gt;
|n ||Secondary narrow gauge rail (e.g. when providing both metre and cape gauge, always use N in case of just one type of narrow gauge)&lt;br /&gt;
|-&lt;br /&gt;
|D ||Dual gauge rail, standard/broad gauge&lt;br /&gt;
|-&lt;br /&gt;
|d ||Dual gauge rail, standard/narrow gauge&lt;br /&gt;
|-&lt;br /&gt;
|M ||Monorail&lt;br /&gt;
|-&lt;br /&gt;
|L ||Magnetic Levitation&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Speed limit class [*X**] ===&lt;br /&gt;
The second position in the railtype label defines the speed limit class. These classes do not map to a fixed numeric value, but are used to define an internal speed limit order for the track set. This means that if your track set has two different speed limits for track types that are otherwise identical, you&#039;ll use letters A and B here. In case of three different speed limits, use A, B and C. In case your track set does not employ speed limits, always use A. Train sets do not care about the speed limit, and will always set the lowest speed class, i.e. A.&lt;br /&gt;
&lt;br /&gt;
This gives for instance the following options:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||no speed limits&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;OR&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||low speed&lt;br /&gt;
|-&lt;br /&gt;
|B ||high speed&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;OR&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||low speed&lt;br /&gt;
|-&lt;br /&gt;
|B ||medium speed&lt;br /&gt;
|-&lt;br /&gt;
|C ||high speed&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;etc.&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear:left;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The speed limit class may also be used for some advanced features of the label scheme, like specialized track types and eyecandy purposes. Be careful not to break the compatibility with other sets when using the speed limit class for these purposes.&lt;br /&gt;
&lt;br /&gt;
An example of a special use is rack rail. In the French set it is used to give rack rail engines a higher speed and TE than normal rail engines when used on rack rail. When defining trains with a special speed limit class, always allow a fallback to speed limit class A via the railtype table.&lt;br /&gt;
&lt;br /&gt;
An example of eyecandy use are urban tracks. These are a variation of regular tracks, but with concrete ground tiles to better match the urban environment. Train sets must not define vehicles for eyecandy classes. If you think you have special vehicles that should only run on the eyecandy class, it is &#039;&#039;not&#039;&#039; eyecandy but a separate track gauge/type.&lt;br /&gt;
&lt;br /&gt;
The following special and eyecandy classes have been defined so far:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Description !!Type !!Used by&lt;br /&gt;
|- &lt;br /&gt;
|A-H ||speed limits ||colspan=&amp;quot;2&amp;quot;|reserved&lt;br /&gt;
|- &lt;br /&gt;
|R ||rack rail ||special ||French Set Rails &lt;br /&gt;
|- &lt;br /&gt;
|S ||subterranean ||eyecandy ||Metro Track Set&lt;br /&gt;
|- &lt;br /&gt;
|U ||urban ||eyecandy ||Metro Track Set&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Axle load class [**X*] ===&lt;br /&gt;
The third position defines the axle weight limit. Heavy trains cannot run on tracks with a low axle weight limit; these trains need more expensive tracks with a heigher weight limit. There are five axle load classes &#039;&#039;&#039;A&#039;&#039;&#039; through &#039;&#039;&#039;E&#039;&#039;&#039;. &#039;&#039;&#039;A&#039;&#039;&#039; is for the lowest axle load limit, &#039;&#039;&#039;E&#039;&#039;&#039; for the highest. The exact axle load attached to each class is relative to the track gauge/type and trains in the set. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A train set should set the appropriate axle weight for each train via the railtype label, as to make the set work with track sets that do provide tracks with different weight limits, even if you don&#039;t care about it for your trainset. Split all vehicles of a certain track gauge/type into five groups of similar axle weight. The group with the lowest axle weights will get class &#039;&#039;&#039;A&#039;&#039;&#039;, the second lowest class &#039;&#039;&#039;B&#039;&#039;&#039;, etc. up to the group with the highest axle weights which will get class &#039;&#039;&#039;E&#039;&#039;&#039;. Do the same for the other track gauge/types if your train set has those.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A track set does not have to provide a dedicated track type for each axle weight limit. A track set that does not provide a dedicated track for each axle load class, must make sure to map all undefined axle load classes to a real railtype using property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]]. This way a train set can rely on all labels for all axle load classes being available. Example: if you only want to provide 2 axle load classes for standard gauge unelectrified with no speed limits, you can map SA&#039;&#039;&#039;A&#039;&#039;&#039;N + SA&#039;&#039;&#039;B&#039;&#039;&#039;N to SA&#039;&#039;&#039;C&#039;&#039;&#039;N and SA&#039;&#039;&#039;D&#039;&#039;&#039;N to SA&#039;&#039;&#039;E&#039;&#039;&#039;N if the cost difference between the two railtypes is high, or SA&#039;&#039;&#039;A&#039;&#039;&#039;N to SA&#039;&#039;&#039;B&#039;&#039;&#039;N and SA&#039;&#039;&#039;C&#039;&#039;&#039;N + SA&#039;&#039;&#039;D&#039;&#039;&#039;N to SA&#039;&#039;&#039;E&#039;&#039;&#039;N if the cost difference is low.&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t want to provide any axle load classes in your track set, it doesn&#039;t really matter what axle load class you choose for the track, as you&#039;ll be mapping all other classes to this track anyways. But the lowest or highest class are the obvious choice. Example: if your track set only provides narrow gauge unelectrified track with no speed limits and no axle load limits, you may use NA&#039;&#039;&#039;A&#039;&#039;&#039;N for the track label, and provide NA&#039;&#039;&#039;B&#039;&#039;&#039;N, NA&#039;&#039;&#039;C&#039;&#039;&#039;N, NA&#039;&#039;&#039;D&#039;&#039;&#039;N, NA&#039;&#039;&#039;E&#039;&#039;&#039;N in property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you need more than five axle load class, you may use lowercase letters for very low axle loads and continue the uppercase letters for very high axle loads. Be advised that your train set may not assume the existance of any other class than &#039;&#039;&#039;A&#039;&#039;&#039; through &#039;&#039;&#039;E&#039;&#039;&#039;, so when the range make sure to program your railtype table such that trains with such a class will fall back to class &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;E&#039;&#039;&#039;. If you make a track set with an extended range, be aware that not all train sets will define trains for these tracks. In general: only do this in case of a train set with a matching track set.&lt;br /&gt;
&lt;br /&gt;
For the lowercase letters, &#039;&#039;&#039;b&#039;&#039;&#039; is lower than &#039;&#039;&#039;a&#039;&#039;&#039;, so for increasing axle load limits: b &amp;lt; a &amp;lt; A &amp;lt; B &amp;lt; C etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that the axle load classes never map to a specific weight in tonnes. For that reason it does not make sense to add a numeric value for the axle load to the name of a track type or in the extended purchase info of a train. Instead use the relative expressions &#039;very low&#039;, &#039;low&#039;, &#039;medium&#039;, &#039;high&#039; and &#039;very high&#039; or use the class letters directly.&lt;br /&gt;
&lt;br /&gt;
=== Energy source type class [***X] ===&lt;br /&gt;
The last position defines the energy source type class. This is split in generic energy source types like overhead wires and third rail and specialized types like alternating and direct current.&lt;br /&gt;
&lt;br /&gt;
A track set that only uses specialized types, should map the generic types to the most suitable specialized type in the set.&lt;br /&gt;
&lt;br /&gt;
A vehicle set that uses specialized types should define a generic type as fallback, via the railtype table. If such a fallback is omitted, please note that certain vehicles may be unavailable depending on track set loaded.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Generic energy type classes&lt;br /&gt;
|-&lt;br /&gt;
|N ||no electrification&lt;br /&gt;
|-&lt;br /&gt;
|E ||overhead wires/catenary electrification&lt;br /&gt;
|-&lt;br /&gt;
|3 ||3rd rail electrification&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Specialized energy type classes !!Vehicle set fallback&lt;br /&gt;
|-&lt;br /&gt;
|Z ||3rd rail and catenary electrification || 3 or E&lt;br /&gt;
|-&lt;br /&gt;
|4 ||4th rail electrification || 3&lt;br /&gt;
|-&lt;br /&gt;
|Y ||4th rail and catenary electrification || 4 or E&lt;br /&gt;
|-&lt;br /&gt;
|T ||[http://en.wikipedia.org/wiki/Three-phase_AC_railway_electrification three phase AC electrification] || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|D ||DC catenary electrification || E&lt;br /&gt;
|-&lt;br /&gt;
|d ||low voltage DC catenary electrification (only when D also used in set) || First A then E&lt;br /&gt;
|-&lt;br /&gt;
|A ||AC catenary electrification || E&lt;br /&gt;
|-&lt;br /&gt;
|a ||low voltage AC catenary electrification (only when A also used in set) || First A then E&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
If you want multi-voltage/current vehicles in your set (i.e. a train that can run on both AC and DC current), you have to define a dedicated railtype for those vehicles. Without the railtype, it&#039;s not possible to define vehicles with this property. If you only have vehicles that can run on either one type of voltage/current or on all types of voltage/current (e.g. a 2-system if you only have &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;D&#039;&#039;&#039; tracks, or a 4-system in case of all &#039;&#039;&#039;A&#039;&#039;&#039;, &#039;&#039;&#039;a&#039;&#039;&#039;, &#039;&#039;&#039;D&#039;&#039;&#039; and &#039;&#039;&#039;d&#039;&#039;&#039;), then use the generic class &#039;&#039;&#039;E&#039;&#039;&#039; for vehicles that should be able to run on all different voltage/currents. Also the track set needs to have one at least one railtype with class &#039;&#039;&#039;E&#039;&#039;&#039; defined.&lt;br /&gt;
&lt;br /&gt;
Note that if you want more than one type of multi-voltage/current, you&#039;ll quickly get a combinatory explosion of railtype labels, so plan carefully or do not attempt it. For every different multi-voltage/current vehicle type a dedicated railtype is needed. If you want all possible combinations, then you need to define an additional 8 classes. It is not recommended to make your train/track set this complicated.&lt;br /&gt;
&lt;br /&gt;
Example approach for a 4-system set, with trains that can run on either one or all systems:&lt;br /&gt;
* &#039;&#039;&#039;E&#039;&#039;&#039;: generic catenary-powered electric engines. &amp;quot;universal&amp;quot; [4-system] if any of &#039;&#039;&#039;D&#039;&#039;&#039;/&#039;&#039;&#039;d&#039;&#039;&#039;/&#039;&#039;&#039;A&#039;&#039;&#039;/&#039;&#039;&#039;a&#039;&#039;&#039; are defined.&lt;br /&gt;
* &#039;&#039;&#039;A&#039;&#039;&#039;: generic AC catenary electric engines. 25kV only if &#039;&#039;&#039;a&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;A&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;a&#039;&#039;&#039;: 15kV AC catenary electric engines. Only defined if &#039;&#039;&#039;A&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;a&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;D&#039;&#039;&#039;: generic DC catenary electric engines. 3kV if &#039;&#039;&#039;d&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;D&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;d&#039;&#039;&#039;: 1.5kV DC catenary electric engines. Only defined if &#039;&#039;&#039;D&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;D&#039;&#039;&#039; and &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;d&#039;&#039;&#039;.&lt;br /&gt;
For a 2-system set, you can simply drop &#039;&#039;&#039;a&#039;&#039;&#039; and &#039;&#039;&#039;d&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Standard labels: RAIL, ELRL, MONO, MGLV ===&lt;br /&gt;
It&#039;s not possible to undefine the standard railtypes RAIL, ELRL, MONO and MGLV. The game will always add those if there are vehicles defined for these track types. As a result, for a track set it&#039;s best not to ignore those standard labels, but rather work with them and define them in the set. If your track set does not have monorail or maglev tracks, there of course is no need to define those. But if your track set defines anything that resembles unelectrified or electrified rail, you should use the RAIL and ELRL labels. Matching labels from the above scheme will then be defined in property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
As vehicles from NewGRFs that do not use explicit railtypes will end up on these standard railtypes, you should use RAIL instead of whatever type could be regarded as the most commonly used unelectrified type, ELRL instead of the most commonly used electrified type and so on. The label according to this scheme is then set as an alternate.&lt;br /&gt;
&lt;br /&gt;
== Summary for track sets ==&lt;br /&gt;
This section summarizes the above for track sets.&lt;br /&gt;
&lt;br /&gt;
; [X***] Track gauge and type class&lt;br /&gt;
* Define at least one track type for every track gauge/type class you want in your set.&lt;br /&gt;
* If you only provide tracks for one gauge/type, consider leaving some free railtypes so a player can load an additional set for some other type.&lt;br /&gt;
; [*X**] Speed limit class&lt;br /&gt;
* Make sure class A is always available, either directly or via an alternate label.&lt;br /&gt;
* Use only class A if you don&#039;t want speed limits;&lt;br /&gt;
* With speed limits, A is the lowest speed limit. Continue with B, C, etc. for increasing speed limits;&lt;br /&gt;
* The speed class can also be used to implement additional eye-candy track types, use letters higher in the alphabet for this.&lt;br /&gt;
; [**X*] Axle load class&lt;br /&gt;
* Always define all classes A through E for every track type class / electrification combination, either:&lt;br /&gt;
** Directly via a real railtype definition;&lt;br /&gt;
** Indirectly via the alternate rail type label list, property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
* Extend the predefined classes only if you also provide a train set that makes use of these.&lt;br /&gt;
; [***X] Energy source type class&lt;br /&gt;
* If your set only uses specialized classes, always map the generic classes to the closest matching specialized type via property 1D.&lt;br /&gt;
; Standard labels [RAIL, ELRL, MONO, MGLV]&lt;br /&gt;
* Always define the standard labels when possible, instead of what would be the equivalent of the standard label in this scheme.&lt;br /&gt;
* Map the equivalent labels from this scheme to the standard labels using property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
Or, put differently, for each gauge/type, select one or more energy source types. For each type/energy combination provide all axle load classes for the speed class &amp;quot;A&amp;quot;, either as a real type or as an alternate of another type. Provide more types with a different speed letter if you want to provide several different speeds or other eye-candy tracks.&lt;br /&gt;
&lt;br /&gt;
== Summary for train sets ==&lt;br /&gt;
This section summarizes the above for train sets.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; [X***] Track gauge and type class&lt;br /&gt;
* Use the track type class that matches the vehicle;&lt;br /&gt;
* Define a fallback type via the railtype table in case you want the vehicle to be available on a different track if no matching track set is loaded.&lt;br /&gt;
** Specialized subtypes like &amp;quot;n&amp;quot; might not always be available. If you want those vehicles to be still available then, fall back the the generic class (e.g. &amp;quot;N&amp;quot;).&lt;br /&gt;
; [*X**] Speed limit class &lt;br /&gt;
* Always use class A for every vehicle.&lt;br /&gt;
; [**X*] Axle load class&lt;br /&gt;
* Use all classes A through E according to the maximum axle weight of the vehicle.&lt;br /&gt;
* Extend the predefined classes only if you also provide a track set that makes use of these;&lt;br /&gt;
** When extending the predefined classes A through E, define a fallback type via the railtype table in case you want the vehicle to be available if no matching track set is loaded.&lt;br /&gt;
; [***X] Energy source type class&lt;br /&gt;
* Use the energy source type class that matches the vehicle;&lt;br /&gt;
* When using specialized classes, define a fallback type via the railtype table in case you want the vehicle to be available if no matching track set is loaded.&lt;br /&gt;
; Standard labels [RAIL, ELRL, MONO, MGLV]&lt;br /&gt;
* Define a fallback type to the standard labels via the railtype table in case you want the vehicle to be available on the standard tracks if no matching track set is loaded.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Be as specific as you want when selecting the railtype, it is the job of the track set to select a playable, reduced subset out of all possible type combinations.&lt;br /&gt;
&lt;br /&gt;
== In case you&#039;re not convinced by this scheme ==&lt;br /&gt;
Adopting this scheme gives the player freedom to use any track set in combination with any train set that follow the scheme. &lt;br /&gt;
&lt;br /&gt;
This means that you can make your train set compatible with track sets that provide axle load classes, and track sets that provide speed limits, and at the same time with track sets that provide none of this. This way, the player can decide to play with or without axle load classes, or with or without speed limits, simply by loading a track set that does or does not provide these features.&lt;br /&gt;
&lt;br /&gt;
And for your track set, it means that you can make it as simple or as complicated as you want (within the 64 track type limit), while not having to worry about compatibility with train sets.&lt;br /&gt;
&lt;br /&gt;
Still not convinced? Feel free to use railtype labels of your own, but know that you will likely come to regret that at some point in the future.&lt;br /&gt;
&lt;br /&gt;
==Forum topic==&lt;br /&gt;
If you want to discuss the standardized railtype scheme or have any questions about it, you can visit [http://www.tt-forums.net/viewtopic.php?t=59379 the forum topic].&lt;br /&gt;
&lt;br /&gt;
==&amp;quot;Innsbruck 2022 Convention&amp;quot; for partial compliance==&lt;br /&gt;
&lt;br /&gt;
This is really esoteric, but eh. It was the product of long discussion / debate / argument / reasoning between grf authors.&lt;br /&gt;
&lt;br /&gt;
1. The Standardized Railtype Scheme &#039;&#039;&#039;is a useful tool&#039;&#039;&#039; for providing reliable compatibility between train grfs and railtype grfs.&lt;br /&gt;
&lt;br /&gt;
2. The &#039;&#039;&#039;axle load class&#039;&#039;&#039; in the scheme presents a number of issues for compliance.&lt;br /&gt;
&lt;br /&gt;
2.1. Over 10 years since the scheme was standardised, not many train grfs implement multiple axle load classes &#039;&#039;&#039;as required by the scheme&#039;&#039;&#039;.  Known examples that &#039;&#039;&#039;do&#039;&#039;&#039; comply include Dutch Train Set, French Narrow Gauge Trains, and Finnish Trains.&lt;br /&gt;
&lt;br /&gt;
2.2. Elements of the axle load rules have proven hard to interpret.  For example:&lt;br /&gt;
&lt;br /&gt;
* is it compliant to use &#039;&#039;fewer&#039;&#039; than 5 classes in a train grf?  There is a lack of consensus on this.&lt;br /&gt;
* axle load is only one of many factors that govern whether a vehicle is compatible with a route, for example loading gauge, minimum curve, signalling types etc&lt;br /&gt;
&lt;br /&gt;
2.3. Meanwhile &#039;&#039;multiple existing train grfs use class &#039;&#039;A&#039;&#039; for the axle load for all trains&#039;&#039; (except where relying on default railtypes such as RAIL and ELRL).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3. The Innsbruck 2022 Convention uses class &#039;&#039;A&#039;&#039; for axle load for &#039;&#039;&#039;all&#039;&#039;&#039; trains in a train grf (except where relying on default railtypes such as RAIL and ELRL).&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is &#039;&#039;&#039;not&#039;&#039;&#039; fully compliant with the Standardized Railtype Scheme and does not claim to be.&lt;br /&gt;
&lt;br /&gt;
However train grfs using the Innsbruck 2022 Convention are &#039;&#039;broadly compatible&#039;&#039; with railtype grfs using the Standardized Railtype Scheme.  &lt;br /&gt;
&lt;br /&gt;
Obligatory XKCD link about &#039;standards&#039;: https://xkcd.com/927/&lt;br /&gt;
&lt;br /&gt;
===Known issues===&lt;br /&gt;
&lt;br /&gt;
Known problems are that trains using only class &#039;A&#039; may limit the ability of railtype grf authors to achieve their design goals for separating railtypes by axle load.  &lt;br /&gt;
But on reflection, it can be seen that a train grf might not be able to provide a broad enough range of vehicles to cover at least 5 axle load classes.&lt;br /&gt;
&lt;br /&gt;
3.1. The Innsbruck 2022 Convention is &#039;&#039;&#039;not&#039;&#039;&#039; appropriate for train grf authors who wish to provide more than one axle load class.&lt;br /&gt;
&lt;br /&gt;
3.2. The Innsbruck 2022 Convention treats the meaning of class &#039;&#039;A&#039;&#039; as &#039;&#039;undefined&#039;&#039;, &#039;&#039;ignored&#039;&#039; or &#039;&#039;compatible with most restricted railtype&#039;&#039; for axle load.  &lt;br /&gt;
&lt;br /&gt;
Axle load class &#039;&#039;A&#039;&#039; &#039;&#039;&#039;cannot&#039;&#039;&#039; be safely interpreted as &#039;&#039;universal&#039;&#039; because from the perspective of a railtype grf &#039;&#039;A&#039;&#039; is &#039;&#039;most restricted railtype&#039;&#039;, where &#039;&#039;universal&#039;&#039; is better represented as &#039;&#039;least restricted railtype&#039;&#039;. Depending how many axle load classes are in use by the railtype grf, this could be class &#039;&#039;B&#039;&#039;, &#039;&#039;C&#039;&#039;, &#039;&#039;D&#039;&#039;, &#039;&#039;E&#039;&#039; etc.  To illustrate this issue, take the following scenario&lt;br /&gt;
&lt;br /&gt;
* railtype grf defines axle loads &#039;&#039;A&#039;&#039; to &#039;&#039;E&#039;&#039;. In this case the railtype grf author intends that &#039;&#039;A&#039;&#039; is compatible with the smallest range of vehicles, &#039;&#039;E&#039;&#039; is compatible with the largest range of vehicles, and &#039;&#039;B&#039;&#039;, &#039;&#039;C&#039;&#039; and &#039;&#039;D&#039;&#039; are compatible with some intermediate ranges of vehicles&lt;br /&gt;
* but the vehicle grf author has defined all vehicles to be axle load &#039;&#039;A&#039;&#039; in an attempt to express this vehicle is &#039;&#039;universal&#039;&#039;.  The result in the game is that an identical range of vehicles will be compatible with railtypes &#039;&#039;A&#039;&#039; to &#039;&#039;E&#039;&#039;.  &lt;br /&gt;
&lt;br /&gt;
This is clearly &#039;&#039;&#039;not&#039;&#039;&#039; the intended outcome of the railtype author. But nor is it clear within the spec that the vehicle author has particularly done anything wrong. &lt;br /&gt;
&lt;br /&gt;
It &#039;&#039;would&#039;&#039; be possible to use railtype availability testing to adjust the vehicle property 05 (track_type) to fit the highest defined axle load (&#039;&#039;E&#039;&#039; in this example case), but this is not insignificant work, and it&#039;s unlikely to be widely adopted by vehicle grf authors.  Nor would this solution achieve &#039;&#039;universal&#039;&#039; as all vehicles in vehicle grf then would be incompatible with types &#039;&#039;A&#039;&#039; through &#039;&#039;D&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
3.3. When the Innsbruck 2022 Convention is used, this &#039;&#039;&#039;does not prevent&#039;&#039;&#039; a train grf being extended in some future release to achieve full compliance with Standardized Railtype Scheme. &#039;&#039;That choice remains with train grf authors&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
3.4. If 2012 could be revisited, providing an optional &#039;&#039;_&#039;&#039; axle load class in the Standardized Railtype Scheme for &#039;&#039;undefined&#039;&#039; would have been preferable, but as of 2022, &#039;&#039;A&#039;&#039; is already widely used for this purpose, and time travel is not known to be possible.&lt;br /&gt;
&lt;br /&gt;
==Extended multivoltage support addition==&lt;br /&gt;
These are extensions to the energy source type class currently supported by SETS and xUSSR Rails which allow trainsets to code trains which are limited to a certain selection of voltages. As stated in the energy source type class section this might not be of use for all sets, as such it is optional but still recommended for trainsets for ideal functionality with tracksets which support the extended labels.&lt;br /&gt;
{|&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Specialized energy type classes !!Vehicle set fallback&lt;br /&gt;
|-&lt;br /&gt;
|* ||Equivilent to A, a, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|&#039; ||Equivilent to A, a and D || E&lt;br /&gt;
|-&lt;br /&gt;
|^ ||Equivilent to A, a and d || E&lt;br /&gt;
|-&lt;br /&gt;
|_ ||Equivilent to A, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
|, ||Equivilent to a, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|$ ||Equivilent to A and a  || First A then E&lt;br /&gt;
|-&lt;br /&gt;
|= ||Equivilent to D and d  || First D then E&lt;br /&gt;
|-&lt;br /&gt;
|) ||Equivilent to A and D  || E&lt;br /&gt;
|-&lt;br /&gt;
|( ||Equivilent to A and d  || E&lt;br /&gt;
|-&lt;br /&gt;
|] ||Equivilent to a and D  || E&lt;br /&gt;
|-&lt;br /&gt;
|[ ||Equivilent to a and d  || E&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Possible additions==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Track type/gauge&lt;br /&gt;
|-&lt;br /&gt;
|_ ||Universal &amp;quot;cheat&amp;quot; rail; ALWAYS add &amp;quot;_A_-&amp;quot;, &amp;quot;_A_t and &amp;quot;_A_N&amp;quot; to EVERY [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]] to support it if you are making a new set, older sets can be covered by fix or patch grfs&lt;br /&gt;
|-&lt;br /&gt;
|0 ||(A number zero, not a letter &amp;quot;Oh&amp;quot;) No track, eyecandy-use only&lt;br /&gt;
|-&lt;br /&gt;
|1 ||Early Monorail; See [https://perma.cc/6BVS-2P2X here] and [https://perma.cc/VCG2-ATUA here]&lt;br /&gt;
|-&lt;br /&gt;
|m ||Minimum gauge rail; [https://en.wikipedia.org/wiki/Minimum-gauge_railway 15 in (381 mm), 400 mm (15+3⁄4 in), 16 in (406 mm), 18 in (457 mm), 19 in (483 mm), 500 mm (19+3⁄4 in) or 20 in (508 mm)]&lt;br /&gt;
|-&lt;br /&gt;
|n ||600mm &amp;quot;Decauville&amp;quot; or &amp;quot;Feldsbahn&amp;quot;, formerly labelled &amp;quot;NG60&amp;quot; before standardization; the most common narrow gauge track type in OpenTTD other than metre gauge, 600mm gauge is thus ideal for taking up the &amp;quot;n&amp;quot; gauge, though this is an ultimately optional distinction&lt;br /&gt;
|-&lt;br /&gt;
|7 ||750mm, Bosnian gauge (760 mm), and 762mm; all start with 7 and are close in size&lt;br /&gt;
|-&lt;br /&gt;
|3 ||Swedish 3 foot (891 mm), 900mm, 3 foot (914 mm) and Italian Metre (950mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|R ||Metre gauge; potentially compatible with base tramtype &amp;quot;RABN&amp;quot;, most early tramways were metre gauge&lt;br /&gt;
|-&lt;br /&gt;
|4 ||4 foot gauge (1219 mm), and possibly 4&#039;6&amp;quot; in. (1372 mm) if standardization is needed for 1372mm&lt;br /&gt;
|-&lt;br /&gt;
|s ||Scotch gauge (1372 mm)&lt;br /&gt;
|-&lt;br /&gt;
|S ||Standard gauge; already implemented in original standardized railtype scheme, but could include near-standard (1432 mm) as well as existing true standard (1435 mm) and is also potentially compatible with the SABN tramtype&lt;br /&gt;
|-&lt;br /&gt;
|X ||Omni-gauge rail (for at-grade multi-gauge crossings and stations); ultrabroad/secondary broad/primary broad/standard/primary narrow/secondary narrow gauge&lt;br /&gt;
|-&lt;br /&gt;
|x ||Multi-gauge rail (for at-grade multi-gauge crossings and stations); secondary broad/primary broad/standard/primary narrow/secondary narrow&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;+&amp;lt;/nowiki&amp;gt; ||Quad-gauge (Four-gauge) rail (for at-grade multi-gauge crossings and stations); secondary broad/primary broad/standard/primary narrow&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt; ||Four-gauge rail (for at-grade multi-gauge crossings and stations); primary broad/standard/primary narrow/secondary narrow&lt;br /&gt;
|-&lt;br /&gt;
|b ||Broad gauge rail - As broad gauge is a rare tracktype, it may still be feasible to cement B and b as broad gauges of two differing sizes, but the rarity among gauges in the real world would need to match; Italian (1445 mm) and Dresden (1450 mm) gauges may be better grouped here&lt;br /&gt;
|-&lt;br /&gt;
|t ||Leipzig trams (1458 mm) and Greater Toronto Area streetcars (1495 mm)&lt;br /&gt;
|-&lt;br /&gt;
|5 ||1520mm and 5 foot (1524 mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|V ||Pennsylvanian (1581 mm and 1588 mm) and Australian &amp;quot;Victorian&amp;quot; (1600 mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|6 ||6 foot (1829 mm) broad gauge&lt;br /&gt;
|-&lt;br /&gt;
|g ||Brunel&#039;s Great Western Railway gauge (2140 mm)&lt;br /&gt;
|-&lt;br /&gt;
|B ||Broad gauge rail - As broad gauge is a rare tracktype, and the variation in common real life track types too wide, it may be desirable to cement B and b as broad gauges of two differing sizes; With no real life examples that match the usage frequency of &amp;quot;B&amp;quot;, the gauge might best draw inspiration from the infamous [https://en.wikipedia.org/wiki/Breitspurbahn Breitspurbahn] (3000 mm) and [https://perma.cc/KQ2Z-5RCR the never-built vehicles designed for it]&lt;br /&gt;
|-&lt;br /&gt;
|L ||Maglevs that have a u-shaped track&lt;br /&gt;
|-&lt;br /&gt;
|T ||Maglevs that have a monorail track&lt;br /&gt;
|-&lt;br /&gt;
|F ||Flightrail; A [https://web.archive.org/web/20231213122530/http://www.flightrail.com/ system capable of high speeds and steep hill grades] that uses a pneumatic pipe for propulsion (see &amp;quot;P&amp;quot; under energy sources), and &#039;&#039;wheels pointed inwards at a 45-degree angle&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
It might be preferred to instead use/keep &amp;quot;B&amp;quot; for &amp;quot;all (current) broad gauges&amp;quot; (mostly Victorian gauge) instead using lowercase &amp;quot;b&amp;quot; for Brunel/GWR broad gauge. This wouldn&#039;t be to different from narrow gauge since the lesser used ones are lowercase and fallback to the uppercase ones.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Electrification !!Fallback&lt;br /&gt;
|-&lt;br /&gt;
|S ||Maglevs that use a synchronous linear motor ||N/A&lt;br /&gt;
|-&lt;br /&gt;
|I ||Maglevs that use a linear induction motor ||MGLV (the whole label)&lt;br /&gt;
|-&lt;br /&gt;
|t ||&amp;quot;Universal custom tunnel&amp;quot; (for electrified sub-surface rail tunnels) ||E (mandatory)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt; ||Universal energy type (&#039;&#039;not&#039;&#039; meant to replace &amp;quot;***N&amp;quot;; use for vehicles such as driving cabs which cannot move under their own power regardless, if desired) ||N/A (Be sure to put &amp;quot;***E&amp;quot; in the [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]] of a &amp;quot;***-&amp;quot; label)&lt;br /&gt;
|-&lt;br /&gt;
|P ||Pneumatic tube with physical piston slit, or closed pneumatic tube with magnetic piston (i.e. that used by [https://web.archive.org/web/20231213122530/http://www.flightrail.com/ Flightrail]) ||N/A&lt;br /&gt;
|-&lt;br /&gt;
|p ||Pneumatic and universal electrical power ||N/A (Be sure to put &amp;quot;***_&amp;quot; and ***P&amp;quot; in the [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]] of a &amp;quot;***p&amp;quot; label)&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Lurkmore</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=Standardized_Railtype_Scheme&amp;diff=4731</id>
		<title>Standardized Railtype Scheme</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=Standardized_Railtype_Scheme&amp;diff=4731"/>
		<updated>2024-02-27T20:41:22Z</updated>

		<summary type="html">&lt;p&gt;Lurkmore: /* Possible additions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This railtype label scheme aims to bring order to the uncontrolled growth of railtype labels. It groups the rail types into what matters from a technical perspective. The scheme provides a standardized way of defining railtype labels, based on track gauge and type, speed class, allowable axle weight and electrification type.&lt;br /&gt;
&lt;br /&gt;
It is the explicit intent of this scheme to decouple track sets from vehicle sets to facilitate easy mixing. This way the player can select a track set of choice to go with a train set of choice. It allows the player to play with or without axle load classes, or with or without speed limit classes, simply by loading a track set that does or does not provide these features. In some cases it will also be possible to combine niche track sets, for instance a standard gauge track set with a narrow gauge and a metro track set.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== The Label Scheme ==&lt;br /&gt;
A railtype label consists of four characters. In this scheme, each position has a different purpose:&lt;br /&gt;
# Track gauge and type class (e.g. standard gauge rail, narrow gauge rail, monorail)&lt;br /&gt;
# Speed limit class&lt;br /&gt;
# Axle load class (maximum allowed axle weight for this track)&lt;br /&gt;
# Energy source type class&lt;br /&gt;
&lt;br /&gt;
In the next sections, each of the four positions will be explained.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Track gauge and type class [X***] ===&lt;br /&gt;
The first position in the railtype label defines track gauge and/or track type class. The following classes are currently defined:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Track type/gauge&lt;br /&gt;
|- &lt;br /&gt;
|S ||Standard gauge rail&lt;br /&gt;
|-&lt;br /&gt;
|B ||Broad gauge rail &lt;br /&gt;
|-&lt;br /&gt;
|N ||Narrow gauge rail&lt;br /&gt;
|-&lt;br /&gt;
|n ||Secondary narrow gauge rail (e.g. when providing both metre and cape gauge, always use N in case of just one type of narrow gauge)&lt;br /&gt;
|-&lt;br /&gt;
|D ||Dual gauge rail, standard/broad gauge&lt;br /&gt;
|-&lt;br /&gt;
|d ||Dual gauge rail, standard/narrow gauge&lt;br /&gt;
|-&lt;br /&gt;
|M ||Monorail&lt;br /&gt;
|-&lt;br /&gt;
|L ||Magnetic Levitation&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Speed limit class [*X**] ===&lt;br /&gt;
The second position in the railtype label defines the speed limit class. These classes do not map to a fixed numeric value, but are used to define an internal speed limit order for the track set. This means that if your track set has two different speed limits for track types that are otherwise identical, you&#039;ll use letters A and B here. In case of three different speed limits, use A, B and C. In case your track set does not employ speed limits, always use A. Train sets do not care about the speed limit, and will always set the lowest speed class, i.e. A.&lt;br /&gt;
&lt;br /&gt;
This gives for instance the following options:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||no speed limits&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;OR&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||low speed&lt;br /&gt;
|-&lt;br /&gt;
|B ||high speed&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;OR&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||low speed&lt;br /&gt;
|-&lt;br /&gt;
|B ||medium speed&lt;br /&gt;
|-&lt;br /&gt;
|C ||high speed&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;etc.&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear:left;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The speed limit class may also be used for some advanced features of the label scheme, like specialized track types and eyecandy purposes. Be careful not to break the compatibility with other sets when using the speed limit class for these purposes.&lt;br /&gt;
&lt;br /&gt;
An example of a special use is rack rail. In the French set it is used to give rack rail engines a higher speed and TE than normal rail engines when used on rack rail. When defining trains with a special speed limit class, always allow a fallback to speed limit class A via the railtype table.&lt;br /&gt;
&lt;br /&gt;
An example of eyecandy use are urban tracks. These are a variation of regular tracks, but with concrete ground tiles to better match the urban environment. Train sets must not define vehicles for eyecandy classes. If you think you have special vehicles that should only run on the eyecandy class, it is &#039;&#039;not&#039;&#039; eyecandy but a separate track gauge/type.&lt;br /&gt;
&lt;br /&gt;
The following special and eyecandy classes have been defined so far:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Description !!Type !!Used by&lt;br /&gt;
|- &lt;br /&gt;
|A-H ||speed limits ||colspan=&amp;quot;2&amp;quot;|reserved&lt;br /&gt;
|- &lt;br /&gt;
|R ||rack rail ||special ||French Set Rails &lt;br /&gt;
|- &lt;br /&gt;
|S ||subterranean ||eyecandy ||Metro Track Set&lt;br /&gt;
|- &lt;br /&gt;
|U ||urban ||eyecandy ||Metro Track Set&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Axle load class [**X*] ===&lt;br /&gt;
The third position defines the axle weight limit. Heavy trains cannot run on tracks with a low axle weight limit; these trains need more expensive tracks with a heigher weight limit. There are five axle load classes &#039;&#039;&#039;A&#039;&#039;&#039; through &#039;&#039;&#039;E&#039;&#039;&#039;. &#039;&#039;&#039;A&#039;&#039;&#039; is for the lowest axle load limit, &#039;&#039;&#039;E&#039;&#039;&#039; for the highest. The exact axle load attached to each class is relative to the track gauge/type and trains in the set. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A train set should set the appropriate axle weight for each train via the railtype label, as to make the set work with track sets that do provide tracks with different weight limits, even if you don&#039;t care about it for your trainset. Split all vehicles of a certain track gauge/type into five groups of similar axle weight. The group with the lowest axle weights will get class &#039;&#039;&#039;A&#039;&#039;&#039;, the second lowest class &#039;&#039;&#039;B&#039;&#039;&#039;, etc. up to the group with the highest axle weights which will get class &#039;&#039;&#039;E&#039;&#039;&#039;. Do the same for the other track gauge/types if your train set has those.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A track set does not have to provide a dedicated track type for each axle weight limit. A track set that does not provide a dedicated track for each axle load class, must make sure to map all undefined axle load classes to a real railtype using property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]]. This way a train set can rely on all labels for all axle load classes being available. Example: if you only want to provide 2 axle load classes for standard gauge unelectrified with no speed limits, you can map SA&#039;&#039;&#039;A&#039;&#039;&#039;N + SA&#039;&#039;&#039;B&#039;&#039;&#039;N to SA&#039;&#039;&#039;C&#039;&#039;&#039;N and SA&#039;&#039;&#039;D&#039;&#039;&#039;N to SA&#039;&#039;&#039;E&#039;&#039;&#039;N if the cost difference between the two railtypes is high, or SA&#039;&#039;&#039;A&#039;&#039;&#039;N to SA&#039;&#039;&#039;B&#039;&#039;&#039;N and SA&#039;&#039;&#039;C&#039;&#039;&#039;N + SA&#039;&#039;&#039;D&#039;&#039;&#039;N to SA&#039;&#039;&#039;E&#039;&#039;&#039;N if the cost difference is low.&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t want to provide any axle load classes in your track set, it doesn&#039;t really matter what axle load class you choose for the track, as you&#039;ll be mapping all other classes to this track anyways. But the lowest or highest class are the obvious choice. Example: if your track set only provides narrow gauge unelectrified track with no speed limits and no axle load limits, you may use NA&#039;&#039;&#039;A&#039;&#039;&#039;N for the track label, and provide NA&#039;&#039;&#039;B&#039;&#039;&#039;N, NA&#039;&#039;&#039;C&#039;&#039;&#039;N, NA&#039;&#039;&#039;D&#039;&#039;&#039;N, NA&#039;&#039;&#039;E&#039;&#039;&#039;N in property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you need more than five axle load class, you may use lowercase letters for very low axle loads and continue the uppercase letters for very high axle loads. Be advised that your train set may not assume the existance of any other class than &#039;&#039;&#039;A&#039;&#039;&#039; through &#039;&#039;&#039;E&#039;&#039;&#039;, so when the range make sure to program your railtype table such that trains with such a class will fall back to class &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;E&#039;&#039;&#039;. If you make a track set with an extended range, be aware that not all train sets will define trains for these tracks. In general: only do this in case of a train set with a matching track set.&lt;br /&gt;
&lt;br /&gt;
For the lowercase letters, &#039;&#039;&#039;b&#039;&#039;&#039; is lower than &#039;&#039;&#039;a&#039;&#039;&#039;, so for increasing axle load limits: b &amp;lt; a &amp;lt; A &amp;lt; B &amp;lt; C etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that the axle load classes never map to a specific weight in tonnes. For that reason it does not make sense to add a numeric value for the axle load to the name of a track type or in the extended purchase info of a train. Instead use the relative expressions &#039;very low&#039;, &#039;low&#039;, &#039;medium&#039;, &#039;high&#039; and &#039;very high&#039; or use the class letters directly.&lt;br /&gt;
&lt;br /&gt;
=== Energy source type class [***X] ===&lt;br /&gt;
The last position defines the energy source type class. This is split in generic energy source types like overhead wires and third rail and specialized types like alternating and direct current.&lt;br /&gt;
&lt;br /&gt;
A track set that only uses specialized types, should map the generic types to the most suitable specialized type in the set.&lt;br /&gt;
&lt;br /&gt;
A vehicle set that uses specialized types should define a generic type as fallback, via the railtype table. If such a fallback is omitted, please note that certain vehicles may be unavailable depending on track set loaded.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Generic energy type classes&lt;br /&gt;
|-&lt;br /&gt;
|N ||no electrification&lt;br /&gt;
|-&lt;br /&gt;
|E ||overhead wires/catenary electrification&lt;br /&gt;
|-&lt;br /&gt;
|3 ||3rd rail electrification&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Specialized energy type classes !!Vehicle set fallback&lt;br /&gt;
|-&lt;br /&gt;
|Z ||3rd rail and catenary electrification || 3 or E&lt;br /&gt;
|-&lt;br /&gt;
|4 ||4th rail electrification || 3&lt;br /&gt;
|-&lt;br /&gt;
|Y ||4th rail and catenary electrification || 4 or E&lt;br /&gt;
|-&lt;br /&gt;
|T ||[http://en.wikipedia.org/wiki/Three-phase_AC_railway_electrification three phase AC electrification] || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|D ||DC catenary electrification || E&lt;br /&gt;
|-&lt;br /&gt;
|d ||low voltage DC catenary electrification (only when D also used in set) || First A then E&lt;br /&gt;
|-&lt;br /&gt;
|A ||AC catenary electrification || E&lt;br /&gt;
|-&lt;br /&gt;
|a ||low voltage AC catenary electrification (only when A also used in set) || First A then E&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
If you want multi-voltage/current vehicles in your set (i.e. a train that can run on both AC and DC current), you have to define a dedicated railtype for those vehicles. Without the railtype, it&#039;s not possible to define vehicles with this property. If you only have vehicles that can run on either one type of voltage/current or on all types of voltage/current (e.g. a 2-system if you only have &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;D&#039;&#039;&#039; tracks, or a 4-system in case of all &#039;&#039;&#039;A&#039;&#039;&#039;, &#039;&#039;&#039;a&#039;&#039;&#039;, &#039;&#039;&#039;D&#039;&#039;&#039; and &#039;&#039;&#039;d&#039;&#039;&#039;), then use the generic class &#039;&#039;&#039;E&#039;&#039;&#039; for vehicles that should be able to run on all different voltage/currents. Also the track set needs to have one at least one railtype with class &#039;&#039;&#039;E&#039;&#039;&#039; defined.&lt;br /&gt;
&lt;br /&gt;
Note that if you want more than one type of multi-voltage/current, you&#039;ll quickly get a combinatory explosion of railtype labels, so plan carefully or do not attempt it. For every different multi-voltage/current vehicle type a dedicated railtype is needed. If you want all possible combinations, then you need to define an additional 8 classes. It is not recommended to make your train/track set this complicated.&lt;br /&gt;
&lt;br /&gt;
Example approach for a 4-system set, with trains that can run on either one or all systems:&lt;br /&gt;
* &#039;&#039;&#039;E&#039;&#039;&#039;: generic catenary-powered electric engines. &amp;quot;universal&amp;quot; [4-system] if any of &#039;&#039;&#039;D&#039;&#039;&#039;/&#039;&#039;&#039;d&#039;&#039;&#039;/&#039;&#039;&#039;A&#039;&#039;&#039;/&#039;&#039;&#039;a&#039;&#039;&#039; are defined.&lt;br /&gt;
* &#039;&#039;&#039;A&#039;&#039;&#039;: generic AC catenary electric engines. 25kV only if &#039;&#039;&#039;a&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;A&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;a&#039;&#039;&#039;: 15kV AC catenary electric engines. Only defined if &#039;&#039;&#039;A&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;a&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;D&#039;&#039;&#039;: generic DC catenary electric engines. 3kV if &#039;&#039;&#039;d&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;D&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;d&#039;&#039;&#039;: 1.5kV DC catenary electric engines. Only defined if &#039;&#039;&#039;D&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;D&#039;&#039;&#039; and &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;d&#039;&#039;&#039;.&lt;br /&gt;
For a 2-system set, you can simply drop &#039;&#039;&#039;a&#039;&#039;&#039; and &#039;&#039;&#039;d&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Standard labels: RAIL, ELRL, MONO, MGLV ===&lt;br /&gt;
It&#039;s not possible to undefine the standard railtypes RAIL, ELRL, MONO and MGLV. The game will always add those if there are vehicles defined for these track types. As a result, for a track set it&#039;s best not to ignore those standard labels, but rather work with them and define them in the set. If your track set does not have monorail or maglev tracks, there of course is no need to define those. But if your track set defines anything that resembles unelectrified or electrified rail, you should use the RAIL and ELRL labels. Matching labels from the above scheme will then be defined in property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
As vehicles from NewGRFs that do not use explicit railtypes will end up on these standard railtypes, you should use RAIL instead of whatever type could be regarded as the most commonly used unelectrified type, ELRL instead of the most commonly used electrified type and so on. The label according to this scheme is then set as an alternate.&lt;br /&gt;
&lt;br /&gt;
== Summary for track sets ==&lt;br /&gt;
This section summarizes the above for track sets.&lt;br /&gt;
&lt;br /&gt;
; [X***] Track gauge and type class&lt;br /&gt;
* Define at least one track type for every track gauge/type class you want in your set.&lt;br /&gt;
* If you only provide tracks for one gauge/type, consider leaving some free railtypes so a player can load an additional set for some other type.&lt;br /&gt;
; [*X**] Speed limit class&lt;br /&gt;
* Make sure class A is always available, either directly or via an alternate label.&lt;br /&gt;
* Use only class A if you don&#039;t want speed limits;&lt;br /&gt;
* With speed limits, A is the lowest speed limit. Continue with B, C, etc. for increasing speed limits;&lt;br /&gt;
* The speed class can also be used to implement additional eye-candy track types, use letters higher in the alphabet for this.&lt;br /&gt;
; [**X*] Axle load class&lt;br /&gt;
* Always define all classes A through E for every track type class / electrification combination, either:&lt;br /&gt;
** Directly via a real railtype definition;&lt;br /&gt;
** Indirectly via the alternate rail type label list, property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
* Extend the predefined classes only if you also provide a train set that makes use of these.&lt;br /&gt;
; [***X] Energy source type class&lt;br /&gt;
* If your set only uses specialized classes, always map the generic classes to the closest matching specialized type via property 1D.&lt;br /&gt;
; Standard labels [RAIL, ELRL, MONO, MGLV]&lt;br /&gt;
* Always define the standard labels when possible, instead of what would be the equivalent of the standard label in this scheme.&lt;br /&gt;
* Map the equivalent labels from this scheme to the standard labels using property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
Or, put differently, for each gauge/type, select one or more energy source types. For each type/energy combination provide all axle load classes for the speed class &amp;quot;A&amp;quot;, either as a real type or as an alternate of another type. Provide more types with a different speed letter if you want to provide several different speeds or other eye-candy tracks.&lt;br /&gt;
&lt;br /&gt;
== Summary for train sets ==&lt;br /&gt;
This section summarizes the above for train sets.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; [X***] Track gauge and type class&lt;br /&gt;
* Use the track type class that matches the vehicle;&lt;br /&gt;
* Define a fallback type via the railtype table in case you want the vehicle to be available on a different track if no matching track set is loaded.&lt;br /&gt;
** Specialized subtypes like &amp;quot;n&amp;quot; might not always be available. If you want those vehicles to be still available then, fall back the the generic class (e.g. &amp;quot;N&amp;quot;).&lt;br /&gt;
; [*X**] Speed limit class &lt;br /&gt;
* Always use class A for every vehicle.&lt;br /&gt;
; [**X*] Axle load class&lt;br /&gt;
* Use all classes A through E according to the maximum axle weight of the vehicle.&lt;br /&gt;
* Extend the predefined classes only if you also provide a track set that makes use of these;&lt;br /&gt;
** When extending the predefined classes A through E, define a fallback type via the railtype table in case you want the vehicle to be available if no matching track set is loaded.&lt;br /&gt;
; [***X] Energy source type class&lt;br /&gt;
* Use the energy source type class that matches the vehicle;&lt;br /&gt;
* When using specialized classes, define a fallback type via the railtype table in case you want the vehicle to be available if no matching track set is loaded.&lt;br /&gt;
; Standard labels [RAIL, ELRL, MONO, MGLV]&lt;br /&gt;
* Define a fallback type to the standard labels via the railtype table in case you want the vehicle to be available on the standard tracks if no matching track set is loaded.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Be as specific as you want when selecting the railtype, it is the job of the track set to select a playable, reduced subset out of all possible type combinations.&lt;br /&gt;
&lt;br /&gt;
== In case you&#039;re not convinced by this scheme ==&lt;br /&gt;
Adopting this scheme gives the player freedom to use any track set in combination with any train set that follow the scheme. &lt;br /&gt;
&lt;br /&gt;
This means that you can make your train set compatible with track sets that provide axle load classes, and track sets that provide speed limits, and at the same time with track sets that provide none of this. This way, the player can decide to play with or without axle load classes, or with or without speed limits, simply by loading a track set that does or does not provide these features.&lt;br /&gt;
&lt;br /&gt;
And for your track set, it means that you can make it as simple or as complicated as you want (within the 64 track type limit), while not having to worry about compatibility with train sets.&lt;br /&gt;
&lt;br /&gt;
Still not convinced? Feel free to use railtype labels of your own, but know that you will likely come to regret that at some point in the future.&lt;br /&gt;
&lt;br /&gt;
==Forum topic==&lt;br /&gt;
If you want to discuss the standardized railtype scheme or have any questions about it, you can visit [http://www.tt-forums.net/viewtopic.php?t=59379 the forum topic].&lt;br /&gt;
&lt;br /&gt;
==&amp;quot;Innsbruck 2022 Convention&amp;quot; for partial compliance==&lt;br /&gt;
&lt;br /&gt;
This is really esoteric, but eh. It was the product of long discussion / debate / argument / reasoning between grf authors.&lt;br /&gt;
&lt;br /&gt;
1. The Standardized Railtype Scheme &#039;&#039;&#039;is a useful tool&#039;&#039;&#039; for providing reliable compatibility between train grfs and railtype grfs.&lt;br /&gt;
&lt;br /&gt;
2. The &#039;&#039;&#039;axle load class&#039;&#039;&#039; in the scheme presents a number of issues for compliance.&lt;br /&gt;
&lt;br /&gt;
2.1. Over 10 years since the scheme was standardised, not many train grfs implement multiple axle load classes &#039;&#039;&#039;as required by the scheme&#039;&#039;&#039;.  Known examples that &#039;&#039;&#039;do&#039;&#039;&#039; comply include Dutch Train Set, French Narrow Gauge Trains, and Finnish Trains.&lt;br /&gt;
&lt;br /&gt;
2.2. Elements of the axle load rules have proven hard to interpret.  For example:&lt;br /&gt;
&lt;br /&gt;
* is it compliant to use &#039;&#039;fewer&#039;&#039; than 5 classes in a train grf?  There is a lack of consensus on this.&lt;br /&gt;
* axle load is only one of many factors that govern whether a vehicle is compatible with a route, for example loading gauge, minimum curve, signalling types etc&lt;br /&gt;
&lt;br /&gt;
2.3. Meanwhile &#039;&#039;multiple existing train grfs use class &#039;&#039;A&#039;&#039; for the axle load for all trains&#039;&#039; (except where relying on default railtypes such as RAIL and ELRL).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3. The Innsbruck 2022 Convention uses class &#039;&#039;A&#039;&#039; for axle load for &#039;&#039;&#039;all&#039;&#039;&#039; trains in a train grf (except where relying on default railtypes such as RAIL and ELRL).&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is &#039;&#039;&#039;not&#039;&#039;&#039; fully compliant with the Standardized Railtype Scheme and does not claim to be.&lt;br /&gt;
&lt;br /&gt;
However train grfs using the Innsbruck 2022 Convention are &#039;&#039;broadly compatible&#039;&#039; with railtype grfs using the Standardized Railtype Scheme.  &lt;br /&gt;
&lt;br /&gt;
Obligatory XKCD link about &#039;standards&#039;: https://xkcd.com/927/&lt;br /&gt;
&lt;br /&gt;
===Known issues===&lt;br /&gt;
&lt;br /&gt;
Known problems are that trains using only class &#039;A&#039; may limit the ability of railtype grf authors to achieve their design goals for separating railtypes by axle load.  &lt;br /&gt;
But on reflection, it can be seen that a train grf might not be able to provide a broad enough range of vehicles to cover at least 5 axle load classes.&lt;br /&gt;
&lt;br /&gt;
3.1. The Innsbruck 2022 Convention is &#039;&#039;&#039;not&#039;&#039;&#039; appropriate for train grf authors who wish to provide more than one axle load class.&lt;br /&gt;
&lt;br /&gt;
3.2. The Innsbruck 2022 Convention treats the meaning of class &#039;&#039;A&#039;&#039; as &#039;&#039;undefined&#039;&#039;, &#039;&#039;ignored&#039;&#039; or &#039;&#039;compatible with most restricted railtype&#039;&#039; for axle load.  &lt;br /&gt;
&lt;br /&gt;
Axle load class &#039;&#039;A&#039;&#039; &#039;&#039;&#039;cannot&#039;&#039;&#039; be safely interpreted as &#039;&#039;universal&#039;&#039; because from the perspective of a railtype grf &#039;&#039;A&#039;&#039; is &#039;&#039;most restricted railtype&#039;&#039;, where &#039;&#039;universal&#039;&#039; is better represented as &#039;&#039;least restricted railtype&#039;&#039;. Depending how many axle load classes are in use by the railtype grf, this could be class &#039;&#039;B&#039;&#039;, &#039;&#039;C&#039;&#039;, &#039;&#039;D&#039;&#039;, &#039;&#039;E&#039;&#039; etc.  To illustrate this issue, take the following scenario&lt;br /&gt;
&lt;br /&gt;
* railtype grf defines axle loads &#039;&#039;A&#039;&#039; to &#039;&#039;E&#039;&#039;. In this case the railtype grf author intends that &#039;&#039;A&#039;&#039; is compatible with the smallest range of vehicles, &#039;&#039;E&#039;&#039; is compatible with the largest range of vehicles, and &#039;&#039;B&#039;&#039;, &#039;&#039;C&#039;&#039; and &#039;&#039;D&#039;&#039; are compatible with some intermediate ranges of vehicles&lt;br /&gt;
* but the vehicle grf author has defined all vehicles to be axle load &#039;&#039;A&#039;&#039; in an attempt to express this vehicle is &#039;&#039;universal&#039;&#039;.  The result in the game is that an identical range of vehicles will be compatible with railtypes &#039;&#039;A&#039;&#039; to &#039;&#039;E&#039;&#039;.  &lt;br /&gt;
&lt;br /&gt;
This is clearly &#039;&#039;&#039;not&#039;&#039;&#039; the intended outcome of the railtype author. But nor is it clear within the spec that the vehicle author has particularly done anything wrong. &lt;br /&gt;
&lt;br /&gt;
It &#039;&#039;would&#039;&#039; be possible to use railtype availability testing to adjust the vehicle property 05 (track_type) to fit the highest defined axle load (&#039;&#039;E&#039;&#039; in this example case), but this is not insignificant work, and it&#039;s unlikely to be widely adopted by vehicle grf authors.  Nor would this solution achieve &#039;&#039;universal&#039;&#039; as all vehicles in vehicle grf then would be incompatible with types &#039;&#039;A&#039;&#039; through &#039;&#039;D&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
3.3. When the Innsbruck 2022 Convention is used, this &#039;&#039;&#039;does not prevent&#039;&#039;&#039; a train grf being extended in some future release to achieve full compliance with Standardized Railtype Scheme. &#039;&#039;That choice remains with train grf authors&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
3.4. If 2012 could be revisited, providing an optional &#039;&#039;_&#039;&#039; axle load class in the Standardized Railtype Scheme for &#039;&#039;undefined&#039;&#039; would have been preferable, but as of 2022, &#039;&#039;A&#039;&#039; is already widely used for this purpose, and time travel is not known to be possible.&lt;br /&gt;
&lt;br /&gt;
==Extended multivoltage support addition==&lt;br /&gt;
These are extensions to the energy source type class currently supported by SETS and xUSSR Rails which allow trainsets to code trains which are limited to a certain selection of voltages. As stated in the energy source type class section this might not be of use for all sets, as such it is optional but still recommended for trainsets for ideal functionality with tracksets which support the extended labels.&lt;br /&gt;
{|&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Specialized energy type classes !!Vehicle set fallback&lt;br /&gt;
|-&lt;br /&gt;
|* ||Equivilent to A, a, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|&#039; ||Equivilent to A, a and D || E&lt;br /&gt;
|-&lt;br /&gt;
|^ ||Equivilent to A, a and d || E&lt;br /&gt;
|-&lt;br /&gt;
|_ ||Equivilent to A, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
|, ||Equivilent to a, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|$ ||Equivilent to A and a  || First A then E&lt;br /&gt;
|-&lt;br /&gt;
|= ||Equivilent to D and d  || First D then E&lt;br /&gt;
|-&lt;br /&gt;
|) ||Equivilent to A and D  || E&lt;br /&gt;
|-&lt;br /&gt;
|( ||Equivilent to A and d  || E&lt;br /&gt;
|-&lt;br /&gt;
|] ||Equivilent to a and D  || E&lt;br /&gt;
|-&lt;br /&gt;
|[ ||Equivilent to a and d  || E&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Possible additions==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Track type/gauge&lt;br /&gt;
|-&lt;br /&gt;
|_ ||Universal &amp;quot;cheat&amp;quot; rail; ALWAYS add &amp;quot;_A_-&amp;quot;, &amp;quot;_A_t and &amp;quot;_A_N&amp;quot; to EVERY [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]] to support it if you are making a new set, older sets can be covered by fix or patch grfs&lt;br /&gt;
|-&lt;br /&gt;
|0 ||(A number zero, not a letter &amp;quot;Oh&amp;quot;) No track, eyecandy-use only&lt;br /&gt;
|-&lt;br /&gt;
|1 ||Early Monorail; See [https://perma.cc/6BVS-2P2X here] and [https://perma.cc/VCG2-ATUA here]&lt;br /&gt;
|-&lt;br /&gt;
|m ||Minimum gauge rail; [https://en.wikipedia.org/wiki/Minimum-gauge_railway 15 in (381 mm), 400 mm (15+3⁄4 in), 16 in (406 mm), 18 in (457 mm), 19 in (483 mm), 500 mm (19+3⁄4 in) or 20 in (508 mm)]&lt;br /&gt;
|-&lt;br /&gt;
|n ||600mm &amp;quot;Decauville&amp;quot; or &amp;quot;Feldsbahn&amp;quot;, formerly labelled &amp;quot;NG60&amp;quot; before standardization; the most common narrow gauge track type in OpenTTD other than metre gauge, 600mm gauge is thus ideal for taking up the &amp;quot;n&amp;quot; gauge, though this is an ultimately optional distinction&lt;br /&gt;
|-&lt;br /&gt;
|7 ||750mm, Bosnian gauge (760 mm), and 762mm; all start with 7 and are close in size&lt;br /&gt;
|-&lt;br /&gt;
|3 ||Swedish 3 foot (891 mm), 900mm, 3 foot (914 mm) and Italian Metre (950mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|R ||Metre gauge; potentially compatible with base tramtype &amp;quot;RABN&amp;quot;, most early tramways were metre gauge&lt;br /&gt;
|-&lt;br /&gt;
|4 ||4 foot gauge (1219 mm), and possibly 4&#039;6&amp;quot; in. (1372 mm) if standardization is needed for 1372mm&lt;br /&gt;
|-&lt;br /&gt;
|s ||Scotch gauge (1372 mm)&lt;br /&gt;
|-&lt;br /&gt;
|S ||Standard gauge; already implemented in original standardized railtype scheme, but could include near-standard (1432 mm) as well as existing true standard (1435 mm) and is also potentially compatible with the SABN tramtype&lt;br /&gt;
|-&lt;br /&gt;
|X ||Omni-gauge rail (for at-grade multi-gauge crossings and stations); ultrabroad/secondary broad/primary broad/standard/primary narrow/secondary narrow gauge&lt;br /&gt;
|-&lt;br /&gt;
|x ||Multi-gauge rail (for at-grade multi-gauge crossings and stations); secondary broad/primary broad/standard/primary narrow/secondary narrow&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;+&amp;lt;/nowiki&amp;gt; ||Quad-gauge (Four-gauge) rail (for at-grade multi-gauge crossings and stations); secondary broad/primary broad/standard/primary narrow&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt; ||Four-gauge rail (for at-grade multi-gauge crossings and stations); primary broad/standard/primary narrow/secondary narrow&lt;br /&gt;
|-&lt;br /&gt;
|b ||Broad gauge rail - As broad gauge is a rare tracktype, it may still be feasible to cement B and b as broad gauges of two differing sizes, but the rarity among gauges in the real world would need to match; Italian (1445 mm) and Dresden (1450 mm) gauges may be better grouped here&lt;br /&gt;
|-&lt;br /&gt;
|t ||Leipzig trams (1458 mm) and Greater Toronto Area streetcars (1495 mm)&lt;br /&gt;
|-&lt;br /&gt;
|5 ||1520mm and 5 foot (1524 mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|V ||Pennsylvanian (1581 mm and 1588 mm) and Australian &amp;quot;Victorian&amp;quot; (1600 mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|6 ||6 foot (1829 mm) broad gauge&lt;br /&gt;
|-&lt;br /&gt;
|g ||Brunel&#039;s Great Western Railway gauge (2140 mm)&lt;br /&gt;
|-&lt;br /&gt;
|B ||Broad gauge rail - As broad gauge is a rare tracktype, and the variation in common real life track types too wide, it may be desirable to cement B and b as broad gauges of two differing sizes; With no real life examples that match the usage frequency of &amp;quot;B&amp;quot;, the gauge might best draw inspiration from the infamous [https://en.wikipedia.org/wiki/Breitspurbahn Breitspurbahn] (3000 mm) and [https://perma.cc/KQ2Z-5RCR the never-built vehicles designed for it]&lt;br /&gt;
|-&lt;br /&gt;
|L ||Maglevs that have a u-shaped track&lt;br /&gt;
|-&lt;br /&gt;
|T ||Maglevs that have a monorail track&lt;br /&gt;
|-&lt;br /&gt;
|F ||Flightrail; A [https://web.archive.org/web/20231213122530/http://www.flightrail.com/ system capable of high speeds and steep hill grades] that uses a pneumatic pipe for propulsion (see &amp;quot;P&amp;quot; under energy sources), and &#039;&#039;wheels pointed inwards at a 45-degree angle&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
It might be preferred to instead use/keep &amp;quot;B&amp;quot; for &amp;quot;all (current) broad gauges&amp;quot; (mostly Victorian gauge) instead using lowercase &amp;quot;b&amp;quot; for Brunel/GWR broad gauge. This wouldn&#039;t be to different from narrow gauge since the lesser used ones are lowercase and fallback to the uppercase ones.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Electrification !!Fallback&lt;br /&gt;
|-&lt;br /&gt;
|S ||Maglevs that use a synchronous linear motor ||N/A&lt;br /&gt;
|-&lt;br /&gt;
|I ||Maglevs that use a linear induction motor ||MGLV (the whole label)&lt;br /&gt;
|-&lt;br /&gt;
|t ||&amp;quot;Universal custom tunnel&amp;quot; (for electrified sub-surface rail tunnels) ||E (mandatory)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt; ||Universal energy type (&#039;&#039;not&#039;&#039; meant to replace &amp;quot;***N&amp;quot;; use for vehicles such as driving cabs which cannot move under their own power regardless, if desired) ||N/A (Be sure to put &amp;quot;***E&amp;quot; in the [[NML:Roadtypes#Roadtype_properties|alternative_roadtype_list (NML)]] of a &amp;quot;***-&amp;quot; label)&lt;br /&gt;
|-&lt;br /&gt;
|P ||Pneumatic tube with physical piston slit, or closed pneumatic tube with magnetic piston (i.e. that used by [https://web.archive.org/web/20231213122530/http://www.flightrail.com/ Flightrail]) ||N/A&lt;br /&gt;
|-&lt;br /&gt;
|p ||Pneumatic and universal electrical power ||N/A (Be sure to put &amp;quot;***_&amp;quot; and ***P&amp;quot; in the [[NML:Roadtypes#Roadtype_properties|alternative_roadtype_list (NML)]] of a &amp;quot;***p&amp;quot; label)&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Lurkmore</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=Standardized_Railtype_Scheme&amp;diff=4730</id>
		<title>Standardized Railtype Scheme</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=Standardized_Railtype_Scheme&amp;diff=4730"/>
		<updated>2024-02-27T20:39:52Z</updated>

		<summary type="html">&lt;p&gt;Lurkmore: /* Possible additions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This railtype label scheme aims to bring order to the uncontrolled growth of railtype labels. It groups the rail types into what matters from a technical perspective. The scheme provides a standardized way of defining railtype labels, based on track gauge and type, speed class, allowable axle weight and electrification type.&lt;br /&gt;
&lt;br /&gt;
It is the explicit intent of this scheme to decouple track sets from vehicle sets to facilitate easy mixing. This way the player can select a track set of choice to go with a train set of choice. It allows the player to play with or without axle load classes, or with or without speed limit classes, simply by loading a track set that does or does not provide these features. In some cases it will also be possible to combine niche track sets, for instance a standard gauge track set with a narrow gauge and a metro track set.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== The Label Scheme ==&lt;br /&gt;
A railtype label consists of four characters. In this scheme, each position has a different purpose:&lt;br /&gt;
# Track gauge and type class (e.g. standard gauge rail, narrow gauge rail, monorail)&lt;br /&gt;
# Speed limit class&lt;br /&gt;
# Axle load class (maximum allowed axle weight for this track)&lt;br /&gt;
# Energy source type class&lt;br /&gt;
&lt;br /&gt;
In the next sections, each of the four positions will be explained.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Track gauge and type class [X***] ===&lt;br /&gt;
The first position in the railtype label defines track gauge and/or track type class. The following classes are currently defined:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Track type/gauge&lt;br /&gt;
|- &lt;br /&gt;
|S ||Standard gauge rail&lt;br /&gt;
|-&lt;br /&gt;
|B ||Broad gauge rail &lt;br /&gt;
|-&lt;br /&gt;
|N ||Narrow gauge rail&lt;br /&gt;
|-&lt;br /&gt;
|n ||Secondary narrow gauge rail (e.g. when providing both metre and cape gauge, always use N in case of just one type of narrow gauge)&lt;br /&gt;
|-&lt;br /&gt;
|D ||Dual gauge rail, standard/broad gauge&lt;br /&gt;
|-&lt;br /&gt;
|d ||Dual gauge rail, standard/narrow gauge&lt;br /&gt;
|-&lt;br /&gt;
|M ||Monorail&lt;br /&gt;
|-&lt;br /&gt;
|L ||Magnetic Levitation&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Speed limit class [*X**] ===&lt;br /&gt;
The second position in the railtype label defines the speed limit class. These classes do not map to a fixed numeric value, but are used to define an internal speed limit order for the track set. This means that if your track set has two different speed limits for track types that are otherwise identical, you&#039;ll use letters A and B here. In case of three different speed limits, use A, B and C. In case your track set does not employ speed limits, always use A. Train sets do not care about the speed limit, and will always set the lowest speed class, i.e. A.&lt;br /&gt;
&lt;br /&gt;
This gives for instance the following options:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||no speed limits&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;OR&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||low speed&lt;br /&gt;
|-&lt;br /&gt;
|B ||high speed&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;OR&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||low speed&lt;br /&gt;
|-&lt;br /&gt;
|B ||medium speed&lt;br /&gt;
|-&lt;br /&gt;
|C ||high speed&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;etc.&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear:left;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The speed limit class may also be used for some advanced features of the label scheme, like specialized track types and eyecandy purposes. Be careful not to break the compatibility with other sets when using the speed limit class for these purposes.&lt;br /&gt;
&lt;br /&gt;
An example of a special use is rack rail. In the French set it is used to give rack rail engines a higher speed and TE than normal rail engines when used on rack rail. When defining trains with a special speed limit class, always allow a fallback to speed limit class A via the railtype table.&lt;br /&gt;
&lt;br /&gt;
An example of eyecandy use are urban tracks. These are a variation of regular tracks, but with concrete ground tiles to better match the urban environment. Train sets must not define vehicles for eyecandy classes. If you think you have special vehicles that should only run on the eyecandy class, it is &#039;&#039;not&#039;&#039; eyecandy but a separate track gauge/type.&lt;br /&gt;
&lt;br /&gt;
The following special and eyecandy classes have been defined so far:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Description !!Type !!Used by&lt;br /&gt;
|- &lt;br /&gt;
|A-H ||speed limits ||colspan=&amp;quot;2&amp;quot;|reserved&lt;br /&gt;
|- &lt;br /&gt;
|R ||rack rail ||special ||French Set Rails &lt;br /&gt;
|- &lt;br /&gt;
|S ||subterranean ||eyecandy ||Metro Track Set&lt;br /&gt;
|- &lt;br /&gt;
|U ||urban ||eyecandy ||Metro Track Set&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Axle load class [**X*] ===&lt;br /&gt;
The third position defines the axle weight limit. Heavy trains cannot run on tracks with a low axle weight limit; these trains need more expensive tracks with a heigher weight limit. There are five axle load classes &#039;&#039;&#039;A&#039;&#039;&#039; through &#039;&#039;&#039;E&#039;&#039;&#039;. &#039;&#039;&#039;A&#039;&#039;&#039; is for the lowest axle load limit, &#039;&#039;&#039;E&#039;&#039;&#039; for the highest. The exact axle load attached to each class is relative to the track gauge/type and trains in the set. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A train set should set the appropriate axle weight for each train via the railtype label, as to make the set work with track sets that do provide tracks with different weight limits, even if you don&#039;t care about it for your trainset. Split all vehicles of a certain track gauge/type into five groups of similar axle weight. The group with the lowest axle weights will get class &#039;&#039;&#039;A&#039;&#039;&#039;, the second lowest class &#039;&#039;&#039;B&#039;&#039;&#039;, etc. up to the group with the highest axle weights which will get class &#039;&#039;&#039;E&#039;&#039;&#039;. Do the same for the other track gauge/types if your train set has those.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A track set does not have to provide a dedicated track type for each axle weight limit. A track set that does not provide a dedicated track for each axle load class, must make sure to map all undefined axle load classes to a real railtype using property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]]. This way a train set can rely on all labels for all axle load classes being available. Example: if you only want to provide 2 axle load classes for standard gauge unelectrified with no speed limits, you can map SA&#039;&#039;&#039;A&#039;&#039;&#039;N + SA&#039;&#039;&#039;B&#039;&#039;&#039;N to SA&#039;&#039;&#039;C&#039;&#039;&#039;N and SA&#039;&#039;&#039;D&#039;&#039;&#039;N to SA&#039;&#039;&#039;E&#039;&#039;&#039;N if the cost difference between the two railtypes is high, or SA&#039;&#039;&#039;A&#039;&#039;&#039;N to SA&#039;&#039;&#039;B&#039;&#039;&#039;N and SA&#039;&#039;&#039;C&#039;&#039;&#039;N + SA&#039;&#039;&#039;D&#039;&#039;&#039;N to SA&#039;&#039;&#039;E&#039;&#039;&#039;N if the cost difference is low.&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t want to provide any axle load classes in your track set, it doesn&#039;t really matter what axle load class you choose for the track, as you&#039;ll be mapping all other classes to this track anyways. But the lowest or highest class are the obvious choice. Example: if your track set only provides narrow gauge unelectrified track with no speed limits and no axle load limits, you may use NA&#039;&#039;&#039;A&#039;&#039;&#039;N for the track label, and provide NA&#039;&#039;&#039;B&#039;&#039;&#039;N, NA&#039;&#039;&#039;C&#039;&#039;&#039;N, NA&#039;&#039;&#039;D&#039;&#039;&#039;N, NA&#039;&#039;&#039;E&#039;&#039;&#039;N in property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you need more than five axle load class, you may use lowercase letters for very low axle loads and continue the uppercase letters for very high axle loads. Be advised that your train set may not assume the existance of any other class than &#039;&#039;&#039;A&#039;&#039;&#039; through &#039;&#039;&#039;E&#039;&#039;&#039;, so when the range make sure to program your railtype table such that trains with such a class will fall back to class &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;E&#039;&#039;&#039;. If you make a track set with an extended range, be aware that not all train sets will define trains for these tracks. In general: only do this in case of a train set with a matching track set.&lt;br /&gt;
&lt;br /&gt;
For the lowercase letters, &#039;&#039;&#039;b&#039;&#039;&#039; is lower than &#039;&#039;&#039;a&#039;&#039;&#039;, so for increasing axle load limits: b &amp;lt; a &amp;lt; A &amp;lt; B &amp;lt; C etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that the axle load classes never map to a specific weight in tonnes. For that reason it does not make sense to add a numeric value for the axle load to the name of a track type or in the extended purchase info of a train. Instead use the relative expressions &#039;very low&#039;, &#039;low&#039;, &#039;medium&#039;, &#039;high&#039; and &#039;very high&#039; or use the class letters directly.&lt;br /&gt;
&lt;br /&gt;
=== Energy source type class [***X] ===&lt;br /&gt;
The last position defines the energy source type class. This is split in generic energy source types like overhead wires and third rail and specialized types like alternating and direct current.&lt;br /&gt;
&lt;br /&gt;
A track set that only uses specialized types, should map the generic types to the most suitable specialized type in the set.&lt;br /&gt;
&lt;br /&gt;
A vehicle set that uses specialized types should define a generic type as fallback, via the railtype table. If such a fallback is omitted, please note that certain vehicles may be unavailable depending on track set loaded.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Generic energy type classes&lt;br /&gt;
|-&lt;br /&gt;
|N ||no electrification&lt;br /&gt;
|-&lt;br /&gt;
|E ||overhead wires/catenary electrification&lt;br /&gt;
|-&lt;br /&gt;
|3 ||3rd rail electrification&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Specialized energy type classes !!Vehicle set fallback&lt;br /&gt;
|-&lt;br /&gt;
|Z ||3rd rail and catenary electrification || 3 or E&lt;br /&gt;
|-&lt;br /&gt;
|4 ||4th rail electrification || 3&lt;br /&gt;
|-&lt;br /&gt;
|Y ||4th rail and catenary electrification || 4 or E&lt;br /&gt;
|-&lt;br /&gt;
|T ||[http://en.wikipedia.org/wiki/Three-phase_AC_railway_electrification three phase AC electrification] || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|D ||DC catenary electrification || E&lt;br /&gt;
|-&lt;br /&gt;
|d ||low voltage DC catenary electrification (only when D also used in set) || First A then E&lt;br /&gt;
|-&lt;br /&gt;
|A ||AC catenary electrification || E&lt;br /&gt;
|-&lt;br /&gt;
|a ||low voltage AC catenary electrification (only when A also used in set) || First A then E&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
If you want multi-voltage/current vehicles in your set (i.e. a train that can run on both AC and DC current), you have to define a dedicated railtype for those vehicles. Without the railtype, it&#039;s not possible to define vehicles with this property. If you only have vehicles that can run on either one type of voltage/current or on all types of voltage/current (e.g. a 2-system if you only have &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;D&#039;&#039;&#039; tracks, or a 4-system in case of all &#039;&#039;&#039;A&#039;&#039;&#039;, &#039;&#039;&#039;a&#039;&#039;&#039;, &#039;&#039;&#039;D&#039;&#039;&#039; and &#039;&#039;&#039;d&#039;&#039;&#039;), then use the generic class &#039;&#039;&#039;E&#039;&#039;&#039; for vehicles that should be able to run on all different voltage/currents. Also the track set needs to have one at least one railtype with class &#039;&#039;&#039;E&#039;&#039;&#039; defined.&lt;br /&gt;
&lt;br /&gt;
Note that if you want more than one type of multi-voltage/current, you&#039;ll quickly get a combinatory explosion of railtype labels, so plan carefully or do not attempt it. For every different multi-voltage/current vehicle type a dedicated railtype is needed. If you want all possible combinations, then you need to define an additional 8 classes. It is not recommended to make your train/track set this complicated.&lt;br /&gt;
&lt;br /&gt;
Example approach for a 4-system set, with trains that can run on either one or all systems:&lt;br /&gt;
* &#039;&#039;&#039;E&#039;&#039;&#039;: generic catenary-powered electric engines. &amp;quot;universal&amp;quot; [4-system] if any of &#039;&#039;&#039;D&#039;&#039;&#039;/&#039;&#039;&#039;d&#039;&#039;&#039;/&#039;&#039;&#039;A&#039;&#039;&#039;/&#039;&#039;&#039;a&#039;&#039;&#039; are defined.&lt;br /&gt;
* &#039;&#039;&#039;A&#039;&#039;&#039;: generic AC catenary electric engines. 25kV only if &#039;&#039;&#039;a&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;A&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;a&#039;&#039;&#039;: 15kV AC catenary electric engines. Only defined if &#039;&#039;&#039;A&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;a&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;D&#039;&#039;&#039;: generic DC catenary electric engines. 3kV if &#039;&#039;&#039;d&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;D&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;d&#039;&#039;&#039;: 1.5kV DC catenary electric engines. Only defined if &#039;&#039;&#039;D&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;D&#039;&#039;&#039; and &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;d&#039;&#039;&#039;.&lt;br /&gt;
For a 2-system set, you can simply drop &#039;&#039;&#039;a&#039;&#039;&#039; and &#039;&#039;&#039;d&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Standard labels: RAIL, ELRL, MONO, MGLV ===&lt;br /&gt;
It&#039;s not possible to undefine the standard railtypes RAIL, ELRL, MONO and MGLV. The game will always add those if there are vehicles defined for these track types. As a result, for a track set it&#039;s best not to ignore those standard labels, but rather work with them and define them in the set. If your track set does not have monorail or maglev tracks, there of course is no need to define those. But if your track set defines anything that resembles unelectrified or electrified rail, you should use the RAIL and ELRL labels. Matching labels from the above scheme will then be defined in property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
As vehicles from NewGRFs that do not use explicit railtypes will end up on these standard railtypes, you should use RAIL instead of whatever type could be regarded as the most commonly used unelectrified type, ELRL instead of the most commonly used electrified type and so on. The label according to this scheme is then set as an alternate.&lt;br /&gt;
&lt;br /&gt;
== Summary for track sets ==&lt;br /&gt;
This section summarizes the above for track sets.&lt;br /&gt;
&lt;br /&gt;
; [X***] Track gauge and type class&lt;br /&gt;
* Define at least one track type for every track gauge/type class you want in your set.&lt;br /&gt;
* If you only provide tracks for one gauge/type, consider leaving some free railtypes so a player can load an additional set for some other type.&lt;br /&gt;
; [*X**] Speed limit class&lt;br /&gt;
* Make sure class A is always available, either directly or via an alternate label.&lt;br /&gt;
* Use only class A if you don&#039;t want speed limits;&lt;br /&gt;
* With speed limits, A is the lowest speed limit. Continue with B, C, etc. for increasing speed limits;&lt;br /&gt;
* The speed class can also be used to implement additional eye-candy track types, use letters higher in the alphabet for this.&lt;br /&gt;
; [**X*] Axle load class&lt;br /&gt;
* Always define all classes A through E for every track type class / electrification combination, either:&lt;br /&gt;
** Directly via a real railtype definition;&lt;br /&gt;
** Indirectly via the alternate rail type label list, property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
* Extend the predefined classes only if you also provide a train set that makes use of these.&lt;br /&gt;
; [***X] Energy source type class&lt;br /&gt;
* If your set only uses specialized classes, always map the generic classes to the closest matching specialized type via property 1D.&lt;br /&gt;
; Standard labels [RAIL, ELRL, MONO, MGLV]&lt;br /&gt;
* Always define the standard labels when possible, instead of what would be the equivalent of the standard label in this scheme.&lt;br /&gt;
* Map the equivalent labels from this scheme to the standard labels using property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
Or, put differently, for each gauge/type, select one or more energy source types. For each type/energy combination provide all axle load classes for the speed class &amp;quot;A&amp;quot;, either as a real type or as an alternate of another type. Provide more types with a different speed letter if you want to provide several different speeds or other eye-candy tracks.&lt;br /&gt;
&lt;br /&gt;
== Summary for train sets ==&lt;br /&gt;
This section summarizes the above for train sets.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; [X***] Track gauge and type class&lt;br /&gt;
* Use the track type class that matches the vehicle;&lt;br /&gt;
* Define a fallback type via the railtype table in case you want the vehicle to be available on a different track if no matching track set is loaded.&lt;br /&gt;
** Specialized subtypes like &amp;quot;n&amp;quot; might not always be available. If you want those vehicles to be still available then, fall back the the generic class (e.g. &amp;quot;N&amp;quot;).&lt;br /&gt;
; [*X**] Speed limit class &lt;br /&gt;
* Always use class A for every vehicle.&lt;br /&gt;
; [**X*] Axle load class&lt;br /&gt;
* Use all classes A through E according to the maximum axle weight of the vehicle.&lt;br /&gt;
* Extend the predefined classes only if you also provide a track set that makes use of these;&lt;br /&gt;
** When extending the predefined classes A through E, define a fallback type via the railtype table in case you want the vehicle to be available if no matching track set is loaded.&lt;br /&gt;
; [***X] Energy source type class&lt;br /&gt;
* Use the energy source type class that matches the vehicle;&lt;br /&gt;
* When using specialized classes, define a fallback type via the railtype table in case you want the vehicle to be available if no matching track set is loaded.&lt;br /&gt;
; Standard labels [RAIL, ELRL, MONO, MGLV]&lt;br /&gt;
* Define a fallback type to the standard labels via the railtype table in case you want the vehicle to be available on the standard tracks if no matching track set is loaded.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Be as specific as you want when selecting the railtype, it is the job of the track set to select a playable, reduced subset out of all possible type combinations.&lt;br /&gt;
&lt;br /&gt;
== In case you&#039;re not convinced by this scheme ==&lt;br /&gt;
Adopting this scheme gives the player freedom to use any track set in combination with any train set that follow the scheme. &lt;br /&gt;
&lt;br /&gt;
This means that you can make your train set compatible with track sets that provide axle load classes, and track sets that provide speed limits, and at the same time with track sets that provide none of this. This way, the player can decide to play with or without axle load classes, or with or without speed limits, simply by loading a track set that does or does not provide these features.&lt;br /&gt;
&lt;br /&gt;
And for your track set, it means that you can make it as simple or as complicated as you want (within the 64 track type limit), while not having to worry about compatibility with train sets.&lt;br /&gt;
&lt;br /&gt;
Still not convinced? Feel free to use railtype labels of your own, but know that you will likely come to regret that at some point in the future.&lt;br /&gt;
&lt;br /&gt;
==Forum topic==&lt;br /&gt;
If you want to discuss the standardized railtype scheme or have any questions about it, you can visit [http://www.tt-forums.net/viewtopic.php?t=59379 the forum topic].&lt;br /&gt;
&lt;br /&gt;
==&amp;quot;Innsbruck 2022 Convention&amp;quot; for partial compliance==&lt;br /&gt;
&lt;br /&gt;
This is really esoteric, but eh. It was the product of long discussion / debate / argument / reasoning between grf authors.&lt;br /&gt;
&lt;br /&gt;
1. The Standardized Railtype Scheme &#039;&#039;&#039;is a useful tool&#039;&#039;&#039; for providing reliable compatibility between train grfs and railtype grfs.&lt;br /&gt;
&lt;br /&gt;
2. The &#039;&#039;&#039;axle load class&#039;&#039;&#039; in the scheme presents a number of issues for compliance.&lt;br /&gt;
&lt;br /&gt;
2.1. Over 10 years since the scheme was standardised, not many train grfs implement multiple axle load classes &#039;&#039;&#039;as required by the scheme&#039;&#039;&#039;.  Known examples that &#039;&#039;&#039;do&#039;&#039;&#039; comply include Dutch Train Set, French Narrow Gauge Trains, and Finnish Trains.&lt;br /&gt;
&lt;br /&gt;
2.2. Elements of the axle load rules have proven hard to interpret.  For example:&lt;br /&gt;
&lt;br /&gt;
* is it compliant to use &#039;&#039;fewer&#039;&#039; than 5 classes in a train grf?  There is a lack of consensus on this.&lt;br /&gt;
* axle load is only one of many factors that govern whether a vehicle is compatible with a route, for example loading gauge, minimum curve, signalling types etc&lt;br /&gt;
&lt;br /&gt;
2.3. Meanwhile &#039;&#039;multiple existing train grfs use class &#039;&#039;A&#039;&#039; for the axle load for all trains&#039;&#039; (except where relying on default railtypes such as RAIL and ELRL).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3. The Innsbruck 2022 Convention uses class &#039;&#039;A&#039;&#039; for axle load for &#039;&#039;&#039;all&#039;&#039;&#039; trains in a train grf (except where relying on default railtypes such as RAIL and ELRL).&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is &#039;&#039;&#039;not&#039;&#039;&#039; fully compliant with the Standardized Railtype Scheme and does not claim to be.&lt;br /&gt;
&lt;br /&gt;
However train grfs using the Innsbruck 2022 Convention are &#039;&#039;broadly compatible&#039;&#039; with railtype grfs using the Standardized Railtype Scheme.  &lt;br /&gt;
&lt;br /&gt;
Obligatory XKCD link about &#039;standards&#039;: https://xkcd.com/927/&lt;br /&gt;
&lt;br /&gt;
===Known issues===&lt;br /&gt;
&lt;br /&gt;
Known problems are that trains using only class &#039;A&#039; may limit the ability of railtype grf authors to achieve their design goals for separating railtypes by axle load.  &lt;br /&gt;
But on reflection, it can be seen that a train grf might not be able to provide a broad enough range of vehicles to cover at least 5 axle load classes.&lt;br /&gt;
&lt;br /&gt;
3.1. The Innsbruck 2022 Convention is &#039;&#039;&#039;not&#039;&#039;&#039; appropriate for train grf authors who wish to provide more than one axle load class.&lt;br /&gt;
&lt;br /&gt;
3.2. The Innsbruck 2022 Convention treats the meaning of class &#039;&#039;A&#039;&#039; as &#039;&#039;undefined&#039;&#039;, &#039;&#039;ignored&#039;&#039; or &#039;&#039;compatible with most restricted railtype&#039;&#039; for axle load.  &lt;br /&gt;
&lt;br /&gt;
Axle load class &#039;&#039;A&#039;&#039; &#039;&#039;&#039;cannot&#039;&#039;&#039; be safely interpreted as &#039;&#039;universal&#039;&#039; because from the perspective of a railtype grf &#039;&#039;A&#039;&#039; is &#039;&#039;most restricted railtype&#039;&#039;, where &#039;&#039;universal&#039;&#039; is better represented as &#039;&#039;least restricted railtype&#039;&#039;. Depending how many axle load classes are in use by the railtype grf, this could be class &#039;&#039;B&#039;&#039;, &#039;&#039;C&#039;&#039;, &#039;&#039;D&#039;&#039;, &#039;&#039;E&#039;&#039; etc.  To illustrate this issue, take the following scenario&lt;br /&gt;
&lt;br /&gt;
* railtype grf defines axle loads &#039;&#039;A&#039;&#039; to &#039;&#039;E&#039;&#039;. In this case the railtype grf author intends that &#039;&#039;A&#039;&#039; is compatible with the smallest range of vehicles, &#039;&#039;E&#039;&#039; is compatible with the largest range of vehicles, and &#039;&#039;B&#039;&#039;, &#039;&#039;C&#039;&#039; and &#039;&#039;D&#039;&#039; are compatible with some intermediate ranges of vehicles&lt;br /&gt;
* but the vehicle grf author has defined all vehicles to be axle load &#039;&#039;A&#039;&#039; in an attempt to express this vehicle is &#039;&#039;universal&#039;&#039;.  The result in the game is that an identical range of vehicles will be compatible with railtypes &#039;&#039;A&#039;&#039; to &#039;&#039;E&#039;&#039;.  &lt;br /&gt;
&lt;br /&gt;
This is clearly &#039;&#039;&#039;not&#039;&#039;&#039; the intended outcome of the railtype author. But nor is it clear within the spec that the vehicle author has particularly done anything wrong. &lt;br /&gt;
&lt;br /&gt;
It &#039;&#039;would&#039;&#039; be possible to use railtype availability testing to adjust the vehicle property 05 (track_type) to fit the highest defined axle load (&#039;&#039;E&#039;&#039; in this example case), but this is not insignificant work, and it&#039;s unlikely to be widely adopted by vehicle grf authors.  Nor would this solution achieve &#039;&#039;universal&#039;&#039; as all vehicles in vehicle grf then would be incompatible with types &#039;&#039;A&#039;&#039; through &#039;&#039;D&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
3.3. When the Innsbruck 2022 Convention is used, this &#039;&#039;&#039;does not prevent&#039;&#039;&#039; a train grf being extended in some future release to achieve full compliance with Standardized Railtype Scheme. &#039;&#039;That choice remains with train grf authors&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
3.4. If 2012 could be revisited, providing an optional &#039;&#039;_&#039;&#039; axle load class in the Standardized Railtype Scheme for &#039;&#039;undefined&#039;&#039; would have been preferable, but as of 2022, &#039;&#039;A&#039;&#039; is already widely used for this purpose, and time travel is not known to be possible.&lt;br /&gt;
&lt;br /&gt;
==Extended multivoltage support addition==&lt;br /&gt;
These are extensions to the energy source type class currently supported by SETS and xUSSR Rails which allow trainsets to code trains which are limited to a certain selection of voltages. As stated in the energy source type class section this might not be of use for all sets, as such it is optional but still recommended for trainsets for ideal functionality with tracksets which support the extended labels.&lt;br /&gt;
{|&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Specialized energy type classes !!Vehicle set fallback&lt;br /&gt;
|-&lt;br /&gt;
|* ||Equivilent to A, a, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|&#039; ||Equivilent to A, a and D || E&lt;br /&gt;
|-&lt;br /&gt;
|^ ||Equivilent to A, a and d || E&lt;br /&gt;
|-&lt;br /&gt;
|_ ||Equivilent to A, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
|, ||Equivilent to a, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|$ ||Equivilent to A and a  || First A then E&lt;br /&gt;
|-&lt;br /&gt;
|= ||Equivilent to D and d  || First D then E&lt;br /&gt;
|-&lt;br /&gt;
|) ||Equivilent to A and D  || E&lt;br /&gt;
|-&lt;br /&gt;
|( ||Equivilent to A and d  || E&lt;br /&gt;
|-&lt;br /&gt;
|] ||Equivilent to a and D  || E&lt;br /&gt;
|-&lt;br /&gt;
|[ ||Equivilent to a and d  || E&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Possible additions==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Track type/gauge&lt;br /&gt;
|-&lt;br /&gt;
|_ ||Universal &amp;quot;cheat&amp;quot; rail; ALWAYS add &amp;quot;_A_-&amp;quot;, &amp;quot;_A_t and &amp;quot;_A_N&amp;quot; to EVERY [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]] to support it if you are making a new set, older sets can be covered by fix or patch grfs&lt;br /&gt;
|-&lt;br /&gt;
|0 ||(A number zero, not a letter &amp;quot;Oh&amp;quot;) No track, eyecandy-use only&lt;br /&gt;
|-&lt;br /&gt;
|1 ||Early Monorail; See [https://perma.cc/6BVS-2P2X here] and [https://perma.cc/VCG2-ATUA here]&lt;br /&gt;
|-&lt;br /&gt;
|m ||Minimum gauge rail; [https://en.wikipedia.org/wiki/Minimum-gauge_railway 15 in (381 mm), 400 mm (15+3⁄4 in), 16 in (406 mm), 18 in (457 mm), 19 in (483 mm), 500 mm (19+3⁄4 in) or 20 in (508 mm)]&lt;br /&gt;
|-&lt;br /&gt;
|n ||600mm &amp;quot;Decauville&amp;quot; or &amp;quot;Feldsbahn&amp;quot;, formerly labelled &amp;quot;NG60&amp;quot; before standardization; the most common narrow gauge track type in OpenTTD other than metre gauge, 600mm gauge is thus ideal for taking up the &amp;quot;n&amp;quot; gauge, though this is an ultimately optional distinction&lt;br /&gt;
|-&lt;br /&gt;
|7 ||750mm, Bosnian gauge (760 mm), and 762mm; all start with 7 and are close in size&lt;br /&gt;
|-&lt;br /&gt;
|3 ||Swedish 3 foot (891 mm), 900mm, 3 foot (914 mm) and Italian Metre (950mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|R ||Metre gauge; potentially compatible with base tramtype &amp;quot;RABN&amp;quot;, most early tramways were metre gauge&lt;br /&gt;
|-&lt;br /&gt;
|4 ||4 foot gauge (1219 mm), and possibly 4&#039;6&amp;quot; in. (1372 mm) if standardization is needed for 1372mm&lt;br /&gt;
|-&lt;br /&gt;
|s ||Scotch gauge (1372 mm)&lt;br /&gt;
|-&lt;br /&gt;
|S ||Standard gauge; already implemented in original standardized railtype scheme, but could include near-standard (1432 mm) as well as existing true standard (1435 mm) and is also potentially compatible with the SABN tramtype&lt;br /&gt;
|-&lt;br /&gt;
|X ||Omni-gauge rail (for at-grade multi-gauge crossings and stations); ultrabroad/secondary broad/primary broad/standard/primary narrow/secondary narrow gauge&lt;br /&gt;
|-&lt;br /&gt;
|x ||Multi-gauge rail (for at-grade multi-gauge crossings and stations); secondary broad/primary broad/standard/primary narrow/secondary narrow&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;+&amp;lt;/nowiki&amp;gt; ||Four-gauge rail (for at-grade multi-gauge crossings and stations); secondary broad/primary broad/standard/primary narrow&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt; ||Four-gauge rail (for at-grade multi-gauge crossings and stations); primary broad/standard/primary narrow/secondary narrow&lt;br /&gt;
|-&lt;br /&gt;
|b ||Broad gauge rail - As broad gauge is a rare tracktype, it may still be feasible to cement B and b as broad gauges of two differing sizes, but the rarity among gauges in the real world would need to match; Italian (1445 mm) and Dresden (1450 mm) gauges may be better grouped here&lt;br /&gt;
|-&lt;br /&gt;
|t ||Leipzig trams (1458 mm) and Greater Toronto Area streetcars (1495 mm)&lt;br /&gt;
|-&lt;br /&gt;
|5 ||1520mm and 5 foot (1524 mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|V ||Pennsylvanian (1581 mm and 1588 mm) and Australian &amp;quot;Victorian&amp;quot; (1600 mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|6 ||6 foot (1829 mm) broad gauge&lt;br /&gt;
|-&lt;br /&gt;
|g ||Brunel&#039;s Great Western Railway gauge (2140 mm)&lt;br /&gt;
|-&lt;br /&gt;
|B ||Broad gauge rail - As broad gauge is a rare tracktype, and the variation in common real life track types too wide, it may be desirable to cement B and b as broad gauges of two differing sizes; With no real life examples that match the usage frequency of &amp;quot;B&amp;quot;, the gauge might best draw inspiration from the infamous [https://en.wikipedia.org/wiki/Breitspurbahn Breitspurbahn] (3000 mm) and [https://perma.cc/KQ2Z-5RCR the never-built vehicles designed for it]&lt;br /&gt;
|-&lt;br /&gt;
|L ||Maglevs that have a u-shaped track&lt;br /&gt;
|-&lt;br /&gt;
|T ||Maglevs that have a monorail track&lt;br /&gt;
|-&lt;br /&gt;
|F ||Flightrail; A [https://web.archive.org/web/20231213122530/http://www.flightrail.com/ system capable of high speeds and steep hill grades] that uses a pneumatic pipe for propulsion (see &amp;quot;P&amp;quot; under energy sources), and &#039;&#039;wheels pointed inwards at a 45-degree angle&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
It might be preferred to instead use/keep &amp;quot;B&amp;quot; for &amp;quot;all (current) broad gauges&amp;quot; (mostly Victorian gauge) instead using lowercase &amp;quot;b&amp;quot; for Brunel/GWR broad gauge. This wouldn&#039;t be to different from narrow gauge since the lesser used ones are lowercase and fallback to the uppercase ones.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Electrification !!Fallback&lt;br /&gt;
|-&lt;br /&gt;
|S ||Maglevs that use a synchronous linear motor ||N/A&lt;br /&gt;
|-&lt;br /&gt;
|I ||Maglevs that use a linear induction motor ||MGLV (the whole label)&lt;br /&gt;
|-&lt;br /&gt;
|t ||&amp;quot;Universal custom tunnel&amp;quot; (for electrified sub-surface rail tunnels) ||E (mandatory)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt; ||Universal energy type (&#039;&#039;not&#039;&#039; meant to replace &amp;quot;***N&amp;quot;; use for vehicles such as driving cabs which cannot move under their own power regardless, if desired) ||N/A (Be sure to put &amp;quot;***E&amp;quot; in the [[NML:Roadtypes#Roadtype_properties|alternative_roadtype_list (NML)]] of a &amp;quot;***-&amp;quot; label)&lt;br /&gt;
|-&lt;br /&gt;
|P ||Pneumatic tube with physical piston slit, or closed pneumatic tube with magnetic piston (i.e. that used by [https://web.archive.org/web/20231213122530/http://www.flightrail.com/ Flightrail]) ||N/A&lt;br /&gt;
|-&lt;br /&gt;
|p ||Pneumatic and universal electrical power ||N/A (Be sure to put &amp;quot;***_&amp;quot; and ***P&amp;quot; in the [[NML:Roadtypes#Roadtype_properties|alternative_roadtype_list (NML)]] of a &amp;quot;***p&amp;quot; label)&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Lurkmore</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=Standardized_Railtype_Scheme&amp;diff=4729</id>
		<title>Standardized Railtype Scheme</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=Standardized_Railtype_Scheme&amp;diff=4729"/>
		<updated>2024-02-27T20:16:05Z</updated>

		<summary type="html">&lt;p&gt;Lurkmore: /* Possible additions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This railtype label scheme aims to bring order to the uncontrolled growth of railtype labels. It groups the rail types into what matters from a technical perspective. The scheme provides a standardized way of defining railtype labels, based on track gauge and type, speed class, allowable axle weight and electrification type.&lt;br /&gt;
&lt;br /&gt;
It is the explicit intent of this scheme to decouple track sets from vehicle sets to facilitate easy mixing. This way the player can select a track set of choice to go with a train set of choice. It allows the player to play with or without axle load classes, or with or without speed limit classes, simply by loading a track set that does or does not provide these features. In some cases it will also be possible to combine niche track sets, for instance a standard gauge track set with a narrow gauge and a metro track set.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== The Label Scheme ==&lt;br /&gt;
A railtype label consists of four characters. In this scheme, each position has a different purpose:&lt;br /&gt;
# Track gauge and type class (e.g. standard gauge rail, narrow gauge rail, monorail)&lt;br /&gt;
# Speed limit class&lt;br /&gt;
# Axle load class (maximum allowed axle weight for this track)&lt;br /&gt;
# Energy source type class&lt;br /&gt;
&lt;br /&gt;
In the next sections, each of the four positions will be explained.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Track gauge and type class [X***] ===&lt;br /&gt;
The first position in the railtype label defines track gauge and/or track type class. The following classes are currently defined:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Track type/gauge&lt;br /&gt;
|- &lt;br /&gt;
|S ||Standard gauge rail&lt;br /&gt;
|-&lt;br /&gt;
|B ||Broad gauge rail &lt;br /&gt;
|-&lt;br /&gt;
|N ||Narrow gauge rail&lt;br /&gt;
|-&lt;br /&gt;
|n ||Secondary narrow gauge rail (e.g. when providing both metre and cape gauge, always use N in case of just one type of narrow gauge)&lt;br /&gt;
|-&lt;br /&gt;
|D ||Dual gauge rail, standard/broad gauge&lt;br /&gt;
|-&lt;br /&gt;
|d ||Dual gauge rail, standard/narrow gauge&lt;br /&gt;
|-&lt;br /&gt;
|M ||Monorail&lt;br /&gt;
|-&lt;br /&gt;
|L ||Magnetic Levitation&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Speed limit class [*X**] ===&lt;br /&gt;
The second position in the railtype label defines the speed limit class. These classes do not map to a fixed numeric value, but are used to define an internal speed limit order for the track set. This means that if your track set has two different speed limits for track types that are otherwise identical, you&#039;ll use letters A and B here. In case of three different speed limits, use A, B and C. In case your track set does not employ speed limits, always use A. Train sets do not care about the speed limit, and will always set the lowest speed class, i.e. A.&lt;br /&gt;
&lt;br /&gt;
This gives for instance the following options:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||no speed limits&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;OR&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||low speed&lt;br /&gt;
|-&lt;br /&gt;
|B ||high speed&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;OR&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||low speed&lt;br /&gt;
|-&lt;br /&gt;
|B ||medium speed&lt;br /&gt;
|-&lt;br /&gt;
|C ||high speed&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;etc.&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear:left;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The speed limit class may also be used for some advanced features of the label scheme, like specialized track types and eyecandy purposes. Be careful not to break the compatibility with other sets when using the speed limit class for these purposes.&lt;br /&gt;
&lt;br /&gt;
An example of a special use is rack rail. In the French set it is used to give rack rail engines a higher speed and TE than normal rail engines when used on rack rail. When defining trains with a special speed limit class, always allow a fallback to speed limit class A via the railtype table.&lt;br /&gt;
&lt;br /&gt;
An example of eyecandy use are urban tracks. These are a variation of regular tracks, but with concrete ground tiles to better match the urban environment. Train sets must not define vehicles for eyecandy classes. If you think you have special vehicles that should only run on the eyecandy class, it is &#039;&#039;not&#039;&#039; eyecandy but a separate track gauge/type.&lt;br /&gt;
&lt;br /&gt;
The following special and eyecandy classes have been defined so far:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Description !!Type !!Used by&lt;br /&gt;
|- &lt;br /&gt;
|A-H ||speed limits ||colspan=&amp;quot;2&amp;quot;|reserved&lt;br /&gt;
|- &lt;br /&gt;
|R ||rack rail ||special ||French Set Rails &lt;br /&gt;
|- &lt;br /&gt;
|S ||subterranean ||eyecandy ||Metro Track Set&lt;br /&gt;
|- &lt;br /&gt;
|U ||urban ||eyecandy ||Metro Track Set&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Axle load class [**X*] ===&lt;br /&gt;
The third position defines the axle weight limit. Heavy trains cannot run on tracks with a low axle weight limit; these trains need more expensive tracks with a heigher weight limit. There are five axle load classes &#039;&#039;&#039;A&#039;&#039;&#039; through &#039;&#039;&#039;E&#039;&#039;&#039;. &#039;&#039;&#039;A&#039;&#039;&#039; is for the lowest axle load limit, &#039;&#039;&#039;E&#039;&#039;&#039; for the highest. The exact axle load attached to each class is relative to the track gauge/type and trains in the set. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A train set should set the appropriate axle weight for each train via the railtype label, as to make the set work with track sets that do provide tracks with different weight limits, even if you don&#039;t care about it for your trainset. Split all vehicles of a certain track gauge/type into five groups of similar axle weight. The group with the lowest axle weights will get class &#039;&#039;&#039;A&#039;&#039;&#039;, the second lowest class &#039;&#039;&#039;B&#039;&#039;&#039;, etc. up to the group with the highest axle weights which will get class &#039;&#039;&#039;E&#039;&#039;&#039;. Do the same for the other track gauge/types if your train set has those.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A track set does not have to provide a dedicated track type for each axle weight limit. A track set that does not provide a dedicated track for each axle load class, must make sure to map all undefined axle load classes to a real railtype using property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]]. This way a train set can rely on all labels for all axle load classes being available. Example: if you only want to provide 2 axle load classes for standard gauge unelectrified with no speed limits, you can map SA&#039;&#039;&#039;A&#039;&#039;&#039;N + SA&#039;&#039;&#039;B&#039;&#039;&#039;N to SA&#039;&#039;&#039;C&#039;&#039;&#039;N and SA&#039;&#039;&#039;D&#039;&#039;&#039;N to SA&#039;&#039;&#039;E&#039;&#039;&#039;N if the cost difference between the two railtypes is high, or SA&#039;&#039;&#039;A&#039;&#039;&#039;N to SA&#039;&#039;&#039;B&#039;&#039;&#039;N and SA&#039;&#039;&#039;C&#039;&#039;&#039;N + SA&#039;&#039;&#039;D&#039;&#039;&#039;N to SA&#039;&#039;&#039;E&#039;&#039;&#039;N if the cost difference is low.&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t want to provide any axle load classes in your track set, it doesn&#039;t really matter what axle load class you choose for the track, as you&#039;ll be mapping all other classes to this track anyways. But the lowest or highest class are the obvious choice. Example: if your track set only provides narrow gauge unelectrified track with no speed limits and no axle load limits, you may use NA&#039;&#039;&#039;A&#039;&#039;&#039;N for the track label, and provide NA&#039;&#039;&#039;B&#039;&#039;&#039;N, NA&#039;&#039;&#039;C&#039;&#039;&#039;N, NA&#039;&#039;&#039;D&#039;&#039;&#039;N, NA&#039;&#039;&#039;E&#039;&#039;&#039;N in property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you need more than five axle load class, you may use lowercase letters for very low axle loads and continue the uppercase letters for very high axle loads. Be advised that your train set may not assume the existance of any other class than &#039;&#039;&#039;A&#039;&#039;&#039; through &#039;&#039;&#039;E&#039;&#039;&#039;, so when the range make sure to program your railtype table such that trains with such a class will fall back to class &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;E&#039;&#039;&#039;. If you make a track set with an extended range, be aware that not all train sets will define trains for these tracks. In general: only do this in case of a train set with a matching track set.&lt;br /&gt;
&lt;br /&gt;
For the lowercase letters, &#039;&#039;&#039;b&#039;&#039;&#039; is lower than &#039;&#039;&#039;a&#039;&#039;&#039;, so for increasing axle load limits: b &amp;lt; a &amp;lt; A &amp;lt; B &amp;lt; C etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that the axle load classes never map to a specific weight in tonnes. For that reason it does not make sense to add a numeric value for the axle load to the name of a track type or in the extended purchase info of a train. Instead use the relative expressions &#039;very low&#039;, &#039;low&#039;, &#039;medium&#039;, &#039;high&#039; and &#039;very high&#039; or use the class letters directly.&lt;br /&gt;
&lt;br /&gt;
=== Energy source type class [***X] ===&lt;br /&gt;
The last position defines the energy source type class. This is split in generic energy source types like overhead wires and third rail and specialized types like alternating and direct current.&lt;br /&gt;
&lt;br /&gt;
A track set that only uses specialized types, should map the generic types to the most suitable specialized type in the set.&lt;br /&gt;
&lt;br /&gt;
A vehicle set that uses specialized types should define a generic type as fallback, via the railtype table. If such a fallback is omitted, please note that certain vehicles may be unavailable depending on track set loaded.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Generic energy type classes&lt;br /&gt;
|-&lt;br /&gt;
|N ||no electrification&lt;br /&gt;
|-&lt;br /&gt;
|E ||overhead wires/catenary electrification&lt;br /&gt;
|-&lt;br /&gt;
|3 ||3rd rail electrification&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Specialized energy type classes !!Vehicle set fallback&lt;br /&gt;
|-&lt;br /&gt;
|Z ||3rd rail and catenary electrification || 3 or E&lt;br /&gt;
|-&lt;br /&gt;
|4 ||4th rail electrification || 3&lt;br /&gt;
|-&lt;br /&gt;
|Y ||4th rail and catenary electrification || 4 or E&lt;br /&gt;
|-&lt;br /&gt;
|T ||[http://en.wikipedia.org/wiki/Three-phase_AC_railway_electrification three phase AC electrification] || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|D ||DC catenary electrification || E&lt;br /&gt;
|-&lt;br /&gt;
|d ||low voltage DC catenary electrification (only when D also used in set) || First A then E&lt;br /&gt;
|-&lt;br /&gt;
|A ||AC catenary electrification || E&lt;br /&gt;
|-&lt;br /&gt;
|a ||low voltage AC catenary electrification (only when A also used in set) || First A then E&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
If you want multi-voltage/current vehicles in your set (i.e. a train that can run on both AC and DC current), you have to define a dedicated railtype for those vehicles. Without the railtype, it&#039;s not possible to define vehicles with this property. If you only have vehicles that can run on either one type of voltage/current or on all types of voltage/current (e.g. a 2-system if you only have &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;D&#039;&#039;&#039; tracks, or a 4-system in case of all &#039;&#039;&#039;A&#039;&#039;&#039;, &#039;&#039;&#039;a&#039;&#039;&#039;, &#039;&#039;&#039;D&#039;&#039;&#039; and &#039;&#039;&#039;d&#039;&#039;&#039;), then use the generic class &#039;&#039;&#039;E&#039;&#039;&#039; for vehicles that should be able to run on all different voltage/currents. Also the track set needs to have one at least one railtype with class &#039;&#039;&#039;E&#039;&#039;&#039; defined.&lt;br /&gt;
&lt;br /&gt;
Note that if you want more than one type of multi-voltage/current, you&#039;ll quickly get a combinatory explosion of railtype labels, so plan carefully or do not attempt it. For every different multi-voltage/current vehicle type a dedicated railtype is needed. If you want all possible combinations, then you need to define an additional 8 classes. It is not recommended to make your train/track set this complicated.&lt;br /&gt;
&lt;br /&gt;
Example approach for a 4-system set, with trains that can run on either one or all systems:&lt;br /&gt;
* &#039;&#039;&#039;E&#039;&#039;&#039;: generic catenary-powered electric engines. &amp;quot;universal&amp;quot; [4-system] if any of &#039;&#039;&#039;D&#039;&#039;&#039;/&#039;&#039;&#039;d&#039;&#039;&#039;/&#039;&#039;&#039;A&#039;&#039;&#039;/&#039;&#039;&#039;a&#039;&#039;&#039; are defined.&lt;br /&gt;
* &#039;&#039;&#039;A&#039;&#039;&#039;: generic AC catenary electric engines. 25kV only if &#039;&#039;&#039;a&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;A&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;a&#039;&#039;&#039;: 15kV AC catenary electric engines. Only defined if &#039;&#039;&#039;A&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;a&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;D&#039;&#039;&#039;: generic DC catenary electric engines. 3kV if &#039;&#039;&#039;d&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;D&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;d&#039;&#039;&#039;: 1.5kV DC catenary electric engines. Only defined if &#039;&#039;&#039;D&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;D&#039;&#039;&#039; and &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;d&#039;&#039;&#039;.&lt;br /&gt;
For a 2-system set, you can simply drop &#039;&#039;&#039;a&#039;&#039;&#039; and &#039;&#039;&#039;d&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Standard labels: RAIL, ELRL, MONO, MGLV ===&lt;br /&gt;
It&#039;s not possible to undefine the standard railtypes RAIL, ELRL, MONO and MGLV. The game will always add those if there are vehicles defined for these track types. As a result, for a track set it&#039;s best not to ignore those standard labels, but rather work with them and define them in the set. If your track set does not have monorail or maglev tracks, there of course is no need to define those. But if your track set defines anything that resembles unelectrified or electrified rail, you should use the RAIL and ELRL labels. Matching labels from the above scheme will then be defined in property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
As vehicles from NewGRFs that do not use explicit railtypes will end up on these standard railtypes, you should use RAIL instead of whatever type could be regarded as the most commonly used unelectrified type, ELRL instead of the most commonly used electrified type and so on. The label according to this scheme is then set as an alternate.&lt;br /&gt;
&lt;br /&gt;
== Summary for track sets ==&lt;br /&gt;
This section summarizes the above for track sets.&lt;br /&gt;
&lt;br /&gt;
; [X***] Track gauge and type class&lt;br /&gt;
* Define at least one track type for every track gauge/type class you want in your set.&lt;br /&gt;
* If you only provide tracks for one gauge/type, consider leaving some free railtypes so a player can load an additional set for some other type.&lt;br /&gt;
; [*X**] Speed limit class&lt;br /&gt;
* Make sure class A is always available, either directly or via an alternate label.&lt;br /&gt;
* Use only class A if you don&#039;t want speed limits;&lt;br /&gt;
* With speed limits, A is the lowest speed limit. Continue with B, C, etc. for increasing speed limits;&lt;br /&gt;
* The speed class can also be used to implement additional eye-candy track types, use letters higher in the alphabet for this.&lt;br /&gt;
; [**X*] Axle load class&lt;br /&gt;
* Always define all classes A through E for every track type class / electrification combination, either:&lt;br /&gt;
** Directly via a real railtype definition;&lt;br /&gt;
** Indirectly via the alternate rail type label list, property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
* Extend the predefined classes only if you also provide a train set that makes use of these.&lt;br /&gt;
; [***X] Energy source type class&lt;br /&gt;
* If your set only uses specialized classes, always map the generic classes to the closest matching specialized type via property 1D.&lt;br /&gt;
; Standard labels [RAIL, ELRL, MONO, MGLV]&lt;br /&gt;
* Always define the standard labels when possible, instead of what would be the equivalent of the standard label in this scheme.&lt;br /&gt;
* Map the equivalent labels from this scheme to the standard labels using property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
Or, put differently, for each gauge/type, select one or more energy source types. For each type/energy combination provide all axle load classes for the speed class &amp;quot;A&amp;quot;, either as a real type or as an alternate of another type. Provide more types with a different speed letter if you want to provide several different speeds or other eye-candy tracks.&lt;br /&gt;
&lt;br /&gt;
== Summary for train sets ==&lt;br /&gt;
This section summarizes the above for train sets.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; [X***] Track gauge and type class&lt;br /&gt;
* Use the track type class that matches the vehicle;&lt;br /&gt;
* Define a fallback type via the railtype table in case you want the vehicle to be available on a different track if no matching track set is loaded.&lt;br /&gt;
** Specialized subtypes like &amp;quot;n&amp;quot; might not always be available. If you want those vehicles to be still available then, fall back the the generic class (e.g. &amp;quot;N&amp;quot;).&lt;br /&gt;
; [*X**] Speed limit class &lt;br /&gt;
* Always use class A for every vehicle.&lt;br /&gt;
; [**X*] Axle load class&lt;br /&gt;
* Use all classes A through E according to the maximum axle weight of the vehicle.&lt;br /&gt;
* Extend the predefined classes only if you also provide a track set that makes use of these;&lt;br /&gt;
** When extending the predefined classes A through E, define a fallback type via the railtype table in case you want the vehicle to be available if no matching track set is loaded.&lt;br /&gt;
; [***X] Energy source type class&lt;br /&gt;
* Use the energy source type class that matches the vehicle;&lt;br /&gt;
* When using specialized classes, define a fallback type via the railtype table in case you want the vehicle to be available if no matching track set is loaded.&lt;br /&gt;
; Standard labels [RAIL, ELRL, MONO, MGLV]&lt;br /&gt;
* Define a fallback type to the standard labels via the railtype table in case you want the vehicle to be available on the standard tracks if no matching track set is loaded.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Be as specific as you want when selecting the railtype, it is the job of the track set to select a playable, reduced subset out of all possible type combinations.&lt;br /&gt;
&lt;br /&gt;
== In case you&#039;re not convinced by this scheme ==&lt;br /&gt;
Adopting this scheme gives the player freedom to use any track set in combination with any train set that follow the scheme. &lt;br /&gt;
&lt;br /&gt;
This means that you can make your train set compatible with track sets that provide axle load classes, and track sets that provide speed limits, and at the same time with track sets that provide none of this. This way, the player can decide to play with or without axle load classes, or with or without speed limits, simply by loading a track set that does or does not provide these features.&lt;br /&gt;
&lt;br /&gt;
And for your track set, it means that you can make it as simple or as complicated as you want (within the 64 track type limit), while not having to worry about compatibility with train sets.&lt;br /&gt;
&lt;br /&gt;
Still not convinced? Feel free to use railtype labels of your own, but know that you will likely come to regret that at some point in the future.&lt;br /&gt;
&lt;br /&gt;
==Forum topic==&lt;br /&gt;
If you want to discuss the standardized railtype scheme or have any questions about it, you can visit [http://www.tt-forums.net/viewtopic.php?t=59379 the forum topic].&lt;br /&gt;
&lt;br /&gt;
==&amp;quot;Innsbruck 2022 Convention&amp;quot; for partial compliance==&lt;br /&gt;
&lt;br /&gt;
This is really esoteric, but eh. It was the product of long discussion / debate / argument / reasoning between grf authors.&lt;br /&gt;
&lt;br /&gt;
1. The Standardized Railtype Scheme &#039;&#039;&#039;is a useful tool&#039;&#039;&#039; for providing reliable compatibility between train grfs and railtype grfs.&lt;br /&gt;
&lt;br /&gt;
2. The &#039;&#039;&#039;axle load class&#039;&#039;&#039; in the scheme presents a number of issues for compliance.&lt;br /&gt;
&lt;br /&gt;
2.1. Over 10 years since the scheme was standardised, not many train grfs implement multiple axle load classes &#039;&#039;&#039;as required by the scheme&#039;&#039;&#039;.  Known examples that &#039;&#039;&#039;do&#039;&#039;&#039; comply include Dutch Train Set, French Narrow Gauge Trains, and Finnish Trains.&lt;br /&gt;
&lt;br /&gt;
2.2. Elements of the axle load rules have proven hard to interpret.  For example:&lt;br /&gt;
&lt;br /&gt;
* is it compliant to use &#039;&#039;fewer&#039;&#039; than 5 classes in a train grf?  There is a lack of consensus on this.&lt;br /&gt;
* axle load is only one of many factors that govern whether a vehicle is compatible with a route, for example loading gauge, minimum curve, signalling types etc&lt;br /&gt;
&lt;br /&gt;
2.3. Meanwhile &#039;&#039;multiple existing train grfs use class &#039;&#039;A&#039;&#039; for the axle load for all trains&#039;&#039; (except where relying on default railtypes such as RAIL and ELRL).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3. The Innsbruck 2022 Convention uses class &#039;&#039;A&#039;&#039; for axle load for &#039;&#039;&#039;all&#039;&#039;&#039; trains in a train grf (except where relying on default railtypes such as RAIL and ELRL).&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is &#039;&#039;&#039;not&#039;&#039;&#039; fully compliant with the Standardized Railtype Scheme and does not claim to be.&lt;br /&gt;
&lt;br /&gt;
However train grfs using the Innsbruck 2022 Convention are &#039;&#039;broadly compatible&#039;&#039; with railtype grfs using the Standardized Railtype Scheme.  &lt;br /&gt;
&lt;br /&gt;
Obligatory XKCD link about &#039;standards&#039;: https://xkcd.com/927/&lt;br /&gt;
&lt;br /&gt;
===Known issues===&lt;br /&gt;
&lt;br /&gt;
Known problems are that trains using only class &#039;A&#039; may limit the ability of railtype grf authors to achieve their design goals for separating railtypes by axle load.  &lt;br /&gt;
But on reflection, it can be seen that a train grf might not be able to provide a broad enough range of vehicles to cover at least 5 axle load classes.&lt;br /&gt;
&lt;br /&gt;
3.1. The Innsbruck 2022 Convention is &#039;&#039;&#039;not&#039;&#039;&#039; appropriate for train grf authors who wish to provide more than one axle load class.&lt;br /&gt;
&lt;br /&gt;
3.2. The Innsbruck 2022 Convention treats the meaning of class &#039;&#039;A&#039;&#039; as &#039;&#039;undefined&#039;&#039;, &#039;&#039;ignored&#039;&#039; or &#039;&#039;compatible with most restricted railtype&#039;&#039; for axle load.  &lt;br /&gt;
&lt;br /&gt;
Axle load class &#039;&#039;A&#039;&#039; &#039;&#039;&#039;cannot&#039;&#039;&#039; be safely interpreted as &#039;&#039;universal&#039;&#039; because from the perspective of a railtype grf &#039;&#039;A&#039;&#039; is &#039;&#039;most restricted railtype&#039;&#039;, where &#039;&#039;universal&#039;&#039; is better represented as &#039;&#039;least restricted railtype&#039;&#039;. Depending how many axle load classes are in use by the railtype grf, this could be class &#039;&#039;B&#039;&#039;, &#039;&#039;C&#039;&#039;, &#039;&#039;D&#039;&#039;, &#039;&#039;E&#039;&#039; etc.  To illustrate this issue, take the following scenario&lt;br /&gt;
&lt;br /&gt;
* railtype grf defines axle loads &#039;&#039;A&#039;&#039; to &#039;&#039;E&#039;&#039;. In this case the railtype grf author intends that &#039;&#039;A&#039;&#039; is compatible with the smallest range of vehicles, &#039;&#039;E&#039;&#039; is compatible with the largest range of vehicles, and &#039;&#039;B&#039;&#039;, &#039;&#039;C&#039;&#039; and &#039;&#039;D&#039;&#039; are compatible with some intermediate ranges of vehicles&lt;br /&gt;
* but the vehicle grf author has defined all vehicles to be axle load &#039;&#039;A&#039;&#039; in an attempt to express this vehicle is &#039;&#039;universal&#039;&#039;.  The result in the game is that an identical range of vehicles will be compatible with railtypes &#039;&#039;A&#039;&#039; to &#039;&#039;E&#039;&#039;.  &lt;br /&gt;
&lt;br /&gt;
This is clearly &#039;&#039;&#039;not&#039;&#039;&#039; the intended outcome of the railtype author. But nor is it clear within the spec that the vehicle author has particularly done anything wrong. &lt;br /&gt;
&lt;br /&gt;
It &#039;&#039;would&#039;&#039; be possible to use railtype availability testing to adjust the vehicle property 05 (track_type) to fit the highest defined axle load (&#039;&#039;E&#039;&#039; in this example case), but this is not insignificant work, and it&#039;s unlikely to be widely adopted by vehicle grf authors.  Nor would this solution achieve &#039;&#039;universal&#039;&#039; as all vehicles in vehicle grf then would be incompatible with types &#039;&#039;A&#039;&#039; through &#039;&#039;D&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
3.3. When the Innsbruck 2022 Convention is used, this &#039;&#039;&#039;does not prevent&#039;&#039;&#039; a train grf being extended in some future release to achieve full compliance with Standardized Railtype Scheme. &#039;&#039;That choice remains with train grf authors&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
3.4. If 2012 could be revisited, providing an optional &#039;&#039;_&#039;&#039; axle load class in the Standardized Railtype Scheme for &#039;&#039;undefined&#039;&#039; would have been preferable, but as of 2022, &#039;&#039;A&#039;&#039; is already widely used for this purpose, and time travel is not known to be possible.&lt;br /&gt;
&lt;br /&gt;
==Extended multivoltage support addition==&lt;br /&gt;
These are extensions to the energy source type class currently supported by SETS and xUSSR Rails which allow trainsets to code trains which are limited to a certain selection of voltages. As stated in the energy source type class section this might not be of use for all sets, as such it is optional but still recommended for trainsets for ideal functionality with tracksets which support the extended labels.&lt;br /&gt;
{|&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Specialized energy type classes !!Vehicle set fallback&lt;br /&gt;
|-&lt;br /&gt;
|* ||Equivilent to A, a, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|&#039; ||Equivilent to A, a and D || E&lt;br /&gt;
|-&lt;br /&gt;
|^ ||Equivilent to A, a and d || E&lt;br /&gt;
|-&lt;br /&gt;
|_ ||Equivilent to A, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
|, ||Equivilent to a, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|$ ||Equivilent to A and a  || First A then E&lt;br /&gt;
|-&lt;br /&gt;
|= ||Equivilent to D and d  || First D then E&lt;br /&gt;
|-&lt;br /&gt;
|) ||Equivilent to A and D  || E&lt;br /&gt;
|-&lt;br /&gt;
|( ||Equivilent to A and d  || E&lt;br /&gt;
|-&lt;br /&gt;
|] ||Equivilent to a and D  || E&lt;br /&gt;
|-&lt;br /&gt;
|[ ||Equivilent to a and d  || E&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Possible additions==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Track type/gauge&lt;br /&gt;
|-&lt;br /&gt;
|_ ||Universal &amp;quot;cheat&amp;quot; rail; ALWAYS add &amp;quot;_A_-&amp;quot;, &amp;quot;_A_t and &amp;quot;_A_N&amp;quot; to EVERY [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]] to support it if you are making a new set, older sets can be covered by fix or patch grfs&lt;br /&gt;
|-&lt;br /&gt;
|0 ||(A number zero, not a letter &amp;quot;Oh&amp;quot;) No track, eyecandy-use only&lt;br /&gt;
|-&lt;br /&gt;
|1 ||Early Monorail; See [https://perma.cc/6BVS-2P2X here] and [https://perma.cc/VCG2-ATUA here]&lt;br /&gt;
|-&lt;br /&gt;
|m ||Minimum gauge rail; [https://en.wikipedia.org/wiki/Minimum-gauge_railway 15 in (381 mm), 400 mm (15+3⁄4 in), 16 in (406 mm), 18 in (457 mm), 19 in (483 mm), 500 mm (19+3⁄4 in) or 20 in (508 mm)]&lt;br /&gt;
|-&lt;br /&gt;
|n ||600mm &amp;quot;Decauville&amp;quot; or &amp;quot;Feldsbahn&amp;quot;, formerly labelled &amp;quot;NG60&amp;quot; before standardization; the most common narrow gauge track type in OpenTTD other than metre gauge, 600mm gauge is thus ideal for taking up the &amp;quot;n&amp;quot; gauge, though this is an ultimately optional distinction&lt;br /&gt;
|-&lt;br /&gt;
|7 ||750mm, Bosnian gauge (760 mm), and 762mm; all start with 7 and are close in size&lt;br /&gt;
|-&lt;br /&gt;
|3 ||Swedish 3 foot (891 mm), 900mm, 3 foot (914 mm) and Italian Metre (950mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|R ||Metre gauge; potentially compatible with base tramtype &amp;quot;RABN&amp;quot;, most early tramways were metre gauge&lt;br /&gt;
|-&lt;br /&gt;
|4 ||4 foot gauge (1219 mm), and possibly 4&#039;6&amp;quot; in. (1372 mm) if standardization is needed for 1372mm&lt;br /&gt;
|-&lt;br /&gt;
|s ||Scotch gauge (1372 mm)&lt;br /&gt;
|-&lt;br /&gt;
|S ||Standard gauge; already implemented in original standardized railtype scheme, but could include near-standard (1432 mm) as well as existing true standard (1435 mm) and is also potentially compatible with the SABN tramtype&lt;br /&gt;
|-&lt;br /&gt;
|X ||Omni-gauge rail (for at-grade multi-gauge crossings and stations); ultrabroad/secondary broad/primary broad/standard/primary narrow/secondary narrow gauge&lt;br /&gt;
|-&lt;br /&gt;
|x ||Multi-gauge rail (for at-grade multi-gauge crossings and stations); secondary broad/primary broad/standard/primary narrow/secondary narrow&lt;br /&gt;
|-&lt;br /&gt;
|+ ||Three-gauge rail (for at-grade multi-gauge crossings and stations); primary broad/standard/primary narrow&lt;br /&gt;
|-&lt;br /&gt;
|b ||Broad gauge rail - As broad gauge is a rare tracktype, it may still be feasible to cement B and b as broad gauges of two differing sizes, but the rarity among gauges in the real world would need to match; Italian (1445 mm) and Dresden (1450 mm) gauges may be better grouped here&lt;br /&gt;
|-&lt;br /&gt;
|t ||Leipzig trams (1458 mm) and Greater Toronto Area streetcars (1495 mm)&lt;br /&gt;
|-&lt;br /&gt;
|5 ||1520mm and 5 foot (1524 mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|V ||Pennsylvanian (1581 mm and 1588 mm) and Australian &amp;quot;Victorian&amp;quot; (1600 mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|6 ||6 foot (1829 mm) broad gauge&lt;br /&gt;
|-&lt;br /&gt;
|g ||Brunel&#039;s Great Western Railway gauge (2140 mm)&lt;br /&gt;
|-&lt;br /&gt;
|B ||Broad gauge rail - As broad gauge is a rare tracktype, and the variation in common real life track types too wide, it may be desirable to cement B and b as broad gauges of two differing sizes; With no real life examples that match the usage frequency of &amp;quot;B&amp;quot;, the gauge might best draw inspiration from the infamous [https://en.wikipedia.org/wiki/Breitspurbahn Breitspurbahn] (3000 mm) and [https://perma.cc/KQ2Z-5RCR the never-built vehicles designed for it]&lt;br /&gt;
|-&lt;br /&gt;
|L ||Maglevs that have a u-shaped track&lt;br /&gt;
|-&lt;br /&gt;
|T ||Maglevs that have a monorail track&lt;br /&gt;
|-&lt;br /&gt;
|F ||Flightrail; A [https://web.archive.org/web/20231213122530/http://www.flightrail.com/ system capable of high speeds and steep hill grades] that uses a pneumatic pipe for propulsion (see &amp;quot;P&amp;quot; under energy sources), and &#039;&#039;wheels pointed inwards at a 45-degree angle&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
It might be preferred to instead use/keep &amp;quot;B&amp;quot; for &amp;quot;all (current) broad gauges&amp;quot; (mostly Victorian gauge) instead using lowercase &amp;quot;b&amp;quot; for Brunel/GWR broad gauge. This wouldn&#039;t be to different from narrow gauge since the lesser used ones are lowercase and fallback to the uppercase ones.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Electrification !!Fallback&lt;br /&gt;
|-&lt;br /&gt;
|S ||Maglevs that use a synchronous linear motor ||N/A&lt;br /&gt;
|-&lt;br /&gt;
|I ||Maglevs that use a linear induction motor ||MGLV (the whole label)&lt;br /&gt;
|-&lt;br /&gt;
|t ||&amp;quot;Universal custom tunnel&amp;quot; (for electrified sub-surface rail tunnels) ||E (mandatory)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt; ||Universal energy type (&#039;&#039;not&#039;&#039; meant to replace &amp;quot;***N&amp;quot;; use for vehicles such as driving cabs which cannot move under their own power regardless, if desired) ||N/A (Be sure to put &amp;quot;***E&amp;quot; in the [[NML:Roadtypes#Roadtype_properties|alternative_roadtype_list (NML)]] of a &amp;quot;***-&amp;quot; label)&lt;br /&gt;
|-&lt;br /&gt;
|P ||Pneumatic tube with physical piston slit, or closed pneumatic tube with magnetic piston (i.e. that used by [https://web.archive.org/web/20231213122530/http://www.flightrail.com/ Flightrail]) ||N/A&lt;br /&gt;
|-&lt;br /&gt;
|p ||Pneumatic and universal electrical power ||N/A (Be sure to put &amp;quot;***_&amp;quot; and ***P&amp;quot; in the [[NML:Roadtypes#Roadtype_properties|alternative_roadtype_list (NML)]] of a &amp;quot;***p&amp;quot; label)&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Lurkmore</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=Standardized_Railtype_Scheme&amp;diff=4728</id>
		<title>Standardized Railtype Scheme</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=Standardized_Railtype_Scheme&amp;diff=4728"/>
		<updated>2024-02-27T20:13:37Z</updated>

		<summary type="html">&lt;p&gt;Lurkmore: /* Possible additions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This railtype label scheme aims to bring order to the uncontrolled growth of railtype labels. It groups the rail types into what matters from a technical perspective. The scheme provides a standardized way of defining railtype labels, based on track gauge and type, speed class, allowable axle weight and electrification type.&lt;br /&gt;
&lt;br /&gt;
It is the explicit intent of this scheme to decouple track sets from vehicle sets to facilitate easy mixing. This way the player can select a track set of choice to go with a train set of choice. It allows the player to play with or without axle load classes, or with or without speed limit classes, simply by loading a track set that does or does not provide these features. In some cases it will also be possible to combine niche track sets, for instance a standard gauge track set with a narrow gauge and a metro track set.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== The Label Scheme ==&lt;br /&gt;
A railtype label consists of four characters. In this scheme, each position has a different purpose:&lt;br /&gt;
# Track gauge and type class (e.g. standard gauge rail, narrow gauge rail, monorail)&lt;br /&gt;
# Speed limit class&lt;br /&gt;
# Axle load class (maximum allowed axle weight for this track)&lt;br /&gt;
# Energy source type class&lt;br /&gt;
&lt;br /&gt;
In the next sections, each of the four positions will be explained.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Track gauge and type class [X***] ===&lt;br /&gt;
The first position in the railtype label defines track gauge and/or track type class. The following classes are currently defined:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Track type/gauge&lt;br /&gt;
|- &lt;br /&gt;
|S ||Standard gauge rail&lt;br /&gt;
|-&lt;br /&gt;
|B ||Broad gauge rail &lt;br /&gt;
|-&lt;br /&gt;
|N ||Narrow gauge rail&lt;br /&gt;
|-&lt;br /&gt;
|n ||Secondary narrow gauge rail (e.g. when providing both metre and cape gauge, always use N in case of just one type of narrow gauge)&lt;br /&gt;
|-&lt;br /&gt;
|D ||Dual gauge rail, standard/broad gauge&lt;br /&gt;
|-&lt;br /&gt;
|d ||Dual gauge rail, standard/narrow gauge&lt;br /&gt;
|-&lt;br /&gt;
|M ||Monorail&lt;br /&gt;
|-&lt;br /&gt;
|L ||Magnetic Levitation&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Speed limit class [*X**] ===&lt;br /&gt;
The second position in the railtype label defines the speed limit class. These classes do not map to a fixed numeric value, but are used to define an internal speed limit order for the track set. This means that if your track set has two different speed limits for track types that are otherwise identical, you&#039;ll use letters A and B here. In case of three different speed limits, use A, B and C. In case your track set does not employ speed limits, always use A. Train sets do not care about the speed limit, and will always set the lowest speed class, i.e. A.&lt;br /&gt;
&lt;br /&gt;
This gives for instance the following options:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||no speed limits&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;OR&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||low speed&lt;br /&gt;
|-&lt;br /&gt;
|B ||high speed&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;OR&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||low speed&lt;br /&gt;
|-&lt;br /&gt;
|B ||medium speed&lt;br /&gt;
|-&lt;br /&gt;
|C ||high speed&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;etc.&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear:left;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The speed limit class may also be used for some advanced features of the label scheme, like specialized track types and eyecandy purposes. Be careful not to break the compatibility with other sets when using the speed limit class for these purposes.&lt;br /&gt;
&lt;br /&gt;
An example of a special use is rack rail. In the French set it is used to give rack rail engines a higher speed and TE than normal rail engines when used on rack rail. When defining trains with a special speed limit class, always allow a fallback to speed limit class A via the railtype table.&lt;br /&gt;
&lt;br /&gt;
An example of eyecandy use are urban tracks. These are a variation of regular tracks, but with concrete ground tiles to better match the urban environment. Train sets must not define vehicles for eyecandy classes. If you think you have special vehicles that should only run on the eyecandy class, it is &#039;&#039;not&#039;&#039; eyecandy but a separate track gauge/type.&lt;br /&gt;
&lt;br /&gt;
The following special and eyecandy classes have been defined so far:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Description !!Type !!Used by&lt;br /&gt;
|- &lt;br /&gt;
|A-H ||speed limits ||colspan=&amp;quot;2&amp;quot;|reserved&lt;br /&gt;
|- &lt;br /&gt;
|R ||rack rail ||special ||French Set Rails &lt;br /&gt;
|- &lt;br /&gt;
|S ||subterranean ||eyecandy ||Metro Track Set&lt;br /&gt;
|- &lt;br /&gt;
|U ||urban ||eyecandy ||Metro Track Set&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Axle load class [**X*] ===&lt;br /&gt;
The third position defines the axle weight limit. Heavy trains cannot run on tracks with a low axle weight limit; these trains need more expensive tracks with a heigher weight limit. There are five axle load classes &#039;&#039;&#039;A&#039;&#039;&#039; through &#039;&#039;&#039;E&#039;&#039;&#039;. &#039;&#039;&#039;A&#039;&#039;&#039; is for the lowest axle load limit, &#039;&#039;&#039;E&#039;&#039;&#039; for the highest. The exact axle load attached to each class is relative to the track gauge/type and trains in the set. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A train set should set the appropriate axle weight for each train via the railtype label, as to make the set work with track sets that do provide tracks with different weight limits, even if you don&#039;t care about it for your trainset. Split all vehicles of a certain track gauge/type into five groups of similar axle weight. The group with the lowest axle weights will get class &#039;&#039;&#039;A&#039;&#039;&#039;, the second lowest class &#039;&#039;&#039;B&#039;&#039;&#039;, etc. up to the group with the highest axle weights which will get class &#039;&#039;&#039;E&#039;&#039;&#039;. Do the same for the other track gauge/types if your train set has those.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A track set does not have to provide a dedicated track type for each axle weight limit. A track set that does not provide a dedicated track for each axle load class, must make sure to map all undefined axle load classes to a real railtype using property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]]. This way a train set can rely on all labels for all axle load classes being available. Example: if you only want to provide 2 axle load classes for standard gauge unelectrified with no speed limits, you can map SA&#039;&#039;&#039;A&#039;&#039;&#039;N + SA&#039;&#039;&#039;B&#039;&#039;&#039;N to SA&#039;&#039;&#039;C&#039;&#039;&#039;N and SA&#039;&#039;&#039;D&#039;&#039;&#039;N to SA&#039;&#039;&#039;E&#039;&#039;&#039;N if the cost difference between the two railtypes is high, or SA&#039;&#039;&#039;A&#039;&#039;&#039;N to SA&#039;&#039;&#039;B&#039;&#039;&#039;N and SA&#039;&#039;&#039;C&#039;&#039;&#039;N + SA&#039;&#039;&#039;D&#039;&#039;&#039;N to SA&#039;&#039;&#039;E&#039;&#039;&#039;N if the cost difference is low.&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t want to provide any axle load classes in your track set, it doesn&#039;t really matter what axle load class you choose for the track, as you&#039;ll be mapping all other classes to this track anyways. But the lowest or highest class are the obvious choice. Example: if your track set only provides narrow gauge unelectrified track with no speed limits and no axle load limits, you may use NA&#039;&#039;&#039;A&#039;&#039;&#039;N for the track label, and provide NA&#039;&#039;&#039;B&#039;&#039;&#039;N, NA&#039;&#039;&#039;C&#039;&#039;&#039;N, NA&#039;&#039;&#039;D&#039;&#039;&#039;N, NA&#039;&#039;&#039;E&#039;&#039;&#039;N in property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you need more than five axle load class, you may use lowercase letters for very low axle loads and continue the uppercase letters for very high axle loads. Be advised that your train set may not assume the existance of any other class than &#039;&#039;&#039;A&#039;&#039;&#039; through &#039;&#039;&#039;E&#039;&#039;&#039;, so when the range make sure to program your railtype table such that trains with such a class will fall back to class &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;E&#039;&#039;&#039;. If you make a track set with an extended range, be aware that not all train sets will define trains for these tracks. In general: only do this in case of a train set with a matching track set.&lt;br /&gt;
&lt;br /&gt;
For the lowercase letters, &#039;&#039;&#039;b&#039;&#039;&#039; is lower than &#039;&#039;&#039;a&#039;&#039;&#039;, so for increasing axle load limits: b &amp;lt; a &amp;lt; A &amp;lt; B &amp;lt; C etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that the axle load classes never map to a specific weight in tonnes. For that reason it does not make sense to add a numeric value for the axle load to the name of a track type or in the extended purchase info of a train. Instead use the relative expressions &#039;very low&#039;, &#039;low&#039;, &#039;medium&#039;, &#039;high&#039; and &#039;very high&#039; or use the class letters directly.&lt;br /&gt;
&lt;br /&gt;
=== Energy source type class [***X] ===&lt;br /&gt;
The last position defines the energy source type class. This is split in generic energy source types like overhead wires and third rail and specialized types like alternating and direct current.&lt;br /&gt;
&lt;br /&gt;
A track set that only uses specialized types, should map the generic types to the most suitable specialized type in the set.&lt;br /&gt;
&lt;br /&gt;
A vehicle set that uses specialized types should define a generic type as fallback, via the railtype table. If such a fallback is omitted, please note that certain vehicles may be unavailable depending on track set loaded.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Generic energy type classes&lt;br /&gt;
|-&lt;br /&gt;
|N ||no electrification&lt;br /&gt;
|-&lt;br /&gt;
|E ||overhead wires/catenary electrification&lt;br /&gt;
|-&lt;br /&gt;
|3 ||3rd rail electrification&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Specialized energy type classes !!Vehicle set fallback&lt;br /&gt;
|-&lt;br /&gt;
|Z ||3rd rail and catenary electrification || 3 or E&lt;br /&gt;
|-&lt;br /&gt;
|4 ||4th rail electrification || 3&lt;br /&gt;
|-&lt;br /&gt;
|Y ||4th rail and catenary electrification || 4 or E&lt;br /&gt;
|-&lt;br /&gt;
|T ||[http://en.wikipedia.org/wiki/Three-phase_AC_railway_electrification three phase AC electrification] || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|D ||DC catenary electrification || E&lt;br /&gt;
|-&lt;br /&gt;
|d ||low voltage DC catenary electrification (only when D also used in set) || First A then E&lt;br /&gt;
|-&lt;br /&gt;
|A ||AC catenary electrification || E&lt;br /&gt;
|-&lt;br /&gt;
|a ||low voltage AC catenary electrification (only when A also used in set) || First A then E&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
If you want multi-voltage/current vehicles in your set (i.e. a train that can run on both AC and DC current), you have to define a dedicated railtype for those vehicles. Without the railtype, it&#039;s not possible to define vehicles with this property. If you only have vehicles that can run on either one type of voltage/current or on all types of voltage/current (e.g. a 2-system if you only have &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;D&#039;&#039;&#039; tracks, or a 4-system in case of all &#039;&#039;&#039;A&#039;&#039;&#039;, &#039;&#039;&#039;a&#039;&#039;&#039;, &#039;&#039;&#039;D&#039;&#039;&#039; and &#039;&#039;&#039;d&#039;&#039;&#039;), then use the generic class &#039;&#039;&#039;E&#039;&#039;&#039; for vehicles that should be able to run on all different voltage/currents. Also the track set needs to have one at least one railtype with class &#039;&#039;&#039;E&#039;&#039;&#039; defined.&lt;br /&gt;
&lt;br /&gt;
Note that if you want more than one type of multi-voltage/current, you&#039;ll quickly get a combinatory explosion of railtype labels, so plan carefully or do not attempt it. For every different multi-voltage/current vehicle type a dedicated railtype is needed. If you want all possible combinations, then you need to define an additional 8 classes. It is not recommended to make your train/track set this complicated.&lt;br /&gt;
&lt;br /&gt;
Example approach for a 4-system set, with trains that can run on either one or all systems:&lt;br /&gt;
* &#039;&#039;&#039;E&#039;&#039;&#039;: generic catenary-powered electric engines. &amp;quot;universal&amp;quot; [4-system] if any of &#039;&#039;&#039;D&#039;&#039;&#039;/&#039;&#039;&#039;d&#039;&#039;&#039;/&#039;&#039;&#039;A&#039;&#039;&#039;/&#039;&#039;&#039;a&#039;&#039;&#039; are defined.&lt;br /&gt;
* &#039;&#039;&#039;A&#039;&#039;&#039;: generic AC catenary electric engines. 25kV only if &#039;&#039;&#039;a&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;A&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;a&#039;&#039;&#039;: 15kV AC catenary electric engines. Only defined if &#039;&#039;&#039;A&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;a&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;D&#039;&#039;&#039;: generic DC catenary electric engines. 3kV if &#039;&#039;&#039;d&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;D&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;d&#039;&#039;&#039;: 1.5kV DC catenary electric engines. Only defined if &#039;&#039;&#039;D&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;D&#039;&#039;&#039; and &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;d&#039;&#039;&#039;.&lt;br /&gt;
For a 2-system set, you can simply drop &#039;&#039;&#039;a&#039;&#039;&#039; and &#039;&#039;&#039;d&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Standard labels: RAIL, ELRL, MONO, MGLV ===&lt;br /&gt;
It&#039;s not possible to undefine the standard railtypes RAIL, ELRL, MONO and MGLV. The game will always add those if there are vehicles defined for these track types. As a result, for a track set it&#039;s best not to ignore those standard labels, but rather work with them and define them in the set. If your track set does not have monorail or maglev tracks, there of course is no need to define those. But if your track set defines anything that resembles unelectrified or electrified rail, you should use the RAIL and ELRL labels. Matching labels from the above scheme will then be defined in property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
As vehicles from NewGRFs that do not use explicit railtypes will end up on these standard railtypes, you should use RAIL instead of whatever type could be regarded as the most commonly used unelectrified type, ELRL instead of the most commonly used electrified type and so on. The label according to this scheme is then set as an alternate.&lt;br /&gt;
&lt;br /&gt;
== Summary for track sets ==&lt;br /&gt;
This section summarizes the above for track sets.&lt;br /&gt;
&lt;br /&gt;
; [X***] Track gauge and type class&lt;br /&gt;
* Define at least one track type for every track gauge/type class you want in your set.&lt;br /&gt;
* If you only provide tracks for one gauge/type, consider leaving some free railtypes so a player can load an additional set for some other type.&lt;br /&gt;
; [*X**] Speed limit class&lt;br /&gt;
* Make sure class A is always available, either directly or via an alternate label.&lt;br /&gt;
* Use only class A if you don&#039;t want speed limits;&lt;br /&gt;
* With speed limits, A is the lowest speed limit. Continue with B, C, etc. for increasing speed limits;&lt;br /&gt;
* The speed class can also be used to implement additional eye-candy track types, use letters higher in the alphabet for this.&lt;br /&gt;
; [**X*] Axle load class&lt;br /&gt;
* Always define all classes A through E for every track type class / electrification combination, either:&lt;br /&gt;
** Directly via a real railtype definition;&lt;br /&gt;
** Indirectly via the alternate rail type label list, property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
* Extend the predefined classes only if you also provide a train set that makes use of these.&lt;br /&gt;
; [***X] Energy source type class&lt;br /&gt;
* If your set only uses specialized classes, always map the generic classes to the closest matching specialized type via property 1D.&lt;br /&gt;
; Standard labels [RAIL, ELRL, MONO, MGLV]&lt;br /&gt;
* Always define the standard labels when possible, instead of what would be the equivalent of the standard label in this scheme.&lt;br /&gt;
* Map the equivalent labels from this scheme to the standard labels using property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
Or, put differently, for each gauge/type, select one or more energy source types. For each type/energy combination provide all axle load classes for the speed class &amp;quot;A&amp;quot;, either as a real type or as an alternate of another type. Provide more types with a different speed letter if you want to provide several different speeds or other eye-candy tracks.&lt;br /&gt;
&lt;br /&gt;
== Summary for train sets ==&lt;br /&gt;
This section summarizes the above for train sets.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; [X***] Track gauge and type class&lt;br /&gt;
* Use the track type class that matches the vehicle;&lt;br /&gt;
* Define a fallback type via the railtype table in case you want the vehicle to be available on a different track if no matching track set is loaded.&lt;br /&gt;
** Specialized subtypes like &amp;quot;n&amp;quot; might not always be available. If you want those vehicles to be still available then, fall back the the generic class (e.g. &amp;quot;N&amp;quot;).&lt;br /&gt;
; [*X**] Speed limit class &lt;br /&gt;
* Always use class A for every vehicle.&lt;br /&gt;
; [**X*] Axle load class&lt;br /&gt;
* Use all classes A through E according to the maximum axle weight of the vehicle.&lt;br /&gt;
* Extend the predefined classes only if you also provide a track set that makes use of these;&lt;br /&gt;
** When extending the predefined classes A through E, define a fallback type via the railtype table in case you want the vehicle to be available if no matching track set is loaded.&lt;br /&gt;
; [***X] Energy source type class&lt;br /&gt;
* Use the energy source type class that matches the vehicle;&lt;br /&gt;
* When using specialized classes, define a fallback type via the railtype table in case you want the vehicle to be available if no matching track set is loaded.&lt;br /&gt;
; Standard labels [RAIL, ELRL, MONO, MGLV]&lt;br /&gt;
* Define a fallback type to the standard labels via the railtype table in case you want the vehicle to be available on the standard tracks if no matching track set is loaded.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Be as specific as you want when selecting the railtype, it is the job of the track set to select a playable, reduced subset out of all possible type combinations.&lt;br /&gt;
&lt;br /&gt;
== In case you&#039;re not convinced by this scheme ==&lt;br /&gt;
Adopting this scheme gives the player freedom to use any track set in combination with any train set that follow the scheme. &lt;br /&gt;
&lt;br /&gt;
This means that you can make your train set compatible with track sets that provide axle load classes, and track sets that provide speed limits, and at the same time with track sets that provide none of this. This way, the player can decide to play with or without axle load classes, or with or without speed limits, simply by loading a track set that does or does not provide these features.&lt;br /&gt;
&lt;br /&gt;
And for your track set, it means that you can make it as simple or as complicated as you want (within the 64 track type limit), while not having to worry about compatibility with train sets.&lt;br /&gt;
&lt;br /&gt;
Still not convinced? Feel free to use railtype labels of your own, but know that you will likely come to regret that at some point in the future.&lt;br /&gt;
&lt;br /&gt;
==Forum topic==&lt;br /&gt;
If you want to discuss the standardized railtype scheme or have any questions about it, you can visit [http://www.tt-forums.net/viewtopic.php?t=59379 the forum topic].&lt;br /&gt;
&lt;br /&gt;
==&amp;quot;Innsbruck 2022 Convention&amp;quot; for partial compliance==&lt;br /&gt;
&lt;br /&gt;
This is really esoteric, but eh. It was the product of long discussion / debate / argument / reasoning between grf authors.&lt;br /&gt;
&lt;br /&gt;
1. The Standardized Railtype Scheme &#039;&#039;&#039;is a useful tool&#039;&#039;&#039; for providing reliable compatibility between train grfs and railtype grfs.&lt;br /&gt;
&lt;br /&gt;
2. The &#039;&#039;&#039;axle load class&#039;&#039;&#039; in the scheme presents a number of issues for compliance.&lt;br /&gt;
&lt;br /&gt;
2.1. Over 10 years since the scheme was standardised, not many train grfs implement multiple axle load classes &#039;&#039;&#039;as required by the scheme&#039;&#039;&#039;.  Known examples that &#039;&#039;&#039;do&#039;&#039;&#039; comply include Dutch Train Set, French Narrow Gauge Trains, and Finnish Trains.&lt;br /&gt;
&lt;br /&gt;
2.2. Elements of the axle load rules have proven hard to interpret.  For example:&lt;br /&gt;
&lt;br /&gt;
* is it compliant to use &#039;&#039;fewer&#039;&#039; than 5 classes in a train grf?  There is a lack of consensus on this.&lt;br /&gt;
* axle load is only one of many factors that govern whether a vehicle is compatible with a route, for example loading gauge, minimum curve, signalling types etc&lt;br /&gt;
&lt;br /&gt;
2.3. Meanwhile &#039;&#039;multiple existing train grfs use class &#039;&#039;A&#039;&#039; for the axle load for all trains&#039;&#039; (except where relying on default railtypes such as RAIL and ELRL).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3. The Innsbruck 2022 Convention uses class &#039;&#039;A&#039;&#039; for axle load for &#039;&#039;&#039;all&#039;&#039;&#039; trains in a train grf (except where relying on default railtypes such as RAIL and ELRL).&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is &#039;&#039;&#039;not&#039;&#039;&#039; fully compliant with the Standardized Railtype Scheme and does not claim to be.&lt;br /&gt;
&lt;br /&gt;
However train grfs using the Innsbruck 2022 Convention are &#039;&#039;broadly compatible&#039;&#039; with railtype grfs using the Standardized Railtype Scheme.  &lt;br /&gt;
&lt;br /&gt;
Obligatory XKCD link about &#039;standards&#039;: https://xkcd.com/927/&lt;br /&gt;
&lt;br /&gt;
===Known issues===&lt;br /&gt;
&lt;br /&gt;
Known problems are that trains using only class &#039;A&#039; may limit the ability of railtype grf authors to achieve their design goals for separating railtypes by axle load.  &lt;br /&gt;
But on reflection, it can be seen that a train grf might not be able to provide a broad enough range of vehicles to cover at least 5 axle load classes.&lt;br /&gt;
&lt;br /&gt;
3.1. The Innsbruck 2022 Convention is &#039;&#039;&#039;not&#039;&#039;&#039; appropriate for train grf authors who wish to provide more than one axle load class.&lt;br /&gt;
&lt;br /&gt;
3.2. The Innsbruck 2022 Convention treats the meaning of class &#039;&#039;A&#039;&#039; as &#039;&#039;undefined&#039;&#039;, &#039;&#039;ignored&#039;&#039; or &#039;&#039;compatible with most restricted railtype&#039;&#039; for axle load.  &lt;br /&gt;
&lt;br /&gt;
Axle load class &#039;&#039;A&#039;&#039; &#039;&#039;&#039;cannot&#039;&#039;&#039; be safely interpreted as &#039;&#039;universal&#039;&#039; because from the perspective of a railtype grf &#039;&#039;A&#039;&#039; is &#039;&#039;most restricted railtype&#039;&#039;, where &#039;&#039;universal&#039;&#039; is better represented as &#039;&#039;least restricted railtype&#039;&#039;. Depending how many axle load classes are in use by the railtype grf, this could be class &#039;&#039;B&#039;&#039;, &#039;&#039;C&#039;&#039;, &#039;&#039;D&#039;&#039;, &#039;&#039;E&#039;&#039; etc.  To illustrate this issue, take the following scenario&lt;br /&gt;
&lt;br /&gt;
* railtype grf defines axle loads &#039;&#039;A&#039;&#039; to &#039;&#039;E&#039;&#039;. In this case the railtype grf author intends that &#039;&#039;A&#039;&#039; is compatible with the smallest range of vehicles, &#039;&#039;E&#039;&#039; is compatible with the largest range of vehicles, and &#039;&#039;B&#039;&#039;, &#039;&#039;C&#039;&#039; and &#039;&#039;D&#039;&#039; are compatible with some intermediate ranges of vehicles&lt;br /&gt;
* but the vehicle grf author has defined all vehicles to be axle load &#039;&#039;A&#039;&#039; in an attempt to express this vehicle is &#039;&#039;universal&#039;&#039;.  The result in the game is that an identical range of vehicles will be compatible with railtypes &#039;&#039;A&#039;&#039; to &#039;&#039;E&#039;&#039;.  &lt;br /&gt;
&lt;br /&gt;
This is clearly &#039;&#039;&#039;not&#039;&#039;&#039; the intended outcome of the railtype author. But nor is it clear within the spec that the vehicle author has particularly done anything wrong. &lt;br /&gt;
&lt;br /&gt;
It &#039;&#039;would&#039;&#039; be possible to use railtype availability testing to adjust the vehicle property 05 (track_type) to fit the highest defined axle load (&#039;&#039;E&#039;&#039; in this example case), but this is not insignificant work, and it&#039;s unlikely to be widely adopted by vehicle grf authors.  Nor would this solution achieve &#039;&#039;universal&#039;&#039; as all vehicles in vehicle grf then would be incompatible with types &#039;&#039;A&#039;&#039; through &#039;&#039;D&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
3.3. When the Innsbruck 2022 Convention is used, this &#039;&#039;&#039;does not prevent&#039;&#039;&#039; a train grf being extended in some future release to achieve full compliance with Standardized Railtype Scheme. &#039;&#039;That choice remains with train grf authors&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
3.4. If 2012 could be revisited, providing an optional &#039;&#039;_&#039;&#039; axle load class in the Standardized Railtype Scheme for &#039;&#039;undefined&#039;&#039; would have been preferable, but as of 2022, &#039;&#039;A&#039;&#039; is already widely used for this purpose, and time travel is not known to be possible.&lt;br /&gt;
&lt;br /&gt;
==Extended multivoltage support addition==&lt;br /&gt;
These are extensions to the energy source type class currently supported by SETS and xUSSR Rails which allow trainsets to code trains which are limited to a certain selection of voltages. As stated in the energy source type class section this might not be of use for all sets, as such it is optional but still recommended for trainsets for ideal functionality with tracksets which support the extended labels.&lt;br /&gt;
{|&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Specialized energy type classes !!Vehicle set fallback&lt;br /&gt;
|-&lt;br /&gt;
|* ||Equivilent to A, a, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|&#039; ||Equivilent to A, a and D || E&lt;br /&gt;
|-&lt;br /&gt;
|^ ||Equivilent to A, a and d || E&lt;br /&gt;
|-&lt;br /&gt;
|_ ||Equivilent to A, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
|, ||Equivilent to a, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|$ ||Equivilent to A and a  || First A then E&lt;br /&gt;
|-&lt;br /&gt;
|= ||Equivilent to D and d  || First D then E&lt;br /&gt;
|-&lt;br /&gt;
|) ||Equivilent to A and D  || E&lt;br /&gt;
|-&lt;br /&gt;
|( ||Equivilent to A and d  || E&lt;br /&gt;
|-&lt;br /&gt;
|] ||Equivilent to a and D  || E&lt;br /&gt;
|-&lt;br /&gt;
|[ ||Equivilent to a and d  || E&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Possible additions==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Track type/gauge&lt;br /&gt;
|-&lt;br /&gt;
|_ ||Universal &amp;quot;cheat&amp;quot; rail; ALWAYS add &amp;quot;_A_-&amp;quot; and &amp;quot;_A_N&amp;quot; to EVERY [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]] to support it if you are making a new set, older sets can be covered by fix or patch grfs&lt;br /&gt;
|-&lt;br /&gt;
|0 ||(A number zero, not a letter &amp;quot;Oh&amp;quot;) No track, eyecandy-use only&lt;br /&gt;
|-&lt;br /&gt;
|1 ||Early Monorail; See [https://perma.cc/6BVS-2P2X here] and [https://perma.cc/VCG2-ATUA here]&lt;br /&gt;
|-&lt;br /&gt;
|m ||Minimum gauge rail; [https://en.wikipedia.org/wiki/Minimum-gauge_railway 15 in (381 mm), 400 mm (15+3⁄4 in), 16 in (406 mm), 18 in (457 mm), 19 in (483 mm), 500 mm (19+3⁄4 in) or 20 in (508 mm)]&lt;br /&gt;
|-&lt;br /&gt;
|n ||600mm &amp;quot;Decauville&amp;quot; or &amp;quot;Feldsbahn&amp;quot;, formerly labelled &amp;quot;NG60&amp;quot; before standardization; the most common narrow gauge track type in OpenTTD other than metre gauge, 600mm gauge is thus ideal for taking up the &amp;quot;n&amp;quot; gauge, though this is an ultimately optional distinction&lt;br /&gt;
|-&lt;br /&gt;
|7 ||750mm, Bosnian gauge (760 mm), and 762mm; all start with 7 and are close in size&lt;br /&gt;
|-&lt;br /&gt;
|3 ||Swedish 3 foot (891 mm), 900mm, 3 foot (914 mm) and Italian Metre (950mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|R ||Metre gauge; potentially compatible with base tramtype &amp;quot;RABN&amp;quot;, most early tramways were metre gauge&lt;br /&gt;
|-&lt;br /&gt;
|4 ||4 foot gauge (1219 mm), and possibly 4&#039;6&amp;quot; in. (1372 mm) if standardization is needed for 1372mm&lt;br /&gt;
|-&lt;br /&gt;
|s ||Scotch gauge (1372 mm)&lt;br /&gt;
|-&lt;br /&gt;
|S ||Standard gauge; already implemented in original standardized railtype scheme, but could include near-standard (1432 mm) as well as existing true standard (1435 mm) and is also potentially compatible with the SABN tramtype&lt;br /&gt;
|-&lt;br /&gt;
|X ||Omni-gauge rail (for at-grade multi-gauge crossings and stations); ultrabroad/secondary broad/primary broad/standard/primary narrow/secondary narrow gauge&lt;br /&gt;
|-&lt;br /&gt;
|x ||Multi-gauge rail (for at-grade multi-gauge crossings and stations); secondary broad/primary broad/standard/primary narrow/secondary narrow&lt;br /&gt;
|-&lt;br /&gt;
|+ ||Three-gauge rail (for at-grade multi-gauge crossings and stations); primary broad/standard/primary narrow&lt;br /&gt;
|-&lt;br /&gt;
|b ||Broad gauge rail - As broad gauge is a rare tracktype, it may still be feasible to cement B and b as broad gauges of two differing sizes, but the rarity among gauges in the real world would need to match; Italian (1445 mm) and Dresden (1450 mm) gauges may be better grouped here&lt;br /&gt;
|-&lt;br /&gt;
|t ||Leipzig trams (1458 mm) and Greater Toronto Area streetcars (1495 mm)&lt;br /&gt;
|-&lt;br /&gt;
|5 ||1520mm and 5 foot (1524 mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|V ||Pennsylvanian (1581 mm and 1588 mm) and Australian &amp;quot;Victorian&amp;quot; (1600 mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|6 ||6 foot (1829 mm) broad gauge&lt;br /&gt;
|-&lt;br /&gt;
|g ||Brunel&#039;s Great Western Railway gauge (2140 mm)&lt;br /&gt;
|-&lt;br /&gt;
|B ||Broad gauge rail - As broad gauge is a rare tracktype, and the variation in common real life track types too wide, it may be desirable to cement B and b as broad gauges of two differing sizes; With no real life examples that match the usage frequency of &amp;quot;B&amp;quot;, the gauge might best draw inspiration from the infamous [https://en.wikipedia.org/wiki/Breitspurbahn Breitspurbahn] (3000 mm) and [https://perma.cc/KQ2Z-5RCR the never-built vehicles designed for it]&lt;br /&gt;
|-&lt;br /&gt;
|L ||Maglevs that have a u-shaped track&lt;br /&gt;
|-&lt;br /&gt;
|T ||Maglevs that have a monorail track&lt;br /&gt;
|-&lt;br /&gt;
|F ||Flightrail; A [https://web.archive.org/web/20231213122530/http://www.flightrail.com/ system capable of high speeds and steep hill grades] that uses a pneumatic pipe for propulsion (see &amp;quot;P&amp;quot; under energy sources), and &#039;&#039;wheels pointed inwards at a 45-degree angle&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
It might be preferred to instead use/keep &amp;quot;B&amp;quot; for &amp;quot;all (current) broad gauges&amp;quot; (mostly Victorian gauge) instead using lowercase &amp;quot;b&amp;quot; for Brunel/GWR broad gauge. This wouldn&#039;t be to different from narrow gauge since the lesser used ones are lowercase and fallback to the uppercase ones.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Electrification !!Fallback&lt;br /&gt;
|-&lt;br /&gt;
|S ||Maglevs that use a synchronous linear motor ||N/A&lt;br /&gt;
|-&lt;br /&gt;
|I ||Maglevs that use a linear induction motor ||MGLV (the whole label)&lt;br /&gt;
|-&lt;br /&gt;
|t ||&amp;quot;Universal custom tunnel&amp;quot; (for electrified sub-surface rail tunnels) ||E (mandatory)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt; ||Universal energy type (&#039;&#039;not&#039;&#039; meant to replace &amp;quot;***N&amp;quot;; use for vehicles such as driving cabs which cannot move under their own power regardless, if desired) ||N/A (Be sure to put &amp;quot;***E&amp;quot; in the [[NML:Roadtypes#Roadtype_properties|alternative_roadtype_list (NML)]] of a &amp;quot;***-&amp;quot; label)&lt;br /&gt;
|-&lt;br /&gt;
|P ||Pneumatic tube with physical piston slit, or closed pneumatic tube with magnetic piston (i.e. that used by [https://web.archive.org/web/20231213122530/http://www.flightrail.com/ Flightrail]) ||N/A&lt;br /&gt;
|-&lt;br /&gt;
|p ||Pneumatic and universal electrical power ||N/A (Be sure to put &amp;quot;***_&amp;quot; and ***P&amp;quot; in the [[NML:Roadtypes#Roadtype_properties|alternative_roadtype_list (NML)]] of a &amp;quot;***p&amp;quot; label)&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Lurkmore</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=Standardized_Railtype_Scheme&amp;diff=4727</id>
		<title>Standardized Railtype Scheme</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=Standardized_Railtype_Scheme&amp;diff=4727"/>
		<updated>2024-02-27T18:37:21Z</updated>

		<summary type="html">&lt;p&gt;Lurkmore: /* Possible additions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This railtype label scheme aims to bring order to the uncontrolled growth of railtype labels. It groups the rail types into what matters from a technical perspective. The scheme provides a standardized way of defining railtype labels, based on track gauge and type, speed class, allowable axle weight and electrification type.&lt;br /&gt;
&lt;br /&gt;
It is the explicit intent of this scheme to decouple track sets from vehicle sets to facilitate easy mixing. This way the player can select a track set of choice to go with a train set of choice. It allows the player to play with or without axle load classes, or with or without speed limit classes, simply by loading a track set that does or does not provide these features. In some cases it will also be possible to combine niche track sets, for instance a standard gauge track set with a narrow gauge and a metro track set.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== The Label Scheme ==&lt;br /&gt;
A railtype label consists of four characters. In this scheme, each position has a different purpose:&lt;br /&gt;
# Track gauge and type class (e.g. standard gauge rail, narrow gauge rail, monorail)&lt;br /&gt;
# Speed limit class&lt;br /&gt;
# Axle load class (maximum allowed axle weight for this track)&lt;br /&gt;
# Energy source type class&lt;br /&gt;
&lt;br /&gt;
In the next sections, each of the four positions will be explained.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Track gauge and type class [X***] ===&lt;br /&gt;
The first position in the railtype label defines track gauge and/or track type class. The following classes are currently defined:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Track type/gauge&lt;br /&gt;
|- &lt;br /&gt;
|S ||Standard gauge rail&lt;br /&gt;
|-&lt;br /&gt;
|B ||Broad gauge rail &lt;br /&gt;
|-&lt;br /&gt;
|N ||Narrow gauge rail&lt;br /&gt;
|-&lt;br /&gt;
|n ||Secondary narrow gauge rail (e.g. when providing both metre and cape gauge, always use N in case of just one type of narrow gauge)&lt;br /&gt;
|-&lt;br /&gt;
|D ||Dual gauge rail, standard/broad gauge&lt;br /&gt;
|-&lt;br /&gt;
|d ||Dual gauge rail, standard/narrow gauge&lt;br /&gt;
|-&lt;br /&gt;
|M ||Monorail&lt;br /&gt;
|-&lt;br /&gt;
|L ||Magnetic Levitation&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Speed limit class [*X**] ===&lt;br /&gt;
The second position in the railtype label defines the speed limit class. These classes do not map to a fixed numeric value, but are used to define an internal speed limit order for the track set. This means that if your track set has two different speed limits for track types that are otherwise identical, you&#039;ll use letters A and B here. In case of three different speed limits, use A, B and C. In case your track set does not employ speed limits, always use A. Train sets do not care about the speed limit, and will always set the lowest speed class, i.e. A.&lt;br /&gt;
&lt;br /&gt;
This gives for instance the following options:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||no speed limits&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;OR&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||low speed&lt;br /&gt;
|-&lt;br /&gt;
|B ||high speed&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;OR&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||low speed&lt;br /&gt;
|-&lt;br /&gt;
|B ||medium speed&lt;br /&gt;
|-&lt;br /&gt;
|C ||high speed&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;etc.&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear:left;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The speed limit class may also be used for some advanced features of the label scheme, like specialized track types and eyecandy purposes. Be careful not to break the compatibility with other sets when using the speed limit class for these purposes.&lt;br /&gt;
&lt;br /&gt;
An example of a special use is rack rail. In the French set it is used to give rack rail engines a higher speed and TE than normal rail engines when used on rack rail. When defining trains with a special speed limit class, always allow a fallback to speed limit class A via the railtype table.&lt;br /&gt;
&lt;br /&gt;
An example of eyecandy use are urban tracks. These are a variation of regular tracks, but with concrete ground tiles to better match the urban environment. Train sets must not define vehicles for eyecandy classes. If you think you have special vehicles that should only run on the eyecandy class, it is &#039;&#039;not&#039;&#039; eyecandy but a separate track gauge/type.&lt;br /&gt;
&lt;br /&gt;
The following special and eyecandy classes have been defined so far:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Description !!Type !!Used by&lt;br /&gt;
|- &lt;br /&gt;
|A-H ||speed limits ||colspan=&amp;quot;2&amp;quot;|reserved&lt;br /&gt;
|- &lt;br /&gt;
|R ||rack rail ||special ||French Set Rails &lt;br /&gt;
|- &lt;br /&gt;
|S ||subterranean ||eyecandy ||Metro Track Set&lt;br /&gt;
|- &lt;br /&gt;
|U ||urban ||eyecandy ||Metro Track Set&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Axle load class [**X*] ===&lt;br /&gt;
The third position defines the axle weight limit. Heavy trains cannot run on tracks with a low axle weight limit; these trains need more expensive tracks with a heigher weight limit. There are five axle load classes &#039;&#039;&#039;A&#039;&#039;&#039; through &#039;&#039;&#039;E&#039;&#039;&#039;. &#039;&#039;&#039;A&#039;&#039;&#039; is for the lowest axle load limit, &#039;&#039;&#039;E&#039;&#039;&#039; for the highest. The exact axle load attached to each class is relative to the track gauge/type and trains in the set. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A train set should set the appropriate axle weight for each train via the railtype label, as to make the set work with track sets that do provide tracks with different weight limits, even if you don&#039;t care about it for your trainset. Split all vehicles of a certain track gauge/type into five groups of similar axle weight. The group with the lowest axle weights will get class &#039;&#039;&#039;A&#039;&#039;&#039;, the second lowest class &#039;&#039;&#039;B&#039;&#039;&#039;, etc. up to the group with the highest axle weights which will get class &#039;&#039;&#039;E&#039;&#039;&#039;. Do the same for the other track gauge/types if your train set has those.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A track set does not have to provide a dedicated track type for each axle weight limit. A track set that does not provide a dedicated track for each axle load class, must make sure to map all undefined axle load classes to a real railtype using property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]]. This way a train set can rely on all labels for all axle load classes being available. Example: if you only want to provide 2 axle load classes for standard gauge unelectrified with no speed limits, you can map SA&#039;&#039;&#039;A&#039;&#039;&#039;N + SA&#039;&#039;&#039;B&#039;&#039;&#039;N to SA&#039;&#039;&#039;C&#039;&#039;&#039;N and SA&#039;&#039;&#039;D&#039;&#039;&#039;N to SA&#039;&#039;&#039;E&#039;&#039;&#039;N if the cost difference between the two railtypes is high, or SA&#039;&#039;&#039;A&#039;&#039;&#039;N to SA&#039;&#039;&#039;B&#039;&#039;&#039;N and SA&#039;&#039;&#039;C&#039;&#039;&#039;N + SA&#039;&#039;&#039;D&#039;&#039;&#039;N to SA&#039;&#039;&#039;E&#039;&#039;&#039;N if the cost difference is low.&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t want to provide any axle load classes in your track set, it doesn&#039;t really matter what axle load class you choose for the track, as you&#039;ll be mapping all other classes to this track anyways. But the lowest or highest class are the obvious choice. Example: if your track set only provides narrow gauge unelectrified track with no speed limits and no axle load limits, you may use NA&#039;&#039;&#039;A&#039;&#039;&#039;N for the track label, and provide NA&#039;&#039;&#039;B&#039;&#039;&#039;N, NA&#039;&#039;&#039;C&#039;&#039;&#039;N, NA&#039;&#039;&#039;D&#039;&#039;&#039;N, NA&#039;&#039;&#039;E&#039;&#039;&#039;N in property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you need more than five axle load class, you may use lowercase letters for very low axle loads and continue the uppercase letters for very high axle loads. Be advised that your train set may not assume the existance of any other class than &#039;&#039;&#039;A&#039;&#039;&#039; through &#039;&#039;&#039;E&#039;&#039;&#039;, so when the range make sure to program your railtype table such that trains with such a class will fall back to class &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;E&#039;&#039;&#039;. If you make a track set with an extended range, be aware that not all train sets will define trains for these tracks. In general: only do this in case of a train set with a matching track set.&lt;br /&gt;
&lt;br /&gt;
For the lowercase letters, &#039;&#039;&#039;b&#039;&#039;&#039; is lower than &#039;&#039;&#039;a&#039;&#039;&#039;, so for increasing axle load limits: b &amp;lt; a &amp;lt; A &amp;lt; B &amp;lt; C etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that the axle load classes never map to a specific weight in tonnes. For that reason it does not make sense to add a numeric value for the axle load to the name of a track type or in the extended purchase info of a train. Instead use the relative expressions &#039;very low&#039;, &#039;low&#039;, &#039;medium&#039;, &#039;high&#039; and &#039;very high&#039; or use the class letters directly.&lt;br /&gt;
&lt;br /&gt;
=== Energy source type class [***X] ===&lt;br /&gt;
The last position defines the energy source type class. This is split in generic energy source types like overhead wires and third rail and specialized types like alternating and direct current.&lt;br /&gt;
&lt;br /&gt;
A track set that only uses specialized types, should map the generic types to the most suitable specialized type in the set.&lt;br /&gt;
&lt;br /&gt;
A vehicle set that uses specialized types should define a generic type as fallback, via the railtype table. If such a fallback is omitted, please note that certain vehicles may be unavailable depending on track set loaded.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Generic energy type classes&lt;br /&gt;
|-&lt;br /&gt;
|N ||no electrification&lt;br /&gt;
|-&lt;br /&gt;
|E ||overhead wires/catenary electrification&lt;br /&gt;
|-&lt;br /&gt;
|3 ||3rd rail electrification&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Specialized energy type classes !!Vehicle set fallback&lt;br /&gt;
|-&lt;br /&gt;
|Z ||3rd rail and catenary electrification || 3 or E&lt;br /&gt;
|-&lt;br /&gt;
|4 ||4th rail electrification || 3&lt;br /&gt;
|-&lt;br /&gt;
|Y ||4th rail and catenary electrification || 4 or E&lt;br /&gt;
|-&lt;br /&gt;
|T ||[http://en.wikipedia.org/wiki/Three-phase_AC_railway_electrification three phase AC electrification] || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|D ||DC catenary electrification || E&lt;br /&gt;
|-&lt;br /&gt;
|d ||low voltage DC catenary electrification (only when D also used in set) || First A then E&lt;br /&gt;
|-&lt;br /&gt;
|A ||AC catenary electrification || E&lt;br /&gt;
|-&lt;br /&gt;
|a ||low voltage AC catenary electrification (only when A also used in set) || First A then E&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
If you want multi-voltage/current vehicles in your set (i.e. a train that can run on both AC and DC current), you have to define a dedicated railtype for those vehicles. Without the railtype, it&#039;s not possible to define vehicles with this property. If you only have vehicles that can run on either one type of voltage/current or on all types of voltage/current (e.g. a 2-system if you only have &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;D&#039;&#039;&#039; tracks, or a 4-system in case of all &#039;&#039;&#039;A&#039;&#039;&#039;, &#039;&#039;&#039;a&#039;&#039;&#039;, &#039;&#039;&#039;D&#039;&#039;&#039; and &#039;&#039;&#039;d&#039;&#039;&#039;), then use the generic class &#039;&#039;&#039;E&#039;&#039;&#039; for vehicles that should be able to run on all different voltage/currents. Also the track set needs to have one at least one railtype with class &#039;&#039;&#039;E&#039;&#039;&#039; defined.&lt;br /&gt;
&lt;br /&gt;
Note that if you want more than one type of multi-voltage/current, you&#039;ll quickly get a combinatory explosion of railtype labels, so plan carefully or do not attempt it. For every different multi-voltage/current vehicle type a dedicated railtype is needed. If you want all possible combinations, then you need to define an additional 8 classes. It is not recommended to make your train/track set this complicated.&lt;br /&gt;
&lt;br /&gt;
Example approach for a 4-system set, with trains that can run on either one or all systems:&lt;br /&gt;
* &#039;&#039;&#039;E&#039;&#039;&#039;: generic catenary-powered electric engines. &amp;quot;universal&amp;quot; [4-system] if any of &#039;&#039;&#039;D&#039;&#039;&#039;/&#039;&#039;&#039;d&#039;&#039;&#039;/&#039;&#039;&#039;A&#039;&#039;&#039;/&#039;&#039;&#039;a&#039;&#039;&#039; are defined.&lt;br /&gt;
* &#039;&#039;&#039;A&#039;&#039;&#039;: generic AC catenary electric engines. 25kV only if &#039;&#039;&#039;a&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;A&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;a&#039;&#039;&#039;: 15kV AC catenary electric engines. Only defined if &#039;&#039;&#039;A&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;a&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;D&#039;&#039;&#039;: generic DC catenary electric engines. 3kV if &#039;&#039;&#039;d&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;D&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;d&#039;&#039;&#039;: 1.5kV DC catenary electric engines. Only defined if &#039;&#039;&#039;D&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;D&#039;&#039;&#039; and &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;d&#039;&#039;&#039;.&lt;br /&gt;
For a 2-system set, you can simply drop &#039;&#039;&#039;a&#039;&#039;&#039; and &#039;&#039;&#039;d&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Standard labels: RAIL, ELRL, MONO, MGLV ===&lt;br /&gt;
It&#039;s not possible to undefine the standard railtypes RAIL, ELRL, MONO and MGLV. The game will always add those if there are vehicles defined for these track types. As a result, for a track set it&#039;s best not to ignore those standard labels, but rather work with them and define them in the set. If your track set does not have monorail or maglev tracks, there of course is no need to define those. But if your track set defines anything that resembles unelectrified or electrified rail, you should use the RAIL and ELRL labels. Matching labels from the above scheme will then be defined in property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
As vehicles from NewGRFs that do not use explicit railtypes will end up on these standard railtypes, you should use RAIL instead of whatever type could be regarded as the most commonly used unelectrified type, ELRL instead of the most commonly used electrified type and so on. The label according to this scheme is then set as an alternate.&lt;br /&gt;
&lt;br /&gt;
== Summary for track sets ==&lt;br /&gt;
This section summarizes the above for track sets.&lt;br /&gt;
&lt;br /&gt;
; [X***] Track gauge and type class&lt;br /&gt;
* Define at least one track type for every track gauge/type class you want in your set.&lt;br /&gt;
* If you only provide tracks for one gauge/type, consider leaving some free railtypes so a player can load an additional set for some other type.&lt;br /&gt;
; [*X**] Speed limit class&lt;br /&gt;
* Make sure class A is always available, either directly or via an alternate label.&lt;br /&gt;
* Use only class A if you don&#039;t want speed limits;&lt;br /&gt;
* With speed limits, A is the lowest speed limit. Continue with B, C, etc. for increasing speed limits;&lt;br /&gt;
* The speed class can also be used to implement additional eye-candy track types, use letters higher in the alphabet for this.&lt;br /&gt;
; [**X*] Axle load class&lt;br /&gt;
* Always define all classes A through E for every track type class / electrification combination, either:&lt;br /&gt;
** Directly via a real railtype definition;&lt;br /&gt;
** Indirectly via the alternate rail type label list, property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
* Extend the predefined classes only if you also provide a train set that makes use of these.&lt;br /&gt;
; [***X] Energy source type class&lt;br /&gt;
* If your set only uses specialized classes, always map the generic classes to the closest matching specialized type via property 1D.&lt;br /&gt;
; Standard labels [RAIL, ELRL, MONO, MGLV]&lt;br /&gt;
* Always define the standard labels when possible, instead of what would be the equivalent of the standard label in this scheme.&lt;br /&gt;
* Map the equivalent labels from this scheme to the standard labels using property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
Or, put differently, for each gauge/type, select one or more energy source types. For each type/energy combination provide all axle load classes for the speed class &amp;quot;A&amp;quot;, either as a real type or as an alternate of another type. Provide more types with a different speed letter if you want to provide several different speeds or other eye-candy tracks.&lt;br /&gt;
&lt;br /&gt;
== Summary for train sets ==&lt;br /&gt;
This section summarizes the above for train sets.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; [X***] Track gauge and type class&lt;br /&gt;
* Use the track type class that matches the vehicle;&lt;br /&gt;
* Define a fallback type via the railtype table in case you want the vehicle to be available on a different track if no matching track set is loaded.&lt;br /&gt;
** Specialized subtypes like &amp;quot;n&amp;quot; might not always be available. If you want those vehicles to be still available then, fall back the the generic class (e.g. &amp;quot;N&amp;quot;).&lt;br /&gt;
; [*X**] Speed limit class &lt;br /&gt;
* Always use class A for every vehicle.&lt;br /&gt;
; [**X*] Axle load class&lt;br /&gt;
* Use all classes A through E according to the maximum axle weight of the vehicle.&lt;br /&gt;
* Extend the predefined classes only if you also provide a track set that makes use of these;&lt;br /&gt;
** When extending the predefined classes A through E, define a fallback type via the railtype table in case you want the vehicle to be available if no matching track set is loaded.&lt;br /&gt;
; [***X] Energy source type class&lt;br /&gt;
* Use the energy source type class that matches the vehicle;&lt;br /&gt;
* When using specialized classes, define a fallback type via the railtype table in case you want the vehicle to be available if no matching track set is loaded.&lt;br /&gt;
; Standard labels [RAIL, ELRL, MONO, MGLV]&lt;br /&gt;
* Define a fallback type to the standard labels via the railtype table in case you want the vehicle to be available on the standard tracks if no matching track set is loaded.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Be as specific as you want when selecting the railtype, it is the job of the track set to select a playable, reduced subset out of all possible type combinations.&lt;br /&gt;
&lt;br /&gt;
== In case you&#039;re not convinced by this scheme ==&lt;br /&gt;
Adopting this scheme gives the player freedom to use any track set in combination with any train set that follow the scheme. &lt;br /&gt;
&lt;br /&gt;
This means that you can make your train set compatible with track sets that provide axle load classes, and track sets that provide speed limits, and at the same time with track sets that provide none of this. This way, the player can decide to play with or without axle load classes, or with or without speed limits, simply by loading a track set that does or does not provide these features.&lt;br /&gt;
&lt;br /&gt;
And for your track set, it means that you can make it as simple or as complicated as you want (within the 64 track type limit), while not having to worry about compatibility with train sets.&lt;br /&gt;
&lt;br /&gt;
Still not convinced? Feel free to use railtype labels of your own, but know that you will likely come to regret that at some point in the future.&lt;br /&gt;
&lt;br /&gt;
==Forum topic==&lt;br /&gt;
If you want to discuss the standardized railtype scheme or have any questions about it, you can visit [http://www.tt-forums.net/viewtopic.php?t=59379 the forum topic].&lt;br /&gt;
&lt;br /&gt;
==&amp;quot;Innsbruck 2022 Convention&amp;quot; for partial compliance==&lt;br /&gt;
&lt;br /&gt;
This is really esoteric, but eh. It was the product of long discussion / debate / argument / reasoning between grf authors.&lt;br /&gt;
&lt;br /&gt;
1. The Standardized Railtype Scheme &#039;&#039;&#039;is a useful tool&#039;&#039;&#039; for providing reliable compatibility between train grfs and railtype grfs.&lt;br /&gt;
&lt;br /&gt;
2. The &#039;&#039;&#039;axle load class&#039;&#039;&#039; in the scheme presents a number of issues for compliance.&lt;br /&gt;
&lt;br /&gt;
2.1. Over 10 years since the scheme was standardised, not many train grfs implement multiple axle load classes &#039;&#039;&#039;as required by the scheme&#039;&#039;&#039;.  Known examples that &#039;&#039;&#039;do&#039;&#039;&#039; comply include Dutch Train Set, French Narrow Gauge Trains, and Finnish Trains.&lt;br /&gt;
&lt;br /&gt;
2.2. Elements of the axle load rules have proven hard to interpret.  For example:&lt;br /&gt;
&lt;br /&gt;
* is it compliant to use &#039;&#039;fewer&#039;&#039; than 5 classes in a train grf?  There is a lack of consensus on this.&lt;br /&gt;
* axle load is only one of many factors that govern whether a vehicle is compatible with a route, for example loading gauge, minimum curve, signalling types etc&lt;br /&gt;
&lt;br /&gt;
2.3. Meanwhile &#039;&#039;multiple existing train grfs use class &#039;&#039;A&#039;&#039; for the axle load for all trains&#039;&#039; (except where relying on default railtypes such as RAIL and ELRL).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3. The Innsbruck 2022 Convention uses class &#039;&#039;A&#039;&#039; for axle load for &#039;&#039;&#039;all&#039;&#039;&#039; trains in a train grf (except where relying on default railtypes such as RAIL and ELRL).&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is &#039;&#039;&#039;not&#039;&#039;&#039; fully compliant with the Standardized Railtype Scheme and does not claim to be.&lt;br /&gt;
&lt;br /&gt;
However train grfs using the Innsbruck 2022 Convention are &#039;&#039;broadly compatible&#039;&#039; with railtype grfs using the Standardized Railtype Scheme.  &lt;br /&gt;
&lt;br /&gt;
Obligatory XKCD link about &#039;standards&#039;: https://xkcd.com/927/&lt;br /&gt;
&lt;br /&gt;
===Known issues===&lt;br /&gt;
&lt;br /&gt;
Known problems are that trains using only class &#039;A&#039; may limit the ability of railtype grf authors to achieve their design goals for separating railtypes by axle load.  &lt;br /&gt;
But on reflection, it can be seen that a train grf might not be able to provide a broad enough range of vehicles to cover at least 5 axle load classes.&lt;br /&gt;
&lt;br /&gt;
3.1. The Innsbruck 2022 Convention is &#039;&#039;&#039;not&#039;&#039;&#039; appropriate for train grf authors who wish to provide more than one axle load class.&lt;br /&gt;
&lt;br /&gt;
3.2. The Innsbruck 2022 Convention treats the meaning of class &#039;&#039;A&#039;&#039; as &#039;&#039;undefined&#039;&#039;, &#039;&#039;ignored&#039;&#039; or &#039;&#039;compatible with most restricted railtype&#039;&#039; for axle load.  &lt;br /&gt;
&lt;br /&gt;
Axle load class &#039;&#039;A&#039;&#039; &#039;&#039;&#039;cannot&#039;&#039;&#039; be safely interpreted as &#039;&#039;universal&#039;&#039; because from the perspective of a railtype grf &#039;&#039;A&#039;&#039; is &#039;&#039;most restricted railtype&#039;&#039;, where &#039;&#039;universal&#039;&#039; is better represented as &#039;&#039;least restricted railtype&#039;&#039;. Depending how many axle load classes are in use by the railtype grf, this could be class &#039;&#039;B&#039;&#039;, &#039;&#039;C&#039;&#039;, &#039;&#039;D&#039;&#039;, &#039;&#039;E&#039;&#039; etc.  To illustrate this issue, take the following scenario&lt;br /&gt;
&lt;br /&gt;
* railtype grf defines axle loads &#039;&#039;A&#039;&#039; to &#039;&#039;E&#039;&#039;. In this case the railtype grf author intends that &#039;&#039;A&#039;&#039; is compatible with the smallest range of vehicles, &#039;&#039;E&#039;&#039; is compatible with the largest range of vehicles, and &#039;&#039;B&#039;&#039;, &#039;&#039;C&#039;&#039; and &#039;&#039;D&#039;&#039; are compatible with some intermediate ranges of vehicles&lt;br /&gt;
* but the vehicle grf author has defined all vehicles to be axle load &#039;&#039;A&#039;&#039; in an attempt to express this vehicle is &#039;&#039;universal&#039;&#039;.  The result in the game is that an identical range of vehicles will be compatible with railtypes &#039;&#039;A&#039;&#039; to &#039;&#039;E&#039;&#039;.  &lt;br /&gt;
&lt;br /&gt;
This is clearly &#039;&#039;&#039;not&#039;&#039;&#039; the intended outcome of the railtype author. But nor is it clear within the spec that the vehicle author has particularly done anything wrong. &lt;br /&gt;
&lt;br /&gt;
It &#039;&#039;would&#039;&#039; be possible to use railtype availability testing to adjust the vehicle property 05 (track_type) to fit the highest defined axle load (&#039;&#039;E&#039;&#039; in this example case), but this is not insignificant work, and it&#039;s unlikely to be widely adopted by vehicle grf authors.  Nor would this solution achieve &#039;&#039;universal&#039;&#039; as all vehicles in vehicle grf then would be incompatible with types &#039;&#039;A&#039;&#039; through &#039;&#039;D&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
3.3. When the Innsbruck 2022 Convention is used, this &#039;&#039;&#039;does not prevent&#039;&#039;&#039; a train grf being extended in some future release to achieve full compliance with Standardized Railtype Scheme. &#039;&#039;That choice remains with train grf authors&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
3.4. If 2012 could be revisited, providing an optional &#039;&#039;_&#039;&#039; axle load class in the Standardized Railtype Scheme for &#039;&#039;undefined&#039;&#039; would have been preferable, but as of 2022, &#039;&#039;A&#039;&#039; is already widely used for this purpose, and time travel is not known to be possible.&lt;br /&gt;
&lt;br /&gt;
==Extended multivoltage support addition==&lt;br /&gt;
These are extensions to the energy source type class currently supported by SETS and xUSSR Rails which allow trainsets to code trains which are limited to a certain selection of voltages. As stated in the energy source type class section this might not be of use for all sets, as such it is optional but still recommended for trainsets for ideal functionality with tracksets which support the extended labels.&lt;br /&gt;
{|&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Specialized energy type classes !!Vehicle set fallback&lt;br /&gt;
|-&lt;br /&gt;
|* ||Equivilent to A, a, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|&#039; ||Equivilent to A, a and D || E&lt;br /&gt;
|-&lt;br /&gt;
|^ ||Equivilent to A, a and d || E&lt;br /&gt;
|-&lt;br /&gt;
|_ ||Equivilent to A, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
|, ||Equivilent to a, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|$ ||Equivilent to A and a  || First A then E&lt;br /&gt;
|-&lt;br /&gt;
|= ||Equivilent to D and d  || First D then E&lt;br /&gt;
|-&lt;br /&gt;
|) ||Equivilent to A and D  || E&lt;br /&gt;
|-&lt;br /&gt;
|( ||Equivilent to A and d  || E&lt;br /&gt;
|-&lt;br /&gt;
|] ||Equivilent to a and D  || E&lt;br /&gt;
|-&lt;br /&gt;
|[ ||Equivilent to a and d  || E&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Possible additions==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Track type/gauge&lt;br /&gt;
|-&lt;br /&gt;
|0 ||(A number zero, not a letter &amp;quot;Oh&amp;quot;) No track, eyecandy-use only&lt;br /&gt;
|-&lt;br /&gt;
|1 ||Early Monorail; See [https://perma.cc/6BVS-2P2X here] and [https://perma.cc/VCG2-ATUA here]&lt;br /&gt;
|-&lt;br /&gt;
|m ||Minimum gauge rail; [https://en.wikipedia.org/wiki/Minimum-gauge_railway 15 in (381 mm), 400 mm (15+3⁄4 in), 16 in (406 mm), 18 in (457 mm), 19 in (483 mm), 500 mm (19+3⁄4 in) or 20 in (508 mm)]&lt;br /&gt;
|-&lt;br /&gt;
|n ||600mm &amp;quot;Decauville&amp;quot; or &amp;quot;Feldsbahn&amp;quot;, formerly labelled &amp;quot;NG60&amp;quot; before standardization; the most common narrow gauge track type in OpenTTD other than metre gauge, 600mm gauge is thus ideal for taking up the &amp;quot;n&amp;quot; gauge, though this is an ultimately optional distinction&lt;br /&gt;
|-&lt;br /&gt;
|7 ||750mm, Bosnian gauge (760 mm), and 762mm; all start with 7 and are close in size&lt;br /&gt;
|-&lt;br /&gt;
|3 ||Swedish 3 foot (891 mm), 900mm, 3 foot (914 mm) and Italian Metre (950mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|R ||Metre gauge; potentially compatible with base tramtype &amp;quot;RABN&amp;quot;, most early tramways were metre gauge&lt;br /&gt;
|-&lt;br /&gt;
|4 ||4 foot gauge (1219 mm), and possibly 4&#039;6&amp;quot; in. (1372 mm) if standardization is needed for 1372mm&lt;br /&gt;
|-&lt;br /&gt;
|s ||Scotch gauge (1372 mm)&lt;br /&gt;
|-&lt;br /&gt;
|S ||Standard gauge; already implemented in original standardized railtype scheme, but could include near-standard (1432 mm) as well as existing true standard (1435 mm) and is also potentially compatible with the SABN tramtype&lt;br /&gt;
|-&lt;br /&gt;
|X ||Omni-gauge rail (for at-grade multi-gauge crossings and stations); ultrabroad/secondary broad/primary broad/standard/primary narrow/secondary narrow gauge&lt;br /&gt;
|-&lt;br /&gt;
|x ||Multi-gauge rail (for at-grade multi-gauge crossings and stations); secondary broad/primary broad/standard/primary narrow/secondary narrow&lt;br /&gt;
|-&lt;br /&gt;
|+ ||Three-gauge rail (for at-grade multi-gauge crossings and stations); primary broad/standard/primary narrow&lt;br /&gt;
|-&lt;br /&gt;
|b ||Broad gauge rail - As broad gauge is a rare tracktype, it may still be feasible to cement B and b as broad gauges of two differing sizes, but the rarity among gauges in the real world would need to match; Italian (1445 mm) and Dresden (1450 mm) gauges may be better grouped here&lt;br /&gt;
|-&lt;br /&gt;
|t ||Leipzig trams (1458 mm) and Greater Toronto Area streetcars (1495 mm)&lt;br /&gt;
|-&lt;br /&gt;
|5 ||1520mm and 5 foot (1524 mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|V ||Pennsylvanian (1581 mm and 1588 mm) and Australian &amp;quot;Victorian&amp;quot; (1600 mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|6 ||6 foot (1829 mm) broad gauge&lt;br /&gt;
|-&lt;br /&gt;
|g ||Brunel&#039;s Great Western Railway gauge (2140 mm)&lt;br /&gt;
|-&lt;br /&gt;
|B ||Broad gauge rail - As broad gauge is a rare tracktype, and the variation in common real life track types too wide, it may be desirable to cement B and b as broad gauges of two differing sizes; With no real life examples that match the usage frequency of &amp;quot;B&amp;quot;, the gauge might best draw inspiration from the infamous [https://en.wikipedia.org/wiki/Breitspurbahn Breitspurbahn] (3000 mm) and [https://perma.cc/KQ2Z-5RCR the never-built vehicles designed for it]&lt;br /&gt;
|-&lt;br /&gt;
|L ||Maglevs that have a u-shaped track&lt;br /&gt;
|-&lt;br /&gt;
|T ||Maglevs that have a monorail track&lt;br /&gt;
|-&lt;br /&gt;
|F ||Flightrail; A [https://web.archive.org/web/20231213122530/http://www.flightrail.com/ system capable of high speeds and steep hill grades] that uses a pneumatic pipe for propulsion (see &amp;quot;P&amp;quot; under energy sources), and &#039;&#039;wheels pointed inwards at a 45-degree angle&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
It might be preferred to instead use/keep &amp;quot;B&amp;quot; for &amp;quot;all (current) broad gauges&amp;quot; (mostly Victorian gauge) instead using lowercase &amp;quot;b&amp;quot; for Brunel/GWR broad gauge. This wouldn&#039;t be to different from narrow gauge since the lesser used ones are lowercase and fallback to the uppercase ones.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Electrification !!Fallback&lt;br /&gt;
|-&lt;br /&gt;
|S ||Maglevs that use a synchronous linear motor ||N/A&lt;br /&gt;
|-&lt;br /&gt;
|I ||Maglevs that use a linear induction motor ||MGLV (the whole label)&lt;br /&gt;
|-&lt;br /&gt;
|t ||&amp;quot;Universal custom tunnel&amp;quot; (for electrified sub-surface rail tunnels) ||E (mandatory)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt; ||Universal energy type (&#039;&#039;not&#039;&#039; meant to replace &amp;quot;***N&amp;quot;; use for vehicles such as driving cabs which cannot move under their own power regardless, if desired) ||N/A (Be sure to put &amp;quot;***E&amp;quot; in the [[NML:Roadtypes#Roadtype_properties|alternative_roadtype_list (NML)]] of a &amp;quot;***-&amp;quot; label)&lt;br /&gt;
|-&lt;br /&gt;
|P ||Pneumatic tube with physical piston slit, or closed pneumatic tube with magnetic piston (i.e. that used by [https://web.archive.org/web/20231213122530/http://www.flightrail.com/ Flightrail]) ||N/A&lt;br /&gt;
|-&lt;br /&gt;
|p ||Pneumatic and universal electrical power ||N/A (Be sure to put &amp;quot;***_&amp;quot; and ***P&amp;quot; in the [[NML:Roadtypes#Roadtype_properties|alternative_roadtype_list (NML)]] of a &amp;quot;***p&amp;quot; label)&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Lurkmore</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=Standardized_Railtype_Scheme&amp;diff=4726</id>
		<title>Standardized Railtype Scheme</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=Standardized_Railtype_Scheme&amp;diff=4726"/>
		<updated>2024-02-27T12:19:14Z</updated>

		<summary type="html">&lt;p&gt;Lurkmore: /* Possible additions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This railtype label scheme aims to bring order to the uncontrolled growth of railtype labels. It groups the rail types into what matters from a technical perspective. The scheme provides a standardized way of defining railtype labels, based on track gauge and type, speed class, allowable axle weight and electrification type.&lt;br /&gt;
&lt;br /&gt;
It is the explicit intent of this scheme to decouple track sets from vehicle sets to facilitate easy mixing. This way the player can select a track set of choice to go with a train set of choice. It allows the player to play with or without axle load classes, or with or without speed limit classes, simply by loading a track set that does or does not provide these features. In some cases it will also be possible to combine niche track sets, for instance a standard gauge track set with a narrow gauge and a metro track set.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== The Label Scheme ==&lt;br /&gt;
A railtype label consists of four characters. In this scheme, each position has a different purpose:&lt;br /&gt;
# Track gauge and type class (e.g. standard gauge rail, narrow gauge rail, monorail)&lt;br /&gt;
# Speed limit class&lt;br /&gt;
# Axle load class (maximum allowed axle weight for this track)&lt;br /&gt;
# Energy source type class&lt;br /&gt;
&lt;br /&gt;
In the next sections, each of the four positions will be explained.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Track gauge and type class [X***] ===&lt;br /&gt;
The first position in the railtype label defines track gauge and/or track type class. The following classes are currently defined:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Track type/gauge&lt;br /&gt;
|- &lt;br /&gt;
|S ||Standard gauge rail&lt;br /&gt;
|-&lt;br /&gt;
|B ||Broad gauge rail &lt;br /&gt;
|-&lt;br /&gt;
|N ||Narrow gauge rail&lt;br /&gt;
|-&lt;br /&gt;
|n ||Secondary narrow gauge rail (e.g. when providing both metre and cape gauge, always use N in case of just one type of narrow gauge)&lt;br /&gt;
|-&lt;br /&gt;
|D ||Dual gauge rail, standard/broad gauge&lt;br /&gt;
|-&lt;br /&gt;
|d ||Dual gauge rail, standard/narrow gauge&lt;br /&gt;
|-&lt;br /&gt;
|M ||Monorail&lt;br /&gt;
|-&lt;br /&gt;
|L ||Magnetic Levitation&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Speed limit class [*X**] ===&lt;br /&gt;
The second position in the railtype label defines the speed limit class. These classes do not map to a fixed numeric value, but are used to define an internal speed limit order for the track set. This means that if your track set has two different speed limits for track types that are otherwise identical, you&#039;ll use letters A and B here. In case of three different speed limits, use A, B and C. In case your track set does not employ speed limits, always use A. Train sets do not care about the speed limit, and will always set the lowest speed class, i.e. A.&lt;br /&gt;
&lt;br /&gt;
This gives for instance the following options:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||no speed limits&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;OR&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||low speed&lt;br /&gt;
|-&lt;br /&gt;
|B ||high speed&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;OR&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||low speed&lt;br /&gt;
|-&lt;br /&gt;
|B ||medium speed&lt;br /&gt;
|-&lt;br /&gt;
|C ||high speed&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;etc.&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear:left;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The speed limit class may also be used for some advanced features of the label scheme, like specialized track types and eyecandy purposes. Be careful not to break the compatibility with other sets when using the speed limit class for these purposes.&lt;br /&gt;
&lt;br /&gt;
An example of a special use is rack rail. In the French set it is used to give rack rail engines a higher speed and TE than normal rail engines when used on rack rail. When defining trains with a special speed limit class, always allow a fallback to speed limit class A via the railtype table.&lt;br /&gt;
&lt;br /&gt;
An example of eyecandy use are urban tracks. These are a variation of regular tracks, but with concrete ground tiles to better match the urban environment. Train sets must not define vehicles for eyecandy classes. If you think you have special vehicles that should only run on the eyecandy class, it is &#039;&#039;not&#039;&#039; eyecandy but a separate track gauge/type.&lt;br /&gt;
&lt;br /&gt;
The following special and eyecandy classes have been defined so far:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Description !!Type !!Used by&lt;br /&gt;
|- &lt;br /&gt;
|A-H ||speed limits ||colspan=&amp;quot;2&amp;quot;|reserved&lt;br /&gt;
|- &lt;br /&gt;
|R ||rack rail ||special ||French Set Rails &lt;br /&gt;
|- &lt;br /&gt;
|S ||subterranean ||eyecandy ||Metro Track Set&lt;br /&gt;
|- &lt;br /&gt;
|U ||urban ||eyecandy ||Metro Track Set&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Axle load class [**X*] ===&lt;br /&gt;
The third position defines the axle weight limit. Heavy trains cannot run on tracks with a low axle weight limit; these trains need more expensive tracks with a heigher weight limit. There are five axle load classes &#039;&#039;&#039;A&#039;&#039;&#039; through &#039;&#039;&#039;E&#039;&#039;&#039;. &#039;&#039;&#039;A&#039;&#039;&#039; is for the lowest axle load limit, &#039;&#039;&#039;E&#039;&#039;&#039; for the highest. The exact axle load attached to each class is relative to the track gauge/type and trains in the set. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A train set should set the appropriate axle weight for each train via the railtype label, as to make the set work with track sets that do provide tracks with different weight limits, even if you don&#039;t care about it for your trainset. Split all vehicles of a certain track gauge/type into five groups of similar axle weight. The group with the lowest axle weights will get class &#039;&#039;&#039;A&#039;&#039;&#039;, the second lowest class &#039;&#039;&#039;B&#039;&#039;&#039;, etc. up to the group with the highest axle weights which will get class &#039;&#039;&#039;E&#039;&#039;&#039;. Do the same for the other track gauge/types if your train set has those.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A track set does not have to provide a dedicated track type for each axle weight limit. A track set that does not provide a dedicated track for each axle load class, must make sure to map all undefined axle load classes to a real railtype using property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]]. This way a train set can rely on all labels for all axle load classes being available. Example: if you only want to provide 2 axle load classes for standard gauge unelectrified with no speed limits, you can map SA&#039;&#039;&#039;A&#039;&#039;&#039;N + SA&#039;&#039;&#039;B&#039;&#039;&#039;N to SA&#039;&#039;&#039;C&#039;&#039;&#039;N and SA&#039;&#039;&#039;D&#039;&#039;&#039;N to SA&#039;&#039;&#039;E&#039;&#039;&#039;N if the cost difference between the two railtypes is high, or SA&#039;&#039;&#039;A&#039;&#039;&#039;N to SA&#039;&#039;&#039;B&#039;&#039;&#039;N and SA&#039;&#039;&#039;C&#039;&#039;&#039;N + SA&#039;&#039;&#039;D&#039;&#039;&#039;N to SA&#039;&#039;&#039;E&#039;&#039;&#039;N if the cost difference is low.&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t want to provide any axle load classes in your track set, it doesn&#039;t really matter what axle load class you choose for the track, as you&#039;ll be mapping all other classes to this track anyways. But the lowest or highest class are the obvious choice. Example: if your track set only provides narrow gauge unelectrified track with no speed limits and no axle load limits, you may use NA&#039;&#039;&#039;A&#039;&#039;&#039;N for the track label, and provide NA&#039;&#039;&#039;B&#039;&#039;&#039;N, NA&#039;&#039;&#039;C&#039;&#039;&#039;N, NA&#039;&#039;&#039;D&#039;&#039;&#039;N, NA&#039;&#039;&#039;E&#039;&#039;&#039;N in property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you need more than five axle load class, you may use lowercase letters for very low axle loads and continue the uppercase letters for very high axle loads. Be advised that your train set may not assume the existance of any other class than &#039;&#039;&#039;A&#039;&#039;&#039; through &#039;&#039;&#039;E&#039;&#039;&#039;, so when the range make sure to program your railtype table such that trains with such a class will fall back to class &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;E&#039;&#039;&#039;. If you make a track set with an extended range, be aware that not all train sets will define trains for these tracks. In general: only do this in case of a train set with a matching track set.&lt;br /&gt;
&lt;br /&gt;
For the lowercase letters, &#039;&#039;&#039;b&#039;&#039;&#039; is lower than &#039;&#039;&#039;a&#039;&#039;&#039;, so for increasing axle load limits: b &amp;lt; a &amp;lt; A &amp;lt; B &amp;lt; C etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that the axle load classes never map to a specific weight in tonnes. For that reason it does not make sense to add a numeric value for the axle load to the name of a track type or in the extended purchase info of a train. Instead use the relative expressions &#039;very low&#039;, &#039;low&#039;, &#039;medium&#039;, &#039;high&#039; and &#039;very high&#039; or use the class letters directly.&lt;br /&gt;
&lt;br /&gt;
=== Energy source type class [***X] ===&lt;br /&gt;
The last position defines the energy source type class. This is split in generic energy source types like overhead wires and third rail and specialized types like alternating and direct current.&lt;br /&gt;
&lt;br /&gt;
A track set that only uses specialized types, should map the generic types to the most suitable specialized type in the set.&lt;br /&gt;
&lt;br /&gt;
A vehicle set that uses specialized types should define a generic type as fallback, via the railtype table. If such a fallback is omitted, please note that certain vehicles may be unavailable depending on track set loaded.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Generic energy type classes&lt;br /&gt;
|-&lt;br /&gt;
|N ||no electrification&lt;br /&gt;
|-&lt;br /&gt;
|E ||overhead wires/catenary electrification&lt;br /&gt;
|-&lt;br /&gt;
|3 ||3rd rail electrification&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Specialized energy type classes !!Vehicle set fallback&lt;br /&gt;
|-&lt;br /&gt;
|Z ||3rd rail and catenary electrification || 3 or E&lt;br /&gt;
|-&lt;br /&gt;
|4 ||4th rail electrification || 3&lt;br /&gt;
|-&lt;br /&gt;
|Y ||4th rail and catenary electrification || 4 or E&lt;br /&gt;
|-&lt;br /&gt;
|T ||[http://en.wikipedia.org/wiki/Three-phase_AC_railway_electrification three phase AC electrification] || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|D ||DC catenary electrification || E&lt;br /&gt;
|-&lt;br /&gt;
|d ||low voltage DC catenary electrification (only when D also used in set) || First A then E&lt;br /&gt;
|-&lt;br /&gt;
|A ||AC catenary electrification || E&lt;br /&gt;
|-&lt;br /&gt;
|a ||low voltage AC catenary electrification (only when A also used in set) || First A then E&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
If you want multi-voltage/current vehicles in your set (i.e. a train that can run on both AC and DC current), you have to define a dedicated railtype for those vehicles. Without the railtype, it&#039;s not possible to define vehicles with this property. If you only have vehicles that can run on either one type of voltage/current or on all types of voltage/current (e.g. a 2-system if you only have &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;D&#039;&#039;&#039; tracks, or a 4-system in case of all &#039;&#039;&#039;A&#039;&#039;&#039;, &#039;&#039;&#039;a&#039;&#039;&#039;, &#039;&#039;&#039;D&#039;&#039;&#039; and &#039;&#039;&#039;d&#039;&#039;&#039;), then use the generic class &#039;&#039;&#039;E&#039;&#039;&#039; for vehicles that should be able to run on all different voltage/currents. Also the track set needs to have one at least one railtype with class &#039;&#039;&#039;E&#039;&#039;&#039; defined.&lt;br /&gt;
&lt;br /&gt;
Note that if you want more than one type of multi-voltage/current, you&#039;ll quickly get a combinatory explosion of railtype labels, so plan carefully or do not attempt it. For every different multi-voltage/current vehicle type a dedicated railtype is needed. If you want all possible combinations, then you need to define an additional 8 classes. It is not recommended to make your train/track set this complicated.&lt;br /&gt;
&lt;br /&gt;
Example approach for a 4-system set, with trains that can run on either one or all systems:&lt;br /&gt;
* &#039;&#039;&#039;E&#039;&#039;&#039;: generic catenary-powered electric engines. &amp;quot;universal&amp;quot; [4-system] if any of &#039;&#039;&#039;D&#039;&#039;&#039;/&#039;&#039;&#039;d&#039;&#039;&#039;/&#039;&#039;&#039;A&#039;&#039;&#039;/&#039;&#039;&#039;a&#039;&#039;&#039; are defined.&lt;br /&gt;
* &#039;&#039;&#039;A&#039;&#039;&#039;: generic AC catenary electric engines. 25kV only if &#039;&#039;&#039;a&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;A&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;a&#039;&#039;&#039;: 15kV AC catenary electric engines. Only defined if &#039;&#039;&#039;A&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;a&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;D&#039;&#039;&#039;: generic DC catenary electric engines. 3kV if &#039;&#039;&#039;d&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;D&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;d&#039;&#039;&#039;: 1.5kV DC catenary electric engines. Only defined if &#039;&#039;&#039;D&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;D&#039;&#039;&#039; and &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;d&#039;&#039;&#039;.&lt;br /&gt;
For a 2-system set, you can simply drop &#039;&#039;&#039;a&#039;&#039;&#039; and &#039;&#039;&#039;d&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Standard labels: RAIL, ELRL, MONO, MGLV ===&lt;br /&gt;
It&#039;s not possible to undefine the standard railtypes RAIL, ELRL, MONO and MGLV. The game will always add those if there are vehicles defined for these track types. As a result, for a track set it&#039;s best not to ignore those standard labels, but rather work with them and define them in the set. If your track set does not have monorail or maglev tracks, there of course is no need to define those. But if your track set defines anything that resembles unelectrified or electrified rail, you should use the RAIL and ELRL labels. Matching labels from the above scheme will then be defined in property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
As vehicles from NewGRFs that do not use explicit railtypes will end up on these standard railtypes, you should use RAIL instead of whatever type could be regarded as the most commonly used unelectrified type, ELRL instead of the most commonly used electrified type and so on. The label according to this scheme is then set as an alternate.&lt;br /&gt;
&lt;br /&gt;
== Summary for track sets ==&lt;br /&gt;
This section summarizes the above for track sets.&lt;br /&gt;
&lt;br /&gt;
; [X***] Track gauge and type class&lt;br /&gt;
* Define at least one track type for every track gauge/type class you want in your set.&lt;br /&gt;
* If you only provide tracks for one gauge/type, consider leaving some free railtypes so a player can load an additional set for some other type.&lt;br /&gt;
; [*X**] Speed limit class&lt;br /&gt;
* Make sure class A is always available, either directly or via an alternate label.&lt;br /&gt;
* Use only class A if you don&#039;t want speed limits;&lt;br /&gt;
* With speed limits, A is the lowest speed limit. Continue with B, C, etc. for increasing speed limits;&lt;br /&gt;
* The speed class can also be used to implement additional eye-candy track types, use letters higher in the alphabet for this.&lt;br /&gt;
; [**X*] Axle load class&lt;br /&gt;
* Always define all classes A through E for every track type class / electrification combination, either:&lt;br /&gt;
** Directly via a real railtype definition;&lt;br /&gt;
** Indirectly via the alternate rail type label list, property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
* Extend the predefined classes only if you also provide a train set that makes use of these.&lt;br /&gt;
; [***X] Energy source type class&lt;br /&gt;
* If your set only uses specialized classes, always map the generic classes to the closest matching specialized type via property 1D.&lt;br /&gt;
; Standard labels [RAIL, ELRL, MONO, MGLV]&lt;br /&gt;
* Always define the standard labels when possible, instead of what would be the equivalent of the standard label in this scheme.&lt;br /&gt;
* Map the equivalent labels from this scheme to the standard labels using property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
Or, put differently, for each gauge/type, select one or more energy source types. For each type/energy combination provide all axle load classes for the speed class &amp;quot;A&amp;quot;, either as a real type or as an alternate of another type. Provide more types with a different speed letter if you want to provide several different speeds or other eye-candy tracks.&lt;br /&gt;
&lt;br /&gt;
== Summary for train sets ==&lt;br /&gt;
This section summarizes the above for train sets.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; [X***] Track gauge and type class&lt;br /&gt;
* Use the track type class that matches the vehicle;&lt;br /&gt;
* Define a fallback type via the railtype table in case you want the vehicle to be available on a different track if no matching track set is loaded.&lt;br /&gt;
** Specialized subtypes like &amp;quot;n&amp;quot; might not always be available. If you want those vehicles to be still available then, fall back the the generic class (e.g. &amp;quot;N&amp;quot;).&lt;br /&gt;
; [*X**] Speed limit class &lt;br /&gt;
* Always use class A for every vehicle.&lt;br /&gt;
; [**X*] Axle load class&lt;br /&gt;
* Use all classes A through E according to the maximum axle weight of the vehicle.&lt;br /&gt;
* Extend the predefined classes only if you also provide a track set that makes use of these;&lt;br /&gt;
** When extending the predefined classes A through E, define a fallback type via the railtype table in case you want the vehicle to be available if no matching track set is loaded.&lt;br /&gt;
; [***X] Energy source type class&lt;br /&gt;
* Use the energy source type class that matches the vehicle;&lt;br /&gt;
* When using specialized classes, define a fallback type via the railtype table in case you want the vehicle to be available if no matching track set is loaded.&lt;br /&gt;
; Standard labels [RAIL, ELRL, MONO, MGLV]&lt;br /&gt;
* Define a fallback type to the standard labels via the railtype table in case you want the vehicle to be available on the standard tracks if no matching track set is loaded.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Be as specific as you want when selecting the railtype, it is the job of the track set to select a playable, reduced subset out of all possible type combinations.&lt;br /&gt;
&lt;br /&gt;
== In case you&#039;re not convinced by this scheme ==&lt;br /&gt;
Adopting this scheme gives the player freedom to use any track set in combination with any train set that follow the scheme. &lt;br /&gt;
&lt;br /&gt;
This means that you can make your train set compatible with track sets that provide axle load classes, and track sets that provide speed limits, and at the same time with track sets that provide none of this. This way, the player can decide to play with or without axle load classes, or with or without speed limits, simply by loading a track set that does or does not provide these features.&lt;br /&gt;
&lt;br /&gt;
And for your track set, it means that you can make it as simple or as complicated as you want (within the 64 track type limit), while not having to worry about compatibility with train sets.&lt;br /&gt;
&lt;br /&gt;
Still not convinced? Feel free to use railtype labels of your own, but know that you will likely come to regret that at some point in the future.&lt;br /&gt;
&lt;br /&gt;
==Forum topic==&lt;br /&gt;
If you want to discuss the standardized railtype scheme or have any questions about it, you can visit [http://www.tt-forums.net/viewtopic.php?t=59379 the forum topic].&lt;br /&gt;
&lt;br /&gt;
==&amp;quot;Innsbruck 2022 Convention&amp;quot; for partial compliance==&lt;br /&gt;
&lt;br /&gt;
This is really esoteric, but eh. It was the product of long discussion / debate / argument / reasoning between grf authors.&lt;br /&gt;
&lt;br /&gt;
1. The Standardized Railtype Scheme &#039;&#039;&#039;is a useful tool&#039;&#039;&#039; for providing reliable compatibility between train grfs and railtype grfs.&lt;br /&gt;
&lt;br /&gt;
2. The &#039;&#039;&#039;axle load class&#039;&#039;&#039; in the scheme presents a number of issues for compliance.&lt;br /&gt;
&lt;br /&gt;
2.1. Over 10 years since the scheme was standardised, not many train grfs implement multiple axle load classes &#039;&#039;&#039;as required by the scheme&#039;&#039;&#039;.  Known examples that &#039;&#039;&#039;do&#039;&#039;&#039; comply include Dutch Train Set, French Narrow Gauge Trains, and Finnish Trains.&lt;br /&gt;
&lt;br /&gt;
2.2. Elements of the axle load rules have proven hard to interpret.  For example:&lt;br /&gt;
&lt;br /&gt;
* is it compliant to use &#039;&#039;fewer&#039;&#039; than 5 classes in a train grf?  There is a lack of consensus on this.&lt;br /&gt;
* axle load is only one of many factors that govern whether a vehicle is compatible with a route, for example loading gauge, minimum curve, signalling types etc&lt;br /&gt;
&lt;br /&gt;
2.3. Meanwhile &#039;&#039;multiple existing train grfs use class &#039;&#039;A&#039;&#039; for the axle load for all trains&#039;&#039; (except where relying on default railtypes such as RAIL and ELRL).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3. The Innsbruck 2022 Convention uses class &#039;&#039;A&#039;&#039; for axle load for &#039;&#039;&#039;all&#039;&#039;&#039; trains in a train grf (except where relying on default railtypes such as RAIL and ELRL).&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is &#039;&#039;&#039;not&#039;&#039;&#039; fully compliant with the Standardized Railtype Scheme and does not claim to be.&lt;br /&gt;
&lt;br /&gt;
However train grfs using the Innsbruck 2022 Convention are &#039;&#039;broadly compatible&#039;&#039; with railtype grfs using the Standardized Railtype Scheme.  &lt;br /&gt;
&lt;br /&gt;
Obligatory XKCD link about &#039;standards&#039;: https://xkcd.com/927/&lt;br /&gt;
&lt;br /&gt;
===Known issues===&lt;br /&gt;
&lt;br /&gt;
Known problems are that trains using only class &#039;A&#039; may limit the ability of railtype grf authors to achieve their design goals for separating railtypes by axle load.  &lt;br /&gt;
But on reflection, it can be seen that a train grf might not be able to provide a broad enough range of vehicles to cover at least 5 axle load classes.&lt;br /&gt;
&lt;br /&gt;
3.1. The Innsbruck 2022 Convention is &#039;&#039;&#039;not&#039;&#039;&#039; appropriate for train grf authors who wish to provide more than one axle load class.&lt;br /&gt;
&lt;br /&gt;
3.2. The Innsbruck 2022 Convention treats the meaning of class &#039;&#039;A&#039;&#039; as &#039;&#039;undefined&#039;&#039;, &#039;&#039;ignored&#039;&#039; or &#039;&#039;compatible with most restricted railtype&#039;&#039; for axle load.  &lt;br /&gt;
&lt;br /&gt;
Axle load class &#039;&#039;A&#039;&#039; &#039;&#039;&#039;cannot&#039;&#039;&#039; be safely interpreted as &#039;&#039;universal&#039;&#039; because from the perspective of a railtype grf &#039;&#039;A&#039;&#039; is &#039;&#039;most restricted railtype&#039;&#039;, where &#039;&#039;universal&#039;&#039; is better represented as &#039;&#039;least restricted railtype&#039;&#039;. Depending how many axle load classes are in use by the railtype grf, this could be class &#039;&#039;B&#039;&#039;, &#039;&#039;C&#039;&#039;, &#039;&#039;D&#039;&#039;, &#039;&#039;E&#039;&#039; etc.  To illustrate this issue, take the following scenario&lt;br /&gt;
&lt;br /&gt;
* railtype grf defines axle loads &#039;&#039;A&#039;&#039; to &#039;&#039;E&#039;&#039;. In this case the railtype grf author intends that &#039;&#039;A&#039;&#039; is compatible with the smallest range of vehicles, &#039;&#039;E&#039;&#039; is compatible with the largest range of vehicles, and &#039;&#039;B&#039;&#039;, &#039;&#039;C&#039;&#039; and &#039;&#039;D&#039;&#039; are compatible with some intermediate ranges of vehicles&lt;br /&gt;
* but the vehicle grf author has defined all vehicles to be axle load &#039;&#039;A&#039;&#039; in an attempt to express this vehicle is &#039;&#039;universal&#039;&#039;.  The result in the game is that an identical range of vehicles will be compatible with railtypes &#039;&#039;A&#039;&#039; to &#039;&#039;E&#039;&#039;.  &lt;br /&gt;
&lt;br /&gt;
This is clearly &#039;&#039;&#039;not&#039;&#039;&#039; the intended outcome of the railtype author. But nor is it clear within the spec that the vehicle author has particularly done anything wrong. &lt;br /&gt;
&lt;br /&gt;
It &#039;&#039;would&#039;&#039; be possible to use railtype availability testing to adjust the vehicle property 05 (track_type) to fit the highest defined axle load (&#039;&#039;E&#039;&#039; in this example case), but this is not insignificant work, and it&#039;s unlikely to be widely adopted by vehicle grf authors.  Nor would this solution achieve &#039;&#039;universal&#039;&#039; as all vehicles in vehicle grf then would be incompatible with types &#039;&#039;A&#039;&#039; through &#039;&#039;D&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
3.3. When the Innsbruck 2022 Convention is used, this &#039;&#039;&#039;does not prevent&#039;&#039;&#039; a train grf being extended in some future release to achieve full compliance with Standardized Railtype Scheme. &#039;&#039;That choice remains with train grf authors&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
3.4. If 2012 could be revisited, providing an optional &#039;&#039;_&#039;&#039; axle load class in the Standardized Railtype Scheme for &#039;&#039;undefined&#039;&#039; would have been preferable, but as of 2022, &#039;&#039;A&#039;&#039; is already widely used for this purpose, and time travel is not known to be possible.&lt;br /&gt;
&lt;br /&gt;
==Extended multivoltage support addition==&lt;br /&gt;
These are extensions to the energy source type class currently supported by SETS and xUSSR Rails which allow trainsets to code trains which are limited to a certain selection of voltages. As stated in the energy source type class section this might not be of use for all sets, as such it is optional but still recommended for trainsets for ideal functionality with tracksets which support the extended labels.&lt;br /&gt;
{|&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Specialized energy type classes !!Vehicle set fallback&lt;br /&gt;
|-&lt;br /&gt;
|* ||Equivilent to A, a, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|&#039; ||Equivilent to A, a and D || E&lt;br /&gt;
|-&lt;br /&gt;
|^ ||Equivilent to A, a and d || E&lt;br /&gt;
|-&lt;br /&gt;
|_ ||Equivilent to A, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
|, ||Equivilent to a, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|$ ||Equivilent to A and a  || First A then E&lt;br /&gt;
|-&lt;br /&gt;
|= ||Equivilent to D and d  || First D then E&lt;br /&gt;
|-&lt;br /&gt;
|) ||Equivilent to A and D  || E&lt;br /&gt;
|-&lt;br /&gt;
|( ||Equivilent to A and d  || E&lt;br /&gt;
|-&lt;br /&gt;
|] ||Equivilent to a and D  || E&lt;br /&gt;
|-&lt;br /&gt;
|[ ||Equivilent to a and d  || E&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Possible additions==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Track type/gauge&lt;br /&gt;
|-&lt;br /&gt;
|0 ||(A number zero, not a letter &amp;quot;Oh&amp;quot;) No track, eyecandy-use only&lt;br /&gt;
|-&lt;br /&gt;
|1 ||Early Monorail; See [https://perma.cc/6BVS-2P2X here] and [https://perma.cc/VCG2-ATUA here]&lt;br /&gt;
|-&lt;br /&gt;
|m ||Minimum gauge rail; [https://en.wikipedia.org/wiki/Minimum-gauge_railway 15 in (381 mm), 400 mm (15+3⁄4 in), 16 in (406 mm), 18 in (457 mm), 19 in (483 mm), 500 mm (19+3⁄4 in) or 20 in (508 mm)]&lt;br /&gt;
|-&lt;br /&gt;
|n ||600mm &amp;quot;Decauville&amp;quot; or &amp;quot;Feldsbahn&amp;quot;, formerly labelled &amp;quot;NG60&amp;quot; before standardization; the most common narrow gauge track type in OpenTTD other than metre gauge, 600mm gauge is thus ideal for taking up the &amp;quot;n&amp;quot; gauge, though this is an ultimately optional distinction&lt;br /&gt;
|-&lt;br /&gt;
|7 ||750mm, Bosnian gauge (760 mm), and 762mm; all start with 7 and are close in size&lt;br /&gt;
|-&lt;br /&gt;
|3 ||Swedish 3 foot (891 mm), 900mm, 3 foot (914 mm) and Italian Metre (950mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|R ||Metre gauge; potentially compatible with base tramtype &amp;quot;RABN&amp;quot;, most early tramways were metre gauge&lt;br /&gt;
|-&lt;br /&gt;
|4 ||4 foot gauge (1219 mm), and possibly 4&#039;6&amp;quot; in. (1372 mm) if standardization is needed for 1372mm&lt;br /&gt;
|-&lt;br /&gt;
|s ||Scotch gauge (1372 mm)&lt;br /&gt;
|-&lt;br /&gt;
|S ||Standard gauge; already implemented in original standardized railtype scheme, but could include near-standard (1432 mm) as well as existing true standard (1435 mm) and is also potentially compatible with the SABN tramtype&lt;br /&gt;
|-&lt;br /&gt;
|X ||Omni-gauge rail (for at-grade multi-gauge crossings and stations); ultrabroad/secondary broad/primary broad/standard/primary narrow/secondary narrow gauge&lt;br /&gt;
|-&lt;br /&gt;
|x ||Multi-gauge rail (for at-grade multi-gauge crossings and stations); secondary broad/primary broad/standard/primary narrow/secondary narrow&lt;br /&gt;
|-&lt;br /&gt;
|+ ||Three-gauge rail (for at-grade multi-gauge crossings and stations); primary broad/standard/primary narrow&lt;br /&gt;
|-&lt;br /&gt;
|b ||Broad gauge rail - As broad gauge is a rare tracktype, it may still be feasible to cement B and b as broad gauges of two differing sizes, but the rarity among gauges in the real world would need to match; Italian (1445 mm) and Dresden (1450 mm) gauges may be better grouped here&lt;br /&gt;
|-&lt;br /&gt;
|t ||Leipzig trams (1458 mm) and Greater Toronto Area streetcars (1495 mm)&lt;br /&gt;
|-&lt;br /&gt;
|5 ||1520mm and 5 foot (1524 mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|V ||Pennsylvanian (1581 mm and 1588 mm) and Australian &amp;quot;Victorian&amp;quot; (1600 mm) gauges&lt;br /&gt;
|-&lt;br /&gt;
|6 ||6 foot (1829 mm) broad gauge&lt;br /&gt;
|-&lt;br /&gt;
|g ||Brunel&#039;s Great Western Railway gauge (2140 mm)&lt;br /&gt;
|-&lt;br /&gt;
|B ||Broad gauge rail - As broad gauge is a rare tracktype, and the variation in common real life track types too wide, it may be desirable to cement B and b as broad gauges of two differing sizes; With no real life examples that match the usage frequency of &amp;quot;B&amp;quot;, the gauge might best draw inspiration from the infamous [https://en.wikipedia.org/wiki/Breitspurbahn Breitspurbahn] (3000 mm) and [https://perma.cc/KQ2Z-5RCR the never-built vehicles designed for it]&lt;br /&gt;
|-&lt;br /&gt;
|L ||Maglevs that have a u-shaped track&lt;br /&gt;
|-&lt;br /&gt;
|T ||Maglevs that have a monorail track&lt;br /&gt;
|-&lt;br /&gt;
|F ||Flightrail; A [https://web.archive.org/web/20231213122530/http://www.flightrail.com/ system capable of high speeds and steep hill grades] that uses a pneumatic pipe for propulsion (see &amp;quot;P&amp;quot; under energy sources), and &#039;&#039;wheels pointed inwards at a 45-degree angle&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
It might be preferred to instead use/keep &amp;quot;B&amp;quot; for current broad gauge (mostly Brunel and instead using lowercase &amp;quot;b&amp;quot; for  broad gauge. This wouldn&#039;t be to different from narrow gauge since the lesser used ones are lowercase and fallback to the uppercase ones.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Electrification !!Fallback&lt;br /&gt;
|-&lt;br /&gt;
|S ||Maglevs that use a synchronous linear motor ||N/A&lt;br /&gt;
|-&lt;br /&gt;
|I ||Maglevs that use a linear induction motor ||MGLV (the whole label)&lt;br /&gt;
|-&lt;br /&gt;
|t ||&amp;quot;Universal custom tunnel&amp;quot; (for electrified sub-surface rail tunnels) ||E (mandatory)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt; ||Universal energy type (&#039;&#039;not&#039;&#039; meant to replace &amp;quot;***N&amp;quot;; use for vehicles such as driving cabs which cannot move under their own power regardless, if desired) ||N/A (Be sure to put &amp;quot;***E&amp;quot; in the [[NML:Roadtypes#Roadtype_properties|alternative_roadtype_list (NML)]] of a &amp;quot;***-&amp;quot; label)&lt;br /&gt;
|-&lt;br /&gt;
|P ||Pneumatic tube with physical piston slit, or closed pneumatic tube with magnetic piston (i.e. that used by [https://web.archive.org/web/20231213122530/http://www.flightrail.com/ Flightrail]) ||N/A&lt;br /&gt;
|-&lt;br /&gt;
|p ||Pneumatic and universal electrical power ||N/A (Be sure to put &amp;quot;***_&amp;quot; and ***P&amp;quot; in the [[NML:Roadtypes#Roadtype_properties|alternative_roadtype_list (NML)]] of a &amp;quot;***p&amp;quot; label)&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Lurkmore</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=Standardized_Railtype_Scheme&amp;diff=4725</id>
		<title>Standardized Railtype Scheme</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=Standardized_Railtype_Scheme&amp;diff=4725"/>
		<updated>2024-02-26T07:29:03Z</updated>

		<summary type="html">&lt;p&gt;Lurkmore: Changed &amp;quot;_&amp;quot; to &amp;quot;-&amp;quot; for compatibility with expanded voltages proposals&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This railtype label scheme aims to bring order to the uncontrolled growth of railtype labels. It groups the rail types into what matters from a technical perspective. The scheme provides a standardized way of defining railtype labels, based on track gauge and type, speed class, allowable axle weight and electrification type.&lt;br /&gt;
&lt;br /&gt;
It is the explicit intent of this scheme to decouple track sets from vehicle sets to facilitate easy mixing. This way the player can select a track set of choice to go with a train set of choice. It allows the player to play with or without axle load classes, or with or without speed limit classes, simply by loading a track set that does or does not provide these features. In some cases it will also be possible to combine niche track sets, for instance a standard gauge track set with a narrow gauge and a metro track set.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== The Label Scheme ==&lt;br /&gt;
A railtype label consists of four characters. In this scheme, each position has a different purpose:&lt;br /&gt;
# Track gauge and type class (e.g. standard gauge rail, narrow gauge rail, monorail)&lt;br /&gt;
# Speed limit class&lt;br /&gt;
# Axle load class (maximum allowed axle weight for this track)&lt;br /&gt;
# Energy source type class&lt;br /&gt;
&lt;br /&gt;
In the next sections, each of the four positions will be explained.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Track gauge and type class [X***] ===&lt;br /&gt;
The first position in the railtype label defines track gauge and/or track type class. The following classes are currently defined:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Track type/gauge&lt;br /&gt;
|- &lt;br /&gt;
|S ||Standard gauge rail&lt;br /&gt;
|-&lt;br /&gt;
|B ||Broad gauge rail &lt;br /&gt;
|-&lt;br /&gt;
|N ||Narrow gauge rail&lt;br /&gt;
|-&lt;br /&gt;
|n ||Secondary narrow gauge rail (e.g. when providing both metre and cape gauge, always use N in case of just one type of narrow gauge)&lt;br /&gt;
|-&lt;br /&gt;
|D ||Dual gauge rail, standard/broad gauge&lt;br /&gt;
|-&lt;br /&gt;
|d ||Dual gauge rail, standard/narrow gauge&lt;br /&gt;
|-&lt;br /&gt;
|M ||Monorail&lt;br /&gt;
|-&lt;br /&gt;
|L ||Magnetic Levitation&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Speed limit class [*X**] ===&lt;br /&gt;
The second position in the railtype label defines the speed limit class. These classes do not map to a fixed numeric value, but are used to define an internal speed limit order for the track set. This means that if your track set has two different speed limits for track types that are otherwise identical, you&#039;ll use letters A and B here. In case of three different speed limits, use A, B and C. In case your track set does not employ speed limits, always use A. Train sets do not care about the speed limit, and will always set the lowest speed class, i.e. A.&lt;br /&gt;
&lt;br /&gt;
This gives for instance the following options:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||no speed limits&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;OR&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||low speed&lt;br /&gt;
|-&lt;br /&gt;
|B ||high speed&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;OR&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||low speed&lt;br /&gt;
|-&lt;br /&gt;
|B ||medium speed&lt;br /&gt;
|-&lt;br /&gt;
|C ||high speed&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;etc.&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear:left;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The speed limit class may also be used for some advanced features of the label scheme, like specialized track types and eyecandy purposes. Be careful not to break the compatibility with other sets when using the speed limit class for these purposes.&lt;br /&gt;
&lt;br /&gt;
An example of a special use is rack rail. In the French set it is used to give rack rail engines a higher speed and TE than normal rail engines when used on rack rail. When defining trains with a special speed limit class, always allow a fallback to speed limit class A via the railtype table.&lt;br /&gt;
&lt;br /&gt;
An example of eyecandy use are urban tracks. These are a variation of regular tracks, but with concrete ground tiles to better match the urban environment. Train sets must not define vehicles for eyecandy classes. If you think you have special vehicles that should only run on the eyecandy class, it is &#039;&#039;not&#039;&#039; eyecandy but a separate track gauge/type.&lt;br /&gt;
&lt;br /&gt;
The following special and eyecandy classes have been defined so far:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Description !!Type !!Used by&lt;br /&gt;
|- &lt;br /&gt;
|A-H ||speed limits ||colspan=&amp;quot;2&amp;quot;|reserved&lt;br /&gt;
|- &lt;br /&gt;
|R ||rack rail ||special ||French Set Rails &lt;br /&gt;
|- &lt;br /&gt;
|S ||subterranean ||eyecandy ||Metro Track Set&lt;br /&gt;
|- &lt;br /&gt;
|U ||urban ||eyecandy ||Metro Track Set&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Axle load class [**X*] ===&lt;br /&gt;
The third position defines the axle weight limit. Heavy trains cannot run on tracks with a low axle weight limit; these trains need more expensive tracks with a heigher weight limit. There are five axle load classes &#039;&#039;&#039;A&#039;&#039;&#039; through &#039;&#039;&#039;E&#039;&#039;&#039;. &#039;&#039;&#039;A&#039;&#039;&#039; is for the lowest axle load limit, &#039;&#039;&#039;E&#039;&#039;&#039; for the highest. The exact axle load attached to each class is relative to the track gauge/type and trains in the set. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A train set should set the appropriate axle weight for each train via the railtype label, as to make the set work with track sets that do provide tracks with different weight limits, even if you don&#039;t care about it for your trainset. Split all vehicles of a certain track gauge/type into five groups of similar axle weight. The group with the lowest axle weights will get class &#039;&#039;&#039;A&#039;&#039;&#039;, the second lowest class &#039;&#039;&#039;B&#039;&#039;&#039;, etc. up to the group with the highest axle weights which will get class &#039;&#039;&#039;E&#039;&#039;&#039;. Do the same for the other track gauge/types if your train set has those.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A track set does not have to provide a dedicated track type for each axle weight limit. A track set that does not provide a dedicated track for each axle load class, must make sure to map all undefined axle load classes to a real railtype using property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]]. This way a train set can rely on all labels for all axle load classes being available. Example: if you only want to provide 2 axle load classes for standard gauge unelectrified with no speed limits, you can map SA&#039;&#039;&#039;A&#039;&#039;&#039;N + SA&#039;&#039;&#039;B&#039;&#039;&#039;N to SA&#039;&#039;&#039;C&#039;&#039;&#039;N and SA&#039;&#039;&#039;D&#039;&#039;&#039;N to SA&#039;&#039;&#039;E&#039;&#039;&#039;N if the cost difference between the two railtypes is high, or SA&#039;&#039;&#039;A&#039;&#039;&#039;N to SA&#039;&#039;&#039;B&#039;&#039;&#039;N and SA&#039;&#039;&#039;C&#039;&#039;&#039;N + SA&#039;&#039;&#039;D&#039;&#039;&#039;N to SA&#039;&#039;&#039;E&#039;&#039;&#039;N if the cost difference is low.&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t want to provide any axle load classes in your track set, it doesn&#039;t really matter what axle load class you choose for the track, as you&#039;ll be mapping all other classes to this track anyways. But the lowest or highest class are the obvious choice. Example: if your track set only provides narrow gauge unelectrified track with no speed limits and no axle load limits, you may use NA&#039;&#039;&#039;A&#039;&#039;&#039;N for the track label, and provide NA&#039;&#039;&#039;B&#039;&#039;&#039;N, NA&#039;&#039;&#039;C&#039;&#039;&#039;N, NA&#039;&#039;&#039;D&#039;&#039;&#039;N, NA&#039;&#039;&#039;E&#039;&#039;&#039;N in property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you need more than five axle load class, you may use lowercase letters for very low axle loads and continue the uppercase letters for very high axle loads. Be advised that your train set may not assume the existance of any other class than &#039;&#039;&#039;A&#039;&#039;&#039; through &#039;&#039;&#039;E&#039;&#039;&#039;, so when the range make sure to program your railtype table such that trains with such a class will fall back to class &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;E&#039;&#039;&#039;. If you make a track set with an extended range, be aware that not all train sets will define trains for these tracks. In general: only do this in case of a train set with a matching track set.&lt;br /&gt;
&lt;br /&gt;
For the lowercase letters, &#039;&#039;&#039;b&#039;&#039;&#039; is lower than &#039;&#039;&#039;a&#039;&#039;&#039;, so for increasing axle load limits: b &amp;lt; a &amp;lt; A &amp;lt; B &amp;lt; C etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that the axle load classes never map to a specific weight in tonnes. For that reason it does not make sense to add a numeric value for the axle load to the name of a track type or in the extended purchase info of a train. Instead use the relative expressions &#039;very low&#039;, &#039;low&#039;, &#039;medium&#039;, &#039;high&#039; and &#039;very high&#039; or use the class letters directly.&lt;br /&gt;
&lt;br /&gt;
=== Energy source type class [***X] ===&lt;br /&gt;
The last position defines the energy source type class. This is split in generic energy source types like overhead wires and third rail and specialized types like alternating and direct current.&lt;br /&gt;
&lt;br /&gt;
A track set that only uses specialized types, should map the generic types to the most suitable specialized type in the set.&lt;br /&gt;
&lt;br /&gt;
A vehicle set that uses specialized types should define a generic type as fallback, via the railtype table. If such a fallback is omitted, please note that certain vehicles may be unavailable depending on track set loaded.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Generic energy type classes&lt;br /&gt;
|-&lt;br /&gt;
|N ||no electrification&lt;br /&gt;
|-&lt;br /&gt;
|E ||overhead wires/catenary electrification&lt;br /&gt;
|-&lt;br /&gt;
|3 ||3rd rail electrification&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Specialized energy type classes !!Vehicle set fallback&lt;br /&gt;
|-&lt;br /&gt;
|Z ||3rd rail and catenary electrification || 3 or E&lt;br /&gt;
|-&lt;br /&gt;
|4 ||4th rail electrification || 3&lt;br /&gt;
|-&lt;br /&gt;
|Y ||4th rail and catenary electrification || 4 or E&lt;br /&gt;
|-&lt;br /&gt;
|T ||[http://en.wikipedia.org/wiki/Three-phase_AC_railway_electrification three phase AC electrification] || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|D ||DC catenary electrification || E&lt;br /&gt;
|-&lt;br /&gt;
|d ||low voltage DC catenary electrification (only when D also used in set) || First A then E&lt;br /&gt;
|-&lt;br /&gt;
|A ||AC catenary electrification || E&lt;br /&gt;
|-&lt;br /&gt;
|a ||low voltage AC catenary electrification (only when A also used in set) || First A then E&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
If you want multi-voltage/current vehicles in your set (i.e. a train that can run on both AC and DC current), you have to define a dedicated railtype for those vehicles. Without the railtype, it&#039;s not possible to define vehicles with this property. If you only have vehicles that can run on either one type of voltage/current or on all types of voltage/current (e.g. a 2-system if you only have &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;D&#039;&#039;&#039; tracks, or a 4-system in case of all &#039;&#039;&#039;A&#039;&#039;&#039;, &#039;&#039;&#039;a&#039;&#039;&#039;, &#039;&#039;&#039;D&#039;&#039;&#039; and &#039;&#039;&#039;d&#039;&#039;&#039;), then use the generic class &#039;&#039;&#039;E&#039;&#039;&#039; for vehicles that should be able to run on all different voltage/currents. Also the track set needs to have one at least one railtype with class &#039;&#039;&#039;E&#039;&#039;&#039; defined.&lt;br /&gt;
&lt;br /&gt;
Note that if you want more than one type of multi-voltage/current, you&#039;ll quickly get a combinatory explosion of railtype labels, so plan carefully or do not attempt it. For every different multi-voltage/current vehicle type a dedicated railtype is needed. If you want all possible combinations, then you need to define an additional 8 classes. It is not recommended to make your train/track set this complicated.&lt;br /&gt;
&lt;br /&gt;
Example approach for a 4-system set, with trains that can run on either one or all systems:&lt;br /&gt;
* &#039;&#039;&#039;E&#039;&#039;&#039;: generic catenary-powered electric engines. &amp;quot;universal&amp;quot; [4-system] if any of &#039;&#039;&#039;D&#039;&#039;&#039;/&#039;&#039;&#039;d&#039;&#039;&#039;/&#039;&#039;&#039;A&#039;&#039;&#039;/&#039;&#039;&#039;a&#039;&#039;&#039; are defined.&lt;br /&gt;
* &#039;&#039;&#039;A&#039;&#039;&#039;: generic AC catenary electric engines. 25kV only if &#039;&#039;&#039;a&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;A&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;a&#039;&#039;&#039;: 15kV AC catenary electric engines. Only defined if &#039;&#039;&#039;A&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;a&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;D&#039;&#039;&#039;: generic DC catenary electric engines. 3kV if &#039;&#039;&#039;d&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;D&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;d&#039;&#039;&#039;: 1.5kV DC catenary electric engines. Only defined if &#039;&#039;&#039;D&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;D&#039;&#039;&#039; and &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;d&#039;&#039;&#039;.&lt;br /&gt;
For a 2-system set, you can simply drop &#039;&#039;&#039;a&#039;&#039;&#039; and &#039;&#039;&#039;d&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Standard labels: RAIL, ELRL, MONO, MGLV ===&lt;br /&gt;
It&#039;s not possible to undefine the standard railtypes RAIL, ELRL, MONO and MGLV. The game will always add those if there are vehicles defined for these track types. As a result, for a track set it&#039;s best not to ignore those standard labels, but rather work with them and define them in the set. If your track set does not have monorail or maglev tracks, there of course is no need to define those. But if your track set defines anything that resembles unelectrified or electrified rail, you should use the RAIL and ELRL labels. Matching labels from the above scheme will then be defined in property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
As vehicles from NewGRFs that do not use explicit railtypes will end up on these standard railtypes, you should use RAIL instead of whatever type could be regarded as the most commonly used unelectrified type, ELRL instead of the most commonly used electrified type and so on. The label according to this scheme is then set as an alternate.&lt;br /&gt;
&lt;br /&gt;
== Summary for track sets ==&lt;br /&gt;
This section summarizes the above for track sets.&lt;br /&gt;
&lt;br /&gt;
; [X***] Track gauge and type class&lt;br /&gt;
* Define at least one track type for every track gauge/type class you want in your set.&lt;br /&gt;
* If you only provide tracks for one gauge/type, consider leaving some free railtypes so a player can load an additional set for some other type.&lt;br /&gt;
; [*X**] Speed limit class&lt;br /&gt;
* Make sure class A is always available, either directly or via an alternate label.&lt;br /&gt;
* Use only class A if you don&#039;t want speed limits;&lt;br /&gt;
* With speed limits, A is the lowest speed limit. Continue with B, C, etc. for increasing speed limits;&lt;br /&gt;
* The speed class can also be used to implement additional eye-candy track types, use letters higher in the alphabet for this.&lt;br /&gt;
; [**X*] Axle load class&lt;br /&gt;
* Always define all classes A through E for every track type class / electrification combination, either:&lt;br /&gt;
** Directly via a real railtype definition;&lt;br /&gt;
** Indirectly via the alternate rail type label list, property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
* Extend the predefined classes only if you also provide a train set that makes use of these.&lt;br /&gt;
; [***X] Energy source type class&lt;br /&gt;
* If your set only uses specialized classes, always map the generic classes to the closest matching specialized type via property 1D.&lt;br /&gt;
; Standard labels [RAIL, ELRL, MONO, MGLV]&lt;br /&gt;
* Always define the standard labels when possible, instead of what would be the equivalent of the standard label in this scheme.&lt;br /&gt;
* Map the equivalent labels from this scheme to the standard labels using property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
Or, put differently, for each gauge/type, select one or more energy source types. For each type/energy combination provide all axle load classes for the speed class &amp;quot;A&amp;quot;, either as a real type or as an alternate of another type. Provide more types with a different speed letter if you want to provide several different speeds or other eye-candy tracks.&lt;br /&gt;
&lt;br /&gt;
== Summary for train sets ==&lt;br /&gt;
This section summarizes the above for train sets.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; [X***] Track gauge and type class&lt;br /&gt;
* Use the track type class that matches the vehicle;&lt;br /&gt;
* Define a fallback type via the railtype table in case you want the vehicle to be available on a different track if no matching track set is loaded.&lt;br /&gt;
** Specialized subtypes like &amp;quot;n&amp;quot; might not always be available. If you want those vehicles to be still available then, fall back the the generic class (e.g. &amp;quot;N&amp;quot;).&lt;br /&gt;
; [*X**] Speed limit class &lt;br /&gt;
* Always use class A for every vehicle.&lt;br /&gt;
; [**X*] Axle load class&lt;br /&gt;
* Use all classes A through E according to the maximum axle weight of the vehicle.&lt;br /&gt;
* Extend the predefined classes only if you also provide a track set that makes use of these;&lt;br /&gt;
** When extending the predefined classes A through E, define a fallback type via the railtype table in case you want the vehicle to be available if no matching track set is loaded.&lt;br /&gt;
; [***X] Energy source type class&lt;br /&gt;
* Use the energy source type class that matches the vehicle;&lt;br /&gt;
* When using specialized classes, define a fallback type via the railtype table in case you want the vehicle to be available if no matching track set is loaded.&lt;br /&gt;
; Standard labels [RAIL, ELRL, MONO, MGLV]&lt;br /&gt;
* Define a fallback type to the standard labels via the railtype table in case you want the vehicle to be available on the standard tracks if no matching track set is loaded.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Be as specific as you want when selecting the railtype, it is the job of the track set to select a playable, reduced subset out of all possible type combinations.&lt;br /&gt;
&lt;br /&gt;
== In case you&#039;re not convinced by this scheme ==&lt;br /&gt;
Adopting this scheme gives the player freedom to use any track set in combination with any train set that follow the scheme. &lt;br /&gt;
&lt;br /&gt;
This means that you can make your train set compatible with track sets that provide axle load classes, and track sets that provide speed limits, and at the same time with track sets that provide none of this. This way, the player can decide to play with or without axle load classes, or with or without speed limits, simply by loading a track set that does or does not provide these features.&lt;br /&gt;
&lt;br /&gt;
And for your track set, it means that you can make it as simple or as complicated as you want (within the 64 track type limit), while not having to worry about compatibility with train sets.&lt;br /&gt;
&lt;br /&gt;
Still not convinced? Feel free to use railtype labels of your own, but know that you will likely come to regret that at some point in the future.&lt;br /&gt;
&lt;br /&gt;
==Forum topic==&lt;br /&gt;
If you want to discuss the standardized railtype scheme or have any questions about it, you can visit [http://www.tt-forums.net/viewtopic.php?t=59379 the forum topic].&lt;br /&gt;
&lt;br /&gt;
==&amp;quot;Innsbruck 2022 Convention&amp;quot; for partial compliance==&lt;br /&gt;
&lt;br /&gt;
This is really esoteric, but eh. It was the product of long discussion / debate / argument / reasoning between grf authors.&lt;br /&gt;
&lt;br /&gt;
1. The Standardized Railtype Scheme &#039;&#039;&#039;is a useful tool&#039;&#039;&#039; for providing reliable compatibility between train grfs and railtype grfs.&lt;br /&gt;
&lt;br /&gt;
2. The &#039;&#039;&#039;axle load class&#039;&#039;&#039; in the scheme presents a number of issues for compliance.&lt;br /&gt;
&lt;br /&gt;
2.1. Over 10 years since the scheme was standardised, not many train grfs implement multiple axle load classes &#039;&#039;&#039;as required by the scheme&#039;&#039;&#039;.  Known examples that &#039;&#039;&#039;do&#039;&#039;&#039; comply include Dutch Train Set, French Narrow Gauge Trains, and Finnish Trains.&lt;br /&gt;
&lt;br /&gt;
2.2. Elements of the axle load rules have proven hard to interpret.  For example:&lt;br /&gt;
&lt;br /&gt;
* is it compliant to use &#039;&#039;fewer&#039;&#039; than 5 classes in a train grf?  There is a lack of consensus on this.&lt;br /&gt;
* axle load is only one of many factors that govern whether a vehicle is compatible with a route, for example loading gauge, minimum curve, signalling types etc&lt;br /&gt;
&lt;br /&gt;
2.3. Meanwhile &#039;&#039;multiple existing train grfs use class &#039;&#039;A&#039;&#039; for the axle load for all trains&#039;&#039; (except where relying on default railtypes such as RAIL and ELRL).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3. The Innsbruck 2022 Convention uses class &#039;&#039;A&#039;&#039; for axle load for &#039;&#039;&#039;all&#039;&#039;&#039; trains in a train grf (except where relying on default railtypes such as RAIL and ELRL).&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is &#039;&#039;&#039;not&#039;&#039;&#039; fully compliant with the Standardized Railtype Scheme and does not claim to be.&lt;br /&gt;
&lt;br /&gt;
However train grfs using the Innsbruck 2022 Convention are &#039;&#039;broadly compatible&#039;&#039; with railtype grfs using the Standardized Railtype Scheme.  &lt;br /&gt;
&lt;br /&gt;
Obligatory XKCD link about &#039;standards&#039;: https://xkcd.com/927/&lt;br /&gt;
&lt;br /&gt;
===Known issues===&lt;br /&gt;
&lt;br /&gt;
Known problems are that trains using only class &#039;A&#039; may limit the ability of railtype grf authors to achieve their design goals for separating railtypes by axle load.  &lt;br /&gt;
But on reflection, it can be seen that a train grf might not be able to provide a broad enough range of vehicles to cover at least 5 axle load classes.&lt;br /&gt;
&lt;br /&gt;
3.1. The Innsbruck 2022 Convention is &#039;&#039;&#039;not&#039;&#039;&#039; appropriate for train grf authors who wish to provide more than one axle load class.&lt;br /&gt;
&lt;br /&gt;
3.2. The Innsbruck 2022 Convention treats the meaning of class &#039;&#039;A&#039;&#039; as &#039;&#039;undefined&#039;&#039;, &#039;&#039;ignored&#039;&#039; or &#039;&#039;compatible with most restricted railtype&#039;&#039; for axle load.  &lt;br /&gt;
&lt;br /&gt;
Axle load class &#039;&#039;A&#039;&#039; &#039;&#039;&#039;cannot&#039;&#039;&#039; be safely interpreted as &#039;&#039;universal&#039;&#039; because from the perspective of a railtype grf &#039;&#039;A&#039;&#039; is &#039;&#039;most restricted railtype&#039;&#039;, where &#039;&#039;universal&#039;&#039; is better represented as &#039;&#039;least restricted railtype&#039;&#039;. Depending how many axle load classes are in use by the railtype grf, this could be class &#039;&#039;B&#039;&#039;, &#039;&#039;C&#039;&#039;, &#039;&#039;D&#039;&#039;, &#039;&#039;E&#039;&#039; etc.  To illustrate this issue, take the following scenario&lt;br /&gt;
&lt;br /&gt;
* railtype grf defines axle loads &#039;&#039;A&#039;&#039; to &#039;&#039;E&#039;&#039;. In this case the railtype grf author intends that &#039;&#039;A&#039;&#039; is compatible with the smallest range of vehicles, &#039;&#039;E&#039;&#039; is compatible with the largest range of vehicles, and &#039;&#039;B&#039;&#039;, &#039;&#039;C&#039;&#039; and &#039;&#039;D&#039;&#039; are compatible with some intermediate ranges of vehicles&lt;br /&gt;
* but the vehicle grf author has defined all vehicles to be axle load &#039;&#039;A&#039;&#039; in an attempt to express this vehicle is &#039;&#039;universal&#039;&#039;.  The result in the game is that an identical range of vehicles will be compatible with railtypes &#039;&#039;A&#039;&#039; to &#039;&#039;E&#039;&#039;.  &lt;br /&gt;
&lt;br /&gt;
This is clearly &#039;&#039;&#039;not&#039;&#039;&#039; the intended outcome of the railtype author. But nor is it clear within the spec that the vehicle author has particularly done anything wrong. &lt;br /&gt;
&lt;br /&gt;
It &#039;&#039;would&#039;&#039; be possible to use railtype availability testing to adjust the vehicle property 05 (track_type) to fit the highest defined axle load (&#039;&#039;E&#039;&#039; in this example case), but this is not insignificant work, and it&#039;s unlikely to be widely adopted by vehicle grf authors.  Nor would this solution achieve &#039;&#039;universal&#039;&#039; as all vehicles in vehicle grf then would be incompatible with types &#039;&#039;A&#039;&#039; through &#039;&#039;D&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
3.3. When the Innsbruck 2022 Convention is used, this &#039;&#039;&#039;does not prevent&#039;&#039;&#039; a train grf being extended in some future release to achieve full compliance with Standardized Railtype Scheme. &#039;&#039;That choice remains with train grf authors&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
3.4. If 2012 could be revisited, providing an optional &#039;&#039;_&#039;&#039; axle load class in the Standardized Railtype Scheme for &#039;&#039;undefined&#039;&#039; would have been preferable, but as of 2022, &#039;&#039;A&#039;&#039; is already widely used for this purpose, and time travel is not known to be possible.&lt;br /&gt;
&lt;br /&gt;
==Extended multivoltage support addition==&lt;br /&gt;
These are extensions to the energy source type class currently supported by SETS and xUSSR Rails which allow trainsets to code trains which are limited to a certain selection of voltages. As stated in the energy source type class section this might not be of use for all sets, as such it is optional but still recommended for trainsets for ideal functionality with tracksets which support the extended labels.&lt;br /&gt;
{|&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Specialized energy type classes !!Vehicle set fallback&lt;br /&gt;
|-&lt;br /&gt;
|* ||Equivilent to A, a, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|&#039; ||Equivilent to A, a and D || E&lt;br /&gt;
|-&lt;br /&gt;
|^ ||Equivilent to A, a and d || E&lt;br /&gt;
|-&lt;br /&gt;
|_ ||Equivilent to A, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
|, ||Equivilent to a, D and d || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|$ ||Equivilent to A and a  || First A then E&lt;br /&gt;
|-&lt;br /&gt;
|= ||Equivilent to D and d  || First D then E&lt;br /&gt;
|-&lt;br /&gt;
|) ||Equivilent to A and D  || E&lt;br /&gt;
|-&lt;br /&gt;
|( ||Equivilent to A and d  || E&lt;br /&gt;
|-&lt;br /&gt;
|] ||Equivilent to a and D  || E&lt;br /&gt;
|-&lt;br /&gt;
|[ ||Equivilent to a and d  || E&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Possible additions==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Track type/gauge&lt;br /&gt;
|-&lt;br /&gt;
|B ||Broad gauge rail (Also used by &amp;quot;ultra-broad&amp;quot; fictional tracktype; As broad gauge is a rare tracktype, it may still be feasible to cement B and b as broad gauges of two differing sizes) &lt;br /&gt;
|-&lt;br /&gt;
|b ||Broad gauge rail (Originally assigned to uppercase B; As broad gauge is a rare tracktype, it may still be feasible to cement B and b as broad gauges of two differing sizes) &lt;br /&gt;
|-&lt;br /&gt;
|s ||Multiple gauge rail, ultrabroad/broad/standard/narrow/secondary narrow gauge&lt;br /&gt;
|-&lt;br /&gt;
|6 ||600mm, formerly labelled &amp;quot;NG60&amp;quot; before standardization&lt;br /&gt;
|-&lt;br /&gt;
|m ||Minimum gauge rail; [https://en.wikipedia.org/wiki/Minimum-gauge_railway 15 in (381 mm), 400 mm (15+3⁄4 in), 16 in (406 mm), 18 in (457 mm), 19 in (483 mm), 500 mm (19+3⁄4 in) or 20 in (508 mm)]&lt;br /&gt;
|-&lt;br /&gt;
|T ||Maglevs that have a monorail track&lt;br /&gt;
|-&lt;br /&gt;
|L ||Maglevs that have a u-shaped track&lt;br /&gt;
|-&lt;br /&gt;
|F ||Flightrail; A [https://web.archive.org/web/20231213122530/http://www.flightrail.com/ system capable of high speeds and steep hill grades] that uses a pneumatic pipe for propulsion (see &amp;quot;P&amp;quot; under energy sources), and &#039;&#039;wheels pointed inwards at a 45-degree angle&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|0 ||(A number zero, not a letter &amp;quot;Oh&amp;quot;) No track, eyecandy-use only&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
It might be prefered to instead use keep &amp;quot;B&amp;quot; for current broad gauge and instead using lovercase &amp;quot;b&amp;quot; for the new ultra-broad gauge. This wouldn&#039;t be to different from narrow gauge since the lesser used ones are lowercase and fallback to the uppercase ones.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Electrification !!Fallback&lt;br /&gt;
|-&lt;br /&gt;
|S ||Maglevs that use a synchronous linear motor ||N/A&lt;br /&gt;
|-&lt;br /&gt;
|I ||Maglevs that use a linear induction motor ||MGLV (the whole label)&lt;br /&gt;
|-&lt;br /&gt;
|t ||&amp;quot;Universal custom tunnel&amp;quot; (for electrified sub-surface rail tunnels) ||E (mandatory)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt; ||Universal energy type (&#039;&#039;not&#039;&#039; meant to replace &amp;quot;***N&amp;quot;; use for vehicles such as driving cabs which cannot move under their own power regardless, if desired) ||N/A (Be sure to put &amp;quot;***E&amp;quot; in the [[NML:Roadtypes#Roadtype_properties|alternative_roadtype_list (NML)]] of a &amp;quot;***-&amp;quot; label)&lt;br /&gt;
|-&lt;br /&gt;
|P ||Pneumatic tube with physical piston slit, or closed pneumatic tube with magnetic piston (i.e. that used by [https://web.archive.org/web/20231213122530/http://www.flightrail.com/ Flightrail]) ||N/A&lt;br /&gt;
|-&lt;br /&gt;
|p ||Pneumatic and universal electrical power ||N/A (Be sure to put &amp;quot;***_&amp;quot; and ***P&amp;quot; in the [[NML:Roadtypes#Roadtype_properties|alternative_roadtype_list (NML)]] of a &amp;quot;***p&amp;quot; label)&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Lurkmore</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=Standardized_Roadtype_Scheme&amp;diff=4704</id>
		<title>Standardized Roadtype Scheme</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=Standardized_Roadtype_Scheme&amp;diff=4704"/>
		<updated>2024-01-11T22:57:10Z</updated>

		<summary type="html">&lt;p&gt;Lurkmore: /* Energy [***X] */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This scheme was originally conceived in order to decrease the amount of necessary hidden road and tramtrack types. This is done by standardizing which labels vehicles and infrastructure should use. The standard also allows for more gameplay depth by having the option to limit vehicles to certain types of roads. It does similarly to the railtype scheme allow mixing of any vehicle set with any infrastructure set. It does however not allow multiple infrastructure sets to be used at the same time. It does not prevent it but all of the sets used have to be made to be used with each other, or use different surfaces/types which don&#039;t conflict with each other. The standard sets no limit on how vehicle sets can be used.&lt;br /&gt;
&lt;br /&gt;
It is ultimately up to the infrastructure set to chose what roadtypes are available and thereby what vehicles are available. Infrastructure and vehicles can both be in the same set, it is however recommended to be able to disable the infrastructure with parameters (preferably on an individual basis per roadtype) in case the player wants to use a different set for their infrastructure.&lt;br /&gt;
&lt;br /&gt;
* While this is a guide rather than a hard rule, it is recommended to think of standardized roadtypes vs. &amp;quot;fancy&amp;quot; roadtypes (not a default - ROAD for roadtypes, ELRL for tramtypes - and not to this standard; for example &amp;quot;FNCY&amp;quot;, &amp;quot;HAUL&amp;quot; and &amp;quot;NSTD&amp;quot; would be fancy labels) as a microcosm of the difference between a base set (OpenGFX) and a NewGRF that provides new graphics; The goal is for a basic roadtype set to cover as many standardized labels as is appropriate, and leave the more niche uses of the system to another set. This reduces the number of necessary roadtypes to a bare minimum, allowing optional roadtypes more room to cover corner cases.&lt;br /&gt;
** The reason to keep the above in mind is that if done in this way the effect works very differently than railtypes, where the primary concern is to allow gauge, energy source and so on to exist and bind trains from all sets to only the logically compatible railtypes. Roads and, by extension, streetcar tracks are more compatible with vehicles but also have much more variation. This is complicated by game engine limitations; only 60 - or 61 without ELRL - tracktype slots exist in recent versions of OpenTTD, but reaching that limit is usually a non-issue. Roadtypes and Tramtypes are considered the same on that front by the game engine, leaving 62 tramtypes - 64, including ROAD and ELRL - to be split in a pool between the two.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Surface / Type [X***] ===&lt;br /&gt;
Describes the road surface / rail type and thus the vehicle type.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roadtype:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|- style=&amp;quot;font-style:italic;&amp;quot;&lt;br /&gt;
! Letter&lt;br /&gt;
! Meaning (Road)&lt;br /&gt;
! Powered Roadtypes&lt;br /&gt;
! Recomended vehicle set fallbacks&lt;br /&gt;
|-&lt;br /&gt;
| R&lt;br /&gt;
| Regular Road&lt;br /&gt;
| RI(S)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P&lt;br /&gt;
| Passenger-only&lt;br /&gt;
| RPI(S)&lt;br /&gt;
| R&lt;br /&gt;
|-&lt;br /&gt;
| G&lt;br /&gt;
| Guided busway&lt;br /&gt;
| RPG&lt;br /&gt;
| P then R&lt;br /&gt;
|-&lt;br /&gt;
| I&lt;br /&gt;
| Industrial Site (ISR)&lt;br /&gt;
| I&lt;br /&gt;
| R&lt;br /&gt;
|-&lt;br /&gt;
| B&lt;br /&gt;
| Bicycle Lane&lt;br /&gt;
| RB(Z)&lt;br /&gt;
| R&lt;br /&gt;
|-&lt;br /&gt;
| W&lt;br /&gt;
| Waterway&lt;br /&gt;
| W&lt;br /&gt;
|-&lt;br /&gt;
| A&lt;br /&gt;
| Amphibious on road (hidden)&lt;br /&gt;
| RPI(S)W&lt;br /&gt;
| R&lt;br /&gt;
|-&lt;br /&gt;
| S&lt;br /&gt;
| Snowy or Iced Track&lt;br /&gt;
| S&lt;br /&gt;
|-&lt;br /&gt;
| a&lt;br /&gt;
| Amphibious on snow (hidden)&lt;br /&gt;
| SW&lt;br /&gt;
| S&lt;br /&gt;
|-&lt;br /&gt;
| Z&lt;br /&gt;
| Pedestrian Zone&lt;br /&gt;
| Z&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| E&lt;br /&gt;
| Eyecandy&lt;br /&gt;
| E&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| p&lt;br /&gt;
| Pump/Pipeline&lt;br /&gt;
| p&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tramtype:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|- style=&amp;quot;font-style:italic;&amp;quot;&lt;br /&gt;
! Letter&lt;br /&gt;
! Meaning (Tram)&lt;br /&gt;
! Powered Tramtypes&lt;br /&gt;
! Recomended vehicle set fallbacks&lt;br /&gt;
|-&lt;br /&gt;
| R&lt;br /&gt;
| Regular Rail (Metre Gauge)&lt;br /&gt;
| RI(M)&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| P&lt;br /&gt;
| Passenger-only (Metre Gauge)&lt;br /&gt;
| RPI(M)&lt;br /&gt;
| R&lt;br /&gt;
|-&lt;br /&gt;
| I&lt;br /&gt;
| Industrial Site (ISR)&lt;br /&gt;
| I&lt;br /&gt;
| R&lt;br /&gt;
|-&lt;br /&gt;
| X or x&lt;br /&gt;
| Multiple guidance systems or guages&lt;br /&gt;
| (Depends on intent; only two tramtype rail system combinations can exist for a given set of standardized labels - i.e. XABE and xABE - making it necessary to plan accordingly; to facilitate the most common combination, the &amp;quot;r&amp;quot; label functions as a single label for all three common real world tram gauges and should be considered a third option for use only with dual rail trams)&lt;br /&gt;
|-&lt;br /&gt;
| s&lt;br /&gt;
| Regular Rail (Standard Gauge)&lt;br /&gt;
| r(x)&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| p&lt;br /&gt;
| Passenger-only (Standard Gauge)&lt;br /&gt;
| r(x)&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| r&lt;br /&gt;
| Multi-gauge Rail (Standard Gauge, Metre Gauge, 600mm Gauge)&lt;br /&gt;
| x&lt;br /&gt;
| P or p, depending on the vehicle&#039;s gauge (City tram); R, s or 6, depending on the vehicle&#039;s gauge (Cargo tram)&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| Industrial Tramway (600mm Gauge - default tramway rails graphics)&lt;br /&gt;
| r(x)&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| B&lt;br /&gt;
| Bicycle Lane&lt;br /&gt;
| (R)B&lt;br /&gt;
| R&lt;br /&gt;
|-&lt;br /&gt;
| S&lt;br /&gt;
| Suspended Monorail&lt;br /&gt;
| S&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| M&lt;br /&gt;
| Metro&lt;br /&gt;
| M(RP)&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| O&lt;br /&gt;
| Trackless trams&lt;br /&gt;
| O&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| E&lt;br /&gt;
| Eyecandy/Electrical infrastructure&lt;br /&gt;
| E&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
It is the vehicle set&#039;s responsibility to implement fallbacks to other appropriate surfaces. It is also up to the author to decide if they want to do it or not. This means that road/tramtrack sets shouldn&#039;t add these to their [[NML:Roadtypes#Roadtype_properties|alternative_roadtype_list (NML)]] and [[NML:Tramtypes#Tramtype_properties|alternative_tramtype_list (NML)]]&lt;br /&gt;
&lt;br /&gt;
It is up to the track set to implement all powered roadtypes in the [[NML:Roadtypes#Roadtype_properties|powered_roadtype_list (NML)]]. The same goes for tramtypes: [[NML:Tramtypes#Tramtype_properties|powered_tramtype_list (NML)]]. It is further advised to implement support for the roadtypes/tramtypes in brackets, if applicable.&lt;br /&gt;
&lt;br /&gt;
Hidden roadtypes for compatibility should be implemented by road sets. It is up to the author to decide if they want to implement it as a hidden roadtype or not.&lt;br /&gt;
&lt;br /&gt;
=== Speed / Feature [*X**] ===&lt;br /&gt;
Any character may be used for roads, but at least one road must have &amp;quot;A&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
Vehicles should use &amp;quot;A&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Terrain / Stability [**X*] ===&lt;br /&gt;
Describes the roughness of the road surface / trackbed stability, and thus the vehicle tier.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|- style=&amp;quot;font-style:italic;&amp;quot;&lt;br /&gt;
! Letter&lt;br /&gt;
! Meaning&lt;br /&gt;
! Powered Roadtypes&lt;br /&gt;
|-&lt;br /&gt;
| a&lt;br /&gt;
| Very slow / rough / light&lt;br /&gt;
| aA&lt;br /&gt;
|-&lt;br /&gt;
| A&lt;br /&gt;
| Slow / rough / light&lt;br /&gt;
| aAB&lt;br /&gt;
|-&lt;br /&gt;
| B&lt;br /&gt;
| Regular&lt;br /&gt;
| ABC&lt;br /&gt;
|-&lt;br /&gt;
| C&lt;br /&gt;
| Fast / stable&lt;br /&gt;
| BCc&lt;br /&gt;
|-&lt;br /&gt;
| c&lt;br /&gt;
| Very fast / stable&lt;br /&gt;
| Cc&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
If all classes aren&#039;t defined by the road set, the other ones should be in the [[NML:Roadtypes#Roadtype_properties|alternative_roadtype_list (NML)]]. The same goes for tramtypes: [[NML:Tramtypes#Tramtype_properties|alternative_tramtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
Road vehicle sets should not implement fallbacks for terrain / stability.&lt;br /&gt;
&lt;br /&gt;
Classes &amp;quot;a&amp;quot; and &amp;quot;c&amp;quot; are entirely optional for road/tramtype sets and should under no circumstances be used by vehicles.&lt;br /&gt;
&lt;br /&gt;
=== Energy [***X] ===&lt;br /&gt;
Describes the energy source of the track / vehicle.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Generic classes:&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|- style=&amp;quot;font-style:italic;&amp;quot;&lt;br /&gt;
! Letter&lt;br /&gt;
! Meaning (Road)&lt;br /&gt;
! Meaning (Tram)&lt;br /&gt;
! Vehicle set fallback&lt;br /&gt;
|-&lt;br /&gt;
| N&lt;br /&gt;
| None&lt;br /&gt;
| None&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| E&lt;br /&gt;
| Overhead electrified (Catenary)&lt;br /&gt;
| Overhead electrified (Catenary)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| G&lt;br /&gt;
| Ground electrified&lt;br /&gt;
| Ground electrified&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Z&lt;br /&gt;
| Ground and overhead electrified&lt;br /&gt;
| Ground and overhead electrified&lt;br /&gt;
| E or G&lt;br /&gt;
|}&lt;br /&gt;
&#039;&#039;&#039;Specialized classes:&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|- style=&amp;quot;font-style:italic;&amp;quot;&lt;br /&gt;
! Letter&lt;br /&gt;
! Meaning (Road)&lt;br /&gt;
! Meaning (Tram)&lt;br /&gt;
! Vehicle set fallback&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| n/a&lt;br /&gt;
| Third Rail&lt;br /&gt;
| G&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| n/a&lt;br /&gt;
| Fourth Rail&lt;br /&gt;
| 3 then G&lt;br /&gt;
|-&lt;br /&gt;
| C&lt;br /&gt;
| n/a&lt;br /&gt;
| Cable&lt;br /&gt;
| G&lt;br /&gt;
|}&lt;br /&gt;
A tramtrack set that only uses specialized types, should map the generic types to the most suitable specialized type in the set with the help of the [[NML:Tramtypes#Tramtype_properties|alternative_tramtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
=== The default labels (ROAD, ELRL) and non-standard labels===&lt;br /&gt;
OpenTTD will allways define ROAD and ELRL incase there are vehicles for them. It is therefore recomended to have these present in the set so that you can map them to appropriete labels from the standard. There are a few ways of doing this:&lt;br /&gt;
*Replacing one of the standardised types with the default label and putting the standardised label in the [[NML:Roadtypes#Roadtype_properties|alternative_roadtype_list (NML)]] or [[NML:Tramtypes#Tramtype_properties|alternative_tramtype_list (NML)]].&lt;br /&gt;
*Defining ROAD and/or ELRL separately from the standardised labels and adding the standard ones to the [[NML:Roadtypes#Roadtype_properties|powered_roadtype_list (NML)]] or [[NML:Tramtypes#Tramtype_properties|powered_tramtype_list (NML)]]. The main advantage of this is that you can use a parameter to map ROAD and/or ELRL to the standardised labels. This allows the player to chose where there non standardised vehicles will be able to go.&lt;br /&gt;
&lt;br /&gt;
Vehicle set authors might want to add the default labels and non-standard labels as a fallback. If not implemented for the defualt labels, their vehicles won&#039;t show up on the default roads and/or tracks, leading to countless bug reports from players. Non standard labels that might be worth adding fallbacks too are: ELRD, RAIL, HAUL and probably some more.&lt;br /&gt;
&lt;br /&gt;
== Summary for Road/Tramtrack sets ==&lt;br /&gt;
This section summarizes the above for road/tramtrack sets.&lt;br /&gt;
&lt;br /&gt;
; [X***] Surface / Type&lt;br /&gt;
* Chose which Surfaces and types you want in your set and give them the correct [[NML:Roadtypes#Roadtype_properties|powered_roadtype_list (NML)]] or [[NML:Tramtypes#Tramtype_properties|powered_tramtype_list (NML)]].&lt;br /&gt;
* If you only provide roads/tramtracks for one surface/type, consider leaving some free road/tramtypes so a player can load an additional set for some other type.&lt;br /&gt;
; [*X**] Speed / Feature&lt;br /&gt;
* Make sure class A is always available.&lt;br /&gt;
* Use B, C and so on if you have multible roads/tramtracks with the otherwise the same label.&lt;br /&gt;
; [**X*] Terrain / Stability &lt;br /&gt;
* Always define classes A through C for every road/tramtrack surface/type energy combination, either:&lt;br /&gt;
** Directly via a real road/tramtype definition;&lt;br /&gt;
** Indirectly via the alternate road/tramtype label list, [[NML:Roadtypes#Roadtype_properties|powered_roadtype_list (NML)]] or [[NML:Tramtypes#Tramtype_properties|powered_tramtype_list (NML)]].&lt;br /&gt;
; [***X] Energy source type class&lt;br /&gt;
* If your set only uses specialized classes, always map the generic classes to the closest matching specialized type via [[NML:Roadtypes#Roadtype_properties|powered_roadtype_list (NML)]] or [[NML:Tramtypes#Tramtype_properties|powered_tramtype_list (NML)]].&lt;br /&gt;
; Default labels [ROAD, ELRL] and non-standard labels&lt;br /&gt;
* Always define the default labels when possible, instead of what would be the equivalent of the default label in this scheme.&lt;br /&gt;
* Map the equivalent labels from this scheme to the default labels using [[NML:Roadtypes#Roadtype_properties|powered_roadtype_list (NML)]] or [[NML:Tramtypes#Tramtype_properties|powered_tramtype_list (NML)]].&lt;br /&gt;
* Map common non-standard labels to the most similar label in this scheme using [[NML:Roadtypes#Roadtype_properties|powered_roadtype_list (NML)]] or [[NML:Tramtypes#Tramtype_properties|powered_tramtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
== Summary for vehicle sets ==&lt;br /&gt;
This section summarizes the above for vehicle sets.&lt;br /&gt;
&lt;br /&gt;
; [X***] Surface / Type&lt;br /&gt;
* Use the surface / type class that matches the vehicle;&lt;br /&gt;
* Define a fallback type via the road/tramtype table in case you want the vehicle to be available on a different road or tramtrack if no matching road/tramtrack set is loaded.&lt;br /&gt;
** Specialized subtypes like &amp;quot;G&amp;quot; might not always be available. If you want those vehicles to be still available then, fall back the the generic class (e.g. &amp;quot;P&amp;quot; or &amp;quot;R&amp;quot;).&lt;br /&gt;
; [*X**] Speed / Feature &lt;br /&gt;
* Always use class A for every vehicle.&lt;br /&gt;
; [**X*] Terrain / Stability&lt;br /&gt;
* Use A, B or C depending on where you want your vehicles to be able to drive.&lt;br /&gt;
** A is used for slow offroad capable vehicles which aren&#039;t allowed on Motorways and similar Roads&lt;br /&gt;
** B is used for vehicles which can drive offroad but are also allowed on Motorways.&lt;br /&gt;
** C is used for vehicles which can&#039;t go offroad or similar.&lt;br /&gt;
** Use B if you aren&#039;t sure what to chose.&lt;br /&gt;
* Never use a or c.&lt;br /&gt;
; [***X] Energy source type class&lt;br /&gt;
* Use the energy source type class that matches the vehicle;&lt;br /&gt;
* When using specialized classes, define a fallback type via the railtype table in case you want the vehicle to be available if no matching track set is loaded.&lt;br /&gt;
; Default labels [ROAD, ELRL] and non-standard labels&lt;br /&gt;
* Define a fallback type to the default labels via the road/tramtype table in case you want the vehicle to be available on the default roads/track if no matching set is loaded.&lt;br /&gt;
* Do the same for any non-standard labels that may be relevant.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Be as specific as you want when selecting the road/tramtype, it is the job of the road/track set to select a playable, reduced subset out of all possible type combinations.&lt;br /&gt;
=== Example of fallback order for vehicle sets ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|- style=&amp;quot;font-style:italic;&amp;quot;&lt;br /&gt;
! Unchanged label&lt;br /&gt;
! Fallback order&lt;br /&gt;
|-&lt;br /&gt;
| GACE (road)&lt;br /&gt;
| GACE -&amp;gt; PACE -&amp;gt; RACE -&amp;gt; (ROAD)&lt;br /&gt;
|-&lt;br /&gt;
| PAB4 (tram)&lt;br /&gt;
| PAB4 -&amp;gt; PAB3 -&amp;gt; PABG -&amp;gt; RAB4 -&amp;gt; RAB3 -&amp;gt; RABG&lt;br /&gt;
|-&lt;br /&gt;
| IAAG (road)&lt;br /&gt;
| IAAG -&amp;gt; RAAG&lt;br /&gt;
|-&lt;br /&gt;
| AACE (road)&lt;br /&gt;
| AACE -&amp;gt; RAAE -&amp;gt; (ELRD)&lt;br /&gt;
|-&lt;br /&gt;
| RABE (tram)&lt;br /&gt;
| RABE -&amp;gt; (ELRL)&lt;br /&gt;
|-&lt;br /&gt;
| PAAN (tram)&lt;br /&gt;
| PAAN -&amp;gt; RAAN -&amp;gt; (RAIL)&lt;br /&gt;
|}&lt;br /&gt;
== Forum topic ==&lt;br /&gt;
Feel free to discuss and ask questions about the scheme at the forum topic [https://www.tt-forums.net/viewtopic.php?t=90715 Here].&lt;br /&gt;
&lt;br /&gt;
=== Possible additions ===&lt;br /&gt;
To be discussed in the forum topic...&lt;br /&gt;
&lt;br /&gt;
==== Surface / Type [X***] ====&lt;br /&gt;
Describes the road surface / rail type and thus the vehicle type.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tramtype:&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|- style=&amp;quot;font-style:italic;&amp;quot;&lt;br /&gt;
! Letter&lt;br /&gt;
! Meaning (Tram)&lt;br /&gt;
! Powered Tramtypes&lt;br /&gt;
! Recomended vehicle set fallbacks&lt;br /&gt;
|-&lt;br /&gt;
| Z&lt;br /&gt;
| Deep-Bore Metro&lt;br /&gt;
| (For subsurface logistics systems that are normally never visible on the surface)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| z&lt;br /&gt;
| Passenger-only (Deep-Bore Metro)&lt;br /&gt;
| (For subsurface metro systems that are normally never visible on the surface)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| X or x&lt;br /&gt;
| Multiple guidance systems or guages&lt;br /&gt;
| (Depends on intent; only two tramtype rail system combinations can exist for a given set of standardized labels - i.e. XABE and xABE - making it necessary to plan accordingly)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0 (#)&lt;br /&gt;
| Invisible&lt;br /&gt;
| For invisible tramtypes; Fallback for INVI, BKVI, 0000 and other &amp;quot;null&amp;quot; tramtypes&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Terrain / Stability [**X*] ====&lt;br /&gt;
Describes the roughness of the road surface / trackbed stability, and thus the vehicle tier. &#039;&#039;(This is edited to include the potential &amp;quot;Low Clearance&amp;quot; hidden roadtype.)&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|- style=&amp;quot;font-style:italic;&amp;quot;&lt;br /&gt;
! Letter&lt;br /&gt;
! Meaning&lt;br /&gt;
! Powered Roadtypes&lt;br /&gt;
|-&lt;br /&gt;
| a&lt;br /&gt;
| Very slow / rough / light&lt;br /&gt;
| aA&lt;br /&gt;
|-&lt;br /&gt;
| A&lt;br /&gt;
| Slow / rough / light&lt;br /&gt;
| aAB&lt;br /&gt;
|-&lt;br /&gt;
| B&lt;br /&gt;
| Regular&lt;br /&gt;
| ABC&lt;br /&gt;
|-&lt;br /&gt;
| b&lt;br /&gt;
| Regular (Low clearance)&lt;br /&gt;
| ABC&lt;br /&gt;
|-&lt;br /&gt;
| C&lt;br /&gt;
| Fast / stable&lt;br /&gt;
| BCc&lt;br /&gt;
|-&lt;br /&gt;
| c&lt;br /&gt;
| Very fast / stable&lt;br /&gt;
| Cc&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
If all classes aren&#039;t defined by the road set, the other ones should be in the [[NML:Roadtypes#Roadtype_properties|alternative_roadtype_list (NML)]]. The same goes for tramtypes: [[NML:Tramtypes#Tramtype_properties|alternative_tramtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
Road vehicle sets should not implement fallbacks for terrain / stability. Class &amp;quot;b&amp;quot; should only be used for a hidden roadtype, such as &amp;quot;RAbN&amp;quot;, &amp;quot;PAbN&amp;quot; and electrified variants. This is optional, but if used it should be applied to the [[NML:Vehicles#Road_vehicle_properties|roadtype (NML) or tram_type (NML)]] property of all vehicles able to travel under the relevant low-clearance obstacles.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;As a frame of reference, realistically &amp;quot;RAbN&amp;quot; should be used for all eye-candy cars small cargo vans and single-decker non-electrified cargo trams, while trucks (excluding trolleytrucks) and non-electrified double-decker trams should default to &amp;quot;RABN&amp;quot;. &amp;quot;RAbE&amp;quot; and other powered vehicles should be used by trolleytrucks and electric cargo trams (excluding double-decker trams). &amp;quot;PAbN&amp;quot; should be used by double-decker busses, and most non-electric trams (excluding double-decker trams). &amp;quot;PAbE&amp;quot; should be used by most passenger trams, excluding double-decker passenger trams. For other energy sources, the instructions for&amp;quot;RAbE&amp;quot; and &amp;quot;PAbE&amp;quot; can easily be adapted for any other power source (&amp;quot;RAbG&amp;quot; and &amp;quot;PAbG&amp;quot;, &amp;quot;RAbI&amp;quot; and &amp;quot;PAbI&amp;quot;, etc.).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Classes &amp;quot;a&amp;quot; and &amp;quot;c&amp;quot; are entirely optional for road/tramtype sets and should under no circumstances be used by vehicles.&lt;br /&gt;
&lt;br /&gt;
Class &amp;quot;b&amp;quot; is also optional for road/tramtype sets but should have ROADTYPE_FLAG_HIDDEN set in the bitmask of [[NML:Roadtypes#Roadtype_properties|roadtype_flags (NML)]]. Instead, a low-clearance variant of a standardized roadtype or tramtype should be compatible with all other standard classes (&amp;quot;a&amp;quot;, &amp;quot;A&amp;quot;, B&amp;quot;, &amp;quot;C&amp;quot; and &amp;quot;c&amp;quot;) using the [[NML:Roadtypes#Roadtype_properties|powered_roadtype_list (NML)]] in a road/tramtype set that sets the standardized labels (i.e. &amp;quot;RAbN&amp;quot; should be used for small cargo vans and must fallback to &amp;quot;RAaN, RAAN, RABN, RACN, RAcN&amp;quot;, and &amp;quot;PAbE&amp;quot; should be used by all busses and must fallback to &amp;quot;PAaN, PAAN, PABN, PACN, PAcN&amp;quot;). If a complex roadtype (i.e. RAaN) needs a low-clearance variant, create a non-standard label (i.e. XMPL), then define the relevant standard labels (RAaN in this case, and RAbN in turn) in the [[NML:Roadtypes#Roadtype_properties|alternative_roadtype_list (NML)]] of the non-standard label (XMPL), and define the entire class of labels (RAaN, RAAN, RABN, RAbN, RACN, RAcN) in the [[NML:Roadtypes#Roadtype_properties|powered_roadtype_list (NML)]] of the non-standard label (XMPL).&lt;br /&gt;
&lt;br /&gt;
==== Energy [***X] ====&lt;br /&gt;
Describes the energy source of the track / vehicle.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Generic classes:&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|- style=&amp;quot;font-style:italic;&amp;quot;&lt;br /&gt;
! Letter&lt;br /&gt;
! Meaning (Road)&lt;br /&gt;
! Meaning (Tram)&lt;br /&gt;
! Vehicle set fallback&lt;br /&gt;
|-&lt;br /&gt;
| I&lt;br /&gt;
| Induction-charge electrified&lt;br /&gt;
| Induction-charge electrified&lt;br /&gt;
| Z then E then G&lt;br /&gt;
|-&lt;br /&gt;
| i&lt;br /&gt;
| Eyecandy/Pipeline Infrastructure&lt;br /&gt;
| Eyecandy/Electric &amp;amp; Telecom Infrastructure&lt;br /&gt;
| I then Z then G then E&lt;br /&gt;
|-&lt;br /&gt;
| L&lt;br /&gt;
| Reclaimed Elevated Rail Eco-Park&lt;br /&gt;
| Elevated Rail&lt;br /&gt;
| I then Z then E then G then N&lt;br /&gt;
|-&lt;br /&gt;
| P&lt;br /&gt;
| No Commercial Vehicles/Parking Lot (restricted roads for RABN-compatible cars that busses and trucks cannot use; eye candy cars should use RAbP as the primary label if intended to support this)&lt;br /&gt;
| &amp;quot;PneuMetro&amp;quot; (Pneumatic Metro/Subway)&lt;br /&gt;
| I then N then i (Roadtype); N/A (Tramtype)&lt;br /&gt;
|-&lt;br /&gt;
| S&lt;br /&gt;
| &amp;quot;SolaRoad&amp;quot; (Solar Roadway) or &amp;quot;SmartStreet&amp;quot; (smartgrid network-enabled roads)&lt;br /&gt;
| Superscience/Supernatural/Special (For anything that isn&#039;t fuel and isn&#039;t based on any real energy source; psychokinetic, mana, creative energy, etc.)&lt;br /&gt;
| I then Z then E then G then N&lt;br /&gt;
|-&lt;br /&gt;
| V&lt;br /&gt;
| Viaduct/Voltaic Variant (For a second bridge variant of a road, or a trolleybus variant of a road with limited overhead clearance)&lt;br /&gt;
| &amp;quot;VacTube&amp;quot; (VacTrain Metro/Subway)&lt;br /&gt;
| P (Roadtype); N/A (Tramtype)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Specialized classes:&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|- style=&amp;quot;font-style:italic;&amp;quot;&lt;br /&gt;
! Letter&lt;br /&gt;
! Meaning (Road)&lt;br /&gt;
! Meaning (Tram)&lt;br /&gt;
! Vehicle set fallback&lt;br /&gt;
|-&lt;br /&gt;
| X&lt;br /&gt;
| Multiple systems of electricity&lt;br /&gt;
| Multiple systems of electricity&lt;br /&gt;
| Use with surface X or x (e.g. XABX and xABX) or surface R (road, or a rail-based tramtype). For use only when at least one standardized label is an energy supply and multiple non-conflicting energy types are all at the same level, such as electrified, ground electrified and induction-charging overlap; Do not set powered_railtype_list for these, instead use alternative_railtype_list.&lt;br /&gt;
|-&lt;br /&gt;
| x&lt;br /&gt;
| N/A&lt;br /&gt;
| Multiple systems of guidance, incompatible&lt;br /&gt;
| Use this with surface x (e.g. xABx) or the surface systems (e.g. SABx, RABx, MABx). For use when tramtypes are at different heights but all are fundamentally incompatible (i.e. suspended monorail, trackless tram and pneumatic metro); Do not set powered_railtype_list for these, instead use alternative_railtype_list.&lt;br /&gt;
|-&lt;br /&gt;
| 0-2 &amp;amp; 5-9&lt;br /&gt;
| N/A&lt;br /&gt;
| Multiple systems of guidance, mix of compatible/incompatible&lt;br /&gt;
| For use when tramtypes are a mix of compatible and fundamentally incompatible (i.e. electrified, ground electrified, trackless tram, suspended monorail, tram and pneumatic metro); Do not set powered_railtype_list for these, instead use alternative_railtype_list, or define these in another label&#039;s powered_railtype_list (i.e. XAB0/XAB1/XAB2/XAB5/.../XAB9 for XABN/XABE/XABX and RAB0/RAB1/RAB2/RAB5/.../RAB9 for RABN/RABE/RABX).&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Lurkmore</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=Standardized_Roadtype_Scheme&amp;diff=4703</id>
		<title>Standardized Roadtype Scheme</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=Standardized_Roadtype_Scheme&amp;diff=4703"/>
		<updated>2024-01-11T22:56:04Z</updated>

		<summary type="html">&lt;p&gt;Lurkmore: /* Energy [***X] */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This scheme was originally conceived in order to decrease the amount of necessary hidden road and tramtrack types. This is done by standardizing which labels vehicles and infrastructure should use. The standard also allows for more gameplay depth by having the option to limit vehicles to certain types of roads. It does similarly to the railtype scheme allow mixing of any vehicle set with any infrastructure set. It does however not allow multiple infrastructure sets to be used at the same time. It does not prevent it but all of the sets used have to be made to be used with each other, or use different surfaces/types which don&#039;t conflict with each other. The standard sets no limit on how vehicle sets can be used.&lt;br /&gt;
&lt;br /&gt;
It is ultimately up to the infrastructure set to chose what roadtypes are available and thereby what vehicles are available. Infrastructure and vehicles can both be in the same set, it is however recommended to be able to disable the infrastructure with parameters (preferably on an individual basis per roadtype) in case the player wants to use a different set for their infrastructure.&lt;br /&gt;
&lt;br /&gt;
* While this is a guide rather than a hard rule, it is recommended to think of standardized roadtypes vs. &amp;quot;fancy&amp;quot; roadtypes (not a default - ROAD for roadtypes, ELRL for tramtypes - and not to this standard; for example &amp;quot;FNCY&amp;quot;, &amp;quot;HAUL&amp;quot; and &amp;quot;NSTD&amp;quot; would be fancy labels) as a microcosm of the difference between a base set (OpenGFX) and a NewGRF that provides new graphics; The goal is for a basic roadtype set to cover as many standardized labels as is appropriate, and leave the more niche uses of the system to another set. This reduces the number of necessary roadtypes to a bare minimum, allowing optional roadtypes more room to cover corner cases.&lt;br /&gt;
** The reason to keep the above in mind is that if done in this way the effect works very differently than railtypes, where the primary concern is to allow gauge, energy source and so on to exist and bind trains from all sets to only the logically compatible railtypes. Roads and, by extension, streetcar tracks are more compatible with vehicles but also have much more variation. This is complicated by game engine limitations; only 60 - or 61 without ELRL - tracktype slots exist in recent versions of OpenTTD, but reaching that limit is usually a non-issue. Roadtypes and Tramtypes are considered the same on that front by the game engine, leaving 62 tramtypes - 64, including ROAD and ELRL - to be split in a pool between the two.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Surface / Type [X***] ===&lt;br /&gt;
Describes the road surface / rail type and thus the vehicle type.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roadtype:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|- style=&amp;quot;font-style:italic;&amp;quot;&lt;br /&gt;
! Letter&lt;br /&gt;
! Meaning (Road)&lt;br /&gt;
! Powered Roadtypes&lt;br /&gt;
! Recomended vehicle set fallbacks&lt;br /&gt;
|-&lt;br /&gt;
| R&lt;br /&gt;
| Regular Road&lt;br /&gt;
| RI(S)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P&lt;br /&gt;
| Passenger-only&lt;br /&gt;
| RPI(S)&lt;br /&gt;
| R&lt;br /&gt;
|-&lt;br /&gt;
| G&lt;br /&gt;
| Guided busway&lt;br /&gt;
| RPG&lt;br /&gt;
| P then R&lt;br /&gt;
|-&lt;br /&gt;
| I&lt;br /&gt;
| Industrial Site (ISR)&lt;br /&gt;
| I&lt;br /&gt;
| R&lt;br /&gt;
|-&lt;br /&gt;
| B&lt;br /&gt;
| Bicycle Lane&lt;br /&gt;
| RB(Z)&lt;br /&gt;
| R&lt;br /&gt;
|-&lt;br /&gt;
| W&lt;br /&gt;
| Waterway&lt;br /&gt;
| W&lt;br /&gt;
|-&lt;br /&gt;
| A&lt;br /&gt;
| Amphibious on road (hidden)&lt;br /&gt;
| RPI(S)W&lt;br /&gt;
| R&lt;br /&gt;
|-&lt;br /&gt;
| S&lt;br /&gt;
| Snowy or Iced Track&lt;br /&gt;
| S&lt;br /&gt;
|-&lt;br /&gt;
| a&lt;br /&gt;
| Amphibious on snow (hidden)&lt;br /&gt;
| SW&lt;br /&gt;
| S&lt;br /&gt;
|-&lt;br /&gt;
| Z&lt;br /&gt;
| Pedestrian Zone&lt;br /&gt;
| Z&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| E&lt;br /&gt;
| Eyecandy&lt;br /&gt;
| E&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| p&lt;br /&gt;
| Pump/Pipeline&lt;br /&gt;
| p&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tramtype:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|- style=&amp;quot;font-style:italic;&amp;quot;&lt;br /&gt;
! Letter&lt;br /&gt;
! Meaning (Tram)&lt;br /&gt;
! Powered Tramtypes&lt;br /&gt;
! Recomended vehicle set fallbacks&lt;br /&gt;
|-&lt;br /&gt;
| R&lt;br /&gt;
| Regular Rail (Metre Gauge)&lt;br /&gt;
| RI(M)&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| P&lt;br /&gt;
| Passenger-only (Metre Gauge)&lt;br /&gt;
| RPI(M)&lt;br /&gt;
| R&lt;br /&gt;
|-&lt;br /&gt;
| I&lt;br /&gt;
| Industrial Site (ISR)&lt;br /&gt;
| I&lt;br /&gt;
| R&lt;br /&gt;
|-&lt;br /&gt;
| X or x&lt;br /&gt;
| Multiple guidance systems or guages&lt;br /&gt;
| (Depends on intent; only two tramtype rail system combinations can exist for a given set of standardized labels - i.e. XABE and xABE - making it necessary to plan accordingly; to facilitate the most common combination, the &amp;quot;r&amp;quot; label functions as a single label for all three common real world tram gauges and should be considered a third option for use only with dual rail trams)&lt;br /&gt;
|-&lt;br /&gt;
| s&lt;br /&gt;
| Regular Rail (Standard Gauge)&lt;br /&gt;
| r(x)&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| p&lt;br /&gt;
| Passenger-only (Standard Gauge)&lt;br /&gt;
| r(x)&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| r&lt;br /&gt;
| Multi-gauge Rail (Standard Gauge, Metre Gauge, 600mm Gauge)&lt;br /&gt;
| x&lt;br /&gt;
| P or p, depending on the vehicle&#039;s gauge (City tram); R, s or 6, depending on the vehicle&#039;s gauge (Cargo tram)&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| Industrial Tramway (600mm Gauge - default tramway rails graphics)&lt;br /&gt;
| r(x)&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| B&lt;br /&gt;
| Bicycle Lane&lt;br /&gt;
| (R)B&lt;br /&gt;
| R&lt;br /&gt;
|-&lt;br /&gt;
| S&lt;br /&gt;
| Suspended Monorail&lt;br /&gt;
| S&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| M&lt;br /&gt;
| Metro&lt;br /&gt;
| M(RP)&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| O&lt;br /&gt;
| Trackless trams&lt;br /&gt;
| O&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| E&lt;br /&gt;
| Eyecandy/Electrical infrastructure&lt;br /&gt;
| E&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
It is the vehicle set&#039;s responsibility to implement fallbacks to other appropriate surfaces. It is also up to the author to decide if they want to do it or not. This means that road/tramtrack sets shouldn&#039;t add these to their [[NML:Roadtypes#Roadtype_properties|alternative_roadtype_list (NML)]] and [[NML:Tramtypes#Tramtype_properties|alternative_tramtype_list (NML)]]&lt;br /&gt;
&lt;br /&gt;
It is up to the track set to implement all powered roadtypes in the [[NML:Roadtypes#Roadtype_properties|powered_roadtype_list (NML)]]. The same goes for tramtypes: [[NML:Tramtypes#Tramtype_properties|powered_tramtype_list (NML)]]. It is further advised to implement support for the roadtypes/tramtypes in brackets, if applicable.&lt;br /&gt;
&lt;br /&gt;
Hidden roadtypes for compatibility should be implemented by road sets. It is up to the author to decide if they want to implement it as a hidden roadtype or not.&lt;br /&gt;
&lt;br /&gt;
=== Speed / Feature [*X**] ===&lt;br /&gt;
Any character may be used for roads, but at least one road must have &amp;quot;A&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
Vehicles should use &amp;quot;A&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Terrain / Stability [**X*] ===&lt;br /&gt;
Describes the roughness of the road surface / trackbed stability, and thus the vehicle tier.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|- style=&amp;quot;font-style:italic;&amp;quot;&lt;br /&gt;
! Letter&lt;br /&gt;
! Meaning&lt;br /&gt;
! Powered Roadtypes&lt;br /&gt;
|-&lt;br /&gt;
| a&lt;br /&gt;
| Very slow / rough / light&lt;br /&gt;
| aA&lt;br /&gt;
|-&lt;br /&gt;
| A&lt;br /&gt;
| Slow / rough / light&lt;br /&gt;
| aAB&lt;br /&gt;
|-&lt;br /&gt;
| B&lt;br /&gt;
| Regular&lt;br /&gt;
| ABC&lt;br /&gt;
|-&lt;br /&gt;
| C&lt;br /&gt;
| Fast / stable&lt;br /&gt;
| BCc&lt;br /&gt;
|-&lt;br /&gt;
| c&lt;br /&gt;
| Very fast / stable&lt;br /&gt;
| Cc&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
If all classes aren&#039;t defined by the road set, the other ones should be in the [[NML:Roadtypes#Roadtype_properties|alternative_roadtype_list (NML)]]. The same goes for tramtypes: [[NML:Tramtypes#Tramtype_properties|alternative_tramtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
Road vehicle sets should not implement fallbacks for terrain / stability.&lt;br /&gt;
&lt;br /&gt;
Classes &amp;quot;a&amp;quot; and &amp;quot;c&amp;quot; are entirely optional for road/tramtype sets and should under no circumstances be used by vehicles.&lt;br /&gt;
&lt;br /&gt;
=== Energy [***X] ===&lt;br /&gt;
Describes the energy source of the track / vehicle.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Generic classes:&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|- style=&amp;quot;font-style:italic;&amp;quot;&lt;br /&gt;
! Letter&lt;br /&gt;
! Meaning (Road)&lt;br /&gt;
! Meaning (Tram)&lt;br /&gt;
! Vehicle set fallback&lt;br /&gt;
|-&lt;br /&gt;
| N&lt;br /&gt;
| None&lt;br /&gt;
| None&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| E&lt;br /&gt;
| Overhead electrified (Catenary)&lt;br /&gt;
| Overhead electrified (Catenary)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| G&lt;br /&gt;
| Ground electrified&lt;br /&gt;
| Ground electrified&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Z&lt;br /&gt;
| Ground and overhead electrified&lt;br /&gt;
| Ground and overhead electrified&lt;br /&gt;
| E or G&lt;br /&gt;
|}&lt;br /&gt;
&#039;&#039;&#039;Specialized classes:&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|- style=&amp;quot;font-style:italic;&amp;quot;&lt;br /&gt;
! Letter&lt;br /&gt;
! Meaning (Road)&lt;br /&gt;
! Meaning (Tram)&lt;br /&gt;
! Vehicle set fallback&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| n/a&lt;br /&gt;
| Third Rail&lt;br /&gt;
| G&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| n/a&lt;br /&gt;
| Fourth Rail&lt;br /&gt;
| 3 then G&lt;br /&gt;
|-&lt;br /&gt;
| C&lt;br /&gt;
| n/a&lt;br /&gt;
| Cable&lt;br /&gt;
| G&lt;br /&gt;
|}&lt;br /&gt;
A tramtrack set that only uses specialized types, should map the generic types to the most suitable specialized type in the set with the help of the [[NML:Tramtypes#Tramtype_properties|alternative_tramtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
=== The default labels (ROAD, ELRL) and non-standard labels===&lt;br /&gt;
OpenTTD will allways define ROAD and ELRL incase there are vehicles for them. It is therefore recomended to have these present in the set so that you can map them to appropriete labels from the standard. There are a few ways of doing this:&lt;br /&gt;
*Replacing one of the standardised types with the default label and putting the standardised label in the [[NML:Roadtypes#Roadtype_properties|alternative_roadtype_list (NML)]] or [[NML:Tramtypes#Tramtype_properties|alternative_tramtype_list (NML)]].&lt;br /&gt;
*Defining ROAD and/or ELRL separately from the standardised labels and adding the standard ones to the [[NML:Roadtypes#Roadtype_properties|powered_roadtype_list (NML)]] or [[NML:Tramtypes#Tramtype_properties|powered_tramtype_list (NML)]]. The main advantage of this is that you can use a parameter to map ROAD and/or ELRL to the standardised labels. This allows the player to chose where there non standardised vehicles will be able to go.&lt;br /&gt;
&lt;br /&gt;
Vehicle set authors might want to add the default labels and non-standard labels as a fallback. If not implemented for the defualt labels, their vehicles won&#039;t show up on the default roads and/or tracks, leading to countless bug reports from players. Non standard labels that might be worth adding fallbacks too are: ELRD, RAIL, HAUL and probably some more.&lt;br /&gt;
&lt;br /&gt;
== Summary for Road/Tramtrack sets ==&lt;br /&gt;
This section summarizes the above for road/tramtrack sets.&lt;br /&gt;
&lt;br /&gt;
; [X***] Surface / Type&lt;br /&gt;
* Chose which Surfaces and types you want in your set and give them the correct [[NML:Roadtypes#Roadtype_properties|powered_roadtype_list (NML)]] or [[NML:Tramtypes#Tramtype_properties|powered_tramtype_list (NML)]].&lt;br /&gt;
* If you only provide roads/tramtracks for one surface/type, consider leaving some free road/tramtypes so a player can load an additional set for some other type.&lt;br /&gt;
; [*X**] Speed / Feature&lt;br /&gt;
* Make sure class A is always available.&lt;br /&gt;
* Use B, C and so on if you have multible roads/tramtracks with the otherwise the same label.&lt;br /&gt;
; [**X*] Terrain / Stability &lt;br /&gt;
* Always define classes A through C for every road/tramtrack surface/type energy combination, either:&lt;br /&gt;
** Directly via a real road/tramtype definition;&lt;br /&gt;
** Indirectly via the alternate road/tramtype label list, [[NML:Roadtypes#Roadtype_properties|powered_roadtype_list (NML)]] or [[NML:Tramtypes#Tramtype_properties|powered_tramtype_list (NML)]].&lt;br /&gt;
; [***X] Energy source type class&lt;br /&gt;
* If your set only uses specialized classes, always map the generic classes to the closest matching specialized type via [[NML:Roadtypes#Roadtype_properties|powered_roadtype_list (NML)]] or [[NML:Tramtypes#Tramtype_properties|powered_tramtype_list (NML)]].&lt;br /&gt;
; Default labels [ROAD, ELRL] and non-standard labels&lt;br /&gt;
* Always define the default labels when possible, instead of what would be the equivalent of the default label in this scheme.&lt;br /&gt;
* Map the equivalent labels from this scheme to the default labels using [[NML:Roadtypes#Roadtype_properties|powered_roadtype_list (NML)]] or [[NML:Tramtypes#Tramtype_properties|powered_tramtype_list (NML)]].&lt;br /&gt;
* Map common non-standard labels to the most similar label in this scheme using [[NML:Roadtypes#Roadtype_properties|powered_roadtype_list (NML)]] or [[NML:Tramtypes#Tramtype_properties|powered_tramtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
== Summary for vehicle sets ==&lt;br /&gt;
This section summarizes the above for vehicle sets.&lt;br /&gt;
&lt;br /&gt;
; [X***] Surface / Type&lt;br /&gt;
* Use the surface / type class that matches the vehicle;&lt;br /&gt;
* Define a fallback type via the road/tramtype table in case you want the vehicle to be available on a different road or tramtrack if no matching road/tramtrack set is loaded.&lt;br /&gt;
** Specialized subtypes like &amp;quot;G&amp;quot; might not always be available. If you want those vehicles to be still available then, fall back the the generic class (e.g. &amp;quot;P&amp;quot; or &amp;quot;R&amp;quot;).&lt;br /&gt;
; [*X**] Speed / Feature &lt;br /&gt;
* Always use class A for every vehicle.&lt;br /&gt;
; [**X*] Terrain / Stability&lt;br /&gt;
* Use A, B or C depending on where you want your vehicles to be able to drive.&lt;br /&gt;
** A is used for slow offroad capable vehicles which aren&#039;t allowed on Motorways and similar Roads&lt;br /&gt;
** B is used for vehicles which can drive offroad but are also allowed on Motorways.&lt;br /&gt;
** C is used for vehicles which can&#039;t go offroad or similar.&lt;br /&gt;
** Use B if you aren&#039;t sure what to chose.&lt;br /&gt;
* Never use a or c.&lt;br /&gt;
; [***X] Energy source type class&lt;br /&gt;
* Use the energy source type class that matches the vehicle;&lt;br /&gt;
* When using specialized classes, define a fallback type via the railtype table in case you want the vehicle to be available if no matching track set is loaded.&lt;br /&gt;
; Default labels [ROAD, ELRL] and non-standard labels&lt;br /&gt;
* Define a fallback type to the default labels via the road/tramtype table in case you want the vehicle to be available on the default roads/track if no matching set is loaded.&lt;br /&gt;
* Do the same for any non-standard labels that may be relevant.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Be as specific as you want when selecting the road/tramtype, it is the job of the road/track set to select a playable, reduced subset out of all possible type combinations.&lt;br /&gt;
=== Example of fallback order for vehicle sets ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|- style=&amp;quot;font-style:italic;&amp;quot;&lt;br /&gt;
! Unchanged label&lt;br /&gt;
! Fallback order&lt;br /&gt;
|-&lt;br /&gt;
| GACE (road)&lt;br /&gt;
| GACE -&amp;gt; PACE -&amp;gt; RACE -&amp;gt; (ROAD)&lt;br /&gt;
|-&lt;br /&gt;
| PAB4 (tram)&lt;br /&gt;
| PAB4 -&amp;gt; PAB3 -&amp;gt; PABG -&amp;gt; RAB4 -&amp;gt; RAB3 -&amp;gt; RABG&lt;br /&gt;
|-&lt;br /&gt;
| IAAG (road)&lt;br /&gt;
| IAAG -&amp;gt; RAAG&lt;br /&gt;
|-&lt;br /&gt;
| AACE (road)&lt;br /&gt;
| AACE -&amp;gt; RAAE -&amp;gt; (ELRD)&lt;br /&gt;
|-&lt;br /&gt;
| RABE (tram)&lt;br /&gt;
| RABE -&amp;gt; (ELRL)&lt;br /&gt;
|-&lt;br /&gt;
| PAAN (tram)&lt;br /&gt;
| PAAN -&amp;gt; RAAN -&amp;gt; (RAIL)&lt;br /&gt;
|}&lt;br /&gt;
== Forum topic ==&lt;br /&gt;
Feel free to discuss and ask questions about the scheme at the forum topic [https://www.tt-forums.net/viewtopic.php?t=90715 Here].&lt;br /&gt;
&lt;br /&gt;
=== Possible additions ===&lt;br /&gt;
To be discussed in the forum topic...&lt;br /&gt;
&lt;br /&gt;
==== Surface / Type [X***] ====&lt;br /&gt;
Describes the road surface / rail type and thus the vehicle type.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tramtype:&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|- style=&amp;quot;font-style:italic;&amp;quot;&lt;br /&gt;
! Letter&lt;br /&gt;
! Meaning (Tram)&lt;br /&gt;
! Powered Tramtypes&lt;br /&gt;
! Recomended vehicle set fallbacks&lt;br /&gt;
|-&lt;br /&gt;
| Z&lt;br /&gt;
| Deep-Bore Metro&lt;br /&gt;
| (For subsurface logistics systems that are normally never visible on the surface)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| z&lt;br /&gt;
| Passenger-only (Deep-Bore Metro)&lt;br /&gt;
| (For subsurface metro systems that are normally never visible on the surface)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| X or x&lt;br /&gt;
| Multiple guidance systems or guages&lt;br /&gt;
| (Depends on intent; only two tramtype rail system combinations can exist for a given set of standardized labels - i.e. XABE and xABE - making it necessary to plan accordingly)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0 (#)&lt;br /&gt;
| Invisible&lt;br /&gt;
| For invisible tramtypes; Fallback for INVI, BKVI, 0000 and other &amp;quot;null&amp;quot; tramtypes&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Terrain / Stability [**X*] ====&lt;br /&gt;
Describes the roughness of the road surface / trackbed stability, and thus the vehicle tier. &#039;&#039;(This is edited to include the potential &amp;quot;Low Clearance&amp;quot; hidden roadtype.)&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|- style=&amp;quot;font-style:italic;&amp;quot;&lt;br /&gt;
! Letter&lt;br /&gt;
! Meaning&lt;br /&gt;
! Powered Roadtypes&lt;br /&gt;
|-&lt;br /&gt;
| a&lt;br /&gt;
| Very slow / rough / light&lt;br /&gt;
| aA&lt;br /&gt;
|-&lt;br /&gt;
| A&lt;br /&gt;
| Slow / rough / light&lt;br /&gt;
| aAB&lt;br /&gt;
|-&lt;br /&gt;
| B&lt;br /&gt;
| Regular&lt;br /&gt;
| ABC&lt;br /&gt;
|-&lt;br /&gt;
| b&lt;br /&gt;
| Regular (Low clearance)&lt;br /&gt;
| ABC&lt;br /&gt;
|-&lt;br /&gt;
| C&lt;br /&gt;
| Fast / stable&lt;br /&gt;
| BCc&lt;br /&gt;
|-&lt;br /&gt;
| c&lt;br /&gt;
| Very fast / stable&lt;br /&gt;
| Cc&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
If all classes aren&#039;t defined by the road set, the other ones should be in the [[NML:Roadtypes#Roadtype_properties|alternative_roadtype_list (NML)]]. The same goes for tramtypes: [[NML:Tramtypes#Tramtype_properties|alternative_tramtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
Road vehicle sets should not implement fallbacks for terrain / stability. Class &amp;quot;b&amp;quot; should only be used for a hidden roadtype, such as &amp;quot;RAbN&amp;quot;, &amp;quot;PAbN&amp;quot; and electrified variants. This is optional, but if used it should be applied to the [[NML:Vehicles#Road_vehicle_properties|roadtype (NML) or tram_type (NML)]] property of all vehicles able to travel under the relevant low-clearance obstacles.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;As a frame of reference, realistically &amp;quot;RAbN&amp;quot; should be used for all eye-candy cars small cargo vans and single-decker non-electrified cargo trams, while trucks (excluding trolleytrucks) and non-electrified double-decker trams should default to &amp;quot;RABN&amp;quot;. &amp;quot;RAbE&amp;quot; and other powered vehicles should be used by trolleytrucks and electric cargo trams (excluding double-decker trams). &amp;quot;PAbN&amp;quot; should be used by double-decker busses, and most non-electric trams (excluding double-decker trams). &amp;quot;PAbE&amp;quot; should be used by most passenger trams, excluding double-decker passenger trams. For other energy sources, the instructions for&amp;quot;RAbE&amp;quot; and &amp;quot;PAbE&amp;quot; can easily be adapted for any other power source (&amp;quot;RAbG&amp;quot; and &amp;quot;PAbG&amp;quot;, &amp;quot;RAbI&amp;quot; and &amp;quot;PAbI&amp;quot;, etc.).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Classes &amp;quot;a&amp;quot; and &amp;quot;c&amp;quot; are entirely optional for road/tramtype sets and should under no circumstances be used by vehicles.&lt;br /&gt;
&lt;br /&gt;
Class &amp;quot;b&amp;quot; is also optional for road/tramtype sets but should have ROADTYPE_FLAG_HIDDEN set in the bitmask of [[NML:Roadtypes#Roadtype_properties|roadtype_flags (NML)]]. Instead, a low-clearance variant of a standardized roadtype or tramtype should be compatible with all other standard classes (&amp;quot;a&amp;quot;, &amp;quot;A&amp;quot;, B&amp;quot;, &amp;quot;C&amp;quot; and &amp;quot;c&amp;quot;) using the [[NML:Roadtypes#Roadtype_properties|powered_roadtype_list (NML)]] in a road/tramtype set that sets the standardized labels (i.e. &amp;quot;RAbN&amp;quot; should be used for small cargo vans and must fallback to &amp;quot;RAaN, RAAN, RABN, RACN, RAcN&amp;quot;, and &amp;quot;PAbE&amp;quot; should be used by all busses and must fallback to &amp;quot;PAaN, PAAN, PABN, PACN, PAcN&amp;quot;). If a complex roadtype (i.e. RAaN) needs a low-clearance variant, create a non-standard label (i.e. XMPL), then define the relevant standard labels (RAaN in this case, and RAbN in turn) in the [[NML:Roadtypes#Roadtype_properties|alternative_roadtype_list (NML)]] of the non-standard label (XMPL), and define the entire class of labels (RAaN, RAAN, RABN, RAbN, RACN, RAcN) in the [[NML:Roadtypes#Roadtype_properties|powered_roadtype_list (NML)]] of the non-standard label (XMPL).&lt;br /&gt;
&lt;br /&gt;
==== Energy [***X] ====&lt;br /&gt;
Describes the energy source of the track / vehicle.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Generic classes:&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|- style=&amp;quot;font-style:italic;&amp;quot;&lt;br /&gt;
! Letter&lt;br /&gt;
! Meaning (Road)&lt;br /&gt;
! Meaning (Tram)&lt;br /&gt;
! Vehicle set fallback&lt;br /&gt;
|-&lt;br /&gt;
| I&lt;br /&gt;
| Induction-charge electrified&lt;br /&gt;
| Induction-charge electrified&lt;br /&gt;
| Z then E then G&lt;br /&gt;
|-&lt;br /&gt;
| i&lt;br /&gt;
| Eyecandy/Pipeline Infrastructure&lt;br /&gt;
| Eyecandy/Electric &amp;amp; Telecom Infrastructure&lt;br /&gt;
| I then Z then G then E&lt;br /&gt;
|-&lt;br /&gt;
| L&lt;br /&gt;
| Reclaimed Elevated Rail Eco-Park&lt;br /&gt;
| Elevated Rail&lt;br /&gt;
| I then Z then E then G then N&lt;br /&gt;
|-&lt;br /&gt;
| P&lt;br /&gt;
| No Commercial Vehicles/Parking Lot (restricted roads for RABN-compatible cars that busses and trucks cannot use; eye candy cars should use RAbP as the primary label if intended to support this)&lt;br /&gt;
| &amp;quot;PneuMetro&amp;quot; (Pneumatic Metro/Subway)&lt;br /&gt;
| I then N then i (Roadtype); N/A (Tramtype)&lt;br /&gt;
|-&lt;br /&gt;
| S&lt;br /&gt;
| &amp;quot;SolaRoad&amp;quot; (Solar Roadway) or &amp;quot;SmartStreet&amp;quot; (smartgrid network-enabled roads)&lt;br /&gt;
| Superscience/Supernatural/Special (For anything that isn&#039;t fuel and isn&#039;t based on any real energy source; psychokinetic, mana, creative energy, etc.)&lt;br /&gt;
| I then Z then E then G then N&lt;br /&gt;
|-&lt;br /&gt;
| V&lt;br /&gt;
| Viaduct/Voltaic Variant (For a second bridge variant of a road, or a trolleybus variant of a road with limited overhead clearance)&lt;br /&gt;
| &amp;quot;VacTube&amp;quot; (VacTrain Metro/Subway)&lt;br /&gt;
| P (Roadtype); N/A (Tramtype)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Specialized classes:&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|- style=&amp;quot;font-style:italic;&amp;quot;&lt;br /&gt;
! Letter&lt;br /&gt;
! Meaning (Road)&lt;br /&gt;
! Meaning (Tram)&lt;br /&gt;
! Vehicle set fallback&lt;br /&gt;
|-&lt;br /&gt;
| X&lt;br /&gt;
| N/A&lt;br /&gt;
| Multiple systems of electricity&lt;br /&gt;
| Use with surface X or x (e.g. XABX and xABX) or surface R (road, or a rail-based tramtype). For use only when at least one standardized label is an energy supply and multiple non-conflicting energy types are all at the same level, such as electrified, ground electrified and induction-charging overlap; Do not set powered_railtype_list for these, instead use alternative_railtype_list.&lt;br /&gt;
|-&lt;br /&gt;
| x&lt;br /&gt;
| N/A&lt;br /&gt;
| Multiple systems of guidance, incompatible&lt;br /&gt;
| Use this with surface x (e.g. xABx) or the surface systems (e.g. SABx, RABx, MABx). For use when tramtypes are at different heights but all are fundamentally incompatible (i.e. suspended monorail, trackless tram and pneumatic metro); Do not set powered_railtype_list for these, instead use alternative_railtype_list.&lt;br /&gt;
|-&lt;br /&gt;
| 0-2 &amp;amp; 5-9&lt;br /&gt;
| N/A&lt;br /&gt;
| Multiple systems of guidance, mix of compatible/incompatible&lt;br /&gt;
| For use when tramtypes are a mix of compatible and fundamentally incompatible (i.e. electrified, ground electrified, trackless tram, suspended monorail, tram and pneumatic metro); Do not set powered_railtype_list for these, instead use alternative_railtype_list, or define these in another label&#039;s powered_railtype_list (i.e. XAB0/XAB1/XAB2/XAB5/.../XAB9 for XABN/XABE/XABX and RAB0/RAB1/RAB2/RAB5/.../RAB9 for RABN/RABE/RABX).&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Lurkmore</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=Standardized_Roadtype_Scheme&amp;diff=4702</id>
		<title>Standardized Roadtype Scheme</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=Standardized_Roadtype_Scheme&amp;diff=4702"/>
		<updated>2024-01-10T11:14:09Z</updated>

		<summary type="html">&lt;p&gt;Lurkmore: /* Surface / Type [X***] */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This scheme was originally conceived in order to decrease the amount of necessary hidden road and tramtrack types. This is done by standardizing which labels vehicles and infrastructure should use. The standard also allows for more gameplay depth by having the option to limit vehicles to certain types of roads. It does similarly to the railtype scheme allow mixing of any vehicle set with any infrastructure set. It does however not allow multiple infrastructure sets to be used at the same time. It does not prevent it but all of the sets used have to be made to be used with each other, or use different surfaces/types which don&#039;t conflict with each other. The standard sets no limit on how vehicle sets can be used.&lt;br /&gt;
&lt;br /&gt;
It is ultimately up to the infrastructure set to chose what roadtypes are available and thereby what vehicles are available. Infrastructure and vehicles can both be in the same set, it is however recommended to be able to disable the infrastructure with parameters (preferably on an individual basis per roadtype) in case the player wants to use a different set for their infrastructure.&lt;br /&gt;
&lt;br /&gt;
* While this is a guide rather than a hard rule, it is recommended to think of standardized roadtypes vs. &amp;quot;fancy&amp;quot; roadtypes (not a default - ROAD for roadtypes, ELRL for tramtypes - and not to this standard; for example &amp;quot;FNCY&amp;quot;, &amp;quot;HAUL&amp;quot; and &amp;quot;NSTD&amp;quot; would be fancy labels) as a microcosm of the difference between a base set (OpenGFX) and a NewGRF that provides new graphics; The goal is for a basic roadtype set to cover as many standardized labels as is appropriate, and leave the more niche uses of the system to another set. This reduces the number of necessary roadtypes to a bare minimum, allowing optional roadtypes more room to cover corner cases.&lt;br /&gt;
** The reason to keep the above in mind is that if done in this way the effect works very differently than railtypes, where the primary concern is to allow gauge, energy source and so on to exist and bind trains from all sets to only the logically compatible railtypes. Roads and, by extension, streetcar tracks are more compatible with vehicles but also have much more variation. This is complicated by game engine limitations; only 60 - or 61 without ELRL - tracktype slots exist in recent versions of OpenTTD, but reaching that limit is usually a non-issue. Roadtypes and Tramtypes are considered the same on that front by the game engine, leaving 62 tramtypes - 64, including ROAD and ELRL - to be split in a pool between the two.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Surface / Type [X***] ===&lt;br /&gt;
Describes the road surface / rail type and thus the vehicle type.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roadtype:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|- style=&amp;quot;font-style:italic;&amp;quot;&lt;br /&gt;
! Letter&lt;br /&gt;
! Meaning (Road)&lt;br /&gt;
! Powered Roadtypes&lt;br /&gt;
! Recomended vehicle set fallbacks&lt;br /&gt;
|-&lt;br /&gt;
| R&lt;br /&gt;
| Regular Road&lt;br /&gt;
| RI(S)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P&lt;br /&gt;
| Passenger-only&lt;br /&gt;
| RPI(S)&lt;br /&gt;
| R&lt;br /&gt;
|-&lt;br /&gt;
| G&lt;br /&gt;
| Guided busway&lt;br /&gt;
| RPG&lt;br /&gt;
| P then R&lt;br /&gt;
|-&lt;br /&gt;
| I&lt;br /&gt;
| Industrial Site (ISR)&lt;br /&gt;
| I&lt;br /&gt;
| R&lt;br /&gt;
|-&lt;br /&gt;
| B&lt;br /&gt;
| Bicycle Lane&lt;br /&gt;
| RB(Z)&lt;br /&gt;
| R&lt;br /&gt;
|-&lt;br /&gt;
| W&lt;br /&gt;
| Waterway&lt;br /&gt;
| W&lt;br /&gt;
|-&lt;br /&gt;
| A&lt;br /&gt;
| Amphibious on road (hidden)&lt;br /&gt;
| RPI(S)W&lt;br /&gt;
| R&lt;br /&gt;
|-&lt;br /&gt;
| S&lt;br /&gt;
| Snowy or Iced Track&lt;br /&gt;
| S&lt;br /&gt;
|-&lt;br /&gt;
| a&lt;br /&gt;
| Amphibious on snow (hidden)&lt;br /&gt;
| SW&lt;br /&gt;
| S&lt;br /&gt;
|-&lt;br /&gt;
| Z&lt;br /&gt;
| Pedestrian Zone&lt;br /&gt;
| Z&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| E&lt;br /&gt;
| Eyecandy&lt;br /&gt;
| E&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| p&lt;br /&gt;
| Pump/Pipeline&lt;br /&gt;
| p&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tramtype:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|- style=&amp;quot;font-style:italic;&amp;quot;&lt;br /&gt;
! Letter&lt;br /&gt;
! Meaning (Tram)&lt;br /&gt;
! Powered Tramtypes&lt;br /&gt;
! Recomended vehicle set fallbacks&lt;br /&gt;
|-&lt;br /&gt;
| R&lt;br /&gt;
| Regular Rail (Metre Gauge)&lt;br /&gt;
| RI(M)&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| P&lt;br /&gt;
| Passenger-only (Metre Gauge)&lt;br /&gt;
| RPI(M)&lt;br /&gt;
| R&lt;br /&gt;
|-&lt;br /&gt;
| I&lt;br /&gt;
| Industrial Site (ISR)&lt;br /&gt;
| I&lt;br /&gt;
| R&lt;br /&gt;
|-&lt;br /&gt;
| X or x&lt;br /&gt;
| Multiple guidance systems or guages&lt;br /&gt;
| (Depends on intent; only two tramtype rail system combinations can exist for a given set of standardized labels - i.e. XABE and xABE - making it necessary to plan accordingly; to facilitate the most common combination, the &amp;quot;r&amp;quot; label functions as a single label for all three common real world tram gauges and should be considered a third option for use only with dual rail trams)&lt;br /&gt;
|-&lt;br /&gt;
| s&lt;br /&gt;
| Regular Rail (Standard Gauge)&lt;br /&gt;
| r(x)&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| p&lt;br /&gt;
| Passenger-only (Standard Gauge)&lt;br /&gt;
| r(x)&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| r&lt;br /&gt;
| Multi-gauge Rail (Standard Gauge, Metre Gauge, 600mm Gauge)&lt;br /&gt;
| x&lt;br /&gt;
| P or p, depending on the vehicle&#039;s gauge (City tram); R, s or 6, depending on the vehicle&#039;s gauge (Cargo tram)&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| Industrial Tramway (600mm Gauge - default tramway rails graphics)&lt;br /&gt;
| r(x)&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| B&lt;br /&gt;
| Bicycle Lane&lt;br /&gt;
| (R)B&lt;br /&gt;
| R&lt;br /&gt;
|-&lt;br /&gt;
| S&lt;br /&gt;
| Suspended Monorail&lt;br /&gt;
| S&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| M&lt;br /&gt;
| Metro&lt;br /&gt;
| M(RP)&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| O&lt;br /&gt;
| Trackless trams&lt;br /&gt;
| O&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| E&lt;br /&gt;
| Eyecandy/Electrical infrastructure&lt;br /&gt;
| E&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
It is the vehicle set&#039;s responsibility to implement fallbacks to other appropriate surfaces. It is also up to the author to decide if they want to do it or not. This means that road/tramtrack sets shouldn&#039;t add these to their [[NML:Roadtypes#Roadtype_properties|alternative_roadtype_list (NML)]] and [[NML:Tramtypes#Tramtype_properties|alternative_tramtype_list (NML)]]&lt;br /&gt;
&lt;br /&gt;
It is up to the track set to implement all powered roadtypes in the [[NML:Roadtypes#Roadtype_properties|powered_roadtype_list (NML)]]. The same goes for tramtypes: [[NML:Tramtypes#Tramtype_properties|powered_tramtype_list (NML)]]. It is further advised to implement support for the roadtypes/tramtypes in brackets, if applicable.&lt;br /&gt;
&lt;br /&gt;
Hidden roadtypes for compatibility should be implemented by road sets. It is up to the author to decide if they want to implement it as a hidden roadtype or not.&lt;br /&gt;
&lt;br /&gt;
=== Speed / Feature [*X**] ===&lt;br /&gt;
Any character may be used for roads, but at least one road must have &amp;quot;A&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
Vehicles should use &amp;quot;A&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Terrain / Stability [**X*] ===&lt;br /&gt;
Describes the roughness of the road surface / trackbed stability, and thus the vehicle tier.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|- style=&amp;quot;font-style:italic;&amp;quot;&lt;br /&gt;
! Letter&lt;br /&gt;
! Meaning&lt;br /&gt;
! Powered Roadtypes&lt;br /&gt;
|-&lt;br /&gt;
| a&lt;br /&gt;
| Very slow / rough / light&lt;br /&gt;
| aA&lt;br /&gt;
|-&lt;br /&gt;
| A&lt;br /&gt;
| Slow / rough / light&lt;br /&gt;
| aAB&lt;br /&gt;
|-&lt;br /&gt;
| B&lt;br /&gt;
| Regular&lt;br /&gt;
| ABC&lt;br /&gt;
|-&lt;br /&gt;
| C&lt;br /&gt;
| Fast / stable&lt;br /&gt;
| BCc&lt;br /&gt;
|-&lt;br /&gt;
| c&lt;br /&gt;
| Very fast / stable&lt;br /&gt;
| Cc&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
If all classes aren&#039;t defined by the road set, the other ones should be in the [[NML:Roadtypes#Roadtype_properties|alternative_roadtype_list (NML)]]. The same goes for tramtypes: [[NML:Tramtypes#Tramtype_properties|alternative_tramtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
Road vehicle sets should not implement fallbacks for terrain / stability.&lt;br /&gt;
&lt;br /&gt;
Classes &amp;quot;a&amp;quot; and &amp;quot;c&amp;quot; are entirely optional for road/tramtype sets and should under no circumstances be used by vehicles.&lt;br /&gt;
&lt;br /&gt;
=== Energy [***X] ===&lt;br /&gt;
Describes the energy source of the track / vehicle.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Generic classes:&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|- style=&amp;quot;font-style:italic;&amp;quot;&lt;br /&gt;
! Letter&lt;br /&gt;
! Meaning (Road)&lt;br /&gt;
! Meaning (Tram)&lt;br /&gt;
! Vehicle set fallback&lt;br /&gt;
|-&lt;br /&gt;
| N&lt;br /&gt;
| None&lt;br /&gt;
| None&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| E&lt;br /&gt;
| Overhead electrified (Catenary)&lt;br /&gt;
| Overhead electrified (Catenary)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| G&lt;br /&gt;
| Ground electrified&lt;br /&gt;
| Ground electrified&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Z&lt;br /&gt;
| Ground and overhead electrified&lt;br /&gt;
| Ground and overhead electrified&lt;br /&gt;
| E or G&lt;br /&gt;
|}&lt;br /&gt;
&#039;&#039;&#039;Specialized classes:&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|- style=&amp;quot;font-style:italic;&amp;quot;&lt;br /&gt;
! Letter&lt;br /&gt;
! Meaning (Road)&lt;br /&gt;
! Meaning (Tram)&lt;br /&gt;
! Vehicle set fallback&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| n/a&lt;br /&gt;
| Third Rail&lt;br /&gt;
| G&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| n/a&lt;br /&gt;
| Fourth Rail&lt;br /&gt;
| 3 then G&lt;br /&gt;
|-&lt;br /&gt;
| C&lt;br /&gt;
| n/a&lt;br /&gt;
| Cable&lt;br /&gt;
| G&lt;br /&gt;
|}&lt;br /&gt;
A tramtrack set that only uses specialized types, should map the generic types to the most suitable specialized type in the set with the help of the [[NML:Tramtypes#Tramtype_properties|alternative_tramtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
=== The default labels (ROAD, ELRL) and non-standard labels===&lt;br /&gt;
OpenTTD will allways define ROAD and ELRL incase there are vehicles for them. It is therefore recomended to have these present in the set so that you can map them to appropriete labels from the standard. There are a few ways of doing this:&lt;br /&gt;
*Replacing one of the standardised types with the default label and putting the standardised label in the [[NML:Roadtypes#Roadtype_properties|alternative_roadtype_list (NML)]] or [[NML:Tramtypes#Tramtype_properties|alternative_tramtype_list (NML)]].&lt;br /&gt;
*Defining ROAD and/or ELRL separately from the standardised labels and adding the standard ones to the [[NML:Roadtypes#Roadtype_properties|powered_roadtype_list (NML)]] or [[NML:Tramtypes#Tramtype_properties|powered_tramtype_list (NML)]]. The main advantage of this is that you can use a parameter to map ROAD and/or ELRL to the standardised labels. This allows the player to chose where there non standardised vehicles will be able to go.&lt;br /&gt;
&lt;br /&gt;
Vehicle set authors might want to add the default labels and non-standard labels as a fallback. If not implemented for the defualt labels, their vehicles won&#039;t show up on the default roads and/or tracks, leading to countless bug reports from players. Non standard labels that might be worth adding fallbacks too are: ELRD, RAIL, HAUL and probably some more.&lt;br /&gt;
&lt;br /&gt;
== Summary for Road/Tramtrack sets ==&lt;br /&gt;
This section summarizes the above for road/tramtrack sets.&lt;br /&gt;
&lt;br /&gt;
; [X***] Surface / Type&lt;br /&gt;
* Chose which Surfaces and types you want in your set and give them the correct [[NML:Roadtypes#Roadtype_properties|powered_roadtype_list (NML)]] or [[NML:Tramtypes#Tramtype_properties|powered_tramtype_list (NML)]].&lt;br /&gt;
* If you only provide roads/tramtracks for one surface/type, consider leaving some free road/tramtypes so a player can load an additional set for some other type.&lt;br /&gt;
; [*X**] Speed / Feature&lt;br /&gt;
* Make sure class A is always available.&lt;br /&gt;
* Use B, C and so on if you have multible roads/tramtracks with the otherwise the same label.&lt;br /&gt;
; [**X*] Terrain / Stability &lt;br /&gt;
* Always define classes A through C for every road/tramtrack surface/type energy combination, either:&lt;br /&gt;
** Directly via a real road/tramtype definition;&lt;br /&gt;
** Indirectly via the alternate road/tramtype label list, [[NML:Roadtypes#Roadtype_properties|powered_roadtype_list (NML)]] or [[NML:Tramtypes#Tramtype_properties|powered_tramtype_list (NML)]].&lt;br /&gt;
; [***X] Energy source type class&lt;br /&gt;
* If your set only uses specialized classes, always map the generic classes to the closest matching specialized type via [[NML:Roadtypes#Roadtype_properties|powered_roadtype_list (NML)]] or [[NML:Tramtypes#Tramtype_properties|powered_tramtype_list (NML)]].&lt;br /&gt;
; Default labels [ROAD, ELRL] and non-standard labels&lt;br /&gt;
* Always define the default labels when possible, instead of what would be the equivalent of the default label in this scheme.&lt;br /&gt;
* Map the equivalent labels from this scheme to the default labels using [[NML:Roadtypes#Roadtype_properties|powered_roadtype_list (NML)]] or [[NML:Tramtypes#Tramtype_properties|powered_tramtype_list (NML)]].&lt;br /&gt;
* Map common non-standard labels to the most similar label in this scheme using [[NML:Roadtypes#Roadtype_properties|powered_roadtype_list (NML)]] or [[NML:Tramtypes#Tramtype_properties|powered_tramtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
== Summary for vehicle sets ==&lt;br /&gt;
This section summarizes the above for vehicle sets.&lt;br /&gt;
&lt;br /&gt;
; [X***] Surface / Type&lt;br /&gt;
* Use the surface / type class that matches the vehicle;&lt;br /&gt;
* Define a fallback type via the road/tramtype table in case you want the vehicle to be available on a different road or tramtrack if no matching road/tramtrack set is loaded.&lt;br /&gt;
** Specialized subtypes like &amp;quot;G&amp;quot; might not always be available. If you want those vehicles to be still available then, fall back the the generic class (e.g. &amp;quot;P&amp;quot; or &amp;quot;R&amp;quot;).&lt;br /&gt;
; [*X**] Speed / Feature &lt;br /&gt;
* Always use class A for every vehicle.&lt;br /&gt;
; [**X*] Terrain / Stability&lt;br /&gt;
* Use A, B or C depending on where you want your vehicles to be able to drive.&lt;br /&gt;
** A is used for slow offroad capable vehicles which aren&#039;t allowed on Motorways and similar Roads&lt;br /&gt;
** B is used for vehicles which can drive offroad but are also allowed on Motorways.&lt;br /&gt;
** C is used for vehicles which can&#039;t go offroad or similar.&lt;br /&gt;
** Use B if you aren&#039;t sure what to chose.&lt;br /&gt;
* Never use a or c.&lt;br /&gt;
; [***X] Energy source type class&lt;br /&gt;
* Use the energy source type class that matches the vehicle;&lt;br /&gt;
* When using specialized classes, define a fallback type via the railtype table in case you want the vehicle to be available if no matching track set is loaded.&lt;br /&gt;
; Default labels [ROAD, ELRL] and non-standard labels&lt;br /&gt;
* Define a fallback type to the default labels via the road/tramtype table in case you want the vehicle to be available on the default roads/track if no matching set is loaded.&lt;br /&gt;
* Do the same for any non-standard labels that may be relevant.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Be as specific as you want when selecting the road/tramtype, it is the job of the road/track set to select a playable, reduced subset out of all possible type combinations.&lt;br /&gt;
=== Example of fallback order for vehicle sets ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|- style=&amp;quot;font-style:italic;&amp;quot;&lt;br /&gt;
! Unchanged label&lt;br /&gt;
! Fallback order&lt;br /&gt;
|-&lt;br /&gt;
| GACE (road)&lt;br /&gt;
| GACE -&amp;gt; PACE -&amp;gt; RACE -&amp;gt; (ROAD)&lt;br /&gt;
|-&lt;br /&gt;
| PAB4 (tram)&lt;br /&gt;
| PAB4 -&amp;gt; PAB3 -&amp;gt; PABG -&amp;gt; RAB4 -&amp;gt; RAB3 -&amp;gt; RABG&lt;br /&gt;
|-&lt;br /&gt;
| IAAG (road)&lt;br /&gt;
| IAAG -&amp;gt; RAAG&lt;br /&gt;
|-&lt;br /&gt;
| AACE (road)&lt;br /&gt;
| AACE -&amp;gt; RAAE -&amp;gt; (ELRD)&lt;br /&gt;
|-&lt;br /&gt;
| RABE (tram)&lt;br /&gt;
| RABE -&amp;gt; (ELRL)&lt;br /&gt;
|-&lt;br /&gt;
| PAAN (tram)&lt;br /&gt;
| PAAN -&amp;gt; RAAN -&amp;gt; (RAIL)&lt;br /&gt;
|}&lt;br /&gt;
== Forum topic ==&lt;br /&gt;
Feel free to discuss and ask questions about the scheme at the forum topic [https://www.tt-forums.net/viewtopic.php?t=90715 Here].&lt;br /&gt;
&lt;br /&gt;
=== Possible additions ===&lt;br /&gt;
To be discussed in the forum topic...&lt;br /&gt;
&lt;br /&gt;
==== Surface / Type [X***] ====&lt;br /&gt;
Describes the road surface / rail type and thus the vehicle type.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tramtype:&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|- style=&amp;quot;font-style:italic;&amp;quot;&lt;br /&gt;
! Letter&lt;br /&gt;
! Meaning (Tram)&lt;br /&gt;
! Powered Tramtypes&lt;br /&gt;
! Recomended vehicle set fallbacks&lt;br /&gt;
|-&lt;br /&gt;
| Z&lt;br /&gt;
| Deep-Bore Metro&lt;br /&gt;
| (For subsurface logistics systems that are normally never visible on the surface)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| z&lt;br /&gt;
| Passenger-only (Deep-Bore Metro)&lt;br /&gt;
| (For subsurface metro systems that are normally never visible on the surface)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| X or x&lt;br /&gt;
| Multiple guidance systems or guages&lt;br /&gt;
| (Depends on intent; only two tramtype rail system combinations can exist for a given set of standardized labels - i.e. XABE and xABE - making it necessary to plan accordingly)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0 (#)&lt;br /&gt;
| Invisible&lt;br /&gt;
| For invisible tramtypes; Fallback for INVI, BKVI, 0000 and other &amp;quot;null&amp;quot; tramtypes&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Terrain / Stability [**X*] ====&lt;br /&gt;
Describes the roughness of the road surface / trackbed stability, and thus the vehicle tier. &#039;&#039;(This is edited to include the potential &amp;quot;Low Clearance&amp;quot; hidden roadtype.)&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|- style=&amp;quot;font-style:italic;&amp;quot;&lt;br /&gt;
! Letter&lt;br /&gt;
! Meaning&lt;br /&gt;
! Powered Roadtypes&lt;br /&gt;
|-&lt;br /&gt;
| a&lt;br /&gt;
| Very slow / rough / light&lt;br /&gt;
| aA&lt;br /&gt;
|-&lt;br /&gt;
| A&lt;br /&gt;
| Slow / rough / light&lt;br /&gt;
| aAB&lt;br /&gt;
|-&lt;br /&gt;
| B&lt;br /&gt;
| Regular&lt;br /&gt;
| ABC&lt;br /&gt;
|-&lt;br /&gt;
| b&lt;br /&gt;
| Regular (Low clearance)&lt;br /&gt;
| ABC&lt;br /&gt;
|-&lt;br /&gt;
| C&lt;br /&gt;
| Fast / stable&lt;br /&gt;
| BCc&lt;br /&gt;
|-&lt;br /&gt;
| c&lt;br /&gt;
| Very fast / stable&lt;br /&gt;
| Cc&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
If all classes aren&#039;t defined by the road set, the other ones should be in the [[NML:Roadtypes#Roadtype_properties|alternative_roadtype_list (NML)]]. The same goes for tramtypes: [[NML:Tramtypes#Tramtype_properties|alternative_tramtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
Road vehicle sets should not implement fallbacks for terrain / stability. Class &amp;quot;b&amp;quot; should only be used for a hidden roadtype, such as &amp;quot;RAbN&amp;quot;, &amp;quot;PAbN&amp;quot; and electrified variants. This is optional, but if used it should be applied to the [[NML:Vehicles#Road_vehicle_properties|roadtype (NML) or tram_type (NML)]] property of all vehicles able to travel under the relevant low-clearance obstacles.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;As a frame of reference, realistically &amp;quot;RAbN&amp;quot; should be used for all eye-candy cars small cargo vans and single-decker non-electrified cargo trams, while trucks (excluding trolleytrucks) and non-electrified double-decker trams should default to &amp;quot;RABN&amp;quot;. &amp;quot;RAbE&amp;quot; and other powered vehicles should be used by trolleytrucks and electric cargo trams (excluding double-decker trams). &amp;quot;PAbN&amp;quot; should be used by double-decker busses, and most non-electric trams (excluding double-decker trams). &amp;quot;PAbE&amp;quot; should be used by most passenger trams, excluding double-decker passenger trams. For other energy sources, the instructions for&amp;quot;RAbE&amp;quot; and &amp;quot;PAbE&amp;quot; can easily be adapted for any other power source (&amp;quot;RAbG&amp;quot; and &amp;quot;PAbG&amp;quot;, &amp;quot;RAbI&amp;quot; and &amp;quot;PAbI&amp;quot;, etc.).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Classes &amp;quot;a&amp;quot; and &amp;quot;c&amp;quot; are entirely optional for road/tramtype sets and should under no circumstances be used by vehicles.&lt;br /&gt;
&lt;br /&gt;
Class &amp;quot;b&amp;quot; is also optional for road/tramtype sets but should have ROADTYPE_FLAG_HIDDEN set in the bitmask of [[NML:Roadtypes#Roadtype_properties|roadtype_flags (NML)]]. Instead, a low-clearance variant of a standardized roadtype or tramtype should be compatible with all other standard classes (&amp;quot;a&amp;quot;, &amp;quot;A&amp;quot;, B&amp;quot;, &amp;quot;C&amp;quot; and &amp;quot;c&amp;quot;) using the [[NML:Roadtypes#Roadtype_properties|powered_roadtype_list (NML)]] in a road/tramtype set that sets the standardized labels (i.e. &amp;quot;RAbN&amp;quot; should be used for small cargo vans and must fallback to &amp;quot;RAaN, RAAN, RABN, RACN, RAcN&amp;quot;, and &amp;quot;PAbE&amp;quot; should be used by all busses and must fallback to &amp;quot;PAaN, PAAN, PABN, PACN, PAcN&amp;quot;). If a complex roadtype (i.e. RAaN) needs a low-clearance variant, create a non-standard label (i.e. XMPL), then define the relevant standard labels (RAaN in this case, and RAbN in turn) in the [[NML:Roadtypes#Roadtype_properties|alternative_roadtype_list (NML)]] of the non-standard label (XMPL), and define the entire class of labels (RAaN, RAAN, RABN, RAbN, RACN, RAcN) in the [[NML:Roadtypes#Roadtype_properties|powered_roadtype_list (NML)]] of the non-standard label (XMPL).&lt;br /&gt;
&lt;br /&gt;
==== Energy [***X] ====&lt;br /&gt;
Describes the energy source of the track / vehicle.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Generic classes:&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|- style=&amp;quot;font-style:italic;&amp;quot;&lt;br /&gt;
! Letter&lt;br /&gt;
! Meaning (Road)&lt;br /&gt;
! Meaning (Tram)&lt;br /&gt;
! Vehicle set fallback&lt;br /&gt;
|-&lt;br /&gt;
| I&lt;br /&gt;
| Induction-charge electrified&lt;br /&gt;
| Induction-charge electrified&lt;br /&gt;
| Z then E then G&lt;br /&gt;
|-&lt;br /&gt;
| i&lt;br /&gt;
| Eyecandy/Pipeline Infrastructure&lt;br /&gt;
| Eyecandy/Electric &amp;amp; Telecom Infrastructure&lt;br /&gt;
| I then Z then G then E&lt;br /&gt;
|-&lt;br /&gt;
| L&lt;br /&gt;
| Reclaimed Elevated Rail Eco-Park&lt;br /&gt;
| Elevated Rail&lt;br /&gt;
| I then Z then E then G then N&lt;br /&gt;
|-&lt;br /&gt;
| P&lt;br /&gt;
| No Commercial Vehicles/Parking Lot (restricted roads for RABN-compatible cars that busses and trucks cannot use; eye candy cars should use RAbP as the primary label if intended to support this)&lt;br /&gt;
| &amp;quot;PneuMetro&amp;quot; (Pneumatic Metro/Subway)&lt;br /&gt;
| I then N then i (Roadtype); N/A (Tramtype)&lt;br /&gt;
|-&lt;br /&gt;
| S&lt;br /&gt;
| &amp;quot;SolaRoad&amp;quot; (Solar Roadway) or &amp;quot;SmartStreet&amp;quot; (smartgrid network-enabled roads)&lt;br /&gt;
| Superscience/Supernatural/Special (For anything that isn&#039;t fuel and isn&#039;t based on any real energy source; psychokinetic, mana, creative energy, etc.)&lt;br /&gt;
| I then Z then E then G then N&lt;br /&gt;
|-&lt;br /&gt;
| V&lt;br /&gt;
| Viaduct/Voltaic Variant (For a second bridge variant of a road, or a trolleybus variant of a road with limited overhead clearance)&lt;br /&gt;
| &amp;quot;VacTube&amp;quot; (VacTrain Metro/Subway)&lt;br /&gt;
| P (Roadtype); N/A (Tramtype)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Specialized classes:&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|- style=&amp;quot;font-style:italic;&amp;quot;&lt;br /&gt;
! Letter&lt;br /&gt;
! Meaning (Road)&lt;br /&gt;
! Meaning (Tram)&lt;br /&gt;
! Vehicle set fallback&lt;br /&gt;
|-&lt;br /&gt;
| X&lt;br /&gt;
| N/A&lt;br /&gt;
| Multiple systems of electricity&lt;br /&gt;
| Use with surface X or x (e.g. XABX and xABX) or surface R (rail-based tramtype). For use only when at least one standardized label is an energy supply and multiple non-conflicting energy types are all at the same level, such as electrified, ground electrified and trackless tram overlap&lt;br /&gt;
|-&lt;br /&gt;
| x&lt;br /&gt;
| N/A&lt;br /&gt;
| Multiple systems of guidance, incompatible&lt;br /&gt;
| Use this with surface x (e.g. xABx) or the surface systems (e.g. SABx, RABx, MABx). For use when tramtypes are at different heights but all are fundamentally incompatible (i.e. suspended monorail, tram and pneumatic metro)&lt;br /&gt;
|-&lt;br /&gt;
| 0-2 &amp;amp; 5-9&lt;br /&gt;
| N/A&lt;br /&gt;
| Multiple systems of guidance, mix of compatible/incompatible&lt;br /&gt;
| For use when tramtypes are a mix of compatible and fundamentally incompatible (i.e. electrified, ground electrified, trackless tram, suspended monorail, tram and pneumatic metro); Do not set powered_railtype_list for these, instead use alternative_railtype_list, or define these in another label&#039;s powered_railtype_list (i.e. XAB0/XAB1/XAB2/XAB5/.../XAB9 for XABN/XABE/XABX and RAB0/RAB1/RAB2/RAB5/.../RAB9 for RABN/RABE/RABX).&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Lurkmore</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=Standardized_Railtype_Scheme&amp;diff=4701</id>
		<title>Standardized Railtype Scheme</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=Standardized_Railtype_Scheme&amp;diff=4701"/>
		<updated>2024-01-10T08:31:08Z</updated>

		<summary type="html">&lt;p&gt;Lurkmore: /* Possible additions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This railtype label scheme aims to bring order to the uncontrolled growth of railtype labels. It groups the rail types into what matters from a technical perspective. The scheme provides a standardized way of defining railtype labels, based on track gauge and type, speed class, allowable axle weight and electrification type.&lt;br /&gt;
&lt;br /&gt;
It is the explicit intent of this scheme to decouple track sets from vehicle sets to facilitate easy mixing. This way the player can select a track set of choice to go with a train set of choice. It allows the player to play with or without axle load classes, or with or without speed limit classes, simply by loading a track set that does or does not provide these features. In some cases it will also be possible to combine niche track sets, for instance a standard gauge track set with a narrow gauge and a metro track set.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== The Label Scheme ==&lt;br /&gt;
A railtype label consists of four characters. In this scheme, each position has a different purpose:&lt;br /&gt;
# Track gauge and type class (e.g. standard gauge rail, narrow gauge rail, monorail)&lt;br /&gt;
# Speed limit class&lt;br /&gt;
# Axle load class (maximum allowed axle weight for this track)&lt;br /&gt;
# Energy source type class&lt;br /&gt;
&lt;br /&gt;
In the next sections, each of the four positions will be explained.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Track gauge and type class [X***] ===&lt;br /&gt;
The first position in the railtype label defines track gauge and/or track type class. The following classes are currently defined:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Track type/gauge&lt;br /&gt;
|- &lt;br /&gt;
|S ||Standard gauge rail&lt;br /&gt;
|-&lt;br /&gt;
|B ||Broad gauge rail &lt;br /&gt;
|-&lt;br /&gt;
|N ||Narrow gauge rail&lt;br /&gt;
|-&lt;br /&gt;
|n ||Secondary narrow gauge rail (e.g. when providing both metre and cape gauge, always use N in case of just one type of narrow gauge)&lt;br /&gt;
|-&lt;br /&gt;
|D ||Dual gauge rail, standard/broad gauge&lt;br /&gt;
|-&lt;br /&gt;
|d ||Dual gauge rail, standard/narrow gauge&lt;br /&gt;
|-&lt;br /&gt;
|M ||Monorail&lt;br /&gt;
|-&lt;br /&gt;
|L ||Magnetic Levitation&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Speed limit class [*X**] ===&lt;br /&gt;
The second position in the railtype label defines the speed limit class. These classes do not map to a fixed numeric value, but are used to define an internal speed limit order for the track set. This means that if your track set has two different speed limits for track types that are otherwise identical, you&#039;ll use letters A and B here. In case of three different speed limits, use A, B and C. In case your track set does not employ speed limits, always use A. Train sets do not care about the speed limit, and will always set the lowest speed class, i.e. A.&lt;br /&gt;
&lt;br /&gt;
This gives for instance the following options:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||no speed limits&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;OR&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||low speed&lt;br /&gt;
|-&lt;br /&gt;
|B ||high speed&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;OR&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||low speed&lt;br /&gt;
|-&lt;br /&gt;
|B ||medium speed&lt;br /&gt;
|-&lt;br /&gt;
|C ||high speed&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;etc.&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear:left;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The speed limit class may also be used for some advanced features of the label scheme, like specialized track types and eyecandy purposes. Be careful not to break the compatibility with other sets when using the speed limit class for these purposes.&lt;br /&gt;
&lt;br /&gt;
An example of a special use is rack rail. In the French set it is used to give rack rail engines a higher speed and TE than normal rail engines when used on rack rail. When defining trains with a special speed limit class, always allow a fallback to speed limit class A via the railtype table.&lt;br /&gt;
&lt;br /&gt;
An example of eyecandy use are urban tracks. These are a variation of regular tracks, but with concrete ground tiles to better match the urban environment. Train sets must not define vehicles for eyecandy classes. If you think you have special vehicles that should only run on the eyecandy class, it is &#039;&#039;not&#039;&#039; eyecandy but a separate track gauge/type.&lt;br /&gt;
&lt;br /&gt;
The following special and eyecandy classes have been defined so far:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Description !!Type !!Used by&lt;br /&gt;
|- &lt;br /&gt;
|A-H ||speed limits ||colspan=&amp;quot;2&amp;quot;|reserved&lt;br /&gt;
|- &lt;br /&gt;
|R ||rack rail ||special ||French Set Rails &lt;br /&gt;
|- &lt;br /&gt;
|S ||subterranean ||eyecandy ||Metro Track Set&lt;br /&gt;
|- &lt;br /&gt;
|U ||urban ||eyecandy ||Metro Track Set&lt;br /&gt;
|-&lt;br /&gt;
|g ||ground tile for 45° angles ||eyecandy ||(none yet)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Axle load class [**X*] ===&lt;br /&gt;
The third position defines the axle weight limit. Heavy trains cannot run on tracks with a low axle weight limit; these trains need more expensive tracks with a heigher weight limit. There are five axle load classes &#039;&#039;&#039;A&#039;&#039;&#039; through &#039;&#039;&#039;E&#039;&#039;&#039;. &#039;&#039;&#039;A&#039;&#039;&#039; is for the lowest axle load limit, &#039;&#039;&#039;E&#039;&#039;&#039; for the highest. The exact axle load attached to each class is relative to the track gauge/type and trains in the set. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A train set should set the appropriate axle weight for each train via the railtype label, as to make the set work with track sets that do provide tracks with different weight limits, even if you don&#039;t care about it for your trainset. Split all vehicles of a certain track gauge/type into five groups of similar axle weight. The group with the lowest axle weights will get class &#039;&#039;&#039;A&#039;&#039;&#039;, the second lowest class &#039;&#039;&#039;B&#039;&#039;&#039;, etc. up to the group with the highest axle weights which will get class &#039;&#039;&#039;E&#039;&#039;&#039;. Do the same for the other track gauge/types if your train set has those.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A track set does not have to provide a dedicated track type for each axle weight limit. A track set that does not provide a dedicated track for each axle load class, must make sure to map all undefined axle load classes to a real railtype using property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]]. This way a train set can rely on all labels for all axle load classes being available. Example: if you only want to provide 2 axle load classes for standard gauge unelectrified with no speed limits, you can map SA&#039;&#039;&#039;A&#039;&#039;&#039;N + SA&#039;&#039;&#039;B&#039;&#039;&#039;N to SA&#039;&#039;&#039;C&#039;&#039;&#039;N and SA&#039;&#039;&#039;D&#039;&#039;&#039;N to SA&#039;&#039;&#039;E&#039;&#039;&#039;N if the cost difference between the two railtypes is high, or SA&#039;&#039;&#039;A&#039;&#039;&#039;N to SA&#039;&#039;&#039;B&#039;&#039;&#039;N and SA&#039;&#039;&#039;C&#039;&#039;&#039;N + SA&#039;&#039;&#039;D&#039;&#039;&#039;N to SA&#039;&#039;&#039;E&#039;&#039;&#039;N if the cost difference is low.&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t want to provide any axle load classes in your track set, it doesn&#039;t really matter what axle load class you choose for the track, as you&#039;ll be mapping all other classes to this track anyways. But the lowest or highest class are the obvious choice. Example: if your track set only provides narrow gauge unelectrified track with no speed limits and no axle load limits, you may use NA&#039;&#039;&#039;A&#039;&#039;&#039;N for the track label, and provide NA&#039;&#039;&#039;B&#039;&#039;&#039;N, NA&#039;&#039;&#039;C&#039;&#039;&#039;N, NA&#039;&#039;&#039;D&#039;&#039;&#039;N, NA&#039;&#039;&#039;E&#039;&#039;&#039;N in property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you need more than five axle load class, you may use lowercase letters for very low axle loads and continue the uppercase letters for very high axle loads. Be advised that your train set may not assume the existance of any other class than &#039;&#039;&#039;A&#039;&#039;&#039; through &#039;&#039;&#039;E&#039;&#039;&#039;, so when the range make sure to program your railtype table such that trains with such a class will fall back to class &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;E&#039;&#039;&#039;. If you make a track set with an extended range, be aware that not all train sets will define trains for these tracks. In general: only do this in case of a train set with a matching track set.&lt;br /&gt;
&lt;br /&gt;
For the lowercase letters, &#039;&#039;&#039;b&#039;&#039;&#039; is lower than &#039;&#039;&#039;a&#039;&#039;&#039;, so for increasing axle load limits: b &amp;lt; a &amp;lt; A &amp;lt; B &amp;lt; C etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that the axle load classes never map to a specific weight in tonnes. For that reason it does not make sense to add a numeric value for the axle load to the name of a track type or in the extended purchase info of a train. Instead use the relative expressions &#039;very low&#039;, &#039;low&#039;, &#039;medium&#039;, &#039;high&#039; and &#039;very high&#039; or use the class letters directly.&lt;br /&gt;
&lt;br /&gt;
=== Energy source type class [***X] ===&lt;br /&gt;
The last position defines the energy source type class. This is split in generic energy source types like overhead wires and third rail and specialized types like alternating and direct current.&lt;br /&gt;
&lt;br /&gt;
A track set that only uses specialized types, should map the generic types to the most suitable specialized type in the set.&lt;br /&gt;
&lt;br /&gt;
A vehicle set that uses specialized types should define a generic type as fallback, via the railtype table. If such a fallback is omitted, please note that certain vehicles may be unavailable depending on track set loaded.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Generic energy type classes&lt;br /&gt;
|-&lt;br /&gt;
|N ||no electrification&lt;br /&gt;
|-&lt;br /&gt;
|E ||overhead wires/catenary electrification&lt;br /&gt;
|-&lt;br /&gt;
|3 ||3rd rail electrification&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Specialized energy type classes !!Vehicle set fallback&lt;br /&gt;
|-&lt;br /&gt;
|Z ||3rd rail and catenary electrification || 3 or E&lt;br /&gt;
|-&lt;br /&gt;
|4 ||4th rail electrification || 3&lt;br /&gt;
|-&lt;br /&gt;
|Y ||4th rail and catenary electrification || 4 or E&lt;br /&gt;
|-&lt;br /&gt;
|T ||[http://en.wikipedia.org/wiki/Three-phase_AC_railway_electrification three phase AC electrification] || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|D ||DC catenary electrification || E&lt;br /&gt;
|-&lt;br /&gt;
|d ||low voltage DC catenary electrification (only when D also used in set) || First A then E&lt;br /&gt;
|-&lt;br /&gt;
|A ||AC catenary electrification || E&lt;br /&gt;
|-&lt;br /&gt;
|a ||low voltage AC catenary electrification (only when A also used in set) || First A then E&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
If you want multi-voltage/current vehicles in your set (i.e. a train that can run on both AC and DC current), you have to define a dedicated railtype for those vehicles. Without the railtype, it&#039;s not possible to define vehicles with this property. If you only have vehicles that can run on either one type of voltage/current or on all types of voltage/current (e.g. a 2-system if you only have &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;D&#039;&#039;&#039; tracks, or a 4-system in case of all &#039;&#039;&#039;A&#039;&#039;&#039;, &#039;&#039;&#039;a&#039;&#039;&#039;, &#039;&#039;&#039;D&#039;&#039;&#039; and &#039;&#039;&#039;d&#039;&#039;&#039;), then use the generic class &#039;&#039;&#039;E&#039;&#039;&#039; for vehicles that should be able to run on all different voltage/currents. Also the track set needs to have one at least one railtype with class &#039;&#039;&#039;E&#039;&#039;&#039; defined.&lt;br /&gt;
&lt;br /&gt;
Note that if you want more than one type of multi-voltage/current, you&#039;ll quickly get a combinatory explosion of railtype labels, so plan carefully or do not attempt it. For every different multi-voltage/current vehicle type a dedicated railtype is needed. If you want all possible combinations, then you need to define an additional 8 classes. It is not recommended to make your train/track set this complicated.&lt;br /&gt;
&lt;br /&gt;
Example approach for a 4-system set, with trains that can run on either one or all systems:&lt;br /&gt;
* &#039;&#039;&#039;E&#039;&#039;&#039;: generic catenary-powered electric engines. &amp;quot;universal&amp;quot; [4-system] if any of &#039;&#039;&#039;D&#039;&#039;&#039;/&#039;&#039;&#039;d&#039;&#039;&#039;/&#039;&#039;&#039;A&#039;&#039;&#039;/&#039;&#039;&#039;a&#039;&#039;&#039; are defined.&lt;br /&gt;
* &#039;&#039;&#039;A&#039;&#039;&#039;: generic AC catenary electric engines. 25kV only if &#039;&#039;&#039;a&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;A&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;a&#039;&#039;&#039;: 15kV AC catenary electric engines. Only defined if &#039;&#039;&#039;A&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;a&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;D&#039;&#039;&#039;: generic DC catenary electric engines. 3kV if &#039;&#039;&#039;d&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;D&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;d&#039;&#039;&#039;: 1.5kV DC catenary electric engines. Only defined if &#039;&#039;&#039;D&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;D&#039;&#039;&#039; and &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;d&#039;&#039;&#039;.&lt;br /&gt;
For a 2-system set, you can simply drop &#039;&#039;&#039;a&#039;&#039;&#039; and &#039;&#039;&#039;d&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Standard labels: RAIL, ELRL, MONO, MGLV ===&lt;br /&gt;
It&#039;s not possible to undefine the standard railtypes RAIL, ELRL, MONO and MGLV. The game will always add those if there are vehicles defined for these track types. As a result, for a track set it&#039;s best not to ignore those standard labels, but rather work with them and define them in the set. If your track set does not have monorail or maglev tracks, there of course is no need to define those. But if your track set defines anything that resembles unelectrified or electrified rail, you should use the RAIL and ELRL labels. Matching labels from the above scheme will then be defined in property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
As vehicles from NewGRFs that do not use explicit railtypes will end up on these standard railtypes, you should use RAIL instead of whatever type could be regarded as the most commonly used unelectrified type, ELRL instead of the most commonly used electrified type and so on. The label according to this scheme is then set as an alternate.&lt;br /&gt;
&lt;br /&gt;
== Summary for track sets ==&lt;br /&gt;
This section summarizes the above for track sets.&lt;br /&gt;
&lt;br /&gt;
; [X***] Track gauge and type class&lt;br /&gt;
* Define at least one track type for every track gauge/type class you want in your set.&lt;br /&gt;
* If you only provide tracks for one gauge/type, consider leaving some free railtypes so a player can load an additional set for some other type.&lt;br /&gt;
; [*X**] Speed limit class&lt;br /&gt;
* Make sure class A is always available, either directly or via an alternate label.&lt;br /&gt;
* Use only class A if you don&#039;t want speed limits;&lt;br /&gt;
* With speed limits, A is the lowest speed limit. Continue with B, C, etc. for increasing speed limits;&lt;br /&gt;
* The speed class can also be used to implement additional eye-candy track types, use letters higher in the alphabet for this.&lt;br /&gt;
; [**X*] Axle load class&lt;br /&gt;
* Always define all classes A through E for every track type class / electrification combination, either:&lt;br /&gt;
** Directly via a real railtype definition;&lt;br /&gt;
** Indirectly via the alternate rail type label list, property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
* Extend the predefined classes only if you also provide a train set that makes use of these.&lt;br /&gt;
; [***X] Energy source type class&lt;br /&gt;
* If your set only uses specialized classes, always map the generic classes to the closest matching specialized type via property 1D.&lt;br /&gt;
; Standard labels [RAIL, ELRL, MONO, MGLV]&lt;br /&gt;
* Always define the standard labels when possible, instead of what would be the equivalent of the standard label in this scheme.&lt;br /&gt;
* Map the equivalent labels from this scheme to the standard labels using property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
Or, put differently, for each gauge/type, select one or more energy source types. For each type/energy combination provide all axle load classes for the speed class &amp;quot;A&amp;quot;, either as a real type or as an alternate of another type. Provide more types with a different speed letter if you want to provide several different speeds or other eye-candy tracks.&lt;br /&gt;
&lt;br /&gt;
== Summary for train sets ==&lt;br /&gt;
This section summarizes the above for train sets.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; [X***] Track gauge and type class&lt;br /&gt;
* Use the track type class that matches the vehicle;&lt;br /&gt;
* Define a fallback type via the railtype table in case you want the vehicle to be available on a different track if no matching track set is loaded.&lt;br /&gt;
** Specialized subtypes like &amp;quot;n&amp;quot; might not always be available. If you want those vehicles to be still available then, fall back the the generic class (e.g. &amp;quot;N&amp;quot;).&lt;br /&gt;
; [*X**] Speed limit class &lt;br /&gt;
* Always use class A for every vehicle.&lt;br /&gt;
; [**X*] Axle load class&lt;br /&gt;
* Use all classes A through E according to the maximum axle weight of the vehicle.&lt;br /&gt;
* Extend the predefined classes only if you also provide a track set that makes use of these;&lt;br /&gt;
** When extending the predefined classes A through E, define a fallback type via the railtype table in case you want the vehicle to be available if no matching track set is loaded.&lt;br /&gt;
; [***X] Energy source type class&lt;br /&gt;
* Use the energy source type class that matches the vehicle;&lt;br /&gt;
* When using specialized classes, define a fallback type via the railtype table in case you want the vehicle to be available if no matching track set is loaded.&lt;br /&gt;
; Standard labels [RAIL, ELRL, MONO, MGLV]&lt;br /&gt;
* Define a fallback type to the standard labels via the railtype table in case you want the vehicle to be available on the standard tracks if no matching track set is loaded.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Be as specific as you want when selecting the railtype, it is the job of the track set to select a playable, reduced subset out of all possible type combinations.&lt;br /&gt;
&lt;br /&gt;
== In case you&#039;re not convinced by this scheme ==&lt;br /&gt;
Adopting this scheme gives the player freedom to use any track set in combination with any train set that follow the scheme. &lt;br /&gt;
&lt;br /&gt;
This means that you can make your train set compatible with track sets that provide axle load classes, and track sets that provide speed limits, and at the same time with track sets that provide none of this. This way, the player can decide to play with or without axle load classes, or with or without speed limits, simply by loading a track set that does or does not provide these features.&lt;br /&gt;
&lt;br /&gt;
And for your track set, it means that you can make it as simple or as complicated as you want (within the 64 track type limit), while not having to worry about compatibility with train sets.&lt;br /&gt;
&lt;br /&gt;
Still not convinced? Feel free to use railtype labels of your own, but know that you will likely come to regret that at some point in the future.&lt;br /&gt;
&lt;br /&gt;
==Forum topic==&lt;br /&gt;
If you want to discuss the standardized railtype scheme or have any questions about it, you can visit [http://www.tt-forums.net/viewtopic.php?t=59379 the forum topic].&lt;br /&gt;
&lt;br /&gt;
==&amp;quot;Innsbruck 2022 Convention&amp;quot; for partial compliance==&lt;br /&gt;
&lt;br /&gt;
This is really esoteric, but eh. It was the product of long discussion / debate / argument / reasoning between grf authors.&lt;br /&gt;
&lt;br /&gt;
1. The Standardized Railtype Scheme &#039;&#039;&#039;is a useful tool&#039;&#039;&#039; for providing reliable compatibility between train grfs and railtype grfs.&lt;br /&gt;
&lt;br /&gt;
2. The &#039;&#039;&#039;axle load class&#039;&#039;&#039; in the scheme presents a number of issues for compliance.&lt;br /&gt;
&lt;br /&gt;
2.1. Over 10 years since the scheme was standardised, not many train grfs implement multiple axle load classes &#039;&#039;&#039;as required by the scheme&#039;&#039;&#039;.  Known examples that &#039;&#039;&#039;do&#039;&#039;&#039; comply include Dutch Train Set, French Narrow Gauge Trains, and Finnish Trains.&lt;br /&gt;
&lt;br /&gt;
2.2. Elements of the axle load rules have proven hard to interpret.  For example:&lt;br /&gt;
&lt;br /&gt;
* is it compliant to use &#039;&#039;fewer&#039;&#039; than 5 classes in a train grf?  There is a lack of consensus on this.&lt;br /&gt;
* axle load is only one of many factors that govern whether a vehicle is compatible with a route, for example loading gauge, minimum curve, signalling types etc&lt;br /&gt;
&lt;br /&gt;
2.3. Meanwhile &#039;&#039;multiple existing train grfs use class &#039;&#039;A&#039;&#039; for the axle load for all trains&#039;&#039; (except where relying on default railtypes such as RAIL and ELRL).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3. The Innsbruck 2022 Convention uses class &#039;&#039;A&#039;&#039; for axle load for &#039;&#039;&#039;all&#039;&#039;&#039; trains in a train grf (except where relying on default railtypes such as RAIL and ELRL).&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is &#039;&#039;&#039;not&#039;&#039;&#039; fully compliant with the Standardized Railtype Scheme and does not claim to be.&lt;br /&gt;
&lt;br /&gt;
However train grfs using the Innsbruck 2022 Convention are &#039;&#039;broadly compatible&#039;&#039; with railtype grfs using the Standardized Railtype Scheme.  &lt;br /&gt;
&lt;br /&gt;
Obligatory XKCD link about &#039;standards&#039;: https://xkcd.com/927/&lt;br /&gt;
&lt;br /&gt;
===Known issues===&lt;br /&gt;
&lt;br /&gt;
Known problems are that trains using only class &#039;A&#039; may limit the ability of railtype grf authors to achieve their design goals for separating railtypes by axle load.  &lt;br /&gt;
But on reflection, it can be seen that a train grf might not be able to provide a broad enough range of vehicles to cover at least 5 axle load classes.&lt;br /&gt;
&lt;br /&gt;
3.1. The Innsbruck 2022 Convention is &#039;&#039;&#039;not&#039;&#039;&#039; appropriate for train grf authors who wish to provide more than one axle load class.&lt;br /&gt;
&lt;br /&gt;
3.2. The Innsbruck 2022 Convention treats the meaning of class &#039;&#039;A&#039;&#039; as &#039;&#039;undefined&#039;&#039;, &#039;&#039;ignored&#039;&#039; or &#039;&#039;compatible with most restricted railtype&#039;&#039; for axle load.  &lt;br /&gt;
&lt;br /&gt;
Axle load class &#039;&#039;A&#039;&#039; &#039;&#039;&#039;cannot&#039;&#039;&#039; be safely interpreted as &#039;&#039;universal&#039;&#039; because from the perspective of a railtype grf &#039;&#039;A&#039;&#039; is &#039;&#039;most restricted railtype&#039;&#039;, where &#039;&#039;universal&#039;&#039; is better represented as &#039;&#039;least restricted railtype&#039;&#039;. Depending how many axle load classes are in use by the railtype grf, this could be class &#039;&#039;B&#039;&#039;, &#039;&#039;C&#039;&#039;, &#039;&#039;D&#039;&#039;, &#039;&#039;E&#039;&#039; etc.  To illustrate this issue, take the following scenario&lt;br /&gt;
&lt;br /&gt;
* railtype grf defines axle loads &#039;&#039;A&#039;&#039; to &#039;&#039;E&#039;&#039;. In this case the railtype grf author intends that &#039;&#039;A&#039;&#039; is compatible with the smallest range of vehicles, &#039;&#039;E&#039;&#039; is compatible with the largest range of vehicles, and &#039;&#039;B&#039;&#039;, &#039;&#039;C&#039;&#039; and &#039;&#039;D&#039;&#039; are compatible with some intermediate ranges of vehicles&lt;br /&gt;
* but the vehicle grf author has defined all vehicles to be axle load &#039;&#039;A&#039;&#039; in an attempt to express this vehicle is &#039;&#039;universal&#039;&#039;.  The result in the game is that an identical range of vehicles will be compatible with railtypes &#039;&#039;A&#039;&#039; to &#039;&#039;E&#039;&#039;.  &lt;br /&gt;
&lt;br /&gt;
This is clearly &#039;&#039;&#039;not&#039;&#039;&#039; the intended outcome of the railtype author. But nor is it clear within the spec that the vehicle author has particularly done anything wrong. &lt;br /&gt;
&lt;br /&gt;
It &#039;&#039;would&#039;&#039; be possible to use railtype availability testing to adjust the vehicle property 05 (track_type) to fit the highest defined axle load (&#039;&#039;E&#039;&#039; in this example case), but this is not insignificant work, and it&#039;s unlikely to be widely adopted by vehicle grf authors.  Nor would this solution achieve &#039;&#039;universal&#039;&#039; as all vehicles in vehicle grf then would be incompatible with types &#039;&#039;A&#039;&#039; through &#039;&#039;D&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
3.3. When the Innsbruck 2022 Convention is used, this &#039;&#039;&#039;does not prevent&#039;&#039;&#039; a train grf being extended in some future release to achieve full compliance with Standardized Railtype Scheme. &#039;&#039;That choice remains with train grf authors&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
3.4. If 2012 could be revisited, providing an optional &#039;&#039;_&#039;&#039; axle load class in the Standardized Railtype Scheme for &#039;&#039;undefined&#039;&#039; would have been preferable, but as of 2022, &#039;&#039;A&#039;&#039; is already widely used for this purpose, and time travel is not known to be possible.&lt;br /&gt;
&lt;br /&gt;
==Possible additions==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Track type/gauge&lt;br /&gt;
|-&lt;br /&gt;
|B ||Broad gauge rail (Also used by &amp;quot;ultra-broad&amp;quot; fictional tracktype; As broad gauge is a rare tracktype, it may still be feasible to cement B and b as broad gauges of two differing sizes) &lt;br /&gt;
|-&lt;br /&gt;
|b ||Broad gauge rail (Originally assigned to uppercase B; As broad gauge is a rare tracktype, it may still be feasible to cement B and b as broad gauges of two differing sizes) &lt;br /&gt;
|-&lt;br /&gt;
|s ||Multiple gauge rail, ultrabroad/broad/standard/narrow/secondary narrow gauge&lt;br /&gt;
|-&lt;br /&gt;
|6 ||600mm, formerly labelled &amp;quot;NG60&amp;quot; before standardization&lt;br /&gt;
|-&lt;br /&gt;
|m ||Minimum gauge rail; [https://en.wikipedia.org/wiki/Minimum-gauge_railway 15 in (381 mm), 400 mm (15+3⁄4 in), 16 in (406 mm), 18 in (457 mm), 19 in (483 mm), 500 mm (19+3⁄4 in) or 20 in (508 mm)]&lt;br /&gt;
|-&lt;br /&gt;
|T ||Maglevs that have a monorail track&lt;br /&gt;
|-&lt;br /&gt;
|L ||Maglevs that have a u-shaped track&lt;br /&gt;
|-&lt;br /&gt;
|F ||Flightrail; A [https://web.archive.org/web/20231213122530/http://www.flightrail.com/ system capable of high speeds and steep hill grades] that uses a pneumatic pipe for propulsion (see &amp;quot;P&amp;quot; under energy sources), and &#039;&#039;wheels pointed inwards at a 45-degree angle&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|0 ||(A number zero, not a letter &amp;quot;Oh&amp;quot;) No track, eyecandy-use only&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
It might be prefered to instead use keep &amp;quot;B&amp;quot; for current broad gauge and instead using lovercase &amp;quot;b&amp;quot; for the new ultra-broad gauge. This wouldn&#039;t be to different from narrow gauge since the lesser used ones are lowercase and fallback to the uppercase ones.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Electrification !!Fallback&lt;br /&gt;
|-&lt;br /&gt;
|S ||Maglevs that use a synchronous linear motor ||N/A&lt;br /&gt;
|-&lt;br /&gt;
|I ||Maglevs that use a linear induction motor ||MGLV (the whole label)&lt;br /&gt;
|-&lt;br /&gt;
|t ||&amp;quot;Universal custom tunnel&amp;quot; (for electrified sub-surface rail tunnels) ||E (mandatory)&lt;br /&gt;
|-&lt;br /&gt;
|_ ||Universal energy type (&#039;&#039;not&#039;&#039; meant to replace &amp;quot;***N&amp;quot;) ||N/A (Be sure to put &amp;quot;***E&amp;quot; in the [[NML:Roadtypes#Roadtype_properties alternative_roadtype_list (NML)]] of a &amp;quot;***_&amp;quot; label)&lt;br /&gt;
|-&lt;br /&gt;
|P ||Pneumatic tube with physical piston slit, or closed pneumatic tube with magnetic piston (i.e. that used by [https://web.archive.org/web/20231213122530/http://www.flightrail.com/ Flightrail]) ||N/A&lt;br /&gt;
|-&lt;br /&gt;
|p ||Pneumatic and universal electrical power ||N/A (Be sure to put &amp;quot;***_&amp;quot; and ***P&amp;quot; in the [[NML:Roadtypes#Roadtype_properties alternative_roadtype_list (NML)]] of a &amp;quot;***p&amp;quot; label)&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Lurkmore</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=Standardized_Railtype_Scheme&amp;diff=4700</id>
		<title>Standardized Railtype Scheme</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=Standardized_Railtype_Scheme&amp;diff=4700"/>
		<updated>2024-01-10T08:29:38Z</updated>

		<summary type="html">&lt;p&gt;Lurkmore: /* Possible additions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This railtype label scheme aims to bring order to the uncontrolled growth of railtype labels. It groups the rail types into what matters from a technical perspective. The scheme provides a standardized way of defining railtype labels, based on track gauge and type, speed class, allowable axle weight and electrification type.&lt;br /&gt;
&lt;br /&gt;
It is the explicit intent of this scheme to decouple track sets from vehicle sets to facilitate easy mixing. This way the player can select a track set of choice to go with a train set of choice. It allows the player to play with or without axle load classes, or with or without speed limit classes, simply by loading a track set that does or does not provide these features. In some cases it will also be possible to combine niche track sets, for instance a standard gauge track set with a narrow gauge and a metro track set.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== The Label Scheme ==&lt;br /&gt;
A railtype label consists of four characters. In this scheme, each position has a different purpose:&lt;br /&gt;
# Track gauge and type class (e.g. standard gauge rail, narrow gauge rail, monorail)&lt;br /&gt;
# Speed limit class&lt;br /&gt;
# Axle load class (maximum allowed axle weight for this track)&lt;br /&gt;
# Energy source type class&lt;br /&gt;
&lt;br /&gt;
In the next sections, each of the four positions will be explained.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Track gauge and type class [X***] ===&lt;br /&gt;
The first position in the railtype label defines track gauge and/or track type class. The following classes are currently defined:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Track type/gauge&lt;br /&gt;
|- &lt;br /&gt;
|S ||Standard gauge rail&lt;br /&gt;
|-&lt;br /&gt;
|B ||Broad gauge rail &lt;br /&gt;
|-&lt;br /&gt;
|N ||Narrow gauge rail&lt;br /&gt;
|-&lt;br /&gt;
|n ||Secondary narrow gauge rail (e.g. when providing both metre and cape gauge, always use N in case of just one type of narrow gauge)&lt;br /&gt;
|-&lt;br /&gt;
|D ||Dual gauge rail, standard/broad gauge&lt;br /&gt;
|-&lt;br /&gt;
|d ||Dual gauge rail, standard/narrow gauge&lt;br /&gt;
|-&lt;br /&gt;
|M ||Monorail&lt;br /&gt;
|-&lt;br /&gt;
|L ||Magnetic Levitation&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Speed limit class [*X**] ===&lt;br /&gt;
The second position in the railtype label defines the speed limit class. These classes do not map to a fixed numeric value, but are used to define an internal speed limit order for the track set. This means that if your track set has two different speed limits for track types that are otherwise identical, you&#039;ll use letters A and B here. In case of three different speed limits, use A, B and C. In case your track set does not employ speed limits, always use A. Train sets do not care about the speed limit, and will always set the lowest speed class, i.e. A.&lt;br /&gt;
&lt;br /&gt;
This gives for instance the following options:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||no speed limits&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;OR&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||low speed&lt;br /&gt;
|-&lt;br /&gt;
|B ||high speed&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;OR&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
! !!Speed limit class&lt;br /&gt;
|- &lt;br /&gt;
|A ||low speed&lt;br /&gt;
|-&lt;br /&gt;
|B ||medium speed&lt;br /&gt;
|-&lt;br /&gt;
|C ||high speed&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;etc.&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear:left;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The speed limit class may also be used for some advanced features of the label scheme, like specialized track types and eyecandy purposes. Be careful not to break the compatibility with other sets when using the speed limit class for these purposes.&lt;br /&gt;
&lt;br /&gt;
An example of a special use is rack rail. In the French set it is used to give rack rail engines a higher speed and TE than normal rail engines when used on rack rail. When defining trains with a special speed limit class, always allow a fallback to speed limit class A via the railtype table.&lt;br /&gt;
&lt;br /&gt;
An example of eyecandy use are urban tracks. These are a variation of regular tracks, but with concrete ground tiles to better match the urban environment. Train sets must not define vehicles for eyecandy classes. If you think you have special vehicles that should only run on the eyecandy class, it is &#039;&#039;not&#039;&#039; eyecandy but a separate track gauge/type.&lt;br /&gt;
&lt;br /&gt;
The following special and eyecandy classes have been defined so far:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Description !!Type !!Used by&lt;br /&gt;
|- &lt;br /&gt;
|A-H ||speed limits ||colspan=&amp;quot;2&amp;quot;|reserved&lt;br /&gt;
|- &lt;br /&gt;
|R ||rack rail ||special ||French Set Rails &lt;br /&gt;
|- &lt;br /&gt;
|S ||subterranean ||eyecandy ||Metro Track Set&lt;br /&gt;
|- &lt;br /&gt;
|U ||urban ||eyecandy ||Metro Track Set&lt;br /&gt;
|-&lt;br /&gt;
|g ||ground tile for 45° angles ||eyecandy ||(none yet)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Axle load class [**X*] ===&lt;br /&gt;
The third position defines the axle weight limit. Heavy trains cannot run on tracks with a low axle weight limit; these trains need more expensive tracks with a heigher weight limit. There are five axle load classes &#039;&#039;&#039;A&#039;&#039;&#039; through &#039;&#039;&#039;E&#039;&#039;&#039;. &#039;&#039;&#039;A&#039;&#039;&#039; is for the lowest axle load limit, &#039;&#039;&#039;E&#039;&#039;&#039; for the highest. The exact axle load attached to each class is relative to the track gauge/type and trains in the set. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A train set should set the appropriate axle weight for each train via the railtype label, as to make the set work with track sets that do provide tracks with different weight limits, even if you don&#039;t care about it for your trainset. Split all vehicles of a certain track gauge/type into five groups of similar axle weight. The group with the lowest axle weights will get class &#039;&#039;&#039;A&#039;&#039;&#039;, the second lowest class &#039;&#039;&#039;B&#039;&#039;&#039;, etc. up to the group with the highest axle weights which will get class &#039;&#039;&#039;E&#039;&#039;&#039;. Do the same for the other track gauge/types if your train set has those.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A track set does not have to provide a dedicated track type for each axle weight limit. A track set that does not provide a dedicated track for each axle load class, must make sure to map all undefined axle load classes to a real railtype using property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]]. This way a train set can rely on all labels for all axle load classes being available. Example: if you only want to provide 2 axle load classes for standard gauge unelectrified with no speed limits, you can map SA&#039;&#039;&#039;A&#039;&#039;&#039;N + SA&#039;&#039;&#039;B&#039;&#039;&#039;N to SA&#039;&#039;&#039;C&#039;&#039;&#039;N and SA&#039;&#039;&#039;D&#039;&#039;&#039;N to SA&#039;&#039;&#039;E&#039;&#039;&#039;N if the cost difference between the two railtypes is high, or SA&#039;&#039;&#039;A&#039;&#039;&#039;N to SA&#039;&#039;&#039;B&#039;&#039;&#039;N and SA&#039;&#039;&#039;C&#039;&#039;&#039;N + SA&#039;&#039;&#039;D&#039;&#039;&#039;N to SA&#039;&#039;&#039;E&#039;&#039;&#039;N if the cost difference is low.&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t want to provide any axle load classes in your track set, it doesn&#039;t really matter what axle load class you choose for the track, as you&#039;ll be mapping all other classes to this track anyways. But the lowest or highest class are the obvious choice. Example: if your track set only provides narrow gauge unelectrified track with no speed limits and no axle load limits, you may use NA&#039;&#039;&#039;A&#039;&#039;&#039;N for the track label, and provide NA&#039;&#039;&#039;B&#039;&#039;&#039;N, NA&#039;&#039;&#039;C&#039;&#039;&#039;N, NA&#039;&#039;&#039;D&#039;&#039;&#039;N, NA&#039;&#039;&#039;E&#039;&#039;&#039;N in property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you need more than five axle load class, you may use lowercase letters for very low axle loads and continue the uppercase letters for very high axle loads. Be advised that your train set may not assume the existance of any other class than &#039;&#039;&#039;A&#039;&#039;&#039; through &#039;&#039;&#039;E&#039;&#039;&#039;, so when the range make sure to program your railtype table such that trains with such a class will fall back to class &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;E&#039;&#039;&#039;. If you make a track set with an extended range, be aware that not all train sets will define trains for these tracks. In general: only do this in case of a train set with a matching track set.&lt;br /&gt;
&lt;br /&gt;
For the lowercase letters, &#039;&#039;&#039;b&#039;&#039;&#039; is lower than &#039;&#039;&#039;a&#039;&#039;&#039;, so for increasing axle load limits: b &amp;lt; a &amp;lt; A &amp;lt; B &amp;lt; C etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that the axle load classes never map to a specific weight in tonnes. For that reason it does not make sense to add a numeric value for the axle load to the name of a track type or in the extended purchase info of a train. Instead use the relative expressions &#039;very low&#039;, &#039;low&#039;, &#039;medium&#039;, &#039;high&#039; and &#039;very high&#039; or use the class letters directly.&lt;br /&gt;
&lt;br /&gt;
=== Energy source type class [***X] ===&lt;br /&gt;
The last position defines the energy source type class. This is split in generic energy source types like overhead wires and third rail and specialized types like alternating and direct current.&lt;br /&gt;
&lt;br /&gt;
A track set that only uses specialized types, should map the generic types to the most suitable specialized type in the set.&lt;br /&gt;
&lt;br /&gt;
A vehicle set that uses specialized types should define a generic type as fallback, via the railtype table. If such a fallback is omitted, please note that certain vehicles may be unavailable depending on track set loaded.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Generic energy type classes&lt;br /&gt;
|-&lt;br /&gt;
|N ||no electrification&lt;br /&gt;
|-&lt;br /&gt;
|E ||overhead wires/catenary electrification&lt;br /&gt;
|-&lt;br /&gt;
|3 ||3rd rail electrification&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Specialized energy type classes !!Vehicle set fallback&lt;br /&gt;
|-&lt;br /&gt;
|Z ||3rd rail and catenary electrification || 3 or E&lt;br /&gt;
|-&lt;br /&gt;
|4 ||4th rail electrification || 3&lt;br /&gt;
|-&lt;br /&gt;
|Y ||4th rail and catenary electrification || 4 or E&lt;br /&gt;
|-&lt;br /&gt;
|T ||[http://en.wikipedia.org/wiki/Three-phase_AC_railway_electrification three phase AC electrification] || E&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|D ||DC catenary electrification || E&lt;br /&gt;
|-&lt;br /&gt;
|d ||low voltage DC catenary electrification (only when D also used in set) || First A then E&lt;br /&gt;
|-&lt;br /&gt;
|A ||AC catenary electrification || E&lt;br /&gt;
|-&lt;br /&gt;
|a ||low voltage AC catenary electrification (only when A also used in set) || First A then E&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
If you want multi-voltage/current vehicles in your set (i.e. a train that can run on both AC and DC current), you have to define a dedicated railtype for those vehicles. Without the railtype, it&#039;s not possible to define vehicles with this property. If you only have vehicles that can run on either one type of voltage/current or on all types of voltage/current (e.g. a 2-system if you only have &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;D&#039;&#039;&#039; tracks, or a 4-system in case of all &#039;&#039;&#039;A&#039;&#039;&#039;, &#039;&#039;&#039;a&#039;&#039;&#039;, &#039;&#039;&#039;D&#039;&#039;&#039; and &#039;&#039;&#039;d&#039;&#039;&#039;), then use the generic class &#039;&#039;&#039;E&#039;&#039;&#039; for vehicles that should be able to run on all different voltage/currents. Also the track set needs to have one at least one railtype with class &#039;&#039;&#039;E&#039;&#039;&#039; defined.&lt;br /&gt;
&lt;br /&gt;
Note that if you want more than one type of multi-voltage/current, you&#039;ll quickly get a combinatory explosion of railtype labels, so plan carefully or do not attempt it. For every different multi-voltage/current vehicle type a dedicated railtype is needed. If you want all possible combinations, then you need to define an additional 8 classes. It is not recommended to make your train/track set this complicated.&lt;br /&gt;
&lt;br /&gt;
Example approach for a 4-system set, with trains that can run on either one or all systems:&lt;br /&gt;
* &#039;&#039;&#039;E&#039;&#039;&#039;: generic catenary-powered electric engines. &amp;quot;universal&amp;quot; [4-system] if any of &#039;&#039;&#039;D&#039;&#039;&#039;/&#039;&#039;&#039;d&#039;&#039;&#039;/&#039;&#039;&#039;A&#039;&#039;&#039;/&#039;&#039;&#039;a&#039;&#039;&#039; are defined.&lt;br /&gt;
* &#039;&#039;&#039;A&#039;&#039;&#039;: generic AC catenary electric engines. 25kV only if &#039;&#039;&#039;a&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;A&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;a&#039;&#039;&#039;: 15kV AC catenary electric engines. Only defined if &#039;&#039;&#039;A&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;a&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;D&#039;&#039;&#039;: generic DC catenary electric engines. 3kV if &#039;&#039;&#039;d&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;D&#039;&#039;&#039;;&lt;br /&gt;
* &#039;&#039;&#039;d&#039;&#039;&#039;: 1.5kV DC catenary electric engines. Only defined if &#039;&#039;&#039;D&#039;&#039;&#039; also defined. Vehicle sets should use &#039;&#039;&#039;D&#039;&#039;&#039; and &#039;&#039;&#039;E&#039;&#039;&#039; as fallback, if defining an engine for &#039;&#039;&#039;d&#039;&#039;&#039;.&lt;br /&gt;
For a 2-system set, you can simply drop &#039;&#039;&#039;a&#039;&#039;&#039; and &#039;&#039;&#039;d&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Standard labels: RAIL, ELRL, MONO, MGLV ===&lt;br /&gt;
It&#039;s not possible to undefine the standard railtypes RAIL, ELRL, MONO and MGLV. The game will always add those if there are vehicles defined for these track types. As a result, for a track set it&#039;s best not to ignore those standard labels, but rather work with them and define them in the set. If your track set does not have monorail or maglev tracks, there of course is no need to define those. But if your track set defines anything that resembles unelectrified or electrified rail, you should use the RAIL and ELRL labels. Matching labels from the above scheme will then be defined in property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
As vehicles from NewGRFs that do not use explicit railtypes will end up on these standard railtypes, you should use RAIL instead of whatever type could be regarded as the most commonly used unelectrified type, ELRL instead of the most commonly used electrified type and so on. The label according to this scheme is then set as an alternate.&lt;br /&gt;
&lt;br /&gt;
== Summary for track sets ==&lt;br /&gt;
This section summarizes the above for track sets.&lt;br /&gt;
&lt;br /&gt;
; [X***] Track gauge and type class&lt;br /&gt;
* Define at least one track type for every track gauge/type class you want in your set.&lt;br /&gt;
* If you only provide tracks for one gauge/type, consider leaving some free railtypes so a player can load an additional set for some other type.&lt;br /&gt;
; [*X**] Speed limit class&lt;br /&gt;
* Make sure class A is always available, either directly or via an alternate label.&lt;br /&gt;
* Use only class A if you don&#039;t want speed limits;&lt;br /&gt;
* With speed limits, A is the lowest speed limit. Continue with B, C, etc. for increasing speed limits;&lt;br /&gt;
* The speed class can also be used to implement additional eye-candy track types, use letters higher in the alphabet for this.&lt;br /&gt;
; [**X*] Axle load class&lt;br /&gt;
* Always define all classes A through E for every track type class / electrification combination, either:&lt;br /&gt;
** Directly via a real railtype definition;&lt;br /&gt;
** Indirectly via the alternate rail type label list, property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
* Extend the predefined classes only if you also provide a train set that makes use of these.&lt;br /&gt;
; [***X] Energy source type class&lt;br /&gt;
* If your set only uses specialized classes, always map the generic classes to the closest matching specialized type via property 1D.&lt;br /&gt;
; Standard labels [RAIL, ELRL, MONO, MGLV]&lt;br /&gt;
* Always define the standard labels when possible, instead of what would be the equivalent of the standard label in this scheme.&lt;br /&gt;
* Map the equivalent labels from this scheme to the standard labels using property [[Action0/Railtypes#Alternate_rail_type_labels_.281D.29|1D (NFO)]] or [[NML:Railtypes#Railtype_properties|alternative_railtype_list (NML)]].&lt;br /&gt;
&lt;br /&gt;
Or, put differently, for each gauge/type, select one or more energy source types. For each type/energy combination provide all axle load classes for the speed class &amp;quot;A&amp;quot;, either as a real type or as an alternate of another type. Provide more types with a different speed letter if you want to provide several different speeds or other eye-candy tracks.&lt;br /&gt;
&lt;br /&gt;
== Summary for train sets ==&lt;br /&gt;
This section summarizes the above for train sets.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; [X***] Track gauge and type class&lt;br /&gt;
* Use the track type class that matches the vehicle;&lt;br /&gt;
* Define a fallback type via the railtype table in case you want the vehicle to be available on a different track if no matching track set is loaded.&lt;br /&gt;
** Specialized subtypes like &amp;quot;n&amp;quot; might not always be available. If you want those vehicles to be still available then, fall back the the generic class (e.g. &amp;quot;N&amp;quot;).&lt;br /&gt;
; [*X**] Speed limit class &lt;br /&gt;
* Always use class A for every vehicle.&lt;br /&gt;
; [**X*] Axle load class&lt;br /&gt;
* Use all classes A through E according to the maximum axle weight of the vehicle.&lt;br /&gt;
* Extend the predefined classes only if you also provide a track set that makes use of these;&lt;br /&gt;
** When extending the predefined classes A through E, define a fallback type via the railtype table in case you want the vehicle to be available if no matching track set is loaded.&lt;br /&gt;
; [***X] Energy source type class&lt;br /&gt;
* Use the energy source type class that matches the vehicle;&lt;br /&gt;
* When using specialized classes, define a fallback type via the railtype table in case you want the vehicle to be available if no matching track set is loaded.&lt;br /&gt;
; Standard labels [RAIL, ELRL, MONO, MGLV]&lt;br /&gt;
* Define a fallback type to the standard labels via the railtype table in case you want the vehicle to be available on the standard tracks if no matching track set is loaded.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Be as specific as you want when selecting the railtype, it is the job of the track set to select a playable, reduced subset out of all possible type combinations.&lt;br /&gt;
&lt;br /&gt;
== In case you&#039;re not convinced by this scheme ==&lt;br /&gt;
Adopting this scheme gives the player freedom to use any track set in combination with any train set that follow the scheme. &lt;br /&gt;
&lt;br /&gt;
This means that you can make your train set compatible with track sets that provide axle load classes, and track sets that provide speed limits, and at the same time with track sets that provide none of this. This way, the player can decide to play with or without axle load classes, or with or without speed limits, simply by loading a track set that does or does not provide these features.&lt;br /&gt;
&lt;br /&gt;
And for your track set, it means that you can make it as simple or as complicated as you want (within the 64 track type limit), while not having to worry about compatibility with train sets.&lt;br /&gt;
&lt;br /&gt;
Still not convinced? Feel free to use railtype labels of your own, but know that you will likely come to regret that at some point in the future.&lt;br /&gt;
&lt;br /&gt;
==Forum topic==&lt;br /&gt;
If you want to discuss the standardized railtype scheme or have any questions about it, you can visit [http://www.tt-forums.net/viewtopic.php?t=59379 the forum topic].&lt;br /&gt;
&lt;br /&gt;
==&amp;quot;Innsbruck 2022 Convention&amp;quot; for partial compliance==&lt;br /&gt;
&lt;br /&gt;
This is really esoteric, but eh. It was the product of long discussion / debate / argument / reasoning between grf authors.&lt;br /&gt;
&lt;br /&gt;
1. The Standardized Railtype Scheme &#039;&#039;&#039;is a useful tool&#039;&#039;&#039; for providing reliable compatibility between train grfs and railtype grfs.&lt;br /&gt;
&lt;br /&gt;
2. The &#039;&#039;&#039;axle load class&#039;&#039;&#039; in the scheme presents a number of issues for compliance.&lt;br /&gt;
&lt;br /&gt;
2.1. Over 10 years since the scheme was standardised, not many train grfs implement multiple axle load classes &#039;&#039;&#039;as required by the scheme&#039;&#039;&#039;.  Known examples that &#039;&#039;&#039;do&#039;&#039;&#039; comply include Dutch Train Set, French Narrow Gauge Trains, and Finnish Trains.&lt;br /&gt;
&lt;br /&gt;
2.2. Elements of the axle load rules have proven hard to interpret.  For example:&lt;br /&gt;
&lt;br /&gt;
* is it compliant to use &#039;&#039;fewer&#039;&#039; than 5 classes in a train grf?  There is a lack of consensus on this.&lt;br /&gt;
* axle load is only one of many factors that govern whether a vehicle is compatible with a route, for example loading gauge, minimum curve, signalling types etc&lt;br /&gt;
&lt;br /&gt;
2.3. Meanwhile &#039;&#039;multiple existing train grfs use class &#039;&#039;A&#039;&#039; for the axle load for all trains&#039;&#039; (except where relying on default railtypes such as RAIL and ELRL).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3. The Innsbruck 2022 Convention uses class &#039;&#039;A&#039;&#039; for axle load for &#039;&#039;&#039;all&#039;&#039;&#039; trains in a train grf (except where relying on default railtypes such as RAIL and ELRL).&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is &#039;&#039;&#039;not&#039;&#039;&#039; fully compliant with the Standardized Railtype Scheme and does not claim to be.&lt;br /&gt;
&lt;br /&gt;
However train grfs using the Innsbruck 2022 Convention are &#039;&#039;broadly compatible&#039;&#039; with railtype grfs using the Standardized Railtype Scheme.  &lt;br /&gt;
&lt;br /&gt;
Obligatory XKCD link about &#039;standards&#039;: https://xkcd.com/927/&lt;br /&gt;
&lt;br /&gt;
===Known issues===&lt;br /&gt;
&lt;br /&gt;
Known problems are that trains using only class &#039;A&#039; may limit the ability of railtype grf authors to achieve their design goals for separating railtypes by axle load.  &lt;br /&gt;
But on reflection, it can be seen that a train grf might not be able to provide a broad enough range of vehicles to cover at least 5 axle load classes.&lt;br /&gt;
&lt;br /&gt;
3.1. The Innsbruck 2022 Convention is &#039;&#039;&#039;not&#039;&#039;&#039; appropriate for train grf authors who wish to provide more than one axle load class.&lt;br /&gt;
&lt;br /&gt;
3.2. The Innsbruck 2022 Convention treats the meaning of class &#039;&#039;A&#039;&#039; as &#039;&#039;undefined&#039;&#039;, &#039;&#039;ignored&#039;&#039; or &#039;&#039;compatible with most restricted railtype&#039;&#039; for axle load.  &lt;br /&gt;
&lt;br /&gt;
Axle load class &#039;&#039;A&#039;&#039; &#039;&#039;&#039;cannot&#039;&#039;&#039; be safely interpreted as &#039;&#039;universal&#039;&#039; because from the perspective of a railtype grf &#039;&#039;A&#039;&#039; is &#039;&#039;most restricted railtype&#039;&#039;, where &#039;&#039;universal&#039;&#039; is better represented as &#039;&#039;least restricted railtype&#039;&#039;. Depending how many axle load classes are in use by the railtype grf, this could be class &#039;&#039;B&#039;&#039;, &#039;&#039;C&#039;&#039;, &#039;&#039;D&#039;&#039;, &#039;&#039;E&#039;&#039; etc.  To illustrate this issue, take the following scenario&lt;br /&gt;
&lt;br /&gt;
* railtype grf defines axle loads &#039;&#039;A&#039;&#039; to &#039;&#039;E&#039;&#039;. In this case the railtype grf author intends that &#039;&#039;A&#039;&#039; is compatible with the smallest range of vehicles, &#039;&#039;E&#039;&#039; is compatible with the largest range of vehicles, and &#039;&#039;B&#039;&#039;, &#039;&#039;C&#039;&#039; and &#039;&#039;D&#039;&#039; are compatible with some intermediate ranges of vehicles&lt;br /&gt;
* but the vehicle grf author has defined all vehicles to be axle load &#039;&#039;A&#039;&#039; in an attempt to express this vehicle is &#039;&#039;universal&#039;&#039;.  The result in the game is that an identical range of vehicles will be compatible with railtypes &#039;&#039;A&#039;&#039; to &#039;&#039;E&#039;&#039;.  &lt;br /&gt;
&lt;br /&gt;
This is clearly &#039;&#039;&#039;not&#039;&#039;&#039; the intended outcome of the railtype author. But nor is it clear within the spec that the vehicle author has particularly done anything wrong. &lt;br /&gt;
&lt;br /&gt;
It &#039;&#039;would&#039;&#039; be possible to use railtype availability testing to adjust the vehicle property 05 (track_type) to fit the highest defined axle load (&#039;&#039;E&#039;&#039; in this example case), but this is not insignificant work, and it&#039;s unlikely to be widely adopted by vehicle grf authors.  Nor would this solution achieve &#039;&#039;universal&#039;&#039; as all vehicles in vehicle grf then would be incompatible with types &#039;&#039;A&#039;&#039; through &#039;&#039;D&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
3.3. When the Innsbruck 2022 Convention is used, this &#039;&#039;&#039;does not prevent&#039;&#039;&#039; a train grf being extended in some future release to achieve full compliance with Standardized Railtype Scheme. &#039;&#039;That choice remains with train grf authors&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
3.4. If 2012 could be revisited, providing an optional &#039;&#039;_&#039;&#039; axle load class in the Standardized Railtype Scheme for &#039;&#039;undefined&#039;&#039; would have been preferable, but as of 2022, &#039;&#039;A&#039;&#039; is already widely used for this purpose, and time travel is not known to be possible.&lt;br /&gt;
&lt;br /&gt;
==Possible additions==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Track type/gauge&lt;br /&gt;
|-&lt;br /&gt;
|B ||Broad gauge rail (Also used by &amp;quot;ultra-broad&amp;quot; fictional tracktype; As broad gauge is a rare tracktype, it may still be feasible to cement B and b as broad gauges of two differing sizes) &lt;br /&gt;
|-&lt;br /&gt;
|b ||Broad gauge rail (Originally assigned to uppercase B; As broad gauge is a rare tracktype, it may still be feasible to cement B and b as broad gauges of two differing sizes) &lt;br /&gt;
|-&lt;br /&gt;
|s ||Multiple gauge rail, ultrabroad/broad/standard/narrow/secondary narrow gauge&lt;br /&gt;
|-&lt;br /&gt;
|6 ||600mm, formerly labelled &amp;quot;NG60&amp;quot; before standardization&lt;br /&gt;
|-&lt;br /&gt;
|m ||Minimum gauge rail; [https://en.wikipedia.org/wiki/Minimum-gauge_railway 15 in (381 mm), 400 mm (15+3⁄4 in), 16 in (406 mm), 18 in (457 mm), 19 in (483 mm), 500 mm (19+3⁄4 in) or 20 in (508 mm)]&lt;br /&gt;
|-&lt;br /&gt;
|T ||Maglevs that have a monorail track&lt;br /&gt;
|-&lt;br /&gt;
|L ||Maglevs that have a u-shaped track&lt;br /&gt;
|-&lt;br /&gt;
|F ||Flightrail; A [https://web.archive.org/web/20231213122530/http://www.flightrail.com/ system capable of high speeds and steep hill grades] that uses a pneumatic pipe for propulsion (see &amp;quot;P&amp;quot; under energy sources), and &#039;&#039;wheels pointed inwards at a 45-degree angle&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|0 ||(A number zero, not a letter &amp;quot;Oh&amp;quot;) No track, eyecandy-use only&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
It might be prefered to instead use keep &amp;quot;B&amp;quot; for current broad gauge and instead using lovercase &amp;quot;b&amp;quot; for the new ultra-broad gauge. This wouldn&#039;t be to different from narrow gauge since the lesser used ones are lowercase and fallback to the uppercase ones.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! !!Electrification !!Fallback&lt;br /&gt;
|-&lt;br /&gt;
|S ||Maglevs that use a synchronous linear motor ||N/A&lt;br /&gt;
|-&lt;br /&gt;
|I ||Maglevs that use a linear induction motor ||MGLV (the whole label)&lt;br /&gt;
|-&lt;br /&gt;
|t ||&amp;quot;Universal custom tunnel&amp;quot; (for electrified sub-surface rail tunnels) ||E (mandatory)&lt;br /&gt;
|-&lt;br /&gt;
|_ ||Universal energy type (&#039;&#039;not&#039;&#039; meant to replace &amp;quot;***N&amp;quot;) ||N/A (Be sure to put &amp;quot;***E&amp;quot; in the [[NML:Roadtypes#Roadtype_properties alternative_roadtype_list (NML)]] of a &amp;quot;***_&amp;quot; label)&lt;br /&gt;
|-&lt;br /&gt;
|P ||Pneumatic tube with physical piston slit, or closed pneumatic tube with magnetic piston (i.e. that used by [https://web.archive.org/web/20231213122530/http://www.flightrail.com/ Flightrail]) ||N/A&lt;br /&gt;
|-&lt;br /&gt;
|p ||Pneumatic and universal electrical power ||N/A (Be sure to put &amp;quot;***_&amp;quot; and ***P&amp;quot; in the [[NML:Roadtypes#Roadtype_properties alternative_roadtype_list (NML)]] of a &amp;quot;***p&amp;quot; label) ||N/A&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Lurkmore</name></author>
	</entry>
</feed>