<?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=Oberh%C3%BCmer</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=Oberh%C3%BCmer"/>
	<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/wiki/Special:Contributions/Oberh%C3%BCmer"/>
	<updated>2026-05-14T09:29:22Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=TracktypeLabels&amp;diff=3800</id>
		<title>TracktypeLabels</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=TracktypeLabels&amp;diff=3800"/>
		<updated>2018-09-07T10:23:30Z</updated>

		<summary type="html">&lt;p&gt;Oberhümer: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page lists existing rail type labels.&lt;br /&gt;
&lt;br /&gt;
== Default rail type labels ==&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;
== Standardized Rail Type 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. It is strongly encouraged to follow this scheme in train and track NewGRFs.&lt;br /&gt;
&lt;br /&gt;
See [[Standardized Railtype Scheme]].&lt;br /&gt;
&lt;br /&gt;
== Non-standard railtype labels ==&lt;br /&gt;
&lt;br /&gt;
The following labels were defined before the adoption of the Standardized Rail Type Scheme. They should no longer be used nor supported, and recent versions of the respective NewGRFs generally have dropped 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;
!&#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;
|NAAN&lt;br /&gt;
|Narrow gauge, unelectrified&lt;br /&gt;
|French Set Rails&lt;br /&gt;
|-&lt;br /&gt;
|NAAE&lt;br /&gt;
|Narrow gauge, catenary powered&lt;br /&gt;
|French Set Rails&lt;br /&gt;
|-&lt;br /&gt;
|NAA3&lt;br /&gt;
|Narrow gauge, third-rail powered&lt;br /&gt;
|French Set Rails&lt;br /&gt;
|-&lt;br /&gt;
|NRAN&lt;br /&gt;
|Narrow gauge, unelectrified, rack rail&lt;br /&gt;
|French Set Rails&lt;br /&gt;
|-&lt;br /&gt;
|NRAE&lt;br /&gt;
|Narrow gauge, catenary powered, rack rail&lt;br /&gt;
|French Set Rails&lt;br /&gt;
|-&lt;br /&gt;
|NBAN&lt;br /&gt;
|Narrow gauge, unelectrified, high speed&lt;br /&gt;
|French Set Rails&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;
|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;
|ER2S&lt;br /&gt;
|Broad (1520 mm) gauge tracks with AC/DC catenary 25kV/3kV. Speed limit 120 km/h&lt;br /&gt;
|xUSSR train set&lt;br /&gt;
|-&lt;br /&gt;
|WGWY&lt;br /&gt;
|Wagonway&lt;br /&gt;
|Early Rails set&lt;br /&gt;
|-&lt;br /&gt;
|LIHT&lt;br /&gt;
|Light Rails&lt;br /&gt;
|Early Rails 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;/div&gt;</summary>
		<author><name>Oberhümer</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=NML:Spriteset&amp;diff=3590</id>
		<title>NML:Spriteset</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=NML:Spriteset&amp;diff=3590"/>
		<updated>2014-11-01T15:04:21Z</updated>

		<summary type="html">&lt;p&gt;Oberhümer: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{NMLNavBlocksyntax}}&lt;br /&gt;
&lt;br /&gt;
A spriteset associates a name with a number piece of an existing image file and describes the offsets with respect to some origin the graphics will be painted within the game. Different features and situations require that a single set has a certain amount of actual sprites associated. E.g. a vehicle usually requires eight sprites in order to provide on view for each of the eight possible ingame orientations of a vehicle.&lt;br /&gt;
&lt;br /&gt;
 spriteset (&amp;amp;lt;spriteset-name&amp;amp;gt;[, &amp;amp;lt;image-file&amp;amp;gt;]) {&lt;br /&gt;
 	[[NML:Realsprites|list of realsprites]]&lt;br /&gt;
 	...&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Parameter &amp;amp;lt;spriteset-name&amp;amp;gt; specifies the name of this spriteset. This name is used to refer to the spriteset later on.&lt;br /&gt;
&lt;br /&gt;
Parameter two &amp;amp;lt;image-file&amp;amp;gt; (optional) is a literal (quoted) string that specifies the default file where the sprites are located. This may be overridden per-sprite (see [[NML:Realsprites|Real sprites]]).&lt;br /&gt;
&lt;br /&gt;
Each sprite may be prefixed with a label, see [[NML:Spritelayout#Sprite| sprite layouts]] for more info. Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
 	some_label: [... real sprite ...]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
How to use a sprite set depends on the feature:&lt;br /&gt;
&lt;br /&gt;
* For canals, cargos, airports (not tiles!) and railtypes, you can refer to sprite sets directly from the graphics block, or use intermediate (random)switches to make a descision.&lt;br /&gt;
* For vehicles, the same as above is possible. However, to facilitate the common case of having multiple loading stages, you can also define [[NML:Spritegroup|sprite groups]], see below. These sprite groups are then used in place of a single sprite set.&lt;br /&gt;
* Stations, houses, industry tiles, objects and airport tiles all define the look of a tile. This often requires more than one sprite, for example a concrete ground sprite with a building sprite on top of it. To combine and arrange these sprites a [[NML:Spritelayout|sprite layout]] is used, directly referring to sprite sets is not possible here&lt;br /&gt;
* Features not mentioned here have no use for sprite sets, as such they are not supported by NML.&lt;/div&gt;</summary>
		<author><name>Oberhümer</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=Action11&amp;diff=3214</id>
		<title>Action11</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=Action11&amp;diff=3214"/>
		<updated>2012-07-06T17:25:35Z</updated>

		<summary type="html">&lt;p&gt;Oberhümer: /* number */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
{{ottdp|0.6|2.5|ttdprev=2.0.1 alpha 57}}&lt;br /&gt;
&lt;br /&gt;
This action allows the definition of binary included sound samples.&lt;br /&gt;
&lt;br /&gt;
Action 11 may only appear at most once per .grf file.&lt;br /&gt;
The newly defined sounds will be numbered consecutively, starting from 73 (49h) (numbers 0..72 represent original sounds). When you need to refer to your new sounds, you will have to use this numbering.&lt;br /&gt;
&lt;br /&gt;
== Syntax ==&lt;br /&gt;
&lt;br /&gt;
The data looks as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;sprite-number&amp;gt; * &amp;lt;length&amp;gt; 11 &amp;lt;number&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
!Element !![[GRFActionsDetailed|Size]] !! Description&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;sprite-number&amp;gt; ||dec ||A sequential sprite number&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;length&amp;gt; ||dec||The total number of bytes in the action&lt;br /&gt;
|-&lt;br /&gt;
|11 ||B||Action 11&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;number&amp;gt; ||W ||Number of binary include sprites that follow&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
=== sprite-number ===&lt;br /&gt;
&lt;br /&gt;
The current sprite number.&lt;br /&gt;
&lt;br /&gt;
=== length ===&lt;br /&gt;
&lt;br /&gt;
The total number of bytes in this action 11.&lt;br /&gt;
&lt;br /&gt;
=== number ===&lt;br /&gt;
&lt;br /&gt;
This defines the number of binary include sprites that follow.&lt;br /&gt;
&lt;br /&gt;
These can only be added using GRFCodec 0.9.7 or later, using the following format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;17 ** sounds/e67_horn.wav&lt;br /&gt;
18 ** sounds/sheep.wav&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
All files included this way must be 8-bit mono sound files in WAV format, PCM encoding. There are two allowed frequencies: 11025 Hz and 22050 Hz. Due to some limitations of the GRF format, the file size cannot exceed 64 kB, at least not until GRF version 8.&lt;br /&gt;
&lt;br /&gt;
For those need to know or are inordinately curious, the actual encoding of a binary include is the same as a pseudosprite:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;sprite-number&amp;gt; * &amp;lt;length&amp;gt; FF &amp;lt;name-len&amp;gt; &amp;lt;name&amp;gt; 00 &amp;lt;data&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
!Element !![[GRFActionsDetailed|Size]] !! Description&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;name-len&amp;gt; ||B ||The return value of strlen(&amp;lt;name&amp;gt;);&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;name&amp;gt; ||S ||The name of the included file, with any leading directories stripped&lt;br /&gt;
|-&lt;br /&gt;
|00 ||B ||Null byte terminating the string (not included in size)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;data&amp;gt; ||V ||A byte-for-byte copy of the contents of the file&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Importing sound effects from other grf files ==&lt;br /&gt;
{{ottdp|0.6|2.5|ttdprev=2.0.1 alpha 61}}&lt;br /&gt;
Since TTDPatch 2.0.1 alpha 61, it is possible to import sound effects from other grf files (or even the current file). &amp;amp;nbsp;This does not copy the sound effect data (thus reducing memory usage), but does provide a new sound effect entry with its own action 0 properties.&lt;br /&gt;
&lt;br /&gt;
This is a way of either combining useful sound effects in a single grf file and using them in several, or to duplicate sounds with different amplification or priority settings without doubling the memory usage.&lt;br /&gt;
&lt;br /&gt;
The referenced grf file can be anywhere in newgrf(w).cfg and does not have to be active. &amp;amp;nbsp;If it is not loaded, no sound will be played but that is not an error condition. This makes it possible to separate sound effects and graphics into two files, to allow people with little memory to not load the sound effects yet get working graphics.&lt;br /&gt;
&lt;br /&gt;
The format of such an import sprite is the following (replacing a &amp;quot;**&amp;quot; binary sprite within the action 11 sprite block):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;sprite-number&amp;gt; * &amp;lt;length&amp;gt; FE 00 &amp;lt;GRFID&amp;gt; &amp;lt;number&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
!Element !![[GRFActionsDetailed|Size]] !! Description&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;sprite-number&amp;gt; ||dec ||A sequential sprite number&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;length&amp;gt; ||dec||The total number of bytes in the action&lt;br /&gt;
|-&lt;br /&gt;
|FE ||B ||Code to identify a non-binary sprite in an action 11 block&lt;br /&gt;
|-&lt;br /&gt;
|00 ||B ||Code to identify a sound effect import&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;GRFID&amp;gt; ||D ||GRFID of grf file to import sound effect from, may be the current one too&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;number&amp;gt; ||W ||Sound effect number to import&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Note that unlike most other reference to sound numbers, the number here is simply the number within the referenced grf file&#039;s action 11 block, and does not refer to TTD&#039;s samples for numbers 0..72. Also, when importing the sound effect, the action 0 properties are not imported and have to be set separately.&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
&lt;br /&gt;
Look at this tt-forums-page for how to add sounds to a train: [http://www.tt-forums.net/viewtopic.php?f=26&amp;amp;t=5033&amp;amp;p=735013#p735013]&lt;/div&gt;</summary>
		<author><name>Oberhümer</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=PalettesAndCoordinates&amp;diff=3013</id>
		<title>PalettesAndCoordinates</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=PalettesAndCoordinates&amp;diff=3013"/>
		<updated>2012-02-14T02:47:48Z</updated>

		<summary type="html">&lt;p&gt;Oberhümer: /* Palettes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Palettes==&lt;br /&gt;
&lt;br /&gt;
Since TTD is a palette-based game, you have to be careful that the graphics program you use can deal with that properly. Also, TTD uses some palette entries for palette cycling to do some colour-animation, don&#039;t use these as regular colours. These entries are often called &amp;quot;action colours&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Palette files for a number of graphics programmes are available on the [http://dev.openttdcoop.org/documents/1 DevZone]&lt;br /&gt;
&lt;br /&gt;
Below is an explanation by Oskar Eisemuth of the various colour ranges in the DOS and Windows palettes. Both palettes work similarly, but some of the colours are in different places. Do use the DOS palette as it contains some additional colours and is easier to work with (all grays in one line).&lt;br /&gt;
&lt;br /&gt;
[[File:windowspal.png]]&lt;br /&gt;
[[File:dospal.png]]&lt;br /&gt;
&lt;br /&gt;
Info on the image: The colors you &#039;&#039;&#039;can use normally&#039;&#039;&#039; are marked in &#039;&#039;&#039;green&#039;&#039;&#039;. The colors which &#039;&#039;&#039;have special purposes/are color cycles&#039;&#039;&#039; are marked &#039;&#039;&#039;yellow&#039;&#039;&#039;. &#039;&#039;&#039;Don&#039;t use&#039;&#039;&#039; the &#039;&#039;&#039;pink&#039;&#039;&#039; colours like the ones marked &amp;quot;WinAPI&amp;quot; in the Windows palette. &lt;br /&gt;
The &#039;&#039;&#039;Pure White&#039;&#039;&#039; at the bottom right of each palette is a palette colour, but you shouldn&#039;t use it in graphics; instead use the &amp;quot;almost white&amp;quot; from index 0x0F instead (colour code #FCFCFC). Use pure white for the background of your sprite sheet; [[GRFCodec]] and [[NML]] will issue a warning if a sprite containes pure white pixels. This warning is useful as it lets you know that the code referencing a sprite has the wrong position or size defined, but not so useful if your sprite actually contains pure white pixels.&lt;br /&gt;
&lt;br /&gt;
The colours in the &amp;quot;company&amp;quot; range are often (but not always) changed to the current player colours. In some instances, they may be changed to colours specified by the .grf file, or random colours, or not changed at all.&lt;br /&gt;
&lt;br /&gt;
Here is a list, provided by [[ttwiki:George|George]], of the shades of player colours that will be used:&lt;br /&gt;
&lt;br /&gt;
[[File:playercolours.png]]&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;Company 2&amp;quot; range is normally not a special colour range, but since TTDPatch 2.0.1 alpha 67 it is possible to activate it as a second company colour for vehicles and town houses.&lt;br /&gt;
&lt;br /&gt;
The palette cycling ranges listed are the water cycle (used for the blinking dots in the water), the block cycle, fire cycle, exchange red (better called crossing red; used for the flashing crossing lights), and the yellow cycle (used for lights in the runway of the large airport).&lt;br /&gt;
&lt;br /&gt;
The following table presents more detailed info on differences between DOS and Windows colours and colour indices:&lt;br /&gt;
&lt;br /&gt;
[[File:TTD_Palettes.png]]&lt;br /&gt;
&lt;br /&gt;
== Coordinates ==&lt;br /&gt;
&lt;br /&gt;
TTD internally uses a pseudo-3D or [http://en.wikipedia.org/wiki/2.5D 2.5D engine], which uses an [http://en.wikipedia.org/wiki/Isometric_graphics_in_video_games isometric projection] to display graphics on a 2D screen. The graphics engine uses so-called &amp;quot;bounding boxes&amp;quot; for each sprite, which are sorted by the sprite sorter to get drawn in (what it thinks is) the right order.&lt;br /&gt;
&lt;br /&gt;
To get a certain sprite drawn at the right place, it needs to have a proper bounding box (which is provided by the game for the most part), and the correct 2D offsets, here called &amp;quot;xofs&amp;quot; and &amp;quot;yofs&amp;quot; (see [[RealSprites]] for more information). The following picture by Oskar Eisemuth should help in figuring out how the 3D and 2D coordinates relate to each other:&lt;br /&gt;
&lt;br /&gt;
[[File:coordinates3d.png]]&lt;br /&gt;
&lt;br /&gt;
For 3D coordinates, X goes from top right to bottom left, Y goes from top left to bottom right, and Z (height) from down to up. For 2D coordinates, X goes from left to right, and Y from top to bottom. Usually, the top side of the screen is referred to as &amp;quot;north&amp;quot;, and thus &amp;quot;east&amp;quot;, &amp;quot;south&amp;quot; and &amp;quot;west&amp;quot; are the right, bottom and left side of the screen.&lt;br /&gt;
&lt;br /&gt;
For vehicles, the center of the bounding box (shown with a red dot in the yellow boxframe) is the reference point from which the xofs and yofs are counted. This means that in most cases, xofs and yofs need to be negative to get the sprite to fit on the box. Normally, as indicated above, this means xofs is approximately the negative value of half the sprite width, and yofs is approximately the negative value of half the sprite height.&lt;br /&gt;
&lt;br /&gt;
For all other sprites, the reference point is the furthest corner of the box, at its lowest X, Y and Z coordinates, i.e. the lower northernmost corner. In the image above, it is indicated by the crossing point of the blue lines. The xofs and yofs work from this point, instead of the center of the box as for vehicles.&lt;/div&gt;</summary>
		<author><name>Oberhümer</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=PalettesAndCoordinates&amp;diff=3012</id>
		<title>PalettesAndCoordinates</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=PalettesAndCoordinates&amp;diff=3012"/>
		<updated>2012-02-14T02:47:26Z</updated>

		<summary type="html">&lt;p&gt;Oberhümer: /* Palettes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Palettes==&lt;br /&gt;
&lt;br /&gt;
Since TTD is a palette-based game, you have to be careful that the graphics program you use can deal with that properly. Also, TTD uses some palette entries for palette cycling to do some colour-animation, don&#039;t use these as regular colours. These entries are often called &amp;quot;action colours&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Palette files for a number of graphics programmes are available on the [http://dev.openttdcoop.org/documents/1 DevZone]&lt;br /&gt;
&lt;br /&gt;
Below is an explanation by Oskar Eisemuth of the various colour ranges in the DOS and Windows palettes. Both palettes work similarly, but some of the colours are in different places. Do use the DOS palette as it contains a handful of additional colours over the Windows palette, and is easier to work with (all grays in one line).&lt;br /&gt;
&lt;br /&gt;
[[File:windowspal.png]]&lt;br /&gt;
[[File:dospal.png]]&lt;br /&gt;
&lt;br /&gt;
Info on the image: The colors you &#039;&#039;&#039;can use normally&#039;&#039;&#039; are marked in &#039;&#039;&#039;green&#039;&#039;&#039;. The colors which &#039;&#039;&#039;have special purposes/are color cycles&#039;&#039;&#039; are marked &#039;&#039;&#039;yellow&#039;&#039;&#039;. &#039;&#039;&#039;Don&#039;t use&#039;&#039;&#039; the &#039;&#039;&#039;pink&#039;&#039;&#039; colours like the ones marked &amp;quot;WinAPI&amp;quot; in the Windows palette. &lt;br /&gt;
The &#039;&#039;&#039;Pure White&#039;&#039;&#039; at the bottom right of each palette is a palette colour, but you shouldn&#039;t use it in graphics; instead use the &amp;quot;almost white&amp;quot; from index 0x0F instead (colour code #FCFCFC). Use pure white for the background of your sprite sheet; [[GRFCodec]] and [[NML]] will issue a warning if a sprite containes pure white pixels. This warning is useful as it lets you know that the code referencing a sprite has the wrong position or size defined, but not so useful if your sprite actually contains pure white pixels.&lt;br /&gt;
&lt;br /&gt;
The colours in the &amp;quot;company&amp;quot; range are often (but not always) changed to the current player colours. In some instances, they may be changed to colours specified by the .grf file, or random colours, or not changed at all.&lt;br /&gt;
&lt;br /&gt;
Here is a list, provided by [[ttwiki:George|George]], of the shades of player colours that will be used:&lt;br /&gt;
&lt;br /&gt;
[[File:playercolours.png]]&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;Company 2&amp;quot; range is normally not a special colour range, but since TTDPatch 2.0.1 alpha 67 it is possible to activate it as a second company colour for vehicles and town houses.&lt;br /&gt;
&lt;br /&gt;
The palette cycling ranges listed are the water cycle (used for the blinking dots in the water), the block cycle, fire cycle, exchange red (better called crossing red; used for the flashing crossing lights), and the yellow cycle (used for lights in the runway of the large airport).&lt;br /&gt;
&lt;br /&gt;
The following table presents more detailed info on differences between DOS and Windows colours and colour indices:&lt;br /&gt;
&lt;br /&gt;
[[File:TTD_Palettes.png]]&lt;br /&gt;
&lt;br /&gt;
== Coordinates ==&lt;br /&gt;
&lt;br /&gt;
TTD internally uses a pseudo-3D or [http://en.wikipedia.org/wiki/2.5D 2.5D engine], which uses an [http://en.wikipedia.org/wiki/Isometric_graphics_in_video_games isometric projection] to display graphics on a 2D screen. The graphics engine uses so-called &amp;quot;bounding boxes&amp;quot; for each sprite, which are sorted by the sprite sorter to get drawn in (what it thinks is) the right order.&lt;br /&gt;
&lt;br /&gt;
To get a certain sprite drawn at the right place, it needs to have a proper bounding box (which is provided by the game for the most part), and the correct 2D offsets, here called &amp;quot;xofs&amp;quot; and &amp;quot;yofs&amp;quot; (see [[RealSprites]] for more information). The following picture by Oskar Eisemuth should help in figuring out how the 3D and 2D coordinates relate to each other:&lt;br /&gt;
&lt;br /&gt;
[[File:coordinates3d.png]]&lt;br /&gt;
&lt;br /&gt;
For 3D coordinates, X goes from top right to bottom left, Y goes from top left to bottom right, and Z (height) from down to up. For 2D coordinates, X goes from left to right, and Y from top to bottom. Usually, the top side of the screen is referred to as &amp;quot;north&amp;quot;, and thus &amp;quot;east&amp;quot;, &amp;quot;south&amp;quot; and &amp;quot;west&amp;quot; are the right, bottom and left side of the screen.&lt;br /&gt;
&lt;br /&gt;
For vehicles, the center of the bounding box (shown with a red dot in the yellow boxframe) is the reference point from which the xofs and yofs are counted. This means that in most cases, xofs and yofs need to be negative to get the sprite to fit on the box. Normally, as indicated above, this means xofs is approximately the negative value of half the sprite width, and yofs is approximately the negative value of half the sprite height.&lt;br /&gt;
&lt;br /&gt;
For all other sprites, the reference point is the furthest corner of the box, at its lowest X, Y and Z coordinates, i.e. the lower northernmost corner. In the image above, it is indicated by the crossing point of the blue lines. The xofs and yofs work from this point, instead of the center of the box as for vehicles.&lt;/div&gt;</summary>
		<author><name>Oberhümer</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=PalettesAndCoordinates&amp;diff=3011</id>
		<title>PalettesAndCoordinates</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=PalettesAndCoordinates&amp;diff=3011"/>
		<updated>2012-02-14T02:46:56Z</updated>

		<summary type="html">&lt;p&gt;Oberhümer: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Palettes==&lt;br /&gt;
&lt;br /&gt;
Since TTD is a palette-based game, you have to be careful that the graphics program you use can deal with that properly. Also, TTD uses some palette entries for palette cycling to do some colour-animation, don&#039;t use these as regular colours. These entries are often called &amp;quot;action colours&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Palette files for a number of graphics programmes are available on the [http://dev.openttdcoop.org/documents/1 DevZone]&lt;br /&gt;
&lt;br /&gt;
Below is an explanation by Oskar Eisemuth of the various colour ranges in the DOS and Windows palettes. Both palettes work similarly, but some of the colours are in different places. Do use the DOS palette as it contains a handful of additional colours over the Windows palette.&lt;br /&gt;
&lt;br /&gt;
[[File:windowspal.png]]&lt;br /&gt;
[[File:dospal.png]]&lt;br /&gt;
&lt;br /&gt;
Info on the image: The colors you &#039;&#039;&#039;can use normally&#039;&#039;&#039; are marked in &#039;&#039;&#039;green&#039;&#039;&#039;. The colors which &#039;&#039;&#039;have special purposes/are color cycles&#039;&#039;&#039; are marked &#039;&#039;&#039;yellow&#039;&#039;&#039;. &#039;&#039;&#039;Don&#039;t use&#039;&#039;&#039; the &#039;&#039;&#039;pink&#039;&#039;&#039; colours like the ones marked &amp;quot;WinAPI&amp;quot; in the Windows palette. &lt;br /&gt;
The &#039;&#039;&#039;Pure White&#039;&#039;&#039; at the bottom right of each palette is a palette colour, but you shouldn&#039;t use it in graphics; instead use the &amp;quot;almost white&amp;quot; from index 0x0F instead (colour code #FCFCFC). Use pure white for the background of your sprite sheet; [[GRFCodec]] and [[NML]] will issue a warning if a sprite containes pure white pixels. This warning is useful as it lets you know that the code referencing a sprite has the wrong position or size defined, but not so useful if your sprite actually contains pure white pixels.&lt;br /&gt;
&lt;br /&gt;
The colours in the &amp;quot;company&amp;quot; range are often (but not always) changed to the current player colours. In some instances, they may be changed to colours specified by the .grf file, or random colours, or not changed at all.&lt;br /&gt;
&lt;br /&gt;
Here is a list, provided by [[ttwiki:George|George]], of the shades of player colours that will be used:&lt;br /&gt;
&lt;br /&gt;
[[File:playercolours.png]]&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;Company 2&amp;quot; range is normally not a special colour range, but since TTDPatch 2.0.1 alpha 67 it is possible to activate it as a second company colour for vehicles and town houses.&lt;br /&gt;
&lt;br /&gt;
The palette cycling ranges listed are the water cycle (used for the blinking dots in the water), the block cycle, fire cycle, exchange red (better called crossing red; used for the flashing crossing lights), and the yellow cycle (used for lights in the runway of the large airport).&lt;br /&gt;
&lt;br /&gt;
The following table presents more detailed info on differences between DOS and Windows colours and colour indices:&lt;br /&gt;
&lt;br /&gt;
[[File:TTD_Palettes.png]]&lt;br /&gt;
&lt;br /&gt;
== Coordinates ==&lt;br /&gt;
&lt;br /&gt;
TTD internally uses a pseudo-3D or [http://en.wikipedia.org/wiki/2.5D 2.5D engine], which uses an [http://en.wikipedia.org/wiki/Isometric_graphics_in_video_games isometric projection] to display graphics on a 2D screen. The graphics engine uses so-called &amp;quot;bounding boxes&amp;quot; for each sprite, which are sorted by the sprite sorter to get drawn in (what it thinks is) the right order.&lt;br /&gt;
&lt;br /&gt;
To get a certain sprite drawn at the right place, it needs to have a proper bounding box (which is provided by the game for the most part), and the correct 2D offsets, here called &amp;quot;xofs&amp;quot; and &amp;quot;yofs&amp;quot; (see [[RealSprites]] for more information). The following picture by Oskar Eisemuth should help in figuring out how the 3D and 2D coordinates relate to each other:&lt;br /&gt;
&lt;br /&gt;
[[File:coordinates3d.png]]&lt;br /&gt;
&lt;br /&gt;
For 3D coordinates, X goes from top right to bottom left, Y goes from top left to bottom right, and Z (height) from down to up. For 2D coordinates, X goes from left to right, and Y from top to bottom. Usually, the top side of the screen is referred to as &amp;quot;north&amp;quot;, and thus &amp;quot;east&amp;quot;, &amp;quot;south&amp;quot; and &amp;quot;west&amp;quot; are the right, bottom and left side of the screen.&lt;br /&gt;
&lt;br /&gt;
For vehicles, the center of the bounding box (shown with a red dot in the yellow boxframe) is the reference point from which the xofs and yofs are counted. This means that in most cases, xofs and yofs need to be negative to get the sprite to fit on the box. Normally, as indicated above, this means xofs is approximately the negative value of half the sprite width, and yofs is approximately the negative value of half the sprite height.&lt;br /&gt;
&lt;br /&gt;
For all other sprites, the reference point is the furthest corner of the box, at its lowest X, Y and Z coordinates, i.e. the lower northernmost corner. In the image above, it is indicated by the crossing point of the blue lines. The xofs and yofs work from this point, instead of the center of the box as for vehicles.&lt;/div&gt;</summary>
		<author><name>Oberhümer</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=VariationalAction2/Vehicles&amp;diff=3005</id>
		<title>VariationalAction2/Vehicles</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=VariationalAction2/Vehicles&amp;diff=3005"/>
		<updated>2012-02-08T16:29:54Z</updated>

		<summary type="html">&lt;p&gt;Oberhümer: /* Variables */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;float:right; padding-left:12px; background:none;&amp;quot;&amp;gt;{{NFONavVehicles}}&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
== Variables ==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
!Variable!![[GRFActionsDetailed|Size]]!!Version!!Description!!Available in purchase list&lt;br /&gt;
|+&lt;br /&gt;
|40||D||{{ottdp|0.6|2.5}}||Position in consist and length of consist||no&lt;br /&gt;
|+&lt;br /&gt;
|41||D||{{ottdp|0.6|2.5}}||Position in and length of chain of consecutive vehicles with same ID||no&lt;br /&gt;
|+&lt;br /&gt;
|42||D||{{ottdp|0.6|2.5}}||Cargo types transported by consist||no&lt;br /&gt;
|+&lt;br /&gt;
|43||D||{{ottdp|0.6|2.5}}||Player info||{{ottdp|0.6|2.5|ottdrev=r4611|ttdprev=beta 2}}&lt;br /&gt;
|+&lt;br /&gt;
|44||D||{{ottdp|0.6|2.5|ttdprev=2.0.1 alpha 48}}||Aircraft info||no&lt;br /&gt;
|+&lt;br /&gt;
|45||D||{{ottdp|0.6|2.5|ttdprev=2.0.1 alpha 58}}||Curvature info||no&lt;br /&gt;
|+&lt;br /&gt;
|46||D||{{ottdp|0.6|2.5|ttdprev=2.0.1 alpha 59}}||Motion counter||no&lt;br /&gt;
|+&lt;br /&gt;
|47||D||{{ottdp|0.6|2.5}}||Vehicle cargo info||{{ottdp|0.7|no|ottdrev=r15542}} &amp;lt;ref name=&amp;quot;var47&amp;quot;&amp;gt;Variable 47 refers to the default cargo of the vehicle, when in purchase list. This differs from the cargo used in Action 3, which is 0xFF in purchase list. The &amp;quot;refit cycle&amp;quot; (F2) is currently always zero in the purchase list.&amp;lt;/ref&amp;gt;&lt;br /&gt;
|+&lt;br /&gt;
|48||D||{{ottdp|0.6|2.5}}||Vehicle type information||{{ottdp|0.6|2.5|ottdrev=r5338|ttdprev=beta 2}}&lt;br /&gt;
|+&lt;br /&gt;
|49||D||{{ottdp|0.7|2.6|ottdrev=r13376|ttdprev=r2216}}||Year of construction (long format, 0 based)||{{ottdp|0.7|no|ottdrev=r13376}} &amp;lt;ref name=&amp;quot;date&amp;quot;&amp;gt;This is the current date&amp;lt;/ref&amp;gt;&lt;br /&gt;
|+&lt;br /&gt;
|4A||D||{{ottdp|1.1|no|ottdrev=r20165}}||Info about current rail type for trains||no&lt;br /&gt;
|+&lt;br /&gt;
|4B||D||{{ottdp|1.2|no|ottdrev=r23068}}||Long date of last servicing||{{ottdp|1.2|no|ottdrev=r23068}} &amp;lt;ref name=&amp;quot;date&amp;quot; /&amp;gt;&lt;br /&gt;
|+&lt;br /&gt;
|60||D||{{ottdp|0.6|2.5|ttdprev=2.0.1 alpha 57}}||Count Veh.ID occurence||no&lt;br /&gt;
|+&lt;br /&gt;
|61||-&amp;lt;ref&amp;gt;The size of the result matches the size of the queried variable.&amp;lt;/ref&amp;gt;||{{ottdp|1.2|no|ottdrev=r22997}}||Query variable of n-th vehicle in chain||no&lt;br /&gt;
|+&lt;br /&gt;
|62||D||{{ottdp|1.2|no|ottdrev=r22998}}||Curvature/position difference for n-th vehicle in chain||no&lt;br /&gt;
|+&lt;br /&gt;
|97||B||{{ottdp|0.6|2.0}}||Tick counter, increased every engine tick||no&lt;br /&gt;
|+&lt;br /&gt;
|B2||W||||Vehicle status: bit0 = vehicle invisible (in tunnel/depot), bit1 = stopped, bit7 = crashed||no&lt;br /&gt;
|+&lt;br /&gt;
|B4||W||{{ottdp|0.6|2.0}}||Current speed. Note, units differ for each vehicle type&amp;lt;ref&amp;gt;See [[Action0Trains#Speed 09|train property 09]], [[Action0RoadVehicles|road vehicle property 08]] (not 15, even when using realistic acceleration), [[Action0Ships|ship property 0B]] and [[Action0Planes|aircraft property 0C]].&amp;lt;/ref&amp;gt;||no&lt;br /&gt;
|+&lt;br /&gt;
|B9||B||{{ottdp|0.6|2.0}}||Cargo type (type B from the list at [[CargoTypes]]; climate dependent)||no&lt;br /&gt;
|+&lt;br /&gt;
|C0||W||{{ottdp|0.6|2.0}}||Engine age in days&amp;lt;br/&amp;gt;{{ottdp|1.2|2.5|ottdrev=r22816|ttdprev=alpha 61}} Valid for wagons and articulated parts as well.||no&lt;br /&gt;
|+&lt;br /&gt;
|C4||B||{{ottdp|0.6|2.0}}||Year built (counted from 1920), note this is modified when Cht: Year is used||{{ottdp|0.6|no|ottdrev=r4611}} &amp;lt;ref name=&amp;quot;date&amp;quot; /&amp;gt;&lt;br /&gt;
|+&lt;br /&gt;
|C6||W||{{ottdp|0.6|2.0}}||Vehicle type ID &amp;lt;ref&amp;gt;{{ottdp|0.7|no}} In OpenTTD 0.7 and newer this is the GRF-local ID of the vehicle. Earlier versions of OpenTTD and TTDPatch report the [[VehicleIDs|TTD ID]]. For trains this is the same; for other vehicle types they differ.&amp;lt;/ref&amp;gt; (useful for [[Callbacks#Can wagon be attached (1D)|Callback 1D]])||no&lt;br /&gt;
|+&lt;br /&gt;
|C8||B||{{ottdp|0.6|2.0}}||Sprite type; FD for trains forward, FE or FF when reversed||no&lt;br /&gt;
|+&lt;br /&gt;
|C9||B||{{ottdp|0.6|2.0}}||Day counter; increased daily||no&lt;br /&gt;
|+&lt;br /&gt;
|DA||W||{{ottdp|0.6|2.0}}||Next wagon index, FFFF if last wagon (use shift-num=08 and check for FF)||no&lt;br /&gt;
|+&lt;br /&gt;
|F2||B||{{ottdp|0.6|2.5}}||Refit cycle, how many times refitted to the same cargo type||{{ottdp|0.7|no|ottdrev=r15542}} &amp;lt;ref name=&amp;quot;var47&amp;quot; /&amp;gt;&lt;br /&gt;
|+&lt;br /&gt;
|FE||W||{{ottdp|0.6|2.5}}||Modflags||no&lt;br /&gt;
|+&lt;br /&gt;
|FF||B||{{ottdp|0.6|2.5}}||Modflags||no&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For other 80+x variables confer the [http://marcin.ttdpatch.net/sv1codec/TTD-locations.html#_VehicleArray TTD vehicle structure].&lt;br /&gt;
&lt;br /&gt;
Variables 40, 41, 42 and 43 are cached. This means that while they are in principle computationally expensive, they can be used without impacting performance. Variables 45 and 60 are also computationally expensive but cannot be cached, and should therefore be used sparingly. If possible 80+x variables are to be preferred.&lt;br /&gt;
&lt;br /&gt;
Cached variables are updated when the game is loaded, when the consist enters or is rearranged in a depot, and when the train reverses.&lt;br /&gt;
&lt;br /&gt;
In the purchase list only a few variables are available. Especially the front vehicle (related object) cannot be accessed, nor other articulated parts.&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
=== Position and length (40, 41) ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Format:&#039;&#039;&#039; 00nnbbff&lt;br /&gt;
&lt;br /&gt;
{| |-&lt;br /&gt;
!Variable!!Value&lt;br /&gt;
|-&lt;br /&gt;
|ff||position of vehicle within the consist counted from the engine (front), e.g. the engine would have ff=0, the 1st wagon or mail compartment of planes would have ff=1, the 2nd wagon or the rotor of helicopters would have ff=2, the 3rd wagon would have ff=3 etc&lt;br /&gt;
|-&lt;br /&gt;
|bb||same as ff, but counted from the end, i.e. the last wagon has bb=0, the next-to-last wagon has bb=1 etc.&lt;br /&gt;
|-&lt;br /&gt;
|nn||total number of vehicles in the consist minus one (i.e. a train with engine and three wagons has nn=3), including shadow and rotor for aircraft.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For variable 40, these numbers refer to the whole consist, but for variable 41, they only refer to the chain of consecutive vehicles with the same ID as the current wagon (including itself, but possibly excluding the engine):&lt;br /&gt;
&lt;br /&gt;
[[File:vehicle_var40_41.png]]&lt;br /&gt;
&lt;br /&gt;
Note however, that accessing the &amp;quot;related&amp;quot; object (i.e. the locomotive) doesn´t make much sense for vars 40/41, except for var40 when in a [[Callbacks#Can wagon be attached 1D|callback 1D]] chain.&lt;br /&gt;
&lt;br /&gt;
=== Consist cargo (42) ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Format:&#039;&#039;&#039; uuiicctt&lt;br /&gt;
&lt;br /&gt;
{| |-&lt;br /&gt;
!Variable!!Value&lt;br /&gt;
|-&lt;br /&gt;
|tt||a bit mask of all [[Action0Cargos#Cargo classes 16|cargo classes]] transported by the consist&lt;br /&gt;
|-&lt;br /&gt;
|cc||the most common [[CargoTypes|cargo type]] (from the column for type A)&lt;br /&gt;
|-&lt;br /&gt;
|ii||the most common refit cycle (var. F2) of cargo type cc&lt;br /&gt;
|-&lt;br /&gt;
|uu||the result of ORing the bits of prop. 25 from all vehicles in the train&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
If used with VarAction2 type 81 (vehicle) it returns only cargo from this vehicle on, with type 82 (engine) that of the whole consist.&lt;br /&gt;
See also variable 47 for more details on the cargo carried by a vehicle.&lt;br /&gt;
&lt;br /&gt;
{{grf|7}} For GRF versions 7 and before &amp;quot;cc&amp;quot; is the untranslated bit number from [[Action0/Cargos#Bit_number_for_bitmasks_.2808.29|cargo property 8]].&lt;br /&gt;
&lt;br /&gt;
{{grf|8}} With GRF version 8 the meaning of &amp;quot;cc&amp;quot; changes. If the grf file has installed a [[Action0/Global_Settings#Cargo_translation_table_.2809.29|cargo translation table]], the value in &amp;quot;cc&amp;quot; is the index of the cargo in that table; or FF if the cargo is not present in the table.&lt;br /&gt;
&lt;br /&gt;
=== Player info (43) ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Format:&#039;&#039;&#039; Ccttmmnn&lt;br /&gt;
&lt;br /&gt;
{| |-&lt;br /&gt;
!Variable!!Value&lt;br /&gt;
|-&lt;br /&gt;
|nn||the number of the current player from 0 to 7 (up to E (14) in OpenTTD since r14735)&lt;br /&gt;
|-&lt;br /&gt;
|mm||the multiplayer player number with the host player (or the single player) being 0 and the client player being 1&lt;br /&gt;
|-&lt;br /&gt;
|tt||the player type, see below for possible values&lt;br /&gt;
|-&lt;br /&gt;
|c||the primary player colour&lt;br /&gt;
|-&lt;br /&gt;
|C||{{ottdp|0.6|2.5|ttdprev=r1405}} the secondary player colour, equal to c if none (since r1405)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| |-&lt;br /&gt;
!tt value!!Meaning&lt;br /&gt;
|-&lt;br /&gt;
|0||Player is human player (permanent company)&lt;br /&gt;
|-&lt;br /&gt;
|1||Player is AI player (not managed)&lt;br /&gt;
|-&lt;br /&gt;
|2||{{ottdp|no|2.5}} Player is a human managing an AI company&lt;br /&gt;
|-&lt;br /&gt;
|3||{{ottdp|no|2.5}} Player is human player&#039;s original company, now temporarily AI controlled&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{ottdp|0.6|2.5|ttdprev=r1497}} Since r1497, when the vehicle sprite is being displayed in an exclusive offer window or new vehicle news message, or in other circumstances when no player is associated with the vehicle, nn will be FF.&lt;br /&gt;
&lt;br /&gt;
=== Aircraft info (44) ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Format:&#039;&#039;&#039; xxxxhhtt&lt;br /&gt;
&lt;br /&gt;
hh is the height of the aircraft above ground, or more properly above the height of its shadow. Buildings, including the heliport, don&#039;t count as &amp;quot;ground&amp;quot;, i.e. to get the height above a heliport, you have to subtract the heliport height from hh.&lt;br /&gt;
&lt;br /&gt;
tt is the type of the current airport: 0=small, 1=large, 2=heliport, 3=oil rig. The current airport is the target airport for aircraft that have finished the ascent and are in flight.&lt;br /&gt;
&lt;br /&gt;
=== Curvature info (45) ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Format:&#039;&#039;&#039; xxxTxBxF&lt;br /&gt;
&lt;br /&gt;
This returns the amount of curvature between the adjacent wagon pairs. It is useful for train vehicles that normally tilt in curves. The curvature is the difference in direction between the surrounding vehicles:&lt;br /&gt;
&lt;br /&gt;
F = for the front pair (previous wagon to current wagon, 0 if vehicle is first)&lt;br /&gt;
&lt;br /&gt;
B = for the back pair (current wagon to next wagon, 0 if wagon is last)&lt;br /&gt;
&lt;br /&gt;
T = for the triplet (previous wagon to next wagon; is zero in an S-bend)&lt;br /&gt;
&lt;br /&gt;
Possible values:&lt;br /&gt;
&lt;br /&gt;
{| |-&lt;br /&gt;
!Decimal!!Hex!!Meaning&lt;br /&gt;
|-&lt;br /&gt;
| -4||C||180° curve left (T only)&lt;br /&gt;
|-&lt;br /&gt;
| -3||D||135° curve left (T only)&lt;br /&gt;
|-&lt;br /&gt;
| -2||E||90° curve left&lt;br /&gt;
|-&lt;br /&gt;
| -1||F||45° curve left&lt;br /&gt;
|-&lt;br /&gt;
|0||0||no curve&lt;br /&gt;
|-&lt;br /&gt;
|1||1||45° curve right&lt;br /&gt;
|-&lt;br /&gt;
|2||2||90° curve right&lt;br /&gt;
|-&lt;br /&gt;
|3||3||135° curve right (T only)&lt;br /&gt;
|-&lt;br /&gt;
|4||4||180° curve right (T only)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Motion counter (46) ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Format:&#039;&#039;&#039; 32-bit value&lt;br /&gt;
&lt;br /&gt;
This variable counts the amount of motion that a vehicle has done. &amp;amp;nbsp;It is only valid for the first vehicle in a consist (i.e. use VarAction2 type 82!). &amp;amp;nbsp;Its value is in units of 1/4096 of a tile. &amp;amp;nbsp;A vehicle actually moves visibly every time the motion counter increases by 256, and since a tile consists of 16 such subunits, 16*256=4096 motion units mean motion across one tile.&lt;br /&gt;
&lt;br /&gt;
The most useful way to access it is probably with &amp;amp;lt;shiftnum&amp;amp;gt;=08 and an appropriate &amp;amp;lt;andmask&amp;amp;gt;. &amp;amp;nbsp;For example, to achieve an animation with one frame per vehicle motion and 16 frames in total for motion across an entire tile, you would use &amp;amp;lt;shiftnum&amp;amp;gt;=08 and &amp;amp;lt;andmask&amp;amp;gt;=0F. &amp;amp;nbsp;For an animation with one frame every two vehicle motions and 4 frames total, use &amp;amp;lt;shiftnum&amp;amp;gt;=09 and &amp;amp;lt;andmask&amp;amp;gt;=03.&lt;br /&gt;
&lt;br /&gt;
If the vehicle is going very fast (&amp;amp;gt;160 mph for trains), it may move by several 1/16ths of a tile at once, and thus some frames may be skipped, but the animation will still remain in sync with the motion.&lt;br /&gt;
&lt;br /&gt;
Note that vehicle graphics are only updated every time the vehicle actually moves, so checking the lower byte is probably pointless, and only needed internally to achieve sufficient precision.&lt;br /&gt;
&lt;br /&gt;
=== Vehicle cargo info (47) ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Format:&#039;&#039;&#039; ccccwwtt&lt;br /&gt;
&lt;br /&gt;
{| |-&lt;br /&gt;
!Variable!!Value&lt;br /&gt;
|-&lt;br /&gt;
|tt||the [[CargoTypes|cargo type]] transported by the vehicle (from the column for type A); translated if a translation table has been installed&lt;br /&gt;
|-&lt;br /&gt;
|ww||cargo unit weight in 1/16 tons, same as [[Action0Cargos#Weight of one unit of the cargo 0F|cargo prop. 0F]]&lt;br /&gt;
|-&lt;br /&gt;
|cccc||the [[Action0Cargos#Cargo classes 16|cargo class]] value of the cargo transported by the vehicle&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Note that if the grf has installed a [[Action0/Global_Settings#Cargo_translation_table_.2809.29|cargo translation table]], the value in &amp;quot;tt&amp;quot; is the slot number in that table, irrespective of which actual slot or bit the cargo is using in the game. If a table has been installed, but the current cargo is not listed there, &amp;quot;tt&amp;quot; will be set to FF.&lt;br /&gt;
&lt;br /&gt;
Unlike variable 42, this variable returns the info of the current vehicle only, not the consist.&lt;br /&gt;
&lt;br /&gt;
=== Vehicle type information (48) ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Format:&#039;&#039;&#039; xxxxxxff&lt;br /&gt;
&lt;br /&gt;
The bits of ff are:&lt;br /&gt;
&lt;br /&gt;
{| |-&lt;br /&gt;
!Bit!!Value!!Meaning&lt;br /&gt;
|-&lt;br /&gt;
|0||1||Vehicle type is available on the market&lt;br /&gt;
|-&lt;br /&gt;
|1||2||Vehicle type is in the testing phase&lt;br /&gt;
|-&lt;br /&gt;
|2||4||Exclusive testing offer for a human player active&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
All other bits in ff are undefined and must be masked out.&lt;br /&gt;
&lt;br /&gt;
=== Information about current rail type for trains (4A) ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Format:&#039;&#039;&#039; xxxxFFrr&lt;br /&gt;
&lt;br /&gt;
The lower byte (rr) contains the (translated) rail type the train vehicle is currently driving on. If the rail type has no entry in the rail type translation table of the GRF, this value will be 0xFF. If no translation table is present, the raw value will be returned.&lt;br /&gt;
&lt;br /&gt;
The next byte (FF) contains the following flags:&lt;br /&gt;
&lt;br /&gt;
{| |-&lt;br /&gt;
!Bit!!Value!!Meaning&lt;br /&gt;
|-&lt;br /&gt;
|0||1||The vehicle is/would be powered on the current rail type (this is independent from powered/non-powered wagon or anything)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
All other bits are undefined.&lt;br /&gt;
&lt;br /&gt;
All other bytes and the result for non-rail vehicles are undefined.&lt;br /&gt;
&lt;br /&gt;
=== Count Veh.ID occurence (60) ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Format:&#039;&#039;&#039; xxxxxxnn&lt;br /&gt;
&lt;br /&gt;
The 60+x parameter is the vehicle ID to look for, and the returned nn is the number of vehicles in the consist that have this ID. If used with VarAction2 type 81, only the current vehicle and onwards will be check, with VarAction2 type 82, all vehicles in the consist will be counted.&lt;br /&gt;
&lt;br /&gt;
=== Query variable of n-th vehicle in chain (61) ===&lt;br /&gt;
&lt;br /&gt;
This is a special variable to get the contents of another variable of a different vehicle in the vehicle chain. It is only supported for trains and road vehicles. It is not supported during a callback that is used to modify vehicle properties to avoid circular dependencies, which currently limits this variable to callbacks 1D, 31 and 32 plus outside callback scope.&lt;br /&gt;
&lt;br /&gt;
Temporary register 10F is interpreted as a signed integer and specifies the offset in the chain from the current vehicle. Positive values are interpreted as towards the end, negative values as towards the front. If the offset is outside the vehicle chain, the result value will be 0.&lt;br /&gt;
&lt;br /&gt;
The 60+x parameter specifies the variable to access and temporary register 10E is passed as the new 60+x parameter. Passing 61 as the variable is not allowed. Currently only vehicle specific variables listed on this page plus global variable 25 are accessible through var 61. Esp. variable 5F is currently not supported.&lt;br /&gt;
&lt;br /&gt;
The resulting value will have the size of whatever variable is queried.&lt;br /&gt;
&lt;br /&gt;
=== Curvature/position difference for n-th vehicle in chain (62) ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Format:&#039;&#039;&#039; zzyyxxFD&lt;br /&gt;
&lt;br /&gt;
This variable is only supported for trains and road vehicles.&lt;br /&gt;
&lt;br /&gt;
The 60+x parameter is interpreted as a signed integer and specifies the offset in the chain from the current vehicle. Positive values are interpreted as towards the end, negative values as towards the front. If the offset is outside the vehicle chain, the result value will be 0.&lt;br /&gt;
&lt;br /&gt;
The lowest nibble (D) contains the direction difference between the selected vehicle and this vehicle, the possible values are identical to those of [[#Curvature_info_.2845.29|variable 45]].&lt;br /&gt;
&lt;br /&gt;
The next nibble (F) has the following meaning:&lt;br /&gt;
{| |-&lt;br /&gt;
!Bit!!Value!!Meaning&lt;br /&gt;
|-&lt;br /&gt;
|3||8||The vehicle is currently hidden&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The upper three bytes contain the signed difference of the X/Y/Z position between the selected vehicle and this vehicle.&lt;br /&gt;
&lt;br /&gt;
=== Modflags (FE and FF) ===&lt;br /&gt;
&lt;br /&gt;
The bits in FE mostly relate to gradualloading. &amp;amp;nbsp;A few useful bits for grf authors are;&lt;br /&gt;
&lt;br /&gt;
{| |-&lt;br /&gt;
!Bit!!Version!!Value of the bit&lt;br /&gt;
|-&lt;br /&gt;
|5||{{ottdp|0.6|2.5}}||Vehicle is powered (engine or powered wagon, mainly useful for the latter)&lt;br /&gt;
|-&lt;br /&gt;
|6||{{ottdp|0.6|2.5}}||Vehicle would be powered (engine or powered wagon) if there were suitable track. (E.g. electric train in mixed train on normal track)&lt;br /&gt;
|-&lt;br /&gt;
|8 &amp;lt;ref&amp;gt;This bit is only accurate for the first vehicle in the consist.&amp;lt;/ref&amp;gt;||{{ottdp|0.6|2.5}}||This bit is flipped every time the train reverses direction&lt;br /&gt;
|-&lt;br /&gt;
|10||{{ottdp|0.6|2.5|ttdprev=r1334}}||Vehicle was built during the exclusive preview&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
variable FF is actually the high byte of variable FE, so FE bit 8 is the same as FF bit 0.&lt;br /&gt;
&lt;br /&gt;
Other bits are reserved; most are actually used for TTDPatch internal states.&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;/div&gt;</summary>
		<author><name>Oberhümer</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=Main_Page&amp;diff=2992</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=Main_Page&amp;diff=2992"/>
		<updated>2012-01-28T23:41:11Z</updated>

		<summary type="html">&lt;p&gt;Oberhümer: /* Make some descriptions more understandable&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Sprite types ==&lt;br /&gt;
;[[Action0]] - Defines new properties for anything added or changed by the NewGRF&lt;br /&gt;
:{| |-&lt;br /&gt;
|rowspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;width:3em&amp;quot;|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
| [[Action0/Vehicles | Vehicles]]&lt;br /&gt;
| [[Action0/Vehicles/Trains | Trains]]&lt;br /&gt;
| [[Action0/Vehicles/RoadVehicles | RoadVehicles]]&lt;br /&gt;
| [[Action0/Vehicles/Ships | Ships]]&lt;br /&gt;
| [[Action0/Vehicles/Planes | Aircraft]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Action0/Stations | Stations]]&lt;br /&gt;
| [[Action0/Canals | Canals &amp;amp; Rivers]]&lt;br /&gt;
| [[Action0/Bridges | Bridges]]&lt;br /&gt;
| [[Action0/Houses | Houses]]&lt;br /&gt;
| [[Action0/Global Settings | Global Settings]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Action0/Industry Tiles | Industry Tiles]]&lt;br /&gt;
| [[Action0/Industries | Industries]]&lt;br /&gt;
| [[Action0/Cargos | Cargos]]&lt;br /&gt;
| [[Action0/Sound Effects | Sound Effects]]&lt;br /&gt;
| [[Action0/Airports | Airports]]&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Signals&#039;&#039;&lt;br /&gt;
| [[Action0/Objects | Objects]]&lt;br /&gt;
| [[Action0/Railtypes | Railtypes]]&lt;br /&gt;
| [[Action0/Airport Tiles | Airport Tiles]]&lt;br /&gt;
| &#039;&#039;Towns&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
;[[Action1]] - Defines one or more graphics sets&lt;br /&gt;
;[[Action2]] - Defines graphics set IDs&lt;br /&gt;
* Basic Action2&lt;br /&gt;
:{| |-&lt;br /&gt;
|rowspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;width:3em&amp;quot;|&#039;&#039;&#039;2&#039;&#039;&#039;&lt;br /&gt;
|colspan=5| [[Action2/Vehicles | Vehicles]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Action2/Stations | Stations]]&lt;br /&gt;
| [[Action2/Single Set | Canals &amp;amp; Rivers]]&lt;br /&gt;
| &#039;&#039;Bridges&#039;&#039;&lt;br /&gt;
| [[Action2/Sprite Layout | Houses]]&lt;br /&gt;
| &#039;&#039;Global Settings&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| [[Action2/Sprite Layout | Industry Tiles]]&lt;br /&gt;
| [[Action2/Industries | Industries]]&lt;br /&gt;
| [[Action2/Single Set | Cargos]]&lt;br /&gt;
| [[Action2/Only Callback Failure | Sound Effects]]&lt;br /&gt;
| [[Action2/Single Set | Airports]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Action2/Only Callback Failure | Signals]]&lt;br /&gt;
| [[Action2/Sprite Layout | Objects]]&lt;br /&gt;
| [[Action2/Single Set | Railtypes]]&lt;br /&gt;
| [[Action2/Sprite Layout | Airport Tiles]]&lt;br /&gt;
| &#039;&#039;Towns&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
* [[VariationalAction2]] - A conditional switch that determines a [[Callbacks|callback]] result or chains to another Action 2&lt;br /&gt;
: [[VarAction2Advanced]] - Advanced features of Variational Action 2&lt;br /&gt;
: [[GlobalVariables | Global Variables]]&lt;br /&gt;
:{| |-&lt;br /&gt;
|rowspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;width:3em&amp;quot;|&#039;&#039;&#039;VA2&#039;&#039;&#039;&lt;br /&gt;
|colspan=5| [[VariationalAction2/Vehicles | Vehicles]]&lt;br /&gt;
|-&lt;br /&gt;
| [[VariationalAction2/Stations | Stations]]&lt;br /&gt;
| [[VariationalAction2/Canals | Canals &amp;amp; Rivers]]&lt;br /&gt;
| [[VariationalAction2/Bridges | Bridges]]&lt;br /&gt;
| [[VariationalAction2/Houses | Houses]]&lt;br /&gt;
| &#039;&#039;Global Settings&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| [[VariationalAction2/Industry Tiles | Industry Tiles]]&lt;br /&gt;
| [[VariationalAction2/Industries | Industries]]&lt;br /&gt;
| [[VariationalAction2/Cargos | Cargos]]&lt;br /&gt;
| &#039;&#039;Sound Effects&#039;&#039;&lt;br /&gt;
| [[VariationalAction2/Airports | Airports]]&lt;br /&gt;
|-&lt;br /&gt;
| [[VariationalAction2/Signals | Signals]]&lt;br /&gt;
| [[VariationalAction2/Objects | Objects]]&lt;br /&gt;
| [[VariationalAction2/Railtypes | Railtypes]]&lt;br /&gt;
| [[VariationalAction2/Airport Tiles | Airport Tiles]]&lt;br /&gt;
| [[VariationalAction2/Towns | Towns]]&lt;br /&gt;
|}&lt;br /&gt;
* [[RandomAction2]] - A randomized Variational Action 2&lt;br /&gt;
:{| |-&lt;br /&gt;
|rowspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;width:3em&amp;quot;|&#039;&#039;&#039;R&#039;&#039;&#039;&lt;br /&gt;
|colspan=5| [[RandomAction2#Vehicles | Vehicles]]&lt;br /&gt;
|-&lt;br /&gt;
| [[RandomAction2#Stations | Stations]]&lt;br /&gt;
| [[RandomAction2#Canals | Canals &amp;amp; Rivers]]&lt;br /&gt;
| &#039;&#039;Bridges&#039;&#039;&lt;br /&gt;
| [[RandomAction2#Town_building_triggers | Houses]]&lt;br /&gt;
| &#039;&#039;Global Settings&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| [[RandomAction2#Industry_tile_triggers | Industry Tiles]]&lt;br /&gt;
| [[RandomAction2#Industry_tile_triggers | Industries]]&lt;br /&gt;
| &#039;&#039;Cargos&#039;&#039;&lt;br /&gt;
| &#039;&#039;Sound Effects&#039;&#039;&lt;br /&gt;
| [[RandomAction2#Stations | Airports]]&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Signals&#039;&#039;&lt;br /&gt;
| [[RandomAction2#Objects | Objects]]&lt;br /&gt;
| [[RandomAction2#Rail_types | Railtypes]]&lt;br /&gt;
| [[RandomAction2#Stations | Airport Tiles]]&lt;br /&gt;
| &#039;&#039;Towns&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* [[Callbacks]] - List of available callbacks&lt;br /&gt;
&lt;br /&gt;
;[[Action3]] - Associates Action 2s with an Action 0&lt;br /&gt;
:{| |-&lt;br /&gt;
|rowspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;width:3em&amp;quot;|&#039;&#039;&#039;3&#039;&#039;&#039;&lt;br /&gt;
|colspan=5| [[Action3 | Vehicles]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Action3 | Stations]]&lt;br /&gt;
| [[Action3/Canals | Canals &amp;amp; Rivers]]&lt;br /&gt;
| &#039;&#039;Bridges&#039;&#039;&lt;br /&gt;
| [[Action3 | Houses]]&lt;br /&gt;
| &#039;&#039;Global Settings&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| [[Action3 | Industry Tiles]]&lt;br /&gt;
| [[Action3 | Industries]]&lt;br /&gt;
| [[Action3 | Cargos]]&lt;br /&gt;
| [[Action3 | Sound Effects]]&lt;br /&gt;
| [[Action3 | Airports]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Action3 | Signals]]&lt;br /&gt;
| [[Action3 | Objects]]&lt;br /&gt;
| [[Action3/Railtypes | Railtypes]]&lt;br /&gt;
| [[Action3 | Airport Tiles]]&lt;br /&gt;
| &#039;&#039;Towns&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
: [[Action3LiveryOverride]] - Change wagon livery to match the engine&lt;br /&gt;
;[[Action4]] - Defines text strings&lt;br /&gt;
;[[Action5]] - Replaces base set sprites not present in the original TTD.&lt;br /&gt;
;[[Action6]] - Modifies the contents of the following sprite&lt;br /&gt;
;[[Action7]] - Conditionally skips sprites or jumps to a label&lt;br /&gt;
: [[TTDPatchFlags| GameConfigFlags]] - Configuration flags for Action 7/9 Variable 85&lt;br /&gt;
;[[Action8]] - Defines GRFID, Name and Description&lt;br /&gt;
;[[Action9]] - (see action 7 above)&lt;br /&gt;
;[[ActionA]] - Replaces TTD base set sprites&lt;br /&gt;
;[[ActionB]] - Generates an error message&lt;br /&gt;
;[[ActionC]] - Does nothing (can be used to embed comments)&lt;br /&gt;
;[[ActionD]] - Assigns parameters and calculates results&lt;br /&gt;
* [[ReadingOtherGRFParameters]] - Reading another GRF file&#039;s parameters&lt;br /&gt;
* [[ReadingPatchVariables| ReadingGameSettings]] - Reading game configuration settings&lt;br /&gt;
* [[GRFResourceManagement]] - Preventing conflicts with limited resources&lt;br /&gt;
;[[ActionE]] - Deactivates a NewGRF file&lt;br /&gt;
;[[ActionF]] - Defines new town name styles&lt;br /&gt;
;[[Action10]] - Defines a label for action 7/9&lt;br /&gt;
;[[Action11]] - Defines new sounds&lt;br /&gt;
;[[Action12]] - Adds Unicode font glyphs&lt;br /&gt;
;[[Action13]] - Translates GRF-specific strings&lt;br /&gt;
;[[Action14]] - Static NewGRF information (OpenTTD only)&lt;br /&gt;
;[[RealSprites]] - Sprites that actually are drawn on the screen&lt;br /&gt;
;[[RecolorSprites]] - Changing other sprites&#039; colors&lt;br /&gt;
&lt;br /&gt;
== Graphics properties ==&lt;br /&gt;
* [[PalettesAndCoordinates#Palettes | Palettes]] - Palettes used by the game&lt;br /&gt;
* [[PalettesAndCoordinates#Coordinates | Coordinates]] - Coordinates used for sprite alignement&lt;br /&gt;
&lt;br /&gt;
== TTD defaults ==&lt;br /&gt;
* [[DefaultHouseProps]] - Default property values for TTD&#039;s houses&lt;br /&gt;
* [[IndustryTileDefaultProps]] - Default property values for TTD&#039;s industry tiles&lt;br /&gt;
* [[IndustryDefaultProps]] - Default properties values for TTD&#039;s industries&lt;br /&gt;
* [[CargoDefaultProps]] - Default property values for TTD&#039;s cargo types&lt;br /&gt;
* [[VehicleIDs]] - Default vehicle IDs&lt;br /&gt;
* [[AirportTypes]] - Default Airport IDs&lt;br /&gt;
* [[AirportTileDefaultProps]] - Default airport tile properties&lt;br /&gt;
&lt;br /&gt;
== NewGRF commons ==&lt;br /&gt;
* [[Action0Cargos#CargoClasses_.2816.29 | Cargo classes]] - Commonly used cargo classes&lt;br /&gt;
* [[CargoTypes | Cargo labels]] - Commonly used cargo labels&lt;br /&gt;
* [[ObjectLabels | Object classes]] - Commonly used object clases&lt;br /&gt;
* [[RailtypeLabels | Railtype labels]] - Commonly used railtype labels&lt;br /&gt;
&lt;br /&gt;
== Misc ==&lt;br /&gt;
* [[Features]] - List of all features and feature-specific actions.&lt;br /&gt;
* [[BaseCosts | Base Costs]]&lt;br /&gt;
* [[VehicleRefitting | Vehicle Refitting]]&lt;br /&gt;
* [[GrfLoadingStages | GRF loading stages]]&lt;br /&gt;
* [[GlobalVariables | Global variables]]&lt;br /&gt;
* [[Storages | Storages]]&lt;br /&gt;
* [[StringCodes | String control codes]]&lt;br /&gt;
* [[TextIDs | Text IDs (TTD + TTDPatch + NewGRF defined)]]&lt;br /&gt;
* [[GRFActionsDetailed | Syntax details]]&lt;br /&gt;
* [[DebuggingGRFCode | Debugging NewGRFs]]&lt;br /&gt;
* [[SpriteErrors | TTDPatch error codes on loading NewGRFs]]&lt;br /&gt;
&lt;br /&gt;
== Game mechanics ==&lt;br /&gt;
* [[TownZones | Town zones]]&lt;br /&gt;
* [[NMLMain | NML]]&lt;/div&gt;</summary>
		<author><name>Oberhümer</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=TracktypeLabels&amp;diff=2957</id>
		<title>TracktypeLabels</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=TracktypeLabels&amp;diff=2957"/>
		<updated>2012-01-06T14:46:57Z</updated>

		<summary type="html">&lt;p&gt;Oberhümer: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The following railtype labels have been defined so far:&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;
!&#039;&#039;&#039;Notes&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; colspan=&amp;quot;3&amp;quot; | OpenTTD Default Railtypes&lt;br /&gt;
|-&lt;br /&gt;
|RAIL&lt;br /&gt;
|Normal rail&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|ELRL&lt;br /&gt;
|electrified rail&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|MONO&lt;br /&gt;
|Monorail tracks&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|MGLV&lt;br /&gt;
|Maglev tracks&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; colspan=&amp;quot;3&amp;quot; | New Railtypes&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&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&lt;br /&gt;
|-&lt;br /&gt;
|RLOW&lt;br /&gt;
|Low speed tracks&lt;br /&gt;
|NuTracks, SwedishRails&lt;br /&gt;
|-&lt;br /&gt;
|ELOW&lt;br /&gt;
|Low speed tracks with catenary&lt;br /&gt;
|NuTracks, SwedishRails&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&lt;br /&gt;
|-&lt;br /&gt;
|EHIG&lt;br /&gt;
|High speed tracks with catenary&lt;br /&gt;
|NuTracks, SwedishRails&lt;br /&gt;
|-&lt;br /&gt;
|HSTR&lt;br /&gt;
|Very high speed tracks with catenary&lt;br /&gt;
|NuTracks, SwedishRails&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;
|FRNN&lt;br /&gt;
|Metric gauge&lt;br /&gt;
|French Set Rails&lt;br /&gt;
|-&lt;br /&gt;
|FRCN&lt;br /&gt;
|Metric gauge, catenary powered&lt;br /&gt;
|French Set Rails&lt;br /&gt;
|-&lt;br /&gt;
|FR3N&lt;br /&gt;
|Metric gauge, third-rail powered&lt;br /&gt;
|French Set Rails&lt;br /&gt;
|-&lt;br /&gt;
|FRNR&lt;br /&gt;
|Metric gauge, rack rail&lt;br /&gt;
|French Set Rails&lt;br /&gt;
|-&lt;br /&gt;
|FRCR&lt;br /&gt;
|Metric gauge, catenary powered, rack rail&lt;br /&gt;
|French Set Rails&lt;br /&gt;
|-&lt;br /&gt;
|FMGV&lt;br /&gt;
|Metric gauge, high speed&lt;br /&gt;
|French Set Rails&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Oberhümer</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=TracktypeLabels&amp;diff=2875</id>
		<title>TracktypeLabels</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=TracktypeLabels&amp;diff=2875"/>
		<updated>2011-11-24T18:58:29Z</updated>

		<summary type="html">&lt;p&gt;Oberhümer: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The following railtype labels have been defined so far:&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;
!&#039;&#039;&#039;Notes&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; colspan=&amp;quot;3&amp;quot; | OpenTTD Default Railtypes&lt;br /&gt;
|-&lt;br /&gt;
|RAIL&lt;br /&gt;
|Normal rail&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|ELRL&lt;br /&gt;
|electrified rail&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|MONO&lt;br /&gt;
|Monorail tracks&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|MGLV&lt;br /&gt;
|Maglev tracks&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; colspan=&amp;quot;3&amp;quot; | New Railtypes&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&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&lt;br /&gt;
|-&lt;br /&gt;
|RLOW&lt;br /&gt;
|Low speed tracks&lt;br /&gt;
|NuTracks, SwedishRails&lt;br /&gt;
|-&lt;br /&gt;
|ELOW&lt;br /&gt;
|Low speed tracks with catenary&lt;br /&gt;
|NuTracks, SwedishRails&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&lt;br /&gt;
|-&lt;br /&gt;
|EHIG&lt;br /&gt;
|High speed tracks with catenary&lt;br /&gt;
|NuTracks, SwedishRails&lt;br /&gt;
|-&lt;br /&gt;
|HSTR&lt;br /&gt;
|Very high speed tracks with catenary&lt;br /&gt;
|NuTracks, SwedishRails&lt;br /&gt;
|-&lt;br /&gt;
|NGRL&lt;br /&gt;
|Narrow gauge tracks&lt;br /&gt;
|NuTracks, 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;
|NuTracks, 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;
|FRNN&lt;br /&gt;
|Metric gauge&lt;br /&gt;
|French Set Rails&lt;br /&gt;
|-&lt;br /&gt;
|FRCN&lt;br /&gt;
|Metric gauge, catenary powered&lt;br /&gt;
|French Set Rails&lt;br /&gt;
|-&lt;br /&gt;
|FR3N&lt;br /&gt;
|Metric gauge, third-rail powered&lt;br /&gt;
|French Set Rails&lt;br /&gt;
|-&lt;br /&gt;
|FRNR&lt;br /&gt;
|Metric gauge, rack rail&lt;br /&gt;
|French Set Rails&lt;br /&gt;
|-&lt;br /&gt;
|FRCR&lt;br /&gt;
|Metric gauge, catenary powered, rack rail&lt;br /&gt;
|French Set Rails&lt;br /&gt;
|-&lt;br /&gt;
|FMGV&lt;br /&gt;
|Metric gauge, high speed&lt;br /&gt;
|French Set Rails&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Oberhümer</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=TracktypeLabels&amp;diff=2874</id>
		<title>TracktypeLabels</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=TracktypeLabels&amp;diff=2874"/>
		<updated>2011-11-24T18:52:55Z</updated>

		<summary type="html">&lt;p&gt;Oberhümer: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The following railtype labels have been defined so far:&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;
!&#039;&#039;&#039;Notes&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; colspan=&amp;quot;3&amp;quot; | OpenTTD Default Railtypes&lt;br /&gt;
|-&lt;br /&gt;
|RAIL&lt;br /&gt;
|Normal rail&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|ELRL&lt;br /&gt;
|electrified rail&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|MONO&lt;br /&gt;
|mono rail&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|MGLV&lt;br /&gt;
|maglev rail&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; colspan=&amp;quot;3&amp;quot; | New Railtypes&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, electrified&lt;br /&gt;
|Slowrails, SwedishRails&lt;br /&gt;
|-&lt;br /&gt;
|E080&lt;br /&gt;
|speed limit 80 km/h, electrified&lt;br /&gt;
|Slowrails, SwedishRails&lt;br /&gt;
|-&lt;br /&gt;
|3RDR&lt;br /&gt;
|third rail&lt;br /&gt;
|MetroTracks, NuTracks, UK Railway Set tracks&lt;br /&gt;
|-&lt;br /&gt;
|3RDC&lt;br /&gt;
|third rail and catenary&lt;br /&gt;
|MetroTracks, NuTracks, UK Railway Set tracks&lt;br /&gt;
|-&lt;br /&gt;
|RLOW&lt;br /&gt;
|Low speed rails&lt;br /&gt;
|NuTracks, SwedishRails&lt;br /&gt;
|-&lt;br /&gt;
|ELOW&lt;br /&gt;
|Low speed rails, Catenary&lt;br /&gt;
|NuTracks, SwedishRails&lt;br /&gt;
|-&lt;br /&gt;
|3LOW&lt;br /&gt;
|Low speed 3rd rails&lt;br /&gt;
|NuTracks,&lt;br /&gt;
|-&lt;br /&gt;
|CLOW&lt;br /&gt;
|Low speed 3rd rails, Catenary&lt;br /&gt;
|NuTracks&lt;br /&gt;
|-&lt;br /&gt;
|RMED&lt;br /&gt;
|Medium speed rails&lt;br /&gt;
|NuTracks, SwedishRails&lt;br /&gt;
|-&lt;br /&gt;
|EMED&lt;br /&gt;
|Medium speed rails, Catenary&lt;br /&gt;
|NuTracks, SwedishRails&lt;br /&gt;
|-&lt;br /&gt;
|3MED&lt;br /&gt;
|Medium speed 3rd rails&lt;br /&gt;
|NuTracks&lt;br /&gt;
|-&lt;br /&gt;
|CMED&lt;br /&gt;
|Medium speed 3rd rails, Catenary&lt;br /&gt;
|NuTracks&lt;br /&gt;
|-&lt;br /&gt;
|RHIG&lt;br /&gt;
|High speed rails&lt;br /&gt;
|NuTracks, SwedishRails&lt;br /&gt;
|-&lt;br /&gt;
|EHIG&lt;br /&gt;
|High speed rails, Catenary&lt;br /&gt;
|NuTracks, SwedishRails&lt;br /&gt;
|-&lt;br /&gt;
|HSTR&lt;br /&gt;
|Very high speed track, Catenary&lt;br /&gt;
|NuTracks, SwedishRails&lt;br /&gt;
|-&lt;br /&gt;
|NGRL&lt;br /&gt;
|Narrow gauge tracks&lt;br /&gt;
|NuTracks, Narrow Gauge Track Types, Japanese Track Set&lt;br /&gt;
|-&lt;br /&gt;
|ELNG&lt;br /&gt;
|Electrified narrow gauge tracks&lt;br /&gt;
|NuTracks, 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 terrain 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;
|FRNN&lt;br /&gt;
|Metric gauge&lt;br /&gt;
|French Set Rails&lt;br /&gt;
|-&lt;br /&gt;
|FRCN&lt;br /&gt;
|Metric gauge, catenary powered&lt;br /&gt;
|French Set Rails&lt;br /&gt;
|-&lt;br /&gt;
|FR3N&lt;br /&gt;
|Metric gauge, third-rail powered&lt;br /&gt;
|French Set Rails&lt;br /&gt;
|-&lt;br /&gt;
|FRNR&lt;br /&gt;
|Metric gauge, rackrail&lt;br /&gt;
|French Set Rails&lt;br /&gt;
|-&lt;br /&gt;
|FRCR&lt;br /&gt;
|Metric gauge, catenary powered, rackrail&lt;br /&gt;
|French Set Rails&lt;br /&gt;
|-&lt;br /&gt;
|FMGV&lt;br /&gt;
|Metric gauge, high speed&lt;br /&gt;
|French Set Rails&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Oberhümer</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=NML_talk:Language_files&amp;diff=2496</id>
		<title>NML talk:Language files</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=NML_talk:Language_files&amp;diff=2496"/>
		<updated>2011-08-24T15:32:48Z</updated>

		<summary type="html">&lt;p&gt;Oberhümer: Created page with &amp;quot;This ought to show which string codes are built into NML. I can&amp;#039;t find this information anywhere else either.&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This ought to show which string codes are built into NML. I can&#039;t find this information anywhere else either.&lt;/div&gt;</summary>
		<author><name>Oberhümer</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=NML:Railtypes&amp;diff=2495</id>
		<title>NML:Railtypes</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=NML:Railtypes&amp;diff=2495"/>
		<updated>2011-08-24T15:26:44Z</updated>

		<summary type="html">&lt;p&gt;Oberhümer: 3RDR is not a default type and the label for maglev is MGLV,  as can be seen on the very page linked to&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{NMLNavPropVarCB}}&lt;br /&gt;
&lt;br /&gt;
Railtypes can only be defined in OpenTTD {{ottd|1.0|r18969}} or later. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Railtype properties==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;t&amp;quot;&lt;br /&gt;
! property&lt;br /&gt;
! value range&lt;br /&gt;
! comment&lt;br /&gt;
|-&lt;br /&gt;
| label&lt;br /&gt;
| 4-byte string&lt;br /&gt;
| names of default rail types: &amp;quot;RAIL&amp;quot;, &amp;quot;ELRL&amp;quot;, &amp;quot;MONO&amp;quot;, &amp;quot;MGLV&amp;quot;. See the [[RailtypeLabels|List of railtype labels]] in the NewGRF Specs for currently defined custom labels.&lt;br /&gt;
|-&lt;br /&gt;
| introduction_date&lt;br /&gt;
| date(yyyy,mm,dd)&lt;br /&gt;
|&lt;br /&gt;
{{ottd|1.1|r21842}} Valid range for yyyy is 0 ... 5000000.&lt;br /&gt;
|-&lt;br /&gt;
| name&lt;br /&gt;
| string&lt;br /&gt;
| Caption of the build rail toolbar&lt;br /&gt;
|-&lt;br /&gt;
| menu_text&lt;br /&gt;
| string&lt;br /&gt;
| Shown in the dropdown menu for all railtypes&lt;br /&gt;
|-&lt;br /&gt;
| build_window_caption&lt;br /&gt;
| string&lt;br /&gt;
| Caption of the build vehicle window&lt;br /&gt;
|-&lt;br /&gt;
| autoreplace_text&lt;br /&gt;
| string&lt;br /&gt;
| String for the autoreplace window&lt;br /&gt;
|-&lt;br /&gt;
| new_engine_text&lt;br /&gt;
| string&lt;br /&gt;
| String for the &amp;quot;We have invented a new &amp;amp;lt;rail type&amp;amp;gt; engine&amp;quot; news message&lt;br /&gt;
|-&lt;br /&gt;
| compatible_railtype_list&lt;br /&gt;
| list of railtype labels&lt;br /&gt;
| Provide a list of rail types that trains of this type can also run on. e.g. [&amp;quot;RAIL&amp;quot;, &amp;quot;ELRL&amp;quot;, &amp;quot;MONO&amp;quot;]&lt;br /&gt;
|-&lt;br /&gt;
| powered_railtype_list&lt;br /&gt;
| list of railtype labels&lt;br /&gt;
| Provide a list of rail types that trains of this type are powered on.&lt;br /&gt;
|-&lt;br /&gt;
| railtype_flags&lt;br /&gt;
| bitmask(RAILTYPE_FLAG_XXX, ...)&lt;br /&gt;
| XXX = [CATENARY|NO_LEVEL_CROSSING] Flags enable catenary and/or disable level crossings.&lt;br /&gt;
|-&lt;br /&gt;
| curve_speed_multiplier&lt;br /&gt;
| 0...65525&lt;br /&gt;
| max curve speed is defined as multiple of the base curve speed (see below)&lt;br /&gt;
|-&lt;br /&gt;
| station_graphics&lt;br /&gt;
| RAILTYPE_STATION_NORMAL, RAILTYPE_STATION_MONORAIL, RAILTYPE_STATION_MAGLEV&lt;br /&gt;
| Type of station graphics to use for the default stations&lt;br /&gt;
|-&lt;br /&gt;
| construction_cost&lt;br /&gt;
| 0 ... 65525&lt;br /&gt;
|&lt;br /&gt;
{{ottd|1.1|r19307}} per piece of track as multiplier to PR_BUILD_RAIL base cost.&lt;br /&gt;
|-&lt;br /&gt;
| speed_limit&lt;br /&gt;
| 0 ... 65525 km/h (speed units)&lt;br /&gt;
| A speed limit of 0 means unlimited speed&lt;br /&gt;
|-&lt;br /&gt;
| acceleration_model&lt;br /&gt;
| ACC_MODEL_RAIL, ACC_MODEL_MONORAIL, ACC_MODEL_MAGLEV&lt;br /&gt;
| ACC_MODEL_RAIL and ACC_MODEL_MONORAIL behave the same currently&lt;br /&gt;
|-&lt;br /&gt;
| map_colour&lt;br /&gt;
| 0 ... 255&lt;br /&gt;
|&lt;br /&gt;
{{ottd|1.1|r19307}} entry in the colour palette.&lt;br /&gt;
|-&lt;br /&gt;
| requires_railtype_list&lt;br /&gt;
| list of railtype labels&lt;br /&gt;
|&lt;br /&gt;
{{ottd|1.1|r21842}} List of rail types on that need to be available to the company of the player for this rail type to be introduced at (or after) the introduction date. This limit does not apply when the rail type is introduced by the introduction of a vehicle.&lt;br /&gt;
|-&lt;br /&gt;
| introduces_railtype_list&lt;br /&gt;
| list of railtype labels&lt;br /&gt;
|&lt;br /&gt;
{{ottd|1.1|r21841}} List of rail types that get introduced when this rail type is introduced. For example, to make sure that when a fast rail type is introduced the slow variant exists.&lt;br /&gt;
|-&lt;br /&gt;
| sort_order&lt;br /&gt;
| 0 ... 255&lt;br /&gt;
|&lt;br /&gt;
{{ottd|1.1|r21866}} number which defines the sort order among rail types. If this entry is not defined, it gets assigned sort order n*10+7 for the n-th railtype.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Sort order===&lt;br /&gt;
&lt;br /&gt;
The sort_order influences the sort order of the drop down lists with rail types. Default values are as follows:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;t&amp;quot;&lt;br /&gt;
! Value&lt;br /&gt;
! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| 07&lt;br /&gt;
| normal rail&lt;br /&gt;
|-&lt;br /&gt;
| 17&lt;br /&gt;
| electrified rail&lt;br /&gt;
|-&lt;br /&gt;
| 27&lt;br /&gt;
| monorail&lt;br /&gt;
|-&lt;br /&gt;
| 37&lt;br /&gt;
| maglev&lt;br /&gt;
|-&lt;br /&gt;
| n7&lt;br /&gt;
| railtype #n&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Thus the rail type that (internally) gets index 8 will get a default value of 87. These defaults are to keep the ordering when this property is not supported as they were.&lt;br /&gt;
&lt;br /&gt;
===Base speeds for curves===&lt;br /&gt;
&lt;br /&gt;
The base speeds relevant for the curve_speed_multiplier are:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;t&amp;quot;&lt;br /&gt;
! curve length&lt;br /&gt;
! base speed [km/h]&lt;br /&gt;
|-&lt;br /&gt;
| 0 (90 degree turn)&lt;br /&gt;
| 30&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 44&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| 55&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| 66&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| 75&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| 84&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| 91&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| 98&lt;br /&gt;
|-&lt;br /&gt;
| 8&lt;br /&gt;
| 103&lt;br /&gt;
|-&lt;br /&gt;
| 9&lt;br /&gt;
| 108&lt;br /&gt;
|-&lt;br /&gt;
| 10&lt;br /&gt;
| 111&lt;br /&gt;
|-&lt;br /&gt;
| 11&lt;br /&gt;
| 114&lt;br /&gt;
|-&lt;br /&gt;
| 12+&lt;br /&gt;
| 115&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Railtype variables==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;t&amp;quot;&lt;br /&gt;
! name&lt;br /&gt;
! value range&lt;br /&gt;
! comment&lt;br /&gt;
|-&lt;br /&gt;
| terrain_type&lt;br /&gt;
| TILETYPE_NORMAL, TILETYPE_DESERT, TILETYPE_RAIN_FOREST, TILETYPE_SNOW&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| enhanced_tunnels&lt;br /&gt;
| 0&lt;br /&gt;
| should custom tunnel entrances be modified other values than 0 might be returned&lt;br /&gt;
|-&lt;br /&gt;
| level_crossing_status&lt;br /&gt;
| LEVEL_CROSSING_CLOSED, LEVEL_CROSSING_OPEN&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| build_date&lt;br /&gt;
| 0 .. 5000000&lt;br /&gt;
| for depots only: build date of the depot in days since 0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Railtype callbacks==&lt;br /&gt;
&lt;br /&gt;
For rail types a number of callbacks are used to define rail type graphics. Each should refer to a sprite set containing the relevant sprites. Refer to the example railtype grf for an example on what sprites are needed in what order.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;t&amp;quot;&lt;br /&gt;
! callbacks&lt;br /&gt;
! number of sprites&lt;br /&gt;
! meaning&lt;br /&gt;
|-&lt;br /&gt;
| gui&lt;br /&gt;
| 16&lt;br /&gt;
| 4 rail directions, autorail, depot, tunnel and convert rail sprites for rail menu&lt;br /&gt;
|-&lt;br /&gt;
| track_overlay*&lt;br /&gt;
| 10&lt;br /&gt;
| 6 flat and 4 slope sprites. Track without landscape&lt;br /&gt;
|-&lt;br /&gt;
| underlay*&lt;br /&gt;
| 16&lt;br /&gt;
| 6 flat and 4 slope, one crossing WITH track, 5 junction pieces without track. Tracks with foundations but without landscape&lt;br /&gt;
|-&lt;br /&gt;
| tunnels*&lt;br /&gt;
| 4&lt;br /&gt;
| 4 track sprites, one for each tunnel entrance. Only track with foundations, no landscape&lt;br /&gt;
|-&lt;br /&gt;
| catenary_wire&lt;br /&gt;
| 28&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| catenary_pylons&lt;br /&gt;
| 8&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| bridge_surfaces*&lt;br /&gt;
| 6&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| level_crossings*&lt;br /&gt;
| 10&lt;br /&gt;
| For each direction: one track sprite and 4 sprites for road lights etc&lt;br /&gt;
|-&lt;br /&gt;
| depot&lt;br /&gt;
| 6&lt;br /&gt;
| 2 sprites for each south-ish, 1 sprite for each north-ish depot. Like original depots.&lt;br /&gt;
|-&lt;br /&gt;
| fences&lt;br /&gt;
| 8&lt;br /&gt;
| x, y, vertical, horizontal, SW, SE, NE and NW slopes like original fences at sprite 1301&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The entries marked by * are required. If a non-required callback is not implemented or fails, graphics from the fallback railtype (picked via the &amp;lt;code style=&amp;quot;color:darkgreen&amp;quot;&amp;gt;station_graphics&amp;lt;/code&amp;gt; property) will be used instead.&amp;lt;br /&amp;gt; Note that there is no &amp;quot;default graphics&amp;quot;-callback.&lt;br /&gt;
&lt;br /&gt;
===Example===&lt;br /&gt;
&lt;br /&gt;
A typical implementation for railtypes can look like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
 item(FEAT_RAILTYPES, elrail, 0x01) {&lt;br /&gt;
     property {&lt;br /&gt;
         label:                      &amp;quot;SHIN&amp;quot;;&lt;br /&gt;
         name:                       string(STR_EL_RAIL);&lt;br /&gt;
         menu_text:                  string(STR_EL_RAIL);&lt;br /&gt;
         build_window_caption:       string(STR_BUILD_CAPTION);&lt;br /&gt;
         autoreplace_text:           string(STR_AUTOREPLACE);&lt;br /&gt;
         new_engine_text:            string(STR_NEW_ENGINE);&lt;br /&gt;
         compatile_railtype_list:    [&amp;quot;SHIN&amp;quot;,&amp;quot;RAIL&amp;quot;,&amp;quot;ELRL&amp;quot;];                   // Tracks of rail and electrified rail are compatible&lt;br /&gt;
         powered_railtype_list:      [&amp;quot;ELRL&amp;quot;,&amp;quot;SHIN&amp;quot;];                          // But we got only power when we have electricity&lt;br /&gt;
         railtype_flags:             bitmask(RAILTYPE_FLAG_NO_LEVEL_CROSSING); // High speed tracks should not have level crossings&lt;br /&gt;
         curve_speed_multiplier:     1;&lt;br /&gt;
         station_graphics:           RAILTYPE_STATION_MAGLEV;                  // We want the most modern stations&lt;br /&gt;
         construction_cost:          32;                                       // should be pretty steep&lt;br /&gt;
         speed_limit:                500 km/h;&lt;br /&gt;
         acceleration_model:         ACC_MODEL_RAIL;                           // This is still rail, though&lt;br /&gt;
     }&lt;br /&gt;
     graphics {&lt;br /&gt;
         track_overlay:   ground_switch_overlay;     // defines the sprites drawn as overlay for junctions and highlight&lt;br /&gt;
         underlay:        ground_switch_underlay;    // defines the usual tracks and the underlay for junctions&lt;br /&gt;
         level_crossings: level_crossing_switch;     // defines level crossings including traffic lights and blocking bars&lt;br /&gt;
         tunnels:         tunnel_switch;             // defines the tracks drawn on a funnel tile&lt;br /&gt;
         depots:          depot_switch_electric;     // defines the depot sprites&lt;br /&gt;
         bridge_surfaces: bridge_terrain_switch;     // defines the overlay drawn over bridges&lt;br /&gt;
         fences:          fences_set;                // defines the look of fences&lt;br /&gt;
         // we don&#039;t define catenery wire and pylons, thus we use the default which comes with the base graphics.&lt;br /&gt;
     }&lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The switches and graphics blocks are defined in the usual way as described in sections [[NML:Switch|switches]], [[NML:Random switch|random switches]] and [[NML:Graphics|graphics block]] sections.&lt;/div&gt;</summary>
		<author><name>Oberhümer</name></author>
	</entry>
</feed>