<?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=Orudge</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=Orudge"/>
	<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/wiki/Special:Contributions/Orudge"/>
	<updated>2026-04-22T10:00:54Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=GRFSpecs:Privacy_policy&amp;diff=3688</id>
		<title>GRFSpecs:Privacy policy</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=GRFSpecs:Privacy_policy&amp;diff=3688"/>
		<updated>2015-08-04T20:22:33Z</updated>

		<summary type="html">&lt;p&gt;Orudge: Add privacy policy&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Cookies are used to keep you logged in, to personalise ads, and to analyse the site&#039;s traffic. This information may also be shared with our advertising and analytics partners.&lt;br /&gt;
&lt;br /&gt;
For more information, please see [http://www.tt-forums.net/viewtopic.php?f=14&amp;amp;t=12960 this page] on the Transport Tycoon Forums (&amp;quot;Cookies Policy&amp;quot; section).&lt;/div&gt;</summary>
		<author><name>Orudge</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=Action0/Vehicles&amp;diff=1663</id>
		<title>Action0/Vehicles</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=Action0/Vehicles&amp;diff=1663"/>
		<updated>2011-06-17T18:24:51Z</updated>

		<summary type="html">&lt;p&gt;Orudge: Fix link to ResetVehicleData&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Action 0 properties common to all vehicle types:&lt;br /&gt;
The four vehicle types (trains, road vehicles, ships and planes) all have some common properties, which are described here.&lt;br /&gt;
&lt;br /&gt;
== Properties ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Number !!Version !![[GRFActionsDetailed|Size]]!!Description !!Available for articulated parts&lt;br /&gt;
|-&lt;br /&gt;
|00 || ||W||date of introduction||no&lt;br /&gt;
|-&lt;br /&gt;
| 02|| ||B||reliability decay speed||no&lt;br /&gt;
|-&lt;br /&gt;
| 03|| ||B||vehicle life in years||no&lt;br /&gt;
|-&lt;br /&gt;
| 04|| ||B||model life in years||no&lt;br /&gt;
|-&lt;br /&gt;
| 06|| ||B||climate availability||should be zero&lt;br /&gt;
|-&lt;br /&gt;
| 07||2||B||load amount||yes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
TTDPatch only: Properties 00 to 06 only apply to new games, or when using {{ttwiki|ResetVehicleData|Cht: ResetVehicles}}.&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
=== Date of introduction ===&lt;br /&gt;
&lt;br /&gt;
The date is specified as number of days since 1920 where TTD counts 365,25 days in a year. It will have a random number from 0 to 511 days added to it at the start of every new game, or after using &amp;quot;Cht: ResetVehicles&amp;quot; (TTDPatch). &amp;amp;nbsp;Note that TTD stops updating vehicle type data after the game ends in 2050, so all dates of introduction should be no later than in 2044, to ensure that all vehicle types can be introduced and reach their maximum reliability.&lt;br /&gt;
&lt;br /&gt;
In TTDPatch: If the property value is 729 (2D9h) or less, i.e. before 1922, the random number is not added and the vehicle is introduced at exactly the given date.&lt;br /&gt;
&lt;br /&gt;
In OpenTTD: Since r16929 the start date is not randomised in the first two years after game-start (no matter whether before or after 1922).&lt;br /&gt;
&lt;br /&gt;
The \w&amp;amp;lt;date&amp;amp;gt; escape sequence is especially useful here. See [[GRFActionsDetailed#Byte order|the discussion of escape sequences]] for further information.&lt;br /&gt;
&lt;br /&gt;
=== Reliability decay speed ===&lt;br /&gt;
&lt;br /&gt;
The reliability decay speed is set when a new vehicle is bought, and specifies how quickly the reliability decays after servicing. &amp;amp;nbsp;The initial TTD default for all vehicles is 20. &amp;amp;nbsp;If a vehicle goes without servicing for a long time, or if it gets very, very old, this number increases, meaning faster decay and more breakdowns. &amp;amp;nbsp;Larger numbers mean faster decay, smaller number slower decay. If set to 0, reliability never decreases in normal operation.&lt;br /&gt;
&lt;br /&gt;
=== Vehicle life ===&lt;br /&gt;
&lt;br /&gt;
The number of years before a particular vehicle is considered too old and needs replacing,&lt;br /&gt;
&lt;br /&gt;
=== Model life ===&lt;br /&gt;
&lt;br /&gt;
The number of years that this model can be bought in the game (if PersistentEngines is off). &amp;amp;nbsp;Usually this should be at least twice or three times as &amp;amp;nbsp;long as the vehicle life. &amp;amp;nbsp;When starting a new game, a random amount between 31 months and 17 years is added to this as well.&lt;br /&gt;
&lt;br /&gt;
If the early retirement property (26/1B/16/16) is not set, the model life works like this:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
!Phase !!Duration !!Reliability&lt;br /&gt;
|-&lt;br /&gt;
|1||7 to 38 months||increases from 48-73% to 75-100%&lt;br /&gt;
|-&lt;br /&gt;
|2||prop. 04 less 8 years||stays constant at peak, 75-100%&lt;br /&gt;
|-&lt;br /&gt;
|3||10 to 20.5 years||decreases from peak to 25-50%&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
(the ranges in time and reliability are randomized at the start of each game)&lt;br /&gt;
&lt;br /&gt;
At the end of phase 3, the model is retired and removed from the purchase list. &amp;amp;nbsp;Note that when the model reliability starts dropping in phase 3, so does the reliability of every single vehicle of this make in the game.&lt;br /&gt;
&lt;br /&gt;
Setting this property to 0xFF means the model will never expire.&lt;br /&gt;
&lt;br /&gt;
If persistentengines is on, the model never gets to within two years of the end of phase 2, it is kept in phase 2 as long as at least one vehicle of this make is in the game.&lt;br /&gt;
&lt;br /&gt;
If the early retirement property is set, the vehicle is retired this many years before the end of phase 2 (can be negative if desired), but not if persistentengines would keep the model alive.&lt;br /&gt;
&lt;br /&gt;
Note: This property also works for wagons since TTDPatch 2.5 beta 7 resp. OpenTTD r14680.&lt;br /&gt;
&lt;br /&gt;
=== Climate availability ===&lt;br /&gt;
&lt;br /&gt;
This is a bit mask of the climates in which this model is available. &amp;amp;nbsp;Simply add the values for the climates:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
!Bit!!Value!!Climate&lt;br /&gt;
|-&lt;br /&gt;
|0||1||Temperate&lt;br /&gt;
|-&lt;br /&gt;
|1||2||Arctic&lt;br /&gt;
|-&lt;br /&gt;
|2||4||Tropical&lt;br /&gt;
|-&lt;br /&gt;
|3||8||Toyland&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For example, 1+2+4 = 07 would make a vehicle available in all climates except Toyland.&lt;br /&gt;
&lt;br /&gt;
If you need a vehicle not to be available through the purchase menu, e.g. a locomotive tender being part of an articulated vehicle (locomotive and tender), you may use a value of zero for the bit mask. Same procedure works for vehicles to be used exlusively by TTDPatch&#039;s AI, but not by a human player.&lt;br /&gt;
&lt;br /&gt;
=== Load amount ===&lt;br /&gt;
This is the amount of cargo transferred per unit of time if using gradualloading. &amp;amp;nbsp;The default is 5 for trains and road vehicles, 10 for ships and 20 for aircraft.&lt;br /&gt;
&lt;br /&gt;
Note: For aircraft carrying both passengers and mail this property is broken (wrt. mail) in TTDPatch and OpenTTD before r14672.&lt;br /&gt;
&lt;br /&gt;
Since OpenTTD r14672 this property is used for passengers, while mail uses 1/4 (rounded up). You can use [[Callbacks#Load amount callback 12|callback 12]] to control load amounts for passengers and mail independently.&lt;/div&gt;</summary>
		<author><name>Orudge</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=MediaWiki:Common.css&amp;diff=1349</id>
		<title>MediaWiki:Common.css</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=MediaWiki:Common.css&amp;diff=1349"/>
		<updated>2011-06-15T15:32:00Z</updated>

		<summary type="html">&lt;p&gt;Orudge: Add AdSense code&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* CSS placed here will be applied to all skins */&lt;br /&gt;
&lt;br /&gt;
table.wikitable td, th {&lt;br /&gt;
    border: 1px solid #CCCCCC;&lt;br /&gt;
    padding: 0;&lt;br /&gt;
}&lt;br /&gt;
table {&lt;br /&gt;
    border-collapse: collapse;&lt;br /&gt;
    empty-cells: show;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
td, th {&lt;br /&gt;
    border:  1px solid #CCCCCC;&lt;br /&gt;
    padding: 0px 5px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Pad Google AdSense box in portlet in sidebar */&lt;br /&gt;
#p-googleadsense .pBody {&lt;br /&gt;
    padding-top: 5px;&lt;br /&gt;
    text-align:  center;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Orudge</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=MediaWiki:Googleadsense&amp;diff=1348</id>
		<title>MediaWiki:Googleadsense</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=MediaWiki:Googleadsense&amp;diff=1348"/>
		<updated>2011-06-15T15:31:17Z</updated>

		<summary type="html">&lt;p&gt;Orudge: Add AdSense title&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;advertisement&lt;/div&gt;</summary>
		<author><name>Orudge</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=Action13&amp;diff=1054</id>
		<title>Action13</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=Action13&amp;diff=1054"/>
		<updated>2011-06-13T16:32:56Z</updated>

		<summary type="html">&lt;p&gt;Orudge: Remove redundant information&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Description==&lt;br /&gt;
&lt;br /&gt;
Translating regular strings is easy by just overwriting them with an [[Action4|action 4]], however this is not possible for translating GRF-specific strings in the D000 or DC00 range of IDs. Instead, these must be translated with this action 13.&lt;br /&gt;
&lt;br /&gt;
Available since 2.6 alpha 1 (r857).&lt;br /&gt;
&lt;br /&gt;
==Format==&lt;br /&gt;
&lt;br /&gt;
The data looks as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;-+&amp;amp;lt;sprite-number&amp;amp;gt; * &amp;amp;lt;length&amp;amp;gt; 13 &amp;amp;lt;feature&amp;amp;gt; &amp;amp;lt;grfid&amp;amp;gt; &amp;amp;lt;num-ent&amp;amp;gt; &amp;amp;lt;offset&amp;amp;gt; &amp;amp;lt;text...&amp;amp;gt;+-&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!&#039;&#039;&#039;Element&#039;&#039;&#039;&lt;br /&gt;
![[GRFActionsDetailed|&#039;&#039;&#039;Size&#039;&#039;&#039;]]&lt;br /&gt;
!&#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;amp;lt;sprite-number&amp;amp;gt;&lt;br /&gt;
|dec&lt;br /&gt;
|A sequential sprite number&lt;br /&gt;
|-&lt;br /&gt;
|&amp;amp;lt;length&amp;amp;gt;&lt;br /&gt;
|dec&lt;br /&gt;
|The total number of bytes in the action&lt;br /&gt;
|-&lt;br /&gt;
|13&lt;br /&gt;
|B&lt;br /&gt;
|Action 13&lt;br /&gt;
|-&lt;br /&gt;
|&amp;amp;lt;grfid&amp;amp;gt;&lt;br /&gt;
|4*B&lt;br /&gt;
|The GRFID of the file whose texts are to be translated&lt;br /&gt;
|-&lt;br /&gt;
|&amp;amp;lt;num-ent&amp;amp;gt;&lt;br /&gt;
|B&lt;br /&gt;
|Number of strings&lt;br /&gt;
|-&lt;br /&gt;
|&amp;amp;lt;offset&amp;amp;gt;&lt;br /&gt;
|W&lt;br /&gt;
|First text ID&lt;br /&gt;
|-&lt;br /&gt;
|&amp;amp;lt;text...&amp;amp;gt;&lt;br /&gt;
|S&lt;br /&gt;
|Zero-terminated strings&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For action 13, &amp;amp;lt;num-ent&amp;amp;gt;, &amp;amp;lt;offset&amp;amp;gt; and &amp;amp;lt;text...&amp;amp;gt; work exactly as for [[Action4|action 4]], but the offset may only refer to a text ID in the D000 or DC00 range of IDs.&lt;br /&gt;
&lt;br /&gt;
Action 13 is skipped if the given GRFID cannot be found or if the file is inactive; action 13 generates an error message and disables the current file if it appears before the GRF that it is translating.&lt;/div&gt;</summary>
		<author><name>Orudge</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=TracktypeLabels&amp;diff=969</id>
		<title>TracktypeLabels</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=TracktypeLabels&amp;diff=969"/>
		<updated>2011-06-12T21:18:31Z</updated>

		<summary type="html">&lt;p&gt;Orudge: 6 revisions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
=Railtype Labels=&lt;br /&gt;
&lt;br /&gt;
The following railtype labels have been defined so far:&lt;br /&gt;
&lt;br /&gt;
||Label|rail type|notes&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;OpenTTD Default Railtypes&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
RAIL|Normal rail|&lt;br /&gt;
&lt;br /&gt;
ELRL|electrified rail|&lt;br /&gt;
&lt;br /&gt;
MONO|mono rail|&lt;br /&gt;
&lt;br /&gt;
MGLV|maglev rail|&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;New Railtypes&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
_040|speed limit 40 km/h|Slowrails, ))SwedishRails[[]]SwedishRails[[&lt;br /&gt;
&lt;br /&gt;
_080|speed limit 80 km/h|Slowrails, ))SwedishRails[[]]SwedishRails[[&lt;br /&gt;
&lt;br /&gt;
E040|speed limit 40 km/h, electrified|Slowrails, ))SwedishRails[[]]SwedishRails[[&lt;br /&gt;
&lt;br /&gt;
E080|speed limit 80 km/h, electrified|Slowrails, ))SwedishRails[[]]SwedishRails[[&lt;br /&gt;
&lt;br /&gt;
3RDR|third rail|))MetroTracks[[]]MetroTracks[[, ))NuTracks[[]]NuTracks[[&lt;br /&gt;
&lt;br /&gt;
3RDC|third rail and catenary|))MetroTracks[[]]MetroTracks[[, ))NuTracks[[]]NuTracks[[&lt;br /&gt;
&lt;br /&gt;
RLOW|Low speed rails|NuTracks,))SwedishRails[[]]SwedishRails[[&lt;br /&gt;
&lt;br /&gt;
ELOW|Low speed rails, Catenary|NuTracks,))SwedishRails[[]]SwedishRails[[&lt;br /&gt;
&lt;br /&gt;
3LOW|Low speed 3rd rails|NuTracks,&lt;br /&gt;
&lt;br /&gt;
CLOW|Low speed 3rd rails, Catenary|NuTracks&lt;br /&gt;
&lt;br /&gt;
RMED|Medium speed rails|NuTracks,))SwedishRails[[]]SwedishRails[[&lt;br /&gt;
&lt;br /&gt;
EMED|Medium speed rails, Catenary|NuTracks,))SwedishRails[[]]SwedishRails[[&lt;br /&gt;
&lt;br /&gt;
3MED|Medium speed 3rd rails|NuTracks&lt;br /&gt;
&lt;br /&gt;
CMED|Medium speed 3rd rails, Catenary|NuTracks&lt;br /&gt;
&lt;br /&gt;
RHIG|High speed rails|NuTracks,))SwedishRails[[]]SwedishRails[[&lt;br /&gt;
&lt;br /&gt;
EHIG|High speed rails, Catenary|NuTracks,))SwedishRails[[]]SwedishRails[[&lt;br /&gt;
&lt;br /&gt;
HSTR|Very high speed track, Catenary|NuTracks,))SwedishRails[[]]SwedishRails[[&lt;br /&gt;
&lt;br /&gt;
PLAN|Planning tracks (blue dotted lines)|NuTracks&lt;br /&gt;
&lt;br /&gt;
MTRO|Metro tracks|NuTracks&lt;br /&gt;
&lt;br /&gt;
MTRC|Metro tracks with concrete edges|NuTracks&lt;br /&gt;
&lt;br /&gt;
MTRS|Metro tracks with suburban buildings on top|NuTracks&lt;br /&gt;
&lt;br /&gt;
MTRU|Metro tracks with &#039;downtown&#039; buildings on top|NuTracks&lt;br /&gt;
&lt;br /&gt;
MTRT|Metro tracks with terrain on top|NuTracks&lt;br /&gt;
&lt;br /&gt;
DBNN|branch line|DBRails&lt;br /&gt;
&lt;br /&gt;
DBNE|branch line, electrified|DBRails&lt;br /&gt;
&lt;br /&gt;
DBHN|main line|DBRails&lt;br /&gt;
&lt;br /&gt;
DBHE|main line, electrified|DBRails&lt;br /&gt;
&lt;br /&gt;
DBHS|high speed line electrified (NBS)|DBRails&lt;br /&gt;
&lt;br /&gt;
TRPD|transrapid track|Transrapid track type||&lt;/div&gt;</summary>
		<author><name>Orudge</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=PalettesAndCoordinates&amp;diff=962</id>
		<title>PalettesAndCoordinates</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=PalettesAndCoordinates&amp;diff=962"/>
		<updated>2011-06-12T21:18:31Z</updated>

		<summary type="html">&lt;p&gt;Orudge: 10 revisions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;How to work with palettes, and the 2D and 3D coordinates&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&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;amp;quot;action colours&amp;amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Below is an explanation by Oskar Eisemuth of the various colour ranges in the DOS and Windows palettes. &amp;amp;nbsp;Both palettes work similarly, but some of the colours are in different places.&lt;br /&gt;
&lt;br /&gt;
{picture file=img/wiki_up//windowspal.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;red&#039;&#039;&#039; marked colors.&lt;br /&gt;
&lt;br /&gt;
The colours in the &amp;amp;quot;company&amp;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 George, of the shades of player colours that will be used:&lt;br /&gt;
&lt;br /&gt;
{picture file=img/wiki_up//playercolours.png}&lt;br /&gt;
&lt;br /&gt;
The &amp;amp;quot;Patch Company 2&amp;amp;quot; range is normally not a special colour range, but since 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;
=Coordinates=&lt;br /&gt;
&lt;br /&gt;
TTD internally uses a 3D engine, which then uses an isometric projection to display graphics on a 2D screen. &amp;amp;nbsp;The 3D engine uses so-called &amp;amp;quot;bounding boxes&amp;amp;quot; for each sprite, which are then 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;amp;quot;xofs&amp;amp;quot; and &amp;amp;quot;yofs&amp;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;
{picture file=img/wiki_up//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. &amp;amp;nbsp;For 2D coordinates, X goes from left to right, and Y from top to bottom. &amp;amp;nbsp;Usually, the top side of the screen is referred to as &amp;amp;quot;north&amp;amp;quot;, and thus &amp;amp;quot;east&amp;amp;quot;, &amp;amp;quot;south&amp;amp;quot; and &amp;amp;quot;west&amp;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. &amp;amp;nbsp;This means that in most cases, xofs and yofs need to be negative to get the sprite to fit on the box. &amp;amp;nbsp;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. &amp;amp;nbsp;In the image above, it is indicated by the crossing point of the blue lines. &amp;amp;nbsp;The xofs and yofs work from this point, instead of the center of the box as for vehicles.&lt;/div&gt;</summary>
		<author><name>Orudge</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=ObjectLabels&amp;diff=951</id>
		<title>ObjectLabels</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=ObjectLabels&amp;diff=951"/>
		<updated>2011-06-12T21:18:31Z</updated>

		<summary type="html">&lt;p&gt;Orudge: 4 revisions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
=Object labels=&lt;br /&gt;
&lt;br /&gt;
Defining Object Class Label Recommendations&lt;br /&gt;
&lt;br /&gt;
{maketoc}&lt;br /&gt;
&lt;br /&gt;
==Recommendations - Predefined==&lt;br /&gt;
&lt;br /&gt;
1. Predefined labels are best used for single objects that are not part of a comprehensive set&lt;br /&gt;
&lt;br /&gt;
2. It is possible to have a label for each object. This would make for a very ungainly menu.&lt;br /&gt;
&lt;br /&gt;
3. A labeling system allows a coder/author to make their works much more user friendly.&lt;br /&gt;
&lt;br /&gt;
4. To keep the numbers more manageable, the classes are as generic as possible.&lt;br /&gt;
&lt;br /&gt;
5. While being generic, assigning objects to a label should be intuitive.&lt;br /&gt;
&lt;br /&gt;
6. Assuming that there will be special circumstances where a coder/author needs to deviate from the norm, &#039;&#039;&#039;the Recommendation is not mandatory&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
||&amp;lt;center&amp;gt;PREDEFINED RECOMMENDATIONS&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Label|&amp;lt;center&amp;gt;Action4 Text&amp;lt;/center&amp;gt;|&amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TTDX|&amp;lt;center&amp;gt;Default*TTDX&amp;lt;/center&amp;gt;|Transport Tycoon&#039;s copy-written objects - lighthouse, communication tower, rocks, etc.&lt;br /&gt;
&lt;br /&gt;
OTTD|&amp;lt;center&amp;gt;Default*OpenTTD&amp;lt;/center&amp;gt;|OpenGFX objects - lighthouse, communication tower, rocks, etc.&lt;br /&gt;
&lt;br /&gt;
STRU|&amp;lt;center&amp;gt;Structures&amp;lt;/center&amp;gt;|Multitile engineered objects that don&#039;t quite fit in as industries, houses or stations - dams etc.&lt;br /&gt;
&lt;br /&gt;
INFR|&amp;lt;center&amp;gt;Infrastructure&amp;lt;/center&amp;gt;| - light poles, communication towers, transmission towers, road signs, etc.&lt;br /&gt;
&lt;br /&gt;
BLDG|&amp;lt;center&amp;gt;Buildings&amp;lt;/center&amp;gt;|Normally accommodated by industries, houses or stations but the author feels there are limiting circumstances.&lt;br /&gt;
&lt;br /&gt;
NATR|&amp;lt;center&amp;gt;Natural objects&amp;lt;/center&amp;gt;| - caves, coral reefs, swamps, etc.&lt;br /&gt;
&lt;br /&gt;
PARK|&amp;lt;center&amp;gt;Public areas&amp;lt;/center&amp;gt;|Normally accommodated by towns or industries (tourist stuff ...) but the author feels there are limiting circumstances - Parks, statues, etc.&lt;br /&gt;
&lt;br /&gt;
ARTF|&amp;lt;center&amp;gt;Artifacts&amp;lt;/center&amp;gt;|They really don&#039;t fit under any of the above - shipwrecks, etc.&lt;br /&gt;
&lt;br /&gt;
MISC|&amp;lt;center&amp;gt;Miscellaneous&amp;lt;/center&amp;gt;|For the author who is unable to accommodate his/her object under any of the previous labels.||&lt;br /&gt;
&lt;br /&gt;
==Recommendations - Author defined==&lt;br /&gt;
&lt;br /&gt;
1. Author defined labels are best used for comprehensive object sets that consist of several obviously related objects.&lt;br /&gt;
&lt;br /&gt;
2. Each label must consist of four (4) alphanumeric characters.&lt;br /&gt;
&lt;br /&gt;
3. To prevent menu confusion, new labels should be unique and should not duplicate predefined labels (see chart above) nor previously selected author defined labels (see chart below).&lt;br /&gt;
&lt;br /&gt;
4. The author should add their label(s) to the following chart in alphanumeric order.&lt;br /&gt;
&lt;br /&gt;
5. If an author is uncomfortable with adding a label to the chart, they can PM their request to [http://www.tt-forums.net/ucp.php?i=pm&amp;amp;amp;mode;=compose&amp;amp;amp;action;|wallyweb].&lt;br /&gt;
&lt;br /&gt;
6. The chart will be regularly reviewed for duplications.&lt;br /&gt;
&lt;br /&gt;
7. The chart will be regularly edited for alphanumeric sequence.&lt;br /&gt;
&lt;br /&gt;
||&amp;lt;center&amp;gt;AUTHOR DEFINED RECOMMENDATIONS&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Label|&amp;lt;center&amp;gt;Action4 Text&amp;lt;/center&amp;gt;|&amp;lt;center&amp;gt;Description&amp;lt;/center&amp;gt;|&amp;lt;center&amp;gt;Author&amp;lt;/center&amp;gt;|&amp;lt;center&amp;gt;tt-forums link&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
EXM1|&amp;lt;center&amp;gt;Example 1&amp;lt;/center&amp;gt;|An example label listing|your name here|Forum link goes here&lt;br /&gt;
&lt;br /&gt;
EXM2|&amp;lt;center&amp;gt;Example 2&amp;lt;/center&amp;gt;|Another example label listing|your name here|Forum link goes here||&lt;/div&gt;</summary>
		<author><name>Orudge</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=VehicleRefitting&amp;diff=946</id>
		<title>VehicleRefitting</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=VehicleRefitting&amp;diff=946"/>
		<updated>2011-06-12T21:18:31Z</updated>

		<summary type="html">&lt;p&gt;Orudge: 2 revisions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Interaction of vehicle properties and callbacks during refitting&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Vehicles have multiple properties and callbacks which define the default cargotype and capacity, the refitoptions and the capacities after refitting.&lt;br /&gt;
* Default cargo slot (trains, road vehicles, ships)&lt;br /&gt;
* Default capacity (trains, road vehicles, ships)&lt;br /&gt;
* Passenger capacity (aircraft)&lt;br /&gt;
* Mail capacity (aircraft)&lt;br /&gt;
* Refit mask (all vehicle types)&lt;br /&gt;
* Refittable cargo classes (all vehicle types)&lt;br /&gt;
* Non-refittable cargo classes (all vehicle types)&lt;br /&gt;
* &#039;Refittable&#039;-flag (ships)&lt;br /&gt;
* Callback 36 &#039;capacity&#039; (all vehicle types)&lt;br /&gt;
* Callbck 15 &#039;refitted capacity&#039;&lt;br /&gt;
&lt;br /&gt;
The following image visualises the interactions of these wrt. OpenTTD. If you know the behaviour of TTDPatch at that detail level, please elaborate.&lt;/div&gt;</summary>
		<author><name>Orudge</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=IndustryTileDefaultProps&amp;diff=943</id>
		<title>IndustryTileDefaultProps</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=IndustryTileDefaultProps&amp;diff=943"/>
		<updated>2011-06-12T21:18:31Z</updated>

		<summary type="html">&lt;p&gt;Orudge: 12 revisions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Default property values for TTD&#039;s industry tiles&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=Default Industry Tile Properties=&lt;br /&gt;
&lt;br /&gt;
Default property values for TTD&#039;s industry tiles&lt;br /&gt;
&lt;br /&gt;
This page is based on a table compiled by [[CsabaVarga|Csaba Varga]] in connection with his work on the Patch&amp;amp;acute;s &#039;&#039;newindustries&#039;&#039; feature.&lt;br /&gt;
&lt;br /&gt;
The properties listed below are automatically copied to your newly defined industry tile when setting property 8, therefore you can save some bytes by leaving alone those that fit your needs. This data is also useful for reference so you know how you should set these properties for new industries.&lt;br /&gt;
&lt;br /&gt;
Note that the values listed here are big-endian. In order to use the values listed for props 0A..0C in an NFO file, you&#039;ll have to reverse the bytes first.&lt;br /&gt;
&lt;br /&gt;
In case of more than one ground or building sprite listed, these are sprites for successive construction building states, unless marked as sprites for animation sequences. Some sprites are taken from climate-specific .grfs like trgh.grf (sub-tropical) or trgc.grf (sub-arctic) and thus marked. All sprite numbers are given as decimal numbers.&lt;br /&gt;
&lt;br /&gt;
||ID|Land shape flags (0D)|Acceptance 1 (0A)|Acceptance 2 (0B)|Acceptance 3 (0C)|ground sprites|building sprites&lt;br /&gt;
&lt;br /&gt;
Coal mine&lt;br /&gt;
&lt;br /&gt;
00h|10h|00 00|00 00|00 00|2022|2011 - 2013&lt;br /&gt;
&lt;br /&gt;
01h|10h|00 00|00 00|00 00|2022|2013 - 2015 (animation)&lt;br /&gt;
&lt;br /&gt;
02h|10h|00 00|00 00|00 00|2022|2016 - 2018&lt;br /&gt;
&lt;br /&gt;
03h|10h|01 00|00 00|00 00|2022|2019 - 2021&lt;br /&gt;
&lt;br /&gt;
04h|10h|00 00|00 00|00 00|2023|n/a&lt;br /&gt;
&lt;br /&gt;
05h|10h|00 00|00 00|00 00|2024|n/a&lt;br /&gt;
&lt;br /&gt;
06h|10h|00 00|00 00|00 00|2025|n/a&lt;br /&gt;
&lt;br /&gt;
Power station&lt;br /&gt;
&lt;br /&gt;
07h|10h|00 00|00 00|00 00|3924|2045 - 2047&lt;br /&gt;
&lt;br /&gt;
08h|10h|01 00|08 01|00 00|3924|2048 - 2050&lt;br /&gt;
&lt;br /&gt;
09h|10h|00 00|00 00|00 00|3924|2051 - 2053&lt;br /&gt;
&lt;br /&gt;
0Ah|10h|00 00|00 00|00 00|3924|2054, 2055 - 2060 (animation)&lt;br /&gt;
&lt;br /&gt;
Sawmill&lt;br /&gt;
&lt;br /&gt;
0Bh|10h|01 00|00 00|00 00|3924|2061 - 2063&lt;br /&gt;
&lt;br /&gt;
0Ch|10h|01 00|00 00|00 00|3924|2064 - 2066&lt;br /&gt;
&lt;br /&gt;
0Dh|10h|01 00|08 07|00 00|3924|2067 - 2069&lt;br /&gt;
&lt;br /&gt;
0Eh|10h|00 00|00 00|00 00|3924|2070&lt;br /&gt;
&lt;br /&gt;
0Fh|10h|00 00|00 00|00 00|3924|2071&lt;br /&gt;
&lt;br /&gt;
Forest (temperate)&lt;br /&gt;
&lt;br /&gt;
10h|10h|00 00|00 00|00 00|2077|2072 - 2075 (animation)&lt;br /&gt;
&lt;br /&gt;
11h|10h|00 00|00 00|00 00|2077|2076&lt;br /&gt;
&lt;br /&gt;
Forest (arctic, sprites in trgc.grf)&lt;br /&gt;
&lt;br /&gt;
10h|10h|00 00|00 00|00 00|327|322 - 325 (animation)&lt;br /&gt;
&lt;br /&gt;
11h|10h|00 00|00 00|00 00|327|326&lt;br /&gt;
&lt;br /&gt;
Oil refinery&lt;br /&gt;
&lt;br /&gt;
12h|10h|00 00|00 00|00 00|1420|2078 - 2080&lt;br /&gt;
&lt;br /&gt;
13h|10h|00 00|00 00|00 00|1420|2081 - 2083&lt;br /&gt;
&lt;br /&gt;
14h|10h|00 00|08 03|00 00|1420|2084 - 2086&lt;br /&gt;
&lt;br /&gt;
15h|10h|00 00|00 00|00 00|1420|2087 - 2089&lt;br /&gt;
&lt;br /&gt;
16h|10h|00 00|00 00|00 00|1420|2090 - 2092&lt;br /&gt;
&lt;br /&gt;
17h|10h|01 00|00 00|00 00|1420|2093 - 2095&lt;br /&gt;
&lt;br /&gt;
Oil rig&lt;br /&gt;
&lt;br /&gt;
18h|10h|00 00|08 00|00 00&lt;br /&gt;
&lt;br /&gt;
19h|10h|00 00|08 02|00 00&lt;br /&gt;
&lt;br /&gt;
1Ah|10h|00 00|00 00|00 00&lt;br /&gt;
&lt;br /&gt;
1Bh|10h|00 00|00 00|00 00&lt;br /&gt;
&lt;br /&gt;
1Ch|10h|00 00|00 00|00 00&lt;br /&gt;
&lt;br /&gt;
Oil wells (temperate)&lt;br /&gt;
&lt;br /&gt;
1Dh|10h|00 00|00 00|00 00|2173|2174&lt;br /&gt;
&lt;br /&gt;
1Eh|10h|00 00|00 00|00 00|2173|2174-2179 (animation)&lt;br /&gt;
&lt;br /&gt;
1Fh|10h|00 00|00 00|00 00|2173|2174-2179 (animation)&lt;br /&gt;
&lt;br /&gt;
20h|10h|00 00|00 00|00 00|2173|2174-2179 (animation)&lt;br /&gt;
&lt;br /&gt;
Oil wells (arctic, sprites in trgc.grf)&lt;br /&gt;
&lt;br /&gt;
1Dh|10h|00 00|00 00|00 00|262|263&lt;br /&gt;
&lt;br /&gt;
1Eh|10h|00 00|00 00|00 00|262|263 - 268 (animation)&lt;br /&gt;
&lt;br /&gt;
1Fh|10h|00 00|00 00|00 00|262|263 - 268 (animation)&lt;br /&gt;
&lt;br /&gt;
20h|10h|00 00|00 00|00 00|262|263 - 268 (animation)&lt;br /&gt;
&lt;br /&gt;
Oil wells (sub-tropical, sprites in trgh.grf)&lt;br /&gt;
&lt;br /&gt;
1Dh|10h|00 00|00 00|00 00|250|251&lt;br /&gt;
&lt;br /&gt;
1Eh|10h|00 00|00 00|00 00|250|251 - 256 (animation)&lt;br /&gt;
&lt;br /&gt;
1Fh|10h|00 00|00 00|00 00|250|251 - 256 (animation)&lt;br /&gt;
&lt;br /&gt;
20h|10h|00 00|00 00|00 00|250|251 - 256 (animation)&lt;br /&gt;
&lt;br /&gt;
Farm (temperate)&lt;br /&gt;
&lt;br /&gt;
21h|10h|01 00|00 00|00 00|2106|2108&lt;br /&gt;
&lt;br /&gt;
22h|10h|01 00|00 00|00 00|2107|2109&lt;br /&gt;
&lt;br /&gt;
23h|10h|00 00|00 00|00 00|2110|2111&lt;br /&gt;
&lt;br /&gt;
24h|10h|00 00|00 00|00 00|2112|2113&lt;br /&gt;
&lt;br /&gt;
25h|10h|00 00|00 00|00 00|2114|2115&lt;br /&gt;
&lt;br /&gt;
26h|10h|00 00|00 00|00 00|2116|2117&lt;br /&gt;
&lt;br /&gt;
Farm (arctic, sprites in trgc.grf)&lt;br /&gt;
&lt;br /&gt;
21h|10h|01 00|00 00|00 00|61|64&lt;br /&gt;
&lt;br /&gt;
22h|10h|01 00|00 00|00 00|62|65&lt;br /&gt;
&lt;br /&gt;
23h|10h|00 00|00 00|00 00|66|67&lt;br /&gt;
&lt;br /&gt;
24h|10h|00 00|00 00|00 00|68|69&lt;br /&gt;
&lt;br /&gt;
25h|10h|00 00|00 00|00 00|70|71&lt;br /&gt;
&lt;br /&gt;
26h|10h|00 00|00 00|00 00|72|73&lt;br /&gt;
&lt;br /&gt;
Farm (tropic, sprites in trgh.grf)&lt;br /&gt;
&lt;br /&gt;
21h|10h|01 00|00 00|00 00|543|545&lt;br /&gt;
&lt;br /&gt;
22h|10h|01 00|00 00|00 00|544|546&lt;br /&gt;
&lt;br /&gt;
23h|10h|00 00|00 00|00 00|547|548&lt;br /&gt;
&lt;br /&gt;
24h|10h|00 00|00 00|00 00|549|550&lt;br /&gt;
&lt;br /&gt;
25h|10h|00 00|00 00|00 00|551|552&lt;br /&gt;
&lt;br /&gt;
26h|10h|00 00|00 00|00 00|553|554&lt;br /&gt;
&lt;br /&gt;
Factory (temperate)&lt;br /&gt;
&lt;br /&gt;
27h|10h|08 06|08 04|08 09|2022, 2022, 2146|2153, 2157, 2150&lt;br /&gt;
&lt;br /&gt;
28h|10h|08 06|08 04|08 09|2022, 2022, 2147|2154, 2158, 2151&lt;br /&gt;
&lt;br /&gt;
29h|10h|08 06|08 04|08 09|2022, 2022, 2148|2155, 2159, 2152&lt;br /&gt;
&lt;br /&gt;
2Ah|10h|08 06|08 04|08 09|2022, 2022, 2149|2156, 2160, n/a&lt;br /&gt;
&lt;br /&gt;
Printing works&lt;br /&gt;
&lt;br /&gt;
2Bh|10h|00 00|08 09|00 00|3924|2161, 2165, 2169&lt;br /&gt;
&lt;br /&gt;
2Ch|10h|00 00|08 09|00 00|3924|2162, 2166, 2170&lt;br /&gt;
&lt;br /&gt;
2Dh|10h|00 00|08 09|00 00|3924|2163, 2167, 2171&lt;br /&gt;
&lt;br /&gt;
2Eh|10h|00 00|08 09|00 00|3924|2164, 2168, 2172&lt;br /&gt;
&lt;br /&gt;
Copper ore mine&lt;br /&gt;
&lt;br /&gt;
2Fh|10h|00 00|00 00|00 00|2022|2026-2028&lt;br /&gt;
&lt;br /&gt;
30h|10h|00 00|00 00|00 00|2022|2028-2030 (animation)&lt;br /&gt;
&lt;br /&gt;
31h|10h|00 00|00 00|00 00|2022|2131-2033&lt;br /&gt;
&lt;br /&gt;
32h|10h|01 00|00 00|00 00|2022|2034-2036&lt;br /&gt;
&lt;br /&gt;
33h|10h|01 00|00 00|00 00|2022|2037-2039&lt;br /&gt;
&lt;br /&gt;
Steel mill&lt;br /&gt;
&lt;br /&gt;
34h|10h|01 00|08 08|00 00|2129, 2118|2130, 2119&lt;br /&gt;
&lt;br /&gt;
35h|10h|01 00|08 08|00 00|2131, 2120|2132, 2121&lt;br /&gt;
&lt;br /&gt;
36h|10h|01 00|08 08|00 00|2133, 2122|2134, 2123&lt;br /&gt;
&lt;br /&gt;
37h|10h|01 00|08 08|00 00|2135, 2124|n/a&lt;br /&gt;
&lt;br /&gt;
38h|10h|01 00|08 08|00 00|2136, 2125|2137, 2126&lt;br /&gt;
&lt;br /&gt;
39h|10h|01 00|08 08|00 00|2138, 2127|2139, 2128&lt;br /&gt;
&lt;br /&gt;
Bank (temperate)&lt;br /&gt;
&lt;br /&gt;
3Ah|04h|01 00|08 0A|00 00|2182|2180&lt;br /&gt;
&lt;br /&gt;
3Bh|02h|01 00|08 0A|00 00|2183|2181&lt;br /&gt;
&lt;br /&gt;
Food processing plant&lt;br /&gt;
&lt;br /&gt;
3Ch|10h|08 06|08 04|00 00|2022|2188-2190&lt;br /&gt;
&lt;br /&gt;
3Dh|10h|08 06|08 04|00 00|2022|2191-2193&lt;br /&gt;
&lt;br /&gt;
3Eh|10h|08 06|08 04|00 00|2022|2194-2196&lt;br /&gt;
&lt;br /&gt;
3Fh|10h|08 06|08 04|00 00|2022|2197-2199&lt;br /&gt;
&lt;br /&gt;
Paper mill&lt;br /&gt;
&lt;br /&gt;
40h|10h|00 00|08 07|00 00|2022|2200, 2201, 2201, 2202&lt;br /&gt;
&lt;br /&gt;
41h|10h|00 00|08 07|00 00|2022|n/a, n/a, n/a, 2214&lt;br /&gt;
&lt;br /&gt;
42h|10h|00 00|08 07|00 00|2022|2203, 2204, 2204, 2205&lt;br /&gt;
&lt;br /&gt;
43h|10h|00 00|08 07|00 00|2022|n/a, n/a, n/a, 2206&lt;br /&gt;
&lt;br /&gt;
44h|10h|00 00|08 07|00 00|2022|n/a, 2207, 2208, 2208&lt;br /&gt;
&lt;br /&gt;
45h|10h|00 00|08 07|00 00|2022|n/a, 2207, 2208, 2209&lt;br /&gt;
&lt;br /&gt;
46h|10h|00 00|08 07|00 00|2022|n/a, 2210, 2211, 2212&lt;br /&gt;
&lt;br /&gt;
47h|10h|00 00|08 07|00 00|2022|n/a, 2210, 2211, 2213&lt;br /&gt;
&lt;br /&gt;
Gold mine&lt;br /&gt;
&lt;br /&gt;
48h|10h|00 00|00 00|00 00|2215, 2022, 2022|n/a, 2231, 2247&lt;br /&gt;
&lt;br /&gt;
49h|10h|00 00|00 00|00 00|2216, 2232, 2248|n/a&lt;br /&gt;
&lt;br /&gt;
4Ah|10h|00 00|00 00|00 00|2217, 2022, 2022|n/a, 2233, 2249&lt;br /&gt;
&lt;br /&gt;
4Bh|10h|00 00|00 00|00 00|2218, 2022, 2022|n/a, 2234, 2250&lt;br /&gt;
&lt;br /&gt;
4Ch|10h|00 00|00 00|00 00|2219, 2235, 2251|n/a&lt;br /&gt;
&lt;br /&gt;
4Dh|10h|00 00|00 00|00 00|2220, 2236, 2252|n/a&lt;br /&gt;
&lt;br /&gt;
4Eh|10h|00 00|00 00|00 00|2221, 2237, 2253|n/a&lt;br /&gt;
&lt;br /&gt;
4Fh|10h|00 00|00 00|00 00|2222, 2238, 2254|n/a, n/a, 2263&lt;br /&gt;
&lt;br /&gt;
50h|10h|00 00|00 00|00 00|2223, 2239, 2255|n/a&lt;br /&gt;
&lt;br /&gt;
51h|10h|00 00|00 00|00 00|2224, 2240, 2256|n/a&lt;br /&gt;
&lt;br /&gt;
52h|10h|00 00|00 00|00 00|2225, 2241, 2257|n/a&lt;br /&gt;
&lt;br /&gt;
53h|10h|00 00|00 00|00 00|2226, 2242, 2258|n/a&lt;br /&gt;
&lt;br /&gt;
54h|10h|00 00|00 00|00 00|2227, 2243, 2259|n/a&lt;br /&gt;
&lt;br /&gt;
55h|10h|00 00|00 00|00 00|2228, 2244, 2260|n/a&lt;br /&gt;
&lt;br /&gt;
56h|10h|00 00|00 00|00 00|2229, 2245, 2261|n/a&lt;br /&gt;
&lt;br /&gt;
57h|10h|00 00|00 00|00 00|2230, 2246, 2262|n/a&lt;br /&gt;
&lt;br /&gt;
58h|10h|00 00|00 00|00 00|2254|2263-2265 (animation)&lt;br /&gt;
&lt;br /&gt;
Bank (sub-arctic or sub-tropical)&lt;br /&gt;
&lt;br /&gt;
59h|04h|00 00|08 0A|00 00|2184|2186&lt;br /&gt;
&lt;br /&gt;
5Ah|02h|00 00|08 0A|00 00|2485|2187&lt;br /&gt;
&lt;br /&gt;
Diamond mine&lt;br /&gt;
&lt;br /&gt;
5Bh|10h|00 00|00 00|00 00|2266, 2022, 2022|n/a, 2275, 2284&lt;br /&gt;
&lt;br /&gt;
5Ch|10h|00 00|00 00|00 00|2267, 2022, 2022|n/a, 2276, 2285&lt;br /&gt;
&lt;br /&gt;
5Dh|10h|00 00|00 00|00 00|2268, 2022, 2022|n/a, 2077, 2286&lt;br /&gt;
&lt;br /&gt;
5Eh|10h|00 00|00 00|00 00|2269, 2022, 2022|n/a, 2078, 2287&lt;br /&gt;
&lt;br /&gt;
5Fh|10h|00 00|00 00|00 00|2270, 2279, 2288|n/a&lt;br /&gt;
&lt;br /&gt;
60h|10h|00 00|00 00|00 00|2271, 2280, 2289|n/a&lt;br /&gt;
&lt;br /&gt;
61h|10h|00 00|00 00|00 00|2272, 2022, 2022|n/a, 2281, 2290&lt;br /&gt;
&lt;br /&gt;
62h|10h|00 00|00 00|00 00|2273, 2282, 2291|n/a&lt;br /&gt;
&lt;br /&gt;
63h|10h|00 00|00 00|00 00|2274, 2283, 2292|n/a&lt;br /&gt;
&lt;br /&gt;
Iron ore mine&lt;br /&gt;
&lt;br /&gt;
64h|10h|00 00|00 00|00 00|2293, 2309, 2325|n/a&lt;br /&gt;
&lt;br /&gt;
65h|10h|00 00|00 00|00 00|2294, 2310, 2326|n/a&lt;br /&gt;
&lt;br /&gt;
66h|10h|00 00|00 00|00 00|2295, 2311, 2327|n/a&lt;br /&gt;
&lt;br /&gt;
67h|10h|00 00|00 00|00 00|2296, 2312, 2328|n/a&lt;br /&gt;
&lt;br /&gt;
68h|10h|00 00|00 00|00 00|2297, 2313, 2329|n/a&lt;br /&gt;
&lt;br /&gt;
69h|10h|00 00|00 00|00 00|2298, 2314, 2330|n/a&lt;br /&gt;
&lt;br /&gt;
6Ah|10h|00 00|00 00|00 00|2299, 2315, 2331|n/a&lt;br /&gt;
&lt;br /&gt;
6Bh|10h|00 00|00 00|00 00|2300, 2316, 2332|n/a&lt;br /&gt;
&lt;br /&gt;
6Ch|10h|00 00|00 00|00 00|2301, 2317, 2333|n/a&lt;br /&gt;
&lt;br /&gt;
6Dh|10h|00 00|00 00|00 00|2302, 2318, 2334|n/a&lt;br /&gt;
&lt;br /&gt;
6Eh|10h|00 00|00 00|00 00|2303, 2319, 2335|n/a&lt;br /&gt;
&lt;br /&gt;
6Fh|10h|00 00|00 00|00 00|2304, 2320, 2336|n/a&lt;br /&gt;
&lt;br /&gt;
70h|10h|00 00|00 00|00 00|2305, 2321, 2337|n/a&lt;br /&gt;
&lt;br /&gt;
71h|10h|00 00|00 00|00 00|2306, 2322, 2338|n/a&lt;br /&gt;
&lt;br /&gt;
72h|10h|00 00|00 00|00 00|2307, 2323, 2339|n/a&lt;br /&gt;
&lt;br /&gt;
73h|10h|00 00|00 00|00 00|2308, 2324, 2340|n/a&lt;br /&gt;
&lt;br /&gt;
Fruit plantation&lt;br /&gt;
&lt;br /&gt;
74h|10h|00 00|00 00|00 00|2341|2342&lt;br /&gt;
&lt;br /&gt;
Rubber plantation&lt;br /&gt;
&lt;br /&gt;
75h|10h|00 00|00 00|00 00|2341|2343&lt;br /&gt;
&lt;br /&gt;
Water supply&lt;br /&gt;
&lt;br /&gt;
76h|10h|00 00|00 00|00 00|350 (trgh)|2347-2349&lt;br /&gt;
&lt;br /&gt;
77h|10h|00 00|00 00|00 00|350 (trgh)|2350-2352&lt;br /&gt;
&lt;br /&gt;
Water tower&lt;br /&gt;
&lt;br /&gt;
78h|10h|00 00|08 09|00 00|350 (trgh)|2344-2346&lt;br /&gt;
&lt;br /&gt;
Factory (sub-tropical)&lt;br /&gt;
&lt;br /&gt;
79h|10h|08 08|08 01|08 07|2022,2022,2146| 2153, 2157, 2150&lt;br /&gt;
&lt;br /&gt;
7Ah|10h|08 08|08 01|08 07|2022,2022,2147| 2154, 2158, 2151&lt;br /&gt;
&lt;br /&gt;
7Bh|10h|08 08|08 01|08 07|2022,2022,2148| 2155, 2159, 2152&lt;br /&gt;
&lt;br /&gt;
7Ch|10h|08 08|08 01|08 07|2022,2022,2149| 2156, 2160, n/a&lt;br /&gt;
&lt;br /&gt;
Lumber mill&lt;br /&gt;
&lt;br /&gt;
7Dh|10h|00 00|00 00|00 00|2022|2353, 2357, 2361&lt;br /&gt;
&lt;br /&gt;
7Eh|10h|00 00|00 00|00 00|2022|2354, 2358, 2362&lt;br /&gt;
&lt;br /&gt;
7Fh|10h|00 00|00 00|00 00|2022|2355, 2359, 2363&lt;br /&gt;
&lt;br /&gt;
80h|10h|00 00|00 00|00 00|2022|2356, 2360, 2364&lt;br /&gt;
&lt;br /&gt;
Candyfloss forest&lt;br /&gt;
&lt;br /&gt;
81h|10h|00 00|00 00|00 00&lt;br /&gt;
&lt;br /&gt;
82h|10h|00 00|00 00|00 00&lt;br /&gt;
&lt;br /&gt;
Sweet factory&lt;br /&gt;
&lt;br /&gt;
83h|10h|08 08|08 01|08 06&lt;br /&gt;
&lt;br /&gt;
84h|10h|08 08|08 01|08 06&lt;br /&gt;
&lt;br /&gt;
85h|10h|08 08|08 01|08 06&lt;br /&gt;
&lt;br /&gt;
86h|10h|08 08|08 01|08 06&lt;br /&gt;
&lt;br /&gt;
Battery farm&lt;br /&gt;
&lt;br /&gt;
87h|10h|00 00|00 00|00 00&lt;br /&gt;
&lt;br /&gt;
88h|10h|00 00|00 00|00 00&lt;br /&gt;
&lt;br /&gt;
Cola wells&lt;br /&gt;
&lt;br /&gt;
89h|10h|00 00|00 00|00 00&lt;br /&gt;
&lt;br /&gt;
Toy shop&lt;br /&gt;
&lt;br /&gt;
8Ah|10h|00 00|08 03|00 00&lt;br /&gt;
&lt;br /&gt;
8Bh|10h|00 00|08 03|00 00&lt;br /&gt;
&lt;br /&gt;
8Ch|10h|00 00|08 03|00 00&lt;br /&gt;
&lt;br /&gt;
8Dh|10h|00 00|08 03|00 00&lt;br /&gt;
&lt;br /&gt;
Toy factory&lt;br /&gt;
&lt;br /&gt;
8Eh|10h|08 04|08 0A|00 00&lt;br /&gt;
&lt;br /&gt;
8Fh|10h|08 04|08 0A|00 00&lt;br /&gt;
&lt;br /&gt;
90h|10h|08 04|08 0A|00 00&lt;br /&gt;
&lt;br /&gt;
91h|10h|08 04|08 0A|00 00&lt;br /&gt;
&lt;br /&gt;
92h|10h|08 04|08 0A|00 00&lt;br /&gt;
&lt;br /&gt;
93h|10h|08 04|08 0A|00 00&lt;br /&gt;
&lt;br /&gt;
Plastic fountains&lt;br /&gt;
&lt;br /&gt;
94h|10h|00 00|00 00|00 00&lt;br /&gt;
&lt;br /&gt;
95h|10h|00 00|00 00|00 00&lt;br /&gt;
&lt;br /&gt;
96h|10h|00 00|00 00|00 00&lt;br /&gt;
&lt;br /&gt;
97h|10h|00 00|00 00|00 00&lt;br /&gt;
&lt;br /&gt;
98h|10h|00 00|00 00|00 00&lt;br /&gt;
&lt;br /&gt;
99h|10h|00 00|00 00|00 00&lt;br /&gt;
&lt;br /&gt;
9Ah|10h|00 00|00 00|00 00&lt;br /&gt;
&lt;br /&gt;
9Bh|10h|00 00|00 00|00 00&lt;br /&gt;
&lt;br /&gt;
Fizzy drink factory&lt;br /&gt;
&lt;br /&gt;
9Ch|10h|08 09|08 07|00 00&lt;br /&gt;
&lt;br /&gt;
9Dh|10h|08 09|08 07|00 00&lt;br /&gt;
&lt;br /&gt;
9Eh|10h|08 09|08 07|00 00&lt;br /&gt;
&lt;br /&gt;
9Fh|10h|08 09|08 07|00 00&lt;br /&gt;
&lt;br /&gt;
Bubble generator&lt;br /&gt;
&lt;br /&gt;
A0h|10h|00 00|00 00|00 00&lt;br /&gt;
&lt;br /&gt;
A1h|10h|00 00|00 00|00 00&lt;br /&gt;
&lt;br /&gt;
A2h|10h|00 00|00 00|00 00&lt;br /&gt;
&lt;br /&gt;
A3h|10h|00 00|00 00|00 00&lt;br /&gt;
&lt;br /&gt;
Toffee quarry&lt;br /&gt;
&lt;br /&gt;
A4h|10h|00 00|00 00|00 00&lt;br /&gt;
&lt;br /&gt;
A5h|10h|00 00|00 00|00 00&lt;br /&gt;
&lt;br /&gt;
A6h|10h|00 00|00 00|00 00&lt;br /&gt;
&lt;br /&gt;
Sugar mine&lt;br /&gt;
&lt;br /&gt;
A7h|10h|00 00|00 00|00 00&lt;br /&gt;
&lt;br /&gt;
A8h|10h|00 00|00 00|00 00&lt;br /&gt;
&lt;br /&gt;
A9h|10h|00 00|00 00|00 00&lt;br /&gt;
&lt;br /&gt;
AAh|10h|00 00|00 00|00 00&lt;br /&gt;
&lt;br /&gt;
ABh|10h|00 00|00 00|00 00&lt;br /&gt;
&lt;br /&gt;
ACh|10h|00 00|00 00|00 00&lt;br /&gt;
&lt;br /&gt;
ADh|10h|00 00|00 00|00 00&lt;br /&gt;
&lt;br /&gt;
AEh|10h|00 00|00 00|00 00||&#039;&#039;text&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Orudge</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=IndustryDefaultProps&amp;diff=930</id>
		<title>IndustryDefaultProps</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=IndustryDefaultProps&amp;diff=930"/>
		<updated>2011-06-12T21:18:31Z</updated>

		<summary type="html">&lt;p&gt;Orudge: 4 revisions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Default properties values for TTD&#039;s industries&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=Default Industry Properties=&lt;br /&gt;
&lt;br /&gt;
Default property values for TTD&#039;s industries&lt;br /&gt;
&lt;br /&gt;
))This page was blatantly stolen from Csaba to aid GRF coders in their work[[MiscellaneousModifications|miscmods]].dontfixtropicbanks bit is set. This table contains the fixed values. If the player has set that bit, the two marked values will be swapped.&lt;br /&gt;
&lt;br /&gt;
==Industry Layouts==&lt;br /&gt;
&lt;br /&gt;
Each layout consists of industry tile IDs to build. Keep in mind that the X axis of the TTD coordinate system goes SW and the Y axis goes SE. This means that to get the real alignment from this chart, you need to mirror things around the vertical axis, then rotate them 45 degrees counter-clockwise.&lt;br /&gt;
&lt;br /&gt;
||ID|Name|Layouts&lt;br /&gt;
&lt;br /&gt;
00h|Coal mine|~pp~05 06 03&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; 00&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; 02 03~/pp~|~pp~03 03 00&lt;br /&gt;
&lt;br /&gt;
04 00 02&lt;br /&gt;
&lt;br /&gt;
04 02 04~/pp~|~pp~00 03&lt;br /&gt;
&lt;br /&gt;
02 03&lt;br /&gt;
&lt;br /&gt;
05 06~/pp~|~pp~ &amp;amp;nbsp; 05 06&lt;br /&gt;
&lt;br /&gt;
00 00 04&lt;br /&gt;
&lt;br /&gt;
02 02 03&lt;br /&gt;
&lt;br /&gt;
04 03~/pp~&lt;br /&gt;
&lt;br /&gt;
01h|Power station|~pp~07 07 07 0A&lt;br /&gt;
&lt;br /&gt;
09 08 08 0A~/pp~|~pp~ &amp;amp;nbsp; 08 09&lt;br /&gt;
&lt;br /&gt;
07 08 0A&lt;br /&gt;
&lt;br /&gt;
07 07 09~/pp~|~pp~07 09 0A&lt;br /&gt;
&lt;br /&gt;
07 08 09~/pp~&lt;br /&gt;
&lt;br /&gt;
02h|Sawmill|~pp~0F 0E 0E&lt;br /&gt;
&lt;br /&gt;
0F 0C 0D&lt;br /&gt;
&lt;br /&gt;
0C 0B~/pp~|~pp~0F 0F 0B&lt;br /&gt;
&lt;br /&gt;
0B 0D 0D&lt;br /&gt;
&lt;br /&gt;
0E 0C~/pp~&lt;br /&gt;
&lt;br /&gt;
03h|Forest|~pp~10 10 10 10&lt;br /&gt;
&lt;br /&gt;
10 10 10 10&lt;br /&gt;
&lt;br /&gt;
10 10 10 10&lt;br /&gt;
&lt;br /&gt;
10 10 10 10&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; 10 10~/pp~|~pp~10 10 10 10 10&lt;br /&gt;
&lt;br /&gt;
10 10 10 10 10&lt;br /&gt;
&lt;br /&gt;
10 10 10 10 10&lt;br /&gt;
&lt;br /&gt;
10 10 10 10 10&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; 10 10 10~/pp~&lt;br /&gt;
&lt;br /&gt;
04h|Oil refinery|~pp~14 14 17&lt;br /&gt;
&lt;br /&gt;
15 13 12 17&lt;br /&gt;
&lt;br /&gt;
16 16 12 12&lt;br /&gt;
&lt;br /&gt;
15 14 12 12~/pp~|~pp~12 12 12&lt;br /&gt;
&lt;br /&gt;
12 12 12&lt;br /&gt;
&lt;br /&gt;
15 13 13&lt;br /&gt;
&lt;br /&gt;
16 14 16&lt;br /&gt;
&lt;br /&gt;
14 17 17~/pp~&lt;br /&gt;
&lt;br /&gt;
05h|Oil rig|~pp~&lt;br /&gt;
&lt;br /&gt;
xx xx xx xx xx xx xx xx xx xx&lt;br /&gt;
&lt;br /&gt;
xx &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; xx&lt;br /&gt;
&lt;br /&gt;
xx &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; xx&lt;br /&gt;
&lt;br /&gt;
xx &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; xx&lt;br /&gt;
&lt;br /&gt;
xx &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; [18]1A xx &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; xx&lt;br /&gt;
&lt;br /&gt;
xx &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;18 1B &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;xx&lt;br /&gt;
&lt;br /&gt;
xx &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;19 1C &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;xx&lt;br /&gt;
&lt;br /&gt;
xx &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; xx&lt;br /&gt;
&lt;br /&gt;
xx &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; xx&lt;br /&gt;
&lt;br /&gt;
xx &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; xx&lt;br /&gt;
&lt;br /&gt;
xx xx xx xx xx xx xx xx xx xx~/pp~ (*)&lt;br /&gt;
&lt;br /&gt;
06h|Factory (temperate climate)|~pp~27 29&lt;br /&gt;
&lt;br /&gt;
28 2A 27 29&lt;br /&gt;
&lt;br /&gt;
27 29 28 2A&lt;br /&gt;
&lt;br /&gt;
28 2A~/pp~|~pp~27 29 27 29&lt;br /&gt;
&lt;br /&gt;
28 2A 28 2A&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; 27 29&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; 28 2A~/pp~&lt;br /&gt;
&lt;br /&gt;
07h|Printing works|~pp~2B 2D&lt;br /&gt;
&lt;br /&gt;
2C 2E 2B 2D&lt;br /&gt;
&lt;br /&gt;
2B 2D 2C 2E&lt;br /&gt;
&lt;br /&gt;
2C 2E~/pp~|~pp~2B 2D 2B 2D&lt;br /&gt;
&lt;br /&gt;
2C 2E 2C 2E&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; 2B 2D&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; 2C 2E~/pp~&lt;br /&gt;
&lt;br /&gt;
08h|Steel mill|~pp~38 39 38 39&lt;br /&gt;
&lt;br /&gt;
38 39 34 36&lt;br /&gt;
&lt;br /&gt;
38 39 35 37~/pp~|~pp~34 36 34 36&lt;br /&gt;
&lt;br /&gt;
35 37 35 37&lt;br /&gt;
&lt;br /&gt;
38 39 38 39&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; 38 39~/pp~&lt;br /&gt;
&lt;br /&gt;
09h|Farm (temperate or sub-arctic)|~pp~25 21 23&lt;br /&gt;
&lt;br /&gt;
25 22 26&lt;br /&gt;
&lt;br /&gt;
24 24 26~/pp~|~pp~23 25 25&lt;br /&gt;
&lt;br /&gt;
24 21 25&lt;br /&gt;
&lt;br /&gt;
24 22 26&lt;br /&gt;
&lt;br /&gt;
23 26 26~/pp~|~pp~24 23 21&lt;br /&gt;
&lt;br /&gt;
24 26 22&lt;br /&gt;
&lt;br /&gt;
25 26 25&lt;br /&gt;
&lt;br /&gt;
25 25 23~/pp~&lt;br /&gt;
&lt;br /&gt;
0Ah|Copper ore mine|~pp~2F 2F 33&lt;br /&gt;
&lt;br /&gt;
31 31 33&lt;br /&gt;
&lt;br /&gt;
33 32~/pp~|~pp~32 2F 33&lt;br /&gt;
&lt;br /&gt;
2F 31 2F&lt;br /&gt;
&lt;br /&gt;
31 33 31~/pp~&lt;br /&gt;
&lt;br /&gt;
0Bh|Oil wells|~pp~1D 1D 1D&lt;br /&gt;
&lt;br /&gt;
1D&lt;br /&gt;
&lt;br /&gt;
1D~/pp~|~pp~1D 1D&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; 1D&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;1D&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;1D~/pp~&lt;br /&gt;
&lt;br /&gt;
0Ch|Bank (temperate)|~pp~3A 3B~/pp~&lt;br /&gt;
&lt;br /&gt;
0Dh|Food processing plant|~pp~3C 3C 3C&lt;br /&gt;
&lt;br /&gt;
3C 3C 3C&lt;br /&gt;
&lt;br /&gt;
3D 3D 3F&lt;br /&gt;
&lt;br /&gt;
3E 3E 3F~/pp~|~pp~3D 3C 3D 3D&lt;br /&gt;
&lt;br /&gt;
3E 3F 3F 3F&lt;br /&gt;
&lt;br /&gt;
3C 3C 3C 3C&lt;br /&gt;
&lt;br /&gt;
3E 3E~/pp~&lt;br /&gt;
&lt;br /&gt;
0Eh|Paper mill|~pp~40 41 42 43&lt;br /&gt;
&lt;br /&gt;
44 45 43 43&lt;br /&gt;
&lt;br /&gt;
42 47 47 46~/pp~&lt;br /&gt;
&lt;br /&gt;
0Fh|Gold mine|~pp~48 4C 50 54&lt;br /&gt;
&lt;br /&gt;
49 4D 51 55&lt;br /&gt;
&lt;br /&gt;
4A 4E 52 56&lt;br /&gt;
&lt;br /&gt;
4B 4F 53 57~/pp~&lt;br /&gt;
&lt;br /&gt;
10h|Bank (sub-tropical or sub-arctic)|~pp~59 5A~/pp~&lt;br /&gt;
&lt;br /&gt;
11h|Diamond mine|~pp~5B 5E 61&lt;br /&gt;
&lt;br /&gt;
5C 5F 62&lt;br /&gt;
&lt;br /&gt;
5D 60 63~/pp~&lt;br /&gt;
&lt;br /&gt;
12h|Iron ore mine|~pp~64 68 6C 70&lt;br /&gt;
&lt;br /&gt;
65 69 6D 71&lt;br /&gt;
&lt;br /&gt;
66 6A 6E 72&lt;br /&gt;
&lt;br /&gt;
67 6B 6F 73~/pp~&lt;br /&gt;
&lt;br /&gt;
13h|Fruit plantation|~pp~74 74 74 74 74&lt;br /&gt;
&lt;br /&gt;
74 74 74 74 74&lt;br /&gt;
&lt;br /&gt;
74 74 74 74 74&lt;br /&gt;
&lt;br /&gt;
74 74 74 74 74~/pp~&lt;br /&gt;
&lt;br /&gt;
14h|Rubber plantation|~pp~75 75 75 75 75&lt;br /&gt;
&lt;br /&gt;
75 75 75 75 75&lt;br /&gt;
&lt;br /&gt;
75 75 75 75 75&lt;br /&gt;
&lt;br /&gt;
75 75 75 75 75~/pp~&lt;br /&gt;
&lt;br /&gt;
15h|Water supply|~pp~76 76&lt;br /&gt;
&lt;br /&gt;
77 77~/pp~&lt;br /&gt;
&lt;br /&gt;
16h|Water tower|~pp~78~/pp~&lt;br /&gt;
&lt;br /&gt;
17h|Factory (sub-tropical)|~pp~79 7B&lt;br /&gt;
&lt;br /&gt;
7A 7C&lt;br /&gt;
&lt;br /&gt;
79 7B&lt;br /&gt;
&lt;br /&gt;
7A 7C~/pp~|~pp~79 7B 79 7B&lt;br /&gt;
&lt;br /&gt;
7A 7C 7A 7C~/pp~&lt;br /&gt;
&lt;br /&gt;
18h|Farm (sub-tropical)|~pp~25 21 23&lt;br /&gt;
&lt;br /&gt;
25 22 26&lt;br /&gt;
&lt;br /&gt;
24 24 26~/pp~|~pp~23 25 25&lt;br /&gt;
&lt;br /&gt;
24 21 25&lt;br /&gt;
&lt;br /&gt;
24 22 26&lt;br /&gt;
&lt;br /&gt;
23 26 26~/pp~|~pp~24 23 21&lt;br /&gt;
&lt;br /&gt;
24 26 22&lt;br /&gt;
&lt;br /&gt;
25 26 25&lt;br /&gt;
&lt;br /&gt;
25 25 23~/pp~&lt;br /&gt;
&lt;br /&gt;
19h|Lumber mill|~pp~7D 7F&lt;br /&gt;
&lt;br /&gt;
7E 80~/pp~&lt;br /&gt;
&lt;br /&gt;
1Ah|Candyfloss forest|~pp~81 81 81 81&lt;br /&gt;
&lt;br /&gt;
81 81 81 81&lt;br /&gt;
&lt;br /&gt;
81 81 81 81&lt;br /&gt;
&lt;br /&gt;
81 81 81 81&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; 81 81~/pp~|~pp~81 81 81 81 81&lt;br /&gt;
&lt;br /&gt;
81 81 81 81 81&lt;br /&gt;
&lt;br /&gt;
81 81 81 81 81&lt;br /&gt;
&lt;br /&gt;
81 81 81 81 81&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; 81 81 81~/pp~&lt;br /&gt;
&lt;br /&gt;
1Bh|Sweet factory|~pp~83 85&lt;br /&gt;
&lt;br /&gt;
84 86 83 85&lt;br /&gt;
&lt;br /&gt;
83 85 84 86&lt;br /&gt;
&lt;br /&gt;
84 86~/pp~|~pp~83 85 83 85&lt;br /&gt;
&lt;br /&gt;
84 86 84 86&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; 83 85&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; 84 86~/pp~&lt;br /&gt;
&lt;br /&gt;
1Ch|Battery farm|~pp~87 87 87 87 87&lt;br /&gt;
&lt;br /&gt;
87 87 87 87 87&lt;br /&gt;
&lt;br /&gt;
87 87 87 87 87&lt;br /&gt;
&lt;br /&gt;
87 87 87 87 87~/pp~&lt;br /&gt;
&lt;br /&gt;
1Dh|Cola wells|~pp~89 89&lt;br /&gt;
&lt;br /&gt;
89 89 89&lt;br /&gt;
&lt;br /&gt;
89 89 89~/pp~|~pp~ &amp;amp;nbsp; 89&lt;br /&gt;
&lt;br /&gt;
89 89 89&lt;br /&gt;
&lt;br /&gt;
89 89&lt;br /&gt;
&lt;br /&gt;
89~/pp~&lt;br /&gt;
&lt;br /&gt;
1Eh|Toy shop|~pp~8A 8C&lt;br /&gt;
&lt;br /&gt;
8B 8D~/pp~&lt;br /&gt;
&lt;br /&gt;
1Fh|Toy factory|~pp~93 93 93 92&lt;br /&gt;
&lt;br /&gt;
8E 8F 90 91~/pp~&lt;br /&gt;
&lt;br /&gt;
20h|Plastic fountains|~pp~94&lt;br /&gt;
&lt;br /&gt;
97&lt;br /&gt;
&lt;br /&gt;
9A~/pp~|~pp~94 97 9A~/pp~&lt;br /&gt;
&lt;br /&gt;
21h|Fizzy drink factory|~pp~9C 9E&lt;br /&gt;
&lt;br /&gt;
9D 9F~/pp~&lt;br /&gt;
&lt;br /&gt;
22h|Bubble generator|~pp~A3 A3 A3&lt;br /&gt;
&lt;br /&gt;
A0 A1 A2&lt;br /&gt;
&lt;br /&gt;
A3 A3 A3&lt;br /&gt;
&lt;br /&gt;
A0 A1 A2~/pp~&lt;br /&gt;
&lt;br /&gt;
23h|Toffee quarry|~pp~A4 A5 A6~/pp~&lt;br /&gt;
&lt;br /&gt;
24h|Sugar mine|~pp~A7 A9 AB AD&lt;br /&gt;
&lt;br /&gt;
A8 AA AC AE~/pp~||&lt;br /&gt;
&lt;br /&gt;
(*) Oil rigs are slightly special industries, since they have industry &amp;amp;quot;tile&amp;amp;quot; FFh, which doesn&#039;t create anything on the landscape, but the tile is still checked, and construction fails if it isn&#039;t a clear water tile. These special tiles are marked with &amp;amp;quot;xx&amp;amp;quot;. The north corner of the industry is marked with &amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;[ ]&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;.&lt;/div&gt;</summary>
		<author><name>Orudge</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=DefaultHouseProps&amp;diff=925</id>
		<title>DefaultHouseProps</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=DefaultHouseProps&amp;diff=925"/>
		<updated>2011-06-12T21:18:31Z</updated>

		<summary type="html">&lt;p&gt;Orudge: 2 revisions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Default property values for TTD&#039;s houses&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=Default House Properties=&lt;br /&gt;
&lt;br /&gt;
Default property values for TTD&#039;s houses&lt;br /&gt;
&lt;br /&gt;
This page is largely a copy of housedata.html, from &amp;lt;nowiki&amp;gt;http://users.tt-forums.net/csaboka/ttdpatch/housetut.zip&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/nowiki&amp;gt; &lt;br /&gt;
&lt;br /&gt;
This list contains all properties of default TTD house types, allowing you to know what will be copied to your new house ID when you set its property 8, and can also be used for reference when deciding what properties your new house should have. House names are taken from Marcin Grzegorczyk&#039;s &amp;amp;quot;Transport Tycoon Deluxe savegame internals&amp;amp;quot; file, which has more descriptive names than the original TTD ones. Unfortunately, even these names aren&#039;t unique, either. The &amp;amp;quot;Flags&amp;amp;quot; column lists what will be set to your new building&#039;s property 9 (that&#039;s why their church and stadium flags aren&#039;t set). Negative goods acceptance means that the building accepts food/candy instead of goods/fizzy drinks. &amp;amp;quot;None&amp;amp;quot; in the max. year column means that the building type never becomes obsolete. The rest of the columns is pretty self-explanatory.&lt;br /&gt;
&lt;br /&gt;
|| ID| Name| Climates | Town zones| Flags| Min. build year| Max. build year| Population| Mail generation| Passenger acceptance (in 1/8 units)| Mail acceptance (in 1/8 units)| Goods/food acceptance (in 1/8 units)| Remove ratings decrease| Remove cost multiplier&lt;br /&gt;
&lt;br /&gt;
00h| tall office block| temperate| 4| 01h| 1963 | none| 187| 70| 8| 3| 4| 140| 150&lt;br /&gt;
&lt;br /&gt;
01h| office block| temperate| 3, 4| 01h| 1957| none| 85| 55 | 8| 3| 4| 130| 140&lt;br /&gt;
&lt;br /&gt;
02h| small block of flats| temperate | 1, 2, 3| 01h| 1968| none| 40| 20| 8| 3| 1 | 90| 100&lt;br /&gt;
&lt;br /&gt;
03h| church| temperate| 0, 1, 2, 3| 01h| 1930 | none| 5| 2| 2| 0| 0| 230| 90&lt;br /&gt;
&lt;br /&gt;
04h| large office block| temperate, sub-arctic, subtropical| 4| 21h| 1975| none| 220| 85| 10| 4| 6| 160| 160&lt;br /&gt;
&lt;br /&gt;
05h| large office block| snow | 4| 21h| 1975| none| 220| 85| 10| 4| 6 | 160| 160&lt;br /&gt;
&lt;br /&gt;
06h| town houses| temperate| 0, 1, 2, 3| 01h| 1930| none| 30| 12| 4| 1| 0| 80| 80&lt;br /&gt;
&lt;br /&gt;
07h| hotel (N part)| temperate| 2, 4| 08h| 1959| none| 140| 22 | 6| 1| 2| 150| 180&lt;br /&gt;
&lt;br /&gt;
08h| hotel (E part)| | | 00h| 1959| none| 0| 22| 6| 1| 2| 150 | 180&lt;br /&gt;
&lt;br /&gt;
09h| statue| temperate, sub-arctic, subtropical| 3, 4| 01h| 1945| none | 0| 0| 2| 0| 0| 40| 65&lt;br /&gt;
&lt;br /&gt;
0Ah | fountain | temperate, sub-arctic, subtropical| 4| 01h| 1945| none| 0| 0| 2 | 0| 0| 40| 65&lt;br /&gt;
&lt;br /&gt;
0Bh| park (with a pond)| temperate| 2 | 01h| 1930| none| 0| 0| 2| 0| 0| 75 | 60&lt;br /&gt;
&lt;br /&gt;
0Ch| park (with an alley)| temperate| 3| 01h| 1935| none| 0| 0| 2| 0| 0| 75| 60&lt;br /&gt;
&lt;br /&gt;
0Dh | office block | temperate| 3, 4| 01h| 1951| none| 150| 65| 8 | 2| 4| 110| 130&lt;br /&gt;
&lt;br /&gt;
0Eh| shops and offices 1| temperate| 2, 3, 4 | 01h| 1930| 1960| 95| 48| 6| 2| 3| 100 | 110&lt;br /&gt;
&lt;br /&gt;
0Fh| shops and offices 2| temperate| 2, 3, 4| 01h| 1930| 1960 | 95| 48| 6| 2| 3| 100| 105&lt;br /&gt;
&lt;br /&gt;
10h | shops and offices 3 | temperate| 2, 3, 4| 01h| 1930| 1960| 95| 48| 6 | 2| 3| 100| 107&lt;br /&gt;
&lt;br /&gt;
11h| modern office building| temperate, sub-arctic, subtropical| 4 | 01h| 1977| none| 130| 50| 10| 3| 6| 150 | 200&lt;br /&gt;
&lt;br /&gt;
12h| warehouse| temperate| 4| 01h| 1983| none | 6| 10| 6| 3| 8| 110| 145&lt;br /&gt;
&lt;br /&gt;
13h | office block (with spiral stairway) | temperate| 4| 01h| 1985| none| 110| 55| 6| 2| 6| 110| 155&lt;br /&gt;
&lt;br /&gt;
14h| stadium (N part)| temperate| 0, 1, 2, 3| 10h| 1930| none| 65| 5| 4| 0| 0| 300 | 250&lt;br /&gt;
&lt;br /&gt;
15h| stadium (E part)| | | 00h| 1930| none| 0 | 5| 4| 0| 0| 300| 250&lt;br /&gt;
&lt;br /&gt;
16h| stadium (W part) | | | 00h| 1930| none| 0| 5| 4| 0| 0 | 300| 250&lt;br /&gt;
&lt;br /&gt;
17h| stadium (S part)| | | 00h| 1930| none | 0| 5| 4| 0| 0| 300| 250&lt;br /&gt;
&lt;br /&gt;
18h | old houses | temperate| 0, 1| 01h| 1930| 1951| 15| 6| 3 | 1| 0| 75| 70&lt;br /&gt;
&lt;br /&gt;
19h| cottages| temperate| 0| 01h| 1930| 1952| 12| 7| 3| 1| 0| 75 &amp;amp;nbsp; | 75&lt;br /&gt;
&lt;br /&gt;
1Ah| houses| temperate| 0, 1, 2, 3| 01h| 1931| none | 13| 8| 3| 1| 0| 75| 71&lt;br /&gt;
&lt;br /&gt;
1Bh &amp;amp;nbsp;| flats | temperate| 2, 3, 4| 01h| 1935| none| 100| 35| 7 &amp;amp;nbsp;| 2| 2| 100| 135&lt;br /&gt;
&lt;br /&gt;
1Ch| tall office block| temperate| 2, 3, 4 | 01h| 1963| none| 170| 50| 8| 3| 3| 170 | 145&lt;br /&gt;
&lt;br /&gt;
1Dh| shops and offices| temperate| 2, 3, 4| 01h| 1930| 1955 | 100| 40| 6| 2| 3| 135| 132&lt;br /&gt;
&lt;br /&gt;
1Eh | shops and offices | temperate, subtropical| 2, 4| 01h| 1973| none| 180| 64| 8 &amp;amp;nbsp;| 3| 3| 180| 155&lt;br /&gt;
&lt;br /&gt;
1Fh| theatre| temperate| 3, 4 | 01h| 1930| none| 35| 23| 8| 2| 2| 230 | 220&lt;br /&gt;
&lt;br /&gt;
20h| stadium (modern style, N part)| temperate, sub-arctic, subtropical| 0, 1, 2, 3| 10h| 1958| none | 65| 5| 4| 0| 0| 300| 250&lt;br /&gt;
&lt;br /&gt;
21h | stadium (modern style, E part) | | | 00h| 1958| none| 0| 5| 4| 0 | 0| 300| 250&lt;br /&gt;
&lt;br /&gt;
22h| stadium (modern style, W part)| | | 00h| 1958 | none| 0| 5| 4| 0| 0| 300| 250&lt;br /&gt;
&lt;br /&gt;
23h| stadium (modern style, S part)| | | 00h| 1958| none| 0| 5| 4 | 0| 0| 300| 250&lt;br /&gt;
&lt;br /&gt;
24h| offices (&#039;vertical tube&#039; style)| temperate, sub-arctic, subtropical| 3, 4 | 01h| 2000| none| 140| 65| 8| 3| 2| 250 | 170&lt;br /&gt;
&lt;br /&gt;
25h| houses| sub-arctic| 0, 1| 01h| 1930| 1960 | 15| 6| 3| 1| -1| 75| 70&lt;br /&gt;
&lt;br /&gt;
26h | houses | snow| 0, 1| 01h| 1930| 1960| 15| 6| 3 | 1| -1| 75| 70&lt;br /&gt;
&lt;br /&gt;
27h| cinema| temperate| 2, 3, 4 | 01h| 1945| none| 35| 23| 8| 2| 2| 230 | 210&lt;br /&gt;
&lt;br /&gt;
28h| shopping mall (N part)| temperate| 1, 2, 3, 4| 10h| 1983| none | 180| 5| 8| 2| 3| 300| 250&lt;br /&gt;
&lt;br /&gt;
29h &amp;amp;nbsp;| shopping mall (E part) | | | 00h| 1983| none| 0| 5| 8| 2 | 3| 300| 250&lt;br /&gt;
&lt;br /&gt;
2Ah| shopping mall (W part)| | | 00h| 1983| none| 0| 5| 8| 2| 3| 300| 250&lt;br /&gt;
&lt;br /&gt;
2Bh| shopping mall (S part)| | | 00h| 1983| none| 0| 5| 8 | 2| 3| 300| 250&lt;br /&gt;
&lt;br /&gt;
2Ch| flats| sub-arctic| 2, 3, 4| 01h| 1930| none| 80| 20| 5| 2| -2| 90| 100&lt;br /&gt;
&lt;br /&gt;
2Dh| flats| snow| 2, 3, 4| 01h| 1930| none | 80| 20| 5| 2| -2| 90| 100&lt;br /&gt;
&lt;br /&gt;
2Eh | houses | sub-arctic| 0, 1, 2, 3| 01h| 1930| none| 16| 6| 3| 1| -2| 70| 70&lt;br /&gt;
&lt;br /&gt;
2Fh| houses| snow| 0, 1, 2, 3 | 01h| 1930| none| 16| 6| 3| 1| -2| 70 | 70&lt;br /&gt;
&lt;br /&gt;
30h| houses| sub-arctic| 0, 1, 2| 01h| 1930| 1963 | 14| 6| 3| 1| -2| 70| 80&lt;br /&gt;
&lt;br /&gt;
31h | houses | snow| 0, 1, 2| 01h| 1930| 1963| 14| 6| 3 | 1| -2| 70| 80&lt;br /&gt;
&lt;br /&gt;
32h| tall office block| sub-arctic, subtropical| 3, 4 | 01h| 1966| none| 135| 60| 8| 3| 4| 120| 150&lt;br /&gt;
&lt;br /&gt;
33h| tall office block| snow| 3, 4| 01h| 1966| none | 135| 60| 8| 3| 4| 120| 150&lt;br /&gt;
&lt;br /&gt;
34h | tall office block | sub-arctic| 3, 4| 01h| 1970| none| 170| 70| 9 | 3| 4| 130| 170&lt;br /&gt;
&lt;br /&gt;
35h| tall office block| snow| 3, 4 | 01h| 1970| none| 170| 70| 9| 3| 4| 130 | 170&lt;br /&gt;
&lt;br /&gt;
36h| tall office block| sub-arctic, subtropical| 3, 4| 01h| 1974| none | 210| 80| 10| 3| 5| 140| 200&lt;br /&gt;
&lt;br /&gt;
37h | tall office block | snow| 3, 4| 01h| 1974| none| 210| 80| 10 | 3| 5| 140| 200&lt;br /&gt;
&lt;br /&gt;
38h| houses| sub-arctic| 0 | 01h| 1930| none| 10| 5| 2| 1| -1| 60| 60&lt;br /&gt;
&lt;br /&gt;
39h| houses| snow| 0| 01h| 1930| none | 10| 5| 2| 1| -1| 60| 60&lt;br /&gt;
&lt;br /&gt;
3Ah | shops and offices | sub-arctic| 1, 2, 3, 4| 01h| 1930| none| 25| 20| 3 | 1| -1| 80| 100&lt;br /&gt;
&lt;br /&gt;
3Bh| shops and offices| snow| 1, 2, 3, 4 | 01h| 1930| none| 25| 20| 3| 1| -1| 80 | 100&lt;br /&gt;
&lt;br /&gt;
3Ch| church| sub-arctic| 0, 1, 2, 3| 01h| 1930| none | 6| 2| 2| 0| 0| 230| 85&lt;br /&gt;
&lt;br /&gt;
3Dh &amp;amp;nbsp;| church | snow| 0, 1, 2, 3| 01h| 1930| none| 6| 2| 2| 0| 0| 230| 85&lt;br /&gt;
&lt;br /&gt;
3Eh| houses| sub-arctic| 0, 1, 2 | 01h| 1930| none| 17| 7| 3| 1| -1| 80| 80&lt;br /&gt;
&lt;br /&gt;
3Fh| houses| snow| 0, 1, 2| 01h| 1930| none | 17| 7| 3| 1| -1| 80| 80&lt;br /&gt;
&lt;br /&gt;
40h | shops and offices | sub-arctic| 2, 3, 4| 01h| 1930| 1960| 90| 45| 6 | 2| 3| 110| 140&lt;br /&gt;
&lt;br /&gt;
41h| shops and offices| snow| 2, 3, 4 | 01h| 1930| 1960| 90| 45| 6| 2| 3| 110 | 140&lt;br /&gt;
&lt;br /&gt;
42h| hotel (N part)| sub-arctic| 2, 3, 4| 08h| 1972| none | 140| 25| 6| 1| -3| 160| 160&lt;br /&gt;
&lt;br /&gt;
43h | hotel (E part) | | | 00h| 1972| none| 0| 25| 6| 1 | 2| 160| 160&lt;br /&gt;
&lt;br /&gt;
44h| hotel (N part)| snow| 2, 3, 4| 08h | 1972| none| 140| 25| 6| 1| -3| 160| 160&lt;br /&gt;
&lt;br /&gt;
45h| hotel (E part)| | | 00h| 1972| none| 0| 25| 6| 1| 2| 160| 160&lt;br /&gt;
&lt;br /&gt;
46h| shops and offices| sub-arctic, subtropical | 2, 3, 4| 01h| 1963| none| 105| 50| 7| 2| 3 | 105| 130&lt;br /&gt;
&lt;br /&gt;
47h| shops and offices| snow| 2, 3, 4| 01h| 1963 | none| 105| 50| 7| 2| 3| 105| 130&lt;br /&gt;
&lt;br /&gt;
48h| tall office block| sub-arctic| 3, 4| 01h| 1978| none| 190| 75 | 9| 3| 4| 135| 190&lt;br /&gt;
&lt;br /&gt;
49h| tall office block| snow| 3, 4| 01h| 1978| none| 190| 75| 9| 3| 4| 135| 190&lt;br /&gt;
&lt;br /&gt;
4Ah| tall office block (N part)| sub-arctic| 2, 3, 4| 04h| 1967| none| 250| 60| 7| 2| 2| 200| 140&lt;br /&gt;
&lt;br /&gt;
4Bh| tall office block (W part)| | | 00h| 1967| none| 0| 60| 7 | 2| 2| 200| 140&lt;br /&gt;
&lt;br /&gt;
4Ch| tall office block (N part)| snow| 2, 3, 4| 04h| 1967| none| 250| 60| 7| 2| 2| 200 | 140&lt;br /&gt;
&lt;br /&gt;
4Dh| tall office block (W part)| | | 00h| 1967| none| 0 | 60| 7| 2| 2| 200| 140&lt;br /&gt;
&lt;br /&gt;
4Eh| houses (with a tree in a corner)| subtropical| 1, 2, 3, 4| 01h| 1930| none| 16| 6| 3| 1| -2| 80| 80&lt;br /&gt;
&lt;br /&gt;
4Fh| houses| subtropical| 1, 2, 3, 4| 01h | 1930| none| 16| 6| 3| 1| -2| 80| 80&lt;br /&gt;
&lt;br /&gt;
50h| houses| subtropical| 1, 2, 3, 4| 01h| 1930| none| 16| 5| 3| 1| -2| 80| 80&lt;br /&gt;
&lt;br /&gt;
51h| houses (suburb-type) | subtropical| 0| 01h| 1930| none| 7| 4| 3| 1| -1| 30| 30&lt;br /&gt;
&lt;br /&gt;
52h| flats| subtropical| 2, 3, 4| 01h| 1930| none| 45| 15| 6| 2| 1| 95| 130&lt;br /&gt;
&lt;br /&gt;
53h| church| subtropical| 1, 2, 3| 01h| 1930| none| 8 | 3| 2| 0| 0| 200| 90&lt;br /&gt;
&lt;br /&gt;
54h| houses (with two trees in front)| subtropical| 1, 2, 3, 4| 01h| 1930| none| 18| 7| 3| 1 | -2| 80| 80&lt;br /&gt;
&lt;br /&gt;
55h| flats| subtropical| 2, 3, 4| 01h | 1973| none| 90| 24| 6| 2| 1| 95| 110&lt;br /&gt;
&lt;br /&gt;
56h| flats| subtropical| 2, 3, 4| 01h| 1962| none| 120| 25| 6| 2| 1| 95| 120&lt;br /&gt;
&lt;br /&gt;
57h| tall office block (N part) | subtropical| 3, 4| 04h| 1984| none| 250| 80| 8| 3| 4| 140| 190&lt;br /&gt;
&lt;br /&gt;
58h| tall office block (W part)| subtropical| | 00h| 1984 | none| 0| 80| 8| 3| 4| 140| 190&lt;br /&gt;
&lt;br /&gt;
59h| flats| subtropical| 2, 3, 4| 01h| 1930| none| 80| 23| 6| 2| 1| 95| 110&lt;br /&gt;
&lt;br /&gt;
5Ah| tall office block| subtropical| 3, 4| 01h| 1993| none| 180| 90| 8| 3| 4| 150| 180&lt;br /&gt;
&lt;br /&gt;
5Bh| church| toyland| 0, 1, 2, 3, 4| 01h| 1930| none| 8| 3| 2| 0| 0| 200| 90&lt;br /&gt;
&lt;br /&gt;
5Ch| toyland houses| toyland| 0, 1, 2, 3, 4| 01h| 1930| none| 18| 5 | 6| 2| 2| 90| 90&lt;br /&gt;
&lt;br /&gt;
5Dh| toyland houses| toyland | 0, 1| 01h| 1930| none| 7| 3| 3| 1| 1| 50| 70&lt;br /&gt;
&lt;br /&gt;
5Eh| toyland houses| toyland| 0, 1, 2, 3| 01h| 1930| none| 15| 6| 3| 1| 2| 75| 80&lt;br /&gt;
&lt;br /&gt;
5Fh| toyland houses| toyland| 0, 1, 2, 3| 01h| 1930| none| 17| 6 | 3| 1| 2| 75| 80&lt;br /&gt;
&lt;br /&gt;
60h| toyland houses| toyland | 0, 1, 2, 3| 01h| 1930| none| 19| 6| 3| 1| 2 | 75| 80&lt;br /&gt;
&lt;br /&gt;
61h| toyland houses| toyland| 0, 1, 2, 3| 01h| 1930| none| 21| 6| 3| 1| 2| 75| 80&lt;br /&gt;
&lt;br /&gt;
62h| tall office block| toyland| 2, 3, 4| 01h| 1930| none| 75| 20 | 8| 4| 2| 130| 160&lt;br /&gt;
&lt;br /&gt;
63h| shoe house (N part)| toyland | 0, 1, 2, 3, 4| 08h| 1930| none| 35| 9| 4| 1| 2 | 80| 90&lt;br /&gt;
&lt;br /&gt;
64h| shoe house (E part)| | | 00h| 1930| none | 0| 0| 4| 1| 2| 80| 90&lt;br /&gt;
&lt;br /&gt;
65h | tall office block | toyland| 2, 3, 4| 01h| 1930| none| 85| 18| 8 | 4| 2| 130| 150&lt;br /&gt;
&lt;br /&gt;
66h| igloo| toyland| 0 | 01h| 1930| none| 11| 3| 3| 1| 1| 45 &amp;amp;nbsp;| 60&lt;br /&gt;
&lt;br /&gt;
67h| tepees| toyland| 0| 01h| 1930| none | 10| 3| 3| 1| 1| 45| 60&lt;br /&gt;
&lt;br /&gt;
68h| shops and offices | toyland| 2, 3, 4| 01h| 1930| none| 67| 22| 8 | 4| -4| 130| 140&lt;br /&gt;
&lt;br /&gt;
69h| shops and offices| toyland| 2, 3, 4 | 01h| 1930| none| 86| 23| 8| 4| -4| 130 | 145&lt;br /&gt;
&lt;br /&gt;
6Ah| tall office block| toyland| 2, 3, 4| 01h| 1930| none| 95| 28| 8| 4| 2| 130| 165&lt;br /&gt;
&lt;br /&gt;
6Bh | statue | toyland| 2, 3, 4| 01h| 1930| none| 30| 10| 4 | 1| 2| 70| 90&lt;br /&gt;
&lt;br /&gt;
6Ch| teapot-house| toyland| 0, 1, 2, 3, 4| 01h| 1930| none| 25| 8| 3| 1| 2| 65| 75&lt;br /&gt;
&lt;br /&gt;
6Dh| piggy-bank| toyland| 0, 1, 2, 3, 4| 01h| 1930| none| 18| 7| 3| 2| -4| 95| 85&lt;br /&gt;
&lt;br /&gt;
||&lt;/div&gt;</summary>
		<author><name>Orudge</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=CargoDefaultProps&amp;diff=922</id>
		<title>CargoDefaultProps</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=CargoDefaultProps&amp;diff=922"/>
		<updated>2011-06-12T21:18:31Z</updated>

		<summary type="html">&lt;p&gt;Orudge: 4 revisions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Default property values for TTD&#039;s cargo types&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=Default cargo properties for TTD=&lt;br /&gt;
&lt;br /&gt;
Default property values for TTD&#039;s cargo types&lt;br /&gt;
&lt;br /&gt;
This is the data TTD fills the 12 first cargo type slots with when starting a new game. The slots marked &amp;amp;quot;--unused--&amp;amp;quot; will still be initialized to these values, they just won&#039;t be used anywhere.&lt;br /&gt;
&lt;br /&gt;
==Temperate==&lt;br /&gt;
&lt;br /&gt;
||Name|Slot# (ID)|Bit# (08)|Icon (0E)|Weight (0F)|Penalty1 (10)|Penalty2 (11)|Price (12)|Color (13)|Color on graph (14)&lt;br /&gt;
&lt;br /&gt;
Passengers|00|00|4297|1|0|24|3185|98h|98h&lt;br /&gt;
&lt;br /&gt;
Coal|01|01|4298|16|7|255|5916|06h|06h&lt;br /&gt;
&lt;br /&gt;
Mail|02|02|4299|4|20|90|4550|0Fh|0Fh&lt;br /&gt;
&lt;br /&gt;
Oil|03|03|4300|16|25|255|4437|AEh|AEh&lt;br /&gt;
&lt;br /&gt;
Livestock|04|04|4301|3|4|18|4322|D0h|D0h&lt;br /&gt;
&lt;br /&gt;
Goods|05|05|4302|8|5|28|6144|C2h|C2h&lt;br /&gt;
&lt;br /&gt;
Grain|06|06|4303|16|4|40|4778|BFh|BFh&lt;br /&gt;
&lt;br /&gt;
Wood|07|07|4304|16|15|255|5005|37h|54h&lt;br /&gt;
&lt;br /&gt;
Iron Ore|08|08|4305|16|9|255|5120|B8h|B8h&lt;br /&gt;
&lt;br /&gt;
Steel|09|09|4306|16|7|255|5688|0Ah|0Ah&lt;br /&gt;
&lt;br /&gt;
Valuables|0A|0A|4307|2|1|32|7509|BFh|CAh&lt;br /&gt;
&lt;br /&gt;
--unused--|0B|1B|2|0|0|30|5688|30h|01h&lt;br /&gt;
&lt;br /&gt;
Paper (*)|0B|1B|4313|16|7|60|5461|30h|01h||&lt;br /&gt;
&lt;br /&gt;
(*) Stats if moreindustriesperclimate on. These are for reference only; moreindustriesperclimate is automatically disabled if newcargos is on.&lt;br /&gt;
&lt;br /&gt;
==Arctic==&lt;br /&gt;
&lt;br /&gt;
||Name|Slot# (ID)|Bit# (08)|Icon (0E)|Weight (0F)|Penalty1 (10)|Penalty2 (11)|Price (12)|Color (13)|Color on graph (14)&lt;br /&gt;
&lt;br /&gt;
Passengers|00|00|4297|1|0|24|3185|98h|98h&lt;br /&gt;
&lt;br /&gt;
Coal|01|01|4298|16|7|255|5916|06h|06h&lt;br /&gt;
&lt;br /&gt;
Mail|02|02|4299|4|20|90|4550|0Fh|0Fh&lt;br /&gt;
&lt;br /&gt;
Oil|03|03|4300|16|25|255|4437|AEh|AEh&lt;br /&gt;
&lt;br /&gt;
Livestock|04|04|4301|3|4|18|4322|D0h|D0h&lt;br /&gt;
&lt;br /&gt;
Goods|05|05|4302|8|5|28|6144|C2h|C2h&lt;br /&gt;
&lt;br /&gt;
Wheat|06|06|4303|16|4|40|4778|BFh|BFh&lt;br /&gt;
&lt;br /&gt;
Wood|07|07|4304|16|15|255|5005|37h|54h&lt;br /&gt;
&lt;br /&gt;
--unused--|08|1C|2|0|9|255|5120|B8h|B8h&lt;br /&gt;
&lt;br /&gt;
Paper|09|0B|4313|16|7|60|5461|0Ah|0Ah&lt;br /&gt;
&lt;br /&gt;
Gold|0A|0A|4307|8|10|40|5802|BFh|CAh&lt;br /&gt;
&lt;br /&gt;
Food|0B|0C|4312|16|0|30|5688|30h|01h||&lt;br /&gt;
&lt;br /&gt;
==Tropic==&lt;br /&gt;
&lt;br /&gt;
||Name|Slot# (ID)|Bit# (08)|Icon (0E)|Weight (0F)|Penalty1 (10)|Penalty2 (11)|Price (12)|Color (13)|Color on graph (14)&lt;br /&gt;
&lt;br /&gt;
Passengers|00|00|4297|1|0|24|3185|98h|98h&lt;br /&gt;
&lt;br /&gt;
Rubber|01|10|4314|16|2|20|4437|06h|06h&lt;br /&gt;
&lt;br /&gt;
Mail|02|02|4299|4|20|90|4550|0Fh|0Fh&lt;br /&gt;
&lt;br /&gt;
Oil|03|03|4300|16|25|255|4892|AEh|AEh&lt;br /&gt;
&lt;br /&gt;
Fruit|04|0D|4308|16|0|15|4209|D0h|D0h&lt;br /&gt;
&lt;br /&gt;
Goods|05|05|4302|8|5|28|6144|C2h|C2h&lt;br /&gt;
&lt;br /&gt;
Maize|06|06|4303|16|4|40|4322|BFh|BFh&lt;br /&gt;
&lt;br /&gt;
Wood|07|07|4304|16|15|255|7964|37h|54h&lt;br /&gt;
&lt;br /&gt;
Copper Ore|08|0E|4309|16|12|255|4892|B8h|B8h&lt;br /&gt;
&lt;br /&gt;
Water|09|0F|4310|16|20|80|4664|0Ah|0Ah&lt;br /&gt;
&lt;br /&gt;
Diamonds|0A|0A|4311|2|10|255|5802|BFh|CAh&lt;br /&gt;
&lt;br /&gt;
Food|0B|0C|4312|16|0|30|5688|30h|01h||&lt;br /&gt;
&lt;br /&gt;
==Toyland==&lt;br /&gt;
&lt;br /&gt;
||Name|Slot# (ID)|Bit# (08)|Icon (0E)|Weight (0F)|Penalty1 (10)|Penalty2 (11)|Price (12)|Color (13)|Color on graph (14)&lt;br /&gt;
&lt;br /&gt;
Passengers|00|00|4297|1|0|24|3185|98h|98h&lt;br /&gt;
&lt;br /&gt;
Sugar|01|11|4316|16|20|255|4437|06h|06h&lt;br /&gt;
&lt;br /&gt;
Mail|02|02|4299|4|20|90|4550|0Fh|0Fh&lt;br /&gt;
&lt;br /&gt;
Toys|03|12|4317|2|25|255|5574|AEh|AEh&lt;br /&gt;
&lt;br /&gt;
Batteries|04|13|4323|4|2|30|4322|D0h|D0h&lt;br /&gt;
&lt;br /&gt;
Candy|05|14|4315|5|8|40|6144|C2h|C2h&lt;br /&gt;
&lt;br /&gt;
Toffee|06|15|4320|16|14|60|4778|BFh|BFh&lt;br /&gt;
&lt;br /&gt;
Cola|07|16|4310|16|5|75|4892|37h|54h&lt;br /&gt;
&lt;br /&gt;
Cotton Candy|08|17|4318|16|10|25|5005|B8h|B8h&lt;br /&gt;
&lt;br /&gt;
Bubbles|09|18|4321|1|20|80|5077|0Ah|0Ah&lt;br /&gt;
&lt;br /&gt;
Plastic|0A|19|4322|16|30|255|4664|BFh|CAh&lt;br /&gt;
&lt;br /&gt;
Fizzy Drinks|0B|1A|4319|2|30|5|6250|30h|01h||&lt;/div&gt;</summary>
		<author><name>Orudge</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=DebuggingGRFCode&amp;diff=909</id>
		<title>DebuggingGRFCode</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=DebuggingGRFCode&amp;diff=909"/>
		<updated>2011-06-12T19:23:34Z</updated>

		<summary type="html">&lt;p&gt;Orudge: 6 revisions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Tools for debugging problems in GRF code&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=DebuggingGRFCode=&lt;br /&gt;
&lt;br /&gt;
For the most part, writing NFO code, especially var.action 2 chains, is done by trial-and-error until it works. To help with this process, TTDPatch and OpenTTD provide various debugging tools.&lt;br /&gt;
&lt;br /&gt;
OpenTTD nightly versions from r19723 and up include multiple newgrf debugging tools, including &#039;inspect&#039; and a sprite aligner. &amp;amp;nbsp;OpenTTD newgrf debugging tools are described in the OpenTTD manual: &amp;lt;nowiki&amp;gt;http://wiki.openttd.org/NewGRF_Debugging&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/nowiki&amp;gt; &lt;br /&gt;
&lt;br /&gt;
TTDPatch nightly versions from r663 and up include a sort of GRF debugger that displays what is going on.&lt;br /&gt;
&lt;br /&gt;
To activate the debugger, use the sign cheat &amp;amp;quot;Cht: grfdebug 1 &amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;amp;lt;feature&amp;amp;gt; &amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;amp;lt;id&amp;amp;gt; &amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;amp;lt;callback&amp;amp;gt;]]]&amp;amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The &amp;amp;quot;1&amp;amp;quot; is there to activate the debugger. This creates a file &amp;amp;quot;grfdebug.log&amp;amp;quot; (deleting any existing version first) to which all following debug information is written. The optional feature, id and callback values specify what to log. If specified, only the given feature, id and callback are logged. Note that the values have to be entered in &#039;&#039;decimal&#039;&#039;, despite being hex everywhere else. When a value is missing or is equal to 255, it is not checked for a match. If the cheat fails due to &amp;amp;quot;invalid parameter&amp;amp;quot;, it means the file &amp;amp;quot;grfdebug.log&amp;amp;quot; could not be created, possibly because a file of the same name exists but is not writable. If it fails with &amp;amp;quot;unknown cheat&amp;amp;quot;, the given version does not have the GRF debugger built in (only nightly versions have it, not releases because it slows down graphics processing a little even when not used).&lt;br /&gt;
&lt;br /&gt;
For instance, &amp;amp;quot;Cht: grfdebug 1 1 255 18&amp;amp;quot; logs callback 12 (load amount, decimal 18) for all road vehicles.&lt;br /&gt;
&lt;br /&gt;
Due to the logging the game will become very slow when the debugger is active, so it is best to enable it in paused mode only, and to only briefly unpause if necessary. To trigger redrawing the graphics that are currently on the screen, press &amp;amp;quot;t&amp;amp;quot; (transparent mode) once. Otherwise, if the graphics in question are shown in a window, moving that window a small amount will also trigger redrawing them and call any callbacks necessary to display it.&lt;br /&gt;
&lt;br /&gt;
When the problematic graphics have been displayed, turn off the debugger again with &amp;amp;quot;Cht: grfdebug&amp;amp;quot;. This closes the &amp;amp;quot;grfdebug.log&amp;amp;quot; file, which may then be examined for the following entries. For help in interpreting the debug lines, ))DaleStan[[]]DaleStan[[ has written a [http://www.tt-forums.net/viewtopic.php?p=573250#573250|tool] to parse the &amp;amp;quot;grfdebug.log&amp;amp;quot; file into a more descriptive text file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;-+GET &amp;amp;nbsp;cccciiff &amp;amp;lt;grfid&amp;amp;gt;+-&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Written at the start when determining the sprite/callback result for feature ff, ID ii in callback cccc (callback is 0 if none, or 1 when determining random triggers). The given GRFID is the one owning the action 3 in question.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;-+ACT2 &amp;amp;lt;sprite&amp;amp;gt; 00000000+-&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When processing a regular, random or variational action 2. The sprite number is the sprite number in the .NFO file minus one, given in hex.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;-+RND &amp;amp;nbsp;&amp;amp;lt;value&amp;amp;gt; &amp;amp;lt;rndbits&amp;amp;gt;+-&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In a random action 2, the random value is &amp;amp;lt;value&amp;amp;gt; with &amp;amp;lt;rndbits&amp;amp;gt; being the bits used to choose the next action 2.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;-+VAR &amp;amp;nbsp;&amp;amp;lt;value&amp;amp;gt; &amp;amp;lt;adjusted&amp;amp;gt;+-&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In a variational action 2, the variable value has been computed as &amp;amp;lt;value&amp;amp;gt;, and &amp;amp;lt;adjusted&amp;amp;gt; will be used after shift/and/add/mod/div adjustments were applied. Note that this is a DWORD value, but only the BYTE/WORD part will be used depending on the var.action 2 type.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;-+RSLT &amp;amp;lt;result&amp;amp;gt; 00000000+-&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A callback result has been computed. When not in a callback, this causes the sprite determination to fail and default sprites to be used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;-+SPRT &amp;amp;lt;sprite&amp;amp;gt; 00000000+-&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A sprite number has been computed. When in a callback, this causes the callback to fail if it isn&#039;t following a RSLT line indicating a valid callback result.&lt;br /&gt;
&lt;br /&gt;
Since the value is mapped into TTD&#039;s sprite number space, it is not directly related to sprite numbers in the NFO file. To translate the returned sprite number to an action 1 block sprite, it is necessary to have this grf file be loaded first in newgrf(w).cfg. Then the sprite numbers of action 1 blocks will be allocated consecutively starting from the base number (see below) for each feature.&lt;br /&gt;
&lt;br /&gt;
||Feature|Base number&lt;br /&gt;
&lt;br /&gt;
other|1324 (4900) Note: this includes all features not listed below as well as GRM sprite allocations&lt;br /&gt;
&lt;br /&gt;
Trains|4000 (16384)&lt;br /&gt;
&lt;br /&gt;
Road vehicles|6CDC (27868)&lt;br /&gt;
&lt;br /&gt;
Aircraft|99B8 (39352)&lt;br /&gt;
&lt;br /&gt;
Ships|BBCD (48077)&lt;br /&gt;
&lt;br /&gt;
Houses|DDE2 (56802)||&lt;br /&gt;
&lt;br /&gt;
The feature-specific base numbers are only valid if the extended sprite limit is active, otherwise all features use the &amp;amp;quot;other&amp;amp;quot; base number.&lt;br /&gt;
&lt;br /&gt;
For instance, the first sprite block of 32 (20 hex) sprites for a road vehicle would start at sprite 6CDC, then the following sprite block would start at 6CDC+20=6CFC.&lt;/div&gt;</summary>
		<author><name>Orudge</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=GrfLoadingStages&amp;diff=902</id>
		<title>GrfLoadingStages</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=GrfLoadingStages&amp;diff=902"/>
		<updated>2011-06-12T19:23:34Z</updated>

		<summary type="html">&lt;p&gt;Orudge: 7 revisions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Stages of loading a GRF file&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=The stages of loading a grf file=&lt;br /&gt;
&lt;br /&gt;
Processing of .grf files is done in several passes, most of which happen repeatedly, once per activations, which is whenever a game is started/loaded or the &amp;amp;quot;Apply&amp;amp;quot; button in the GRF Status Window is pressed. Each pass processes all files in the order they appear in the GRF Status Window.&lt;br /&gt;
&lt;br /&gt;
Essentially, initialization is a two-pass system (first resolve jump targets, then initialize everything) that happens only once, activation is a two-pass system (first define cargos and reserve GRM IDs, then activate) that happens multiple times, and testing is a one-pass system run per click on a red/green flag in the GRF Status Window.&lt;br /&gt;
&lt;br /&gt;
||Pass|Description&lt;br /&gt;
&lt;br /&gt;
Post-Load|Run once after loading all files. Initializes the targets of action 7&amp;amp;9 (to resolve goto jumps), ignores all other actions.&lt;br /&gt;
&lt;br /&gt;
Initialization|Run once after the post-load pass. Checks action 0 for validity, records action 1 sprite numbers, resolves action 2 references (to the sprite numbers within the grf file of action 1 sprites and references to variational/random action 2), executes actions 6, 9, B, D and F, initializes action 3, 4, 8 and 11, and ignores the rest of the actions (including in particular action 7).&lt;br /&gt;
&lt;br /&gt;
Reserve|Called just before activation, to reserve GRM IDs. Also applies action 0 for cargos to make cargo labels valid to check in action 7/9 independent of order of .grf files. Ignores all actions except action 0 (for cargos), 6, 7, 8, 9, B, D and E.&lt;br /&gt;
&lt;br /&gt;
Activate|Called during activation. Applies all actions except F and 10.&lt;br /&gt;
&lt;br /&gt;
Test|Called when user clicks to enable/disable file in the GRF Status Window to check which other files react to the change. Ignores all actions except 6, 7, 8, 9, B, D and E.||&lt;br /&gt;
&lt;br /&gt;
A .grf file is activated only if it was active when the game was started. If a game is loaded, only its active .grfs will be reactivated. A .grf file is considered active if its action 8 has been processed, i.e. its action 8 hasn&#039;t been skipped using an action 7.&lt;br /&gt;
&lt;br /&gt;
The following table shows exactly which actions are excuted in which passes (X=action executed, I=action initialized, empty=action ignored).&lt;br /&gt;
&lt;br /&gt;
||Action|Load|Init|Res|Act|Test|Notes&lt;br /&gt;
&lt;br /&gt;
0| |&amp;lt;center&amp;gt;X&amp;lt;/center&amp;gt;|&amp;lt;center&amp;gt;X*&amp;lt;/center&amp;gt;|&amp;lt;center&amp;gt;X&amp;lt;/center&amp;gt;| |During reservation stage especially cargo- and railtypes are reserved, so their existence can be tested by all GRFs in activation stage independent of loading order.&lt;br /&gt;
&lt;br /&gt;
1| |&amp;lt;center&amp;gt;I&amp;lt;/center&amp;gt;| |&amp;lt;center&amp;gt;X&amp;lt;/center&amp;gt;| |&lt;br /&gt;
&lt;br /&gt;
2| |&amp;lt;center&amp;gt;I&amp;lt;/center&amp;gt;| |&amp;lt;center&amp;gt;X&amp;lt;/center&amp;gt;| |&lt;br /&gt;
&lt;br /&gt;
3| |&amp;lt;center&amp;gt;I&amp;lt;/center&amp;gt;| |&amp;lt;center&amp;gt;X&amp;lt;/center&amp;gt;| |&lt;br /&gt;
&lt;br /&gt;
4| |&amp;lt;center&amp;gt;I&amp;lt;/center&amp;gt;| |&amp;lt;center&amp;gt;X&amp;lt;/center&amp;gt;| |&lt;br /&gt;
&lt;br /&gt;
5| | | |&amp;lt;center&amp;gt;X&amp;lt;/center&amp;gt;| |&lt;br /&gt;
&lt;br /&gt;
6| |&amp;lt;center&amp;gt;X&amp;lt;/center&amp;gt;|&amp;lt;center&amp;gt;X&amp;lt;/center&amp;gt;|&amp;lt;center&amp;gt;X*&amp;lt;/center&amp;gt;|&amp;lt;center&amp;gt;X&amp;lt;/center&amp;gt;|Processed during activation in a51 and later.&lt;br /&gt;
&lt;br /&gt;
7|&amp;lt;center&amp;gt;I&amp;lt;/center&amp;gt;| |&amp;lt;center&amp;gt;X&amp;lt;/center&amp;gt;|&amp;lt;center&amp;gt;X&amp;lt;/center&amp;gt;|&amp;lt;center&amp;gt;X&amp;lt;/center&amp;gt;|&lt;br /&gt;
&lt;br /&gt;
8| |&amp;lt;center&amp;gt;I&amp;lt;/center&amp;gt;|&amp;lt;center&amp;gt;X&amp;lt;/center&amp;gt;|&amp;lt;center&amp;gt;X&amp;lt;/center&amp;gt;|&amp;lt;center&amp;gt;X&amp;lt;/center&amp;gt;|When executed for an inactive file, skips remainder of file.&lt;br /&gt;
&lt;br /&gt;
9|&amp;lt;center&amp;gt;I&amp;lt;/center&amp;gt;|&amp;lt;center&amp;gt;X&amp;lt;/center&amp;gt;|&amp;lt;center&amp;gt;X&amp;lt;/center&amp;gt;|&amp;lt;center&amp;gt;X&amp;lt;/center&amp;gt;|&amp;lt;center&amp;gt;X&amp;lt;/center&amp;gt;|&lt;br /&gt;
&lt;br /&gt;
A| | | |&amp;lt;center&amp;gt;X&amp;lt;/center&amp;gt;| |&lt;br /&gt;
&lt;br /&gt;
B| |&amp;lt;center&amp;gt;X*&amp;lt;/center&amp;gt;|&amp;lt;center&amp;gt;X&amp;lt;/center&amp;gt;|&amp;lt;center&amp;gt;X&amp;lt;/center&amp;gt;|&amp;lt;center&amp;gt;X&amp;lt;/center&amp;gt;|Processed during initialization only if bit 7 of severity is set.&lt;br /&gt;
&lt;br /&gt;
C| | | | | |&lt;br /&gt;
&lt;br /&gt;
D| |&amp;lt;center&amp;gt;X&amp;lt;/center&amp;gt;|&amp;lt;center&amp;gt;X&amp;lt;/center&amp;gt;|&amp;lt;center&amp;gt;X&amp;lt;/center&amp;gt;|&amp;lt;center&amp;gt;X&amp;lt;/center&amp;gt;|&lt;br /&gt;
&lt;br /&gt;
E| | |&amp;lt;center&amp;gt;X&amp;lt;/center&amp;gt;|&amp;lt;center&amp;gt;X&amp;lt;/center&amp;gt;|&amp;lt;center&amp;gt;X&amp;lt;/center&amp;gt;|&lt;br /&gt;
&lt;br /&gt;
F| |&amp;lt;center&amp;gt;X&amp;lt;/center&amp;gt;| | | |&lt;br /&gt;
&lt;br /&gt;
10|&amp;lt;center&amp;gt;X&amp;lt;/center&amp;gt;| | | | |&lt;br /&gt;
&lt;br /&gt;
11| |&amp;lt;center&amp;gt;I&amp;lt;/center&amp;gt;| |&amp;lt;center&amp;gt;X&amp;lt;/center&amp;gt;| |&lt;br /&gt;
&lt;br /&gt;
12| | | |&amp;lt;center&amp;gt;X&amp;lt;/center&amp;gt;| | If TTDPatch encounters any Action12 during any stage (including &amp;amp;quot;Load&amp;amp;quot;), Unicode handling is enabled.&lt;br /&gt;
&lt;br /&gt;
13| | | |&amp;lt;center&amp;gt;X&amp;lt;/center&amp;gt;| |&lt;br /&gt;
&lt;br /&gt;
14| | | | | | Processed by OpenTTD only when scanning for files. Not processed during the normal loading/activation. ||&lt;/div&gt;</summary>
		<author><name>Orudge</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=StringCodes&amp;diff=894</id>
		<title>StringCodes</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=StringCodes&amp;diff=894"/>
		<updated>2011-06-12T19:23:34Z</updated>

		<summary type="html">&lt;p&gt;Orudge: 13 revisions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Description of characters in TTD&#039;s character set&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=String Codes=&lt;br /&gt;
&lt;br /&gt;
Texts in TTD are mostly in the Latin-1 (ISO-8859-1) character set (except when using UTF-8 encoding; see below), however a few characters are different. &amp;amp;nbsp;Also, some characters have special meaning. These are explained in the following table.&lt;br /&gt;
&lt;br /&gt;
||Range, hex|Meaning&lt;br /&gt;
&lt;br /&gt;
00..1F|Control characters, unused except for the following:&lt;br /&gt;
&lt;br /&gt;
|01 X offset in next byte of string (variable space)&lt;br /&gt;
&lt;br /&gt;
|0D New line&lt;br /&gt;
&lt;br /&gt;
|0E Set small font size&lt;br /&gt;
&lt;br /&gt;
|0F Set large font size&lt;br /&gt;
&lt;br /&gt;
|1F X and Y offsets in next two bytes of string&lt;br /&gt;
&lt;br /&gt;
20..7A| Latin-1 characters, from space &amp;amp;quot; &amp;amp;quot; up to lower case &amp;amp;quot;z&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
7B..87| Formatting instructions, all take their argument from the stack if not otherwise specified&lt;br /&gt;
&lt;br /&gt;
|7B Print dword&lt;br /&gt;
&lt;br /&gt;
|7C Print signed word&lt;br /&gt;
&lt;br /&gt;
|7D Print signed byte&lt;br /&gt;
&lt;br /&gt;
|7E Print unsigned word&lt;br /&gt;
&lt;br /&gt;
|7F Print dword in currency units&lt;br /&gt;
&lt;br /&gt;
|80 Print substring (text ID from stack)&lt;br /&gt;
&lt;br /&gt;
|81 Print substring (text ID in next 2 bytes of string)&lt;br /&gt;
&lt;br /&gt;
|82 Print date (day, month, year)&lt;br /&gt;
&lt;br /&gt;
|83 Print month and year&lt;br /&gt;
&lt;br /&gt;
|84 Print signed word in speed units&lt;br /&gt;
&lt;br /&gt;
|85 Discard next word from stack&lt;br /&gt;
&lt;br /&gt;
|86 Rotate down top 4 words on stack&lt;br /&gt;
&lt;br /&gt;
|87 Print signed word in litres&lt;br /&gt;
&lt;br /&gt;
88..98|Colour codes&lt;br /&gt;
&lt;br /&gt;
|88 Blue&lt;br /&gt;
&lt;br /&gt;
|89 Light Gray&lt;br /&gt;
&lt;br /&gt;
|8A Light Orange (&amp;amp;quot;Gold&amp;amp;quot;)&lt;br /&gt;
&lt;br /&gt;
|8B Red&lt;br /&gt;
&lt;br /&gt;
|8C Purple&lt;br /&gt;
&lt;br /&gt;
|8D ))Gray-Green[[]]Gray-Green[[&lt;br /&gt;
&lt;br /&gt;
|8E Orange&lt;br /&gt;
&lt;br /&gt;
|8F Green&lt;br /&gt;
&lt;br /&gt;
|90 Yellow&lt;br /&gt;
&lt;br /&gt;
|91 Light Green&lt;br /&gt;
&lt;br /&gt;
|92 ))Red-Brown[[]]Red-Brown[[&lt;br /&gt;
&lt;br /&gt;
|93 Brown&lt;br /&gt;
&lt;br /&gt;
|94 White&lt;br /&gt;
&lt;br /&gt;
|95 Light Blue&lt;br /&gt;
&lt;br /&gt;
|96 Dark Gray&lt;br /&gt;
&lt;br /&gt;
|97 Mauve (grayish purple)&lt;br /&gt;
&lt;br /&gt;
|98 Black&lt;br /&gt;
&lt;br /&gt;
99|Switch to company colour that follows in next byte (enabled by enhancegui)&lt;br /&gt;
&lt;br /&gt;
9A|Extended format code in next byte:&lt;br /&gt;
&lt;br /&gt;
|00 -or- 01 Display 64-bit value from stack in currency units&lt;br /&gt;
&lt;br /&gt;
|02 Ignore next colour byte. Multiple instances will skip multiple colour bytes.&lt;br /&gt;
&lt;br /&gt;
|03 WORD Push WORD onto the textref stack&lt;br /&gt;
&lt;br /&gt;
|04 BYTE Un-print the previous BYTE characters.&lt;br /&gt;
&lt;br /&gt;
|05 For internal use only. Not valid in GRF files.&lt;br /&gt;
&lt;br /&gt;
|06 Print byte in hex (since TTDPatch r2007)&lt;br /&gt;
&lt;br /&gt;
|07 Print word in hex (since TTDPatch r2007)&lt;br /&gt;
&lt;br /&gt;
|08 Print dword in hex (since TTDPatch r2007)&lt;br /&gt;
&lt;br /&gt;
|09 For internal use only. Usage in NewGRFs will most likely crash TTDPatch. (since TTDPatch r2128)&lt;br /&gt;
&lt;br /&gt;
|0A For internal use only. Usage in NewGRFs will most likely crash TTDPatch. (since TTDPatch r2128)&lt;br /&gt;
&lt;br /&gt;
|0B Print 64-bit value in hex (since TTDPatch r2178)&lt;br /&gt;
&lt;br /&gt;
|0C Print name of station with id in next textrefstack word (since TTDPatch r2178)&lt;br /&gt;
&lt;br /&gt;
|0D Print signed word in tonnes (since OpenTTD r21086)&lt;br /&gt;
&lt;br /&gt;
|0E Set gender of string, NewGRF internal ID in next byte. Must be first in a string (since OpenTTD r21209) (*)&lt;br /&gt;
&lt;br /&gt;
|0F Select case for next substring, NewGRF internal ID in next byte (since OpenTTD r21209) (*)&lt;br /&gt;
&lt;br /&gt;
|10 Begin choice list value, NewGRF internal ID in next byte (since OpenTTD r21211) (**)&lt;br /&gt;
&lt;br /&gt;
|11 Begin choice list default (since OpenTTD r21211) (**)&lt;br /&gt;
&lt;br /&gt;
|12 End choice list (since OpenTTD r21211) (**)&lt;br /&gt;
&lt;br /&gt;
|13 Begin gender choice list, stack offset of substring to get gender from in next byte (since OpenTTD r21211) (**)&lt;br /&gt;
&lt;br /&gt;
|14 Begin case choice list (since OpenTTD r21211) (**)&lt;br /&gt;
&lt;br /&gt;
|15 Begin plural choice list, stack offset of value to get plural for in next byte (since OpenTTD r21216) (***)&lt;br /&gt;
&lt;br /&gt;
9B..9D|Reserved&lt;br /&gt;
&lt;br /&gt;
9E..FF|Latin-1 characters, except for the following:&lt;br /&gt;
&lt;br /&gt;
|9E Euro character &amp;amp;quot;&amp;amp;euro;&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
|9F Capital Y umlaut &amp;amp;quot;&amp;amp;Yuml;&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
|A0 Scroll button up&lt;br /&gt;
&lt;br /&gt;
|AA Scroll button down&lt;br /&gt;
&lt;br /&gt;
|AC Tick mark&lt;br /&gt;
&lt;br /&gt;
|AD X mark&lt;br /&gt;
&lt;br /&gt;
|AF Scroll button right&lt;br /&gt;
&lt;br /&gt;
|B4 Train symbol&lt;br /&gt;
&lt;br /&gt;
|B5 Truck symbol&lt;br /&gt;
&lt;br /&gt;
|B6 Bus symbol&lt;br /&gt;
&lt;br /&gt;
|B7 Plane symbol&lt;br /&gt;
&lt;br /&gt;
|B8 Ship symbol&lt;br /&gt;
&lt;br /&gt;
|B9 Superscript -1&lt;br /&gt;
&lt;br /&gt;
|BC Small scroll button up&lt;br /&gt;
&lt;br /&gt;
|BD Small scroll button down||&lt;br /&gt;
&lt;br /&gt;
The formatting instructions must not be used except in strings that expect them, and then they may not be out of order (with the possible exception of code 86 shuffling the internal stack). When used improperly, they will most likely crash TTD. Code 81 is always safe to use (provided that the referenced text ID uses no unsafe formatting instructions either), and will insert the given text ID (e.g. &amp;amp;quot;\81\3D\A0&amp;amp;quot; will insert text ID A03D, &amp;amp;quot;\98Refit Aircraft&amp;amp;quot;). Note however that if you want to include e.g. ID D000/D400, the 00 byte will be considered the end of string, and this will therefore break if additional texts are supposed to follow in the action 4. DCxx IDs must not be included; neither codes 80 nor 81 correctly access DCxx IDs.&lt;br /&gt;
&lt;br /&gt;
Each formatting instructions removes its argument from the stack, so that the next one will receive the following bytes as arguments. Code 86 takes the top four words from the stack, let&#039;s call them W1 through W4, and reorders them as W4 W1 W2 W3. This is used for languages in which industries or stations should be named not &amp;amp;quot;Flinfingbury Power Plant&amp;amp;quot; but &amp;amp;quot;Power Plant Flinfingbury&amp;amp;quot;.&lt;br /&gt;
&lt;br /&gt;
(*) Maps a NewGRF internal gender or case ID to an OpenTTD gender or case. The internal ID is resolved to the appropriate OpenTTD gender or case at load time by means of the mapping. The first internal ID in the mapping that matches the ID from the string and has an existing OpenTTD gender or case is taken, i.e. the list of mappings is filtered by internal ID and existance of the OpenTTD gender/case and then the top element is used. When the gender or case ID is not known, or there is no existing OpenTTD gender or case with the mapped names the whole mapping is ignored and the default gender or case is taken.&lt;br /&gt;
&lt;br /&gt;
-=Example=-&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;~pp~// Gender translation table&lt;br /&gt;
&lt;br /&gt;
// Current OpenTTD German translation uses m, w, n and p but&lt;br /&gt;
&lt;br /&gt;
// support a (fictitious) previous version that used masculine,&lt;br /&gt;
&lt;br /&gt;
// feminine, neuter and plural as gender names.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;0 * 56 &amp;amp;nbsp; &amp;amp;nbsp; 00 08 01 01 02&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; &amp;amp;nbsp; 13&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;01 &amp;amp;quot;m&amp;amp;quot; 00&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;01 &amp;amp;quot;masculine&amp;amp;quot; 00&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;02 &amp;amp;quot;w&amp;amp;quot; 00&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;02 &amp;amp;quot;feminine&amp;amp;quot; 00&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;03 &amp;amp;quot;n&amp;amp;quot; 00&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;03 &amp;amp;quot;neuter&amp;amp;quot; 00&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;04 &amp;amp;quot;p&amp;amp;quot; 00&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;04 &amp;amp;quot;plural&amp;amp;quot; 00&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;00&lt;br /&gt;
&lt;br /&gt;
// Brauerei is a female word in German; this sets it as female.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;1 * 40 &amp;amp;nbsp; &amp;amp;nbsp; 04 0A 82 01 73 DC C3 9E 9A 0E 02 &amp;amp;quot;Brauerei&amp;amp;quot; 00&lt;br /&gt;
&lt;br /&gt;
~/pp~&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In this case OpenTTD would look for NewGRF internal ID 2 in the gender table. This would yield &amp;amp;quot;w&amp;amp;quot; and &amp;amp;quot;feminine&amp;amp;quot; as OpenTTD gender names. In current OpenTTD this would match &amp;amp;quot;w&amp;amp;quot;, in the fictitious older version of OpenTTD it will match &amp;amp;quot;feminine&amp;amp;quot;.&lt;br /&gt;
&lt;br /&gt;
(**) Maps an OpenTTD gender or case to the NewGRF internal gender or case ID. The mapping is resolved at load time by going through all cases or genders OpenTTD&#039;s translation knows an mapping these to NewGRF internal IDs. If mapping is found the default choice list item is chosen. This happens by filtering the mapping on the gender or case name and then the NewGRF internal ID of the top element is used.&lt;br /&gt;
&lt;br /&gt;
The choice list string codes are related and must be used in a specific manner:&lt;br /&gt;
&lt;br /&gt;
Genders: 9A 13 &amp;amp;lt;offset&amp;amp;gt; (9A 10 &amp;amp;lt;index&amp;amp;gt; &amp;amp;lt;string&amp;amp;gt;)+ 9A 11 &amp;amp;lt;default&amp;amp;gt; 9A 12&lt;br /&gt;
&lt;br /&gt;
Cases: 9A 14 (9A 10 &amp;amp;lt;ndex&amp;amp;gt; &amp;amp;lt;string&amp;amp;gt;)+ 9A 11 &amp;amp;lt;default&amp;amp;gt; 9A 12&lt;br /&gt;
&lt;br /&gt;
Plurals: 9A 13 &amp;amp;lt;offset&amp;amp;gt; (9A 10 &amp;amp;lt;index&amp;amp;gt; &amp;amp;lt;string&amp;amp;gt;)+ 9A 11 &amp;amp;lt;default&amp;amp;gt; 9A 12&lt;br /&gt;
&lt;br /&gt;
The offset is the stack location of the substring/value you want to get the gender/plural for. This is the real offset plus 80, i.e. an offset of 0 becomes 80 and an offset of 1 becomes 81 in the NFO.&lt;br /&gt;
&lt;br /&gt;
-=Example=-&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;~pp~// Assuming the translation table of the previous example&lt;br /&gt;
&lt;br /&gt;
// A string with a gender choice list and a stack item that gets resolved&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;2 * 29 &amp;amp;nbsp; &amp;amp;nbsp; 04 0A FF 01 1A DC &amp;amp;quot;D&amp;amp;quot; 9A 13 80 9A 10 1 &amp;amp;quot;er&amp;amp;quot; 9A 10 3 &amp;amp;quot;as&amp;amp;quot; 9A 11 &amp;amp;quot;ie&amp;amp;quot; 9A 12 &amp;amp;quot; &amp;amp;quot; 80 00&lt;br /&gt;
&lt;br /&gt;
~/pp~&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Imagine the &amp;amp;quot;Brauerei&amp;amp;quot; from the previous example being, as substring, on the stack. Then this string would resolve to &amp;amp;quot;Die Brauerei&amp;amp;quot;.&lt;br /&gt;
&lt;br /&gt;
What happens in OpenTTD is that whenever the &amp;amp;quot;begin gender choice list&amp;amp;quot; string code is found it will resolve the string at the given stack location. Of that resolved string the first character is compared to the &amp;amp;quot;set gender&amp;amp;quot; string code and if that is the case the (mapped) OpenTTD gender is retrieved. When there is &amp;amp;quot;set gender&amp;amp;quot; string code the first OpenTTD gender is used. After resolving the OpenTTD gender that gender is reverse mapped to a NewGRF internal ID. If that NewGRF internal ID exists in one of the &amp;amp;quot;choice list values&amp;amp;quot; that (sub)string is taken (up till the next choice list value/default). If there is no reverse mapping the string at the &amp;amp;quot;choice list default&amp;amp;quot; string code is used up till the &amp;amp;quot;end choice list&amp;amp;quot; string code. Further processing of the string happens after the choice list, i.e. the (sub)strings in the choice list may not contain any special string codes except colour codes.&lt;br /&gt;
&lt;br /&gt;
Case choice lists work in a similar matter, except that instead of resolving a case from a (sub)string we &amp;amp;quot;are&amp;amp;quot; the substring; the string that includes this substring has set a case using the &amp;amp;quot;select case&amp;amp;quot; string code. As such no offset has to be given to the choice list, but the rest works in the same way as gender choice lists.&lt;br /&gt;
&lt;br /&gt;
(***) The plural list works like a gender list, however you have to choose one &amp;amp;quot;mapping&amp;amp;quot; from value to plural index by setting the plural form using [[Action0GeneralVariables]] property 15.&lt;br /&gt;
&lt;br /&gt;
If, for example, plural form 0 is chosen using the [[Action0GeneralVariables]] property 15, then there are 2 plural indices. If the value at the stack with the given offset equals 1 you get plural index 1, otherwise plural index 2. These plural indices are the indices that are used in the choice lists.&lt;br /&gt;
&lt;br /&gt;
||Plural form|Plural index|Description&lt;br /&gt;
&lt;br /&gt;
0|Two forms:&lt;br /&gt;
&lt;br /&gt;
|1|1&lt;br /&gt;
&lt;br /&gt;
|2|rest&lt;br /&gt;
&lt;br /&gt;
1|Only one form:&lt;br /&gt;
&lt;br /&gt;
|1|every form&lt;br /&gt;
&lt;br /&gt;
2|Two forms:&lt;br /&gt;
&lt;br /&gt;
|1|0 or 1&lt;br /&gt;
&lt;br /&gt;
|2|rest&lt;br /&gt;
&lt;br /&gt;
3|Three forms:&lt;br /&gt;
&lt;br /&gt;
|1|ending in 1, but not ending in 11&lt;br /&gt;
&lt;br /&gt;
|2|0&lt;br /&gt;
&lt;br /&gt;
|3|rest&lt;br /&gt;
&lt;br /&gt;
4|Five forms:&lt;br /&gt;
&lt;br /&gt;
|1|1&lt;br /&gt;
&lt;br /&gt;
|2|2&lt;br /&gt;
&lt;br /&gt;
|3|3-6&lt;br /&gt;
&lt;br /&gt;
|4|7-10&lt;br /&gt;
&lt;br /&gt;
|5|rest&lt;br /&gt;
&lt;br /&gt;
5|Three forms:&lt;br /&gt;
&lt;br /&gt;
|1|ending in 1, but not ending in 11&lt;br /&gt;
&lt;br /&gt;
|2|ending in 2-9, but not ending in 1~91~2-9~93~&lt;br /&gt;
&lt;br /&gt;
|3|rest&lt;br /&gt;
&lt;br /&gt;
6|Three forms:&lt;br /&gt;
&lt;br /&gt;
|1|ending in 1, but not ending in 11&lt;br /&gt;
&lt;br /&gt;
|2|ending in 2-4, but not ending in 1~91~2-4~93~&lt;br /&gt;
&lt;br /&gt;
|3|rest&lt;br /&gt;
&lt;br /&gt;
7|Three forms:&lt;br /&gt;
&lt;br /&gt;
|1|0&lt;br /&gt;
&lt;br /&gt;
|2|ending in 2-4, but not ending in 1~91~2-4~93~&lt;br /&gt;
&lt;br /&gt;
|3|rest&lt;br /&gt;
&lt;br /&gt;
8|Four forms:&lt;br /&gt;
&lt;br /&gt;
|1|ending in 01&lt;br /&gt;
&lt;br /&gt;
|2|ending in 02&lt;br /&gt;
&lt;br /&gt;
|3|ending in 03 or ending in 04&lt;br /&gt;
&lt;br /&gt;
|4|rest&lt;br /&gt;
&lt;br /&gt;
9|Two forms:&lt;br /&gt;
&lt;br /&gt;
|1|ending in 1, but not ending in 11&lt;br /&gt;
&lt;br /&gt;
|2|ret&lt;br /&gt;
&lt;br /&gt;
10|Three forms:&lt;br /&gt;
&lt;br /&gt;
|1|1&lt;br /&gt;
&lt;br /&gt;
|2|2-4&lt;br /&gt;
&lt;br /&gt;
|3|rest&lt;br /&gt;
&lt;br /&gt;
11|Two forms:&lt;br /&gt;
&lt;br /&gt;
|1|ending in 0, 1, 3, 6, 7 and 8&lt;br /&gt;
&lt;br /&gt;
|2|ending in 2, 4, 5 and 9&lt;br /&gt;
&lt;br /&gt;
12|Four forms:&lt;br /&gt;
&lt;br /&gt;
|1|1&lt;br /&gt;
&lt;br /&gt;
|2|0 or ending in 02-10&lt;br /&gt;
&lt;br /&gt;
|3|ending in 11-19&lt;br /&gt;
&lt;br /&gt;
|4|rest||&lt;br /&gt;
&lt;br /&gt;
-=Example=-&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;~pp~// Gender translation table&lt;br /&gt;
&lt;br /&gt;
// Set the plural type to type 0&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;0 * 7 &amp;amp;nbsp; &amp;amp;nbsp; 00 08 01 01 02 15 00&lt;br /&gt;
&lt;br /&gt;
// In case of the first stack item being 1 use &amp;amp;quot;Tonne&amp;amp;quot;, otherwise use &amp;amp;quot;Tonnen&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;1 * 34 &amp;amp;nbsp; &amp;amp;nbsp; 04 0B 82 01 1A DC C3 9E &amp;amp;quot;\UE07C Tonne&amp;amp;quot; 9A 15 80 9A 10 01 &amp;amp;quot;&amp;amp;quot; 9A 11 &amp;amp;quot;n&amp;amp;quot; 9A 12 &amp;amp;quot; Sand&amp;amp;quot; 00&lt;br /&gt;
&lt;br /&gt;
~/pp~&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=UTF-8 support=&lt;br /&gt;
&lt;br /&gt;
Since 2.0.1 alpha 68, TTDPatch supports UTF-8 encoded input strings. Use [[Action12|action 12]] to define glyphs for the characters which do not exist in TTD&#039;s .grf files (possible since 2.0.1 alpha 73).&lt;br /&gt;
&lt;br /&gt;
To indicate that a given string is in UTF-8 encoding, start it with a capital thorn (U+00DE, &amp;amp;quot;&amp;amp;THORN;&amp;amp;quot;), encoded in UTF-8 as usual with the bytes C3 9E. &amp;amp;nbsp;Everything in that string is then assumed to be in UTF-8 encoding, with the following exception: if characters appear that are not valid UTF-8 sequences, they are assumed to be one of the above control codes. This way, it is still possible to write, e.g. &amp;amp;quot;&amp;amp;THORN;Capacity: &amp;amp;quot; 87 &amp;amp;quot;litres&amp;amp;quot;, without encoding the 87 in UTF-8 (which would instead refer to a character installed at codepoint U+0087).&lt;br /&gt;
&lt;br /&gt;
In addition, this allows using the non-Unicode characters 9E, 9F, A0, AA, AC, AD, AF, B4..B9, BC and BD from the above list, which when encoded with UTF-8 would refer to their respective Unicode characters instead. To use the TTD characters, simply do not encode them using UTF-8 but enter them directly as bytes. This causes them to be an invalid UTF-8 sequence and allows TTDPatch to use the correct symbol from TTD&#039;s fonts.&lt;br /&gt;
&lt;br /&gt;
Alternatively, these symbols (in fact, the TTD character set from 20 to FF) are also mapped into the Unicode Private Use Area at U+E0xx, so to encode the truck symbol, you may use character U+E0B5 as well, although this will probably be an unprintable character in most text editors.&lt;br /&gt;
&lt;br /&gt;
Finally, characters 7B..7F no longer function as the above formatting instructions, but will display regular glyphs instead (provided they are installed; by default TTD has none at these codepoints). Instead, to use these formatting instructions in UTF-8 mode, you need to use their Private Use Area codepoint at U+E0xx.&lt;br /&gt;
&lt;br /&gt;
Basically there are three possibilities:&lt;br /&gt;
# Characters U+E020..U+E0FF &amp;amp;nbsp;in the E0xx Private Use Area do what their respective character xx would do in TTD, as do the control characters below U+0020&lt;br /&gt;
# All other valid UTF-8 sequences display actual glyphs, if they are available&lt;br /&gt;
# All invalid UTF-8 sequences do what their individual bytes would do in TTD&lt;br /&gt;
&lt;br /&gt;
To summarize, here&#039;s a handy table:&lt;br /&gt;
&lt;br /&gt;
||Character|Encoding in UTF-8 mode|Meaning&lt;br /&gt;
&lt;br /&gt;
7E|7E|Unicode Character &#039;TILDE&#039; (~)&lt;br /&gt;
&lt;br /&gt;
82|82 (invalid UTF-8)|Print date (day, month, year)&lt;br /&gt;
&lt;br /&gt;
82|C2 82|Display glyph for U+0082&lt;br /&gt;
&lt;br /&gt;
AC|AC (invalid UTF-8)|Tick mark&lt;br /&gt;
&lt;br /&gt;
AC|C2 AC|Unicode Character &#039;NOT SIGN&#039; (&amp;amp;not;)&lt;br /&gt;
&lt;br /&gt;
E07E|EE 81 BE|Print unsigned word&lt;br /&gt;
&lt;br /&gt;
E082|EE 82 82|Print date (day, month, year)&lt;br /&gt;
&lt;br /&gt;
E0AC|EE 82 AC|Tick mark||&lt;/div&gt;</summary>
		<author><name>Orudge</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=SpriteErrors&amp;diff=880</id>
		<title>SpriteErrors</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=SpriteErrors&amp;diff=880"/>
		<updated>2011-06-12T19:23:33Z</updated>

		<summary type="html">&lt;p&gt;Orudge: 13 revisions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Explanation of all possible sprite error messages&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=Sprite Errors=&lt;br /&gt;
&lt;br /&gt;
This page explains the error messages that may be generated due to incorrect pseudo-sprite data. &amp;amp;nbsp;It does not include the messages that are only generated by an action B.&lt;br /&gt;
&lt;br /&gt;
==List of sprite error messages==&lt;br /&gt;
&lt;br /&gt;
||Message|Meaning&lt;br /&gt;
&lt;br /&gt;
More sprites than specified|The file contains more sprites than the first pseudo-sprite specifies&lt;br /&gt;
&lt;br /&gt;
Out of memory|TTDPatch could not read the sprite data because it ran out of memory&lt;br /&gt;
&lt;br /&gt;
Wrong .grf version|Either the action 8 requires a different grf version, the file had no action 8, or the sprite uses an action that is not valid before action 8&lt;br /&gt;
&lt;br /&gt;
Cannot load more sprites|The limit of active sprites has been exceeded&lt;br /&gt;
&lt;br /&gt;
File &#039;&#039;file&#039;&#039; not found|The file was listed in newgrf(w).cfg but could not be opened&lt;br /&gt;
&lt;br /&gt;
File &#039;&#039;file&#039;&#039; has invalid sprite #&#039;&#039;nr&#039;&#039; (code &#039;&#039;code&#039;&#039;/&#039;&#039;pos&#039;&#039;)|The pseudo-sprite data of the given sprite is invalid; see below for explanation of &#039;&#039;code&#039;&#039; and &#039;&#039;pos&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
File &#039;&#039;file&#039;&#039; is not a TTDPatch graphics file|The first sprite is not a pseudo-sprite, or it does not specify a valid number of sprites||&lt;br /&gt;
&lt;br /&gt;
==Invalid sprites==&lt;br /&gt;
&lt;br /&gt;
A pseudo-sprite has invalid data, if it does not follow the specifications of each action correctly. &amp;amp;nbsp;In this error message (starting with TTDPatch 2.0.1 alpha 46), the &#039;&#039;code&#039;&#039; defines what kind of error occured, and the position &#039;&#039;pos&#039;&#039; in most cases (i.e. whenever possible) points to the byte in the sprite that follows the one which triggered the error.&lt;br /&gt;
&lt;br /&gt;
||Code|Meaning&lt;br /&gt;
&lt;br /&gt;
1|A real graphics sprite was encountered where a pseudo sprite was expected&lt;br /&gt;
&lt;br /&gt;
2|The sprite uses an unknown action type, or this action is not valid before an action 8&lt;br /&gt;
&lt;br /&gt;
3|The sprite uses an unknown feature&lt;br /&gt;
&lt;br /&gt;
4|The sprite refers to an invalid vehicle/text/town part ID&lt;br /&gt;
&lt;br /&gt;
5|The sprite has fewer bytes than expected&lt;br /&gt;
&lt;br /&gt;
6|The given property number in action 0 is invalid&lt;br /&gt;
&lt;br /&gt;
7|The sprite block following action 1/5/A/11/12 would go beyond the end of the file&lt;br /&gt;
&lt;br /&gt;
8|The feature types of action 1, 2 and 3 don&#039;t agree&lt;br /&gt;
&lt;br /&gt;
9|Action 2 refers to an action 1 sprite block that is beyond the size of the most recent action 1 sprite block&lt;br /&gt;
&lt;br /&gt;
10|Action 2 (var./random) or action 3 refers to an action 2 cargo-id that hasn&#039;t been defined yet&lt;br /&gt;
&lt;br /&gt;
11|Action 7, 9 or D refers to an invalid variable number&lt;br /&gt;
&lt;br /&gt;
12|The grf file has multiple action 8 entries&lt;br /&gt;
&lt;br /&gt;
13|Action A refers to an invalid TTD sprite&lt;br /&gt;
&lt;br /&gt;
14|The message severity in action B is invalid&lt;br /&gt;
&lt;br /&gt;
15|The message type in action B is invalid&lt;br /&gt;
&lt;br /&gt;
16|The operation type in action D is invalid&lt;br /&gt;
&lt;br /&gt;
17|Action E is trying to deactivate an already-active file&lt;br /&gt;
&lt;br /&gt;
18|The number of parts in action F is zero when it must not be zero&lt;br /&gt;
&lt;br /&gt;
19|The bit number or count in action F is invalid&lt;br /&gt;
&lt;br /&gt;
20|Invalid label number in action 10&lt;br /&gt;
&lt;br /&gt;
21|Resource not valid for action D (ID out of range, or invalid for this resource type)&lt;br /&gt;
&lt;br /&gt;
22|Multiple action 11 present in GRF file, there may only be one&lt;br /&gt;
&lt;br /&gt;
23|A sprite that is part of action 11 is not a binary include file&lt;br /&gt;
&lt;br /&gt;
24|Attempt to modify ID not reserved with GRM (only with experimentalfeatures.mandatorygrm on)&lt;br /&gt;
&lt;br /&gt;
25|Invalid font number in action 12&lt;br /&gt;
&lt;br /&gt;
26|Range crosses 128-character block, must be split&lt;br /&gt;
&lt;br /&gt;
27|Invalid property value in action 0&lt;br /&gt;
&lt;br /&gt;
28|Invalid condition type in action 7/9&lt;br /&gt;
&lt;br /&gt;
29|Invalid industry tile ID in industry layout&lt;br /&gt;
&lt;br /&gt;
30|Inconsistent industry layout size|&lt;br /&gt;
&lt;br /&gt;
31|Invalid subid in action3||&lt;br /&gt;
&lt;br /&gt;
Note, if you do not see the code or the position, you need to edit your ttdpttxt.txt file, and change the &amp;amp;quot;invalidsprite&amp;amp;quot; line into the following format (and then rerun mkpttxt.exe):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;-+invalidsprite=&amp;amp;quot;\94File \&amp;amp;quot;\80\&amp;amp;quot; has invalid sprite #\7c (code \7c/\7c).\00&amp;amp;quot;+-&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Resource conflicts==&lt;br /&gt;
&lt;br /&gt;
If a GRF file attempts to allocate a resource that is not available, it will be deactivated and the following message will be shown: &amp;amp;quot;GRF conflict with &amp;amp;lt;other-grf&amp;amp;gt; (resource &amp;amp;lt;r-id&amp;amp;gt; at sprite &amp;amp;lt;num&amp;amp;gt;)&amp;amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The following resources can cause conflicts. Numbers 0 and above are allocated by a GRM action D, negative numbers are automatically allocated by an action 0 (IDs), action 4 (persistent GRF texts) or actions 1/5/D/12 (sprites).&lt;br /&gt;
&lt;br /&gt;
||r-id(s)|Resource&lt;br /&gt;
&lt;br /&gt;
-12|Duplicate GRFID&lt;br /&gt;
&lt;br /&gt;
-11|Persistent GRF texts&lt;br /&gt;
&lt;br /&gt;
-10|New industries&lt;br /&gt;
&lt;br /&gt;
-9|New industry tiles&lt;br /&gt;
&lt;br /&gt;
-8|New houses&lt;br /&gt;
&lt;br /&gt;
-7|New stations&lt;br /&gt;
&lt;br /&gt;
-6|House sprites&lt;br /&gt;
&lt;br /&gt;
-5|Plane sprites&lt;br /&gt;
&lt;br /&gt;
-4|Ship sprites&lt;br /&gt;
&lt;br /&gt;
-3|Road vehicle sprites&lt;br /&gt;
&lt;br /&gt;
-2|Train sprites&lt;br /&gt;
&lt;br /&gt;
-1|&amp;amp;quot;Other&amp;amp;quot; sprites&lt;br /&gt;
&lt;br /&gt;
0..255|Vehicle IDs&lt;br /&gt;
&lt;br /&gt;
256..287|Cargo IDs&lt;br /&gt;
&lt;br /&gt;
288..319|Cargo bits||&lt;/div&gt;</summary>
		<author><name>Orudge</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=TextIDs&amp;diff=866</id>
		<title>TextIDs</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=TextIDs&amp;diff=866"/>
		<updated>2011-06-12T19:23:33Z</updated>

		<summary type="html">&lt;p&gt;Orudge: 14 revisions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;TextIDs to use for Action 4&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is a list of the text IDs in TTD (for action 4), originally compiled by A. Skrobov.&lt;br /&gt;
&lt;br /&gt;
You can use these Text IDs&lt;br /&gt;
* to change/translate TTD strings using action4 feature 48. (This is not supported by OpenTTD, nor will it ever.)&lt;br /&gt;
* to reference them in various action 0 properties, e.g. for house/industry/cargo names. (This is partly supported by OpenTTD.)&lt;br /&gt;
&lt;br /&gt;
Note: OpenTTD&#039;s string system is very different to the system of TTD and TTDPatch. It supports/requires plural forms, genders, cases and different number formattings, so complex strings which are combined from multiple parts are not interchangeable. Various strings also have changed their parameter order over time or got additional arguments.&lt;br /&gt;
&lt;br /&gt;
As such action 4 is not allowed to change any original strings in OpenTTD; translations are not done via NewGRF, but only via the [http://translator.openttd.org/|WebTranslator].&lt;br /&gt;
&lt;br /&gt;
In action 0 only a subset of the original strings can be accessed. These are more or less the string which have no additional parameters, e.g. plain cargo/house/industry names.&lt;br /&gt;
&lt;br /&gt;
{maketoc}&lt;br /&gt;
&lt;br /&gt;
=0000 General strings=&lt;br /&gt;
&lt;br /&gt;
0000 \94Cannot remove obstacles on land&lt;br /&gt;
&lt;br /&gt;
0001 \94Off edge of map&lt;br /&gt;
&lt;br /&gt;
0002 \94Too close to edge of map&lt;br /&gt;
&lt;br /&gt;
0003 \94Not enough cash - requires \7f&lt;br /&gt;
&lt;br /&gt;
0004 \94\7f&lt;br /&gt;
&lt;br /&gt;
0005 \8b\7f&lt;br /&gt;
&lt;br /&gt;
0006&lt;br /&gt;
&lt;br /&gt;
0007 \94Flat land required&lt;br /&gt;
&lt;br /&gt;
0008 \98Waiting: \94\80&lt;br /&gt;
&lt;br /&gt;
0009 \94\80&lt;br /&gt;
&lt;br /&gt;
000A \94\80\90 (en-route from&lt;br /&gt;
&lt;br /&gt;
000B \90\80)&lt;br /&gt;
&lt;br /&gt;
000C \98Accepts: \94&lt;br /&gt;
&lt;br /&gt;
000D \98Accepts: \8a&lt;br /&gt;
&lt;br /&gt;
000E&lt;br /&gt;
&lt;br /&gt;
000F Passengers&lt;br /&gt;
&lt;br /&gt;
0010 Coal&lt;br /&gt;
&lt;br /&gt;
0011 Mail&lt;br /&gt;
&lt;br /&gt;
0012 Oil&lt;br /&gt;
&lt;br /&gt;
0013 Livestock&lt;br /&gt;
&lt;br /&gt;
0014 Goods&lt;br /&gt;
&lt;br /&gt;
0015 Grain&lt;br /&gt;
&lt;br /&gt;
0016 Wood&lt;br /&gt;
&lt;br /&gt;
0017 Iron Ore&lt;br /&gt;
&lt;br /&gt;
0018 Steel&lt;br /&gt;
&lt;br /&gt;
0019 Valuables&lt;br /&gt;
&lt;br /&gt;
001A Copper Ore&lt;br /&gt;
&lt;br /&gt;
001B Maize&lt;br /&gt;
&lt;br /&gt;
001C Fruit&lt;br /&gt;
&lt;br /&gt;
001D Diamonds&lt;br /&gt;
&lt;br /&gt;
001E Food&lt;br /&gt;
&lt;br /&gt;
001F Paper&lt;br /&gt;
&lt;br /&gt;
0020 Gold&lt;br /&gt;
&lt;br /&gt;
0021 Water&lt;br /&gt;
&lt;br /&gt;
0022 Wheat&lt;br /&gt;
&lt;br /&gt;
0023 Rubber&lt;br /&gt;
&lt;br /&gt;
0024 Sugar&lt;br /&gt;
&lt;br /&gt;
0025 Toys&lt;br /&gt;
&lt;br /&gt;
0026 Sweets&lt;br /&gt;
&lt;br /&gt;
0027 Cola&lt;br /&gt;
&lt;br /&gt;
0028 Candyfloss&lt;br /&gt;
&lt;br /&gt;
0029 Bubbles&lt;br /&gt;
&lt;br /&gt;
002A Toffee&lt;br /&gt;
&lt;br /&gt;
002B Batteries&lt;br /&gt;
&lt;br /&gt;
002C Plastic&lt;br /&gt;
&lt;br /&gt;
002D Fizzy Drinks&lt;br /&gt;
&lt;br /&gt;
002E&lt;br /&gt;
&lt;br /&gt;
002F Passenger&lt;br /&gt;
&lt;br /&gt;
0030 Coal&lt;br /&gt;
&lt;br /&gt;
0031 Mail&lt;br /&gt;
&lt;br /&gt;
0032 Oil&lt;br /&gt;
&lt;br /&gt;
0033 Livestock&lt;br /&gt;
&lt;br /&gt;
0034 Goods&lt;br /&gt;
&lt;br /&gt;
0035 Grain&lt;br /&gt;
&lt;br /&gt;
0036 Wood&lt;br /&gt;
&lt;br /&gt;
0037 Iron Ore&lt;br /&gt;
&lt;br /&gt;
0038 Steel&lt;br /&gt;
&lt;br /&gt;
0039 Valuables&lt;br /&gt;
&lt;br /&gt;
003A Copper Ore&lt;br /&gt;
&lt;br /&gt;
003B Maize&lt;br /&gt;
&lt;br /&gt;
003C Fruit&lt;br /&gt;
&lt;br /&gt;
003D Diamond&lt;br /&gt;
&lt;br /&gt;
003E Food&lt;br /&gt;
&lt;br /&gt;
003F Paper&lt;br /&gt;
&lt;br /&gt;
0040 Gold&lt;br /&gt;
&lt;br /&gt;
0041 Water&lt;br /&gt;
&lt;br /&gt;
0042 Wheat&lt;br /&gt;
&lt;br /&gt;
0043 Rubber&lt;br /&gt;
&lt;br /&gt;
0044 Sugar&lt;br /&gt;
&lt;br /&gt;
0045 Toy&lt;br /&gt;
&lt;br /&gt;
0046 Sweet&lt;br /&gt;
&lt;br /&gt;
0047 Cola&lt;br /&gt;
&lt;br /&gt;
0048 Candyfloss&lt;br /&gt;
&lt;br /&gt;
0049 Bubble&lt;br /&gt;
&lt;br /&gt;
004A Toffee&lt;br /&gt;
&lt;br /&gt;
004B Battery&lt;br /&gt;
&lt;br /&gt;
004C Plastic&lt;br /&gt;
&lt;br /&gt;
004D Fizzy Drink&lt;br /&gt;
&lt;br /&gt;
004E&lt;br /&gt;
&lt;br /&gt;
004F | passenger&lt;br /&gt;
&lt;br /&gt;
0050 | tonne of coal&lt;br /&gt;
&lt;br /&gt;
0051 | bag of mail&lt;br /&gt;
&lt;br /&gt;
0052 \87 of oil&lt;br /&gt;
&lt;br /&gt;
0053 | item of livestock&lt;br /&gt;
&lt;br /&gt;
0054 | crate of goods&lt;br /&gt;
&lt;br /&gt;
0055 | tonne of grain&lt;br /&gt;
&lt;br /&gt;
0056 | tonne of wood&lt;br /&gt;
&lt;br /&gt;
0057 | tonne of iron ore&lt;br /&gt;
&lt;br /&gt;
0058 | tonne of steel&lt;br /&gt;
&lt;br /&gt;
0059 | bag of valuables&lt;br /&gt;
&lt;br /&gt;
005A | tonne of copper ore&lt;br /&gt;
&lt;br /&gt;
005B | tonne of maize&lt;br /&gt;
&lt;br /&gt;
005C | tonne of fruit&lt;br /&gt;
&lt;br /&gt;
005D | bag of diamonds&lt;br /&gt;
&lt;br /&gt;
005E | tonne of food&lt;br /&gt;
&lt;br /&gt;
005F | tonne of paper&lt;br /&gt;
&lt;br /&gt;
0060 | bag of gold&lt;br /&gt;
&lt;br /&gt;
0061 \87 of water&lt;br /&gt;
&lt;br /&gt;
0062 | tonne of wheat&lt;br /&gt;
&lt;br /&gt;
0063 \87 of rubber&lt;br /&gt;
&lt;br /&gt;
0064 | tonne of sugar&lt;br /&gt;
&lt;br /&gt;
0065 | toy&lt;br /&gt;
&lt;br /&gt;
0066 | bag of sweets&lt;br /&gt;
&lt;br /&gt;
0067 \87 of cola&lt;br /&gt;
&lt;br /&gt;
0068 | tonne of candyfloss&lt;br /&gt;
&lt;br /&gt;
0069 | bubble&lt;br /&gt;
&lt;br /&gt;
006A | tonne of toffee&lt;br /&gt;
&lt;br /&gt;
006B | battery&lt;br /&gt;
&lt;br /&gt;
006C \87 of plastic&lt;br /&gt;
&lt;br /&gt;
006D | fizzy drink&lt;br /&gt;
&lt;br /&gt;
006E&lt;br /&gt;
&lt;br /&gt;
006F | passengers&lt;br /&gt;
&lt;br /&gt;
0070 | tonnes of coal&lt;br /&gt;
&lt;br /&gt;
0071 | bags of mail&lt;br /&gt;
&lt;br /&gt;
0072 \87 of oil&lt;br /&gt;
&lt;br /&gt;
0073 | items of livestock&lt;br /&gt;
&lt;br /&gt;
0074 | crates of goods&lt;br /&gt;
&lt;br /&gt;
0075 | tonnes of grain&lt;br /&gt;
&lt;br /&gt;
0076 | tonnes of wood&lt;br /&gt;
&lt;br /&gt;
0077 | tonnes of iron ore&lt;br /&gt;
&lt;br /&gt;
0078 | tonnes of steel&lt;br /&gt;
&lt;br /&gt;
0079 | bags of valuables&lt;br /&gt;
&lt;br /&gt;
007A | tonnes of copper ore&lt;br /&gt;
&lt;br /&gt;
007B | tonnes of maize&lt;br /&gt;
&lt;br /&gt;
007C | tonnes of fruit&lt;br /&gt;
&lt;br /&gt;
007D | bags of diamonds&lt;br /&gt;
&lt;br /&gt;
007E | tonnes of food&lt;br /&gt;
&lt;br /&gt;
007F | tonnes of paper&lt;br /&gt;
&lt;br /&gt;
0080 | bags of gold&lt;br /&gt;
&lt;br /&gt;
0081 \87 of water&lt;br /&gt;
&lt;br /&gt;
0082 | tonnes of wheat&lt;br /&gt;
&lt;br /&gt;
0083 \87 of rubber&lt;br /&gt;
&lt;br /&gt;
0084 | tonnes of sugar&lt;br /&gt;
&lt;br /&gt;
0085 | toys&lt;br /&gt;
&lt;br /&gt;
0086 | bags of sweets&lt;br /&gt;
&lt;br /&gt;
0087 \87 of cola&lt;br /&gt;
&lt;br /&gt;
0088 | tonnes of candyfloss&lt;br /&gt;
&lt;br /&gt;
0089 | bubbles&lt;br /&gt;
&lt;br /&gt;
008A | tonnes of toffee&lt;br /&gt;
&lt;br /&gt;
008B | batteries&lt;br /&gt;
&lt;br /&gt;
008C \87 of plastic&lt;br /&gt;
&lt;br /&gt;
008D | fizzy drinks&lt;br /&gt;
&lt;br /&gt;
008E&lt;br /&gt;
&lt;br /&gt;
008F \0ePS&lt;br /&gt;
&lt;br /&gt;
0090 \0eCL&lt;br /&gt;
&lt;br /&gt;
0091 \0eML&lt;br /&gt;
&lt;br /&gt;
0092 \0eOL&lt;br /&gt;
&lt;br /&gt;
0093 \0eLV&lt;br /&gt;
&lt;br /&gt;
0094 \0eGD&lt;br /&gt;
&lt;br /&gt;
0095 \0eGR&lt;br /&gt;
&lt;br /&gt;
0096 \0eWD&lt;br /&gt;
&lt;br /&gt;
0097 \0eOR&lt;br /&gt;
&lt;br /&gt;
0098 \0eST&lt;br /&gt;
&lt;br /&gt;
0099 \0eVL&lt;br /&gt;
&lt;br /&gt;
009A \0eCO&lt;br /&gt;
&lt;br /&gt;
009B \0eMZ&lt;br /&gt;
&lt;br /&gt;
009C \0eFT&lt;br /&gt;
&lt;br /&gt;
009D \0eDM&lt;br /&gt;
&lt;br /&gt;
009E \0eFD&lt;br /&gt;
&lt;br /&gt;
009F \0ePR&lt;br /&gt;
&lt;br /&gt;
00A0 \0eGD&lt;br /&gt;
&lt;br /&gt;
00A1 \0eWR&lt;br /&gt;
&lt;br /&gt;
00A2 \0eWH&lt;br /&gt;
&lt;br /&gt;
00A3 \0eRB&lt;br /&gt;
&lt;br /&gt;
00A4 \0eSG&lt;br /&gt;
&lt;br /&gt;
00A5 \0eTY&lt;br /&gt;
&lt;br /&gt;
00A6 \0eSW&lt;br /&gt;
&lt;br /&gt;
00A7 \0eCL&lt;br /&gt;
&lt;br /&gt;
00A8 \0eCF&lt;br /&gt;
&lt;br /&gt;
00A9 \0eBU&lt;br /&gt;
&lt;br /&gt;
00AA \0eTF&lt;br /&gt;
&lt;br /&gt;
00AB \0eBA&lt;br /&gt;
&lt;br /&gt;
00AC \0ePL&lt;br /&gt;
&lt;br /&gt;
00AD \0eFZ&lt;br /&gt;
&lt;br /&gt;
00AE \94\83&lt;br /&gt;
&lt;br /&gt;
00AF \94\82&lt;br /&gt;
&lt;br /&gt;
00B0 \94Map - \80&lt;br /&gt;
&lt;br /&gt;
00B1 \94Game Options&lt;br /&gt;
&lt;br /&gt;
00B2 \90Message&lt;br /&gt;
&lt;br /&gt;
00B3 \90Message from \80&lt;br /&gt;
&lt;br /&gt;
00B4 \94Can&#039;t do this....&lt;br /&gt;
&lt;br /&gt;
00B5 \94Can&#039;t clear this area....&lt;br /&gt;
&lt;br /&gt;
00B6 \98Copyright \a9 1995 Chris Sawyer,All rights reserved&lt;br /&gt;
&lt;br /&gt;
00B7 \98Version 2.01.119 6th October 1995 17:19:21&lt;br /&gt;
&lt;br /&gt;
00B8 \98Designed &amp;amp; Programmed by Chris Sawyer&lt;br /&gt;
&lt;br /&gt;
00B9 \98Graphics by Simon Foster&lt;br /&gt;
&lt;br /&gt;
00BA \98Music by John Broomhall\0dSound Programming by Andrew Parton\0d\0dQuality Assurance:\0dAndrew Luckett,Don Witcombe,Craig Lear, Daniel Luton,Justin Manning,\0dJason Sampson,Darren Kirby,Phil ))McDonnell[[]]McDonnell[[,Patrice Stauder\0dInstallation by Tim Cannell\0dProducer: Mike Rudderham\0d\0dThanks to: Jacqui Lyons at Marjacq Micro\0d&lt;br /&gt;
&lt;br /&gt;
00BB \98Memory: {K ({K unused)&lt;br /&gt;
&lt;br /&gt;
00BC \98Memory Manager:\80\80\80\80\80&lt;br /&gt;
&lt;br /&gt;
00BD \98Processor: 80}86&lt;br /&gt;
&lt;br /&gt;
00BE \98Graphics:&lt;br /&gt;
&lt;br /&gt;
00BF VESA (&lt;br /&gt;
&lt;br /&gt;
00C0 ATI&lt;br /&gt;
&lt;br /&gt;
00C1 Trident&lt;br /&gt;
&lt;br /&gt;
00C2 Oak Technologies&lt;br /&gt;
&lt;br /&gt;
00C3 Tseng Labs&lt;br /&gt;
&lt;br /&gt;
00C4 Paradise&lt;br /&gt;
&lt;br /&gt;
00C5 \98\ad&lt;br /&gt;
&lt;br /&gt;
00C6 \89\ad&lt;br /&gt;
&lt;br /&gt;
00C7 \94Quit to DOS&lt;br /&gt;
&lt;br /&gt;
00C8 \98Yes&lt;br /&gt;
&lt;br /&gt;
00C9 \98No&lt;br /&gt;
&lt;br /&gt;
00CA \90Are you sure you want to abandon this game and quit to DOS ?&lt;br /&gt;
&lt;br /&gt;
00CB \981&lt;br /&gt;
&lt;br /&gt;
00CC \982&lt;br /&gt;
&lt;br /&gt;
00CD \983&lt;br /&gt;
&lt;br /&gt;
00CE \984&lt;br /&gt;
&lt;br /&gt;
00CF \985&lt;br /&gt;
&lt;br /&gt;
00D0 Nothing&lt;br /&gt;
&lt;br /&gt;
00D1 Dark Blue&lt;br /&gt;
&lt;br /&gt;
00D2 Pale Green&lt;br /&gt;
&lt;br /&gt;
00D3 Pink&lt;br /&gt;
&lt;br /&gt;
00D4 Yellow&lt;br /&gt;
&lt;br /&gt;
00D5 Red&lt;br /&gt;
&lt;br /&gt;
00D6 Light Blue&lt;br /&gt;
&lt;br /&gt;
00D7 Green&lt;br /&gt;
&lt;br /&gt;
00D8 Dark Green&lt;br /&gt;
&lt;br /&gt;
00D9 Blue&lt;br /&gt;
&lt;br /&gt;
00DA Cream&lt;br /&gt;
&lt;br /&gt;
00DB Mauve&lt;br /&gt;
&lt;br /&gt;
00DC Purple&lt;br /&gt;
&lt;br /&gt;
00DD Orange&lt;br /&gt;
&lt;br /&gt;
00DE Brown&lt;br /&gt;
&lt;br /&gt;
00DF Grey&lt;br /&gt;
&lt;br /&gt;
00E0 White&lt;br /&gt;
&lt;br /&gt;
00E1 \94Too many vehicles in game&lt;br /&gt;
&lt;br /&gt;
00E2 \98|&lt;br /&gt;
&lt;br /&gt;
00E3 \8b|&lt;br /&gt;
&lt;br /&gt;
00E4 \98Location&lt;br /&gt;
&lt;br /&gt;
00E5 Contours&lt;br /&gt;
&lt;br /&gt;
00E6 Vehicles&lt;br /&gt;
&lt;br /&gt;
00E7 Industries&lt;br /&gt;
&lt;br /&gt;
00E8 Routes&lt;br /&gt;
&lt;br /&gt;
00E9 Vegetation&lt;br /&gt;
&lt;br /&gt;
00EA Owners&lt;br /&gt;
&lt;br /&gt;
00EB \98\0eRoads&lt;br /&gt;
&lt;br /&gt;
00EC \98\0eRailways&lt;br /&gt;
&lt;br /&gt;
00ED \98\0eStations/Airports/Docks&lt;br /&gt;
&lt;br /&gt;
00EE \98\0eBuildings/Industries&lt;br /&gt;
&lt;br /&gt;
00EF \98\0eVehicles&lt;br /&gt;
&lt;br /&gt;
00F0 \98\0e100m&lt;br /&gt;
&lt;br /&gt;
00F1 \98\0e200m&lt;br /&gt;
&lt;br /&gt;
00F2 \98\0e300m&lt;br /&gt;
&lt;br /&gt;
00F3 \98\0e400m&lt;br /&gt;
&lt;br /&gt;
00F4 \98\0e500m&lt;br /&gt;
&lt;br /&gt;
00F5 \98\0eTrains&lt;br /&gt;
&lt;br /&gt;
00F6 \98\0eRoad Vehicles&lt;br /&gt;
&lt;br /&gt;
00F7 \98\0eShips&lt;br /&gt;
&lt;br /&gt;
00F8 \98\0eAircraft&lt;br /&gt;
&lt;br /&gt;
00F9 \98\0eTransport Routes&lt;br /&gt;
&lt;br /&gt;
00FA \98\0eCoal Mine&lt;br /&gt;
&lt;br /&gt;
00FB \98\0ePower Station&lt;br /&gt;
&lt;br /&gt;
00FC \98\0eForest&lt;br /&gt;
&lt;br /&gt;
00FD \98\0eSawmill&lt;br /&gt;
&lt;br /&gt;
00FE \98\0eOil Refinery&lt;br /&gt;
&lt;br /&gt;
00FF \98\0eFarm&lt;br /&gt;
&lt;br /&gt;
0100 \98\0eFactory&lt;br /&gt;
&lt;br /&gt;
0101 \98\0ePrinting Works&lt;br /&gt;
&lt;br /&gt;
0102 \98\0eOil Wells&lt;br /&gt;
&lt;br /&gt;
0103 \98\0eIron Ore Mine&lt;br /&gt;
&lt;br /&gt;
0104 \98\0eSteel Mill&lt;br /&gt;
&lt;br /&gt;
0105 \98\0eBank&lt;br /&gt;
&lt;br /&gt;
0106 \98\0ePaper Mill&lt;br /&gt;
&lt;br /&gt;
0107 \98\0eGold Mine&lt;br /&gt;
&lt;br /&gt;
0108 \98\0eFood Processing Plant&lt;br /&gt;
&lt;br /&gt;
0109 \98\0eDiamond Mine&lt;br /&gt;
&lt;br /&gt;
010A \98\0eCopper Ore Mine&lt;br /&gt;
&lt;br /&gt;
010B \98\0eFruit Plantation&lt;br /&gt;
&lt;br /&gt;
010C \98\0eRubber Plantation&lt;br /&gt;
&lt;br /&gt;
010D \98\0eWater Supply&lt;br /&gt;
&lt;br /&gt;
010E \98\0eWater Tower&lt;br /&gt;
&lt;br /&gt;
010F \98\0eLumber Mill&lt;br /&gt;
&lt;br /&gt;
0110 \98\0eCandyfloss Forest&lt;br /&gt;
&lt;br /&gt;
0111 \98\0eSweet Factory&lt;br /&gt;
&lt;br /&gt;
0112 \98\0eBattery Farm&lt;br /&gt;
&lt;br /&gt;
0113 \98\0eCola Wells&lt;br /&gt;
&lt;br /&gt;
0114 \98\0eToy Shop&lt;br /&gt;
&lt;br /&gt;
0115 \98\0eToy Factory&lt;br /&gt;
&lt;br /&gt;
0116 \98\0ePlastic Fountains&lt;br /&gt;
&lt;br /&gt;
0117 \98\0eFizzy Drink Factory&lt;br /&gt;
&lt;br /&gt;
0118 \98\0eBubble Generator&lt;br /&gt;
&lt;br /&gt;
0119 \98\0eToffee Quarry&lt;br /&gt;
&lt;br /&gt;
011A \98\0eSugar Mine&lt;br /&gt;
&lt;br /&gt;
011B \98\0eRailway Station&lt;br /&gt;
&lt;br /&gt;
011C \98\0eLorry Loading Bay&lt;br /&gt;
&lt;br /&gt;
011D \98\0eBus Station&lt;br /&gt;
&lt;br /&gt;
011E \98\0eAirport/Heliport&lt;br /&gt;
&lt;br /&gt;
011F \98\0eDock&lt;br /&gt;
&lt;br /&gt;
0120 \98\0eRough Land&lt;br /&gt;
&lt;br /&gt;
0121 \98\0eGrass Land&lt;br /&gt;
&lt;br /&gt;
0122 \98\0eBare Land&lt;br /&gt;
&lt;br /&gt;
0123 \98\0eFields&lt;br /&gt;
&lt;br /&gt;
0124 \98\0eTrees&lt;br /&gt;
&lt;br /&gt;
0125 \98\0eRocks&lt;br /&gt;
&lt;br /&gt;
0126 \98\0eWater&lt;br /&gt;
&lt;br /&gt;
0127 \98\0eNo Owner&lt;br /&gt;
&lt;br /&gt;
0128 \98\0eTowns&lt;br /&gt;
&lt;br /&gt;
0129 \98\0eIndustries&lt;br /&gt;
&lt;br /&gt;
012A \98\0eDesert&lt;br /&gt;
&lt;br /&gt;
012B \98\0eSnow&lt;br /&gt;
&lt;br /&gt;
012C \94Message&lt;br /&gt;
&lt;br /&gt;
012D \94\80&lt;br /&gt;
&lt;br /&gt;
012E \98Cancel&lt;br /&gt;
&lt;br /&gt;
012F \98OK&lt;br /&gt;
&lt;br /&gt;
0130 \98Rename&lt;br /&gt;
&lt;br /&gt;
0131 \94Too many names defined&lt;br /&gt;
&lt;br /&gt;
0132 \94Chosen name in use already&lt;br /&gt;
&lt;br /&gt;
0133 Pounds (\a3)&lt;br /&gt;
&lt;br /&gt;
0134 Dollars ($)&lt;br /&gt;
&lt;br /&gt;
0135 Franc (FF)&lt;br /&gt;
&lt;br /&gt;
0136 Deutschmark (DM)&lt;br /&gt;
&lt;br /&gt;
0137 Yen (\a5)&lt;br /&gt;
&lt;br /&gt;
0138 Peseta (Pt)&lt;br /&gt;
&lt;br /&gt;
0139 Imperial (miles)&lt;br /&gt;
&lt;br /&gt;
013A Metric (kilometres)&lt;br /&gt;
&lt;br /&gt;
013B \94...owned by \80&lt;br /&gt;
&lt;br /&gt;
013C \98Cargo&lt;br /&gt;
&lt;br /&gt;
013D \98Information&lt;br /&gt;
&lt;br /&gt;
013E \98Capacities&lt;br /&gt;
&lt;br /&gt;
013F \98Capacity: \95\80&lt;br /&gt;
&lt;br /&gt;
0140 \98New Game&lt;br /&gt;
&lt;br /&gt;
0141 \98Load Game&lt;br /&gt;
&lt;br /&gt;
0142 \98Tutorial / Demonstration&lt;br /&gt;
&lt;br /&gt;
0143 \981 Player&lt;br /&gt;
&lt;br /&gt;
0144 \982 Players&lt;br /&gt;
&lt;br /&gt;
0145 \942 Player Link Setup&lt;br /&gt;
&lt;br /&gt;
0146 \98Attempt Connection&lt;br /&gt;
&lt;br /&gt;
0147 \94Unable to make connection to remote computer&lt;br /&gt;
&lt;br /&gt;
0148 \98Game Options&lt;br /&gt;
&lt;br /&gt;
014A&lt;br /&gt;
&lt;br /&gt;
014B &amp;amp;nbsp;XMS&lt;br /&gt;
&lt;br /&gt;
014C &amp;amp;nbsp;VCPI&lt;br /&gt;
&lt;br /&gt;
014D &amp;amp;nbsp;DPMI&lt;br /&gt;
&lt;br /&gt;
014E &amp;amp;nbsp;Windows&lt;br /&gt;
&lt;br /&gt;
014F &amp;amp;nbsp;OS/2&lt;br /&gt;
&lt;br /&gt;
0150 someone\85\85&lt;br /&gt;
&lt;br /&gt;
0151 Map of world&lt;br /&gt;
&lt;br /&gt;
0152 Town directory&lt;br /&gt;
&lt;br /&gt;
0153 Subsidies&lt;br /&gt;
&lt;br /&gt;
0154 Operating profit graph&lt;br /&gt;
&lt;br /&gt;
0155 Income graph&lt;br /&gt;
&lt;br /&gt;
0156 Delivered cargo graph&lt;br /&gt;
&lt;br /&gt;
0157 Performance history graph&lt;br /&gt;
&lt;br /&gt;
0158 Company value graph&lt;br /&gt;
&lt;br /&gt;
0159 Cargo payment rates&lt;br /&gt;
&lt;br /&gt;
015A Company league table&lt;br /&gt;
&lt;br /&gt;
015B \94Transport Tycoon (Deluxe)&lt;br /&gt;
&lt;br /&gt;
015C Save game&lt;br /&gt;
&lt;br /&gt;
015D Abandon game&lt;br /&gt;
&lt;br /&gt;
015E&lt;br /&gt;
&lt;br /&gt;
015F Quit to DOS&lt;br /&gt;
&lt;br /&gt;
0160 \90Are you sure you want to abandon this game ?&lt;br /&gt;
&lt;br /&gt;
0161 \94Abandon Game&lt;br /&gt;
&lt;br /&gt;
0162 Jan&lt;br /&gt;
&lt;br /&gt;
0163 Feb&lt;br /&gt;
&lt;br /&gt;
0164 Mar&lt;br /&gt;
&lt;br /&gt;
0165 Apr&lt;br /&gt;
&lt;br /&gt;
0166 May&lt;br /&gt;
&lt;br /&gt;
0167 Jun&lt;br /&gt;
&lt;br /&gt;
0168 Jul&lt;br /&gt;
&lt;br /&gt;
0169 Aug&lt;br /&gt;
&lt;br /&gt;
016A Sep&lt;br /&gt;
&lt;br /&gt;
016B Oct&lt;br /&gt;
&lt;br /&gt;
016C Nov&lt;br /&gt;
&lt;br /&gt;
016D Dec&lt;br /&gt;
&lt;br /&gt;
016E \0e\80\0d \80&lt;br /&gt;
&lt;br /&gt;
016F \0e\80\0d \80\0d~&lt;br /&gt;
&lt;br /&gt;
0170 \0e\80-&lt;br /&gt;
&lt;br /&gt;
0171 \98Pause game&lt;br /&gt;
&lt;br /&gt;
0172 \98Save game,abandon game,quit to DOS&lt;br /&gt;
&lt;br /&gt;
0173 \98Display list of company&#039;s stations&lt;br /&gt;
&lt;br /&gt;
0174 \98Display map&lt;br /&gt;
&lt;br /&gt;
0175 \98Display map,town directory&lt;br /&gt;
&lt;br /&gt;
0176 \98Display town directory&lt;br /&gt;
&lt;br /&gt;
0177 \98Display company finances information&lt;br /&gt;
&lt;br /&gt;
0178 \98Display company general information&lt;br /&gt;
&lt;br /&gt;
0179 \98Display graphs&lt;br /&gt;
&lt;br /&gt;
017A \98Display company league table&lt;br /&gt;
&lt;br /&gt;
017B \98Display list of company&#039;s trains&lt;br /&gt;
&lt;br /&gt;
017C \98Display list of company&#039;s road vehicles&lt;br /&gt;
&lt;br /&gt;
017D \98Display list of company&#039;s ships&lt;br /&gt;
&lt;br /&gt;
017E \98Display list of company&#039;s aircraft&lt;br /&gt;
&lt;br /&gt;
017F \98Zoom the view in&lt;br /&gt;
&lt;br /&gt;
0180 \98Zoom the view out&lt;br /&gt;
&lt;br /&gt;
0181 \98Build railway track&lt;br /&gt;
&lt;br /&gt;
0182 \98Build roads&lt;br /&gt;
&lt;br /&gt;
0183 \98Build ship docks&lt;br /&gt;
&lt;br /&gt;
0184 \98Build airports&lt;br /&gt;
&lt;br /&gt;
0185 \98Plant trees,place signs etc.&lt;br /&gt;
&lt;br /&gt;
0186 \98Query land block&lt;br /&gt;
&lt;br /&gt;
0187 \98Options&lt;br /&gt;
&lt;br /&gt;
0188 \98\bc&lt;br /&gt;
&lt;br /&gt;
0189 \98\bd&lt;br /&gt;
&lt;br /&gt;
018A \94Can&#039;t change servicing interval...&lt;br /&gt;
&lt;br /&gt;
018B \98Close window&lt;br /&gt;
&lt;br /&gt;
018C \98Window title - drag this to move window&lt;br /&gt;
&lt;br /&gt;
018D \98Demolish buildings etc. on a square of land&lt;br /&gt;
&lt;br /&gt;
018E \98Lower a corner of land&lt;br /&gt;
&lt;br /&gt;
018F \98Raise a corner of land&lt;br /&gt;
&lt;br /&gt;
0190 \98Scroll bar - scrolls list up/down&lt;br /&gt;
&lt;br /&gt;
0191 \98Show land contours on map&lt;br /&gt;
&lt;br /&gt;
0192 \98Show vehicles on map&lt;br /&gt;
&lt;br /&gt;
0193 \98Show industries on map&lt;br /&gt;
&lt;br /&gt;
0194 \98Show transport routes on map&lt;br /&gt;
&lt;br /&gt;
0195 \98Show vegetation on map&lt;br /&gt;
&lt;br /&gt;
0196 \98Show land owners on map&lt;br /&gt;
&lt;br /&gt;
0197 \98Toggle town names on/off on map&lt;br /&gt;
&lt;br /&gt;
0198 \0e\98Profit this year: \7f (last year: \7f)&lt;br /&gt;
&lt;br /&gt;
0199 | year (|)&lt;br /&gt;
&lt;br /&gt;
019A | years (|)&lt;br /&gt;
&lt;br /&gt;
019B \8b| years (|)&lt;br /&gt;
&lt;br /&gt;
019C Road vehicle&lt;br /&gt;
&lt;br /&gt;
019D Aircraft&lt;br /&gt;
&lt;br /&gt;
019E Ship&lt;br /&gt;
&lt;br /&gt;
019F Train&lt;br /&gt;
&lt;br /&gt;
01A0 \94\80 | is getting old&lt;br /&gt;
&lt;br /&gt;
01A1 \94\80 | is getting very old&lt;br /&gt;
&lt;br /&gt;
01A2 \94\80 | is getting very old and urgently needs replacing&lt;br /&gt;
&lt;br /&gt;
01A3 \94Land Area Information&lt;br /&gt;
&lt;br /&gt;
01A4 \98Cost to clear: \95N/A&lt;br /&gt;
&lt;br /&gt;
01A5 \98Cost to clear: \95\7f&lt;br /&gt;
&lt;br /&gt;
01A6 N/A&lt;br /&gt;
&lt;br /&gt;
01A7 \98Owner: \95\80&lt;br /&gt;
&lt;br /&gt;
01A8 \98Local authority: \95\80&lt;br /&gt;
&lt;br /&gt;
01A9 None&lt;br /&gt;
&lt;br /&gt;
01AA \98Name&lt;br /&gt;
&lt;br /&gt;
01AB \98\0e\80&lt;br /&gt;
&lt;br /&gt;
01AC 1st&lt;br /&gt;
&lt;br /&gt;
01AD 2nd&lt;br /&gt;
&lt;br /&gt;
01AE 3rd&lt;br /&gt;
&lt;br /&gt;
01AF 4th&lt;br /&gt;
&lt;br /&gt;
01B0 5th&lt;br /&gt;
&lt;br /&gt;
01B1 6th&lt;br /&gt;
&lt;br /&gt;
01B2 7th&lt;br /&gt;
&lt;br /&gt;
01B3 8th&lt;br /&gt;
&lt;br /&gt;
01B4 9th&lt;br /&gt;
&lt;br /&gt;
01B5 10th&lt;br /&gt;
&lt;br /&gt;
01B6 11th&lt;br /&gt;
&lt;br /&gt;
01B7 12th&lt;br /&gt;
&lt;br /&gt;
01B8 13th&lt;br /&gt;
&lt;br /&gt;
01B9 14th&lt;br /&gt;
&lt;br /&gt;
01BA 15th&lt;br /&gt;
&lt;br /&gt;
01BB 16th&lt;br /&gt;
&lt;br /&gt;
01BC 17th&lt;br /&gt;
&lt;br /&gt;
01BD 18th&lt;br /&gt;
&lt;br /&gt;
01BE 19th&lt;br /&gt;
&lt;br /&gt;
01BF 20th&lt;br /&gt;
&lt;br /&gt;
01C0 21st&lt;br /&gt;
&lt;br /&gt;
01C1 22nd&lt;br /&gt;
&lt;br /&gt;
01C2 23rd&lt;br /&gt;
&lt;br /&gt;
01C3 24th&lt;br /&gt;
&lt;br /&gt;
01C4 25th&lt;br /&gt;
&lt;br /&gt;
01C5 26th&lt;br /&gt;
&lt;br /&gt;
01C6 27th&lt;br /&gt;
&lt;br /&gt;
01C7 28th&lt;br /&gt;
&lt;br /&gt;
01C8 29th&lt;br /&gt;
&lt;br /&gt;
01C9 30th&lt;br /&gt;
&lt;br /&gt;
01CA 31st&lt;br /&gt;
&lt;br /&gt;
01CB \0e|&lt;br /&gt;
&lt;br /&gt;
01CC \98Toggle large/small map size&lt;br /&gt;
&lt;br /&gt;
01CD \94Select Tutorial/Demonstration&lt;br /&gt;
&lt;br /&gt;
01CE \98Cargo accepted: \95\80&lt;br /&gt;
&lt;br /&gt;
01CF \98Cargo accepted: \95\80,\80&lt;br /&gt;
&lt;br /&gt;
01D0 \98Cargo accepted: \95\80,\80,\80&lt;br /&gt;
&lt;br /&gt;
01D1 (}/8 \80)&lt;br /&gt;
&lt;br /&gt;
01D2 \94Jazz Jukebox&lt;br /&gt;
&lt;br /&gt;
01D3 Sound/music&lt;br /&gt;
&lt;br /&gt;
01D4 \98Show sound/music window&lt;br /&gt;
&lt;br /&gt;
01D5 \0eAll&lt;br /&gt;
&lt;br /&gt;
01D6 \0eOld Style&lt;br /&gt;
&lt;br /&gt;
01D7 \0eNew Style&lt;br /&gt;
&lt;br /&gt;
01D8 \0eEzy Street&lt;br /&gt;
&lt;br /&gt;
01D9 \0eCustom 1&lt;br /&gt;
&lt;br /&gt;
01DA \0eCustom 2&lt;br /&gt;
&lt;br /&gt;
01DB \98\0eMusic Volume&lt;br /&gt;
&lt;br /&gt;
01DC \98\0eEffects Volume&lt;br /&gt;
&lt;br /&gt;
01DD \98\0eMIN &#039; &#039; &#039; &#039; &#039; &#039; MAX&lt;br /&gt;
&lt;br /&gt;
01DE \98Skip to previous track in selection&lt;br /&gt;
&lt;br /&gt;
01DF \98Skip to next track in selection&lt;br /&gt;
&lt;br /&gt;
01E0 \98Stop playing music&lt;br /&gt;
&lt;br /&gt;
01E1 \98Start playing music&lt;br /&gt;
&lt;br /&gt;
01E2 \98Drag sliders to set music and sound effect volumes&lt;br /&gt;
&lt;br /&gt;
01E3 \91\0e--&lt;br /&gt;
&lt;br /&gt;
01E4 \91\0e0}&lt;br /&gt;
&lt;br /&gt;
01E5 \91\0e}&lt;br /&gt;
&lt;br /&gt;
01E6 \91\0e------&lt;br /&gt;
&lt;br /&gt;
01E7 \91\0e&amp;amp;quot;\80&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
01E8 \98\0eTrack\01XTitle&lt;br /&gt;
&lt;br /&gt;
01E9 \0eShuffle&lt;br /&gt;
&lt;br /&gt;
01EA \0e\98Program&lt;br /&gt;
&lt;br /&gt;
01EB \94Music Program Selection&lt;br /&gt;
&lt;br /&gt;
01EC \0e\950| &amp;amp;nbsp; &amp;amp;quot;\80&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
01ED \0e\95| &amp;amp;nbsp; &amp;amp;quot;\80&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
01EE \0e\98Track Index&lt;br /&gt;
&lt;br /&gt;
01EF \0e\98Program - &#039;\80&#039;&lt;br /&gt;
&lt;br /&gt;
01F0 \0e\98Clear&lt;br /&gt;
&lt;br /&gt;
01F1 \0e\98Save&lt;br /&gt;
&lt;br /&gt;
01F2 \98Current program of music tracks&lt;br /&gt;
&lt;br /&gt;
01F3 \98Select &#039;all tracks&#039; program&lt;br /&gt;
&lt;br /&gt;
01F4 \98Select &#039;old style music&#039; program&lt;br /&gt;
&lt;br /&gt;
01F5 \98Select &#039;new style music&#039; program&lt;br /&gt;
&lt;br /&gt;
01F6 \98Select &#039;Custom 1&#039; (user-defined) program&lt;br /&gt;
&lt;br /&gt;
01F7 \98Select &#039;Custom 2&#039; (user-defined) program&lt;br /&gt;
&lt;br /&gt;
01F8 \98Clear current program (Custom1 or Custom2 only)&lt;br /&gt;
&lt;br /&gt;
01F9 \98Save music settings to disk&lt;br /&gt;
&lt;br /&gt;
01FA \98Click on music track to add to current program (Custom1 or Custom2 only)&lt;br /&gt;
&lt;br /&gt;
01FB \98Toggle program shuffle on/off&lt;br /&gt;
&lt;br /&gt;
01FC \98Show music track selection window&lt;br /&gt;
&lt;br /&gt;
01FD \98Click on service to centre view on industry/town&lt;br /&gt;
&lt;br /&gt;
01FE \98Difficulty (\80)&lt;br /&gt;
&lt;br /&gt;
01FF \0e\98\82&lt;br /&gt;
&lt;br /&gt;
0200 Last message/news report&lt;br /&gt;
&lt;br /&gt;
0201 Message settings&lt;br /&gt;
&lt;br /&gt;
0202 Send message&lt;br /&gt;
&lt;br /&gt;
0203 \98Show last message/news report,show message options&lt;br /&gt;
&lt;br /&gt;
0204 \94Message Options&lt;br /&gt;
&lt;br /&gt;
0205 \98Message types:-&lt;br /&gt;
&lt;br /&gt;
0206 \90Arrival of first vehicle at player&#039;s station&lt;br /&gt;
&lt;br /&gt;
0207 \90Arrival of first vehicle at competitor&#039;s station&lt;br /&gt;
&lt;br /&gt;
0208 \90Accidents / disasters&lt;br /&gt;
&lt;br /&gt;
0209 \90Company information&lt;br /&gt;
&lt;br /&gt;
020A \90Economy changes&lt;br /&gt;
&lt;br /&gt;
020B \90Advice / information on player&#039;s vehicles&lt;br /&gt;
&lt;br /&gt;
020C \90New vehicles&lt;br /&gt;
&lt;br /&gt;
020D \90Changes of cargo acceptance&lt;br /&gt;
&lt;br /&gt;
020E \90Subsidies&lt;br /&gt;
&lt;br /&gt;
020F \90General information&lt;br /&gt;
&lt;br /&gt;
0210 \94...too far from previous destination&lt;br /&gt;
&lt;br /&gt;
0211 \0f\98Top companies who reached 2050\0d(\80 Level)&lt;br /&gt;
&lt;br /&gt;
0212 \0f|.&lt;br /&gt;
&lt;br /&gt;
0213 Businessman&lt;br /&gt;
&lt;br /&gt;
0214 Entrepreneur&lt;br /&gt;
&lt;br /&gt;
0215 Industrialist&lt;br /&gt;
&lt;br /&gt;
0216 Capitalist&lt;br /&gt;
&lt;br /&gt;
0217 Magnate&lt;br /&gt;
&lt;br /&gt;
0218 Mogul&lt;br /&gt;
&lt;br /&gt;
0219 Tycoon of the Century&lt;br /&gt;
&lt;br /&gt;
021A \0f&#039;\80&#039; (|)&lt;br /&gt;
&lt;br /&gt;
021B \0f\80\80 achieves &#039;\80&#039; status!&lt;br /&gt;
&lt;br /&gt;
021C \0f\80\80 of \80 achieves &#039;\80&#039; status!&lt;br /&gt;
&lt;br /&gt;
021D \98&lt;br /&gt;
&lt;br /&gt;
021E \94&lt;br /&gt;
&lt;br /&gt;
021F \88|&lt;br /&gt;
&lt;br /&gt;
0220 \98Create Scenario&lt;br /&gt;
&lt;br /&gt;
0221 \90Transport Tycoon&lt;br /&gt;
&lt;br /&gt;
0222 \90Scenario Editor&lt;br /&gt;
&lt;br /&gt;
0223 \94Land Generation&lt;br /&gt;
&lt;br /&gt;
0224 \98\a0&lt;br /&gt;
&lt;br /&gt;
0225 \98\aa&lt;br /&gt;
&lt;br /&gt;
0226 \98Random Land&lt;br /&gt;
&lt;br /&gt;
0227 \98Reset Land&lt;br /&gt;
&lt;br /&gt;
0228 \98Increase size of land area to lower/raise&lt;br /&gt;
&lt;br /&gt;
0229 \98Decrease size of land area to lower/raise&lt;br /&gt;
&lt;br /&gt;
022A \98Generate random land&lt;br /&gt;
&lt;br /&gt;
022B \98Reset landscape&lt;br /&gt;
&lt;br /&gt;
022C \94Reset Landscape&lt;br /&gt;
&lt;br /&gt;
022D \98Are you sure you want to reset the landscape?&lt;br /&gt;
&lt;br /&gt;
022E \98Landscape generation&lt;br /&gt;
&lt;br /&gt;
022F \98Town generation&lt;br /&gt;
&lt;br /&gt;
0230 \98Industry generation&lt;br /&gt;
&lt;br /&gt;
0231 \98Road construction&lt;br /&gt;
&lt;br /&gt;
0232 \98Vegetation and other objects&lt;br /&gt;
&lt;br /&gt;
0233 \94Town Generation&lt;br /&gt;
&lt;br /&gt;
0234 \98New Town&lt;br /&gt;
&lt;br /&gt;
0235 \98Construct new town&lt;br /&gt;
&lt;br /&gt;
0236 \94Can&#039;t build town here...&lt;br /&gt;
&lt;br /&gt;
0237 \94...too close to edge of map&lt;br /&gt;
&lt;br /&gt;
0238 \94...too close to another town&lt;br /&gt;
&lt;br /&gt;
0239 \94...site unsuitable&lt;br /&gt;
&lt;br /&gt;
023A \94...too many towns&lt;br /&gt;
&lt;br /&gt;
023B \98Increase size of town&lt;br /&gt;
&lt;br /&gt;
023C \98Expand&lt;br /&gt;
&lt;br /&gt;
023D \98Random Town&lt;br /&gt;
&lt;br /&gt;
023E \98Build town in random location&lt;br /&gt;
&lt;br /&gt;
023F \94Industry Generation&lt;br /&gt;
&lt;br /&gt;
0240 \98Coal Mine&lt;br /&gt;
&lt;br /&gt;
0241 \98Power Station&lt;br /&gt;
&lt;br /&gt;
0242 \98Sawmill&lt;br /&gt;
&lt;br /&gt;
0243 \98Forest&lt;br /&gt;
&lt;br /&gt;
0244 \98Oil Refinery&lt;br /&gt;
&lt;br /&gt;
0245 \98Oil Rig&lt;br /&gt;
&lt;br /&gt;
0246 \98Factory&lt;br /&gt;
&lt;br /&gt;
0247 \98Steel Mill&lt;br /&gt;
&lt;br /&gt;
0248 \98Farm&lt;br /&gt;
&lt;br /&gt;
0249 \98Iron Ore Mine&lt;br /&gt;
&lt;br /&gt;
024A \98Oil Wells&lt;br /&gt;
&lt;br /&gt;
024B \98Bank&lt;br /&gt;
&lt;br /&gt;
024C \98Paper Mill&lt;br /&gt;
&lt;br /&gt;
024D \98Food Processing Plant&lt;br /&gt;
&lt;br /&gt;
024E \98Printing Works&lt;br /&gt;
&lt;br /&gt;
024F \98Gold Mine&lt;br /&gt;
&lt;br /&gt;
0250 \98Lumber Mill&lt;br /&gt;
&lt;br /&gt;
0251 \98Fruit Plantation&lt;br /&gt;
&lt;br /&gt;
0252 \98Rubber Plantation&lt;br /&gt;
&lt;br /&gt;
0253 \98Water Supply&lt;br /&gt;
&lt;br /&gt;
0254 \98Water Tower&lt;br /&gt;
&lt;br /&gt;
0255 \98Diamond Mine&lt;br /&gt;
&lt;br /&gt;
0256 \98Copper Ore Mine&lt;br /&gt;
&lt;br /&gt;
0257 \98Candyfloss Forest&lt;br /&gt;
&lt;br /&gt;
0258 \98Sweet Factory&lt;br /&gt;
&lt;br /&gt;
0259 \98Battery Farm&lt;br /&gt;
&lt;br /&gt;
025A \98Cola Wells&lt;br /&gt;
&lt;br /&gt;
025B \98Toy Shop&lt;br /&gt;
&lt;br /&gt;
025C \98Toy Factory&lt;br /&gt;
&lt;br /&gt;
025D \98Plastic Fountains&lt;br /&gt;
&lt;br /&gt;
025E \98Fizzy Drink Factory&lt;br /&gt;
&lt;br /&gt;
025F \98Bubble Generator&lt;br /&gt;
&lt;br /&gt;
0260 \98Toffee Quarry&lt;br /&gt;
&lt;br /&gt;
0261 \98Sugar Mine&lt;br /&gt;
&lt;br /&gt;
0262 \98Construct Coal Mine&lt;br /&gt;
&lt;br /&gt;
0263 \98Construct Power Station&lt;br /&gt;
&lt;br /&gt;
0264 \98Construct Sawmill&lt;br /&gt;
&lt;br /&gt;
0265 \98Plant Forest&lt;br /&gt;
&lt;br /&gt;
0266 \98Construct Oil Refinery&lt;br /&gt;
&lt;br /&gt;
0267 \98Construct Oil Rig (Can only be built near the edges of the map)&lt;br /&gt;
&lt;br /&gt;
0268 \98Construct Factory&lt;br /&gt;
&lt;br /&gt;
0269 \98Construct Steel Mill&lt;br /&gt;
&lt;br /&gt;
026A \98Construct Farm&lt;br /&gt;
&lt;br /&gt;
026B \98Construct Iron Ore Mine&lt;br /&gt;
&lt;br /&gt;
026C \98Construct Oil Wells&lt;br /&gt;
&lt;br /&gt;
026D \98Construct Bank (Can only be built in towns with a population greater than 1200)&lt;br /&gt;
&lt;br /&gt;
026E \98Construct Paper Mill&lt;br /&gt;
&lt;br /&gt;
026F \98Construct Food Processing Plant&lt;br /&gt;
&lt;br /&gt;
0270 \98Construct Printing Works&lt;br /&gt;
&lt;br /&gt;
0271 \98Construct Gold Mine&lt;br /&gt;
&lt;br /&gt;
0272 \98Construct Bank (Can only be built in towns)&lt;br /&gt;
&lt;br /&gt;
0273 \98Construct Lumber Mill (to clear rainforest and produce Wood)&lt;br /&gt;
&lt;br /&gt;
0274 \98Plant Fruit Plantation&lt;br /&gt;
&lt;br /&gt;
0275 \98Plant Rubber Plantation&lt;br /&gt;
&lt;br /&gt;
0276 \98Construct Water Supply&lt;br /&gt;
&lt;br /&gt;
0277 \98Construct Water Tower (Can only be built in towns)&lt;br /&gt;
&lt;br /&gt;
0278 \98Construct Diamond Mine&lt;br /&gt;
&lt;br /&gt;
0279 \98Construct Copper Ore Mine&lt;br /&gt;
&lt;br /&gt;
027A \98Plant Candyfloss Forest&lt;br /&gt;
&lt;br /&gt;
027B \98Construct Sweet Factory&lt;br /&gt;
&lt;br /&gt;
027C \98Construct Battery Farm&lt;br /&gt;
&lt;br /&gt;
027D \98Construct Cola Wells&lt;br /&gt;
&lt;br /&gt;
027E \98Construct Toy Shop&lt;br /&gt;
&lt;br /&gt;
027F \98Construct Toy Factory&lt;br /&gt;
&lt;br /&gt;
0280 \98Construct Plastic Fountains&lt;br /&gt;
&lt;br /&gt;
0281 \98Construct Fizzy Drink Factory&lt;br /&gt;
&lt;br /&gt;
0282 \98Construct Bubble Generator&lt;br /&gt;
&lt;br /&gt;
0283 \98Construct Toffee Quarry&lt;br /&gt;
&lt;br /&gt;
0284 \98Construct Sugar Mine&lt;br /&gt;
&lt;br /&gt;
0285 \94Can&#039;t build \80 here...&lt;br /&gt;
&lt;br /&gt;
0286 \94...must build town first&lt;br /&gt;
&lt;br /&gt;
0287 \94...only one allowed per town&lt;br /&gt;
&lt;br /&gt;
0288 \98Plant trees&lt;br /&gt;
&lt;br /&gt;
0289 \98Place sign&lt;br /&gt;
&lt;br /&gt;
028A \98Random Trees&lt;br /&gt;
&lt;br /&gt;
028B \98Plant trees randomly over landscape&lt;br /&gt;
&lt;br /&gt;
028C \98Place rocky areas on landscape&lt;br /&gt;
&lt;br /&gt;
028D \98Place lighthouse&lt;br /&gt;
&lt;br /&gt;
028E \98Place transmitter&lt;br /&gt;
&lt;br /&gt;
028F \98Define desert area&lt;br /&gt;
&lt;br /&gt;
0290 \98Delete&lt;br /&gt;
&lt;br /&gt;
0291 \98Delete this town completely&lt;br /&gt;
&lt;br /&gt;
0292 Save scenario&lt;br /&gt;
&lt;br /&gt;
0293 Load scenario&lt;br /&gt;
&lt;br /&gt;
0294 Abandon editor&lt;br /&gt;
&lt;br /&gt;
0295&lt;br /&gt;
&lt;br /&gt;
0296 Quit to DOS&lt;br /&gt;
&lt;br /&gt;
0297 \98Save scenario,load scenario,abandon scenario editor,quit to DOS&lt;br /&gt;
&lt;br /&gt;
0298 \94Load Scenario&lt;br /&gt;
&lt;br /&gt;
0299 \94Save Scenario&lt;br /&gt;
&lt;br /&gt;
029A \98Play Scenario&lt;br /&gt;
&lt;br /&gt;
029B \90Are you sure you want to abandon this scenario ?&lt;br /&gt;
&lt;br /&gt;
029C \94Abandon Editor&lt;br /&gt;
&lt;br /&gt;
029D \94...can only be built in towns with a population of at least 1200&lt;br /&gt;
&lt;br /&gt;
029E \98Move the starting date backward 1 year&lt;br /&gt;
&lt;br /&gt;
029F \98Move the starting date forward 1 year&lt;br /&gt;
&lt;br /&gt;
02A0 \94...ends of bridge must both be on land&lt;br /&gt;
&lt;br /&gt;
02A1 \98Small&lt;br /&gt;
&lt;br /&gt;
02A2 \98Medium&lt;br /&gt;
&lt;br /&gt;
02A3 \98Large&lt;br /&gt;
&lt;br /&gt;
02A4 \98Select town size&lt;br /&gt;
&lt;br /&gt;
02A5 \90Town size:&lt;br /&gt;
&lt;br /&gt;
02A6 \94Message to Player 2&lt;br /&gt;
&lt;br /&gt;
02A7 \98Change Modem Initialisation String:&lt;br /&gt;
&lt;br /&gt;
02A8 \98Change Dial Number:&lt;br /&gt;
&lt;br /&gt;
02A9 \94Modem init. string:&lt;br /&gt;
&lt;br /&gt;
02AA \94Dial number:&lt;br /&gt;
&lt;br /&gt;
02AB \98Serial Port&lt;br /&gt;
&lt;br /&gt;
02AC COM1&lt;br /&gt;
&lt;br /&gt;
02AD COM2&lt;br /&gt;
&lt;br /&gt;
02AE COM3&lt;br /&gt;
&lt;br /&gt;
02AF COM4&lt;br /&gt;
&lt;br /&gt;
02B0 \98\80&lt;br /&gt;
&lt;br /&gt;
02B1 \98Baud Rate&lt;br /&gt;
&lt;br /&gt;
02B2 \98\85\80 baud&lt;br /&gt;
&lt;br /&gt;
02B3 9600&lt;br /&gt;
&lt;br /&gt;
02B4 14400&lt;br /&gt;
&lt;br /&gt;
02B5 19200&lt;br /&gt;
&lt;br /&gt;
02B6 \80 - \80&lt;br /&gt;
&lt;br /&gt;
02B7 \98Show last message or news report&lt;br /&gt;
&lt;br /&gt;
02B8 \98Summary&lt;br /&gt;
&lt;br /&gt;
02B9 \98Full&lt;br /&gt;
&lt;br /&gt;
02BA \89- - \80 - -&lt;br /&gt;
&lt;br /&gt;
02BB Town directory&lt;br /&gt;
&lt;br /&gt;
02BC \98Vehicle design names&lt;br /&gt;
&lt;br /&gt;
02BD \98\80&lt;br /&gt;
&lt;br /&gt;
02BE Default&lt;br /&gt;
&lt;br /&gt;
02BF Custom&lt;br /&gt;
&lt;br /&gt;
02C0 \98Save custom names to disk&lt;br /&gt;
&lt;br /&gt;
02C1 \98Vehicle design names selection&lt;br /&gt;
&lt;br /&gt;
02C2 \98Save customized vehicle design names to disk&lt;br /&gt;
&lt;br /&gt;
02C4 Game options&lt;br /&gt;
&lt;br /&gt;
02C6 Difficulty settings&lt;br /&gt;
&lt;br /&gt;
02C8&lt;br /&gt;
&lt;br /&gt;
02C9 \ac&lt;br /&gt;
&lt;br /&gt;
02CA \01\0cTown names displayed&lt;br /&gt;
&lt;br /&gt;
02CB \ac&lt;br /&gt;
&lt;br /&gt;
02CC \01\0cStation names displayed&lt;br /&gt;
&lt;br /&gt;
02CD \ac&lt;br /&gt;
&lt;br /&gt;
02CE \01\0cSigns displayed&lt;br /&gt;
&lt;br /&gt;
02CF \ac&lt;br /&gt;
&lt;br /&gt;
02D0 \01\0cFull animation&lt;br /&gt;
&lt;br /&gt;
02D1 \ac&lt;br /&gt;
&lt;br /&gt;
02D2 \01\0cFull detail&lt;br /&gt;
&lt;br /&gt;
02D3 \ac&lt;br /&gt;
&lt;br /&gt;
02D4 \01\0cTransparent buildings&lt;br /&gt;
&lt;br /&gt;
02D5 Query land block&lt;br /&gt;
&lt;br /&gt;
02D6&lt;br /&gt;
&lt;br /&gt;
02D7 ))ScreenShot[[]]ScreenShot[[ (Ctrl-S)&lt;br /&gt;
&lt;br /&gt;
02D8 Giant ))ScreenShot[[]]ScreenShot[[ (Ctrl-G)&lt;br /&gt;
&lt;br /&gt;
02D9 About &#039;Transport Tycoon&#039;&lt;br /&gt;
&lt;br /&gt;
02DA \98On&lt;br /&gt;
&lt;br /&gt;
02DB \98Off&lt;br /&gt;
&lt;br /&gt;
02DC \98Display subsidies&lt;br /&gt;
&lt;br /&gt;
02DD Subsidies&lt;br /&gt;
&lt;br /&gt;
02DE Map of world&lt;br /&gt;
&lt;br /&gt;
02DF Town directory&lt;br /&gt;
&lt;br /&gt;
02E0 \98Currency units&lt;br /&gt;
&lt;br /&gt;
02E1 \98\85\80&lt;br /&gt;
&lt;br /&gt;
02E2 \98Currency units selection&lt;br /&gt;
&lt;br /&gt;
02E3 \98Distance units&lt;br /&gt;
&lt;br /&gt;
02E4 \98\85\85\80&lt;br /&gt;
&lt;br /&gt;
02E5 \98Distance units selection&lt;br /&gt;
&lt;br /&gt;
02E6 \98Road vehicles&lt;br /&gt;
&lt;br /&gt;
02E7 \98\85\85\85\80&lt;br /&gt;
&lt;br /&gt;
02E8 \98Select side of road for vehicles to drive on&lt;br /&gt;
&lt;br /&gt;
02E9 Drive on left&lt;br /&gt;
&lt;br /&gt;
02EA Drive on right&lt;br /&gt;
&lt;br /&gt;
02EB \98Town names&lt;br /&gt;
&lt;br /&gt;
02EC \98\85\85\85\85\80&lt;br /&gt;
&lt;br /&gt;
02ED \98Select style of town names&lt;br /&gt;
&lt;br /&gt;
02EE English&lt;br /&gt;
&lt;br /&gt;
02EF French&lt;br /&gt;
&lt;br /&gt;
02F0 German&lt;br /&gt;
&lt;br /&gt;
02F1 American&lt;br /&gt;
&lt;br /&gt;
02F2 ))Latin-American[[]]Latin-American[[&lt;br /&gt;
&lt;br /&gt;
02F3 Silly&lt;br /&gt;
&lt;br /&gt;
02F4 \98Autosave&lt;br /&gt;
&lt;br /&gt;
02F5 \98\85\85\85\85\85\80&lt;br /&gt;
&lt;br /&gt;
02F6 \98Select interval between automatic game saves&lt;br /&gt;
&lt;br /&gt;
02F7 Off&lt;br /&gt;
&lt;br /&gt;
02F8 Every 3 months&lt;br /&gt;
&lt;br /&gt;
02F9 Every 6 months&lt;br /&gt;
&lt;br /&gt;
02FA Every 12 months&lt;br /&gt;
&lt;br /&gt;
02FB \98Start a new game&lt;br /&gt;
&lt;br /&gt;
02FC \98Load a saved game from disk&lt;br /&gt;
&lt;br /&gt;
02FD \98View demonstrations/tutorials&lt;br /&gt;
&lt;br /&gt;
02FE \98Create a customized game world/scenario&lt;br /&gt;
&lt;br /&gt;
02FF \98Select single-player game&lt;br /&gt;
&lt;br /&gt;
0300 \98Select two-player game&lt;br /&gt;
&lt;br /&gt;
0301 \98Display game options&lt;br /&gt;
&lt;br /&gt;
0302 \98Display difficulty options&lt;br /&gt;
&lt;br /&gt;
0303 \98Start a new game,using a customized scenario&lt;br /&gt;
&lt;br /&gt;
0304 \98Quit to DOS&lt;br /&gt;
&lt;br /&gt;
0305 \98Leave &#039;Transport Tycoon&#039;,and quit to DOS&lt;br /&gt;
&lt;br /&gt;
0306 \98View demonstration/tutorial&lt;br /&gt;
&lt;br /&gt;
0307 \94Transport Tycoon (Deluxe)&lt;br /&gt;
&lt;br /&gt;
0308 \98Select serial port to be used for direct or modem connection&lt;br /&gt;
&lt;br /&gt;
0309 \98Select serial port speed for direct or modem connection&lt;br /&gt;
&lt;br /&gt;
030A \98Attempt to connect to second computer for 2 player game&lt;br /&gt;
&lt;br /&gt;
030B \98Change the modem initialisation string&lt;br /&gt;
&lt;br /&gt;
030C \98Set the number to be dialled by the modem&lt;br /&gt;
&lt;br /&gt;
030D \94...can only be built in towns&lt;br /&gt;
&lt;br /&gt;
030E \98Select &#039;temperate&#039; landscape style&lt;br /&gt;
&lt;br /&gt;
030F \98Select &#039;sub-arctic&#039; landscape style&lt;br /&gt;
&lt;br /&gt;
0310 \98Select &#039;sub-tropical&#039; landscape style&lt;br /&gt;
&lt;br /&gt;
0311 \98Select &#039;toyland&#039; landscape style&lt;br /&gt;
&lt;br /&gt;
0312 \98Fund construction of new industry&lt;br /&gt;
&lt;br /&gt;
0313 Fund new industry&lt;br /&gt;
&lt;br /&gt;
0314 \94Fund new industry&lt;br /&gt;
&lt;br /&gt;
0315 \80&lt;br /&gt;
&lt;br /&gt;
0316 \94...can only be built in towns&lt;br /&gt;
&lt;br /&gt;
0317 \94...can only be built in rainforest areas&lt;br /&gt;
&lt;br /&gt;
0318 \94...can only be built in desert areas&lt;br /&gt;
&lt;br /&gt;
0319 \90* * PAUSED * *&lt;br /&gt;
&lt;br /&gt;
031A SCR|.PCX&lt;br /&gt;
&lt;br /&gt;
031B \94Screenshot successfully saved to disk as &#039;\80&#039;&lt;br /&gt;
&lt;br /&gt;
031C \94Screenshot failed!&lt;br /&gt;
&lt;br /&gt;
031D \98Link method&lt;br /&gt;
&lt;br /&gt;
031E \98\85\85\80&lt;br /&gt;
&lt;br /&gt;
031F \98Select communications link method for 2-player game&lt;br /&gt;
&lt;br /&gt;
0320 Serial cable (sender)&lt;br /&gt;
&lt;br /&gt;
0321 Serial cable (receiver)&lt;br /&gt;
&lt;br /&gt;
0322 Modem (send/dial)&lt;br /&gt;
&lt;br /&gt;
0323 Modem (receive)&lt;br /&gt;
&lt;br /&gt;
0324 Network - IPX protocol (sender)&lt;br /&gt;
&lt;br /&gt;
0325 Network - IPX protocol (receiver)&lt;br /&gt;
&lt;br /&gt;
0329 \98Purchase land for future use&lt;br /&gt;
&lt;br /&gt;
032A \981: Road vehicle service&lt;br /&gt;
&lt;br /&gt;
032B \982: Railway service&lt;br /&gt;
&lt;br /&gt;
032C \983: Air service&lt;br /&gt;
&lt;br /&gt;
032D \984: Ship service&lt;br /&gt;
&lt;br /&gt;
032E \985: Railway service (advanced)&lt;br /&gt;
&lt;br /&gt;
032F \8bAUTOSAVE&lt;br /&gt;
&lt;br /&gt;
0330 \98Select &#039;Ezy Street style music&#039; program&lt;br /&gt;
&lt;br /&gt;
0331 \94...IPX driver not found&lt;br /&gt;
&lt;br /&gt;
0332 \94...not enough free base memory for network buffers&lt;br /&gt;
&lt;br /&gt;
0333 \94...unable to open an IPX socket&lt;br /&gt;
&lt;br /&gt;
0334 \94Connection successful!\0d\0dGames now linked!&lt;br /&gt;
&lt;br /&gt;
=0800 Basic land strings=&lt;br /&gt;
&lt;br /&gt;
0800 \0e&lt;br /&gt;
&lt;br /&gt;
0801 \8bCost: \7f&lt;br /&gt;
&lt;br /&gt;
0802 \0e&lt;br /&gt;
&lt;br /&gt;
0803 \8fIncome: \7f&lt;br /&gt;
&lt;br /&gt;
0804 \0e&lt;br /&gt;
&lt;br /&gt;
0805 \94Estimated Cost: \7f&lt;br /&gt;
&lt;br /&gt;
0806 \0e&lt;br /&gt;
&lt;br /&gt;
0807 \94Estimated Income: \7f&lt;br /&gt;
&lt;br /&gt;
0808 \94Can&#039;t raise land here...&lt;br /&gt;
&lt;br /&gt;
0809 \94Can&#039;t lower land here...&lt;br /&gt;
&lt;br /&gt;
080A Rocks&lt;br /&gt;
&lt;br /&gt;
080B Rough land&lt;br /&gt;
&lt;br /&gt;
080C Bare land&lt;br /&gt;
&lt;br /&gt;
080D Grass&lt;br /&gt;
&lt;br /&gt;
080E Fields&lt;br /&gt;
&lt;br /&gt;
080F Snow-covered land&lt;br /&gt;
&lt;br /&gt;
0810 Desert&lt;br /&gt;
&lt;br /&gt;
=1000 Railroad strings=&lt;br /&gt;
&lt;br /&gt;
1000 \94Land sloped in wrong direction&lt;br /&gt;
&lt;br /&gt;
1001 \94Impossible track combination&lt;br /&gt;
&lt;br /&gt;
1002 \94Excavation would damage tunnel&lt;br /&gt;
&lt;br /&gt;
1003 \94Already at sea-level&lt;br /&gt;
&lt;br /&gt;
1004 \94Too high&lt;br /&gt;
&lt;br /&gt;
1005 \94No suitable railway track&lt;br /&gt;
&lt;br /&gt;
1006 \94Train inside depot&lt;br /&gt;
&lt;br /&gt;
1007 \94...already built&lt;br /&gt;
&lt;br /&gt;
1008 \94Must remove railway track first&lt;br /&gt;
&lt;br /&gt;
1009 \94Too many depots&lt;br /&gt;
&lt;br /&gt;
100A \94Railway Construction&lt;br /&gt;
&lt;br /&gt;
100B \94Monorail Construction&lt;br /&gt;
&lt;br /&gt;
100C \94MagLev Construction&lt;br /&gt;
&lt;br /&gt;
100D \94Select Rail Bridge&lt;br /&gt;
&lt;br /&gt;
100E \94Can&#039;t build train depot here...&lt;br /&gt;
&lt;br /&gt;
100F \94Can&#039;t build railway station here...&lt;br /&gt;
&lt;br /&gt;
1010 \94Can&#039;t build signals here...&lt;br /&gt;
&lt;br /&gt;
1011 \94Can&#039;t build railway track here...&lt;br /&gt;
&lt;br /&gt;
1012 \94Can&#039;t remove railway track from here...&lt;br /&gt;
&lt;br /&gt;
1013 \94Can&#039;t remove signals from here...&lt;br /&gt;
&lt;br /&gt;
1014 \94Train Depot Orientation&lt;br /&gt;
&lt;br /&gt;
1015 Railway construction&lt;br /&gt;
&lt;br /&gt;
1016 Monorail construction&lt;br /&gt;
&lt;br /&gt;
1017 ))MagLev[[]]MagLev[[ construction&lt;br /&gt;
&lt;br /&gt;
1018 \98Build railway track&lt;br /&gt;
&lt;br /&gt;
1019 \98Build train depot (for building and servicing trains)&lt;br /&gt;
&lt;br /&gt;
101A \98Build railway station&lt;br /&gt;
&lt;br /&gt;
101B \98Build railway signals&lt;br /&gt;
&lt;br /&gt;
101C \98Build railway bridge&lt;br /&gt;
&lt;br /&gt;
101D \98Build railway tunnel&lt;br /&gt;
&lt;br /&gt;
101E \98Toggle build/remove for railway track and signals&lt;br /&gt;
&lt;br /&gt;
101F \98Bridge selection - click on selected bridge to build it&lt;br /&gt;
&lt;br /&gt;
1020 \98Select rail depot orientation&lt;br /&gt;
&lt;br /&gt;
1021 Railway track&lt;br /&gt;
&lt;br /&gt;
1022 Railway track with signals&lt;br /&gt;
&lt;br /&gt;
1023 Railway train depot&lt;br /&gt;
&lt;br /&gt;
1024 \94...area is owned by another company&lt;br /&gt;
&lt;br /&gt;
=1800 Road strings=&lt;br /&gt;
&lt;br /&gt;
1800 \94Land sloped in wrong direction for road&lt;br /&gt;
&lt;br /&gt;
1801 \94Must remove road first&lt;br /&gt;
&lt;br /&gt;
1802 \94Road Construction&lt;br /&gt;
&lt;br /&gt;
1803 \94Select Road Bridge&lt;br /&gt;
&lt;br /&gt;
1804 \94Can&#039;t build road here...&lt;br /&gt;
&lt;br /&gt;
1805 \94Can&#039;t remove road from here...&lt;br /&gt;
&lt;br /&gt;
1806 \94Road Depot Orientation&lt;br /&gt;
&lt;br /&gt;
1807 \94Can&#039;t build road vehicle depot here...&lt;br /&gt;
&lt;br /&gt;
1808 \94Can&#039;t build bus station...&lt;br /&gt;
&lt;br /&gt;
1809 \94Can&#039;t build lorry station...&lt;br /&gt;
&lt;br /&gt;
180A Road construction&lt;br /&gt;
&lt;br /&gt;
180B \98Build road section&lt;br /&gt;
&lt;br /&gt;
180C \98Build road vehicle depot (for building and servicing vehicles)&lt;br /&gt;
&lt;br /&gt;
180D \98Build bus station&lt;br /&gt;
&lt;br /&gt;
180E \98Build lorry loading bay&lt;br /&gt;
&lt;br /&gt;
180F \98Build road bridge&lt;br /&gt;
&lt;br /&gt;
1810 \98Build road tunnel&lt;br /&gt;
&lt;br /&gt;
1811 \98Toggle build/remove for road construction&lt;br /&gt;
&lt;br /&gt;
1812 \98Bridge selection - click on selected bridge to build it&lt;br /&gt;
&lt;br /&gt;
1813 \98Select road vehicle depot orientation&lt;br /&gt;
&lt;br /&gt;
1814 Road&lt;br /&gt;
&lt;br /&gt;
1815 Road with streetlights&lt;br /&gt;
&lt;br /&gt;
1816 Tree-lined road&lt;br /&gt;
&lt;br /&gt;
1817 Road vehicle depot&lt;br /&gt;
&lt;br /&gt;
1818 Road/rail level crossing&lt;br /&gt;
&lt;br /&gt;
=2000 Town strings=&lt;br /&gt;
&lt;br /&gt;
2000 \94Towns&lt;br /&gt;
&lt;br /&gt;
2001 \94\80&lt;br /&gt;
&lt;br /&gt;
2002 \0e\98\80&lt;br /&gt;
&lt;br /&gt;
2003 \0e\94\80&lt;br /&gt;
&lt;br /&gt;
2004 \94Building must be demolished first&lt;br /&gt;
&lt;br /&gt;
2005 \94\80&lt;br /&gt;
&lt;br /&gt;
2006 \98Population: \8e{&lt;br /&gt;
&lt;br /&gt;
2007 Rename Town&lt;br /&gt;
&lt;br /&gt;
2008 \94Can&#039;t rename town...&lt;br /&gt;
&lt;br /&gt;
2009 \94\80 local authority refuses to allow this&lt;br /&gt;
&lt;br /&gt;
200A \98Town names - click on name to centre main view on town&lt;br /&gt;
&lt;br /&gt;
200B \98Centre the main view on town location&lt;br /&gt;
&lt;br /&gt;
200C \98Change town name&lt;br /&gt;
&lt;br /&gt;
200D \98Passengers last month: \8e|\98 max: \8e|&lt;br /&gt;
&lt;br /&gt;
200E \98Mail last month: \8e|\98 max: \8e|&lt;br /&gt;
&lt;br /&gt;
200F Tall office block&lt;br /&gt;
&lt;br /&gt;
2010 Office block&lt;br /&gt;
&lt;br /&gt;
2011 Small block of flats&lt;br /&gt;
&lt;br /&gt;
2012 Church&lt;br /&gt;
&lt;br /&gt;
2013 Large office block&lt;br /&gt;
&lt;br /&gt;
2014 Town houses&lt;br /&gt;
&lt;br /&gt;
2015 Hotel&lt;br /&gt;
&lt;br /&gt;
2016 Statue&lt;br /&gt;
&lt;br /&gt;
2017 Fountain&lt;br /&gt;
&lt;br /&gt;
2018 Park&lt;br /&gt;
&lt;br /&gt;
2019 Office block&lt;br /&gt;
&lt;br /&gt;
201A Shops and offices&lt;br /&gt;
&lt;br /&gt;
201B Modern office building&lt;br /&gt;
&lt;br /&gt;
201C Warehouse&lt;br /&gt;
&lt;br /&gt;
201D Office block&lt;br /&gt;
&lt;br /&gt;
201E Stadium&lt;br /&gt;
&lt;br /&gt;
201F Old houses&lt;br /&gt;
&lt;br /&gt;
2020 \98Local authority&lt;br /&gt;
&lt;br /&gt;
2021 \98Show information on local authority&lt;br /&gt;
&lt;br /&gt;
2022 \94\80 local authority&lt;br /&gt;
&lt;br /&gt;
2023 \98Transport company ratings:&lt;br /&gt;
&lt;br /&gt;
2024 \90\80\80: \8e\80&lt;br /&gt;
&lt;br /&gt;
2025 \94Subsidies&lt;br /&gt;
&lt;br /&gt;
2026 \98Subsidies on offer for services taking:-&lt;br /&gt;
&lt;br /&gt;
2027 \8e\80 from \80 to \80&lt;br /&gt;
&lt;br /&gt;
2028 \90 (by \83)&lt;br /&gt;
&lt;br /&gt;
2029 \80 \80&lt;br /&gt;
&lt;br /&gt;
202A \8eNone&lt;br /&gt;
&lt;br /&gt;
202B \98Services already subsidised:-&lt;br /&gt;
&lt;br /&gt;
202C \8e\80 from \80 to \80\90 (\80&lt;br /&gt;
&lt;br /&gt;
202D \90,until \83)&lt;br /&gt;
&lt;br /&gt;
202E \98\0fOffer of subsidy expired:\0d\0d\80 from \80 to \80 will now not attract a subsidy.&lt;br /&gt;
&lt;br /&gt;
202F \98\0fSubsidy withdrawn:\0d\0d\80 service from \80 to \80 is no longer subsidised.&lt;br /&gt;
&lt;br /&gt;
2030 \98\0fService subsidy offered:\0d\0dFirst \80 service from \80 to \80 will attract a year&#039;s subsidy from the local authority!&lt;br /&gt;
&lt;br /&gt;
2031 \98\0fService subsidy awarded to \80!\0d\0d\80 service from \80 to \80 will pay 50% extra for the next year!&lt;br /&gt;
&lt;br /&gt;
2032 \98\0fService subsidy awarded to \80!\0d\0d\80 service from \80 to \80 will pay double rates for the next year!&lt;br /&gt;
&lt;br /&gt;
2033 \98\0fService subsidy awarded to \80!\0d\0d\80 service from \80 to \80 will pay triple rates for the next year!&lt;br /&gt;
&lt;br /&gt;
2034 \98\0fService subsidy awarded to \80!\0d\0d\80 service from \80 to \80 will pay quadruple rates for the next year!&lt;br /&gt;
&lt;br /&gt;
2035 \94\80 local authority refuses to allow another airport to be built in this town&lt;br /&gt;
&lt;br /&gt;
2036 Cottages&lt;br /&gt;
&lt;br /&gt;
2037 Houses&lt;br /&gt;
&lt;br /&gt;
2038 Flats&lt;br /&gt;
&lt;br /&gt;
2039 Tall office block&lt;br /&gt;
&lt;br /&gt;
203A Shops and offices&lt;br /&gt;
&lt;br /&gt;
203B Shops and offices&lt;br /&gt;
&lt;br /&gt;
203C Theatre&lt;br /&gt;
&lt;br /&gt;
203D Stadium&lt;br /&gt;
&lt;br /&gt;
203E Offices&lt;br /&gt;
&lt;br /&gt;
203F Houses&lt;br /&gt;
&lt;br /&gt;
2040 Cinema&lt;br /&gt;
&lt;br /&gt;
2041 Shopping mall&lt;br /&gt;
&lt;br /&gt;
2042 \98Do it&lt;br /&gt;
&lt;br /&gt;
2043 \98List of things to do at this town - click on item for more details&lt;br /&gt;
&lt;br /&gt;
2044 \98Carry out the highlighted action in the list above&lt;br /&gt;
&lt;br /&gt;
2045 \98Actions available:&lt;br /&gt;
&lt;br /&gt;
2046 Small advertising campaign&lt;br /&gt;
&lt;br /&gt;
2047 Medium advertising campaign&lt;br /&gt;
&lt;br /&gt;
2048 Large advertising campaign&lt;br /&gt;
&lt;br /&gt;
2049 Fund local road reconstruction&lt;br /&gt;
&lt;br /&gt;
204A Build statue of company owner&lt;br /&gt;
&lt;br /&gt;
204B Fund new buildings&lt;br /&gt;
&lt;br /&gt;
204C Buy exclusive transport rights&lt;br /&gt;
&lt;br /&gt;
204D \94\80\0d\90 Initiate a small local advertising campaign,to attract more passengers and cargo to your transport services.\0d Cost: \7f&lt;br /&gt;
&lt;br /&gt;
204E \94\80\0d\90 Initiate a medium local advertising campaign,to attract more passengers and cargo to your transport services.\0d Cost: \7f&lt;br /&gt;
&lt;br /&gt;
204F \94\80\0d\90 Initiate a large local advertising campaign,to attract more passengers and cargo to your transport services.\0d Cost: \7f&lt;br /&gt;
&lt;br /&gt;
2050 \94\80\0d\90 Fund the reconstruction of the urban road network. Causes considerable disruption to road traffic for up to 6 months.\0d Cost: \7f&lt;br /&gt;
&lt;br /&gt;
2051 \94\80\0d\90 Build a statue in honour of your company.\0d Cost: \7f&lt;br /&gt;
&lt;br /&gt;
2052 \94\80\0d\90 Fund the construction of new commercial buildings in the town.\0d Cost: \7f&lt;br /&gt;
&lt;br /&gt;
2053 \94\80\0d\90 Buy 1 year&#039;s exclusive transport rights in town. Town authority will only allow passengers and cargo to use your company&#039;s stations.\0d Cost: \7f&lt;br /&gt;
&lt;br /&gt;
2054 \94Can&#039;t do this...&lt;br /&gt;
&lt;br /&gt;
2055 \0f\98Traffic chaos in \80!\0d\0dRoad rebuilding programme funded by \80 brings 6 months of misery to motorists!&lt;br /&gt;
&lt;br /&gt;
2056 \0e\94\80&lt;br /&gt;
&lt;br /&gt;
2057 \8e\80\98 &amp;amp;nbsp;({)&lt;br /&gt;
&lt;br /&gt;
2058 \80 (under construction)&lt;br /&gt;
&lt;br /&gt;
2059 Igloo&lt;br /&gt;
&lt;br /&gt;
205A Tepees&lt;br /&gt;
&lt;br /&gt;
205B ))Teapot-House[[]]Teapot-House[[&lt;br /&gt;
&lt;br /&gt;
205C ))Piggy-Bank[[]]Piggy-Bank[[&lt;br /&gt;
&lt;br /&gt;
=2800 Tree strings=&lt;br /&gt;
&lt;br /&gt;
2800 Plant trees&lt;br /&gt;
&lt;br /&gt;
2801 Place sign&lt;br /&gt;
&lt;br /&gt;
2802 \94Trees&lt;br /&gt;
&lt;br /&gt;
2803 \94...tree already here&lt;br /&gt;
&lt;br /&gt;
2804 \94...site unsuitable&lt;br /&gt;
&lt;br /&gt;
2805 \94Can&#039;t plant tree here...&lt;br /&gt;
&lt;br /&gt;
2806 \94\80&lt;br /&gt;
&lt;br /&gt;
2807 \0e\94\80&lt;br /&gt;
&lt;br /&gt;
2808 \94...too many signs&lt;br /&gt;
&lt;br /&gt;
2809 \94Can&#039;t place sign here...&lt;br /&gt;
&lt;br /&gt;
280A Sign&lt;br /&gt;
&lt;br /&gt;
280B \94Edit sign text&lt;br /&gt;
&lt;br /&gt;
280C \94Can&#039;t change sign name...&lt;br /&gt;
&lt;br /&gt;
280D \98Select tree type to plant&lt;br /&gt;
&lt;br /&gt;
280E Trees&lt;br /&gt;
&lt;br /&gt;
280F Rainforest&lt;br /&gt;
&lt;br /&gt;
2810 Cactus Plants&lt;br /&gt;
&lt;br /&gt;
=3000 Station strings=&lt;br /&gt;
&lt;br /&gt;
3000 \94Rail Station Selection&lt;br /&gt;
&lt;br /&gt;
3001 \94Airport Selection&lt;br /&gt;
&lt;br /&gt;
3002 \98Orientation&lt;br /&gt;
&lt;br /&gt;
3003 \98Number of tracks&lt;br /&gt;
&lt;br /&gt;
3004 \98Platform length&lt;br /&gt;
&lt;br /&gt;
3005 \94Too close to another railway station&lt;br /&gt;
&lt;br /&gt;
3006 \94Adjoins more than one existing station/loading area&lt;br /&gt;
&lt;br /&gt;
3007 \94Too many stations/loading areas in this town&lt;br /&gt;
&lt;br /&gt;
3008 \94Too many stations/loading areas&lt;br /&gt;
&lt;br /&gt;
3009 \94Too close to another station/loading area&lt;br /&gt;
&lt;br /&gt;
300A \94\80 \81\d10&lt;br /&gt;
&lt;br /&gt;
300B \94Must demolish railway station first&lt;br /&gt;
&lt;br /&gt;
300C&lt;br /&gt;
&lt;br /&gt;
300D \94Too close to another airport&lt;br /&gt;
&lt;br /&gt;
300E \94Must demolish airport first&lt;br /&gt;
&lt;br /&gt;
300F \80&lt;br /&gt;
&lt;br /&gt;
3010 \80 North&lt;br /&gt;
&lt;br /&gt;
3011 \80 South&lt;br /&gt;
&lt;br /&gt;
3012 \80 East&lt;br /&gt;
&lt;br /&gt;
3013 \80 West&lt;br /&gt;
&lt;br /&gt;
3014 \80 Central&lt;br /&gt;
&lt;br /&gt;
3015 \80 Transfer&lt;br /&gt;
&lt;br /&gt;
3016 \80 Halt&lt;br /&gt;
&lt;br /&gt;
3017 \80 Valley&lt;br /&gt;
&lt;br /&gt;
3018 \80 Heights&lt;br /&gt;
&lt;br /&gt;
3019 \80 Woods&lt;br /&gt;
&lt;br /&gt;
301A \80 Lakeside&lt;br /&gt;
&lt;br /&gt;
301B \80 Exchange&lt;br /&gt;
&lt;br /&gt;
301C \80 Airport&lt;br /&gt;
&lt;br /&gt;
301D \80 Oilfield&lt;br /&gt;
&lt;br /&gt;
301E \80 Mines&lt;br /&gt;
&lt;br /&gt;
301F \80 Docks&lt;br /&gt;
&lt;br /&gt;
3020 \80 Buoy 1&lt;br /&gt;
&lt;br /&gt;
3021 \80 Buoy 2&lt;br /&gt;
&lt;br /&gt;
3022 \80 Buoy 3&lt;br /&gt;
&lt;br /&gt;
3023 \80 Buoy 4&lt;br /&gt;
&lt;br /&gt;
3024 \80 Buoy 5&lt;br /&gt;
&lt;br /&gt;
3025 \80 Buoy 6&lt;br /&gt;
&lt;br /&gt;
3026 \80 Buoy 7&lt;br /&gt;
&lt;br /&gt;
3027 \80 Buoy 8&lt;br /&gt;
&lt;br /&gt;
3028 \80 Buoy 9&lt;br /&gt;
&lt;br /&gt;
3029 \80 Annexe&lt;br /&gt;
&lt;br /&gt;
302A \80 Sidings&lt;br /&gt;
&lt;br /&gt;
302B \80 Branch&lt;br /&gt;
&lt;br /&gt;
302C Upper \80&lt;br /&gt;
&lt;br /&gt;
302D Lower \80&lt;br /&gt;
&lt;br /&gt;
302E \80 Heliport&lt;br /&gt;
&lt;br /&gt;
302F \80 Forest&lt;br /&gt;
&lt;br /&gt;
3030 Rename station/loading area&lt;br /&gt;
&lt;br /&gt;
3031 \94Can&#039;t rename station...&lt;br /&gt;
&lt;br /&gt;
3032 \98Ratings&lt;br /&gt;
&lt;br /&gt;
3033 \98Accepts&lt;br /&gt;
&lt;br /&gt;
3034 \98Local rating of transport service:&lt;br /&gt;
&lt;br /&gt;
3035 Appalling&lt;br /&gt;
&lt;br /&gt;
3036 Very Poor&lt;br /&gt;
&lt;br /&gt;
3037 Poor&lt;br /&gt;
&lt;br /&gt;
3038 Mediocre&lt;br /&gt;
&lt;br /&gt;
3039 Good&lt;br /&gt;
&lt;br /&gt;
303A Very Good&lt;br /&gt;
&lt;br /&gt;
303B Excellent&lt;br /&gt;
&lt;br /&gt;
303C Outstanding&lt;br /&gt;
&lt;br /&gt;
303D \94\80: \90\80 (}%)&lt;br /&gt;
&lt;br /&gt;
303E \94\80 no longer accepts \80&lt;br /&gt;
&lt;br /&gt;
303F \94\80 no longer accepts \80 or \80&lt;br /&gt;
&lt;br /&gt;
3040 \94\80 now accepts \80&lt;br /&gt;
&lt;br /&gt;
3041 \94\80 now accepts \80 and \80&lt;br /&gt;
&lt;br /&gt;
3042 \94Bus Station Orientation&lt;br /&gt;
&lt;br /&gt;
3043 \94Lorry Station Orient.&lt;br /&gt;
&lt;br /&gt;
3044 \94Too close to another bus station&lt;br /&gt;
&lt;br /&gt;
3045 \94Too close to another lorry station&lt;br /&gt;
&lt;br /&gt;
3046 \94Must demolish bus station first&lt;br /&gt;
&lt;br /&gt;
3047 \94Must demolish lorry station first&lt;br /&gt;
&lt;br /&gt;
3048 \94\80 - Stations&lt;br /&gt;
&lt;br /&gt;
3049 \90\80 \81\d10&lt;br /&gt;
&lt;br /&gt;
304A \90- None -&lt;br /&gt;
&lt;br /&gt;
304B \94...site unsuitable&lt;br /&gt;
&lt;br /&gt;
304C \94Too close to another dock&lt;br /&gt;
&lt;br /&gt;
304D \94Must demolish dock first&lt;br /&gt;
&lt;br /&gt;
304E \98Select railway station orientation&lt;br /&gt;
&lt;br /&gt;
304F \98Select number of platforms for railway station&lt;br /&gt;
&lt;br /&gt;
3050 \98Select length of railway station&lt;br /&gt;
&lt;br /&gt;
3051 \98Select bus station orientation&lt;br /&gt;
&lt;br /&gt;
3052 \98Select lorry loading bay orientation&lt;br /&gt;
&lt;br /&gt;
3053 \98Centre main view on station location&lt;br /&gt;
&lt;br /&gt;
3054 \98Show station ratings&lt;br /&gt;
&lt;br /&gt;
3055 \98Change name of station&lt;br /&gt;
&lt;br /&gt;
3056 \98Show list of accepted cargo&lt;br /&gt;
&lt;br /&gt;
3057 \98Station names - click on name to centre main view on station&lt;br /&gt;
&lt;br /&gt;
3058 \98Select size/type of airport&lt;br /&gt;
&lt;br /&gt;
3059 \98Small&lt;br /&gt;
&lt;br /&gt;
305A \98Large&lt;br /&gt;
&lt;br /&gt;
305B \98Size&lt;br /&gt;
&lt;br /&gt;
305C \98\80 \81\d10&lt;br /&gt;
&lt;br /&gt;
305D \0e\98\80 \81\d10&lt;br /&gt;
&lt;br /&gt;
305E Railway station&lt;br /&gt;
&lt;br /&gt;
305F Aircraft hangar&lt;br /&gt;
&lt;br /&gt;
3060 Airport&lt;br /&gt;
&lt;br /&gt;
3061 Lorry loading area&lt;br /&gt;
&lt;br /&gt;
3062 Bus station&lt;br /&gt;
&lt;br /&gt;
3063 Ship dock&lt;br /&gt;
&lt;br /&gt;
3064 \98Highlight catchment area of proposed site&lt;br /&gt;
&lt;br /&gt;
3065 \98Don&#039;t highlight catchment area of proposed site&lt;br /&gt;
&lt;br /&gt;
3066 \98Catchment area highlight&lt;br /&gt;
&lt;br /&gt;
3067 \94Monorail Station Select.&lt;br /&gt;
&lt;br /&gt;
3068 \94Dock&lt;br /&gt;
&lt;br /&gt;
3069 Buoy&lt;br /&gt;
&lt;br /&gt;
306A \94...buoy in the way&lt;br /&gt;
&lt;br /&gt;
306B \98Heliport&lt;br /&gt;
&lt;br /&gt;
306C \94...station too spread out&lt;br /&gt;
&lt;br /&gt;
=3800 Water strings=&lt;br /&gt;
&lt;br /&gt;
3800 \94Ship Depot Orientation&lt;br /&gt;
&lt;br /&gt;
3801 \94...must be built on water&lt;br /&gt;
&lt;br /&gt;
3802 \94Can&#039;t build ship depot here...&lt;br /&gt;
&lt;br /&gt;
3803 \98Select ship depot orientation&lt;br /&gt;
&lt;br /&gt;
3804 Water&lt;br /&gt;
&lt;br /&gt;
3805 Coast or riverbank&lt;br /&gt;
&lt;br /&gt;
3806 Ship depot&lt;br /&gt;
&lt;br /&gt;
3807 \94...Can&#039;t build on water&lt;br /&gt;
&lt;br /&gt;
=4000 Load/save strings=&lt;br /&gt;
&lt;br /&gt;
4000 \94Save Game&lt;br /&gt;
&lt;br /&gt;
4001 \94Load Game&lt;br /&gt;
&lt;br /&gt;
4002 \98Save&lt;br /&gt;
&lt;br /&gt;
4003 \98Delete&lt;br /&gt;
&lt;br /&gt;
4004 \80, \82&lt;br /&gt;
&lt;br /&gt;
4005 \98{ bytes free&lt;br /&gt;
&lt;br /&gt;
4006 \98Unable to read drive&lt;br /&gt;
&lt;br /&gt;
4007 \94Game Save Failed&lt;br /&gt;
&lt;br /&gt;
4008 \94Unable to delete file&lt;br /&gt;
&lt;br /&gt;
4009 \94Game Load Failed&lt;br /&gt;
&lt;br /&gt;
400A \98List of drives,directories and saved-game files&lt;br /&gt;
&lt;br /&gt;
400B \98Currently selected name for saved-game&lt;br /&gt;
&lt;br /&gt;
400C \98Delete the currently selected saved-game&lt;br /&gt;
&lt;br /&gt;
400D \98Save the current game,using the selected name&lt;br /&gt;
&lt;br /&gt;
400E \94Select New Game Type&lt;br /&gt;
&lt;br /&gt;
400F \98Select scenario (green),pre-set game (blue),or random new game&lt;br /&gt;
&lt;br /&gt;
4010 Generate random new game&lt;br /&gt;
&lt;br /&gt;
=4800 Industry strings=&lt;br /&gt;
&lt;br /&gt;
4800 \94\80 in the way&lt;br /&gt;
&lt;br /&gt;
4801 \94\80 \80&lt;br /&gt;
&lt;br /&gt;
4802 Coal Mine&lt;br /&gt;
&lt;br /&gt;
4803 Power Station&lt;br /&gt;
&lt;br /&gt;
4804 Sawmill&lt;br /&gt;
&lt;br /&gt;
4805 Forest&lt;br /&gt;
&lt;br /&gt;
4806 Oil Refinery&lt;br /&gt;
&lt;br /&gt;
4807 Oil Rig&lt;br /&gt;
&lt;br /&gt;
4808 Factory&lt;br /&gt;
&lt;br /&gt;
4809 Printing Works&lt;br /&gt;
&lt;br /&gt;
480A Steel Mill&lt;br /&gt;
&lt;br /&gt;
480B Farm&lt;br /&gt;
&lt;br /&gt;
480C Copper Ore Mine&lt;br /&gt;
&lt;br /&gt;
480D Oil Wells&lt;br /&gt;
&lt;br /&gt;
480E Bank&lt;br /&gt;
&lt;br /&gt;
480F Food Processing Plant&lt;br /&gt;
&lt;br /&gt;
4810 Paper Mill&lt;br /&gt;
&lt;br /&gt;
4811 Gold Mine&lt;br /&gt;
&lt;br /&gt;
4812 Bank&lt;br /&gt;
&lt;br /&gt;
4813 Diamond Mine&lt;br /&gt;
&lt;br /&gt;
4814 Iron Ore Mine&lt;br /&gt;
&lt;br /&gt;
4815 Fruit Plantation&lt;br /&gt;
&lt;br /&gt;
4816 Rubber Plantation&lt;br /&gt;
&lt;br /&gt;
4817 Water Supply&lt;br /&gt;
&lt;br /&gt;
4818 Water Tower&lt;br /&gt;
&lt;br /&gt;
4819 Factory&lt;br /&gt;
&lt;br /&gt;
481A Farm&lt;br /&gt;
&lt;br /&gt;
481B Lumber Mill&lt;br /&gt;
&lt;br /&gt;
481C Candyfloss Forest&lt;br /&gt;
&lt;br /&gt;
481D Sweet Factory&lt;br /&gt;
&lt;br /&gt;
481E Battery Farm&lt;br /&gt;
&lt;br /&gt;
481F Cola Wells&lt;br /&gt;
&lt;br /&gt;
4820 Toy Shop&lt;br /&gt;
&lt;br /&gt;
4821 Toy Factory&lt;br /&gt;
&lt;br /&gt;
4822 Plastic Fountains&lt;br /&gt;
&lt;br /&gt;
4823 Fizzy Drink Factory&lt;br /&gt;
&lt;br /&gt;
4824 Bubble Generator&lt;br /&gt;
&lt;br /&gt;
4825 Toffee Quarry&lt;br /&gt;
&lt;br /&gt;
4826 Sugar Mine&lt;br /&gt;
&lt;br /&gt;
4827 \98Requires: \90\80&lt;br /&gt;
&lt;br /&gt;
4828 \98Requires: \90\80,\80&lt;br /&gt;
&lt;br /&gt;
4829 \98Requires: \90\80,\80,\80&lt;br /&gt;
&lt;br /&gt;
482A \98Production last month:&lt;br /&gt;
&lt;br /&gt;
482B \90\80\98 (|% transported)&lt;br /&gt;
&lt;br /&gt;
482C \98Centre the main view on industry location&lt;br /&gt;
&lt;br /&gt;
482D \98\0fNew \80 under construction near \80!&lt;br /&gt;
&lt;br /&gt;
482E \98\0fNew \80 being planted near \80!&lt;br /&gt;
&lt;br /&gt;
482F \98Cost: \90\7f&lt;br /&gt;
&lt;br /&gt;
4830 \94Can&#039;t construct this industry type here...&lt;br /&gt;
&lt;br /&gt;
4831 \94...forest can only be planted above snow-line&lt;br /&gt;
&lt;br /&gt;
4832 \98\0f\80 \80 announces imminent closure!&lt;br /&gt;
&lt;br /&gt;
4833 \98\0fSupply problems cause \80 \80 to announce imminent closure!&lt;br /&gt;
&lt;br /&gt;
4834 \98\0fLack of nearby trees causes \80 \80 to announce imminent closure!&lt;br /&gt;
&lt;br /&gt;
4835 \98\0f\80 \80 increases production!&lt;br /&gt;
&lt;br /&gt;
4836 \98\0fNew coal seam found at \80 \80!\0dProduction is expected to double!&lt;br /&gt;
&lt;br /&gt;
4837 \98\0fNew oil reserves found at \80 \80!\0dProduction is expected to double!&lt;br /&gt;
&lt;br /&gt;
4838 \98\0fImproved farming methods at \80 \80 are expected to double production!&lt;br /&gt;
&lt;br /&gt;
4839 \98\0f\80 \80 production down by 50%&lt;br /&gt;
&lt;br /&gt;
483A \98\0fInsect infestation causes havoc at \80 \80!\0dProduction down by 50%&lt;br /&gt;
&lt;br /&gt;
483B \94...can only be positioned near edges of map&lt;br /&gt;
&lt;br /&gt;
=5000 Tunnel and bridge strings=&lt;br /&gt;
&lt;br /&gt;
5000 \94Train in tunnel&lt;br /&gt;
&lt;br /&gt;
5001 \94Road vehicle in tunnel&lt;br /&gt;
&lt;br /&gt;
5002&lt;br /&gt;
&lt;br /&gt;
5003 \94Another tunnel in the way&lt;br /&gt;
&lt;br /&gt;
5004&lt;br /&gt;
&lt;br /&gt;
5005 \94Unable to excavate land for other end of tunnel&lt;br /&gt;
&lt;br /&gt;
5006 \94Must demolish tunnel first&lt;br /&gt;
&lt;br /&gt;
5007 \94Must demolish bridge first&lt;br /&gt;
&lt;br /&gt;
5008 \94Cannot start and end on same position&lt;br /&gt;
&lt;br /&gt;
5009 \94Level land or water required under bridge&lt;br /&gt;
&lt;br /&gt;
500A \94Start and end must be in line&lt;br /&gt;
&lt;br /&gt;
500B \94Site unsuitable for tunnel entrance&lt;br /&gt;
&lt;br /&gt;
500C&lt;br /&gt;
&lt;br /&gt;
500D \8a\80,\0d \84 &amp;amp;nbsp; \94\7f&lt;br /&gt;
&lt;br /&gt;
500E Suspension,Steel&lt;br /&gt;
&lt;br /&gt;
500F Girder,Steel&lt;br /&gt;
&lt;br /&gt;
5010 Cantilever,Steel&lt;br /&gt;
&lt;br /&gt;
5011 Suspension,Concrete&lt;br /&gt;
&lt;br /&gt;
5012 Wooden&lt;br /&gt;
&lt;br /&gt;
5013 Concrete&lt;br /&gt;
&lt;br /&gt;
5014 Tubular,Steel&lt;br /&gt;
&lt;br /&gt;
5015 \94Can&#039;t build bridge here...&lt;br /&gt;
&lt;br /&gt;
5016 \94Can&#039;t build tunnel here...&lt;br /&gt;
&lt;br /&gt;
5017 Railway tunnel&lt;br /&gt;
&lt;br /&gt;
5018 Road tunnel&lt;br /&gt;
&lt;br /&gt;
5019&lt;br /&gt;
&lt;br /&gt;
501A&lt;br /&gt;
&lt;br /&gt;
501B Steel suspension rail bridge&lt;br /&gt;
&lt;br /&gt;
501C Steel girder rail bridge&lt;br /&gt;
&lt;br /&gt;
501D Steel cantilever rail bridge&lt;br /&gt;
&lt;br /&gt;
501E Reinforced concrete suspension rail bridge&lt;br /&gt;
&lt;br /&gt;
501F Wooden rail bridge&lt;br /&gt;
&lt;br /&gt;
5020 Concrete rail bridge&lt;br /&gt;
&lt;br /&gt;
5021 Steel suspension road bridge&lt;br /&gt;
&lt;br /&gt;
5022 Steel girder road bridge&lt;br /&gt;
&lt;br /&gt;
5023 Steel cantilever road bridge&lt;br /&gt;
&lt;br /&gt;
5024 Reinforced concrete suspension road bridge&lt;br /&gt;
&lt;br /&gt;
5025 Wooden road bridge&lt;br /&gt;
&lt;br /&gt;
5026 Concrete road bridge&lt;br /&gt;
&lt;br /&gt;
5027 Tubular rail bridge&lt;br /&gt;
&lt;br /&gt;
5028 Tubular road bridge&lt;br /&gt;
&lt;br /&gt;
5029 Steel&lt;br /&gt;
&lt;br /&gt;
=5800 Object strings=&lt;br /&gt;
&lt;br /&gt;
5800 \94Object in the way&lt;br /&gt;
&lt;br /&gt;
5801 Transmitter&lt;br /&gt;
&lt;br /&gt;
5802 Lighthouse&lt;br /&gt;
&lt;br /&gt;
5803 Company Headquarters&lt;br /&gt;
&lt;br /&gt;
5804 \94...company headquarters in the way&lt;br /&gt;
&lt;br /&gt;
5805 Company-owned land&lt;br /&gt;
&lt;br /&gt;
5806 \94Can&#039;t purchase this land area...&lt;br /&gt;
&lt;br /&gt;
5807 \94...you already own it!&lt;br /&gt;
&lt;br /&gt;
=6000 Debugger strings=&lt;br /&gt;
&lt;br /&gt;
6000 \94Debugger&lt;br /&gt;
&lt;br /&gt;
6001 \8bAnimation blocks: |/|&lt;br /&gt;
&lt;br /&gt;
6002 \98+Cash&lt;br /&gt;
&lt;br /&gt;
6003 \98+Towns&lt;br /&gt;
&lt;br /&gt;
6004 \98{&lt;br /&gt;
&lt;br /&gt;
6005 \98+&lt;br /&gt;
&lt;br /&gt;
6006 \98-&lt;br /&gt;
&lt;br /&gt;
6007 \8bNon-Effect Objects: |/|&lt;br /&gt;
&lt;br /&gt;
6008 \8bEffect Objects: |/|&lt;br /&gt;
&lt;br /&gt;
6009 \8bText Effects: |/|&lt;br /&gt;
&lt;br /&gt;
600A \98Land Code: |&lt;br /&gt;
&lt;br /&gt;
600B \8bOrders: |/|&lt;br /&gt;
&lt;br /&gt;
600C \8bNames: |/|&lt;br /&gt;
&lt;br /&gt;
600D \98AllVeh&lt;br /&gt;
&lt;br /&gt;
600E \98+Cmpny&lt;br /&gt;
&lt;br /&gt;
600F \98Interrupts: |&lt;br /&gt;
&lt;br /&gt;
6010 \98ID: |&lt;br /&gt;
&lt;br /&gt;
6011 \98Serial resends: |&lt;br /&gt;
&lt;br /&gt;
6012 \8eRand.Seed: \90|&lt;br /&gt;
&lt;br /&gt;
6013 \8bGr.Cache Used: {/{&lt;br /&gt;
&lt;br /&gt;
6014 \98Fingerprint: --------&lt;br /&gt;
&lt;br /&gt;
6015 \8bStations: |/|&lt;br /&gt;
&lt;br /&gt;
6016 \98Random seed: \8e{&lt;br /&gt;
&lt;br /&gt;
6017 \98NPC PZ&lt;br /&gt;
&lt;br /&gt;
6018 \94GAMES OUT OF SYNC!&lt;br /&gt;
&lt;br /&gt;
=6800 Difficulty strings=&lt;br /&gt;
&lt;br /&gt;
6800 \94Difficulty Level&lt;br /&gt;
&lt;br /&gt;
6801 \98Easy&lt;br /&gt;
&lt;br /&gt;
6802 \98Medium&lt;br /&gt;
&lt;br /&gt;
6803 \98Hard&lt;br /&gt;
&lt;br /&gt;
6804 \98Custom&lt;br /&gt;
&lt;br /&gt;
6805 \95Maximum no. competitors: \8e|&lt;br /&gt;
&lt;br /&gt;
6806 \95Competitor start time: \8e\80&lt;br /&gt;
&lt;br /&gt;
6807 \95No. of towns: \8e\80&lt;br /&gt;
&lt;br /&gt;
6808 \95No. of industries: \8e\80&lt;br /&gt;
&lt;br /&gt;
6809 \95Maximum initial loan: \8e\7f&lt;br /&gt;
&lt;br /&gt;
680A \95Initial interest rate: \8e|%&lt;br /&gt;
&lt;br /&gt;
680B \95Vehicle running costs: \8e\80&lt;br /&gt;
&lt;br /&gt;
680C \95Construction speed of competitors: \8e\80&lt;br /&gt;
&lt;br /&gt;
680D \95Intelligence of competitors: \8e\80&lt;br /&gt;
&lt;br /&gt;
680E \95Vehicle breakdowns: \8e\80&lt;br /&gt;
&lt;br /&gt;
680F \95Subsidy multiplier: \8e\80&lt;br /&gt;
&lt;br /&gt;
6810 \95Cost of construction: \8e\80&lt;br /&gt;
&lt;br /&gt;
6811 \95Terrain type: \8e\80&lt;br /&gt;
&lt;br /&gt;
6812 \95Quantity of sea/lakes: \8e\80&lt;br /&gt;
&lt;br /&gt;
6813 \95Economy: \8e\80&lt;br /&gt;
&lt;br /&gt;
6814 \95Train reversing: \8e\80&lt;br /&gt;
&lt;br /&gt;
6815 \95Disasters: \8e\80&lt;br /&gt;
&lt;br /&gt;
6816 Low&lt;br /&gt;
&lt;br /&gt;
6817 Normal&lt;br /&gt;
&lt;br /&gt;
6818 High&lt;br /&gt;
&lt;br /&gt;
6819 \98&amp;amp;amp;lt;&lt;br /&gt;
&lt;br /&gt;
681A \98&amp;amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
681B Very Slow&lt;br /&gt;
&lt;br /&gt;
681C Slow&lt;br /&gt;
&lt;br /&gt;
681D Medium&lt;br /&gt;
&lt;br /&gt;
681E Fast&lt;br /&gt;
&lt;br /&gt;
681F Very Fast&lt;br /&gt;
&lt;br /&gt;
6820 Low&lt;br /&gt;
&lt;br /&gt;
6821 Medium&lt;br /&gt;
&lt;br /&gt;
6822 High&lt;br /&gt;
&lt;br /&gt;
6823 None&lt;br /&gt;
&lt;br /&gt;
6824 Reduced&lt;br /&gt;
&lt;br /&gt;
6825 Normal&lt;br /&gt;
&lt;br /&gt;
6826 x1.5&lt;br /&gt;
&lt;br /&gt;
6827 x2&lt;br /&gt;
&lt;br /&gt;
6828 x3&lt;br /&gt;
&lt;br /&gt;
6829 x4&lt;br /&gt;
&lt;br /&gt;
682A Very Flat&lt;br /&gt;
&lt;br /&gt;
682B Flat&lt;br /&gt;
&lt;br /&gt;
682C Hilly&lt;br /&gt;
&lt;br /&gt;
682D Mountainous&lt;br /&gt;
&lt;br /&gt;
682E Steady&lt;br /&gt;
&lt;br /&gt;
682F Fluctuating&lt;br /&gt;
&lt;br /&gt;
6830 Immediate&lt;br /&gt;
&lt;br /&gt;
6831 3 months after player&lt;br /&gt;
&lt;br /&gt;
6832 6 months after player&lt;br /&gt;
&lt;br /&gt;
6833 9 months after player&lt;br /&gt;
&lt;br /&gt;
6834 At end of line,and at stations&lt;br /&gt;
&lt;br /&gt;
6835 At end of line only&lt;br /&gt;
&lt;br /&gt;
6836 Off&lt;br /&gt;
&lt;br /&gt;
6837 On&lt;br /&gt;
&lt;br /&gt;
6838 \98Show hi-score chart&lt;br /&gt;
&lt;br /&gt;
=7000 Company strings=&lt;br /&gt;
&lt;br /&gt;
7000 Unnamed\85\85&lt;br /&gt;
&lt;br /&gt;
7001 \94\80\98\80&lt;br /&gt;
&lt;br /&gt;
7002 &amp;amp;nbsp;(Player 1)&lt;br /&gt;
&lt;br /&gt;
7003 &amp;amp;nbsp;(Player 2)&lt;br /&gt;
&lt;br /&gt;
7004 \98New Face&lt;br /&gt;
&lt;br /&gt;
7005 \98Colour Scheme&lt;br /&gt;
&lt;br /&gt;
7006 \8aColour Scheme:&lt;br /&gt;
&lt;br /&gt;
7007 \94New Colour Scheme&lt;br /&gt;
&lt;br /&gt;
7008 \98Company Name&lt;br /&gt;
&lt;br /&gt;
7009 \98Manager Name&lt;br /&gt;
&lt;br /&gt;
700A Company Name&lt;br /&gt;
&lt;br /&gt;
700B Manager&#039;s Name&lt;br /&gt;
&lt;br /&gt;
700C \94Can&#039;t change company name...&lt;br /&gt;
&lt;br /&gt;
700D \94Can&#039;t change manager&#039;s name...&lt;br /&gt;
&lt;br /&gt;
700E \94\80 Finances\98\80&lt;br /&gt;
&lt;br /&gt;
700F \94Expenditure/Income&lt;br /&gt;
&lt;br /&gt;
7010 \94~&lt;br /&gt;
&lt;br /&gt;
7011 \8aConstruction&lt;br /&gt;
&lt;br /&gt;
7012 \8aNew Vehicles&lt;br /&gt;
&lt;br /&gt;
7013 \8aTrain Running Costs&lt;br /&gt;
&lt;br /&gt;
7014 \8aRoad Veh. Running Costs&lt;br /&gt;
&lt;br /&gt;
7015 \8aAircraft Running Costs&lt;br /&gt;
&lt;br /&gt;
7016 \8aShip Running Costs&lt;br /&gt;
&lt;br /&gt;
7017 \8aProperty Maintenance&lt;br /&gt;
&lt;br /&gt;
7018 \8aTrain Income&lt;br /&gt;
&lt;br /&gt;
7019 \8aRoad Vehicles Income&lt;br /&gt;
&lt;br /&gt;
701A \8aAircraft Income&lt;br /&gt;
&lt;br /&gt;
701B \8aShip Income&lt;br /&gt;
&lt;br /&gt;
701C \8aLoan Interest&lt;br /&gt;
&lt;br /&gt;
701D \8aOther&lt;br /&gt;
&lt;br /&gt;
701E \98-\7f&lt;br /&gt;
&lt;br /&gt;
701F \98+\7f&lt;br /&gt;
&lt;br /&gt;
7020 \94Total:&lt;br /&gt;
&lt;br /&gt;
7021 \80\80&lt;br /&gt;
&lt;br /&gt;
7022 \94Income Graph&lt;br /&gt;
&lt;br /&gt;
7023 \7f&lt;br /&gt;
&lt;br /&gt;
7024 {&lt;br /&gt;
&lt;br /&gt;
7025 \94Operating Profit Graph&lt;br /&gt;
&lt;br /&gt;
7026 \94Bank Balance&lt;br /&gt;
&lt;br /&gt;
7027 \94Loan&lt;br /&gt;
&lt;br /&gt;
7028 \98\7f&lt;br /&gt;
&lt;br /&gt;
7029 \98Borrow \85\85\85\85\7f&lt;br /&gt;
&lt;br /&gt;
702A \98Repay \85\85\85\85\7f&lt;br /&gt;
&lt;br /&gt;
702B \94...maximum permitted loan size is \7f&lt;br /&gt;
&lt;br /&gt;
702C \94Can&#039;t borrow any more money...&lt;br /&gt;
&lt;br /&gt;
702D \94...loan already repayed&lt;br /&gt;
&lt;br /&gt;
702E \94...\7f required&lt;br /&gt;
&lt;br /&gt;
702F \94Can&#039;t repay loan...&lt;br /&gt;
&lt;br /&gt;
7030 \98Select new face for manager&lt;br /&gt;
&lt;br /&gt;
7031 \98Change the company vehicle livery&lt;br /&gt;
&lt;br /&gt;
7032 \98Change the manager&#039;s name&lt;br /&gt;
&lt;br /&gt;
7033 \98Change the company name&lt;br /&gt;
&lt;br /&gt;
7034 \98Click on selected new colour scheme&lt;br /&gt;
&lt;br /&gt;
7035 \98Increase size of loan&lt;br /&gt;
&lt;br /&gt;
7036 \98Repay part of loan&lt;br /&gt;
&lt;br /&gt;
7037 \94\80\0d\8a(Manager)&lt;br /&gt;
&lt;br /&gt;
7038 \8aInaugurated: \94~&lt;br /&gt;
&lt;br /&gt;
7039 \8aVehicles:&lt;br /&gt;
&lt;br /&gt;
703A \94| train&lt;br /&gt;
&lt;br /&gt;
703B \94| trains&lt;br /&gt;
&lt;br /&gt;
703C \94| road vehicle&lt;br /&gt;
&lt;br /&gt;
703D \94| road vehicles&lt;br /&gt;
&lt;br /&gt;
703E \94| aircraft&lt;br /&gt;
&lt;br /&gt;
703F \94| aircraft&lt;br /&gt;
&lt;br /&gt;
7040 \94| ship&lt;br /&gt;
&lt;br /&gt;
7041 \94| ships&lt;br /&gt;
&lt;br /&gt;
7042 \94None&lt;br /&gt;
&lt;br /&gt;
7043 \94Face Selection&lt;br /&gt;
&lt;br /&gt;
7044 \98Male&lt;br /&gt;
&lt;br /&gt;
7045 \98Female&lt;br /&gt;
&lt;br /&gt;
7046 \98New Face&lt;br /&gt;
&lt;br /&gt;
7047 \98Cancel new face selection&lt;br /&gt;
&lt;br /&gt;
7048 \98Accept new face selection&lt;br /&gt;
&lt;br /&gt;
7049 \98Select male faces&lt;br /&gt;
&lt;br /&gt;
704A \98Select female faces&lt;br /&gt;
&lt;br /&gt;
704B \98Generate random new face&lt;br /&gt;
&lt;br /&gt;
704C \98Key&lt;br /&gt;
&lt;br /&gt;
704D \98Show key to graphs&lt;br /&gt;
&lt;br /&gt;
704E \94Key to company graphs&lt;br /&gt;
&lt;br /&gt;
704F \98Click here to toggle company&#039;s entry on graph on/off&lt;br /&gt;
&lt;br /&gt;
7050 \94Units of cargo delivered&lt;br /&gt;
&lt;br /&gt;
7051 \94Company performance ratings (maximum rating=1000)&lt;br /&gt;
&lt;br /&gt;
7052 \94Company values&lt;br /&gt;
&lt;br /&gt;
7053 \94Company League Table&lt;br /&gt;
&lt;br /&gt;
7054 \94\80\01-\8e\80 \98\80 &amp;amp;nbsp; &#039;\80&#039;&lt;br /&gt;
&lt;br /&gt;
7055 \90\80\01-\8e\80 \98\80 &amp;amp;nbsp; &#039;\80&#039;&lt;br /&gt;
&lt;br /&gt;
7056 \98\0fTransport company in trouble!&lt;br /&gt;
&lt;br /&gt;
7057 \98\0f\80 will be sold off or declared bankrupt unless performance increases soon!&lt;br /&gt;
&lt;br /&gt;
7058 \98\80\0d(Manager)&lt;br /&gt;
&lt;br /&gt;
7059 \98\0fTransport company merger!&lt;br /&gt;
&lt;br /&gt;
705A \98\0f\80 has been sold to \80 for \7f!&lt;br /&gt;
&lt;br /&gt;
705B \94We are looking for a transport company to take-over our company\0d\0dDo you want to purchase \80 for \7f?&lt;br /&gt;
&lt;br /&gt;
705C \98\0fBankrupt!&lt;br /&gt;
&lt;br /&gt;
705D \98\0f\80 has been closed down by creditors and all assets sold off!&lt;br /&gt;
&lt;br /&gt;
705E \98\0fNew transport company launched!&lt;br /&gt;
&lt;br /&gt;
705F \98\0f\80 starts construction near \80!&lt;br /&gt;
&lt;br /&gt;
7060 \94Can&#039;t buy company...&lt;br /&gt;
&lt;br /&gt;
7061 \94Cargo Payment Rates&lt;br /&gt;
&lt;br /&gt;
7062 \98\0eDays in transit&lt;br /&gt;
&lt;br /&gt;
7063 \98\0ePayment for delivering 10 units (or 1,000 litres) of cargo a distance of 20 squares&lt;br /&gt;
&lt;br /&gt;
7064 \98Toggle graph for cargo type on/off&lt;br /&gt;
&lt;br /&gt;
7065 \98\0e\80&lt;br /&gt;
&lt;br /&gt;
7066 Engineer&lt;br /&gt;
&lt;br /&gt;
7067 Traffic Manager&lt;br /&gt;
&lt;br /&gt;
7068 Transport Coordinator&lt;br /&gt;
&lt;br /&gt;
7069 Route Supervisor&lt;br /&gt;
&lt;br /&gt;
706A Director&lt;br /&gt;
&lt;br /&gt;
706B Chief Executive&lt;br /&gt;
&lt;br /&gt;
706C Chairman&lt;br /&gt;
&lt;br /&gt;
706D President&lt;br /&gt;
&lt;br /&gt;
706E Tycoon&lt;br /&gt;
&lt;br /&gt;
706F \98Build HQ&lt;br /&gt;
&lt;br /&gt;
7070 \98Build company headquarters / view company headquarters&lt;br /&gt;
&lt;br /&gt;
7071 \94Can&#039;t build company headquarters...&lt;br /&gt;
&lt;br /&gt;
7072 \98View HQ&lt;br /&gt;
&lt;br /&gt;
7073 \0f\98World Recession!\0d\0dFinancial experts fear worst as economy slumps!&lt;br /&gt;
&lt;br /&gt;
7074 \0f\98Recession Over!\0d\0dUpturn in trade gives confidence to industries as economy strengthens!&lt;br /&gt;
&lt;br /&gt;
7075 \98Toggle large/small window size&lt;br /&gt;
&lt;br /&gt;
7076 \8aCompany value: \94\7f&lt;br /&gt;
&lt;br /&gt;
7077 \98Buy 25% share in company&lt;br /&gt;
&lt;br /&gt;
7078 \98Sell 25% share in company&lt;br /&gt;
&lt;br /&gt;
7079 \98Buy 25% share in this company&lt;br /&gt;
&lt;br /&gt;
707A \98Sell 25% share in this company&lt;br /&gt;
&lt;br /&gt;
707B \94Can&#039;t buy 25% share in this company...&lt;br /&gt;
&lt;br /&gt;
707C \94Can&#039;t sell 25% share in this company...&lt;br /&gt;
&lt;br /&gt;
707D \94(|% owned by \80)&lt;br /&gt;
&lt;br /&gt;
707E \94(|% owned by \80\0d |% owned by \80)&lt;br /&gt;
&lt;br /&gt;
707F \98\0f\80 has been taken over by \80!&lt;br /&gt;
&lt;br /&gt;
=7800 Custom strings=&lt;br /&gt;
&lt;br /&gt;
These cannot be set directly; an entry is generated every time the player enters a custom name for example for signs, stations or vehicles.&lt;br /&gt;
&lt;br /&gt;
=8000 Vehicle type names=&lt;br /&gt;
&lt;br /&gt;
Note, IDs 8000..80FF will be changed by using a regular action 4 to name new vehicles, but not by using &amp;amp;quot;custom vehicle names&amp;amp;quot; from vehicle.dat which use custom strings instead.&lt;br /&gt;
&lt;br /&gt;
8000 Kirby Paul Tank (Steam)&lt;br /&gt;
&lt;br /&gt;
8001 MJS 250 (Diesel)&lt;br /&gt;
&lt;br /&gt;
8002 Ploddyphut ))Choo-Choo[[]]Choo-Choo[[&lt;br /&gt;
&lt;br /&gt;
8003 Powernaut ))Choo-Choo[[]]Choo-Choo[[&lt;br /&gt;
&lt;br /&gt;
8004 Mightymover ))Choo-Choo[[]]Choo-Choo[[&lt;br /&gt;
&lt;br /&gt;
8005 Ploddyphut Diesel&lt;br /&gt;
&lt;br /&gt;
8006 Powernaut Diesel&lt;br /&gt;
&lt;br /&gt;
8007 Wills 2-8-0 (Steam)&lt;br /&gt;
&lt;br /&gt;
8008 Chaney &#039;Jubilee&#039; (Steam)&lt;br /&gt;
&lt;br /&gt;
8009 Ginzu &#039;A4&#039; (Steam)&lt;br /&gt;
&lt;br /&gt;
800A SH &#039;8P&#039; (Steam)&lt;br /&gt;
&lt;br /&gt;
800B ))Manley-Morel[[]]Manley-Morel[[ DMU (Diesel)&lt;br /&gt;
&lt;br /&gt;
800C &#039;Dash&#039; (Diesel)&lt;br /&gt;
&lt;br /&gt;
800D SH/Hendry &#039;25&#039; (Diesel)&lt;br /&gt;
&lt;br /&gt;
800E UU &#039;37&#039; (Diesel)&lt;br /&gt;
&lt;br /&gt;
800F Floss &#039;47&#039; (Diesel)&lt;br /&gt;
&lt;br /&gt;
8010 CS 4000 (Diesel)&lt;br /&gt;
&lt;br /&gt;
8011 CS 2400 (Diesel)&lt;br /&gt;
&lt;br /&gt;
8012 Centennial (Diesel)&lt;br /&gt;
&lt;br /&gt;
8013 Kelling 3100 (Diesel)&lt;br /&gt;
&lt;br /&gt;
8014 Turner Turbo (Diesel)&lt;br /&gt;
&lt;br /&gt;
8015 MJS 1000 (Diesel)&lt;br /&gt;
&lt;br /&gt;
8016 SH &#039;125&#039; (Diesel)&lt;br /&gt;
&lt;br /&gt;
8017 SH &#039;30&#039; (Electric)&lt;br /&gt;
&lt;br /&gt;
8018 SH &#039;40&#039; (Electric)&lt;br /&gt;
&lt;br /&gt;
8019 &#039;T.I.M.&#039; (Electric)&lt;br /&gt;
&lt;br /&gt;
801A &#039;AsiaStar&#039; (Electric)&lt;br /&gt;
&lt;br /&gt;
801B Passenger Carriage&lt;br /&gt;
&lt;br /&gt;
801C Mail Van&lt;br /&gt;
&lt;br /&gt;
801D Coal Truck&lt;br /&gt;
&lt;br /&gt;
801E Oil Tanker&lt;br /&gt;
&lt;br /&gt;
801F Livestock Van&lt;br /&gt;
&lt;br /&gt;
8020 Goods Van&lt;br /&gt;
&lt;br /&gt;
8021 Grain Hopper&lt;br /&gt;
&lt;br /&gt;
8022 Wood Truck&lt;br /&gt;
&lt;br /&gt;
8023 Iron Ore Hopper&lt;br /&gt;
&lt;br /&gt;
8024 Steel Truck&lt;br /&gt;
&lt;br /&gt;
8025 Armoured Van&lt;br /&gt;
&lt;br /&gt;
8026 Food Van&lt;br /&gt;
&lt;br /&gt;
8027 Paper Truck&lt;br /&gt;
&lt;br /&gt;
8028 Copper Ore Hopper&lt;br /&gt;
&lt;br /&gt;
8029 Water Tanker&lt;br /&gt;
&lt;br /&gt;
802A Fruit Truck&lt;br /&gt;
&lt;br /&gt;
802B Rubber Truck&lt;br /&gt;
&lt;br /&gt;
802C Sugar Truck&lt;br /&gt;
&lt;br /&gt;
802D Candyfloss Hopper&lt;br /&gt;
&lt;br /&gt;
802E Toffee Hopper&lt;br /&gt;
&lt;br /&gt;
802F Bubble Van&lt;br /&gt;
&lt;br /&gt;
8030 Cola Tanker&lt;br /&gt;
&lt;br /&gt;
8031 Sweet Van&lt;br /&gt;
&lt;br /&gt;
8032 Toy Van&lt;br /&gt;
&lt;br /&gt;
8033 Battery Truck&lt;br /&gt;
&lt;br /&gt;
8034 Fizzy Drink Truck&lt;br /&gt;
&lt;br /&gt;
8035 Plastic Truck&lt;br /&gt;
&lt;br /&gt;
8036 &#039;X2001&#039; (Electric)&lt;br /&gt;
&lt;br /&gt;
8037 &#039;Millennium Z1&#039; (Electric)&lt;br /&gt;
&lt;br /&gt;
8038 Wizzowow Z99&lt;br /&gt;
&lt;br /&gt;
8039 Passenger Carriage&lt;br /&gt;
&lt;br /&gt;
803A Mail Van&lt;br /&gt;
&lt;br /&gt;
803B Coal Truck&lt;br /&gt;
&lt;br /&gt;
803C Oil Tanker&lt;br /&gt;
&lt;br /&gt;
803D Livestock Van&lt;br /&gt;
&lt;br /&gt;
803E Goods Van&lt;br /&gt;
&lt;br /&gt;
803F Grain Hopper&lt;br /&gt;
&lt;br /&gt;
8040 Wood Truck&lt;br /&gt;
&lt;br /&gt;
8041 Iron Ore Hopper&lt;br /&gt;
&lt;br /&gt;
8042 Steel Truck&lt;br /&gt;
&lt;br /&gt;
8043 Armoured Van&lt;br /&gt;
&lt;br /&gt;
8044 Food Van&lt;br /&gt;
&lt;br /&gt;
8045 Paper Truck&lt;br /&gt;
&lt;br /&gt;
8046 Copper Ore Hopper&lt;br /&gt;
&lt;br /&gt;
8047 Water Tanker&lt;br /&gt;
&lt;br /&gt;
8048 Fruit Truck&lt;br /&gt;
&lt;br /&gt;
8049 Rubber Truck&lt;br /&gt;
&lt;br /&gt;
804A Sugar Truck&lt;br /&gt;
&lt;br /&gt;
804B Candyfloss Hopper&lt;br /&gt;
&lt;br /&gt;
804C Toffee Hopper&lt;br /&gt;
&lt;br /&gt;
804D Bubble Van&lt;br /&gt;
&lt;br /&gt;
804E Cola Tanker&lt;br /&gt;
&lt;br /&gt;
804F Sweet Van&lt;br /&gt;
&lt;br /&gt;
8050 Toy Van&lt;br /&gt;
&lt;br /&gt;
8051 Battery Truck&lt;br /&gt;
&lt;br /&gt;
8052 Fizzy Drink Truck&lt;br /&gt;
&lt;br /&gt;
8053 Plastic Truck&lt;br /&gt;
&lt;br /&gt;
8054 Lev1 &#039;Leviathan&#039; (Electric)&lt;br /&gt;
&lt;br /&gt;
8055 Lev2 &#039;Cyclops&#039; (Electric)&lt;br /&gt;
&lt;br /&gt;
8056 Lev3 &#039;Pegasus&#039; (Electric)&lt;br /&gt;
&lt;br /&gt;
8057 Lev4 &#039;Chimaera&#039; (Electric)&lt;br /&gt;
&lt;br /&gt;
8058 Wizzowow Rocketeer&lt;br /&gt;
&lt;br /&gt;
8059 Passenger Carriage&lt;br /&gt;
&lt;br /&gt;
805A Mail Van&lt;br /&gt;
&lt;br /&gt;
805B Coal Truck&lt;br /&gt;
&lt;br /&gt;
805C Oil Tanker&lt;br /&gt;
&lt;br /&gt;
805D Livestock Van&lt;br /&gt;
&lt;br /&gt;
805E Goods Van&lt;br /&gt;
&lt;br /&gt;
805F Grain Hopper&lt;br /&gt;
&lt;br /&gt;
8060 Wood Truck&lt;br /&gt;
&lt;br /&gt;
8061 Iron Ore Hopper&lt;br /&gt;
&lt;br /&gt;
8062 Steel Truck&lt;br /&gt;
&lt;br /&gt;
8063 Armoured Van&lt;br /&gt;
&lt;br /&gt;
8064 Food Van&lt;br /&gt;
&lt;br /&gt;
8065 Paper Truck&lt;br /&gt;
&lt;br /&gt;
8066 Copper Ore Hopper&lt;br /&gt;
&lt;br /&gt;
8067 Water Tanker&lt;br /&gt;
&lt;br /&gt;
8068 Fruit Truck&lt;br /&gt;
&lt;br /&gt;
8069 Rubber Truck&lt;br /&gt;
&lt;br /&gt;
806A Sugar Truck&lt;br /&gt;
&lt;br /&gt;
806B Candyfloss Hopper&lt;br /&gt;
&lt;br /&gt;
806C Toffee Hopper&lt;br /&gt;
&lt;br /&gt;
806D Bubble Van&lt;br /&gt;
&lt;br /&gt;
806E Cola Tanker&lt;br /&gt;
&lt;br /&gt;
806F Sweet Van&lt;br /&gt;
&lt;br /&gt;
8070 Toy Van&lt;br /&gt;
&lt;br /&gt;
8071 Battery Truck&lt;br /&gt;
&lt;br /&gt;
8072 Fizzy Drink Truck&lt;br /&gt;
&lt;br /&gt;
8073 Plastic Truck&lt;br /&gt;
&lt;br /&gt;
8074 MPS Regal Bus&lt;br /&gt;
&lt;br /&gt;
8075 Hereford Leopard Bus&lt;br /&gt;
&lt;br /&gt;
8076 Foster Bus&lt;br /&gt;
&lt;br /&gt;
8077 Foster MkII Superbus&lt;br /&gt;
&lt;br /&gt;
8078 Ploddyphut MkI Bus&lt;br /&gt;
&lt;br /&gt;
8079 Ploddyphut MkII Bus&lt;br /&gt;
&lt;br /&gt;
807A Ploddyphut MkIII Bus&lt;br /&gt;
&lt;br /&gt;
807B Balogh Coal Truck&lt;br /&gt;
&lt;br /&gt;
807C Uhl Coal Truck&lt;br /&gt;
&lt;br /&gt;
807D DW Coal Truck&lt;br /&gt;
&lt;br /&gt;
807E MPS Mail Truck&lt;br /&gt;
&lt;br /&gt;
807F Reynard Mail Truck&lt;br /&gt;
&lt;br /&gt;
8080 Perry Mail Truck&lt;br /&gt;
&lt;br /&gt;
8081 ))MightyMover[[]]MightyMover[[ Mail Truck&lt;br /&gt;
&lt;br /&gt;
8082 Powernaught Mail Truck&lt;br /&gt;
&lt;br /&gt;
8083 Wizzowow Mail Truck&lt;br /&gt;
&lt;br /&gt;
8084 Witcombe Oil Tanker&lt;br /&gt;
&lt;br /&gt;
8085 Foster Oil Tanker&lt;br /&gt;
&lt;br /&gt;
8086 Perry Oil Tanker&lt;br /&gt;
&lt;br /&gt;
8087 Talbott Livestock Van&lt;br /&gt;
&lt;br /&gt;
8088 Uhl Livestock Van&lt;br /&gt;
&lt;br /&gt;
8089 Foster Livestock Van&lt;br /&gt;
&lt;br /&gt;
808A Balogh Goods Truck&lt;br /&gt;
&lt;br /&gt;
808B Craighead Goods Truck&lt;br /&gt;
&lt;br /&gt;
808C Goss Goods Truck&lt;br /&gt;
&lt;br /&gt;
808D Hereford Grain Truck&lt;br /&gt;
&lt;br /&gt;
808E Thomas Grain Truck&lt;br /&gt;
&lt;br /&gt;
808F Goss Grain Truck&lt;br /&gt;
&lt;br /&gt;
8090 Witcombe Wood Truck&lt;br /&gt;
&lt;br /&gt;
8091 Foster Wood Truck&lt;br /&gt;
&lt;br /&gt;
8092 Moreland Wood Truck&lt;br /&gt;
&lt;br /&gt;
8093 MPS Iron Ore Truck&lt;br /&gt;
&lt;br /&gt;
8094 Uhl Iron Ore Truck&lt;br /&gt;
&lt;br /&gt;
8095 Chippy Iron Ore Truck&lt;br /&gt;
&lt;br /&gt;
8096 Balogh Steel Truck&lt;br /&gt;
&lt;br /&gt;
8097 Uhl Steel Truck&lt;br /&gt;
&lt;br /&gt;
8098 Kelling Steel Truck&lt;br /&gt;
&lt;br /&gt;
8099 Balogh Armoured Truck&lt;br /&gt;
&lt;br /&gt;
809A Uhl Armoured Truck&lt;br /&gt;
&lt;br /&gt;
809B Foster Armoured Truck&lt;br /&gt;
&lt;br /&gt;
809C Foster Food Van&lt;br /&gt;
&lt;br /&gt;
809D Perry Food Van&lt;br /&gt;
&lt;br /&gt;
809E Chippy Food Van&lt;br /&gt;
&lt;br /&gt;
809F Uhl Paper Truck&lt;br /&gt;
&lt;br /&gt;
80A0 Balogh Paper Truck&lt;br /&gt;
&lt;br /&gt;
80A1 MPS Paper Truck&lt;br /&gt;
&lt;br /&gt;
80A2 MPS Copper Ore Truck&lt;br /&gt;
&lt;br /&gt;
80A3 Uhl Copper Ore Truck&lt;br /&gt;
&lt;br /&gt;
80A4 Goss Copper Ore Truck&lt;br /&gt;
&lt;br /&gt;
80A5 Uhl Water Tanker&lt;br /&gt;
&lt;br /&gt;
80A6 Balogh Water Tanker&lt;br /&gt;
&lt;br /&gt;
80A7 MPS Water Tanker&lt;br /&gt;
&lt;br /&gt;
80A8 Balogh Fruit Truck&lt;br /&gt;
&lt;br /&gt;
80A9 Uhl Fruit Truck&lt;br /&gt;
&lt;br /&gt;
80AA Kelling Fruit Truck&lt;br /&gt;
&lt;br /&gt;
80AB Balogh Rubber Truck&lt;br /&gt;
&lt;br /&gt;
80AC Uhl Rubber Truck&lt;br /&gt;
&lt;br /&gt;
80AD RMT Rubber Truck&lt;br /&gt;
&lt;br /&gt;
80AE ))MightyMover[[]]MightyMover[[ Sugar Truck&lt;br /&gt;
&lt;br /&gt;
80AF Powernaught Sugar Truck&lt;br /&gt;
&lt;br /&gt;
80B0 Wizzowow Sugar Truck&lt;br /&gt;
&lt;br /&gt;
80B1 ))MightyMover[[]]MightyMover[[ Cola Truck&lt;br /&gt;
&lt;br /&gt;
80B2 Powernaught Cola Truck&lt;br /&gt;
&lt;br /&gt;
80B3 Wizzowow Cola Truck&lt;br /&gt;
&lt;br /&gt;
80B4 ))MightyMover[[]]MightyMover[[ Candyfloss Truck&lt;br /&gt;
&lt;br /&gt;
80B5 Powernaught Candyfloss Truck&lt;br /&gt;
&lt;br /&gt;
80B6 Wizzowow Candyfloss Truck&lt;br /&gt;
&lt;br /&gt;
80B7 ))MightyMover[[]]MightyMover[[ Toffee Truck&lt;br /&gt;
&lt;br /&gt;
80B8 Powernaught Toffee Truck&lt;br /&gt;
&lt;br /&gt;
80B9 Wizzowow Toffee Truck&lt;br /&gt;
&lt;br /&gt;
80BA ))MightyMover[[]]MightyMover[[ Toy Van&lt;br /&gt;
&lt;br /&gt;
80BB Powernaught Toy Van&lt;br /&gt;
&lt;br /&gt;
80BC Wizzowow Toy Van&lt;br /&gt;
&lt;br /&gt;
80BD ))MightyMover[[]]MightyMover[[ Sweet Lorry&lt;br /&gt;
&lt;br /&gt;
80BE Powernaught Sweet Lorry&lt;br /&gt;
&lt;br /&gt;
80BF Wizzowow Sweet Lorry&lt;br /&gt;
&lt;br /&gt;
80C0 ))MightyMover[[]]MightyMover[[ Battery Truck&lt;br /&gt;
&lt;br /&gt;
80C1 Powernaught Battery Truck&lt;br /&gt;
&lt;br /&gt;
80C2 Wizzowow Battery Truck&lt;br /&gt;
&lt;br /&gt;
80C3 ))MightyMover[[]]MightyMover[[ Fizzy Drink Truck&lt;br /&gt;
&lt;br /&gt;
80C4 Powernaught Fizzy Drink Truck&lt;br /&gt;
&lt;br /&gt;
80C5 Wizzowow Fizzy Drink Truck&lt;br /&gt;
&lt;br /&gt;
80C6 ))MightyMover[[]]MightyMover[[ Plastic Truck&lt;br /&gt;
&lt;br /&gt;
80C7 Powernaught Plastic Truck&lt;br /&gt;
&lt;br /&gt;
80C8 Wizzowow Plastic Truck&lt;br /&gt;
&lt;br /&gt;
80C9 ))MightyMover[[]]MightyMover[[ Bubble Truck&lt;br /&gt;
&lt;br /&gt;
80CA Powernaught Bubble Truck&lt;br /&gt;
&lt;br /&gt;
80CB Wizzowow Bubble Truck&lt;br /&gt;
&lt;br /&gt;
80CC MPS Oil Tanker&lt;br /&gt;
&lt;br /&gt;
80CD CS-Inc. Oil Tanker&lt;br /&gt;
&lt;br /&gt;
80CE MPS Passenger Ferry&lt;br /&gt;
&lt;br /&gt;
80CF FFP Passenger Ferry&lt;br /&gt;
&lt;br /&gt;
80D0 Bakewell 300 Hovercraft&lt;br /&gt;
&lt;br /&gt;
80D1 ))Chugger-Chug[[]]Chugger-Chug[[ Passenger Ferry&lt;br /&gt;
&lt;br /&gt;
80D2 Shivershake Passenger Ferry&lt;br /&gt;
&lt;br /&gt;
80D3 Yate Cargo ship&lt;br /&gt;
&lt;br /&gt;
80D4 Bakewell Cargo ship&lt;br /&gt;
&lt;br /&gt;
80D5 Mightymover Cargo ship&lt;br /&gt;
&lt;br /&gt;
80D6 Powernaut Cargo ship&lt;br /&gt;
&lt;br /&gt;
80D7 Sampson U52&lt;br /&gt;
&lt;br /&gt;
80D8 Coleman Count&lt;br /&gt;
&lt;br /&gt;
80D9 FFP Dart&lt;br /&gt;
&lt;br /&gt;
80DA Yate Haugan&lt;br /&gt;
&lt;br /&gt;
80DB Bakewell Cotswald LB-3&lt;br /&gt;
&lt;br /&gt;
80DC Bakewell Luckett LB-8&lt;br /&gt;
&lt;br /&gt;
80DD Bakewell Luckett LB-9&lt;br /&gt;
&lt;br /&gt;
80DE Bakewell Luckett LB80&lt;br /&gt;
&lt;br /&gt;
80DF Bakewell Luckett LB-10&lt;br /&gt;
&lt;br /&gt;
80E0 Bakewell Luckett LB-11&lt;br /&gt;
&lt;br /&gt;
80E1 Yate Aerospace YAC 1-11&lt;br /&gt;
&lt;br /&gt;
80E2 Darwin 100&lt;br /&gt;
&lt;br /&gt;
80E3 Darwin 200&lt;br /&gt;
&lt;br /&gt;
80E4 Darwin 300&lt;br /&gt;
&lt;br /&gt;
80E5 Darwin 400&lt;br /&gt;
&lt;br /&gt;
80E6 Darwin 500&lt;br /&gt;
&lt;br /&gt;
80E7 Darwin 600&lt;br /&gt;
&lt;br /&gt;
80E8 Guru Galaxy&lt;br /&gt;
&lt;br /&gt;
80E9 Airtaxi A21&lt;br /&gt;
&lt;br /&gt;
80EA Airtaxi A31&lt;br /&gt;
&lt;br /&gt;
80EB Airtaxi A32&lt;br /&gt;
&lt;br /&gt;
80EC Airtaxi A33&lt;br /&gt;
&lt;br /&gt;
80ED Yate Aerospace YAe46&lt;br /&gt;
&lt;br /&gt;
80EE Dinger 100&lt;br /&gt;
&lt;br /&gt;
80EF ))AirTaxi[[]]AirTaxi[[ A34-1000&lt;br /&gt;
&lt;br /&gt;
80F0 Yate ))Z-Shuttle[[]]Z-Shuttle[[&lt;br /&gt;
&lt;br /&gt;
80F1 Kelling K1&lt;br /&gt;
&lt;br /&gt;
80F2 Kelling K6&lt;br /&gt;
&lt;br /&gt;
80F3 Kelling K7&lt;br /&gt;
&lt;br /&gt;
80F4 Darwin 700&lt;br /&gt;
&lt;br /&gt;
80F5 FFP Hyperdart 2&lt;br /&gt;
&lt;br /&gt;
80F6 Dinger 200&lt;br /&gt;
&lt;br /&gt;
80F7 Dinger 1000&lt;br /&gt;
&lt;br /&gt;
80F8 Ploddyphut 100&lt;br /&gt;
&lt;br /&gt;
80F9 Ploddyphut 500&lt;br /&gt;
&lt;br /&gt;
80FA Flashbang X1&lt;br /&gt;
&lt;br /&gt;
80FB Juggerplane M1&lt;br /&gt;
&lt;br /&gt;
80FC Flashbang Wizzer&lt;br /&gt;
&lt;br /&gt;
80FD Tricario Helicopter&lt;br /&gt;
&lt;br /&gt;
80FE Guru X2 Helicopter&lt;br /&gt;
&lt;br /&gt;
80FF Powernaut Helicopter&lt;br /&gt;
&lt;br /&gt;
8100 \94Message from vehicle manufacturer&lt;br /&gt;
&lt;br /&gt;
8101 \8aWe have just designed a new \80 - would you be interested in a year&#039;s exclusive use of this vehicle,so we can see how it performs before making it universally available ?&lt;br /&gt;
&lt;br /&gt;
8102 railway locomotive&lt;br /&gt;
&lt;br /&gt;
8103 road vehicle&lt;br /&gt;
&lt;br /&gt;
8104 aircraft&lt;br /&gt;
&lt;br /&gt;
8105 ship&lt;br /&gt;
&lt;br /&gt;
8106 monorail locomotive&lt;br /&gt;
&lt;br /&gt;
8107 maglev locomotive&lt;br /&gt;
&lt;br /&gt;
=8800 Train strings=&lt;br /&gt;
&lt;br /&gt;
8800 \94\80 Train Depot&lt;br /&gt;
&lt;br /&gt;
8801 \98\0fCitizens celebrate . . .\0dFirst train arrives at \80!&lt;br /&gt;
&lt;br /&gt;
8802 \94\80 (Details)&lt;br /&gt;
&lt;br /&gt;
8803 \94Train in the way&lt;br /&gt;
&lt;br /&gt;
8804 \01\0A\7D: \80&lt;br /&gt;
&lt;br /&gt;
8805 \AF\01\0A\7D: \80&lt;br /&gt;
&lt;br /&gt;
8806 Go to \80&lt;br /&gt;
&lt;br /&gt;
8807 Go to \80 (Unload)&lt;br /&gt;
&lt;br /&gt;
8808 Go to \80 (Load)&lt;br /&gt;
&lt;br /&gt;
8809&lt;br /&gt;
&lt;br /&gt;
880A Go non-stop to \80&lt;br /&gt;
&lt;br /&gt;
880B Go non-stop to \80 (Unload)&lt;br /&gt;
&lt;br /&gt;
880C Go non-stop to \80 (Load)&lt;br /&gt;
&lt;br /&gt;
880D&lt;br /&gt;
&lt;br /&gt;
880E Go to \80 Train Depot&lt;br /&gt;
&lt;br /&gt;
880F Go non-stop to \80 Train Depot&lt;br /&gt;
&lt;br /&gt;
8810 \95Heading for \80&lt;br /&gt;
&lt;br /&gt;
8811 \95Heading for \80 Train Depot&lt;br /&gt;
&lt;br /&gt;
8812 \95Empty&lt;br /&gt;
&lt;br /&gt;
8813 \95\80 from \80&lt;br /&gt;
&lt;br /&gt;
8814 \94Train | is waiting in depot&lt;br /&gt;
&lt;br /&gt;
8815 \98New Vehicles&lt;br /&gt;
&lt;br /&gt;
8816 \98-&lt;br /&gt;
&lt;br /&gt;
8817 \98Cost: \8a\7f\98 Weight: \8a|t\0d\98Speed: \8a\84\98 Power: \8a|hp\0d\98Running Cost: \8a\7f/yr\0d\98Capacity: \8a\80\0d\98Designed: \8a~\98 Life: \8a| years\0d\98Max. Reliability: \8a}%&lt;br /&gt;
&lt;br /&gt;
8818 \98Information&lt;br /&gt;
&lt;br /&gt;
8819 \94Train too long&lt;br /&gt;
&lt;br /&gt;
881A \94Trains can only be altered when stopped inside a depot&lt;br /&gt;
&lt;br /&gt;
881B \94\80 - Trains&lt;br /&gt;
&lt;br /&gt;
881C \94New Rail Vehicles&lt;br /&gt;
&lt;br /&gt;
881D \94New Monorail Vehicles&lt;br /&gt;
&lt;br /&gt;
881E \94New Maglev Vehicles&lt;br /&gt;
&lt;br /&gt;
881F \98Build Vehicle&lt;br /&gt;
&lt;br /&gt;
8820 \98Rename&lt;br /&gt;
&lt;br /&gt;
8821 \98Cost: \8a\7f\0d\98Weight: \8a|t (|t)\0d\98Capacity: \8a\80&lt;br /&gt;
&lt;br /&gt;
8822 \95No orders&lt;br /&gt;
&lt;br /&gt;
8823 \98Skip&lt;br /&gt;
&lt;br /&gt;
8824 \98Delete&lt;br /&gt;
&lt;br /&gt;
8825 \98Non-Stop&lt;br /&gt;
&lt;br /&gt;
8826 \98Go To&lt;br /&gt;
&lt;br /&gt;
8827 \98Full Load&lt;br /&gt;
&lt;br /&gt;
8828 \98Unload&lt;br /&gt;
&lt;br /&gt;
8829 \94\80 (Orders)&lt;br /&gt;
&lt;br /&gt;
882A \01\0a- - End of Orders - -&lt;br /&gt;
&lt;br /&gt;
882B \94Can&#039;t build rail vehicle...&lt;br /&gt;
&lt;br /&gt;
882C \95\80\98 Built: \95~\98 Value: \95\7f&lt;br /&gt;
&lt;br /&gt;
882D \95\80\98 Value: \95\7f&lt;br /&gt;
&lt;br /&gt;
882E \94\80&lt;br /&gt;
&lt;br /&gt;
882F \95Loading / Unloading&lt;br /&gt;
&lt;br /&gt;
8830 \94Can&#039;t send train to depot...&lt;br /&gt;
&lt;br /&gt;
8831 \94No more space for orders&lt;br /&gt;
&lt;br /&gt;
8832 \94Too many orders&lt;br /&gt;
&lt;br /&gt;
8833 \94Can&#039;t insert new order...&lt;br /&gt;
&lt;br /&gt;
8834 \94Can&#039;t delete this order...&lt;br /&gt;
&lt;br /&gt;
8835 \94Can&#039;t modify this order...&lt;br /&gt;
&lt;br /&gt;
8836 \94Must build train depot first&lt;br /&gt;
&lt;br /&gt;
8837 \94Can&#039;t move vehicle...&lt;br /&gt;
&lt;br /&gt;
8838 N/A\85&lt;br /&gt;
&lt;br /&gt;
8839 \94Can&#039;t sell rail vehicle...&lt;br /&gt;
&lt;br /&gt;
883A \94Unable to find route to local depot&lt;br /&gt;
&lt;br /&gt;
883B \94Can&#039;t stop/start train...&lt;br /&gt;
&lt;br /&gt;
883C \98Servicing interval: \95|days\98 Last service: \95\82&lt;br /&gt;
&lt;br /&gt;
883D \98Trains - click on train for information&lt;br /&gt;
&lt;br /&gt;
883E \98Build new trains (requires train depot)&lt;br /&gt;
&lt;br /&gt;
883F \98Trains - click on train for info.,drag vehicle to add/remove from train&lt;br /&gt;
&lt;br /&gt;
8840 \98Build new train vehicle&lt;br /&gt;
&lt;br /&gt;
8841 \98Drag train vehicle to here to sell it&lt;br /&gt;
&lt;br /&gt;
8842 \98Centre main view on train depot location&lt;br /&gt;
&lt;br /&gt;
8843 \98Train vehicle selection list - click on vehicle for information&lt;br /&gt;
&lt;br /&gt;
8844 \98Build the highlighted train vehicle&lt;br /&gt;
&lt;br /&gt;
8845 \98Rename train vehicle type&lt;br /&gt;
&lt;br /&gt;
8846 \98Current train action - click here to stop/start train&lt;br /&gt;
&lt;br /&gt;
8847 \98Show train&#039;s orders&lt;br /&gt;
&lt;br /&gt;
8848 \98Centre main view on train&#039;s location&lt;br /&gt;
&lt;br /&gt;
8849 \98Send train to depot&lt;br /&gt;
&lt;br /&gt;
884A \98Force train to proceed without waiting for signal to clear&lt;br /&gt;
&lt;br /&gt;
884B \98Reverse direction of train&lt;br /&gt;
&lt;br /&gt;
884C \98Show train details&lt;br /&gt;
&lt;br /&gt;
884D \98Increase servicing interval&lt;br /&gt;
&lt;br /&gt;
884E \98Decrease servicing interval&lt;br /&gt;
&lt;br /&gt;
884F \98Show details of cargo carried&lt;br /&gt;
&lt;br /&gt;
8850 \98Show details of train vehicles&lt;br /&gt;
&lt;br /&gt;
8851 \98Show capacities of each vehicle&lt;br /&gt;
&lt;br /&gt;
8852 \98Orders list - click on order to highlight it&lt;br /&gt;
&lt;br /&gt;
8853 \98Skip the current order,and start the next&lt;br /&gt;
&lt;br /&gt;
8854 \98Delete the highlighted order&lt;br /&gt;
&lt;br /&gt;
8855 \98Make the highlighted order non-stop&lt;br /&gt;
&lt;br /&gt;
8856 \98Insert a new order before the highlighted order,or add to end of list&lt;br /&gt;
&lt;br /&gt;
8857 \98Make the highlighted order force the vehicle to wait for a full load&lt;br /&gt;
&lt;br /&gt;
8858 \98Make the highlighted order force the vehicle to unload&lt;br /&gt;
&lt;br /&gt;
8859 \98\0fNew \80 now available!&lt;br /&gt;
&lt;br /&gt;
885A \98\0f\80&lt;br /&gt;
&lt;br /&gt;
885B \98Cost: \7f Weight: |t\0dSpeed: \84 Power: |hp\0dRunning Cost: \7f/yr\0dCapacity: \80&lt;br /&gt;
&lt;br /&gt;
885C \8bBroken down&lt;br /&gt;
&lt;br /&gt;
885D \98Age: \95\80\98 Running Cost: \95\7f/yr&lt;br /&gt;
&lt;br /&gt;
885E \98Weight: \95|t \98Power: \95|hp\98 Max. speed: \95\84&lt;br /&gt;
&lt;br /&gt;
885F \98Profit this year: \95\7f (last year: \7f)&lt;br /&gt;
&lt;br /&gt;
8860 \98Reliability: \95}% \98Breakdowns since last service: \95|&lt;br /&gt;
&lt;br /&gt;
8861 \8bStopped&lt;br /&gt;
&lt;br /&gt;
8862 \94Can&#039;t make train pass signal at danger...&lt;br /&gt;
&lt;br /&gt;
8863 \8bCrashed!&lt;br /&gt;
&lt;br /&gt;
8864 Train |&lt;br /&gt;
&lt;br /&gt;
8865 \94Name train&lt;br /&gt;
&lt;br /&gt;
8866 \94Can&#039;t name train...&lt;br /&gt;
&lt;br /&gt;
8867 \98Name train&lt;br /&gt;
&lt;br /&gt;
8868 \98\0fTrain Crash!\0d| die in fireball after collision&lt;br /&gt;
&lt;br /&gt;
8869 \94Can&#039;t reverse direction of train...&lt;br /&gt;
&lt;br /&gt;
886A \94Rename train vehicle type&lt;br /&gt;
&lt;br /&gt;
886B \94Can&#039;t rename train vehicle type...&lt;br /&gt;
&lt;br /&gt;
=9000 Road vehicle strings=&lt;br /&gt;
&lt;br /&gt;
9000 \94Road vehicle in the way&lt;br /&gt;
&lt;br /&gt;
9001 \94\80 - Road Vehicles&lt;br /&gt;
&lt;br /&gt;
9002 \94\80&lt;br /&gt;
&lt;br /&gt;
9003 \94\80 Road Vehicle Depot&lt;br /&gt;
&lt;br /&gt;
9004 \98New Vehicles&lt;br /&gt;
&lt;br /&gt;
9005 \98Information&lt;br /&gt;
&lt;br /&gt;
9006 \94New Road Vehicles&lt;br /&gt;
&lt;br /&gt;
9007 \98Build Vehicle&lt;br /&gt;
&lt;br /&gt;
9008 \98Cost: \8a\7f\98 Speed: \8a\84\0d\98Running Cost: \8a\7f/yr\0d\98Capacity: \8a\80\0d\98Designed: \8a~\98 Life: \8a| years\0d\98Max. Reliability: \8a}%&lt;br /&gt;
&lt;br /&gt;
9009 \94Can&#039;t build road vehicle...&lt;br /&gt;
&lt;br /&gt;
900A \94Must build road vehicle depot first&lt;br /&gt;
&lt;br /&gt;
900B \94\80 (Orders)&lt;br /&gt;
&lt;br /&gt;
900C \94\80 (Details)&lt;br /&gt;
&lt;br /&gt;
900D \98Age: \95\80\98 Running Cost: \95\7f/yr&lt;br /&gt;
&lt;br /&gt;
900E \98Max. speed: \95\84&lt;br /&gt;
&lt;br /&gt;
900F \98Profit this year: \95\7f (last year: \7f)&lt;br /&gt;
&lt;br /&gt;
9010 \98Reliability: \95}% \98Breakdowns since last service: \95|&lt;br /&gt;
&lt;br /&gt;
9011 \95\80\98 Built: \95~\98 Value: \95\7f&lt;br /&gt;
&lt;br /&gt;
9012 \98Capacity: \95\80&lt;br /&gt;
&lt;br /&gt;
9013 \94...must be stopped inside a road vehicle depot&lt;br /&gt;
&lt;br /&gt;
9014 \94Can&#039;t sell road vehicle...&lt;br /&gt;
&lt;br /&gt;
9015 \94Can&#039;t stop/start road vehicle...&lt;br /&gt;
&lt;br /&gt;
9016 \94Road Vehicle | is waiting in depot&lt;br /&gt;
&lt;br /&gt;
9017 \95Heading for \80 Road Depot&lt;br /&gt;
&lt;br /&gt;
9018 \94Can&#039;t send vehicle to depot...&lt;br /&gt;
&lt;br /&gt;
9019 \94Unable to find local depot&lt;br /&gt;
&lt;br /&gt;
901A \98Road vehicles - click on vehicle for information&lt;br /&gt;
&lt;br /&gt;
901B \98Build new road vehicles (requires road vehicle depot)&lt;br /&gt;
&lt;br /&gt;
901C \98Current vehicle action - click here to stop/start vehicle&lt;br /&gt;
&lt;br /&gt;
901D \98Show vehicle&#039;s orders&lt;br /&gt;
&lt;br /&gt;
901E \98Centre main view on vehicle&#039;s location&lt;br /&gt;
&lt;br /&gt;
901F \98Send vehicle to depot&lt;br /&gt;
&lt;br /&gt;
9020 \98Force vehicle to turn around&lt;br /&gt;
&lt;br /&gt;
9021 \98Show road vehicle details&lt;br /&gt;
&lt;br /&gt;
9022 \98Vehicles - click on vehicle for information&lt;br /&gt;
&lt;br /&gt;
9023 \98Build new road vehicle&lt;br /&gt;
&lt;br /&gt;
9024 \98Drag road vehicle to here to sell it&lt;br /&gt;
&lt;br /&gt;
9025 \98Centre main view on road vehicle depot location&lt;br /&gt;
&lt;br /&gt;
9026 \98Road vehicle selection list - click on vehicle for information&lt;br /&gt;
&lt;br /&gt;
9027 \98Build the highlighted road vehicle&lt;br /&gt;
&lt;br /&gt;
9028 \98\0fNew road vehicle now available!&lt;br /&gt;
&lt;br /&gt;
9029 \98\0f\80&lt;br /&gt;
&lt;br /&gt;
902A \98Cost: \7f\0dSpeed: \84\0dRunning Cost: \7f/yr\0dCapacity: \80&lt;br /&gt;
&lt;br /&gt;
902B Road Vehicle |&lt;br /&gt;
&lt;br /&gt;
902C \94Name road vehicle&lt;br /&gt;
&lt;br /&gt;
902D \94Can&#039;t name road vehicle...&lt;br /&gt;
&lt;br /&gt;
902E \98Name road vehicle&lt;br /&gt;
&lt;br /&gt;
902F \98\0fCitizens celebrate . . .\0dFirst bus arrives at \80!&lt;br /&gt;
&lt;br /&gt;
9030 \98\0fCitizens celebrate . . .\0dFirst lorry arrives at \80!&lt;br /&gt;
&lt;br /&gt;
9031 \98\0fRoad Vehicle Crash!\0dDriver dies in fireball after collision with train&lt;br /&gt;
&lt;br /&gt;
9032 \98\0fRoad Vehicle Crash!\0d| die in fireball after collision with train&lt;br /&gt;
&lt;br /&gt;
9033 \94Can&#039;t make vehicle turn around...&lt;br /&gt;
&lt;br /&gt;
9034 \98Rename&lt;br /&gt;
&lt;br /&gt;
9035 \98Rename road vehicle type&lt;br /&gt;
&lt;br /&gt;
9036 \94Rename road vehicle type&lt;br /&gt;
&lt;br /&gt;
9037 \94Can&#039;t rename road vehicle type...&lt;br /&gt;
&lt;br /&gt;
=9800 Ship strings=&lt;br /&gt;
&lt;br /&gt;
9800 Dock construction&lt;br /&gt;
&lt;br /&gt;
9801 \94Dock construction&lt;br /&gt;
&lt;br /&gt;
9802 \94Can&#039;t build dock here...&lt;br /&gt;
&lt;br /&gt;
9803 \94\80 Ship Depot&lt;br /&gt;
&lt;br /&gt;
9804 \98New Ships&lt;br /&gt;
&lt;br /&gt;
9805 \94\80 - Ships&lt;br /&gt;
&lt;br /&gt;
9806 \94Can&#039;t build ships...&lt;br /&gt;
&lt;br /&gt;
9807 \94Must build ship depot first&lt;br /&gt;
&lt;br /&gt;
9808 \94New Ships&lt;br /&gt;
&lt;br /&gt;
9809 \98Build Ship&lt;br /&gt;
&lt;br /&gt;
980A \98Cost: \8a\7f\98 Speed: \8a\84\0d\98Capacity: \8a\80 \80\0d\98Running Cost: \8a\7f/yr\0d\98Designed: \8a~\98 Life: \8a| years\0d\98Max. Reliability: \8a}%&lt;br /&gt;
&lt;br /&gt;
980B \94Ship must be stopped in depot&lt;br /&gt;
&lt;br /&gt;
980C \94Can&#039;t sell ship...&lt;br /&gt;
&lt;br /&gt;
980D \94Can&#039;t build ship...&lt;br /&gt;
&lt;br /&gt;
980E \94Ship in the way&lt;br /&gt;
&lt;br /&gt;
980F \94\80&lt;br /&gt;
&lt;br /&gt;
9810 \94\80 (Orders)&lt;br /&gt;
&lt;br /&gt;
9811 \94\80 (Details)&lt;br /&gt;
&lt;br /&gt;
9812 \98Age: \95\80\98 Running Cost: \95\7f/yr&lt;br /&gt;
&lt;br /&gt;
9813 \98Max. speed: \95\84&lt;br /&gt;
&lt;br /&gt;
9814 \98Profit this year: \95\7f (last year: \7f)&lt;br /&gt;
&lt;br /&gt;
9815 \98Reliability: \95}% \98Breakdowns since last service: \95|&lt;br /&gt;
&lt;br /&gt;
9816 \95\80\98 Built: \95~\98 Value: \95\7f&lt;br /&gt;
&lt;br /&gt;
9817 \98Capacity: \95\80&lt;br /&gt;
&lt;br /&gt;
9818 \94Can&#039;t stop/start ship...&lt;br /&gt;
&lt;br /&gt;
9819 \94Can&#039;t send ship to depot...&lt;br /&gt;
&lt;br /&gt;
981A \94Unable to find local depot&lt;br /&gt;
&lt;br /&gt;
981B \95Heading for \80 Ship Depot&lt;br /&gt;
&lt;br /&gt;
981C \94Ship | is waiting in depot&lt;br /&gt;
&lt;br /&gt;
981D \98Build ship dock&lt;br /&gt;
&lt;br /&gt;
981E \98Build ship depot (for building and servicing ships)&lt;br /&gt;
&lt;br /&gt;
981F \98Ships - click on ship for information&lt;br /&gt;
&lt;br /&gt;
9820 \98Build new ship&lt;br /&gt;
&lt;br /&gt;
9821 \98Drag ship to here to sell it&lt;br /&gt;
&lt;br /&gt;
9822 \98Centre main view on ship depot location&lt;br /&gt;
&lt;br /&gt;
9823 \98Ships - click on ship for information&lt;br /&gt;
&lt;br /&gt;
9824 \98Build new ships (requires ship depot)&lt;br /&gt;
&lt;br /&gt;
9825 \98Ship selection list - click on ship for information&lt;br /&gt;
&lt;br /&gt;
9826 \98Build the highlighted ship&lt;br /&gt;
&lt;br /&gt;
9827 \98Current ship action - click here to stop/start ship&lt;br /&gt;
&lt;br /&gt;
9828 \98Show ship&#039;s orders&lt;br /&gt;
&lt;br /&gt;
9829 \98Centre main view on ship&#039;s location&lt;br /&gt;
&lt;br /&gt;
982A \98Send ship to depot&lt;br /&gt;
&lt;br /&gt;
982B \98Show ship details&lt;br /&gt;
&lt;br /&gt;
982C \98\0fNew ship now available!&lt;br /&gt;
&lt;br /&gt;
982D \98\0f\80&lt;br /&gt;
&lt;br /&gt;
982E \98Cost: \7f Max. Speed: \84\0dCapacity: \80\0dRunning Cost: \7f/yr&lt;br /&gt;
&lt;br /&gt;
982F \98Name ship&lt;br /&gt;
&lt;br /&gt;
9830 Ship |&lt;br /&gt;
&lt;br /&gt;
9831 \94Name ship&lt;br /&gt;
&lt;br /&gt;
9832 \94Can&#039;t name ship...&lt;br /&gt;
&lt;br /&gt;
9833 \98\0fCitizens celebrate . . .\0dFirst ship arrives at \80!&lt;br /&gt;
&lt;br /&gt;
9834 \98Position buoy,which can be used for additional way points&lt;br /&gt;
&lt;br /&gt;
9835 \94Can&#039;t position buoy here...&lt;br /&gt;
&lt;br /&gt;
9836 \98Rename&lt;br /&gt;
&lt;br /&gt;
9837 \98Rename ship type&lt;br /&gt;
&lt;br /&gt;
9838 \94Rename ship type&lt;br /&gt;
&lt;br /&gt;
9839 \94Can&#039;t rename ship type...&lt;br /&gt;
&lt;br /&gt;
983A \98Refit cargo ship to carry a different cargo type&lt;br /&gt;
&lt;br /&gt;
983B \94\80 (Refit)&lt;br /&gt;
&lt;br /&gt;
983C \98Refit ship&lt;br /&gt;
&lt;br /&gt;
983D \98Select type of cargo for ship to carry&lt;br /&gt;
&lt;br /&gt;
983E \98Refit ship to carry highlighted cargo type&lt;br /&gt;
&lt;br /&gt;
983F \8aSelect cargo type to carry:-&lt;br /&gt;
&lt;br /&gt;
9840 \98New capacity: \8a\80\0d\98Cost of refit: \8a\7f&lt;br /&gt;
&lt;br /&gt;
9841 \94Can&#039;t refit ship...&lt;br /&gt;
&lt;br /&gt;
9842 (refittable)&lt;br /&gt;
&lt;br /&gt;
=A000 Aircraft strings=&lt;br /&gt;
&lt;br /&gt;
A000 \94Airport Construct.&lt;br /&gt;
&lt;br /&gt;
A001 \94Can&#039;t build airport here...&lt;br /&gt;
&lt;br /&gt;
A002 \94\80 Aircraft Hangar&lt;br /&gt;
&lt;br /&gt;
A003 \98New Aircraft&lt;br /&gt;
&lt;br /&gt;
A004 \98Information&lt;br /&gt;
&lt;br /&gt;
A005 \94New Aircraft&lt;br /&gt;
&lt;br /&gt;
A006 \98Build Aircraft&lt;br /&gt;
&lt;br /&gt;
A007 \98Cost: \8a\7f\98 Speed: \8a\84\0d\98Capacity: \8a| passengers,| bags of mail\0d\98Running Cost: \8a\7f/yr\0d\98Designed: \8a~\98 Life: \8a| years\0d\98Max. Reliability: \8a}%&lt;br /&gt;
&lt;br /&gt;
A008 \94Can&#039;t build aircraft...&lt;br /&gt;
&lt;br /&gt;
A009 \94\80 - Aircraft&lt;br /&gt;
&lt;br /&gt;
A00A \94\80&lt;br /&gt;
&lt;br /&gt;
A00B \94\80 (Orders)&lt;br /&gt;
&lt;br /&gt;
A00C \94\80 (Details)&lt;br /&gt;
&lt;br /&gt;
A00D \98Age: \95\80\98 Running Cost: \95\7f/yr&lt;br /&gt;
&lt;br /&gt;
A00E \98Max. speed: \95\84&lt;br /&gt;
&lt;br /&gt;
A00F \98Profit this year: \95\7f (last year: \7f)&lt;br /&gt;
&lt;br /&gt;
A010 \98Reliability: \95}% \98Breakdowns since last service: \95|&lt;br /&gt;
&lt;br /&gt;
A011 \95\80\98 Built: \95~\98 Value: \95\7f&lt;br /&gt;
&lt;br /&gt;
A012 \94Can&#039;t send aircraft to hangar...&lt;br /&gt;
&lt;br /&gt;
A013 \95Heading for \80 Hangar&lt;br /&gt;
&lt;br /&gt;
A014 \94Aircraft | is waiting in the aircraft hangar&lt;br /&gt;
&lt;br /&gt;
A015 \94Aircraft in the way&lt;br /&gt;
&lt;br /&gt;
A016 \94Can&#039;t stop/start aircraft...&lt;br /&gt;
&lt;br /&gt;
A017 \94Aircraft is in flight&lt;br /&gt;
&lt;br /&gt;
A018 \94Must build airport first&lt;br /&gt;
&lt;br /&gt;
A019 \98Capacity: \95\80,\80&lt;br /&gt;
&lt;br /&gt;
A01A \98Capacity: \95\80&lt;br /&gt;
&lt;br /&gt;
A01B \94Aircraft must be stopped in hangar&lt;br /&gt;
&lt;br /&gt;
A01C \94Can&#039;t sell aircraft...&lt;br /&gt;
&lt;br /&gt;
A01D Airport construction&lt;br /&gt;
&lt;br /&gt;
A01E \98Build airport&lt;br /&gt;
&lt;br /&gt;
A01F \98Aircraft - click on aircraft for information&lt;br /&gt;
&lt;br /&gt;
A020 \98Build new aircraft (requires airport with hangar)&lt;br /&gt;
&lt;br /&gt;
A021 \98Aircraft - click on aircraft for information&lt;br /&gt;
&lt;br /&gt;
A022 \98Build new aircraft&lt;br /&gt;
&lt;br /&gt;
A023 \98Drag aircraft to here to sell it&lt;br /&gt;
&lt;br /&gt;
A024 \98Centre main view on hangar location&lt;br /&gt;
&lt;br /&gt;
A025 \98Aircraft selection list - click on aircraft for information&lt;br /&gt;
&lt;br /&gt;
A026 \98Build the highlighted aircraft&lt;br /&gt;
&lt;br /&gt;
A027 \98Current aircraft action - click here to stop/start aircraft&lt;br /&gt;
&lt;br /&gt;
A028 \98Show aircraft&#039;s orders&lt;br /&gt;
&lt;br /&gt;
A029 \98Centre main view on aircraft&#039;s location&lt;br /&gt;
&lt;br /&gt;
A02A \98Send aircraft to hangar&lt;br /&gt;
&lt;br /&gt;
A02B \98Show aircraft details&lt;br /&gt;
&lt;br /&gt;
A02C \98\0fNew aircraft now available!&lt;br /&gt;
&lt;br /&gt;
A02D \98\0f\80&lt;br /&gt;
&lt;br /&gt;
A02E \98Cost: \7f Max. Speed: \84\0dCapacity: | passengers,| bags of mail\0dRunning Cost: \7f/yr&lt;br /&gt;
&lt;br /&gt;
A02F Aircraft |&lt;br /&gt;
&lt;br /&gt;
A030 \94Name aircraft&lt;br /&gt;
&lt;br /&gt;
A031 \94Can&#039;t name aircraft...&lt;br /&gt;
&lt;br /&gt;
A032 \98Name aircraft&lt;br /&gt;
&lt;br /&gt;
A033 \98\0fCitizens celebrate . . .\0dFirst aircraft arrives at \80!&lt;br /&gt;
&lt;br /&gt;
A034 \98\0fPlane Crash!\0d| die in fireball at \80&lt;br /&gt;
&lt;br /&gt;
A035 \0e\98Destinations:&lt;br /&gt;
&lt;br /&gt;
A036 \0e\98\80&lt;br /&gt;
&lt;br /&gt;
A037 \98Rename&lt;br /&gt;
&lt;br /&gt;
A038 \98Rename aircraft type&lt;br /&gt;
&lt;br /&gt;
A039 \94Rename aircraft type&lt;br /&gt;
&lt;br /&gt;
A03A \94Can&#039;t rename aircraft type...&lt;br /&gt;
&lt;br /&gt;
A03B \98Refit aircraft to carry a different cargo type&lt;br /&gt;
&lt;br /&gt;
A03C \94\80 (Refit)&lt;br /&gt;
&lt;br /&gt;
A03D \98Refit aircraft&lt;br /&gt;
&lt;br /&gt;
A03E \98Select type of cargo for aircraft to carry&lt;br /&gt;
&lt;br /&gt;
A03F \98Refit aircraft to carry highlighted cargo type&lt;br /&gt;
&lt;br /&gt;
A040 \8aSelect cargo type to carry:-&lt;br /&gt;
&lt;br /&gt;
A041 \98New capacity: \8a\80\0d\98Cost of refit: \8a\7f&lt;br /&gt;
&lt;br /&gt;
A042 \94Can&#039;t refit aircraft...&lt;br /&gt;
&lt;br /&gt;
A043 (refittable)&lt;br /&gt;
&lt;br /&gt;
=A800 Pseudo-vehicle strings=&lt;br /&gt;
&lt;br /&gt;
(None defined)&lt;br /&gt;
&lt;br /&gt;
=B000 Disaster strings=&lt;br /&gt;
&lt;br /&gt;
B000 \98\0fZeppelin disaster at \80!&lt;br /&gt;
&lt;br /&gt;
B001 \98\0fRoad vehicle destroyed in &#039;UFO&#039; collision!&lt;br /&gt;
&lt;br /&gt;
B002 \98\0fOil refinery explosion near \80!&lt;br /&gt;
&lt;br /&gt;
B003 \98\0fFactory destroyed in suspicious circumstances near \80!&lt;br /&gt;
&lt;br /&gt;
B004 \98\0f&#039;UFO&#039; lands near \80!&lt;br /&gt;
&lt;br /&gt;
B005 \98\0fCoal mine subsidence leaves trail of destruction near \80!&lt;br /&gt;
&lt;br /&gt;
=B800 unused=&lt;br /&gt;
&lt;br /&gt;
=C000 New station names=&lt;br /&gt;
&lt;br /&gt;
This is used for TTDPatch newgrf station and class names. See action 4 for more details.&lt;br /&gt;
&lt;br /&gt;
=C800 New house names=&lt;br /&gt;
&lt;br /&gt;
This is used for TTDPatch newgrf town building names. See action 4 for more details.&lt;br /&gt;
&lt;br /&gt;
=D000 Miscellaneous GRF texts=&lt;br /&gt;
&lt;br /&gt;
This is used for TTDPatch newgrf miscellaneous texts, mostly for callbacks. See action 4 for more details.&lt;br /&gt;
&lt;br /&gt;
The table has up to 1024 entries. To use entry X in an include text (codes 80/81), use ID D400+X. Note that if you want to include ID D000/D400, the 00 byte will be considered the end of string in action 4, this will therefore break if additional texts are supposed to follow in the action 4.&lt;br /&gt;
&lt;br /&gt;
=D800 Persistent GRF texts=&lt;br /&gt;
&lt;br /&gt;
This is used for TTDPatch newgrf persistent texts (the ID mappings are preserved through saving and loading even if the GRF file is unavailable). See action 4 for more details.&lt;br /&gt;
&lt;br /&gt;
D800 class IDs (DCxx IDs) must not be used except in action 0 and where the spec explicitly says that they work.&lt;br /&gt;
&lt;br /&gt;
=E000 Hard-coded game texts=&lt;br /&gt;
&lt;br /&gt;
This text class exists only in TTDPatch 2.0.1 alpha 59 and later. It contains language-dependent texts that didn&#039;t have textIDs originally. This class allows translating TTD entirely by using action 4s, since now every language-dependent text can be accessed.&lt;br /&gt;
&lt;br /&gt;
This list contains interspersed comments in parentheses.&lt;br /&gt;
&lt;br /&gt;
(The first 12 elements are the full month names used for dates)&lt;br /&gt;
&lt;br /&gt;
E000 January&lt;br /&gt;
&lt;br /&gt;
E001 February&lt;br /&gt;
&lt;br /&gt;
E002 March&lt;br /&gt;
&lt;br /&gt;
E003 April&lt;br /&gt;
&lt;br /&gt;
E004 May&lt;br /&gt;
&lt;br /&gt;
E005 June&lt;br /&gt;
&lt;br /&gt;
E006 July&lt;br /&gt;
&lt;br /&gt;
E007 August&lt;br /&gt;
&lt;br /&gt;
E008 September&lt;br /&gt;
&lt;br /&gt;
E009 October&lt;br /&gt;
&lt;br /&gt;
E00A November&lt;br /&gt;
&lt;br /&gt;
E00B December&lt;br /&gt;
&lt;br /&gt;
(The following 13 names are used for companies that aren&#039;t manually named and can&#039;t use &amp;amp;quot;xxx Transport&amp;amp;quot; for some reason)&lt;br /&gt;
&lt;br /&gt;
E00C Bloggs Brothers&lt;br /&gt;
&lt;br /&gt;
E00D Tiny Transport Ltd.&lt;br /&gt;
&lt;br /&gt;
E00E Express Travel&lt;br /&gt;
&lt;br /&gt;
E00F ))Comfy-Coach[[]]Comfy-Coach[[ &amp;amp; Co.&lt;br /&gt;
&lt;br /&gt;
E010 Crush &amp;amp; Bump Ltd.&lt;br /&gt;
&lt;br /&gt;
E011 Broken &amp;amp; Late Ltd.&lt;br /&gt;
&lt;br /&gt;
E012 Sam Speedy &amp;amp; Son&lt;br /&gt;
&lt;br /&gt;
E013 Supersonic Travel&lt;br /&gt;
&lt;br /&gt;
E014 Mike&#039;s Motors&lt;br /&gt;
&lt;br /&gt;
E015 Lightning International&lt;br /&gt;
&lt;br /&gt;
E016 Pannik &amp;amp; Loozit Ltd.&lt;br /&gt;
&lt;br /&gt;
E017 ))Inter-City[[]]Inter-City[[ Transport&lt;br /&gt;
&lt;br /&gt;
E018 Getout &amp;amp; Pushit Ltd.&lt;br /&gt;
&lt;br /&gt;
(The following 41 texts are last names to be used for managers of AI companies)&lt;br /&gt;
&lt;br /&gt;
E019 Adams&lt;br /&gt;
&lt;br /&gt;
E01A Allan&lt;br /&gt;
&lt;br /&gt;
E01B Baker&lt;br /&gt;
&lt;br /&gt;
E01C Bigwig&lt;br /&gt;
&lt;br /&gt;
E01D Black&lt;br /&gt;
&lt;br /&gt;
E01E Bloggs&lt;br /&gt;
&lt;br /&gt;
E01F Brown&lt;br /&gt;
&lt;br /&gt;
E020 Campbell&lt;br /&gt;
&lt;br /&gt;
E021 Gordon&lt;br /&gt;
&lt;br /&gt;
E022 Hamilton&lt;br /&gt;
&lt;br /&gt;
E023 Hawthorn&lt;br /&gt;
&lt;br /&gt;
E024 Higgins&lt;br /&gt;
&lt;br /&gt;
E025 Green&lt;br /&gt;
&lt;br /&gt;
E026 Gribble&lt;br /&gt;
&lt;br /&gt;
E027 Jones&lt;br /&gt;
&lt;br /&gt;
E028 ))McAlpine[[]]McAlpine[[&lt;br /&gt;
&lt;br /&gt;
E029 ))MacDonald[[]]MacDonald[[&lt;br /&gt;
&lt;br /&gt;
E02A ))McIntosh[[]]McIntosh[[&lt;br /&gt;
&lt;br /&gt;
E02B Muir&lt;br /&gt;
&lt;br /&gt;
E02C Murphy&lt;br /&gt;
&lt;br /&gt;
E02D Nelson&lt;br /&gt;
&lt;br /&gt;
E02E O&#039;Donnell&lt;br /&gt;
&lt;br /&gt;
E02F Parker&lt;br /&gt;
&lt;br /&gt;
E030 Phillips&lt;br /&gt;
&lt;br /&gt;
E031 Pilkington&lt;br /&gt;
&lt;br /&gt;
E032 Quigley&lt;br /&gt;
&lt;br /&gt;
E033 Sharkey&lt;br /&gt;
&lt;br /&gt;
E034 Thomson&lt;br /&gt;
&lt;br /&gt;
E035 Watkins&lt;br /&gt;
&lt;br /&gt;
(Names above this are used for the first three climates, the following ones are used in toyland only)&lt;br /&gt;
&lt;br /&gt;
E036 Grumpy&lt;br /&gt;
&lt;br /&gt;
E037 Dozy&lt;br /&gt;
&lt;br /&gt;
E038 Speedy&lt;br /&gt;
&lt;br /&gt;
E039 Nosey&lt;br /&gt;
&lt;br /&gt;
E03A Dribble&lt;br /&gt;
&lt;br /&gt;
E03B Mushroom&lt;br /&gt;
&lt;br /&gt;
E03C Cabbage&lt;br /&gt;
&lt;br /&gt;
E03D Sniffle&lt;br /&gt;
&lt;br /&gt;
E03E Fishy&lt;br /&gt;
&lt;br /&gt;
E03F Swindle&lt;br /&gt;
&lt;br /&gt;
E040 Sneaky&lt;br /&gt;
&lt;br /&gt;
E041 Nutkins&lt;br /&gt;
&lt;br /&gt;
(The following two texts must be exactly 19 characters long, and must contain letters that are available as shortened first names of AI company managers like &amp;amp;quot;C. F. Watkins&amp;amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The first ID is used for first names, the second is for middle names, but having a middle name has a small chance.)&lt;br /&gt;
&lt;br /&gt;
E042 ABCDEFGHIJKLMNPRSTW&lt;br /&gt;
&lt;br /&gt;
E043 ABCDEFGHIJKLMNPRSTW&lt;br /&gt;
&lt;br /&gt;
(The following two are suffixes shown in the load/save dialog)&lt;br /&gt;
&lt;br /&gt;
E044 .. (Parent Directory)&lt;br /&gt;
&lt;br /&gt;
E045 &amp;amp;nbsp;(Directory)&lt;br /&gt;
&lt;br /&gt;
(Suffix to be used after the manager name to create a company name)&lt;br /&gt;
&lt;br /&gt;
E046 &amp;amp;nbsp;Transport&lt;br /&gt;
&lt;br /&gt;
(Suffix to be used after an English or German town name to create a company name)&lt;br /&gt;
&lt;br /&gt;
E047 &amp;amp;nbsp;Transport&lt;br /&gt;
&lt;br /&gt;
(Suffix to be used after a French, Spanish or silly town name to create a company name)&lt;br /&gt;
&lt;br /&gt;
E048 &amp;amp;nbsp;Transport&lt;br /&gt;
&lt;br /&gt;
(The following three are used for printing liquid amounts and speeds)&lt;br /&gt;
&lt;br /&gt;
E049 &amp;amp;nbsp;litres&lt;br /&gt;
&lt;br /&gt;
E04A kmh-1&lt;br /&gt;
&lt;br /&gt;
E04B mph&lt;br /&gt;
&lt;br /&gt;
(The following suffix is used to make a company name from an AI last name. (e.g. Watkins &amp;amp; Co.))&lt;br /&gt;
&lt;br /&gt;
E04C &amp;amp;nbsp;&amp;amp; Co.&lt;br /&gt;
&lt;br /&gt;
=E800 News texts=&lt;br /&gt;
&lt;br /&gt;
This is used internally by TTDPatch for its additional news messages.&lt;br /&gt;
&lt;br /&gt;
=F000 unused=&lt;br /&gt;
&lt;br /&gt;
(Unused, but TTD&#039;s critical error messages internally have a number in this region, even though they aren&#039;t text IDs as such.)&lt;br /&gt;
&lt;br /&gt;
=F800 Internal TTDPatch texts=&lt;br /&gt;
&lt;br /&gt;
This is used internally by TTDPatch for its additional regular strings, i.e. those from ttdpttxt.txt. Since 2.0.1 alpha 59 you may use the following text IDs to change the respective patch strings (before alpha 59, the text IDs changed regularly). For default values, please see ttdpttxt.txt produced by mkpttxt.exe.&lt;br /&gt;
&lt;br /&gt;
In case this list is outdated, you can also see their definitions (including the default strings in all 5 standard languages) by running -+mkpttxt -l &amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;[langnum]&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;+-.&lt;br /&gt;
&lt;br /&gt;
F800 bribetext&lt;br /&gt;
&lt;br /&gt;
F801 bribedesc&lt;br /&gt;
&lt;br /&gt;
F802 bribefailed&lt;br /&gt;
&lt;br /&gt;
F803 headingfor&lt;br /&gt;
&lt;br /&gt;
F804 headingfordepot1&lt;br /&gt;
&lt;br /&gt;
F805 headingfordepot2&lt;br /&gt;
&lt;br /&gt;
F806 headingfordepot3&lt;br /&gt;
&lt;br /&gt;
F807 headingfordepot4&lt;br /&gt;
&lt;br /&gt;
F808 withsignals&lt;br /&gt;
&lt;br /&gt;
F809 wplainsignals&lt;br /&gt;
&lt;br /&gt;
F80A wpresignals&lt;br /&gt;
&lt;br /&gt;
F80B wpresigexits&lt;br /&gt;
&lt;br /&gt;
F80C wprecombined&lt;br /&gt;
&lt;br /&gt;
F80D presigautomatic&lt;br /&gt;
&lt;br /&gt;
F80E presigmanual&lt;br /&gt;
&lt;br /&gt;
F80F pathbasedauto&lt;br /&gt;
&lt;br /&gt;
F810 pathbasedmanual&lt;br /&gt;
&lt;br /&gt;
F811 vehmulttoolow&lt;br /&gt;
&lt;br /&gt;
F812 rchunknotloaded&lt;br /&gt;
&lt;br /&gt;
F813 loadgame&lt;br /&gt;
&lt;br /&gt;
F814 gotodepot&lt;br /&gt;
&lt;br /&gt;
F815 gotodepotonly&lt;br /&gt;
&lt;br /&gt;
F816 gototraindepot&lt;br /&gt;
&lt;br /&gt;
F817 gotoroaddepot&lt;br /&gt;
&lt;br /&gt;
F818 gotoshipdepot&lt;br /&gt;
&lt;br /&gt;
F819 gotoairdepot&lt;br /&gt;
&lt;br /&gt;
F81A routethrough&lt;br /&gt;
&lt;br /&gt;
F81B routenonstopthrough&lt;br /&gt;
&lt;br /&gt;
F81C vehobsolete&lt;br /&gt;
&lt;br /&gt;
F81D cannotcheat&lt;br /&gt;
&lt;br /&gt;
F81E cheatinvalidparm&lt;br /&gt;
&lt;br /&gt;
F81F cheatunknown&lt;br /&gt;
&lt;br /&gt;
F820 cheatobsolete1&lt;br /&gt;
&lt;br /&gt;
F821 cheatobsolete2&lt;br /&gt;
&lt;br /&gt;
F822 nostationhere&lt;br /&gt;
&lt;br /&gt;
F823 managedby1&lt;br /&gt;
&lt;br /&gt;
F824 managedby2&lt;br /&gt;
&lt;br /&gt;
F825 manage&lt;br /&gt;
&lt;br /&gt;
F826 engineinfo1&lt;br /&gt;
&lt;br /&gt;
F827 wagonpower&lt;br /&gt;
&lt;br /&gt;
F828 engineinfo2&lt;br /&gt;
&lt;br /&gt;
F829 wagoninfo&lt;br /&gt;
&lt;br /&gt;
F82A newwagoninfo&lt;br /&gt;
&lt;br /&gt;
F82B wagonspeedlimit&lt;br /&gt;
&lt;br /&gt;
F82C refittableto&lt;br /&gt;
&lt;br /&gt;
F82D refittabletoallbut&lt;br /&gt;
&lt;br /&gt;
F82E refittabletoall&lt;br /&gt;
&lt;br /&gt;
F82F railwaywagon&lt;br /&gt;
&lt;br /&gt;
F830 monorailwagon&lt;br /&gt;
&lt;br /&gt;
F831 maglevwagon&lt;br /&gt;
&lt;br /&gt;
F832 ufodestroyed&lt;br /&gt;
&lt;br /&gt;
F833 rvweightinfo&lt;br /&gt;
&lt;br /&gt;
F834 rvweightpurchasewindow&lt;br /&gt;
&lt;br /&gt;
F835 grfloaderror&lt;br /&gt;
&lt;br /&gt;
F836 toomanysprites&lt;br /&gt;
&lt;br /&gt;
F837 outofmemory&lt;br /&gt;
&lt;br /&gt;
F838 wronggrfversion&lt;br /&gt;
&lt;br /&gt;
F839 toomanyspritestotal&lt;br /&gt;
&lt;br /&gt;
F83A filenotfound&lt;br /&gt;
&lt;br /&gt;
F83B invalidsprite&lt;br /&gt;
&lt;br /&gt;
F83C notttdpatchgrf&lt;br /&gt;
&lt;br /&gt;
F83D grferror&lt;br /&gt;
&lt;br /&gt;
F83E grfwarning&lt;br /&gt;
&lt;br /&gt;
F83F grfneedspatchversion&lt;br /&gt;
&lt;br /&gt;
F840 grfneedsdoswin&lt;br /&gt;
&lt;br /&gt;
F841 grfwantsswitch&lt;br /&gt;
&lt;br /&gt;
F842 grfinvalidparam&lt;br /&gt;
&lt;br /&gt;
F843 grfconflict&lt;br /&gt;
&lt;br /&gt;
F844 grfstatcaption&lt;br /&gt;
&lt;br /&gt;
F845 grfstatapply&lt;br /&gt;
&lt;br /&gt;
F846 grfstatreset&lt;br /&gt;
&lt;br /&gt;
F847 grfinfotext&lt;br /&gt;
&lt;br /&gt;
F848 grflisthint&lt;br /&gt;
&lt;br /&gt;
F849 grfapplyhint&lt;br /&gt;
&lt;br /&gt;
F84A grfresethint&lt;br /&gt;
&lt;br /&gt;
F84B grfstatusmenu&lt;br /&gt;
&lt;br /&gt;
F84C initialgrfsettings&lt;br /&gt;
&lt;br /&gt;
F84D initialgrfsettingshint&lt;br /&gt;
&lt;br /&gt;
F84E grfstatgeninfo1&lt;br /&gt;
&lt;br /&gt;
F84F grfstatgeninfo2&lt;br /&gt;
&lt;br /&gt;
F850 grfstatgeninfo3&lt;br /&gt;
&lt;br /&gt;
F851 grfstatgeninfo4&lt;br /&gt;
&lt;br /&gt;
F852 grfstatmax&lt;br /&gt;
&lt;br /&gt;
F853 elecrailconstitle&lt;br /&gt;
&lt;br /&gt;
F854 elecrailconsmenu&lt;br /&gt;
&lt;br /&gt;
F855 lmilloutoftrees&lt;br /&gt;
&lt;br /&gt;
F856 eurointroduced&lt;br /&gt;
&lt;br /&gt;
These next thirteen text IDs, and the six at F8DD..F8E2 are difficult, if not impossible, to set correctly using action 4. Use [[Action0GeneralVariables|action 0]] instead.&lt;br /&gt;
&lt;br /&gt;
F857 curr_HUF&lt;br /&gt;
&lt;br /&gt;
F858 curr_PLN&lt;br /&gt;
&lt;br /&gt;
F859 curr_ATS&lt;br /&gt;
&lt;br /&gt;
F85A curr_BEF&lt;br /&gt;
&lt;br /&gt;
F85B curr_DKK&lt;br /&gt;
&lt;br /&gt;
F85C curr_FIM&lt;br /&gt;
&lt;br /&gt;
F85D curr_GRD&lt;br /&gt;
&lt;br /&gt;
F85E curr_CHF&lt;br /&gt;
&lt;br /&gt;
F85F curr_NLG&lt;br /&gt;
&lt;br /&gt;
F860 curr_ITL&lt;br /&gt;
&lt;br /&gt;
F861 curr_SEK&lt;br /&gt;
&lt;br /&gt;
F862 curr_RUB&lt;br /&gt;
&lt;br /&gt;
F863 curr_EUR&lt;br /&gt;
&lt;br /&gt;
F864 townlastmonthaccepted&lt;br /&gt;
&lt;br /&gt;
F865 aircraftcleared&lt;br /&gt;
&lt;br /&gt;
F866 zeppelincleared&lt;br /&gt;
&lt;br /&gt;
F867 traincleared&lt;br /&gt;
&lt;br /&gt;
F868 endofsharedorders&lt;br /&gt;
&lt;br /&gt;
F869 resetorders&lt;br /&gt;
&lt;br /&gt;
F86A toggleservice&lt;br /&gt;
&lt;br /&gt;
F86B resethint&lt;br /&gt;
&lt;br /&gt;
F86C servicehint&lt;br /&gt;
&lt;br /&gt;
F86D nosort&lt;br /&gt;
&lt;br /&gt;
F86E sortconsistnum&lt;br /&gt;
&lt;br /&gt;
F86F sortprofit&lt;br /&gt;
&lt;br /&gt;
F870 sortlastprofit&lt;br /&gt;
&lt;br /&gt;
F871 sortage&lt;br /&gt;
&lt;br /&gt;
F872 sortmaxspeed&lt;br /&gt;
&lt;br /&gt;
F873 sortreliability&lt;br /&gt;
&lt;br /&gt;
F874 sortcargo&lt;br /&gt;
&lt;br /&gt;
F875 sortdestination&lt;br /&gt;
&lt;br /&gt;
F876 sorthint&lt;br /&gt;
&lt;br /&gt;
F877 performance&lt;br /&gt;
&lt;br /&gt;
F878 vehiclelost&lt;br /&gt;
&lt;br /&gt;
F879 wrongrailtype&lt;br /&gt;
&lt;br /&gt;
F87A neterror1&lt;br /&gt;
&lt;br /&gt;
F87B neterror2&lt;br /&gt;
&lt;br /&gt;
F87C desynch1&lt;br /&gt;
&lt;br /&gt;
F87D desynch2&lt;br /&gt;
&lt;br /&gt;
F87E refitvehicle&lt;br /&gt;
&lt;br /&gt;
F87F refitcargohint&lt;br /&gt;
&lt;br /&gt;
F880 refitbuttonhint&lt;br /&gt;
&lt;br /&gt;
F881 cantbuildcanalhere&lt;br /&gt;
&lt;br /&gt;
F882 fundprospecting&lt;br /&gt;
&lt;br /&gt;
F883 buildindustry&lt;br /&gt;
&lt;br /&gt;
F884 fundingfailed&lt;br /&gt;
&lt;br /&gt;
F885 cannotfundprospecting&lt;br /&gt;
&lt;br /&gt;
The following 9 TextIDs are used if vehicle message are set to use the vehicle name, not the vehicle number (i.e. if miscmods.usevehnumbernotname is off). They behave in the following manner: If set to an empty string (a single 00 - the default value), the Patch tries to automatically generate each them from one or two original TTD TextIDs. If it is unable to match and replace the string (which is likely to happen with translated strings), it simply displays a string with format &amp;amp;quot;name??&amp;amp;quot;.&lt;br /&gt;
&lt;br /&gt;
F886 newtrainindepot - Looks for TextID 8864 in TextID 8814. Equivalent string is &amp;amp;quot;\94\80 is waiting in depot&amp;amp;quot;.&lt;br /&gt;
&lt;br /&gt;
F887 newrvindepot - Looks for TextID 902B in TextID 9016. Equivalent string is &amp;amp;quot;\94\80 is waiting in depot&amp;amp;quot;.&lt;br /&gt;
&lt;br /&gt;
F888 newshipindepot - Looks for TextID 9830 in TextID 981C. Equivalent string is &amp;amp;quot;\94\80 is waiting in depot&amp;amp;quot;.&lt;br /&gt;
&lt;br /&gt;
F889 newaircraftinhangar - Looks for TextID A02F in TextID A014. Equivalent string is &amp;amp;quot;\94\80 is waiting in the aircraft hangar&amp;amp;quot;.&lt;br /&gt;
&lt;br /&gt;
F88A newvehold - Generated from TextID 01A0. Equivalent string is &amp;amp;quot;\94\80 is getting old&amp;amp;quot;.&lt;br /&gt;
&lt;br /&gt;
F88B newvehveryold - Generated from TextID 01A1. Equivalent string is &amp;amp;quot;\94\80 is getting very old&amp;amp;quot;.&lt;br /&gt;
&lt;br /&gt;
F88C newvehveryveryold - Generated from TextID 01A2. Equivalent string is &amp;amp;quot;\94\80 is getting very old and urgently needs replacing&amp;amp;quot;.&lt;br /&gt;
&lt;br /&gt;
F88D newvehiclelost - Generated from TextID F878 (vehiclelost). Equivalent string is &amp;amp;quot;\94\80 seems to be lost&amp;amp;quot;.&lt;br /&gt;
&lt;br /&gt;
F88E newcantreverse - Generated from TextID F8AE (cantreverse). Equivalent string is &amp;amp;quot;\94\80 needs to reverse but cannot do so safely.&amp;amp;quot;.&lt;br /&gt;
&lt;br /&gt;
F88F txtetoolboxmenu&lt;br /&gt;
&lt;br /&gt;
F890 txtetoolbox&lt;br /&gt;
&lt;br /&gt;
F891 txtetoolbox_tsigns&lt;br /&gt;
&lt;br /&gt;
F892 txtetoolbox_tsignstrans&lt;br /&gt;
&lt;br /&gt;
F893 txtetoolbox_tsignsold&lt;br /&gt;
&lt;br /&gt;
F894 txtetoolbox_dsize&lt;br /&gt;
&lt;br /&gt;
F895 txtetoolbox_d8&lt;br /&gt;
&lt;br /&gt;
F896 txtetoolbox_d10&lt;br /&gt;
&lt;br /&gt;
F897 txtetoolbox_d12&lt;br /&gt;
&lt;br /&gt;
F898 txtetoolbox_d14&lt;br /&gt;
&lt;br /&gt;
F899 txtetoolbox_d16&lt;br /&gt;
&lt;br /&gt;
F89A txtetoolbox_d18&lt;br /&gt;
&lt;br /&gt;
F89B txtetoolbox_d20&lt;br /&gt;
&lt;br /&gt;
F89C txtetoolbox_depotalltrash&lt;br /&gt;
&lt;br /&gt;
F89D txtetoolbox_on&lt;br /&gt;
&lt;br /&gt;
F89E txtetoolbox_off&lt;br /&gt;
&lt;br /&gt;
F89F txtetoolbox_saveinsavegame&lt;br /&gt;
&lt;br /&gt;
))F8A0[[]]F8A0[[ txtetoolbox_usedefaultinsave&lt;br /&gt;
&lt;br /&gt;
))F8A1[[]]F8A1[[ txtetoolbox_saveasdefault&lt;br /&gt;
&lt;br /&gt;
))F8A2[[]]F8A2[[ txtetoolbox_resetdefaultsizes&lt;br /&gt;
&lt;br /&gt;
))F8A3[[]]F8A3[[ none&lt;br /&gt;
&lt;br /&gt;
))F8A4[[]]F8A4[[ low&lt;br /&gt;
&lt;br /&gt;
))F8A5[[]]F8A5[[ normal&lt;br /&gt;
&lt;br /&gt;
))F8A6[[]]F8A6[[ high&lt;br /&gt;
&lt;br /&gt;
))F8A7[[]]F8A7[[ defaultstation&lt;br /&gt;
&lt;br /&gt;
))F8A8[[]]F8A8[[ stationnumdefault&lt;br /&gt;
&lt;br /&gt;
))F8A9[[]]F8A9[[ stationclassdefault&lt;br /&gt;
&lt;br /&gt;
F8AA unnamedtownnamestyle&lt;br /&gt;
&lt;br /&gt;
F8AB newshistory&lt;br /&gt;
&lt;br /&gt;
F8AC messagesettings&lt;br /&gt;
&lt;br /&gt;
F8AD messages&lt;br /&gt;
&lt;br /&gt;
F8AE cantreverse&lt;br /&gt;
&lt;br /&gt;
F8AF grflanguage&lt;br /&gt;
&lt;br /&gt;
))F8B0[[]]F8B0[[ sizertooltip&lt;br /&gt;
&lt;br /&gt;
))F8B1[[]]F8B1[[ stickytooltip&lt;br /&gt;
&lt;br /&gt;
))F8B2[[]]F8B2[[ rcw_railway&lt;br /&gt;
&lt;br /&gt;
))F8B3[[]]F8B3[[ rcw_signaltype&lt;br /&gt;
&lt;br /&gt;
))F8B4[[]]F8B4[[ rcw_semaphores&lt;br /&gt;
&lt;br /&gt;
))F8B5[[]]F8B5[[ rcw_lights&lt;br /&gt;
&lt;br /&gt;
))F8B6[[]]F8B6[[ rcw_automatic&lt;br /&gt;
&lt;br /&gt;
))F8B7[[]]F8B7[[ rcw_normal&lt;br /&gt;
&lt;br /&gt;
))F8B8[[]]F8B8[[ rcw_entry&lt;br /&gt;
&lt;br /&gt;
))F8B9[[]]F8B9[[ rcw_exit&lt;br /&gt;
&lt;br /&gt;
F8BA rcw_combo&lt;br /&gt;
&lt;br /&gt;
F8BB rcw_nopbs&lt;br /&gt;
&lt;br /&gt;
F8BC rcw_pbs&lt;br /&gt;
&lt;br /&gt;
F8BD rcw_tracks&lt;br /&gt;
&lt;br /&gt;
F8BE rcw_length&lt;br /&gt;
&lt;br /&gt;
F8BF rcw_drag&lt;br /&gt;
&lt;br /&gt;
))F8C0[[]]F8C0[[ rcw_class&lt;br /&gt;
&lt;br /&gt;
))F8C1[[]]F8C1[[ rcw_type&lt;br /&gt;
&lt;br /&gt;
))F8C2[[]]F8C2[[ rcw_accepts&lt;br /&gt;
&lt;br /&gt;
))F8C3[[]]F8C3[[ outofdynmem&lt;br /&gt;
&lt;br /&gt;
))F8C4[[]]F8C4[[ cantresize&lt;br /&gt;
&lt;br /&gt;
))F8C5[[]]F8C5[[ grftextnotfound&lt;br /&gt;
&lt;br /&gt;
))F8C6[[]]F8C6[[ newindubuildindustry&lt;br /&gt;
&lt;br /&gt;
))F8C7[[]]F8C7[[ newindufundprospecting&lt;br /&gt;
&lt;br /&gt;
))F8C8[[]]F8C8[[ newinduproduces&lt;br /&gt;
&lt;br /&gt;
))F8C9[[]]F8C9[[ toomanyindustries&lt;br /&gt;
&lt;br /&gt;
F8CA newindulist_tooltip&lt;br /&gt;
&lt;br /&gt;
F8CB newinduinfo_tooltip&lt;br /&gt;
&lt;br /&gt;
F8CC newindubuild_tooltip&lt;br /&gt;
&lt;br /&gt;
F8CD newinduprospect_tooltip&lt;br /&gt;
&lt;br /&gt;
F8CE newindu_cargowaiting&lt;br /&gt;
&lt;br /&gt;
F8CF warning_notowns&lt;br /&gt;
&lt;br /&gt;
))F8D0[[]]F8D0[[ localplayer&lt;br /&gt;
&lt;br /&gt;
))F8D1[[]]F8D1[[ remoteplayer&lt;br /&gt;
&lt;br /&gt;
))F8D2[[]]F8D2[[ multiplayer&lt;br /&gt;
&lt;br /&gt;
))F8D3[[]]F8D3[[ multiplayer_tooltip&lt;br /&gt;
&lt;br /&gt;
))F8D4[[]]F8D4[[ patchsnd_dll_notfound&lt;br /&gt;
&lt;br /&gt;
))F8D5[[]]F8D5[[ statistics&lt;br /&gt;
&lt;br /&gt;
))F8D6[[]]F8D6[[ statistics_white&lt;br /&gt;
&lt;br /&gt;
))F8D7[[]]F8D7[[ totalcargo&lt;br /&gt;
&lt;br /&gt;
))F8D8[[]]F8D8[[ landareainfoheight&lt;br /&gt;
&lt;br /&gt;
))F8D9[[]]F8D9[[ txteroadmenu&lt;br /&gt;
&lt;br /&gt;
F8DA txtetramwindowheader&lt;br /&gt;
&lt;br /&gt;
F8DB hotkeylistdos&lt;br /&gt;
&lt;br /&gt;
F8DC hotkeylistwin&lt;br /&gt;
&lt;br /&gt;
These next six text IDs, and the thirteen at F857..F863 are difficult, if not impossible, to set correctly using action 4. Use [[Action0GeneralVariables|action 0]] instead.&lt;br /&gt;
&lt;br /&gt;
F8DD curr_pound&lt;br /&gt;
&lt;br /&gt;
F8DE curr_dollar&lt;br /&gt;
&lt;br /&gt;
F8DF curr_franc&lt;br /&gt;
&lt;br /&gt;
))F8E0[[]]F8E0[[ curr_deutschmark&lt;br /&gt;
&lt;br /&gt;
))F8E1[[]]F8E1[[ curr_yen&lt;br /&gt;
&lt;br /&gt;
))F8E2[[]]F8E2[[ curr_peseta&lt;br /&gt;
&lt;br /&gt;
))F8E3[[]]F8E3[[ shortdateformat&lt;br /&gt;
&lt;br /&gt;
))F8E4[[]]F8E4[[ longdateformat&lt;br /&gt;
&lt;br /&gt;
))F8E5[[]]F8E5[[ txtltwocc&lt;br /&gt;
&lt;br /&gt;
))F8E6[[]]F8E6[[ txtltwoccglb&lt;br /&gt;
&lt;br /&gt;
))F8E7[[]]F8E7[[ txtltwoccstm&lt;br /&gt;
&lt;br /&gt;
))F8E8[[]]F8E8[[ txtltwoccdsl&lt;br /&gt;
&lt;br /&gt;
))F8E9[[]]F8E9[[ txtltwoccelc&lt;br /&gt;
&lt;br /&gt;
F8EA txtltwoccmor&lt;br /&gt;
&lt;br /&gt;
F8EB txtltwoccmgv&lt;br /&gt;
&lt;br /&gt;
F8EC txtltwoccdmu&lt;br /&gt;
&lt;br /&gt;
F8ED txtltwoccemu&lt;br /&gt;
&lt;br /&gt;
F8EE txtltwoccpaw&lt;br /&gt;
&lt;br /&gt;
F8EF txtltwoccfrw&lt;br /&gt;
&lt;br /&gt;
))F8F0[[]]F8F0[[ txtltwoccbus&lt;br /&gt;
&lt;br /&gt;
))F8F1[[]]F8F1[[ txtltwocctrm&lt;br /&gt;
&lt;br /&gt;
))F8F2[[]]F8F2[[ txtltwocctrk&lt;br /&gt;
&lt;br /&gt;
))F8F3[[]]F8F3[[ txtltwoccpsh&lt;br /&gt;
&lt;br /&gt;
))F8F4[[]]F8F4[[ txtltwoccfsh&lt;br /&gt;
&lt;br /&gt;
))F8F5[[]]F8F5[[ txtltwoccsap&lt;br /&gt;
&lt;br /&gt;
))F8F6[[]]F8F6[[ txtltwocclap&lt;br /&gt;
&lt;br /&gt;
))F8F7[[]]F8F7[[ txtltwoccfrp&lt;br /&gt;
&lt;br /&gt;
))F8F8[[]]F8F8[[ txtltwocchel&lt;br /&gt;
&lt;br /&gt;
))F8F9[[]]F8F9[[ txtltwocclr1&lt;br /&gt;
&lt;br /&gt;
F8FA txtltwocclr2&lt;br /&gt;
&lt;br /&gt;
F8FB steepslopes&lt;br /&gt;
&lt;br /&gt;
F8FC landhigherbridgehead&lt;br /&gt;
&lt;br /&gt;
F8FD grfhelpercaption&lt;br /&gt;
&lt;br /&gt;
F8FE grfhelper_displxrelyrel&lt;br /&gt;
&lt;br /&gt;
F8FF textsprite&lt;br /&gt;
&lt;br /&gt;
F900 txtetramstationheader&lt;br /&gt;
&lt;br /&gt;
F901 txtetramdepotheader&lt;br /&gt;
&lt;br /&gt;
F902 statistics_tooltip&lt;br /&gt;
&lt;br /&gt;
F903 conflict_itself&lt;br /&gt;
&lt;br /&gt;
F904 conflict_preexist&lt;br /&gt;
&lt;br /&gt;
F905 grfstatdebug&lt;br /&gt;
&lt;br /&gt;
F906 grfdebughint&lt;br /&gt;
&lt;br /&gt;
F907 grfdebugmsg&lt;br /&gt;
&lt;br /&gt;
F908 firstpasstramarrives&lt;br /&gt;
&lt;br /&gt;
F909 firstfreighttramarrives&lt;br /&gt;
&lt;br /&gt;
The following strings/textIDs are for TTDPatch 2.5 and are different in 2.6:&lt;br /&gt;
&lt;br /&gt;
F90A newgame &amp;amp;quot;New game\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F90B newgamewindow &amp;amp;quot;\90Are you sure you want to abandon this game and start a new game?\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
The following strings/textIDs are &#039;&#039;&#039;only&#039;&#039;&#039; in TTDPatch 2.6:&lt;br /&gt;
&lt;br /&gt;
F90A airporttype &amp;amp;quot;\98Airport Type\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F90B unnamedairporttype &amp;amp;quot;(Unnamed type)\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F90C txtclonedepotbutton &amp;amp;quot;\98Clone Train\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F90D txtclonetooltip &amp;amp;quot;\98Allows you to clone a train\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F90E txtcloneerrortop &amp;amp;quot;\94Cannot clone train consist\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F90F txtclonebadcash &amp;amp;quot;\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F910 txtcloneerror_company &amp;amp;quot;\94Not a company train\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F911 txtcloneerror_unavail &amp;amp;quot;\94Vehicle in consist is not available anymore\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F912 txtcloneerror_nothead &amp;amp;quot;\94No engine head at the start of the consist\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F913 txtcloneerror_notrail &amp;amp;quot;\94Not a rail vehicle\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F914 txtcloneerror_unknown &amp;amp;quot;\94Unknown reason\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F915 grfbefore &amp;amp;quot;\94File \&amp;amp;quot;\80\&amp;amp;quot; must be loaded before \80.\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F916 grfafter &amp;amp;quot;\94File \&amp;amp;quot;\80\&amp;amp;quot; must be loaded after \80.\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F917 tr_trainlen &amp;amp;quot;Number of Train Carriages\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F918 tr_maxspeed_kph &amp;amp;quot;Maximum Speed in km/h\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F919 tr_curorder &amp;amp;quot;Station of Current Order\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F91A tr_curdeporder &amp;amp;quot;Depot of Current Order\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F91B tr_totalpower &amp;amp;quot;Total Train Horsepower\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F91C tr_totalweight &amp;amp;quot;Total Train Weight\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F91D tr_restricttitle &amp;amp;quot;\98Routefinding Restriction\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F91E tr_valuebtn &amp;amp;quot;Value\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F91F tr_andbtn &amp;amp;quot;And\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F920 tr_orbtn &amp;amp;quot;Or\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F921 tr_xorbtn &amp;amp;quot;Xor\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F922 tr_error1 &amp;amp;quot;\94Error: Too Many Restriction Objects.\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F923 tr_siggui_text &amp;amp;quot;\98Routefinding\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F924 tr_enternumber &amp;amp;quot;\94Enter Number\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F925 tr_copy &amp;amp;quot;\98Copy\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F926 tr_share &amp;amp;quot;\98Share\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F927 tr_end &amp;amp;quot;-- End of routefinding restriction criteria\80 --\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F928 tr_endshare &amp;amp;quot;, shared by \7e signals\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F929 tr_landinfotext &amp;amp;quot;restricted\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F92A tr_sigval_sw &amp;amp;quot;Signal Status SW\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F92B tr_sigval_se &amp;amp;quot;Signal Status SE\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F92C tr_sigval_nw &amp;amp;quot;Signal Status NW\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F92D tr_sigval_ne &amp;amp;quot;Signal Status NE\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F92E tr_sigval_is_green &amp;amp;quot;is green\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F92F tr_sigval_is_red &amp;amp;quot;is red\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F930 tr_sigval_is_g &amp;amp;quot;G\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F931 tr_sigval_is_r &amp;amp;quot;R\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F932 tr_maxspeed_mph &amp;amp;quot;Maximum Speed in mph\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F933 tr_nextorder &amp;amp;quot;Station of Next Order\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F934 tr_lastvisitstation &amp;amp;quot;Last Visited Station\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F935 tr_carriescargo &amp;amp;quot;Train Cargo\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F936 tr_distancefromsig &amp;amp;quot;Number of tiles from signals\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F937 tr_vartxt &amp;amp;quot;Variable\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F938 tr_optxt &amp;amp;quot;Op\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F939 directoryoverflow &amp;amp;quot;\94Too many folders in listing\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F93A trdlg_eq &amp;amp;quot;is\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F93B trdlg_neq &amp;amp;quot;is not\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F93C tr_nextdeporder &amp;amp;quot;Depot of Next Order\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F93D adjsttitle &amp;amp;quot;\94\80 - Adjacent stations\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F93E adjstnumstsinrange &amp;amp;quot;\98Number of stations in range found: \85\85\85\7e\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F93F adjstnormstmergealgtxt &amp;amp;quot;\98Standard merge to connecting station\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F940 adjstnewsttxt &amp;amp;quot;\98Create new station\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F941 adjstnewstbuoy &amp;amp;quot;\98Create new standard buoy\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F942 adjstnewenhbuoy &amp;amp;quot;\98Create new station buoy\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F943 newgame &amp;amp;quot;New game\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F944 newgamewindow &amp;amp;quot;\90Are you sure you want to abandon this game and start a new game?\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F945 aquaducttext &amp;amp;quot;Aquaduct\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F946 headingfordepot1v2 &amp;amp;quot;\95\80 Train Depot\80, \84\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F947 headingfordepot2v2 &amp;amp;quot;\95\80 Road Depot\80, \84\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F948 headingfordepot3v2 &amp;amp;quot;\95\80 Ship Depot\80, \84\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F949 canaltexttip &amp;amp;quot;\98Build Canals and Locks\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F94A rivertexttip &amp;amp;quot;\98Build River\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F94B aquaducttexttip &amp;amp;quot;\98Build an Aqueduct to overpass a valley\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F94C waterconstrwin &amp;amp;quot;\94Water construction\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F94D waterconstrtbtip &amp;amp;quot;\98Canal, River and Aqueduct construction\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F94E sortname &amp;amp;quot;Name\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F94F tr_days_since_last_service &amp;amp;quot;Number of Days Since Last Service\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F950 tr_searching_for_depot &amp;amp;quot;Train \80 Currently Searching For Depot\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F951 tr_ps_wintitle &amp;amp;quot;\98Signal Programming\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F952 tr_ps_gui_text &amp;amp;quot;\98Signal\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F953 tr_ps_sigcount_g &amp;amp;quot;No. of green exit &amp;amp; combo signals\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F954 tr_ps_sigcount_go &amp;amp;quot;No. of green one-way exit &amp;amp; combo signals\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F955 tr_ps_sigcount_gt &amp;amp;quot;No. of green two-way exit &amp;amp; combo signals\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F956 tr_ps_sigcount_r &amp;amp;quot;No. of red exit &amp;amp; combo signals\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F957 tr_ps_sigcount_ro &amp;amp;quot;No. of red one-way exit &amp;amp; combo signals\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F958 tr_ps_sigcount_rt &amp;amp;quot;No. of red two-way exit &amp;amp; combo signals\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F959 tr_ps_end &amp;amp;quot;-- End of criteria to set signal to red\80 --\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F95A tr_ps_landinfotext &amp;amp;quot;programmed\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F95B ne &amp;amp;quot;NE\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F95C se &amp;amp;quot;SE\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F95D sw &amp;amp;quot;SW\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F95E nw &amp;amp;quot;NW\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F95F tr_entertileside &amp;amp;quot;Entered side of tile\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F960 tr_pbssigblentertl &amp;amp;quot;Entered tile of PBS signal block\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F961 newstartyear &amp;amp;quot;\98New game start year\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F962 newstartyearprint &amp;amp;quot;\98\7e\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F963 newstartyearhintyear &amp;amp;quot;\98This is the current new game start year\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F964 newstartyearhintinc &amp;amp;quot;\98Increases the new game start year\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F965 newstartyearhintdec &amp;amp;quot;\98Decreases the new game start year\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F966 nohouseremove &amp;amp;quot;\94Local authority refuses to demolish building in the way\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F967 tsignal_linfotxt &amp;amp;quot;through\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F968 isignal_linfotxt &amp;amp;quot;inverted\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F969 advorder_findnearestdepottxt &amp;amp;quot;nearest\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F96A advorder_gotonearestdepotddltxt &amp;amp;quot;Go to nearest depot\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F96B advorder_servicenearestdepotddltxt &amp;amp;quot;Service at nearest depot\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F96C advorder_loadcondskipddltxt &amp;amp;quot;Load-based conditional order skip\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F96D advorder_loadcondskiporderwintxt &amp;amp;quot;Skip next \7e orders if load \80 \7e%\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F96E advorder_orderskipcountguibtntxt &amp;amp;quot;Count\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F96F advorder_orderloadpercentguibtntxt &amp;amp;quot;Load%\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F970 advorder_ordercondskiploadparamddltxt &amp;amp;quot;\98Params Ş\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F971 advorder_orderparamtooltip &amp;amp;quot;\98Configure the advanced settings for this order\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F972 advorder_selrefitveh &amp;amp;quot;Refit consist\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F973 advorder_orderrefitveh &amp;amp;quot;Refit to: \80\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F974 advorder_ordergotoloadonlytxt &amp;amp;quot;Go to \80 (Load Only)\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F975 advorder_ordergotounloadonlytxt &amp;amp;quot;Go to \80 (Unload Only)\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F976 advorder_ordergotoloadonlyddltxt &amp;amp;quot;Go to station (Load Only)\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F977 advorder_ordergotounloadonlyddltxt &amp;amp;quot;Go to station (Unload Only)\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F978 transopts_option &amp;amp;quot;\01\0cTransparency options\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F979 transopts_caption &amp;amp;quot;\94Transparency Options\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F97A transopts_tttrees &amp;amp;quot;\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F97B transopts_ttbuildings &amp;amp;quot;\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F97C transopts_ttindustries &amp;amp;quot;\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F97D transopts_ttstations &amp;amp;quot;\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F97E transopts_ttraildepots &amp;amp;quot;\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F97F transopts_ttroaddepots &amp;amp;quot;\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F980 transopts_ttshipdepots &amp;amp;quot;\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F981 transopts_ttbridges &amp;amp;quot;\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F982 transopts_ttobjects &amp;amp;quot;\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F983 transopts_ttcompany &amp;amp;quot;\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F984 transopts_ttinvistrees &amp;amp;quot;\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F985 tr_findbtn &amp;amp;quot;Find\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F986 transopts_cttrees &amp;amp;quot;\98Cycle transparency for trees (Ctrl-click to lock)\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F987 transopts_ctbuildings &amp;amp;quot;\98Cycle transparency for town buildings (Ctrl-click to lock)\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F988 transopts_ctindustries &amp;amp;quot;\98Cycle transparency for industries (Ctrl-click to lock)\00&lt;br /&gt;
&lt;br /&gt;
F989 transopts_ctstations &amp;amp;quot;\98Cycle transparency for stations (Ctrl-click to lock)\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F98A transopts_ctraildepots &amp;amp;quot;\98Cycle transparency for rail depots (Ctrl-click to lock)\00&lt;br /&gt;
&lt;br /&gt;
F98B transopts_ctroaddepots &amp;amp;quot;\98Cycle transparency for road depots (Ctrl-click to lock)\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F98C transopts_ctshipdepots &amp;amp;quot;\98Cycle transparency for ship depots (Ctrl-click to lock)\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F98D transopts_ctbridges &amp;amp;quot;\98Cycle transparency for bridges (Ctrl-click to lock)\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F98E transopts_ctobjects &amp;amp;quot;\98Cycle transparency for objects (Ctrl-click to lock)\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F98F transopts_ctcompany &amp;amp;quot;\98Cycle transparency for company property (Ctrl-click to lock)\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F990 transopts_ttoneway &amp;amp;quot;\98Toggle invisiblility for one-way road markers when road-building toolbar is closed (Ctrl-click to lock)\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F991 industrydirmenu &amp;amp;quot;Industry directory\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F992 industrydir &amp;amp;quot;\94Industries\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F993 industrydiritem0 &amp;amp;quot;\8e\80 \80\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F994 industrydiritem1 &amp;amp;quot;\8e\80 \80\98 (\80\80)\90 (\7d% transported)\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F995 industrydiritem2 &amp;amp;quot;\8e\80 \80\98 (\80\80/\80\80)\90 (\7d%/\7d% transported)\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F996 sortorder_tooltip &amp;amp;quot;\98Select sorting order (descending/ascending)\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F997 sortorder_production &amp;amp;quot;\98Production\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F998 sortorder_type &amp;amp;quot;\98Type\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F999 sortorder_transported &amp;amp;quot;\98Transported\00&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
F99A sortorder_name &amp;amp;quot;\98Name\00&amp;amp;quot;&lt;/div&gt;</summary>
		<author><name>Orudge</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=VehicleIDs&amp;diff=851</id>
		<title>VehicleIDs</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=VehicleIDs&amp;diff=851"/>
		<updated>2011-06-12T19:23:31Z</updated>

		<summary type="html">&lt;p&gt;Orudge: 8 revisions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;List of vehicle IDs&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is a list of vehicle IDs, for example for choosing the ID to change in [[Action0|action 0]] or [[Action3|Action 3]].&lt;br /&gt;
&lt;br /&gt;
The first column of each table shows the ID of the vehicle within the game (in decimal), the second columns shows the ID to use for .NFO files (in hex), and the third column shows the standard name of the vehicle.&lt;br /&gt;
&lt;br /&gt;
Please see the RoadVehicleIDRecommendation for information on how to make your road vehicle set compatible with other road vehicle sets.&lt;br /&gt;
&lt;br /&gt;
The IDs listed are the only IDs that can be used in TTDPatch and OpenTTD prior to r12924. Since OpenTTD r13482, IDs greater than 255 are allowed, up to a theoretical limit of 65535. Any engine defined which is not in the original range listed below will have no default properties, including name.&lt;br /&gt;
&lt;br /&gt;
==Train Engines==&lt;br /&gt;
&lt;br /&gt;
||ID|NFO ID|Name&lt;br /&gt;
&lt;br /&gt;
0|&amp;lt;center&amp;gt;00&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Kirby Paul Tank (Steam)&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
1|&amp;lt;center&amp;gt;01&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;MJS 250 (Diesel)&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2|&amp;lt;center&amp;gt;02&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Ploddyphut Choo-Choo&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3|&amp;lt;center&amp;gt;03&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Powernaut Choo-Choo&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4|&amp;lt;center&amp;gt;04&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Mightymover Choo-Choo&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
5|&amp;lt;center&amp;gt;05&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Ploddyphut Diesel&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
6|&amp;lt;center&amp;gt;06&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Powernaut Diesel&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
7|&amp;lt;center&amp;gt;07&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Wills 2-8-0 (Steam)&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
8|&amp;lt;center&amp;gt;08&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Chaney &#039;Jubilee&#039; (Steam)&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
9|&amp;lt;center&amp;gt;09&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Ginzu &#039;A4&#039; (Steam)&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
10|&amp;lt;center&amp;gt;0A&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;SH &#039;8P&#039; (Steam)&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
11|&amp;lt;center&amp;gt;0B&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Manley-Morel DMU (Diesel)&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
12|&amp;lt;center&amp;gt;0C&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;&#039;Dash&#039; (Diesel)&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
13|&amp;lt;center&amp;gt;0D&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;SH/Hendry &#039;25&#039; (Diesel)&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
14|&amp;lt;center&amp;gt;0E&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;UU &#039;37&#039; (Diesel)&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
15|&amp;lt;center&amp;gt;0F&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Floss &#039;47&#039; (Diesel)&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
16|&amp;lt;center&amp;gt;10&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;CS 4000 (Diesel)&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
17|&amp;lt;center&amp;gt;11&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;CS 2400 (Diesel)&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
18|&amp;lt;center&amp;gt;12&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Centennial (Diesel)&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
19|&amp;lt;center&amp;gt;13&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Kelling 3100 (Diesel)&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
20|&amp;lt;center&amp;gt;14&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Turner Turbo (Diesel)&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
21|&amp;lt;center&amp;gt;15&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;MJS 1000 (Diesel)&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
22|&amp;lt;center&amp;gt;16&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;SH &#039;125&#039; (Diesel)&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
23|&amp;lt;center&amp;gt;17&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;SH &#039;30&#039; (Electric)&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
24|&amp;lt;center&amp;gt;18&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;SH &#039;40&#039; (Electric)&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
25|&amp;lt;center&amp;gt;19&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;&#039;T.I.M.&#039; (Electric)&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
26|&amp;lt;center&amp;gt;1A&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;&#039;AsiaStar&#039; (Electric)&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;||&lt;br /&gt;
&lt;br /&gt;
==Train Wagons==&lt;br /&gt;
&lt;br /&gt;
||ID|NFO ID|Name&lt;br /&gt;
&lt;br /&gt;
27|&amp;lt;center&amp;gt;1B&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Passenger Carriage&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
28|&amp;lt;center&amp;gt;1C&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Mail Van&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
29|&amp;lt;center&amp;gt;1D&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Coal Truck&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
30|&amp;lt;center&amp;gt;1E&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Oil Tanker&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
31|&amp;lt;center&amp;gt;1F&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Livestock Van&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
32|&amp;lt;center&amp;gt;20&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Goods Van&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
33|&amp;lt;center&amp;gt;21&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Grain Hopper&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
34|&amp;lt;center&amp;gt;22&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Wood Truck&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
35|&amp;lt;center&amp;gt;23&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Iron Ore Hopper&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
36|&amp;lt;center&amp;gt;24&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Steel Truck&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
37|&amp;lt;center&amp;gt;25&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Armoured Van&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
38|&amp;lt;center&amp;gt;26&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Food Van&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
39|&amp;lt;center&amp;gt;27&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Paper Truck&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
40|&amp;lt;center&amp;gt;28&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Copper Ore Hopper&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
41|&amp;lt;center&amp;gt;29&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Water Tanker&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
42|&amp;lt;center&amp;gt;2A&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Fruit Truck&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
43|&amp;lt;center&amp;gt;2B&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Rubber Truck&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
44|&amp;lt;center&amp;gt;2C&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Sugar Truck&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
45|&amp;lt;center&amp;gt;2D&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Candyfloss Hopper&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
46|&amp;lt;center&amp;gt;2E&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Toffee Hopper&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
47|&amp;lt;center&amp;gt;2F&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Bubble Van&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
48|&amp;lt;center&amp;gt;30&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Cola Tanker&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
49|&amp;lt;center&amp;gt;31&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Sweet Van&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
50|&amp;lt;center&amp;gt;32&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Toy Van&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
51|&amp;lt;center&amp;gt;33&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Battery Truck&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
52|&amp;lt;center&amp;gt;34&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Fizzy Drink Truck&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
53|&amp;lt;center&amp;gt;35&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Plastic Truck&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;||&lt;br /&gt;
&lt;br /&gt;
==Monorail Engines==&lt;br /&gt;
&lt;br /&gt;
||ID|NFO ID|Name&lt;br /&gt;
&lt;br /&gt;
54|&amp;lt;center&amp;gt;36&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;&#039;X2001&#039; (Electric)&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
55|&amp;lt;center&amp;gt;37&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;&#039;Millennium Z1&#039; (Electric)&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
56|&amp;lt;center&amp;gt;38&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Wizzowow Z99&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;||&lt;br /&gt;
&lt;br /&gt;
==Monorail Wagons==&lt;br /&gt;
&lt;br /&gt;
||ID|NFO ID|Name&lt;br /&gt;
&lt;br /&gt;
57|&amp;lt;center&amp;gt;39&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Passenger Carriage&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
58|&amp;lt;center&amp;gt;3A&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Mail Van&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
59|&amp;lt;center&amp;gt;3B&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Coal Truck&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
60|&amp;lt;center&amp;gt;3C&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Oil Tanker&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
61|&amp;lt;center&amp;gt;3D&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Livestock Van&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
62|&amp;lt;center&amp;gt;3E&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Goods Van&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
63|&amp;lt;center&amp;gt;3F&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Grain Hopper&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
64|&amp;lt;center&amp;gt;40&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Wood Truck&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
65|&amp;lt;center&amp;gt;41&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Iron Ore Hopper&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
66|&amp;lt;center&amp;gt;42&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Steel Truck&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
67|&amp;lt;center&amp;gt;43&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Armoured Van&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
68|&amp;lt;center&amp;gt;44&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Food Van&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
69|&amp;lt;center&amp;gt;45&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Paper Truck&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
70|&amp;lt;center&amp;gt;46&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Copper Ore Hopper&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
71|&amp;lt;center&amp;gt;47&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Water Tanker&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
72|&amp;lt;center&amp;gt;48&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Fruit Truck&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
73|&amp;lt;center&amp;gt;49&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Rubber Truck&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
74|&amp;lt;center&amp;gt;4A&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Sugar Truck&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
75|&amp;lt;center&amp;gt;4B&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Candyfloss Hopper&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
76|&amp;lt;center&amp;gt;4C&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Toffee Hopper&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
77|&amp;lt;center&amp;gt;4D&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Bubble Van&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
78|&amp;lt;center&amp;gt;4E&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Cola Tanker&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
79|&amp;lt;center&amp;gt;4F&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Sweet Van&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
80|&amp;lt;center&amp;gt;50&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Toy Van&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
81|&amp;lt;center&amp;gt;51&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Battery Truck&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
82|&amp;lt;center&amp;gt;52&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Fizzy Drink Truck&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
83|&amp;lt;center&amp;gt;53&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Plastic Truck&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;||&lt;br /&gt;
&lt;br /&gt;
==Maglev Engines==&lt;br /&gt;
&lt;br /&gt;
||ID|NFO ID|Name&lt;br /&gt;
&lt;br /&gt;
84|&amp;lt;center&amp;gt;54&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Lev1 &#039;Leviathan&#039; (Electric)&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
85|&amp;lt;center&amp;gt;55&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Lev2 &#039;Cyclops&#039; (Electric)&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
86|&amp;lt;center&amp;gt;56&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Lev3 &#039;Pegasus&#039; (Electric)&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
87|&amp;lt;center&amp;gt;57&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Lev4 &#039;Chimaera&#039; (Electric)&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
88|&amp;lt;center&amp;gt;58&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Wizzowow Rocketeer&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;||&lt;br /&gt;
&lt;br /&gt;
==Maglev Wagons==&lt;br /&gt;
&lt;br /&gt;
||ID|NFO ID|Name&lt;br /&gt;
&lt;br /&gt;
89|&amp;lt;center&amp;gt;59&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Passenger Carriage&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
90|&amp;lt;center&amp;gt;5A&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Mail Van&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
91|&amp;lt;center&amp;gt;5B&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Coal Truck&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
92|&amp;lt;center&amp;gt;5C&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Oil Tanker&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
93|&amp;lt;center&amp;gt;5D&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Livestock Van&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
94|&amp;lt;center&amp;gt;5E&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Goods Van&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
95|&amp;lt;center&amp;gt;5F&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Grain Hopper&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
96|&amp;lt;center&amp;gt;60&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Wood Truck&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
97|&amp;lt;center&amp;gt;61&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Iron Ore Hopper&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
98|&amp;lt;center&amp;gt;62&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Steel Truck&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
99|&amp;lt;center&amp;gt;63&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Armoured Van&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
100|&amp;lt;center&amp;gt;64&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Food Van&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
101|&amp;lt;center&amp;gt;65&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Paper Truck&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
102|&amp;lt;center&amp;gt;66&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Copper Ore Hopper&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
103|&amp;lt;center&amp;gt;67&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Water Tanker&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
104|&amp;lt;center&amp;gt;68&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Fruit Truck&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
105|&amp;lt;center&amp;gt;69&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Rubber Truck&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
106|&amp;lt;center&amp;gt;6A&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Sugar Truck&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
107|&amp;lt;center&amp;gt;6B&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Candyfloss Hopper&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
108|&amp;lt;center&amp;gt;6C&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Toffee Hopper&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
109|&amp;lt;center&amp;gt;6D&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Bubble Van&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
110|&amp;lt;center&amp;gt;6E&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Cola Tanker&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
111|&amp;lt;center&amp;gt;6F&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Sweet Van&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
112|&amp;lt;center&amp;gt;70&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Toy Van&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
113|&amp;lt;center&amp;gt;71&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Battery Truck&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
114|&amp;lt;center&amp;gt;72&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Fizzy Drink Truck&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
115|&amp;lt;center&amp;gt;73&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Plastic Truck&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;||&lt;br /&gt;
&lt;br /&gt;
==Buses==&lt;br /&gt;
&lt;br /&gt;
||ID|NFO ID|Name&lt;br /&gt;
&lt;br /&gt;
116|&amp;lt;center&amp;gt;00&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;MPS Regal Bus&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
117|&amp;lt;center&amp;gt;01&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Hereford Leopard Bus&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
118|&amp;lt;center&amp;gt;02&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Foster Bus&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
119|&amp;lt;center&amp;gt;03&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Foster MkII Superbus&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
120|&amp;lt;center&amp;gt;04&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Ploddyphut MkI Bus&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
121|&amp;lt;center&amp;gt;05&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Ploddyphut MkII Bus&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
122|&amp;lt;center&amp;gt;06&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Ploddyphut MkIII Bus&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;||&lt;br /&gt;
&lt;br /&gt;
==Trucks - Regular climates (mostly)==&lt;br /&gt;
&lt;br /&gt;
||ID|NFO ID|Name&lt;br /&gt;
&lt;br /&gt;
123|&amp;lt;center&amp;gt;07&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Balogh Coal Truck&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
124|&amp;lt;center&amp;gt;08&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Uhl Coal Truck&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
125|&amp;lt;center&amp;gt;09&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;DW Coal Truck&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
126|&amp;lt;center&amp;gt;0A&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;MPS Mail Truck&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
127|&amp;lt;center&amp;gt;0B&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Reynard Mail Truck&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
128|&amp;lt;center&amp;gt;0C&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Perry Mail Truck&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
129|&amp;lt;center&amp;gt;0D&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;MightyMover Mail Truck&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
130|&amp;lt;center&amp;gt;0E&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Powernaught Mail Truck&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
131|&amp;lt;center&amp;gt;0F&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Wizzowow Mail Truck&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
132|&amp;lt;center&amp;gt;10&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Witcombe Oil Tanker&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
133|&amp;lt;center&amp;gt;11&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Foster Oil Tanker&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
134|&amp;lt;center&amp;gt;12&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Perry Oil Tanker&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
135|&amp;lt;center&amp;gt;13&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Talbott Livestock Van&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
136|&amp;lt;center&amp;gt;14&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Uhl Livestock Van&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
137|&amp;lt;center&amp;gt;15&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Foster Livestock Van&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
138|&amp;lt;center&amp;gt;16&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Balogh Goods Truck&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
139|&amp;lt;center&amp;gt;17&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Craighead Goods Truck&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
140|&amp;lt;center&amp;gt;18&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Goss Goods Truck&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
141|&amp;lt;center&amp;gt;19&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Hereford Grain Truck&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
142|&amp;lt;center&amp;gt;1A&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Thomas Grain Truck&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
143|&amp;lt;center&amp;gt;1B&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Goss Grain Truck&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
144|&amp;lt;center&amp;gt;1C&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Witcombe Wood Truck&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
145|&amp;lt;center&amp;gt;1D&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Foster Wood Truck&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
146|&amp;lt;center&amp;gt;1E&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Moreland Wood Truck&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
147|&amp;lt;center&amp;gt;1F&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;MPS Iron Ore Truck&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
148|&amp;lt;center&amp;gt;20&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Uhl Iron Ore Truck&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
149|&amp;lt;center&amp;gt;21&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Chippy Iron Ore Truck&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
150|&amp;lt;center&amp;gt;22&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Balogh Steel Truck&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
151|&amp;lt;center&amp;gt;23&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Uhl Steel Truck&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
152|&amp;lt;center&amp;gt;24&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Kelling Steel Truck&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
153|&amp;lt;center&amp;gt;25&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Balogh Armoured Truck&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
154|&amp;lt;center&amp;gt;26&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Uhl Armoured Truck&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
155|&amp;lt;center&amp;gt;27&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Foster Armoured Truck&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
156|&amp;lt;center&amp;gt;28&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Foster Food Van&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
157|&amp;lt;center&amp;gt;29&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Perry Food Van&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
158|&amp;lt;center&amp;gt;2A&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Chippy Food Van&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
159|&amp;lt;center&amp;gt;2B&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Uhl Paper Truck&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
160|&amp;lt;center&amp;gt;2C&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Balogh Paper Truck&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
161|&amp;lt;center&amp;gt;2D&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;MPS Paper Truck&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
162|&amp;lt;center&amp;gt;2E&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;MPS Copper Ore Truck&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
163|&amp;lt;center&amp;gt;2F&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Uhl Copper Ore Truck&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
164|&amp;lt;center&amp;gt;30&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Goss Copper Ore Truck&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
165|&amp;lt;center&amp;gt;31&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Uhl Water Tanker&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
166|&amp;lt;center&amp;gt;32&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Balogh Water Tanker&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
167|&amp;lt;center&amp;gt;33&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;MPS Water Tanker&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
168|&amp;lt;center&amp;gt;34&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Balogh Fruit Truck&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
169|&amp;lt;center&amp;gt;35&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Uhl Fruit Truck&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
170|&amp;lt;center&amp;gt;36&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Kelling Fruit Truck&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
171|&amp;lt;center&amp;gt;37&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Balogh Rubber Truck&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
172|&amp;lt;center&amp;gt;38&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Uhl Rubber Truck&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
173|&amp;lt;center&amp;gt;39&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;RMT Rubber Truck&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;||&lt;br /&gt;
&lt;br /&gt;
==Trucks - Toyland==&lt;br /&gt;
&lt;br /&gt;
||ID|NFO ID|Name&lt;br /&gt;
&lt;br /&gt;
174|&amp;lt;center&amp;gt;3A&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;MightyMover Sugar Truck&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
175|&amp;lt;center&amp;gt;3B&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Powernaught Sugar Truck&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
176|&amp;lt;center&amp;gt;3C&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Wizzowow Sugar Truck&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
177|&amp;lt;center&amp;gt;3D&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;MightyMover Cola Truck&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
178|&amp;lt;center&amp;gt;3E&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Powernaught Cola Truck&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
179|&amp;lt;center&amp;gt;3F&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Wizzowow Cola Truck&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
180|&amp;lt;center&amp;gt;40&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;MightyMover Candyfloss Truck&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
181|&amp;lt;center&amp;gt;41&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Powernaught Candyfloss Truck&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
182|&amp;lt;center&amp;gt;42&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Wizzowow Candyfloss Truck&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
183|&amp;lt;center&amp;gt;43&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;MightyMover Toffee Truck&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
184|&amp;lt;center&amp;gt;44&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Powernaught Toffee Truck&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
185|&amp;lt;center&amp;gt;45&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Wizzowow Toffee Truck&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
186|&amp;lt;center&amp;gt;46&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;MightyMover Toy Van&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
187|&amp;lt;center&amp;gt;47&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Powernaught Toy Van&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
188|&amp;lt;center&amp;gt;48&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Wizzowow Toy Van&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
189|&amp;lt;center&amp;gt;49&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;MightyMover Sweet Lorry&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
190|&amp;lt;center&amp;gt;4A&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Powernaught Sweet Lorry&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
191|&amp;lt;center&amp;gt;4B&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Wizzowow Sweet Lorry&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
192|&amp;lt;center&amp;gt;4C&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;MightyMover Battery Truck&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
193|&amp;lt;center&amp;gt;4D&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Powernaught Battery Truck&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
194|&amp;lt;center&amp;gt;4E&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Wizzowow Battery Truck&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
195|&amp;lt;center&amp;gt;4F&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;MightyMover Fizzy Drink Truck&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
196|&amp;lt;center&amp;gt;50&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Powernaught Fizzy Drink Truck&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
197|&amp;lt;center&amp;gt;51&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Wizzowow Fizzy Drink Truck&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
198|&amp;lt;center&amp;gt;52&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;MightyMover Plastic Truck&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
199|&amp;lt;center&amp;gt;53&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Powernaught Plastic Truck&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
200|&amp;lt;center&amp;gt;54&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Wizzowow Plastic Truck&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
201|&amp;lt;center&amp;gt;55&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;MightyMover Bubble Truck&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
202|&amp;lt;center&amp;gt;56&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Powernaught Bubble Truck&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
203|&amp;lt;center&amp;gt;57&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Wizzowow Bubble Truck&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;||&lt;br /&gt;
&lt;br /&gt;
==Ships==&lt;br /&gt;
&lt;br /&gt;
||ID|NFO ID|Name&lt;br /&gt;
&lt;br /&gt;
204|&amp;lt;center&amp;gt;00&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;MPS Oil Tanker&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
205|&amp;lt;center&amp;gt;01&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;CS-Inc. Oil Tanker&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
206|&amp;lt;center&amp;gt;02&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;MPS Passenger Ferry&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
207|&amp;lt;center&amp;gt;03&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;FFP Passenger Ferry&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
208|&amp;lt;center&amp;gt;04&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Bakewell 300 Hovercraft&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
209|&amp;lt;center&amp;gt;05&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Chugger-Chug Passenger Ferry&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
210|&amp;lt;center&amp;gt;06&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Shivershake Passenger Ferry&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
211|&amp;lt;center&amp;gt;07&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Yate Cargo ship&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
212|&amp;lt;center&amp;gt;08&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Bakewell Cargo ship&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
213|&amp;lt;center&amp;gt;09&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Mightymover Cargo ship&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
214|&amp;lt;center&amp;gt;0A&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Powernaut Cargo ship&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;||&lt;br /&gt;
&lt;br /&gt;
==Planes==&lt;br /&gt;
&lt;br /&gt;
||ID|NFO ID|Name&lt;br /&gt;
&lt;br /&gt;
215|&amp;lt;center&amp;gt;00&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Sampson U52&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
216|&amp;lt;center&amp;gt;01&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Coleman Count&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
217|&amp;lt;center&amp;gt;02&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;FFP Dart&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
218|&amp;lt;center&amp;gt;03&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Yate Haugan&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
219|&amp;lt;center&amp;gt;04&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Bakewell Cotswald LB-3&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
220|&amp;lt;center&amp;gt;05&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Bakewell Luckett LB-8&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
221|&amp;lt;center&amp;gt;06&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Bakewell Luckett LB-9&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
222|&amp;lt;center&amp;gt;07&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Bakewell Luckett LB80&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
223|&amp;lt;center&amp;gt;08&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Bakewell Luckett LB-10&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
224|&amp;lt;center&amp;gt;09&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Bakewell Luckett LB-11&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
225|&amp;lt;center&amp;gt;0A&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Yate Aerospace YAC 1-11&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
226|&amp;lt;center&amp;gt;0B&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Darwin 100&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
227|&amp;lt;center&amp;gt;0C&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Darwin 200&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
228|&amp;lt;center&amp;gt;0D&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Darwin 300&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
229|&amp;lt;center&amp;gt;0E&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Darwin 400&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
230|&amp;lt;center&amp;gt;0F&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Darwin 500&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
231|&amp;lt;center&amp;gt;10&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Darwin 600&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
232|&amp;lt;center&amp;gt;11&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Guru Galaxy&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
233|&amp;lt;center&amp;gt;12&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Airtaxi A21&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
234|&amp;lt;center&amp;gt;13&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Airtaxi A31&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
235|&amp;lt;center&amp;gt;14&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Airtaxi A32&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
236|&amp;lt;center&amp;gt;15&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Airtaxi A33&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
237|&amp;lt;center&amp;gt;16&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Yate Aerospace YAe46&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
238|&amp;lt;center&amp;gt;17&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Dinger 100&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
239|&amp;lt;center&amp;gt;18&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;AirTaxi A34-1000&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
240|&amp;lt;center&amp;gt;19&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Yate Z-Shuttle&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
241|&amp;lt;center&amp;gt;1A&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Kelling K1&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
242|&amp;lt;center&amp;gt;1B&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Kelling K6&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
243|&amp;lt;center&amp;gt;1C&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Kelling K7&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
244|&amp;lt;center&amp;gt;1D&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Darwin 700&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
245|&amp;lt;center&amp;gt;1E&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;FFP Hyperdart 2&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
246|&amp;lt;center&amp;gt;1F&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Dinger 200&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
247|&amp;lt;center&amp;gt;20&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Dinger 1000&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
248|&amp;lt;center&amp;gt;21&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Ploddyphut 100&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
249|&amp;lt;center&amp;gt;22&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Ploddyphut 500&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
250|&amp;lt;center&amp;gt;23&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Flashbang X1&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
251|&amp;lt;center&amp;gt;24&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Juggerplane M1&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
252|&amp;lt;center&amp;gt;25&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Flashbang Wizzer&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;||&lt;br /&gt;
&lt;br /&gt;
==Helicopters==&lt;br /&gt;
&lt;br /&gt;
||ID|NFO ID|Name&lt;br /&gt;
&lt;br /&gt;
253|&amp;lt;center&amp;gt;26&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Tricario Helicopter&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
254|&amp;lt;center&amp;gt;27&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Guru X2 Helicopter&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
255|&amp;lt;center&amp;gt;28&amp;lt;/center&amp;gt;|&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Powernaut Helicopter&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;||&lt;/div&gt;</summary>
		<author><name>Orudge</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=BaseCosts&amp;diff=842</id>
		<title>BaseCosts</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=BaseCosts&amp;diff=842"/>
		<updated>2011-06-12T19:23:31Z</updated>

		<summary type="html">&lt;p&gt;Orudge: 12 revisions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;List of all base costs&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=Base Costs=&lt;br /&gt;
&lt;br /&gt;
This is a list of all base costs used by TTD.&lt;br /&gt;
&lt;br /&gt;
NFO ID is the ID to use for action 0 feature 8 property 08.&lt;br /&gt;
&lt;br /&gt;
Location is the address in the savegame structure.&lt;br /&gt;
&lt;br /&gt;
Default value is the initial value used at the game start.&lt;br /&gt;
&lt;br /&gt;
||ID|NFO ID|Location|Default|Used for&lt;br /&gt;
&lt;br /&gt;
0|&amp;lt;center&amp;gt;0&amp;lt;/center&amp;gt;|4B34|100|miscellaneous&lt;br /&gt;
&lt;br /&gt;
1|&amp;lt;center&amp;gt;1&amp;lt;/center&amp;gt;|4B3A|100|build track&lt;br /&gt;
&lt;br /&gt;
2|&amp;lt;center&amp;gt;2&amp;lt;/center&amp;gt;|4B40|95|build road&lt;br /&gt;
&lt;br /&gt;
3|&amp;lt;center&amp;gt;3&amp;lt;/center&amp;gt;|4B46|65|place signal&lt;br /&gt;
&lt;br /&gt;
4|&amp;lt;center&amp;gt;4&amp;lt;/center&amp;gt;|4B4C|275|build bridge tile&lt;br /&gt;
&lt;br /&gt;
5|&amp;lt;center&amp;gt;5&amp;lt;/center&amp;gt;|4B52|600|build rail depot, also affects &amp;amp;quot;build rail-waypoint&amp;amp;quot; (*)&lt;br /&gt;
&lt;br /&gt;
6|&amp;lt;center&amp;gt;6&amp;lt;/center&amp;gt;|4B58|500|build road depot&lt;br /&gt;
&lt;br /&gt;
7|&amp;lt;center&amp;gt;7&amp;lt;/center&amp;gt;|4B5E|700|build ship depot&lt;br /&gt;
&lt;br /&gt;
8|&amp;lt;center&amp;gt;8&amp;lt;/center&amp;gt;|4B64|450|build tunnel unit&lt;br /&gt;
&lt;br /&gt;
9|&amp;lt;center&amp;gt;9&amp;lt;/center&amp;gt;|4B6A|200|build platform unit (per tile)&lt;br /&gt;
&lt;br /&gt;
10|&amp;lt;center&amp;gt;A&amp;lt;/center&amp;gt;|4B70|180|build platform fixed (per platform)&lt;br /&gt;
&lt;br /&gt;
11|&amp;lt;center&amp;gt;B&amp;lt;/center&amp;gt;|4B76|600|build airport tile&lt;br /&gt;
&lt;br /&gt;
12|&amp;lt;center&amp;gt;C&amp;lt;/center&amp;gt;|4B7C|200|build bus station&lt;br /&gt;
&lt;br /&gt;
13|&amp;lt;center&amp;gt;D&amp;lt;/center&amp;gt;|4B82|200|build lorry area&lt;br /&gt;
&lt;br /&gt;
14|&amp;lt;center&amp;gt;E&amp;lt;/center&amp;gt;|4B88|350|build dock, also affects &amp;amp;quot;build buoy&amp;amp;quot; (*)&lt;br /&gt;
&lt;br /&gt;
15|&amp;lt;center&amp;gt;F&amp;lt;/center&amp;gt;|4B8E|400,000|locomotive purchase&lt;br /&gt;
&lt;br /&gt;
16|&amp;lt;center&amp;gt;10&amp;lt;/center&amp;gt;|4B94|2000|waggon purchase&lt;br /&gt;
&lt;br /&gt;
17|&amp;lt;center&amp;gt;11&amp;lt;/center&amp;gt;|4B9A|700,000|aircraft purchase&lt;br /&gt;
&lt;br /&gt;
18|&amp;lt;center&amp;gt;12&amp;lt;/center&amp;gt;|4BA0|14,000|road vehicle purchase&lt;br /&gt;
&lt;br /&gt;
19|&amp;lt;center&amp;gt;13&amp;lt;/center&amp;gt;|4BA6|65,000|ship purchase&lt;br /&gt;
&lt;br /&gt;
20|&amp;lt;center&amp;gt;14&amp;lt;/center&amp;gt;|4BAC|20|plant tree&lt;br /&gt;
&lt;br /&gt;
21|&amp;lt;center&amp;gt;15&amp;lt;/center&amp;gt;|4BB2|250|raise/lower land, also affects &amp;amp;quot;build foundation&amp;amp;quot; (*)&lt;br /&gt;
&lt;br /&gt;
22|&amp;lt;center&amp;gt;16&amp;lt;/center&amp;gt;|4BB8|20|clear grass&lt;br /&gt;
&lt;br /&gt;
23|&amp;lt;center&amp;gt;17&amp;lt;/center&amp;gt;|4BBE|40|clear rough land, also affects &amp;amp;quot;build/remove object&amp;amp;quot; (*)&lt;br /&gt;
&lt;br /&gt;
24|&amp;lt;center&amp;gt;18&amp;lt;/center&amp;gt;|4BC4|200|clear rocks&lt;br /&gt;
&lt;br /&gt;
25|&amp;lt;center&amp;gt;19&amp;lt;/center&amp;gt;|4BCA|500|clear fields&lt;br /&gt;
&lt;br /&gt;
26|&amp;lt;center&amp;gt;1A&amp;lt;/center&amp;gt;|4BD0|20|remove tree&lt;br /&gt;
&lt;br /&gt;
27|&amp;lt;center&amp;gt;1B&amp;lt;/center&amp;gt;|4BD6|-70|remove track&lt;br /&gt;
&lt;br /&gt;
28|&amp;lt;center&amp;gt;1C&amp;lt;/center&amp;gt;|4BDC|10|remove signal&lt;br /&gt;
&lt;br /&gt;
29|&amp;lt;center&amp;gt;1D&amp;lt;/center&amp;gt;|4BE2|50|remove bridge tile, also affects &amp;amp;quot;remove aqueduct&amp;amp;quot; (*)&lt;br /&gt;
&lt;br /&gt;
30|&amp;lt;center&amp;gt;1E&amp;lt;/center&amp;gt;|4BE8|80|remove rail depot, also affects &amp;amp;quot;remove rail-waypoint&amp;amp;quot; (*)&lt;br /&gt;
&lt;br /&gt;
31|&amp;lt;center&amp;gt;1F&amp;lt;/center&amp;gt;|4BEE|80|remove road depot&lt;br /&gt;
&lt;br /&gt;
32|&amp;lt;center&amp;gt;20&amp;lt;/center&amp;gt;|4BF4|90|remove ship depot&lt;br /&gt;
&lt;br /&gt;
33|&amp;lt;center&amp;gt;21&amp;lt;/center&amp;gt;|4BFA|30|remove tunnel tile&lt;br /&gt;
&lt;br /&gt;
34|&amp;lt;center&amp;gt;22&amp;lt;/center&amp;gt;|4C00|10,000|clear water, also affects &amp;amp;quot;build/remove canal/lock&amp;amp;quot; and &amp;amp;quot;build aqueduct&amp;amp;quot; (*)&lt;br /&gt;
&lt;br /&gt;
35|&amp;lt;center&amp;gt;23&amp;lt;/center&amp;gt;|4C06|50|remove platform tile&lt;br /&gt;
&lt;br /&gt;
36|&amp;lt;center&amp;gt;24&amp;lt;/center&amp;gt;|4C0C|30|remove airport tile&lt;br /&gt;
&lt;br /&gt;
37|&amp;lt;center&amp;gt;25&amp;lt;/center&amp;gt;|4C12|50|remove bus station&lt;br /&gt;
&lt;br /&gt;
38|&amp;lt;center&amp;gt;26&amp;lt;/center&amp;gt;|4C18|50|remove lorry area, also affects &amp;amp;quot;remove buoy&amp;amp;quot; (*) (**)&lt;br /&gt;
&lt;br /&gt;
39|&amp;lt;center&amp;gt;27&amp;lt;/center&amp;gt;|4C1E|55|remove dock&lt;br /&gt;
&lt;br /&gt;
40|&amp;lt;center&amp;gt;28&amp;lt;/center&amp;gt;|4C24|1600|remove house, also affects &amp;amp;quot;remove industry&amp;amp;quot; (*)&lt;br /&gt;
&lt;br /&gt;
41|&amp;lt;center&amp;gt;29&amp;lt;/center&amp;gt;|4C2A|40|remove road&lt;br /&gt;
&lt;br /&gt;
42|&amp;lt;center&amp;gt;2A&amp;lt;/center&amp;gt;|4C30|5600|steam engine running costs&lt;br /&gt;
&lt;br /&gt;
43|&amp;lt;center&amp;gt;2B&amp;lt;/center&amp;gt;|4C36|5200|diesel engine running costs&lt;br /&gt;
&lt;br /&gt;
44|&amp;lt;center&amp;gt;2C&amp;lt;/center&amp;gt;|4C3C|4800|electricengine running costs&lt;br /&gt;
&lt;br /&gt;
45|&amp;lt;center&amp;gt;2D&amp;lt;/center&amp;gt;|4C42|9600|aircraft running costs&lt;br /&gt;
&lt;br /&gt;
46|&amp;lt;center&amp;gt;2E&amp;lt;/center&amp;gt;|4C48|1600|road vehicle running costs&lt;br /&gt;
&lt;br /&gt;
47|&amp;lt;center&amp;gt;2F&amp;lt;/center&amp;gt;|4C4E|5600|ship running costs&lt;br /&gt;
&lt;br /&gt;
48|&amp;lt;center&amp;gt;30&amp;lt;/center&amp;gt;|4C54|1,000,000|funding industries, also affects &amp;amp;quot;stuff with local authority&amp;amp;quot;, &amp;amp;quot;build raw industry&amp;amp;quot; and &amp;amp;quot;fund town&amp;amp;quot; (*)&lt;br /&gt;
&lt;br /&gt;
49|&amp;lt;center&amp;gt;31&amp;lt;/center&amp;gt;|-|1600|remove industry|OTTD r18283&lt;br /&gt;
&lt;br /&gt;
50|&amp;lt;center&amp;gt;32&amp;lt;/center&amp;gt;|-|40|build object|OTTD r18283&lt;br /&gt;
&lt;br /&gt;
51|&amp;lt;center&amp;gt;33&amp;lt;/center&amp;gt;|-|40|remove object|OTTD r18283&lt;br /&gt;
&lt;br /&gt;
52|&amp;lt;center&amp;gt;34&amp;lt;/center&amp;gt;|-|600|build rail-waypoint|OTTD r18283&lt;br /&gt;
&lt;br /&gt;
53|&amp;lt;center&amp;gt;35&amp;lt;/center&amp;gt;|-|80|remove rail-waypoint|OTTD r18283&lt;br /&gt;
&lt;br /&gt;
54|&amp;lt;center&amp;gt;36&amp;lt;/center&amp;gt;|-|350|build buoy|OTTD r18283&lt;br /&gt;
&lt;br /&gt;
55|&amp;lt;center&amp;gt;37&amp;lt;/center&amp;gt;|-|50|remove buoy|OTTD r18283&lt;br /&gt;
&lt;br /&gt;
56|&amp;lt;center&amp;gt;38&amp;lt;/center&amp;gt;|-|1,000,000|stuff with town authority|OTTD r18283&lt;br /&gt;
&lt;br /&gt;
57|&amp;lt;center&amp;gt;39&amp;lt;/center&amp;gt;|-|250|build foundation|OTTD r18283&lt;br /&gt;
&lt;br /&gt;
58|&amp;lt;center&amp;gt;3A&amp;lt;/center&amp;gt;|-|8,000,000|build raw industry (in case prospecting is disabled)|OTTD r18283&lt;br /&gt;
&lt;br /&gt;
59|&amp;lt;center&amp;gt;3B&amp;lt;/center&amp;gt;|-|1,000,000|fund town|OTTD r18283&lt;br /&gt;
&lt;br /&gt;
60|&amp;lt;center&amp;gt;3C&amp;lt;/center&amp;gt;|-|5,000|build canal|OTTD r19720&lt;br /&gt;
&lt;br /&gt;
61|&amp;lt;center&amp;gt;3D&amp;lt;/center&amp;gt;|-|5,000|remove canal|OTTD r19720&lt;br /&gt;
&lt;br /&gt;
62|&amp;lt;center&amp;gt;3E&amp;lt;/center&amp;gt;|-|10,000|build aqueduct|OTTD r19720&lt;br /&gt;
&lt;br /&gt;
63|&amp;lt;center&amp;gt;3F&amp;lt;/center&amp;gt;|-|2,000|remove aqueduct|OTTD r19720&lt;br /&gt;
&lt;br /&gt;
64|&amp;lt;center&amp;gt;40&amp;lt;/center&amp;gt;|-|7,500|build lock|OTTD r19720&lt;br /&gt;
&lt;br /&gt;
65|&amp;lt;center&amp;gt;41&amp;lt;/center&amp;gt;|-|2,000|remove lock|OTTD r19720||&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt; if not set separately&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;**&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt; yes, &amp;amp;quot;remove buoy&amp;amp;quot; is mentioned in this line, not in the line below&lt;br /&gt;
&lt;br /&gt;
Note: The newly added base costs of OTTD only apply if a base cost modifier is set for them. E.g. if NewGRF only set a base cost modifier for terraforming, but none for building foundations, the modifier for terraforming will also apply to building foundations, as that was the base cost used before the new one was added.&lt;br /&gt;
&lt;br /&gt;
Note that some values may be adjusted by certain constant factors before being used by the game, but that is a property of the place where it&#039;s used, not the base cost as such.&lt;br /&gt;
&lt;br /&gt;
Also, all constructions costs and all running costs are subject to modification by the game difficulty settings.&lt;/div&gt;</summary>
		<author><name>Orudge</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=CargoTypes&amp;diff=826</id>
		<title>CargoTypes</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=CargoTypes&amp;diff=826"/>
		<updated>2011-06-12T19:23:31Z</updated>

		<summary type="html">&lt;p&gt;Orudge: 17 revisions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Cargo types in TTD&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=Cargo Types in TTD=&lt;br /&gt;
&lt;br /&gt;
Definitions of cargo types used in TTD and the patch&lt;br /&gt;
&lt;br /&gt;
For setting the various action 0 properties of vehicles, various way of specifying the cargo type are used. &amp;amp;nbsp;Typically, there is one property that sets the default cargo type, and another property that sets the cargo types available for refitting in a bit mask.&lt;br /&gt;
&lt;br /&gt;
The following table lists the values to use for these properties, as well as the values to use for [[Action3|action 3]].&lt;br /&gt;
&lt;br /&gt;
||Column|Name|Usage&lt;br /&gt;
&lt;br /&gt;
Type A|Cargo bit|Use this cargo type in action 3. When using a [[Action0GeneralVariables#Cargo_translation_table_09_|cargo translation table]], this is the position in the translation table. If there is no cargo translation table, the cargo bit is defined by property 08 for new cargos.&lt;br /&gt;
&lt;br /&gt;
Bit value| |Add these bit values to find the value to give the refit mask property (this is -+1 &amp;amp;lt;&amp;amp;lt; cargobit+-)&lt;br /&gt;
&lt;br /&gt;
Type B|Cargo slot|Use this cargo type to set the default cargo type of vehicles (note, this is climate dependent!). For new cargos this is the ID used in Action 0 and Action 3 of the cargo-defining NewGRF.||&lt;br /&gt;
&lt;br /&gt;
Note, when New Cargos are being used, you can only rely on Type A values when using a cargo translation table. Type B values depend on the actual NewGRF (and its version) defining the new cargos; so, unless you test for a specific (industry) NewGRF you cannot rely on any value for Type B. That means, to be compatible to any new cargos, you have to set the default cargo of refittable vehicles to &amp;amp;quot;first refittable&amp;amp;quot;. However, you can kind of rely on passengers being slot 0 and mail being slot 2.&lt;br /&gt;
&lt;br /&gt;
||Type A|Bit Value|Type B|Cargo|{DIV(bg=&amp;amp;gt;#eebb00)}&amp;lt;center&amp;gt;~hs~[[ECS|&amp;lt;span style=&#039;color:#000000&#039;&amp;gt;ECS&amp;lt;/span&amp;gt;]]~hs~&amp;lt;/center&amp;gt;{DIV}|{DIV(bg=&amp;amp;gt;#eebb00)}Type B{DIV}|{DIV(bg=&amp;amp;gt;#1a3cb7)}&amp;lt;center&amp;gt;~hs~[[FIRS|&amp;lt;span style=&#039;color:#FFFFFF&#039;&amp;gt;FIRS&amp;lt;/span&amp;gt;]]~hs~&amp;lt;/center&amp;gt;{DIV}&lt;br /&gt;
&lt;br /&gt;
00|1|00|Passengers|+|00|+&lt;br /&gt;
&lt;br /&gt;
01|2|01|Coal|+|01|+&lt;br /&gt;
&lt;br /&gt;
02|4|02|Mail|+|02|+&lt;br /&gt;
&lt;br /&gt;
03|8|03|Oil|+|03|+&lt;br /&gt;
&lt;br /&gt;
04|10|04|Livestock|+|04|+&lt;br /&gt;
&lt;br /&gt;
05|20|05|Goods|+|05|+&lt;br /&gt;
&lt;br /&gt;
06|40|06|Grain/Wheat/Maize|+|06|+&lt;br /&gt;
&lt;br /&gt;
07|80|07|Wood|+|07|+&lt;br /&gt;
&lt;br /&gt;
08|100|08|Iron Ore|+|08|+&lt;br /&gt;
&lt;br /&gt;
09|200|09|Steel|+|09|+&lt;br /&gt;
&lt;br /&gt;
0A|400|0A|Valuables/Gold/Diamonds|+|0A|Milk&lt;br /&gt;
&lt;br /&gt;
0B|800|09|Paper|Food|0B|Food&lt;br /&gt;
&lt;br /&gt;
0C|1000|0B|Food|Paper|0C|Raw Sugar&lt;br /&gt;
&lt;br /&gt;
0D|2000|04|Fruit|+|0D|Fruit and Vegetables&lt;br /&gt;
&lt;br /&gt;
0E|4000|08|Copper Ore|Fish|0E|Fish&lt;br /&gt;
&lt;br /&gt;
0F|8000|09|Water|Wool|0F|Wool&lt;br /&gt;
&lt;br /&gt;
10|10000|01|Rubber|Potash|10|Clay&lt;br /&gt;
&lt;br /&gt;
11|20000|01|Sugar|Sand|11|Sand&lt;br /&gt;
&lt;br /&gt;
12|40000|03|Toys|Glass/Ceramics|12|Manufacturing Supplies&lt;br /&gt;
&lt;br /&gt;
13|80000|04|Batteries|Wood products|13|Lumber&lt;br /&gt;
&lt;br /&gt;
14|100000|05|Candy (Sweets)|Dyes|14|Scrap Metal&lt;br /&gt;
&lt;br /&gt;
15|200000|06|Toffee|Fertiliser|15|Farm Supplies&lt;br /&gt;
&lt;br /&gt;
16|400000|07|Cola|Oil seeds|16|Fibre crops&lt;br /&gt;
&lt;br /&gt;
17|800000|08|Cotton Candy (Candyfloss)|Refined products|17|Chemicals&lt;br /&gt;
&lt;br /&gt;
18|1000000|09|Bubbles|Vehicles|18|Engineering Supplies&lt;br /&gt;
&lt;br /&gt;
19|2000000|0A|Plastic|Petrol|19|Petrol&lt;br /&gt;
&lt;br /&gt;
1A|4000000|0B|Fizzy Drinks|Bricks|1A|Gravel&lt;br /&gt;
&lt;br /&gt;
1B|8000000|0B|Paper*|Sulphur|1B|Bauxite&lt;br /&gt;
&lt;br /&gt;
1C|10000000|08|undefined; unused slot in arctic climate|Cement|1C|Building Materials&lt;br /&gt;
&lt;br /&gt;
1D|20000000|-|undefined; unused slot|Fibre crops|1D|Reserved1&lt;br /&gt;
&lt;br /&gt;
1E|40000000|-|undefined; unused slot|Lime stone|1E|Reserved2&lt;br /&gt;
&lt;br /&gt;
1F|80000000|-|undefined; unused slot|Tourists|1F|Reserved3&lt;br /&gt;
&lt;br /&gt;
n/a|n/a|FF|Use first (**) refittable cargo type as default cargo. See also [[VehicleRefitting|vehicle refitting]].&lt;br /&gt;
&lt;br /&gt;
FE|n/a|n/a|Used in action 3 for stations to disable default&lt;br /&gt;
&lt;br /&gt;
FF|n/a|n/a|Shown in purchase list||&lt;br /&gt;
* Only in temperate climate, with moreindustriesperclimate switch, i.e. disabled when &amp;amp;quot;newcargos&amp;amp;quot; switched on&lt;br /&gt;
** &amp;amp;quot;first&amp;amp;quot; means first wrt. cargo slot, type B. I.e. this is purely up to the cargo-defining NewGRF and cannot be influenced by the vehicle NewGRF.&lt;br /&gt;
&lt;br /&gt;
==Cargo Labels==&lt;br /&gt;
&lt;br /&gt;
The following cargo labels have been defined so far:&lt;br /&gt;
&lt;br /&gt;
||Label|Cargo description|[[Action0Cargos#Cargo_classes_16_|Cargo classes]]|Notes&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;TTD Default Cargos&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
PASS|Passengers|0001 Passengers |{DIV(bg=&amp;amp;gt;#eebb00)}&amp;lt;center&amp;gt;~hs~[[ECS|&amp;lt;span style=&#039;color:#000000&#039;&amp;gt;ECS&amp;lt;/span&amp;gt;]]~hs~&amp;lt;/center&amp;gt;{DIV} |{DIV(bg=&amp;amp;gt;#1a3cb7)}&amp;lt;center&amp;gt;~hs~[[FIRS|&amp;lt;span style=&#039;color:#FFFFFF&#039;&amp;gt;FIRS&amp;lt;/span&amp;gt;]]~hs~&amp;lt;/center&amp;gt;{DIV} |&lt;br /&gt;
&lt;br /&gt;
COAL|Coal|0010 Bulk |{DIV(bg=&amp;amp;gt;#eebb00)}&amp;lt;center&amp;gt;~hs~[[ECS|&amp;lt;span style=&#039;color:#000000&#039;&amp;gt;ECS&amp;lt;/span&amp;gt;]]~hs~&amp;lt;/center&amp;gt;{DIV} |{DIV(bg=&amp;amp;gt;#1a3cb7)}&amp;lt;center&amp;gt;~hs~[[FIRS|&amp;lt;span style=&#039;color:#FFFFFF&#039;&amp;gt;FIRS&amp;lt;/span&amp;gt;]]~hs~&amp;lt;/center&amp;gt;{DIV} |&lt;br /&gt;
&lt;br /&gt;
MAIL|Mail|0002 Mail |{DIV(bg=&amp;amp;gt;#eebb00)}&amp;lt;center&amp;gt;~hs~[[ECS|&amp;lt;span style=&#039;color:#000000&#039;&amp;gt;ECS&amp;lt;/span&amp;gt;]]~hs~&amp;lt;/center&amp;gt;{DIV} |{DIV(bg=&amp;amp;gt;#1a3cb7)}&amp;lt;center&amp;gt;~hs~[[FIRS|&amp;lt;span style=&#039;color:#FFFFFF&#039;&amp;gt;FIRS&amp;lt;/span&amp;gt;]]~hs~&amp;lt;/center&amp;gt;{DIV} |&lt;br /&gt;
&lt;br /&gt;
OIL_|Oil|0040 Liquid |{DIV(bg=&amp;amp;gt;#eebb00)}&amp;lt;center&amp;gt;~hs~[[ECS|&amp;lt;span style=&#039;color:#000000&#039;&amp;gt;ECS&amp;lt;/span&amp;gt;]]~hs~&amp;lt;/center&amp;gt;{DIV} |{DIV(bg=&amp;amp;gt;#1a3cb7)}&amp;lt;center&amp;gt;~hs~[[FIRS|&amp;lt;span style=&#039;color:#FFFFFF&#039;&amp;gt;FIRS&amp;lt;/span&amp;gt;]]~hs~&amp;lt;/center&amp;gt;{DIV} |&lt;br /&gt;
&lt;br /&gt;
LVST|Livestock|0020 Piece goods |{DIV(bg=&amp;amp;gt;#eebb00)}&amp;lt;center&amp;gt;~hs~[[ECS|&amp;lt;span style=&#039;color:#000000&#039;&amp;gt;ECS&amp;lt;/span&amp;gt;]]~hs~&amp;lt;/center&amp;gt;{DIV} |{DIV(bg=&amp;amp;gt;#1a3cb7)}&amp;lt;center&amp;gt;~hs~[[FIRS|&amp;lt;span style=&#039;color:#FFFFFF&#039;&amp;gt;FIRS&amp;lt;/span&amp;gt;]]~hs~&amp;lt;/center&amp;gt;{DIV} |&lt;br /&gt;
&lt;br /&gt;
GOOD|Goods|0004 Express|{DIV(bg=&amp;amp;gt;#eebb00)}&amp;lt;center&amp;gt;~hs~[[ECS|&amp;lt;span style=&#039;color:#000000&#039;&amp;gt;ECS&amp;lt;/span&amp;gt;]]~hs~&amp;lt;/center&amp;gt;{DIV} |{DIV(bg=&amp;amp;gt;#1a3cb7)}&amp;lt;center&amp;gt;~hs~[[FIRS|&amp;lt;span style=&#039;color:#FFFFFF&#039;&amp;gt;FIRS&amp;lt;/span&amp;gt;]]~hs~&amp;lt;/center&amp;gt;{DIV} |&lt;br /&gt;
&lt;br /&gt;
GRAI|Grain|0010 Bulk | |{DIV(bg=&amp;amp;gt;#1a3cb7)}&amp;lt;center&amp;gt;~hs~[[FIRS|&amp;lt;span style=&#039;color:#FFFFFF&#039;&amp;gt;FIRS&amp;lt;/span&amp;gt;]]~hs~&amp;lt;/center&amp;gt;{DIV} |Temperate; see also WHEA, MAIZ, CERE&lt;br /&gt;
&lt;br /&gt;
WOOD|Wood|0020 Piece goods |{DIV(bg=&amp;amp;gt;#eebb00)}&amp;lt;center&amp;gt;~hs~[[ECS|&amp;lt;span style=&#039;color:#000000&#039;&amp;gt;ECS&amp;lt;/span&amp;gt;]]~hs~&amp;lt;/center&amp;gt;{DIV} |{DIV(bg=&amp;amp;gt;#1a3cb7)}&amp;lt;center&amp;gt;~hs~[[FIRS|&amp;lt;span style=&#039;color:#FFFFFF&#039;&amp;gt;FIRS&amp;lt;/span&amp;gt;]]~hs~&amp;lt;/center&amp;gt;{DIV} |&lt;br /&gt;
&lt;br /&gt;
IORE|Iron Ore|0010 Bulk |{DIV(bg=&amp;amp;gt;#eebb00)}&amp;lt;center&amp;gt;~hs~[[ECS|&amp;lt;span style=&#039;color:#000000&#039;&amp;gt;ECS&amp;lt;/span&amp;gt;]]~hs~&amp;lt;/center&amp;gt;{DIV} |{DIV(bg=&amp;amp;gt;#1a3cb7)}&amp;lt;center&amp;gt;~hs~[[FIRS|&amp;lt;span style=&#039;color:#FFFFFF&#039;&amp;gt;FIRS&amp;lt;/span&amp;gt;]]~hs~&amp;lt;/center&amp;gt;{DIV} |&lt;br /&gt;
&lt;br /&gt;
STEL|Steel|0020 Piece goods |{DIV(bg=&amp;amp;gt;#eebb00)}&amp;lt;center&amp;gt;~hs~[[ECS|&amp;lt;span style=&#039;color:#000000&#039;&amp;gt;ECS&amp;lt;/span&amp;gt;]]~hs~&amp;lt;/center&amp;gt;{DIV} |{DIV(bg=&amp;amp;gt;#1a3cb7)}&amp;lt;center&amp;gt;~hs~[[FIRS|&amp;lt;span style=&#039;color:#FFFFFF&#039;&amp;gt;FIRS&amp;lt;/span&amp;gt;]]~hs~&amp;lt;/center&amp;gt;{DIV} |&lt;br /&gt;
&lt;br /&gt;
VALU|Valuables|0008 Armoured |{DIV(bg=&amp;amp;gt;#eebb00)}&amp;lt;center&amp;gt;~hs~[[ECS|&amp;lt;span style=&#039;color:#000000&#039;&amp;gt;ECS&amp;lt;/span&amp;gt;]]~hs~&amp;lt;/center&amp;gt;{DIV} | |Temperate; see also GOLD, DIAM&lt;br /&gt;
&lt;br /&gt;
PAPR|Paper|0020 Piece goods |{DIV(bg=&amp;amp;gt;#eebb00)}&amp;lt;center&amp;gt;~hs~[[ECS|&amp;lt;span style=&#039;color:#000000&#039;&amp;gt;ECS&amp;lt;/span&amp;gt;]]~hs~&amp;lt;/center&amp;gt;{DIV} | |&lt;br /&gt;
&lt;br /&gt;
WHEA|Wheat|0010 Bulk | | |Arctic; see also GRAI, MAIZ, CERE&lt;br /&gt;
&lt;br /&gt;
FOOD|Food|0084 Express, refrigerated |{DIV(bg=&amp;amp;gt;#eebb00)}&amp;lt;center&amp;gt;~hs~[[ECS|&amp;lt;span style=&#039;color:#000000&#039;&amp;gt;ECS&amp;lt;/span&amp;gt;]]~hs~&amp;lt;/center&amp;gt;{DIV} | |&lt;br /&gt;
&lt;br /&gt;
GOLD|Gold|0008 Armoured |{DIV(bg=&amp;amp;gt;#eebb00)}&amp;lt;center&amp;gt;~hs~[[ECS|&amp;lt;span style=&#039;color:#000000&#039;&amp;gt;ECS&amp;lt;/span&amp;gt;]]~hs~&amp;lt;/center&amp;gt;{DIV} | |Arctic; see also VALU, DIAM&lt;br /&gt;
&lt;br /&gt;
RUBR|Rubber|0040 Liquid |{DIV(bg=&amp;amp;gt;#eebb00)}&amp;lt;center&amp;gt;~hs~[[ECS|&amp;lt;span style=&#039;color:#000000&#039;&amp;gt;ECS&amp;lt;/span&amp;gt;]]~hs~&amp;lt;/center&amp;gt;{DIV} | |&lt;br /&gt;
&lt;br /&gt;
FRUT|Fruit|0090 Bulk, refrigerated |{DIV(bg=&amp;amp;gt;#eebb00)}&amp;lt;center&amp;gt;~hs~[[ECS|&amp;lt;span style=&#039;color:#000000&#039;&amp;gt;ECS&amp;lt;/span&amp;gt;]]~hs~&amp;lt;/center&amp;gt;{DIV} | |&lt;br /&gt;
&lt;br /&gt;
MAIZ|Maize|0010 Bulk | | |Tropic; see also GRAI, WHEA, CERE&lt;br /&gt;
&lt;br /&gt;
CORE|Copper Ore|0010 Bulk |{DIV(bg=&amp;amp;gt;#eebb00)}&amp;lt;center&amp;gt;~hs~[[ECS|&amp;lt;span style=&#039;color:#000000&#039;&amp;gt;ECS&amp;lt;/span&amp;gt;]]~hs~&amp;lt;/center&amp;gt;{DIV} | |&lt;br /&gt;
&lt;br /&gt;
WATR|Water|0040 Liquid |{DIV(bg=&amp;amp;gt;#eebb00)}&amp;lt;center&amp;gt;~hs~[[ECS|&amp;lt;span style=&#039;color:#000000&#039;&amp;gt;ECS&amp;lt;/span&amp;gt;]]~hs~&amp;lt;/center&amp;gt;{DIV} | |&lt;br /&gt;
&lt;br /&gt;
DIAM|Diamonds|0008 Armoured |{DIV(bg=&amp;amp;gt;#eebb00)}&amp;lt;center&amp;gt;~hs~[[ECS|&amp;lt;span style=&#039;color:#000000&#039;&amp;gt;ECS&amp;lt;/span&amp;gt;]]~hs~&amp;lt;/center&amp;gt;{DIV} | |Tropic; see also VALU, GOLD&lt;br /&gt;
&lt;br /&gt;
SUGR|Sugar|0010 Bulk | | |&lt;br /&gt;
&lt;br /&gt;
TOYS|Toys|0020 Piece goods | | |&lt;br /&gt;
&lt;br /&gt;
BATT|Batteries|0020 Piece goods | | |&lt;br /&gt;
&lt;br /&gt;
SWET|Sweets (Candy)|0004 Express | | |&lt;br /&gt;
&lt;br /&gt;
TOFF|Toffee|0010 Bulk | | |&lt;br /&gt;
&lt;br /&gt;
COLA|Cola|0040 Liquid | | |&lt;br /&gt;
&lt;br /&gt;
CTCD|Cotton Candy (Candyfloss)|0010 Bulk | | |&lt;br /&gt;
&lt;br /&gt;
BUBL|Bubbles|0020 Piece goods | | |&lt;br /&gt;
&lt;br /&gt;
PLST|Plastic|0040 Liquid | | |Toyland; see also PLAS&lt;br /&gt;
&lt;br /&gt;
FZDR|Fizzy Drinks|0020 Piece goods | | |&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;NewCargos&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
AORE|Bauxite (Aluminium ore)|0010 Bulk | |{DIV(bg=&amp;amp;gt;#1a3cb7)}&amp;lt;center&amp;gt;~hs~[[FIRS|&amp;lt;span style=&#039;color:#FFFFFF&#039;&amp;gt;FIRS&amp;lt;/span&amp;gt;]]~hs~&amp;lt;/center&amp;gt;{DIV} |&lt;br /&gt;
&lt;br /&gt;
BEER|Alcohol|0064 Express, piece goods, liquids | |{DIV(bg=&amp;amp;gt;#1a3cb7)}&amp;lt;center&amp;gt;~hs~[[FIRS|&amp;lt;span style=&#039;color:#FFFFFF&#039;&amp;gt;FIRS&amp;lt;/span&amp;gt;]]~hs~&amp;lt;/center&amp;gt;{DIV} |&lt;br /&gt;
&lt;br /&gt;
BDMT|Building Materials|0220 Piece goods, covered/sheltered | |{DIV(bg=&amp;amp;gt;#1a3cb7)}&amp;lt;center&amp;gt;~hs~[[FIRS|&amp;lt;span style=&#039;color:#FFFFFF&#039;&amp;gt;FIRS&amp;lt;/span&amp;gt;]]~hs~&amp;lt;/center&amp;gt;{DIV} |&lt;br /&gt;
&lt;br /&gt;
BRCK|Bricks| 0020 Piece goods |{DIV(bg=&amp;amp;gt;#eebb00)}&amp;lt;center&amp;gt;~hs~[[ECS|&amp;lt;span style=&#039;color:#000000&#039;&amp;gt;ECS&amp;lt;/span&amp;gt;]]~hs~&amp;lt;/center&amp;gt;{DIV} | |&lt;br /&gt;
&lt;br /&gt;
CERA|Ceramics| 0020 Piece goods |{DIV(bg=&amp;amp;gt;#eebb00)}&amp;lt;center&amp;gt;~hs~[[ECS|&amp;lt;span style=&#039;color:#000000&#039;&amp;gt;ECS&amp;lt;/span&amp;gt;]]~hs~&amp;lt;/center&amp;gt;{DIV} | |&lt;br /&gt;
&lt;br /&gt;
CERE|Cereals| 0210 Bulk, covered/sheltered |{DIV(bg=&amp;amp;gt;#eebb00)}&amp;lt;center&amp;gt;~hs~[[ECS|&amp;lt;span style=&#039;color:#000000&#039;&amp;gt;ECS&amp;lt;/span&amp;gt;]]~hs~&amp;lt;/center&amp;gt;{DIV} | |(*)&lt;br /&gt;
&lt;br /&gt;
CARB|Carbon Brick|0010 Bulk | | |&lt;br /&gt;
&lt;br /&gt;
CLAY|Clay|0210 Bulk covered/sheltered | |{DIV(bg=&amp;amp;gt;#1a3cb7)}&amp;lt;center&amp;gt;~hs~[[FIRS|&amp;lt;span style=&#039;color:#FFFFFF&#039;&amp;gt;FIRS&amp;lt;/span&amp;gt;]]~hs~&amp;lt;/center&amp;gt;{DIV} |&lt;br /&gt;
&lt;br /&gt;
CMNT|Cement| 0210 Bulk covered/sheltered |{DIV(bg=&amp;amp;gt;#eebb00)}&amp;lt;center&amp;gt;~hs~[[ECS|&amp;lt;span style=&#039;color:#000000&#039;&amp;gt;ECS&amp;lt;/span&amp;gt;]]~hs~&amp;lt;/center&amp;gt;{DIV} | |&lt;br /&gt;
&lt;br /&gt;
COPR|Copper|0020 Piece goods | | |&lt;br /&gt;
&lt;br /&gt;
DURA|Depleted Uranium|0100 Hazardous | | |&lt;br /&gt;
&lt;br /&gt;
DYES|Dyes| 0060 Piece goods, liquids |{DIV(bg=&amp;amp;gt;#eebb00)}&amp;lt;center&amp;gt;~hs~[[ECS|&amp;lt;span style=&#039;color:#000000&#039;&amp;gt;ECS&amp;lt;/span&amp;gt;]]~hs~&amp;lt;/center&amp;gt;{DIV} | |&lt;br /&gt;
&lt;br /&gt;
ENSP|Engineering Supplies|0024 Express, piece goods | |{DIV(bg=&amp;amp;gt;#1a3cb7)}&amp;lt;center&amp;gt;~hs~[[FIRS|&amp;lt;span style=&#039;color:#FFFFFF&#039;&amp;gt;FIRS&amp;lt;/span&amp;gt;]]~hs~&amp;lt;/center&amp;gt;{DIV} |&lt;br /&gt;
&lt;br /&gt;
FERT|Fertiliser| 0030 Bulk, piece goods |{DIV(bg=&amp;amp;gt;#eebb00)}&amp;lt;center&amp;gt;~hs~[[ECS|&amp;lt;span style=&#039;color:#000000&#039;&amp;gt;ECS&amp;lt;/span&amp;gt;]]~hs~&amp;lt;/center&amp;gt;{DIV} | |(*)&lt;br /&gt;
&lt;br /&gt;
FICR|Fibre crops| 0030 Bulk, piece goods|{DIV(bg=&amp;amp;gt;#eebb00)}&amp;lt;center&amp;gt;~hs~[[ECS|&amp;lt;span style=&#039;color:#000000&#039;&amp;gt;ECS&amp;lt;/span&amp;gt;]]~hs~&amp;lt;/center&amp;gt;{DIV} |{DIV(bg=&amp;amp;gt;#1a3cb7)}&amp;lt;center&amp;gt;~hs~[[FIRS|&amp;lt;span style=&#039;color:#FFFFFF&#039;&amp;gt;FIRS&amp;lt;/span&amp;gt;]]~hs~&amp;lt;/center&amp;gt;{DIV} |&lt;br /&gt;
&lt;br /&gt;
FISH|Fish| 0084 Express, refrigerated |{DIV(bg=&amp;amp;gt;#eebb00)}&amp;lt;center&amp;gt;~hs~[[ECS|&amp;lt;span style=&#039;color:#000000&#039;&amp;gt;ECS&amp;lt;/span&amp;gt;]]~hs~&amp;lt;/center&amp;gt;{DIV} |{DIV(bg=&amp;amp;gt;#1a3cb7)}&amp;lt;center&amp;gt;~hs~[[FIRS|&amp;lt;span style=&#039;color:#FFFFFF&#039;&amp;gt;FIRS&amp;lt;/span&amp;gt;]]~hs~&amp;lt;/center&amp;gt;{DIV} |&lt;br /&gt;
&lt;br /&gt;
FMSP|Farm Supplies|0024 Express, piece goods | |{DIV(bg=&amp;amp;gt;#1a3cb7)}&amp;lt;center&amp;gt;~hs~[[FIRS|&amp;lt;span style=&#039;color:#FFFFFF&#039;&amp;gt;FIRS&amp;lt;/span&amp;gt;]]~hs~&amp;lt;/center&amp;gt;{DIV} |&lt;br /&gt;
&lt;br /&gt;
FRVG|Fruit (and optionally Vegetables)|00A4 Express, piece goods, refrigerated &amp;amp;nbsp;| |{DIV(bg=&amp;amp;gt;#1a3cb7)}&amp;lt;center&amp;gt;~hs~[[FIRS|&amp;lt;span style=&#039;color:#FFFFFF&#039;&amp;gt;FIRS&amp;lt;/span&amp;gt;]]~hs~&amp;lt;/center&amp;gt;{DIV} |&lt;br /&gt;
&lt;br /&gt;
FUEL|Fuel|0040 Liquid | | |Use PETR for refined-oil fuel&lt;br /&gt;
&lt;br /&gt;
GEAR|Locomotive regearing|8000 Special | | |&lt;br /&gt;
&lt;br /&gt;
GLAS|Glass| 0420 Piece goods, oversized |{DIV(bg=&amp;amp;gt;#eebb00)}&amp;lt;center&amp;gt;~hs~[[ECS|&amp;lt;span style=&#039;color:#000000&#039;&amp;gt;ECS&amp;lt;/span&amp;gt;]]~hs~&amp;lt;/center&amp;gt;{DIV} | |&lt;br /&gt;
&lt;br /&gt;
GRVL|Gravel / Ballast|0010 Bulk | |{DIV(bg=&amp;amp;gt;#1a3cb7)}&amp;lt;center&amp;gt;~hs~[[FIRS|&amp;lt;span style=&#039;color:#FFFFFF&#039;&amp;gt;FIRS&amp;lt;/span&amp;gt;]]~hs~&amp;lt;/center&amp;gt;{DIV} |&lt;br /&gt;
&lt;br /&gt;
LIME|Lime stone| 0010 Bulk |{DIV(bg=&amp;amp;gt;#eebb00)}&amp;lt;center&amp;gt;~hs~[[ECS|&amp;lt;span style=&#039;color:#000000&#039;&amp;gt;ECS&amp;lt;/span&amp;gt;]]~hs~&amp;lt;/center&amp;gt;{DIV} | |&lt;br /&gt;
&lt;br /&gt;
MATE|Materials|0020 Piece goods | | |&lt;br /&gt;
&lt;br /&gt;
MILK|Milk|00C4 Express, liquid, refrigerated | |{DIV(bg=&amp;amp;gt;#1a3cb7)}&amp;lt;center&amp;gt;~hs~[[FIRS|&amp;lt;span style=&#039;color:#FFFFFF&#039;&amp;gt;FIRS&amp;lt;/span&amp;gt;]]~hs~&amp;lt;/center&amp;gt;{DIV} |&lt;br /&gt;
&lt;br /&gt;
MNSP|Manufacturing Supplies|0020 Piece Goods, express | |{DIV(bg=&amp;amp;gt;#1a3cb7)}&amp;lt;center&amp;gt;~hs~[[FIRS|&amp;lt;span style=&#039;color:#FFFFFF&#039;&amp;gt;FIRS&amp;lt;/span&amp;gt;]]~hs~&amp;lt;/center&amp;gt;{DIV} |&lt;br /&gt;
&lt;br /&gt;
OLSD|Oil seed| 0210 Bulk, covered/sheltered |{DIV(bg=&amp;amp;gt;#eebb00)}&amp;lt;center&amp;gt;~hs~[[ECS|&amp;lt;span style=&#039;color:#000000&#039;&amp;gt;ECS&amp;lt;/span&amp;gt;]]~hs~&amp;lt;/center&amp;gt;{DIV} | |(*)&lt;br /&gt;
&lt;br /&gt;
OXYG|Oxygen|0040 Liquid | | |&lt;br /&gt;
&lt;br /&gt;
PETR|Petrol / Fuel Oil| 0040 Liquid |{DIV(bg=&amp;amp;gt;#eebb00)}&amp;lt;center&amp;gt;~hs~[[ECS|&amp;lt;span style=&#039;color:#000000&#039;&amp;gt;ECS&amp;lt;/span&amp;gt;]]~hs~&amp;lt;/center&amp;gt;{DIV} |{DIV(bg=&amp;amp;gt;#1a3cb7)}&amp;lt;center&amp;gt;~hs~[[FIRS|&amp;lt;span style=&#039;color:#FFFFFF&#039;&amp;gt;FIRS&amp;lt;/span&amp;gt;]]~hs~&amp;lt;/center&amp;gt;{DIV} &amp;amp;nbsp;|&lt;br /&gt;
&lt;br /&gt;
PLAS|Plastic| 0060 Piece goods, liquid|{DIV(bg=&amp;amp;gt;#eebb00)}&amp;lt;center&amp;gt;~hs~[[ECS|&amp;lt;span style=&#039;color:#000000&#039;&amp;gt;ECS&amp;lt;/span&amp;gt;]]~hs~&amp;lt;/center&amp;gt;{DIV} | |&lt;br /&gt;
&lt;br /&gt;
POTA|Potash| 0210 Bulk, covered/sheltered |{DIV(bg=&amp;amp;gt;#eebb00)}&amp;lt;center&amp;gt;~hs~[[ECS|&amp;lt;span style=&#039;color:#000000&#039;&amp;gt;ECS&amp;lt;/span&amp;gt;]]~hs~&amp;lt;/center&amp;gt;{DIV} | |(*)&lt;br /&gt;
&lt;br /&gt;
RCYC|Recyclables|0220 Piece Goods, covered &amp;amp;nbsp;| |{DIV(bg=&amp;amp;gt;#1a3cb7)}&amp;lt;center&amp;gt;~hs~[[FIRS|&amp;lt;span style=&#039;color:#FFFFFF&#039;&amp;gt;FIRS&amp;lt;/span&amp;gt;]]~hs~&amp;lt;/center&amp;gt;{DIV} |&lt;br /&gt;
&lt;br /&gt;
RCKT|Rockets|0000 None| | |&lt;br /&gt;
&lt;br /&gt;
RFPR|Refined products| 0040 Liquid |{DIV(bg=&amp;amp;gt;#eebb00)}&amp;lt;center&amp;gt;~hs~[[ECS|&amp;lt;span style=&#039;color:#000000&#039;&amp;gt;ECS&amp;lt;/span&amp;gt;]]~hs~&amp;lt;/center&amp;gt;{DIV} |{DIV(bg=&amp;amp;gt;#1a3cb7)}&amp;lt;center&amp;gt;~hs~[[FIRS|&amp;lt;span style=&#039;color:#FFFFFF&#039;&amp;gt;FIRS&amp;lt;/span&amp;gt;]]~hs~&amp;lt;/center&amp;gt;{DIV} |&lt;br /&gt;
&lt;br /&gt;
RSGR|Raw Sugar|0010 Bulk | |{DIV(bg=&amp;amp;gt;#1a3cb7)}&amp;lt;center&amp;gt;~hs~[[FIRS|&amp;lt;span style=&#039;color:#FFFFFF&#039;&amp;gt;FIRS&amp;lt;/span&amp;gt;]]~hs~&amp;lt;/center&amp;gt;{DIV} | Sugar cane in tropic, sugar beet in other climates&lt;br /&gt;
&lt;br /&gt;
SAND|Sand| 0010 Bulk |{DIV(bg=&amp;amp;gt;#eebb00)}&amp;lt;center&amp;gt;~hs~[[ECS|&amp;lt;span style=&#039;color:#000000&#039;&amp;gt;ECS&amp;lt;/span&amp;gt;]]~hs~&amp;lt;/center&amp;gt;{DIV} |{DIV(bg=&amp;amp;gt;#1a3cb7)}&amp;lt;center&amp;gt;~hs~[[FIRS|&amp;lt;span style=&#039;color:#FFFFFF&#039;&amp;gt;FIRS&amp;lt;/span&amp;gt;]]~hs~&amp;lt;/center&amp;gt;{DIV} |&lt;br /&gt;
&lt;br /&gt;
SCRP|Scrap Metal|0010 Bulk | |{DIV(bg=&amp;amp;gt;#1a3cb7)}&amp;lt;center&amp;gt;~hs~[[FIRS|&amp;lt;span style=&#039;color:#FFFFFF&#039;&amp;gt;FIRS&amp;lt;/span&amp;gt;]]~hs~&amp;lt;/center&amp;gt;{DIV} &amp;amp;nbsp;|&lt;br /&gt;
&lt;br /&gt;
SILI|Silicate|0010 Bulk | | |&lt;br /&gt;
&lt;br /&gt;
SULP|Sulphur| 0210 Bulk, covered/sheltered |{DIV(bg=&amp;amp;gt;#eebb00)}&amp;lt;center&amp;gt;~hs~[[ECS|&amp;lt;span style=&#039;color:#000000&#039;&amp;gt;ECS&amp;lt;/span&amp;gt;]]~hs~&amp;lt;/center&amp;gt;{DIV} | |(*)&lt;br /&gt;
&lt;br /&gt;
TOUR|Tourists| 0005 Passengers, express |{DIV(bg=&amp;amp;gt;#eebb00)}&amp;lt;center&amp;gt;~hs~[[ECS|&amp;lt;span style=&#039;color:#000000&#039;&amp;gt;ECS&amp;lt;/span&amp;gt;]]~hs~&amp;lt;/center&amp;gt;{DIV} | |&lt;br /&gt;
&lt;br /&gt;
TWOD|Tropic Wood|0020 Piece goods | | |&lt;br /&gt;
&lt;br /&gt;
UORE|Uranium Ore|0110 Hazardous, Bulk | | |&lt;br /&gt;
&lt;br /&gt;
URAN|Uranium|0100 Hazardous | | |&lt;br /&gt;
&lt;br /&gt;
VEHI|Vehicles| 0420 Piece goods, oversized |{DIV(bg=&amp;amp;gt;#eebb00)}&amp;lt;center&amp;gt;~hs~[[ECS|&amp;lt;span style=&#039;color:#000000&#039;&amp;gt;ECS&amp;lt;/span&amp;gt;]]~hs~&amp;lt;/center&amp;gt;{DIV} | |&lt;br /&gt;
&lt;br /&gt;
WATT|Electricity|0000 None | | |&lt;br /&gt;
&lt;br /&gt;
WDPR|Wood Products| 0030 Bulk, piece goods |{DIV(bg=&amp;amp;gt;#eebb00)}&amp;lt;center&amp;gt;~hs~[[ECS|&amp;lt;span style=&#039;color:#000000&#039;&amp;gt;ECS&amp;lt;/span&amp;gt;]]~hs~&amp;lt;/center&amp;gt;{DIV} |{DIV(bg=&amp;amp;gt;#1a3cb7)}&amp;lt;center&amp;gt;~hs~[[FIRS|&amp;lt;span style=&#039;color:#FFFFFF&#039;&amp;gt;FIRS&amp;lt;/span&amp;gt;]]~hs~&amp;lt;/center&amp;gt;{DIV} |&lt;br /&gt;
&lt;br /&gt;
WOOL|Wool| 0220 Piece goods, covered/sheltered &amp;amp;nbsp;|{DIV(bg=&amp;amp;gt;#eebb00)}&amp;lt;center&amp;gt;~hs~[[ECS|&amp;lt;span style=&#039;color:#000000&#039;&amp;gt;ECS&amp;lt;/span&amp;gt;]]~hs~&amp;lt;/center&amp;gt;{DIV} |{DIV(bg=&amp;amp;gt;#1a3cb7)}&amp;lt;center&amp;gt;~hs~[[FIRS|&amp;lt;span style=&#039;color:#FFFFFF&#039;&amp;gt;FIRS&amp;lt;/span&amp;gt;]]~hs~&amp;lt;/center&amp;gt;{DIV} |(*)&lt;br /&gt;
&lt;br /&gt;
WSTE|Waste|0010 Bulk | |{DIV(bg=&amp;amp;gt;#1a3cb7)}&amp;lt;center&amp;gt;~hs~[[FIRS|&amp;lt;span style=&#039;color:#FFFFFF&#039;&amp;gt;FIRS&amp;lt;/span&amp;gt;]]~hs~&amp;lt;/center&amp;gt;{DIV} |&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
&lt;br /&gt;
(*) ECS cargo classes changed as of dec 31, 2010&lt;/div&gt;</summary>
		<author><name>Orudge</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=RecolorSprites&amp;diff=804</id>
		<title>RecolorSprites</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=RecolorSprites&amp;diff=804"/>
		<updated>2011-06-12T19:23:30Z</updated>

		<summary type="html">&lt;p&gt;Orudge: 11 revisions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Changing how other sprites are drawn&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=Recolor Sprites=&lt;br /&gt;
&lt;br /&gt;
Changing how other sprites are drawn&lt;br /&gt;
&lt;br /&gt;
-=Introduction=-&lt;br /&gt;
&lt;br /&gt;
Recolor sprites are pseudosprites used to recolor other sprites, most often to apply company colors. A recolour sprite is simply a re-mapping of TTDs original colour table.&lt;br /&gt;
&lt;br /&gt;
-=Format=-&lt;br /&gt;
&lt;br /&gt;
A recolor sprite has the following format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; -+&amp;amp;lt;Sprite-number&amp;amp;gt; * 257 00 &amp;amp;lt;recolor-table&amp;amp;gt;+-&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
||&#039;&#039;&#039;Element&#039;&#039;&#039;|[[GRFActionsDetailed|&#039;&#039;&#039;Size&#039;&#039;&#039;]]|&#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;Sprite-number&amp;amp;gt;|dec|A sequential sprite number&lt;br /&gt;
&lt;br /&gt;
257|dec|The total number of bytes used in this action, always 257&lt;br /&gt;
&lt;br /&gt;
00|B|literal 00&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;recolor-table&amp;amp;gt;|256*B|See below||&lt;br /&gt;
&lt;br /&gt;
-=Filling in the Terms=-&lt;br /&gt;
&lt;br /&gt;
===00===&lt;br /&gt;
&lt;br /&gt;
At first glance, it is easy to confuse a recolor sprite with an action 0, most often for trains. Attempting to read the recolor sprite as an action 0 will usually reveal that there are far too many bytes. Another clue is that recolor sprites are always 257 bytes long.&lt;br /&gt;
&lt;br /&gt;
The correct method to distinguish recolor sprites and action 0s is to note that recolor sprites can only appear in an [[Action5]] or [[ActionA]] block, and action 0s can only appear outside such a block.&lt;br /&gt;
&lt;br /&gt;
===recolor-table===&lt;br /&gt;
&lt;br /&gt;
A 256-byte recolor table. A byte at the offset equal to the index of the source color specifies the color to be drawn.&lt;br /&gt;
&lt;br /&gt;
Note that the offsets and bytes are different depending on whether the GRF is being loaded in TTD DOS or TTD Win. If you create a grf that contains recolor sprites, you may find it necessary to maintain two separate versions, or use an Action7 that checks variable 83 to guard the introducing action 5/A and the recolor sprite(s).&lt;br /&gt;
&lt;br /&gt;
-=Usage=-&lt;br /&gt;
&lt;br /&gt;
Recolor sprites are applied in one of two ways.&lt;br /&gt;
&lt;br /&gt;
;Non-transparently: Each pixel in the sprite is looked up in the recolor table, and then the color specified at that offset is drawn on the screen. If the resultant color is 00 (&amp;amp;quot;transparent blue&amp;amp;quot;), then if the [[RealSprites#compression|sprite&#039;s compression]] bit 3 is &#039;&#039;not&#039;&#039; set, nothing is drawn; otherwise (i.e. if the sprite is in chunked data format) the actual color 00 (which is &#039;&#039;black&#039;&#039;) is drawn.&lt;br /&gt;
&lt;br /&gt;
;Transparently: For each sprite pixel that is not transparent, the current (on-screen) color of the pixel at the location where the sprite pixel would be drawn is looked up in the recolor table, and then redrawn in the new color. If the recolor lookup returns 00 (&amp;amp;quot;transparent blue&amp;amp;quot;), the resultant color is actually black. Other than is-transparent-blue/not-transparent-blue, the actual colors of the pixels in a sprite that is drawn transparently are meaningless.&lt;br /&gt;
&lt;br /&gt;
-=Default recolour sprites=-&lt;br /&gt;
&lt;br /&gt;
TTD already defines a number of recolour sprites for various uses, e.g. for the semi-transparency of glass or the re-colouring of the tubular bridges, company colours or some houses.&lt;br /&gt;
&lt;br /&gt;
||&#039;&#039;&#039;Sprite number (dec)&#039;&#039;&#039;|&#039;&#039;&#039;Sprite number (hex)&#039;&#039;&#039;|&#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
771|0x303| A pulsating red tile is drawn if you try to build a wrong tunnel or raise/lower land where it is not possible&lt;br /&gt;
&lt;br /&gt;
772|0x304| Makes a square red. is used when removing rails or other stuff&lt;br /&gt;
&lt;br /&gt;
773|0x305 | This draws a blueish square (catchment areas for example)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;translations for the company colour (blue-ish colours are replaced)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
775|0x307 | company colour to dark blue&lt;br /&gt;
&lt;br /&gt;
776|0x308 | company colour to pale green&lt;br /&gt;
&lt;br /&gt;
777|0x309 | company colour to pink&lt;br /&gt;
&lt;br /&gt;
778|0x30A | company colour to yellow&lt;br /&gt;
&lt;br /&gt;
779|0x30B | company colour to red&lt;br /&gt;
&lt;br /&gt;
780|0x30C | company colour to light blue&lt;br /&gt;
&lt;br /&gt;
781|0x30D | company colour to green&lt;br /&gt;
&lt;br /&gt;
782|0x30E | company colour to dark green&lt;br /&gt;
&lt;br /&gt;
783|0x30F | company colour to blue&lt;br /&gt;
&lt;br /&gt;
784|0x310 | company colour to cream&lt;br /&gt;
&lt;br /&gt;
785|0x311 | company colour to mauve&lt;br /&gt;
&lt;br /&gt;
786|0x312 | company colour to purple&lt;br /&gt;
&lt;br /&gt;
787|0x313 | company colour to orange&lt;br /&gt;
&lt;br /&gt;
788|0x314 | company colour to brown&lt;br /&gt;
&lt;br /&gt;
789|0x315 | company colour to grey&lt;br /&gt;
&lt;br /&gt;
790|0x316 | company colour to white (darker parts are blue-ish)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;translations for &amp;amp;quot;brownish red&amp;amp;quot; colour used by some town buildings and bridges&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
791|0x317 | bare land, for rail and road (crossings)&lt;br /&gt;
&lt;br /&gt;
795|0x31B | structure to blue&lt;br /&gt;
&lt;br /&gt;
796|0x31C | structure to brownish (e.g. cantilever bridges)&lt;br /&gt;
&lt;br /&gt;
797|0x31D | structure to white&lt;br /&gt;
&lt;br /&gt;
798|0x31E | structure to red (e.g. bridges)&lt;br /&gt;
&lt;br /&gt;
799|0x31F | structure to green (e.g. bridges)&lt;br /&gt;
&lt;br /&gt;
800|0x320 | structure to concrete (e.g. suspension bridge)&lt;br /&gt;
&lt;br /&gt;
801|0x321 | structure to yellow (e.g. suspension bridge + tubular)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;special colour translations&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
802|0x322 | glass effect&lt;br /&gt;
&lt;br /&gt;
803|0x323 | maps to grey (e.g. tubular bridge or newspaper)&lt;br /&gt;
&lt;br /&gt;
804|0x324 | crashed vehicle (grey-ish)&lt;br /&gt;
&lt;br /&gt;
1438|0x59E | church red&lt;br /&gt;
&lt;br /&gt;
1439|0x59F | church cream||&lt;br /&gt;
&lt;br /&gt;
For the company colour translation a translation to dark blue (0x307) is the identity translation which replaces every colour with itself. You can use it in cases where a remapping is needed, but you don&#039;t want to recolor anything.&lt;br /&gt;
&lt;br /&gt;
-= Dual company colours =-&lt;br /&gt;
&lt;br /&gt;
You can also use the dual-company-colour recolour sprites. However, they are no default TTD sprites and thus they do not have fixed sprite numbers. You can determine the spritenumber of the first 2CC recolour sprite via [[ReadingPatchVariables|Patch Variable 11]]. You then need [[Action6|Action 6]] to put the needed recolourings into actions where needed.&lt;br /&gt;
&lt;br /&gt;
Starting from the spritenumber from patch variable 11 there are 256 recolour sprites. Their order follows the default company recolourings above. The second company colour changes every 16 sprites, so every combination of first and second colour is available:&lt;br /&gt;
&lt;br /&gt;
||&#039;&#039;&#039;Offset from first sprite (dec)&#039;&#039;&#039; |&#039;&#039;&#039;Offset from first sprite (hex)&#039;&#039;&#039; | &#039;&#039;&#039;First colour (colours 0xC6 to 0xCD)&#039;&#039;&#039; | &#039;&#039;&#039;Second colour (colours 0x50 to 0x57)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
0 | 0x00 | dark blue | dark blue&lt;br /&gt;
&lt;br /&gt;
1 | 0x01 | pale green | dark blue&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; | : | : | :&lt;br /&gt;
&lt;br /&gt;
15 | &amp;amp;nbsp;0x0F | white | dark blue&lt;br /&gt;
&lt;br /&gt;
16 | &amp;amp;nbsp;0x10 | dark blue |pale green&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; | : | : | :&lt;br /&gt;
&lt;br /&gt;
31 | 0x1F | white |pale green&lt;br /&gt;
&lt;br /&gt;
32 | 0x20 | dark blue | pink&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; | : | : | :&lt;br /&gt;
&lt;br /&gt;
255 | 0xFF | white | white ||&lt;br /&gt;
&lt;br /&gt;
You&#039;ll notice in hex that the low nibble of the offset represents the first company colour from 0 (dark blue) to F (white), and the high nibble represents the second company colour.&lt;/div&gt;</summary>
		<author><name>Orudge</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=RealSprites&amp;diff=792</id>
		<title>RealSprites</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=RealSprites&amp;diff=792"/>
		<updated>2011-06-12T19:23:30Z</updated>

		<summary type="html">&lt;p&gt;Orudge: 10 revisions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Sprites that actually get drawn on the screen&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=Real Sprites=&lt;br /&gt;
&lt;br /&gt;
The sprites that the user actually sees.&lt;br /&gt;
&lt;br /&gt;
{maketoc}&lt;br /&gt;
&lt;br /&gt;
-=Introduction=-&lt;br /&gt;
&lt;br /&gt;
Real sprites are the graphical part of .grf files; they are what the user actually sees in-game.&lt;br /&gt;
&lt;br /&gt;
-=Format=-&lt;br /&gt;
&lt;br /&gt;
A real sprite has the following format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;-+&amp;amp;lt;Sprite-number&amp;amp;gt; &amp;amp;lt;filename&amp;amp;gt; &amp;amp;lt;xpos&amp;amp;gt; &amp;amp;lt;ypos&amp;amp;gt; &amp;amp;lt;compression&amp;amp;gt; &amp;amp;lt;ysize&amp;amp;gt; &amp;amp;lt;xsize&amp;amp;gt; &amp;amp;lt;xrel&amp;amp;gt; &amp;amp;lt;yrel&amp;amp;gt;+-&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
||&#039;&#039;&#039;Element&#039;&#039;&#039;|[[GRFActionsDetailed|&#039;&#039;&#039;Size&#039;&#039;&#039;]]|&#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;Sprite-number&amp;amp;gt;|dec|A sequential sprite number&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;filename&amp;amp;gt;|string*|The name of the .pcx file in which the sprite will be found&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;xpos&amp;amp;gt;|dec|The x position of the upper-left corner of the sprite in the file&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;ypos&amp;amp;gt;|dec|The y position of the upper-left corner of the sprite in the file&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;compression&amp;amp;gt;|B|The &amp;amp;quot;compression&amp;amp;quot;; see below&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;ysize&amp;amp;gt;|dec|The y size of the sprite&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;xsize&amp;amp;gt;|dec|The x size of the sprite&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;xrel&amp;amp;gt;|dec|The x position of the upper-left corner of the sprite, relative to the &amp;amp;quot;center&amp;amp;quot; (usually negative)&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;yrel&amp;amp;gt;|dec|The y position of the upper-left corner of the sprite, relative to the &amp;amp;quot;center&amp;amp;quot; (usually negative)||&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt; Unlike strings in pseudo-sprites, this string should not have a terminating &amp;amp;quot;00&amp;amp;quot; and should not be placed in quotes.&lt;br /&gt;
&lt;br /&gt;
-=Filling in the Terms=-&lt;br /&gt;
&lt;br /&gt;
===filename===&lt;br /&gt;
&lt;br /&gt;
This specifies the name and path of the .pcx file. The path may be specified one of two ways:&lt;br /&gt;
# An absolute path. (eg C:\GRF\sprites\filename.pcx)&lt;br /&gt;
# A relative path; these are specified relative to the location of the .grf file. (eg sprites\filename.pcx)&lt;br /&gt;
&lt;br /&gt;
For most purposes, relative paths are preferred, since .nfo files with relative paths are more portable than .nfo files with absolute paths.&lt;br /&gt;
&lt;br /&gt;
===xpos, ypos, ysize, and xsize===&lt;br /&gt;
&lt;br /&gt;
These are pretty easy to set, as long as you remember that the order is &amp;amp;nbsp;X, Y, Y, X, and not X, Y, X, Y.&lt;br /&gt;
&lt;br /&gt;
Also, no sprite may contain zero pixels; ysize and xsize must both be at least 1.&lt;br /&gt;
&lt;br /&gt;
There is a bug in grfcodec 0.9.7 and earlier that prevents them from properly encoding a sprite with a smaller ypos value than any earlier sprite. The best way to circumvent this bug is to upgrade to the newest version.&lt;br /&gt;
&lt;br /&gt;
Andrex&#039;s [http://www.divxland.org/ttd/files/nfoeditor.zip|NFOEditor] can often be helpful for setting these four values.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WARNING:&#039;&#039;&#039; NFOEditor is replete with bugs, limitations, &amp;amp;amp;c.;: You MUST specify absolute paths, and paths must be delimited by backslashes (decode with grfcodec 0.9.5); comments MUST NOT contain &amp;amp;quot;*&amp;amp;quot;; and sprite numbers MUST be correct. Also, moving too far outside the size of the .pcx file will cause NFOEditor to crash, so save early and often.&lt;br /&gt;
&lt;br /&gt;
===compression===&lt;br /&gt;
&lt;br /&gt;
Unlike the other numbers, the compression is a hexadecimal bit-field. Currently, the following bits are supported:&lt;br /&gt;
&lt;br /&gt;
||bit|value|meaning&lt;br /&gt;
&lt;br /&gt;
0|1|Color index 0 is transparent (should be &#039;&#039;&#039;always&#039;&#039;&#039; set; ignored if bit 3 is set)&lt;br /&gt;
&lt;br /&gt;
1|2|Store compressed sprite in memory&lt;br /&gt;
&lt;br /&gt;
3|8|Sprite is in chunked data format (aka &amp;amp;quot;tile compression&amp;amp;quot;)&lt;br /&gt;
&lt;br /&gt;
6|40|Sprite should not be cropped. (obeyed by GRFCodec r1604 and later)||&lt;br /&gt;
&lt;br /&gt;
The chunked data format is designed to compress tiles and diagonal views of vehicles; things with lots of transparency around the edges, and a contiguous block of non-transparent pixels in the middle. Using the chunked data format may provide advantages in drawing speed.&lt;br /&gt;
&lt;br /&gt;
The most common values for the compression are 01 and 09. 03 is useful for large sprites that are infrequently used, as it reduces memory usage at the cost of slower drawing speed. It is generally a bad idea to use any other value, as that may cause problems. FF is an especially bad idea.&lt;br /&gt;
&lt;br /&gt;
===xrel and yrel===&lt;br /&gt;
&lt;br /&gt;
These two numbers will probably become the bane of your existence.&lt;br /&gt;
&lt;br /&gt;
TTD stores a single point for every sprite. xrel and yrel specify how far right and down (respectively) to go from the TTD point to the upper-left hand corner of the sprite.&lt;br /&gt;
&lt;br /&gt;
Halving xsize and ysize and negating the results produces a decent starting point for these values, and further adjustments may be done manually, with NFOEditor, or (in TTDPatch 2.0.1 alpha 69 and later) with the [[GRFAuthorHelperWindow]].&lt;br /&gt;
&lt;br /&gt;
===Ranges===&lt;br /&gt;
&lt;br /&gt;
The ranges for the four numbers after the compression are as follows:&lt;br /&gt;
&lt;br /&gt;
ysize: 1..255&lt;br /&gt;
&lt;br /&gt;
xsize: 1..65535&lt;br /&gt;
&lt;br /&gt;
xrel: -32768..32767&lt;br /&gt;
&lt;br /&gt;
yrel: -32768..32767&lt;br /&gt;
&lt;br /&gt;
ysize*xsize may not exceed 65535.&lt;br /&gt;
&lt;br /&gt;
===Other notes===&lt;br /&gt;
&lt;br /&gt;
It is a common practice, in action 1 blocks, to use the pseudosprite &amp;amp;quot;-1 * 1 00&amp;amp;quot; to take the place of a real sprite that will never be used. The most common use is for vehicle sets that will only be used in the purchase window. This reduces the size of the .grf file when compared to replacing them with one-pixel sprites (but not when compared to splitting the action 1 and making the second one define only one sprite), but does not save real-sprite slots. If TTD ever attempts to draw one of these sprites, it will, at best, crash.&lt;br /&gt;
&lt;br /&gt;
===Transparency and glass effect===&lt;br /&gt;
&lt;br /&gt;
Transparency and glass effects can be achieved by means of [[RecolorSprites]]&lt;br /&gt;
&lt;br /&gt;
-=Example=-&lt;br /&gt;
&lt;br /&gt;
The best way to see real sprites is to decode one of TTD&#039;s standard .grf files. With very few exceptions, all sprites in those files are real sprites; the few that are not are RecolorSprites.&lt;br /&gt;
&lt;br /&gt;
Example real sprites can also be found at the bottom of [[Action1]] or [[ActionA]].&lt;br /&gt;
&lt;br /&gt;
Those sprites use absolute paths. Removing the C:\TTD\ part of each filename would work just as well, assuming you want the .grf file to appear in C:\TTD.&lt;/div&gt;</summary>
		<author><name>Orudge</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=GRFResourceManagement&amp;diff=781</id>
		<title>GRFResourceManagement</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=GRFResourceManagement&amp;diff=781"/>
		<updated>2011-06-12T19:23:30Z</updated>

		<summary type="html">&lt;p&gt;Orudge: 2 revisions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Preventing conflicts with limited resources&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=GRF Resource Management=&lt;br /&gt;
&lt;br /&gt;
Preventing conflicts with limited resources&lt;br /&gt;
&lt;br /&gt;
{maketoc}&lt;br /&gt;
&lt;br /&gt;
-=Introduction=-&lt;br /&gt;
&lt;br /&gt;
Since 2.0.1 alpha 51, it has been possible to use action D to participate in cooperative resource management.&lt;br /&gt;
&lt;br /&gt;
This feature is useful for avoiding resource conflicts between grf files. A file may query the available resources, check whether certain IDs are available, and/or mark them as reserved. Then, an action 6 will enter the actual values in the appropriate action entries, for example action 0 or 3 for vehicles, and action A for sprites. Alternatively, one can use another action D to set variable 99 and have it adjust the IDs of the relevant actions appropriately.&lt;br /&gt;
&lt;br /&gt;
If the requested resources are not available, the grf file will be deactivated and be shown with an orange colour in the GRF Status Window, as well as a message indicating the type of resource that was not available. Note that previously allocated resources will not be freed if this happens, therefore you must first &#039;&#039;check&#039;&#039; that &#039;&#039;all&#039;&#039; of the resources are available before reserving &#039;&#039;any&#039;&#039; of them. This means if you have more than one type of resource that is required, you need two action D entries for each type, first one action D for each type using the &amp;amp;quot;check&amp;amp;quot; or &amp;amp;quot;find&amp;amp;quot; operation, after all of which follow the action D entries for each type using the &amp;amp;quot;reserve&amp;amp;quot; or &amp;amp;quot;mark&amp;amp;quot; operation.&lt;br /&gt;
&lt;br /&gt;
This type of action D is ignored during initialisation (because the resources are not initialised yet either), and the target parameter will be set to 0 in that case.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Please note:&#039;&#039;&#039; This resource management is cooperative. That means that grf files that do not use it can still access all IDs, and the patch will never know about it. Only those grf files that use this resource management will &amp;amp;quot;know&amp;amp;quot; of each other and can be sure not to use conflicting resources. If another grf file then uses a &amp;amp;quot;reserved&amp;amp;quot; ID without telling the patch via an action D, there is nothing that will prevent it from doing so.&lt;br /&gt;
&lt;br /&gt;
-=Format=-&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; -+&amp;amp;lt;Sprite-number&amp;amp;gt; * &amp;amp;lt;Length&amp;amp;gt; 0D &amp;amp;lt;target&amp;amp;gt; 00 &amp;amp;lt;GRM-op&amp;amp;gt; FE FF &amp;amp;lt;feature&amp;amp;gt; &amp;amp;lt;count&amp;amp;gt;+-&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
||&#039;&#039;&#039;Element&#039;&#039;&#039;|[[GRFActionsDetailed|&#039;&#039;&#039;Size&#039;&#039;&#039;]]|&#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
0D|B|Defines action 0D&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;target&amp;amp;gt;|B|Target parameter. See also below.&lt;br /&gt;
&lt;br /&gt;
00|B|Assignment&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;GRM-op&amp;amp;gt;|B|Resource operation to perform. See below.&lt;br /&gt;
&lt;br /&gt;
FE|B|Defines a special variable access&lt;br /&gt;
&lt;br /&gt;
FF|B|Prevent conflicts with ReadingOtherGRFParameters&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;feature&amp;amp;gt;|B|Feature to operate on. See below.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;count&amp;amp;gt;|W|Number of IDs to operate on.||&lt;br /&gt;
&lt;br /&gt;
For the check, mark, no-fail check, and get-owner operations, &amp;amp;lt;target&amp;amp;gt; must contain the first ID to be operated on.&lt;br /&gt;
&lt;br /&gt;
==GRM-op==&lt;br /&gt;
&lt;br /&gt;
The following operations are available:&lt;br /&gt;
&lt;br /&gt;
Each operation also has a corresponding escape sequence, as listed. See [[GRFActionsDetailed#Byte_order|the discussion of escape sequences]] for further information on escape sequences in general.&lt;br /&gt;
&lt;br /&gt;
||Number|Escape|Operation|Result|Meaning&lt;br /&gt;
&lt;br /&gt;
00|\DR|Reserve|First found ID|find available resource ID and mark as in use&lt;br /&gt;
&lt;br /&gt;
01|\DF|Find|First found ID|find available resource ID but do not mark&lt;br /&gt;
&lt;br /&gt;
02|\DC|Check|(none)|check whether given resources (ID stored in the &amp;amp;lt;target&amp;amp;gt; variable) are available&lt;br /&gt;
&lt;br /&gt;
03|\DM|Mark|(none)|check that the given resources are available, and if so mark as in use&lt;br /&gt;
&lt;br /&gt;
04|\DnF|No-fail Find|(see below)|like &amp;amp;quot;Find&amp;amp;quot;, but does not deactive the grf if no IDs found&lt;br /&gt;
&lt;br /&gt;
05|\DnC|No-fail Check|(see below)|like &amp;amp;quot;Check&amp;amp;quot;, but does not deactive the grf if there is a conflict&lt;br /&gt;
&lt;br /&gt;
06|\DO|Get Owner|GRF-ID of owner|Retrieve GRFID that has reserved the given ID (or 0 if not reserved)||&lt;br /&gt;
&lt;br /&gt;
Action D returns its result (if any) in the given &amp;amp;lt;target&amp;amp;gt; parameter. If the result is marked as &amp;amp;quot;(none)&amp;amp;quot; in the above table, the &amp;amp;lt;target&amp;amp;gt; parameter is not modified.&lt;br /&gt;
&lt;br /&gt;
The &amp;amp;quot;reserve&amp;amp;quot; and &amp;amp;quot;find&amp;amp;quot; operations will try to find a contiguous block of &amp;amp;lt;count&amp;amp;gt; entries, and store the first number in the target parameter of the action D. If not enough entries can be found, the grf file is deactivated.&lt;br /&gt;
&lt;br /&gt;
The &amp;amp;quot;check&amp;amp;quot; and &amp;amp;quot;mark&amp;amp;quot; operations use the value stored in the &#039;&#039;target&#039;&#039; parameter of the action D, and check/mark the block of &amp;amp;lt;count&amp;amp;gt; entries starting from that number. If not all entries are available, the grf file is deactivated.&lt;br /&gt;
&lt;br /&gt;
The no-fail versions work exactly like their regular counterparts, but they set the &amp;amp;lt;target&amp;amp;gt; parameter to -1 (FFFFFFFF) if the resources are unavailable, which can be checked with action 7 afterwards. They do not deactivate the grf file. If successful, they do nothing. They are useful if the file wants to voluntarily skip certain modifications in case other files have changed them already.&lt;br /&gt;
&lt;br /&gt;
Typically, the &amp;amp;quot;reserve&amp;amp;quot; or &amp;amp;quot;find&amp;amp;quot; operations will be used for files that modify only a few vehicles. For (mostly) complete sets, the &amp;amp;quot;check&amp;amp;quot; and &amp;amp;quot;mark&amp;amp;quot; operations are more useful, because it is often not feasible to remap the IDs of an entire set, so these operations will simply make sure that all needed IDs are available.&lt;br /&gt;
&lt;br /&gt;
For each feature, multiple &amp;amp;quot;find&amp;amp;quot; operations will check for different size blocks, but will always return the same base entry number, so &amp;amp;quot;find&amp;amp;quot; should only be called once for each feature.&lt;br /&gt;
&lt;br /&gt;
==Feature==&lt;br /&gt;
&lt;br /&gt;
The following features and feature/GRM-op combinations are supported:&lt;br /&gt;
&lt;br /&gt;
||Feature|Reserve|Find|Check|Mark|Get|Notes&lt;br /&gt;
&lt;br /&gt;
00 (trains)|&amp;lt;center&amp;gt;0&amp;lt;/center&amp;gt;|&amp;lt;center&amp;gt;0&amp;lt;/center&amp;gt;|&amp;lt;center&amp;gt;X&amp;lt;/center&amp;gt;|&amp;lt;center&amp;gt;X&amp;lt;/center&amp;gt;|&amp;lt;center&amp;gt;X&amp;lt;/center&amp;gt;|&lt;br /&gt;
&lt;br /&gt;
01 (road vehicles)|&amp;lt;center&amp;gt;0&amp;lt;/center&amp;gt;|&amp;lt;center&amp;gt;0&amp;lt;/center&amp;gt;|&amp;lt;center&amp;gt;X&amp;lt;/center&amp;gt;|&amp;lt;center&amp;gt;X&amp;lt;/center&amp;gt;|&amp;lt;center&amp;gt;X&amp;lt;/center&amp;gt;|&lt;br /&gt;
&lt;br /&gt;
02 (ships)|&amp;lt;center&amp;gt;0&amp;lt;/center&amp;gt;|&amp;lt;center&amp;gt;0&amp;lt;/center&amp;gt;|&amp;lt;center&amp;gt;X&amp;lt;/center&amp;gt;|&amp;lt;center&amp;gt;X&amp;lt;/center&amp;gt;|&amp;lt;center&amp;gt;X&amp;lt;/center&amp;gt;|&lt;br /&gt;
&lt;br /&gt;
03 (aircraft)|&amp;lt;center&amp;gt;0&amp;lt;/center&amp;gt;|&amp;lt;center&amp;gt;0&amp;lt;/center&amp;gt;|&amp;lt;center&amp;gt;X&amp;lt;/center&amp;gt;|&amp;lt;center&amp;gt;X&amp;lt;/center&amp;gt;|&amp;lt;center&amp;gt;X&amp;lt;/center&amp;gt;|&lt;br /&gt;
&lt;br /&gt;
08 (general sprites)|&amp;lt;center&amp;gt;X&amp;lt;/center&amp;gt;|&amp;lt;center&amp;gt;X&amp;lt;/center&amp;gt;|&amp;lt;center&amp;gt;*&amp;lt;/center&amp;gt;|&amp;lt;center&amp;gt;*&amp;lt;/center&amp;gt;|&amp;lt;center&amp;gt;-&amp;lt;/center&amp;gt;|&lt;br /&gt;
&lt;br /&gt;
0B (cargos)|&amp;lt;center&amp;gt;-&amp;lt;/center&amp;gt;|&amp;lt;center&amp;gt;-&amp;lt;/center&amp;gt;|&amp;lt;center&amp;gt;X&amp;lt;/center&amp;gt;|&amp;lt;center&amp;gt;X&amp;lt;/center&amp;gt;|&amp;lt;center&amp;gt;X&amp;lt;/center&amp;gt;|see below||&lt;br /&gt;
&lt;br /&gt;
0 = unsafe, the IDs may change when loading game&lt;br /&gt;
&lt;br /&gt;
X = safe to use&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt; = safe but useless&lt;br /&gt;
&lt;br /&gt;
- = do not use&lt;br /&gt;
&lt;br /&gt;
For newcargos, IDs 00..1F refer to the cargo IDs themselves (e.g. ID 0B is available in the temperate climate, and 0C..1F in all climates), whereas IDs 20..3F refer to the bit number from prop. 08 plus 20 (e.g. ID 2D, being bit number 0D=fruit, is available in all climates except tropical). You need to check and mark both ID types for correct operation.&lt;/div&gt;</summary>
		<author><name>Orudge</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=ReadingPatchVariables&amp;diff=778</id>
		<title>ReadingPatchVariables</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=ReadingPatchVariables&amp;diff=778"/>
		<updated>2011-06-12T19:23:30Z</updated>

		<summary type="html">&lt;p&gt;Orudge: 7 revisions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
=Reading Patch variables=&lt;br /&gt;
&lt;br /&gt;
-=Introduction=-&lt;br /&gt;
&lt;br /&gt;
Since 2.0.1 alpha 48, it has been possible to use action D to read various special Patch variables. These are usually switch values, but there are also a few other useful values.&lt;br /&gt;
&lt;br /&gt;
-=Format=-&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; -+&amp;amp;lt;Sprite-number&amp;amp;gt; * &amp;amp;lt;Length&amp;amp;gt; 0D &amp;amp;lt;target&amp;amp;gt; &amp;amp;lt;operation&amp;amp;gt; &amp;amp;lt;variable&amp;amp;gt; FE FF FF 00 00+-&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
||&#039;&#039;&#039;Element&#039;&#039;&#039;|[[GRFActionsDetailed|&#039;&#039;&#039;Size&#039;&#039;&#039;]]|&#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
0D|B|Defines action 0D&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;target&amp;amp;gt;|B|Target parameter&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;operation&amp;amp;gt;|B|As for ActionD, but only assignment is valid.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;variable&amp;amp;gt;|B|Patch variable number to read. See below.&lt;br /&gt;
&lt;br /&gt;
FE|B|Defines a special variable access&lt;br /&gt;
&lt;br /&gt;
FF FF 00 00|D|Indicates that a patch variable is being read||&lt;br /&gt;
&lt;br /&gt;
==variable==&lt;br /&gt;
&lt;br /&gt;
The following patch variables are defined:&lt;br /&gt;
&lt;br /&gt;
||variable|Switch|Value&lt;br /&gt;
&lt;br /&gt;
00|miscmods/-Yo|Bit switch&lt;br /&gt;
&lt;br /&gt;
01|experimentalfeatures/-XF|Bit switch&lt;br /&gt;
&lt;br /&gt;
02|morevehicles/-x|Vehicle array multiplier&lt;br /&gt;
&lt;br /&gt;
03|mountains&amp;amp;amp;curves;/-mc|Two bytes with four sets of two bits&lt;br /&gt;
&lt;br /&gt;
04|planecrashcontrol/-Xc|Bit switch&lt;br /&gt;
&lt;br /&gt;
05|autorenew/-Xa|Signed value&lt;br /&gt;
&lt;br /&gt;
06|multihead/-M|Speed increase, in percent&lt;br /&gt;
&lt;br /&gt;
07|disasters/-XD|Bit switch&lt;br /&gt;
&lt;br /&gt;
08|unifiedmaglev/-XM|Unified maglev mode&lt;br /&gt;
&lt;br /&gt;
09|bridgespeedlimits/-XX|Speed fraction, in percent&lt;br /&gt;
&lt;br /&gt;
0A|---|TTD Language, see the &amp;amp;quot;new scheme&amp;amp;quot; for [[Action4#language_id|action 4]]&lt;br /&gt;
&lt;br /&gt;
0B|startyear/-XY|Year-1920&lt;br /&gt;
&lt;br /&gt;
0C|morebuildoptions/-YB|Bit switch&lt;br /&gt;
&lt;br /&gt;
0D|moresteam/-YM|value=LF (two hex digits), L=length, F=frequency&lt;br /&gt;
&lt;br /&gt;
0E|freighttrains/-Yf|weight factor&lt;br /&gt;
&lt;br /&gt;
0F|wagonspeedlimits/-YL|Speed increase for empty wagons&lt;br /&gt;
&lt;br /&gt;
10|planespeed/-YP|speed factor&lt;br /&gt;
&lt;br /&gt;
11|dual company colors|2CC colormap base sprite (since r1404)&lt;br /&gt;
&lt;br /&gt;
12|miscmods2/-Zm|Bit switch (since r1738)&lt;br /&gt;
&lt;br /&gt;
13|map size information|Format = -MABXYSS (since r11961 and r1817)&lt;br /&gt;
&lt;br /&gt;
| | M &amp;amp;nbsp;: the type of map&lt;br /&gt;
&lt;br /&gt;
| |bit 0 set : squared map. Clear : rectangular map&lt;br /&gt;
&lt;br /&gt;
| |bit 1 set &amp;amp;nbsp; : Y is the bigger edge(bit 0 is clear).Clear : X is the bigger edge.&lt;br /&gt;
&lt;br /&gt;
| |A &amp;amp;nbsp;: minimum edge(log2) of the map&lt;br /&gt;
&lt;br /&gt;
| |B &amp;amp;nbsp;: maximum edge(log2) of the map&lt;br /&gt;
&lt;br /&gt;
| |XY : edges(log2) of each side of the map.&lt;br /&gt;
&lt;br /&gt;
| |SS : combination of both X and Y, thus giving the size(log2) of the map&lt;br /&gt;
&lt;br /&gt;
| |All map sizes will be substracted by 6, as to keep the size 64 the smallest one, thus zero based||&lt;br /&gt;
&lt;br /&gt;
If experimentalfeatures, miscmods, or miscmods2 are off, the corresponding value will be zero. For all other switches, the value is unspecified if the switch is off, so [[TTDPatchFlags|action 7 variable 85]] should be checked first.&lt;/div&gt;</summary>
		<author><name>Orudge</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=ReadingOtherGRFParameters&amp;diff=770</id>
		<title>ReadingOtherGRFParameters</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=ReadingOtherGRFParameters&amp;diff=770"/>
		<updated>2011-06-12T19:23:29Z</updated>

		<summary type="html">&lt;p&gt;Orudge: 3 revisions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Reading another GRF file&#039;s parameters&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Reading another GRF file&#039;s parameters==&lt;br /&gt;
&lt;br /&gt;
-=Introduction=-&lt;br /&gt;
&lt;br /&gt;
Since 2.0.1 alpha 16, it has been possible to use action D to read the parameters of other GRF files. With this, you can try to use the settings for another related GRF before falling back to a hard coded default.&lt;br /&gt;
&lt;br /&gt;
-=Format=-&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; -+&amp;amp;lt;Sprite-number&amp;amp;gt; * &amp;amp;lt;Length&amp;amp;gt; 0D &amp;amp;lt;target&amp;amp;gt; &amp;amp;lt;operation&amp;amp;gt; &amp;amp;lt;param&amp;amp;gt; FE &amp;amp;lt;grfid&amp;amp;gt;+-&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
||&#039;&#039;&#039;Element&#039;&#039;&#039;|[[GRFActionsDetailed|&#039;&#039;&#039;Size&#039;&#039;&#039;]]|&#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
0D|B|Defines action 0D&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;target&amp;amp;gt;|B|Target parameter&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;operation&amp;amp;gt;|B|As for [[ActionD#operation|action D]], but only assignment is valid.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;param&amp;amp;gt;|B|Parameter number of the other GRF file that you want to read&lt;br /&gt;
&lt;br /&gt;
FE|B|Defines a special variable access&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;grfid&amp;amp;gt;|D|The GRFID whose parameter you want to read||&lt;br /&gt;
&lt;br /&gt;
This will store parameter &amp;amp;lt;param&amp;amp;gt; of the GRF file with grfid &amp;amp;lt;grfid&amp;amp;gt; into the &amp;amp;lt;target&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
With parameter FE you can read the action 14 NewGRF version of another NewGRF in OpenTTD. It returns 0 if no NewGRF version has been set by an action 14.&lt;br /&gt;
&lt;br /&gt;
If the GRF ID cannot be found, or if the parameter is not defined, a value of 0 is used instead (no matter whether bit 7 of the operation is set or not).&lt;/div&gt;</summary>
		<author><name>Orudge</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=TTDPatchFlags&amp;diff=766</id>
		<title>TTDPatchFlags</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=TTDPatchFlags&amp;diff=766"/>
		<updated>2011-06-12T19:23:29Z</updated>

		<summary type="html">&lt;p&gt;Orudge: 15 revisions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;TTDPatch Flags for Action 7/9 Variable 85&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=TTDPatch Flags for Action 7/9 Variable 85=&lt;br /&gt;
&lt;br /&gt;
Additional Information&lt;br /&gt;
&lt;br /&gt;
In the table below you find all the TTDPatch flags that belong to &amp;amp;lt;-+Param-num+-&amp;amp;gt; = 85 in Action 7 &amp;amp; Action 9.&lt;br /&gt;
&lt;br /&gt;
||&#039;&#039;&#039;Bit&#039;&#039;&#039;|&#039;&#039;&#039;Switch (bit set = switch on)&#039;&#039;&#039;|&#039;&#039;&#039;Correspondence in OpenTTD&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
0C|keepsmallairport|station.never_expire_airports&lt;br /&gt;
&lt;br /&gt;
0D|newairports|1&lt;br /&gt;
&lt;br /&gt;
0E|largestations|1&lt;br /&gt;
&lt;br /&gt;
0F|longbridges|construction.longbridges&lt;br /&gt;
&lt;br /&gt;
10|loadtime|0&lt;br /&gt;
&lt;br /&gt;
12|presignals|1&lt;br /&gt;
&lt;br /&gt;
13|extpresignals|1&lt;br /&gt;
&lt;br /&gt;
16|enginespersist|vehicles.never_expire_vehicles&lt;br /&gt;
&lt;br /&gt;
1B|multihead|1&lt;br /&gt;
&lt;br /&gt;
1D|lowmemory|1&lt;br /&gt;
&lt;br /&gt;
1E|generalfixes|1&lt;br /&gt;
&lt;br /&gt;
27|moreairports|economy.station_noise_level&lt;br /&gt;
&lt;br /&gt;
28|mammothtrains|1&lt;br /&gt;
&lt;br /&gt;
29|trainrefit|1&lt;br /&gt;
&lt;br /&gt;
2B|subsidiaries|0&lt;br /&gt;
&lt;br /&gt;
2C|gradualloading|order.gradual_loading&lt;br /&gt;
&lt;br /&gt;
32|(Set to bit 0 of unifiedmaglev mode)|1 (n/a)&lt;br /&gt;
&lt;br /&gt;
33|(Set to bit 1 of unifiedmaglev mode)|1 (n/a)&lt;br /&gt;
&lt;br /&gt;
34|bridgespeedlimits|1&lt;br /&gt;
&lt;br /&gt;
36|eternalgame|1&lt;br /&gt;
&lt;br /&gt;
37|newtrains|1&lt;br /&gt;
&lt;br /&gt;
38|newrvs|1&lt;br /&gt;
&lt;br /&gt;
39|newships|1&lt;br /&gt;
&lt;br /&gt;
3A|newplanes|1&lt;br /&gt;
&lt;br /&gt;
3B|signalsontrafficside|construction.signal_side&lt;br /&gt;
&lt;br /&gt;
3C|electrifiedrailway|vehicle.disable_elrails&lt;br /&gt;
&lt;br /&gt;
41 *|loadallgraphics|1&lt;br /&gt;
&lt;br /&gt;
43|semaphores|1&lt;br /&gt;
&lt;br /&gt;
4A|newobjects (since r2364)|1&lt;br /&gt;
&lt;br /&gt;
4B|enhancegui|0&lt;br /&gt;
&lt;br /&gt;
4C|newagerating|0&lt;br /&gt;
&lt;br /&gt;
4D|buildonslopes|construction.build_on_slopes&lt;br /&gt;
&lt;br /&gt;
4E|fullloadany|1&lt;br /&gt;
&lt;br /&gt;
4F|planespeed|1&lt;br /&gt;
&lt;br /&gt;
50 *|moreindustriesperclimate|0&lt;br /&gt;
&lt;br /&gt;
51|moretoylandfeatures|0&lt;br /&gt;
&lt;br /&gt;
52|newstations|1&lt;br /&gt;
&lt;br /&gt;
53|tracktypecostdiff|1&lt;br /&gt;
&lt;br /&gt;
54|manualconvert|1&lt;br /&gt;
&lt;br /&gt;
55|buildoncoasts|construction.build_on_slopes&lt;br /&gt;
&lt;br /&gt;
56|canals|1&lt;br /&gt;
&lt;br /&gt;
57|newstartyear|1&lt;br /&gt;
&lt;br /&gt;
58|freighttrains|vehicle.freight_trains &amp;amp;gt; 1&lt;br /&gt;
&lt;br /&gt;
59|newhouses|1&lt;br /&gt;
&lt;br /&gt;
5A|newbridges|1&lt;br /&gt;
&lt;br /&gt;
5B|newtownnames|1&lt;br /&gt;
&lt;br /&gt;
5C|moreanimation|1&lt;br /&gt;
&lt;br /&gt;
5D|wagonspeedlimits|vehicle.wagon_speed_limits&lt;br /&gt;
&lt;br /&gt;
5E|newshistory|1&lt;br /&gt;
&lt;br /&gt;
5F|custombridgeheads|0&lt;br /&gt;
&lt;br /&gt;
60|newcargodistribution|0&lt;br /&gt;
&lt;br /&gt;
61|windowsnap|1&lt;br /&gt;
&lt;br /&gt;
62|townbuildnoroads|not (economy.allow_town_roads or _generating_world)&lt;br /&gt;
&lt;br /&gt;
63|pathbasedsignalling|1&lt;br /&gt;
&lt;br /&gt;
64|aichoosechances|0&lt;br /&gt;
&lt;br /&gt;
65|resolutionwidth|1&lt;br /&gt;
&lt;br /&gt;
66|resolutionheight|1&lt;br /&gt;
&lt;br /&gt;
67|newindustries|1&lt;br /&gt;
&lt;br /&gt;
68|fifoloading|order.improved_load&lt;br /&gt;
&lt;br /&gt;
69|townroadbranchprob|0&lt;br /&gt;
&lt;br /&gt;
6A|tempsnowline|0&lt;br /&gt;
&lt;br /&gt;
6B|newcargos|1&lt;br /&gt;
&lt;br /&gt;
6C|enhancemultiplayer|1&lt;br /&gt;
&lt;br /&gt;
6D|onewayroads|1&lt;br /&gt;
&lt;br /&gt;
6E|irregularstations|1&lt;br /&gt;
&lt;br /&gt;
6F|morestatistics|1&lt;br /&gt;
&lt;br /&gt;
70|newsounds|1&lt;br /&gt;
&lt;br /&gt;
71|autoreplace|1&lt;br /&gt;
&lt;br /&gt;
72|autoslope|1&lt;br /&gt;
&lt;br /&gt;
73|followvehicle|0&lt;br /&gt;
&lt;br /&gt;
74|trams|1&lt;br /&gt;
&lt;br /&gt;
75|enhancetunnels|0&lt;br /&gt;
&lt;br /&gt;
76|shortrvs|1&lt;br /&gt;
&lt;br /&gt;
77|articulatedrvs|1&lt;br /&gt;
&lt;br /&gt;
78|dynamicengines|vehicle.dynamic_engines, since r12924&lt;br /&gt;
&lt;br /&gt;
7E|variablerunningcosts (since r1421)|1&lt;br /&gt;
&lt;br /&gt;
7F|set if any switches are on|1||&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;* loadallgraphics is obsolete (and its bit unused) since revision 401. The next official versions were the 5/Jun/2006 nightly (402) and 2.5 beta 6 (472)&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt; moreindustriesperclimate is obsolete (and its bit unused) since 2.5 beta 2.&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>Orudge</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=Callbacks&amp;diff=750</id>
		<title>Callbacks</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=Callbacks&amp;diff=750"/>
		<updated>2011-06-12T19:23:29Z</updated>

		<summary type="html">&lt;p&gt;Orudge: 16 revisions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;List of available callbacks&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=Callbacks=&lt;br /&gt;
&lt;br /&gt;
{maketoc}&lt;br /&gt;
&lt;br /&gt;
A callback is a special action 2 that the patch &amp;amp;quot;calls&amp;amp;quot; in order to modify various features, an example being the visual effect of train vehicles. &amp;amp;nbsp;See the [[CallbacksTut|callback tutorial]] on how to use them.&lt;br /&gt;
&lt;br /&gt;
In the final action 2 of a chain of variational action 2s, the second byte of the matching entry has to have bit 7 set to identify it as a callback result. (Previously, it was required that the second byte be FF, but now only bit 7 needs to be set.)&lt;br /&gt;
&lt;br /&gt;
For example, 04 00 is not a callback result (but it may be the ID of another chained action 2), whereas 04 80 is a callback result with a value of 4. &amp;amp;nbsp;For some callbacks, 15 bit results are possible, in which case the upper 7 bits are stored in the second byte. &amp;amp;nbsp;For example, 54 C2 is a callback result with a value of 4254=16980, where again the second byte has bit 7 set, changing the 42 into C2.&lt;br /&gt;
&lt;br /&gt;
For compatibility with earlier patch versions, FF in the high byte is taken to mean the same thing as 80, so 04 FF also has a callback result of 4. &amp;amp;nbsp;Note that if your grf file needs to be compatible with versions before 2.0.1 alpha 40, you must set the high byte to FF, and so can use only 8 bit results.&lt;br /&gt;
&lt;br /&gt;
== List of callbacks==&lt;br /&gt;
&lt;br /&gt;
The following callbacks are defined by the patch. &amp;amp;nbsp;The number of the callback is what will be stored in variable 0C so that you can return the right results if you have several callbacks. &amp;amp;nbsp;All callbacks are explained in more detail below.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;PLEASE NOTE:&#039;&#039;&#039; Since TTDPatch 2.5 beta 5, the size of variable 0C has changed, and now there are word-sized callback numbers as well. To maintain backwards compatibility, only callbacks 10..3F can be checked using a byte-sized check. Callbacks 140 and above, on the other hand, must be checked using a word or dword sized check, to make sure they are identified uniquely.&lt;br /&gt;
&lt;br /&gt;
||Number|Feature(s)|Meaning&lt;br /&gt;
&lt;br /&gt;
10|Vehicles|Visual effect and wagon power&lt;br /&gt;
&lt;br /&gt;
11|Vehicles|Wagon length&lt;br /&gt;
&lt;br /&gt;
12|Vehicles|Load amount&lt;br /&gt;
&lt;br /&gt;
13|Stations|Station availability&lt;br /&gt;
&lt;br /&gt;
14|Stations|Use callback to select sprite layout&lt;br /&gt;
&lt;br /&gt;
15|Vehicles|Set refitted capacity&lt;br /&gt;
&lt;br /&gt;
16|Trains|Build articulated engines&lt;br /&gt;
&lt;br /&gt;
17|Houses|House construction check&lt;br /&gt;
&lt;br /&gt;
18|Several (G*)|AI construction/purchase selection&lt;br /&gt;
&lt;br /&gt;
19|Vehicles|Cargo sub-type display&lt;br /&gt;
&lt;br /&gt;
1A|Houses|Next animation frame&lt;br /&gt;
&lt;br /&gt;
1B|Houses|Animation control&lt;br /&gt;
&lt;br /&gt;
1C|Houses|Construction stage changes&lt;br /&gt;
&lt;br /&gt;
1D|Trains|Can wagon be attached&lt;br /&gt;
&lt;br /&gt;
1E|Houses|Decide colour of building&lt;br /&gt;
&lt;br /&gt;
1F|Houses|Cargo acceptance&lt;br /&gt;
&lt;br /&gt;
20|Houses|Length of animation frame&lt;br /&gt;
&lt;br /&gt;
21|Houses|Trigger building destruction&lt;br /&gt;
&lt;br /&gt;
22|Industries|Availability&lt;br /&gt;
&lt;br /&gt;
23|Vehicles|Additional text in purchase screen&lt;br /&gt;
&lt;br /&gt;
24|Stations|Custom station layout&lt;br /&gt;
&lt;br /&gt;
25|Industry tiles|Animation control&lt;br /&gt;
&lt;br /&gt;
26|Industry tiles|Next animation frame&lt;br /&gt;
&lt;br /&gt;
27|Industry tiles|Length of animation frame&lt;br /&gt;
&lt;br /&gt;
28|Industries|Industry location permissibility&lt;br /&gt;
&lt;br /&gt;
29|Industries|Random production change&lt;br /&gt;
&lt;br /&gt;
2A|Houses|Get accepted cargo types&lt;br /&gt;
&lt;br /&gt;
2B|Industry tiles|Decide cargo acceptance&lt;br /&gt;
&lt;br /&gt;
2C|Industry tiles|Get accepted cargo types&lt;br /&gt;
&lt;br /&gt;
2D|Vehicles|Select colour mapping for vehicle&lt;br /&gt;
&lt;br /&gt;
2E|Houses|Custom cargo production&lt;br /&gt;
&lt;br /&gt;
2F|Industry tiles|Custom shape check&lt;br /&gt;
&lt;br /&gt;
30|Industry tiles|Decide drawing default foundations&lt;br /&gt;
&lt;br /&gt;
31|Vehicles|Start/stop check&lt;br /&gt;
&lt;br /&gt;
32|Vehicles|32-day callback&lt;br /&gt;
&lt;br /&gt;
33|Several|Sound effect callback&lt;br /&gt;
&lt;br /&gt;
34|Vehicles (G*)|Autoreplace vehicle selection&lt;br /&gt;
&lt;br /&gt;
35|Industries|Monthly random production change&lt;br /&gt;
&lt;br /&gt;
36|Vehicles|Change vehicle Properties&lt;br /&gt;
&lt;br /&gt;
37|Industries|Cargo sub-type display&lt;br /&gt;
&lt;br /&gt;
38|Industries|Show additional text in fund window&lt;br /&gt;
&lt;br /&gt;
39|Cargoes|Custom profit calculation&lt;br /&gt;
&lt;br /&gt;
3A|Industries|Show additional text in industry window&lt;br /&gt;
&lt;br /&gt;
3B|Industries|Control special effects&lt;br /&gt;
&lt;br /&gt;
3C|Industry tiles|Disable autosloping&lt;br /&gt;
&lt;br /&gt;
3D|Industries|Opt out of accepting cargo&lt;br /&gt;
&lt;br /&gt;
40..13F| |--Reserved--&lt;br /&gt;
&lt;br /&gt;
140|Stations|Animation control&lt;br /&gt;
&lt;br /&gt;
141|Stations|Next animation frame&lt;br /&gt;
&lt;br /&gt;
142|Stations|Length of animation frame&lt;br /&gt;
&lt;br /&gt;
143|Houses|Protect building conditionally&lt;br /&gt;
&lt;br /&gt;
144|Sounds (G*)|Ambient sound effects&lt;br /&gt;
&lt;br /&gt;
145|Cargoes|Custom station rating calculation&lt;br /&gt;
&lt;br /&gt;
146|New Signals (G*)|New signals sprite drawing|&lt;br /&gt;
&lt;br /&gt;
147|Canals|Add sprite offset&lt;br /&gt;
&lt;br /&gt;
148|Houses|Watched cargo accepted&lt;br /&gt;
&lt;br /&gt;
149|Stations|Land slope check&lt;br /&gt;
&lt;br /&gt;
14A|Industries|Decide industry color&lt;br /&gt;
&lt;br /&gt;
14B|Industries|Decide input cargo types&lt;br /&gt;
&lt;br /&gt;
14C|Industries|Decide output cargo types&lt;br /&gt;
&lt;br /&gt;
14D|Houses|Customized building name&lt;br /&gt;
&lt;br /&gt;
14E|Houses|Decide drawing default foundations&lt;br /&gt;
&lt;br /&gt;
14F|Houses|Disable autosloping&lt;br /&gt;
&lt;br /&gt;
150|Airport tiles|Decide drawing default foundations&lt;br /&gt;
&lt;br /&gt;
152|Airport tiles|Animation control (OpenTTD &amp;amp;gt; r19197)&lt;br /&gt;
&lt;br /&gt;
153|Airport tiles|Next Animation frame (OpenTTD &amp;amp;gt; r19197)&lt;br /&gt;
&lt;br /&gt;
154|Airport tiles|Length of animation frame (OpenTTD &amp;amp;gt; r19197)&lt;br /&gt;
&lt;br /&gt;
155|Airports|Extra information about airport layout in the build gui (OpenTTD &amp;amp;gt; r20372)&lt;br /&gt;
&lt;br /&gt;
156|Airports|Airport layout name (OpenTTD &amp;amp;gt; r20373)&lt;br /&gt;
&lt;br /&gt;
157|Objects|Land slope check&lt;br /&gt;
&lt;br /&gt;
158|Objects|Next animation frame&lt;br /&gt;
&lt;br /&gt;
159|Objects|Animation control&lt;br /&gt;
&lt;br /&gt;
15A|Objects|Length of animation frame&lt;br /&gt;
&lt;br /&gt;
15B|Objects|Decide colour of building&lt;br /&gt;
&lt;br /&gt;
15C|Objects|Show additional text in building window&lt;br /&gt;
&lt;br /&gt;
15D|Objects|Disable autosloping||&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt; Generic callbacks are called for the feature, not any specific vehicle ID. Read the [[Action3#n%2Did|Action 3]] entry on how to define these.&lt;br /&gt;
&lt;br /&gt;
==Visual effect and wagon power (10)==&lt;br /&gt;
&lt;br /&gt;
This callback is used to determine the visual effect to use for a vehicle and whether a train wagon is powered (adding power and weight to the train).&lt;br /&gt;
&lt;br /&gt;
The &#039;powered wagon&#039;-flag only applies for train wagons that would by default be powered (i.e. property 1B is set).&lt;br /&gt;
&lt;br /&gt;
The visual effect applies to all train vehicles (since OpenTTD r21238 for road vehicles and ships as well).&lt;br /&gt;
&lt;br /&gt;
The callback is only called when loading a game, when the train reverses, or when rearranging the train in a depot.&lt;br /&gt;
&lt;br /&gt;
In OpenTTD the &#039;visual effect&#039; is also updated when the vehicle enters track of a different railtype. The &#039;powered wagon&#039;-flag may not change in that case.&lt;br /&gt;
&lt;br /&gt;
If the callback fails for any reason (e.g. not defined, action 2 does not return callback result etc.), the value of the corresponding action 0 property ( [[Action0Trains#Visual_effects_and_wagon_power_22_|train property 22]], [[Action0RoadVehicles#Visual_effect_21_|road vehicle property 21]], [[Action0Ships#Visual_effect_1C_|ship property 1C]] ) is used instead. &amp;amp;nbsp;For possible return values, refer to these properties as well.&lt;br /&gt;
&lt;br /&gt;
==Wagon length callback (11)==&lt;br /&gt;
&lt;br /&gt;
This callback is used instead of [[Action0Trains#Shorter_train_vehicles_21_|property 21]] whenever the train leaves a depot or is displayed inside a depot. If the callback fails, the value of property 21 is used instead.&lt;br /&gt;
&lt;br /&gt;
Road vehicles do not have a property for this purpose. If the callback fails, a length of 8/8 is used.&lt;br /&gt;
&lt;br /&gt;
The callback result may change only when whole vehicle chain is inside a depot.&lt;br /&gt;
&lt;br /&gt;
==Load amount callback (12)==&lt;br /&gt;
&lt;br /&gt;
This callback is used instead of [[Action0General#Load_amount|property 07]] when loading a game or rearranging a train in a depot (or when buying other vehicles). If the callback fails, the value of property 07 is used instead.&lt;br /&gt;
&lt;br /&gt;
Note: For aircraft carrying both passengers and mail this callback is broken (wrt. mail) in TTDP and OTTD before r14672.&lt;br /&gt;
&lt;br /&gt;
Since OTTD r14672 the callback is called for passengers and for mail. The mail compartment behaves like a wagon attached to a train engine. I.e. to read general variables of the aircraft you have to use varaction2 type 82/86/8A (related object), as most variables are not valid for the mail compartment.&lt;br /&gt;
&lt;br /&gt;
Finally to distinguish the passenger and the mail part you can use variable 47 or even 40.&lt;br /&gt;
&lt;br /&gt;
==Station availability callback (13)==&lt;br /&gt;
&lt;br /&gt;
This sets whether a station can be constructed or not, i.e. whether it can be selected in the station construction window. &amp;amp;nbsp;A non-zero callback return indicates the station can be built, and a return code of zero removes the station from the selection.&lt;br /&gt;
&lt;br /&gt;
==Station sprite layout (14)==&lt;br /&gt;
&lt;br /&gt;
Callback 14 selects an entry from the sprite layout (set by [[Action0Stations#Sprite_layout_09_|prop. 09]] or the default if unset), and if its return value is invalid then the sprite layout given from the tile type will be used. &amp;amp;nbsp;You can use this to have more than 4 different sprite sets to choose from.&lt;br /&gt;
&lt;br /&gt;
Bit 0 (station orientation) of the return value is ignored, and instead set to bit 0 of the actual tile, so that you do not have to check the orientation explicitly and return the two corresponding values, instead just organize the layouts such that even numbers correspond to X orientation (NE-SW) and odd numbers corresponding to Y orientation (NW-SE).&lt;br /&gt;
&lt;br /&gt;
The effect is like having additional tile types that are however not actually built, but only show different graphics depending on this callback.&lt;br /&gt;
&lt;br /&gt;
==Refitted capacity callback (15)==&lt;br /&gt;
&lt;br /&gt;
This callback is used when a vehicle is refitted, to find the new capacity. It is a 15 bit callback since 2.0.1 alpha 40, and allows return values up to 7EFF=32511 units of cargo.&lt;br /&gt;
&lt;br /&gt;
Vehicle variable B9 (for a variational action 2) will be set to the new, climate-specific cargo type (column 3, type B in the [[CargoTypes|cargo type list]]), or to FF when only checking whether the vehicle is refittable.&lt;br /&gt;
&lt;br /&gt;
Unlike regular refitted capacities (including those from callback 36), the return value is not subject to the usual division of capacities for cargoes other than passengers on trains and planes, instead the capacity is used exactly as returned by the callback. See also the summary page about &amp;amp;nbsp;[[VehicleRefitting|vehicle refitting]].&lt;br /&gt;
&lt;br /&gt;
==Articulated engine callback (16)==&lt;br /&gt;
&lt;br /&gt;
This allows building articulated engines or wagons, i.e. vehicles made from several individual vehicles. &amp;amp;nbsp;If this callback is in use, additional vehicles will be added until the callback returns FF.&lt;br /&gt;
&lt;br /&gt;
The callback return is interpreted as the ID of the vehicle to add. &amp;amp;nbsp;If 80 is added to the ID, the vehicle will be reversed (as if Ctrl was held while bought).&lt;br /&gt;
&lt;br /&gt;
Note that since the train is not yet built, you cannot use train variables in action 2. Instead, use variable 10 (extra callback info 1), which is set to 01 for the first articulated part, 02 for the second and so on.&lt;br /&gt;
&lt;br /&gt;
If more than the first vehicle contains cargo, the callback must work in the buy menu as well. (This is only supported since 2.5 beta 8.) &amp;amp;nbsp;This means that it will be called with cargo type FF in the action 3. Otherwise, the cargo amount shown in the buy menu will only be for the first part of the articulated vehicle.&lt;br /&gt;
&lt;br /&gt;
In OpenTTD the cargo class of the first road vehicles is used to determine whether the vehicle can stop at bus or truck stops regardless of the capacity of the first vehicle. If the cargo class bit for passengers is set it can go to bus stops when the is not set it can go to truck stops. See also the page about &amp;amp;nbsp;[[VehicleRefitting|vehicle refitting]].&lt;br /&gt;
&lt;br /&gt;
==House construction check (17)==&lt;br /&gt;
&lt;br /&gt;
This callback is used to determine if the given building type can be built on a position. It should return a nonzero value to allow building and zero to cancel it.&lt;br /&gt;
&lt;br /&gt;
Since the building is not created yet, you can&#039;t use variables 40 and 41 (they return zero). You can use variable 42, 43, 44, 45 and all town variables, though. Since OpenTTD r19744 you can also access the random bits via RandomAction2 or variable 5F.&lt;br /&gt;
&lt;br /&gt;
Property 0A and 13 are checked even if the callback returns a nonzero value; they can cancel building as well.&lt;br /&gt;
&lt;br /&gt;
For multi-tile buildings, this callback is always called for the north tile type, but the position you can access through variables 40, 42 and 43 is not guaranteed to be the final position of the north tile. It is guaranteed, though, that if the building really gets built, one of its tiles will occupy that tile. So, for example, if you return zero for desert tiles, this neither means that your building won&#039;t occupy any desert tiles, nor that its north tile will be on a non-desert tile; it only means that at least one tile of the building will be on a non-desert tile. (e.g. it can still be built on the very edge of a desert) This restriction was removed in OTTD r13489, the callback is now called for the final position of the north tile.&lt;br /&gt;
&lt;br /&gt;
==AI construction/purchase selection (18)==&lt;br /&gt;
&lt;br /&gt;
This generic feature callback is called for various decisions when the AI is constructing a new route. For example, normally the AI has a hardcoded list of wagons for each cargo type, but with this callback you can make the selection depend on source and destination industries as well as service distance among other things.&lt;br /&gt;
&lt;br /&gt;
Since the vehicle hasn&#039;t been bought yet, you cannot use the usual 40+x or 80+x vehicle variables, instead you have the following:&lt;br /&gt;
&lt;br /&gt;
||Variable|Size|Content&lt;br /&gt;
&lt;br /&gt;
80|B|cargo type (climate specific, column 3, type B in the [[CargoTypes|cargo type list]])&lt;br /&gt;
&lt;br /&gt;
81|B|cargo type (climate independent, column 1, type A in the [[CargoTypes|cargo type list]])&lt;br /&gt;
&lt;br /&gt;
82|B|default selection&lt;br /&gt;
&lt;br /&gt;
83|B|source [[IndustryTypes|industry type]]. For new industries the substitute type is returned starting with OpenTTD r20108.&lt;br /&gt;
&lt;br /&gt;
84|B|destination [[IndustryTypes|industry type]]. For new industries the substitute type is returned starting with OpenTTD r20108.&lt;br /&gt;
&lt;br /&gt;
85|B|distance between source and destination, in (dx+dy)/2&lt;br /&gt;
&lt;br /&gt;
86|B|AI construction event&lt;br /&gt;
&lt;br /&gt;
87|B|Construction number; for wagons: number of wagon; for stations 0=source station, 1=destination station&lt;br /&gt;
&lt;br /&gt;
88|B|Station size in form NL; N=number of platforms, L=length&lt;br /&gt;
&lt;br /&gt;
40|D|xxxxxxTT, TT=cargo slot from cargo translation table or same as var.81 if no table, available since r1167/2.5b9||&lt;br /&gt;
&lt;br /&gt;
The callback will be called for following construction events, stored in variable 86:&lt;br /&gt;
&lt;br /&gt;
||Group|Feature|Var.86|Type|Description&lt;br /&gt;
&lt;br /&gt;
Trains|00|00|Check|Regular rail engine&lt;br /&gt;
&lt;br /&gt;
| |01|Check|Electric rail engine&lt;br /&gt;
&lt;br /&gt;
| |02|Check|Monorail engine&lt;br /&gt;
&lt;br /&gt;
| |03|Check|Maglev engine&lt;br /&gt;
&lt;br /&gt;
| |08|Get|Regular rail wagon&lt;br /&gt;
&lt;br /&gt;
| |09|Get|Electric rail wagon&lt;br /&gt;
&lt;br /&gt;
| |0A|Get|Monorail wagon&lt;br /&gt;
&lt;br /&gt;
| |0B|Get|Maglev wagon&lt;br /&gt;
&lt;br /&gt;
| |0F|Get|Track type to build&lt;br /&gt;
&lt;br /&gt;
Road Vehicles|01|00|Check|Road vehicle&lt;br /&gt;
&lt;br /&gt;
| |01|Get|First road vehicle ID to try&lt;br /&gt;
&lt;br /&gt;
| |02|Get|Number of road vehicles to try&lt;br /&gt;
&lt;br /&gt;
Ships|02|00|Check|Ship&lt;br /&gt;
&lt;br /&gt;
| |01|Get|First ship ID to try&lt;br /&gt;
&lt;br /&gt;
| |02|Get|Number of ships to try&lt;br /&gt;
&lt;br /&gt;
Aircraft|03|00|Check|Aircraft&lt;br /&gt;
&lt;br /&gt;
Stations|04|00|Get|Station ID||&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
*&amp;amp;quot;Check&amp;amp;quot; means to check if it should try to buy this vehicle (with ID in var.82). Return 00 to disallow purchase, or a non-zero value to allow it. If allowed, the computer will buy the highest-cost (or AI rank for train engines) vehicle it can find that is available and has high enough reliability.&lt;br /&gt;
*&amp;amp;quot;Get&amp;amp;quot; means to find out which ID (etc.) to use. The default in var.82 is what it will use if the callback fails.&lt;br /&gt;
*For train engines and aircraft, the AI always checks all available engines.&lt;br /&gt;
*For road vehicles and ships, the AI has a built-in list of vehicles to try, you can use callback event 01 and 02 to change that list.&lt;br /&gt;
*For trains, the track types (0=regular, 1=electric, 2=monorail, 3=maglev) are automatically mapped as appropriate depending on the electrifiedrailways/unifiedmaglev switches. For best results, assume that all four are available. The game will then use the correct one if it is not available.&lt;br /&gt;
&lt;br /&gt;
This callback is &amp;amp;quot;chained&amp;amp;quot;, i.e. if a result is not a callback result (high bit is not set), then the request is passed on to the previous generic callback handler, i.e. they are checked in reverse order. This makes it possible to leave certain decisions to the previous handler and allows some cooperation between several .grf files.&lt;br /&gt;
&lt;br /&gt;
==Cargo Subtype Display (19)==&lt;br /&gt;
&lt;br /&gt;
This callback allows you to display some text after the cargo name when refitting, and in the vehicle capacity display. This is useful to distinguish several subtypes of a certain cargo, e.g. goods could be cars, petroleum, sheet metal etc.&lt;br /&gt;
&lt;br /&gt;
The return value must be the number of a D0xx string set by an action 4 in the same .grf file. &amp;amp;nbsp;For example, if you set text ID D006 to some text, return 06 in this callback will make it displayed after the cargo name.&lt;br /&gt;
&lt;br /&gt;
Normally, you would use the vehicle refit cycle/sub type variable F2 to distinguish the various subtypes. &amp;amp;nbsp;During refitting, the callback is called with successively increased values of variable F2, until the callback returns FF. &amp;amp;nbsp;All the returned variations are then displayed as refitting options, with all options that have the same cargo type and callback result (irrespective of refit cycle) grouped together in the same line.&lt;br /&gt;
&lt;br /&gt;
==Next animation frame (1A/26/141/153/158)==&lt;br /&gt;
&lt;br /&gt;
Called in every animation frame, this callback returns the number of the next frame to display. Additionally, it can return these special values:&lt;br /&gt;
&lt;br /&gt;
||Value|Meaning&lt;br /&gt;
&lt;br /&gt;
FF|stop animation. The current frame stays on screen until the animation is restarted.&lt;br /&gt;
&lt;br /&gt;
FE|continue with next frame as usual. You can return this for stages where you don&#039;t want to do anything special.||&lt;br /&gt;
&lt;br /&gt;
From TTDPatch 2.5 beta 2, you can ask for random bits in variable 10. To enable this, set bit 3 of property 19 for houses, bit 0 of property 12 for industry tiles, or bit 2 of property 13 for stations.&lt;br /&gt;
&lt;br /&gt;
Additionally all animation callbacks also allow to trigger sound effects as described in [[Callbacks#Watched_cargo_accepted_148_|Callback 148]].&lt;br /&gt;
&lt;br /&gt;
==Animation control (1B/25/140/152/159)==&lt;br /&gt;
&lt;br /&gt;
Called periodically, in a time interval specified in property 16 (houses) or when an animation trigger happens (industry tiles and stations). Returns the number of the frame the animation should jump to, or one of the following special values:&lt;br /&gt;
&lt;br /&gt;
||Value|Meaning&lt;br /&gt;
&lt;br /&gt;
FF|stop animation in its current frame&lt;br /&gt;
&lt;br /&gt;
FE|start animation with its current frame&lt;br /&gt;
&lt;br /&gt;
FD|leave the animation in its current state (do nothing)||&lt;br /&gt;
&lt;br /&gt;
For multi-tile town buildings, [[Action0Houses#Extra_Flags_19_|property 19/bit 2]] modifies this callback slightly, see details there.&lt;br /&gt;
&lt;br /&gt;
For industry tiles and stations, the low byte of variable 18 contains the reason for the call, i.e. the bit number of the event from [[Action0IndustryTiles#Triggers_for_callback_25_11_|property 11]] or [[Action0Stations#Animation_triggers_18_|property 18]], accordingly.&lt;br /&gt;
&lt;br /&gt;
Unlike callback 1B, callbacks 25, 140 and 159 are always used when defined, no bit in the action 0 property needs to be set to activate them.&lt;br /&gt;
&lt;br /&gt;
Since TTDPatch 2.5 beta 2, this callback gets random bits in variable 10, to allow randomizing changes.&lt;br /&gt;
&lt;br /&gt;
For callback 1B, the exact randomness depends on bit 2 of property 19 (synchronized callback 1B). If the callback is synchronized, the high 16 bits will be the same for all tiles and the low 16 bits will be different for each tile. Otherwise, all 32 bits will be independent for each tile.&lt;br /&gt;
&lt;br /&gt;
For callback 25, the randomness depends on the type of the event. For triggers that happen for the whole industry (triggers 2, 3 and 4), the high 16 bits will be the same for all tiles, while the low 16 bits will be different. For other triggers, all 32 bits are independent.&lt;br /&gt;
&lt;br /&gt;
For callback 140, the high 16 bits are the same for all tiles triggered, while the low 16 bits are different for each tile.&lt;br /&gt;
&lt;br /&gt;
Additionally all animation callbacks also allow to trigger sound effects as described in [[Callbacks#Watched_cargo_accepted_148_|Callback 148]].&lt;br /&gt;
&lt;br /&gt;
==Construction stage changes (1C)==&lt;br /&gt;
&lt;br /&gt;
Called when the building changes its construction stage (during normal gameplay, that means exactly four times). Can return the same values as callback 1B. Variable 40 contains the new stage. You can return FF for stages that don&#039;t have animated graphics to save resources.&lt;br /&gt;
&lt;br /&gt;
==Watched cargo accepted (148)==&lt;br /&gt;
&lt;br /&gt;
Called when a cargo type specified in property 20 is accepted by a house tile, or to be more specific, in a station that has the house tile in its acceptance area. It will be called for each tile of a multi-tile building whenever a tile with property 20 accepts cargo. This means if more than one tile has cargoes specified in property 20, the callback can be called multiple times on the same tile in the same tick. The low word of variable 18 contains the offset of the trigger tile relative to the current tile; the low byte contains the X offset, the high byte the Y offset. (0 means it&#039;s the same tile, negative coordinates mean it&#039;s northward, positive southward.) With this, you can tell apart the callings within the same tick. The high word of variable 18 contains random bits, the bits are the same for each tile of multi-tile buildings. The return values can be the same as for callback 1B.&lt;br /&gt;
&lt;br /&gt;
Due to implementation details, up to 250 game ticks can pass between the actual acceptance and triggering this callback.&lt;br /&gt;
&lt;br /&gt;
This callback isn&#039;t available if the station2 structure isn&#039;t present - see the property 20 entry for more information.&lt;br /&gt;
&lt;br /&gt;
If any of the above animation callbacks return a nonzero value in the high byte, it will be interpreted as a sound effect number, and the corresponding sound effect will be played on the house tile.&lt;br /&gt;
&lt;br /&gt;
==Can wagon be attached (1D)==&lt;br /&gt;
&lt;br /&gt;
This callback is called for the train engine (i.e. from the engine&#039;s action 3) when attaching a new vehicle to the current train and determines whether it may in fact be attached to the train. The callback is always used when defined, no bit in the action 0 property needs to be set to activate it.&lt;br /&gt;
&lt;br /&gt;
You may use variational action 2s to check variables 40+x and 80+x. For var. action 2 type 81 (vehicle), they refer to variables of the wagon that is to be attached, not the engine it is being attached to, so you can check the wagon&#039;s properties like the cargo type to see whether it is appropriate for the given train engine.&lt;br /&gt;
&lt;br /&gt;
Var. action 2 type 82 (engine) refers to the engine the wagon is being attached to, starting from version 2.0.1 alpha 46. This allows you to for example find out the length of the train it is being attached to. In earlier patch versions, it refers to the engine of the source consist (or the wagon if the wagon is not attached to anything else), which was not really helpful.&lt;br /&gt;
&lt;br /&gt;
Return values:&lt;br /&gt;
&lt;br /&gt;
||Return|Meaning&lt;br /&gt;
&lt;br /&gt;
xx|Disallow attaching and use the D0xx text ID as second line of an error message,&lt;br /&gt;
&lt;br /&gt;
FD|Disallow attaching with the standard message (incompatible rail types)&lt;br /&gt;
&lt;br /&gt;
FE|Allow attaching&lt;br /&gt;
&lt;br /&gt;
FF|Allow attaching if the rail types match (default)||&lt;br /&gt;
&lt;br /&gt;
It you return FE, you would allow attaching for example a monorail wagon to a regular rail vehicle, so if that&#039;s not what you intend, return FF.&lt;br /&gt;
&lt;br /&gt;
==Building colour (1E)==&lt;br /&gt;
&lt;br /&gt;
Called to decide what colour mapping the building should use. Should return the number of the colour mapping to be used, for example, 775 for blue-&amp;amp;gt;dark blue mapping.&lt;br /&gt;
&lt;br /&gt;
This can be useful if you want something more complex than four random colours.&lt;br /&gt;
&lt;br /&gt;
From 2.0.1 alpha 67, you can return a value of col2*16+col1 plus bit 14 set, where col1 and col2 are two company colours. For example, a return value of 73 C0 uses col1=3=yellow and col2=7=dark green. If no two-company-colour maps have been installed, the colours from prop. 17 are used instead.&lt;br /&gt;
&lt;br /&gt;
Uses 15 return bits.&lt;br /&gt;
&lt;br /&gt;
==Cargo acceptance (1F)==&lt;br /&gt;
&lt;br /&gt;
Called to decide what the building tile can accept. Uses 15 return bits. The returned word should have the layout of Sgmp, where the letters mean the following:&lt;br /&gt;
&lt;br /&gt;
||Symbol|Meaning&lt;br /&gt;
&lt;br /&gt;
S|1 if the building should accept food/fizzy drinks instead of goods&lt;br /&gt;
&lt;br /&gt;
g|If S is 1, the food acceptance in 1/8 units&lt;br /&gt;
&lt;br /&gt;
|If S is 0, the goods acceptance in 1/8 units&lt;br /&gt;
&lt;br /&gt;
m|mail acceptance in 1/8 units&lt;br /&gt;
&lt;br /&gt;
p|passenger acceptance in 1/8 units||&lt;br /&gt;
&lt;br /&gt;
So, for example, giving the ID 8426h means &amp;amp;quot;4/8 goods, 2/8 mail, 6/8 passenger&amp;amp;quot;, while giving the ID 9205 means &amp;amp;quot;2/8 food, 5/8 passenger&amp;amp;quot;.&lt;br /&gt;
&lt;br /&gt;
If property 1E and/or callback 2A is used, the meaning changes slightly. In this case, p means the acceptance of the first cargo type given, m means the same for the second cargo type, and g is the same for the third cargo type, while S must be zero.&lt;br /&gt;
&lt;br /&gt;
==Length of animation frame (20/27/142/154/15A)==&lt;br /&gt;
&lt;br /&gt;
Called to decide how long the current animation frame should last. The value of the delay should be given in the same way as for property 1B/10/17. Decreasing the return value speeds the animation up instantly. Increasing, on the other hand, doesn&#039;t slow it down instantly: the actual duration of the current frame will be somewhere between the old and the new delays. The new delay is applied correctly for later frames.&lt;br /&gt;
&lt;br /&gt;
Note: This is one of the most time consuming callbacks as it is called for every animated tile every &amp;amp;asymp;30 milliseconds. For better performance try to avoid using it where reasonable, e.g. try to use only the properties and put multiple identical looking animation frames after each other.&lt;br /&gt;
&lt;br /&gt;
==Trigger building destruction (21)==&lt;br /&gt;
&lt;br /&gt;
Called periodically, in a time interval specified by property 16. If it returns a nonzero value, the building gets removed from the map as if the town decided to destroy it. You can use this for example to remove a historical building, since those cannot be normally removed by towns.&lt;br /&gt;
&lt;br /&gt;
==Industry availability (22)==&lt;br /&gt;
&lt;br /&gt;
Called when TTDPatch needs to know if a given industry type is available.&lt;br /&gt;
&lt;br /&gt;
Return zero to make your type available, or any nonzero value to disable it. This callback is intended for limiting your type as a whole, so you can&#039;t access any industry-specific variables, just the global ones. A good example for the use of this callback is a nuclear power plant that isn&#039;t allowed to appear before 1970.&lt;br /&gt;
&lt;br /&gt;
During this callback, variable 18 (extra callback info 2) can contain the following values:&lt;br /&gt;
&lt;br /&gt;
||Variable 18|Meaning&lt;br /&gt;
&lt;br /&gt;
0|TTD is generating a map and needs to know if your type can appear.&lt;br /&gt;
&lt;br /&gt;
1|TTD decided to build a new random industry during regular gameplay and needs to know if it can choose your type.&lt;br /&gt;
&lt;br /&gt;
2|The user tries to build/prospect for your industry via the new industry window. TTD needs to know if the player is allowed to do this.||&lt;br /&gt;
&lt;br /&gt;
==Additional text in purchase screen (23)==&lt;br /&gt;
&lt;br /&gt;
This callback is called when TTDPatch displays the vehicle stats of any vehicle in its purchase screen. The return value is the &amp;amp;quot;xx&amp;amp;quot; of a D0xx text ID to be shown below all other stats. The callback is always used when defined, no bit in the action 0 property needs to be set to activate it. As of r1908, text IDs D100..D3FF may also be returned.&lt;br /&gt;
&lt;br /&gt;
How many lines are available depends on the type of vehicle and its other properties, for instance the presence or absence of a &amp;amp;quot;refittable to&amp;amp;quot; line or powered wagons etc. Lines are wrapped automatically, or may be broken explicitly using the newline character 0D.&lt;br /&gt;
&lt;br /&gt;
If cargo FF (buy menu sprite) is handled explicitly for a vehicle, then the varaction 2 handling callback 23 must be in the buy menu varaction 2 chain.&lt;br /&gt;
&lt;br /&gt;
==Custom station layout (24)==&lt;br /&gt;
&lt;br /&gt;
After applying the values from station prop. 0E, this callback is used to further customize the tile layout.&lt;br /&gt;
&lt;br /&gt;
It is called once for every tile that is being built, and returns the new tile type to build in its place or to leave the tile as defined by prop. 0E or TTD&#039;s default if the callback fails. The only possible return values are 00, 02, 04 and 06. Their meaning is the same as in prop. 0E.&lt;br /&gt;
&lt;br /&gt;
Since the station hasn&#039;t yet been built, variables 40+x and 80+x are not available, instead variable 10 (extra callback info 1) contains the same information as variable 41 would contain. For the same reason, it uses the same cargo type in action 3 as the construction menu does (i.e., type FF if defined or else the default).&lt;br /&gt;
&lt;br /&gt;
This callback is used always and does not need setting a bit in the action 0 property to activate it.&lt;br /&gt;
&lt;br /&gt;
==Industry location permissibility (28)==&lt;br /&gt;
&lt;br /&gt;
Called to decide if the industry can be built on a given spot. Since the industry isn&#039;t built yet, you can only use a small subset of the data: you can access the data of the nearest town via action 2/type 82 without any problems, but action 2/type 81 will access different variables than it would normally access:&lt;br /&gt;
&lt;br /&gt;
||Variable|[[GRFActionsDetailed|&#039;&#039;&#039;Size&#039;&#039;&#039;]]|Meaning&lt;br /&gt;
&lt;br /&gt;
40+x| |Not accessible&lt;br /&gt;
&lt;br /&gt;
5F| |Since OpenTTD r19744: Random bits the industry starts with after construction. Accessible via RandomAction2 as well.&lt;br /&gt;
&lt;br /&gt;
60+x| |Only var. 62 and vars 64..68 can be used&lt;br /&gt;
&lt;br /&gt;
80|W|Coordinates of the selected position&lt;br /&gt;
&lt;br /&gt;
86|B|Number of the selected layout, according to property 0A&lt;br /&gt;
&lt;br /&gt;
87|B|Ground type of the selected spot (see [[VarAction2Canals|canal variable 81]] for details)&lt;br /&gt;
&lt;br /&gt;
88|B|Town zone of the selected spot (see [[VarAction2Houses#Town_zone_42_|house variable 42]] for details)&lt;br /&gt;
&lt;br /&gt;
89|B|Distance between the closest town and the selected position.&lt;br /&gt;
&lt;br /&gt;
8A|B|Height of the lowest corner of the tile (between 00h and 80h, one land height unit equals 8 units)&lt;br /&gt;
&lt;br /&gt;
8B|W|Distance to the closest water tile if property 1A bit 2 is clear (built on land); distance to the closest empty dry land tile if property 1A bit 2 is clear (built on water)&lt;br /&gt;
&lt;br /&gt;
8D|W|Square of the Euclidean distance between the closest town and the selected position&lt;br /&gt;
&lt;br /&gt;
8F|D|32 random bits (since r1816 and r11985)||&lt;br /&gt;
&lt;br /&gt;
Unless explicitly noted, distances are Manhattan distance, not Euclidean distance, ie. -+|x-x0|+|y-y0|+- instead of -+&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;sqrt[[Action11|Action 11]]. If the callback returns a failure code (not a callback result), the default TTD sound effect will be played. If the callback returns a sound number that is neither a TTD sound, nor a sound from action 11, nothing will be played.&lt;br /&gt;
&lt;br /&gt;
||Var. 10|Event&lt;br /&gt;
&lt;br /&gt;
1|Start sound, called when leaving a station or depot, take-off sound for planes&lt;br /&gt;
&lt;br /&gt;
2|Tunnel sound, called when vehicle enters tunnel&lt;br /&gt;
&lt;br /&gt;
3|Breakdown sound, called when vehicle breaks down (not for planes)&lt;br /&gt;
&lt;br /&gt;
4|Running sound, called once per engine tick, but no more than once per vehicle motion&lt;br /&gt;
&lt;br /&gt;
5|Touchdown sound, for planes only (obviously)&lt;br /&gt;
&lt;br /&gt;
6|Train visual effect generation (steam plume, diesel smoke, electric spark)&lt;br /&gt;
&lt;br /&gt;
7|Running sound, called every 16 engine ticks if in motion&lt;br /&gt;
&lt;br /&gt;
8|Stopped sound, called every 16 engine ticks if stopped (e.g. at signal/in station)&lt;br /&gt;
&lt;br /&gt;
9|Load/unload sound, called when consist loads or unloads cargo&lt;br /&gt;
&lt;br /&gt;
10|Bridge sound, called as generic feature 06 callback every time a consist moves on a bridge. Variables 40+x, 60+x and 80+x refer to the vehicle and bits 0..7 of variable 18 hold the bridge type||&lt;br /&gt;
&lt;br /&gt;
For the running sounds, it is advisable to check the [[VarAction2Vehicles#Motion_counter_46_|motion counter]] and to only return a successful sound effect number every so many vehicle motion ticks. This way, the sounds will be played more frequently the faster the train is. Alternatively, you can check the tick counter variable and play the sound effect every so many engine ticks, so that it is played at a constant rate, or, of course, switch between both modes depending on vehicle speed.&lt;br /&gt;
&lt;br /&gt;
Note that if the planespeed switch is active, planes move the given number of times per engine tick. This means that their motion counter increases faster than for other vehicles, and thus to get reliable sound effects you need to divide the motion counter by the planespeed setting (readable via [[ActionDSpecialVariables#Reading_patch_variables|action D]]) before checking the value.&lt;br /&gt;
&lt;br /&gt;
==Autoreplace vehicle selection (34)==&lt;br /&gt;
&lt;br /&gt;
This callback is called whenever an old vehicle needs replacing. It returns the vehicle IDs to upgrade the current vehicle to. The vehicle variables are available as usual to decide which IDs would be appropriate to upgrade to.&lt;br /&gt;
&lt;br /&gt;
The callback is repeatedly called, with the iteration number stored in variable 10. &amp;amp;nbsp;The .grf file should return all possible IDs one by one, with the best ones listed first. &amp;amp;nbsp;The patch will use the first vehicle from the list that is available to the player and has the required minimum reliability as set by the autoreplace switch, and abort the callback sequence at this point.&lt;br /&gt;
&lt;br /&gt;
The callback sequence is also aborted when the returned ID is equal to the current vehicle ID. This is to prevent downgrading, and so you must take care to always return the ID of the vehicle for which the callback is called at the appropriate place in the sequence.&lt;br /&gt;
&lt;br /&gt;
If the callback fails, i.e. if no suitable ID could be found by any of the callbacks in the generic chain, the vehicle is not upgraded, and is simply renewed instead. &amp;amp;nbsp;If an ID is available but the player lacks the cash to upgrade, the patch waits for the cash to become available instead of either picking a worse engine or renewing the vehicle.&lt;br /&gt;
&lt;br /&gt;
For trains, each engine head will be replaced by one vehicle of the new type. &amp;amp;nbsp;As such, it is advisable for only return &amp;amp;quot;compatible&amp;amp;quot; IDs for trains that require a particular construction or arrangement of engine heads.&lt;br /&gt;
&lt;br /&gt;
The callback is always used when defined, no bit in the action 0 property needs to be set to activate it.&lt;br /&gt;
&lt;br /&gt;
==Monthly random production change (35)==&lt;br /&gt;
&lt;br /&gt;
Works exactly the same way as callback 29, except that it&#039;s called every month, allowing more frequent production changes.&lt;br /&gt;
&lt;br /&gt;
==Change vehicle properties (36)==&lt;br /&gt;
&lt;br /&gt;
This common callback allows modification of certain properties of a vehicle for which there exists no specific callback (like CBs 10, 11, 12). The low byte of variable 10 holds the [[Action0|property]] number from Action 0.&lt;br /&gt;
&lt;br /&gt;
The following properties are supported:&lt;br /&gt;
&lt;br /&gt;
||Feature|Property|Minimum version|OpenTTD rev|&lt;br /&gt;
&lt;br /&gt;
Trains (00)|&#039;&#039;07 (Load amount)&#039;&#039;| - | - |&#039;&#039;Changeable via [[Callbacks#Load_amount_callback_12_|callback 12]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|09 (Speed)|2.5 beta 6|r9671|&lt;br /&gt;
&lt;br /&gt;
|0B (Power)|2.5 beta 6|r9671|&lt;br /&gt;
&lt;br /&gt;
|0D (Running cost factor)|2.6 rev 1420|r9671|&lt;br /&gt;
&lt;br /&gt;
|14 (Cargo capacity)|2.6 rev 1966|r9828|See also [[Callbacks#Refitted_capacity_callback_15_|callback 15]]&lt;br /&gt;
&lt;br /&gt;
|16 (Weight)|2.6 rev 1887|r9780|&lt;br /&gt;
&lt;br /&gt;
|17 (Cost factor)| |r9806|&lt;br /&gt;
&lt;br /&gt;
|1F (Tractive effort)|2.5 beta 6|r9671|&lt;br /&gt;
&lt;br /&gt;
|&#039;&#039;21 (Short wagons)&#039;&#039;| - | - |&#039;&#039;Changeable via [[Callbacks#Wagon_length_callback_11_|callback 11]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|&#039;&#039;22 (Visual effect &amp;amp; powered wagons)&#039;&#039;| - | - |&#039;&#039;Changeable via [[Callbacks#Visual_effect_and_wagon_power_10_|callback 10]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|25 (User data)|2.5 beta 6|r11431|&lt;br /&gt;
&lt;br /&gt;
Road Vehicles (01)|&#039;&#039;07 (Load amount)&#039;&#039;| - | - |&#039;&#039;Changeable via [[Callbacks#Load_amount_callback_12_|callback 12]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|09 (Running cost factor)| |r18011|&lt;br /&gt;
&lt;br /&gt;
|0F (Cargo capacity)| |r9828|See also [[Callbacks#Refitted_capacity_callback_15_|callback 15]]&lt;br /&gt;
&lt;br /&gt;
|11 (Cost factor)| |r9806|&lt;br /&gt;
&lt;br /&gt;
|13 (Power)| |r21058|&lt;br /&gt;
&lt;br /&gt;
|14 (Weight)| |r21058|&lt;br /&gt;
&lt;br /&gt;
|15 (Speed)| |r21100|&lt;br /&gt;
&lt;br /&gt;
|18 (Tractive effort)| |r21058|&lt;br /&gt;
&lt;br /&gt;
Ships (02)|&#039;&#039;07 (Load amount)&#039;&#039;| - | - |&#039;&#039;Changeable via [[Callbacks#Load_amount_callback_12_|callback 12]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|0A (Cost factor)| 2.6 rev 1990 |r9806|&lt;br /&gt;
&lt;br /&gt;
|0B (Speed)|2.5 beta 6|r9671|&lt;br /&gt;
&lt;br /&gt;
|0D (Cargo capacity)| 2.6 rev 1990 |r9828|See also [[Callbacks#Refitted_capacity_callback_15_|callback 15]]&lt;br /&gt;
&lt;br /&gt;
|0F (Running cost factor)| 2.6 rev 1510 |r9808|&lt;br /&gt;
&lt;br /&gt;
Planes (03)|&#039;&#039;07 (Load amount)&#039;&#039;| - | - |&#039;&#039;Changeable via [[Callbacks#Load_amount_callback_12_|callback 12]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|0B (Cost factor)| |r9806|&lt;br /&gt;
&lt;br /&gt;
|0C (Speed)|2.5 beta 6|r9671|&lt;br /&gt;
&lt;br /&gt;
|0E (Running cost factor)|2.6 r1507|r9678|&lt;br /&gt;
&lt;br /&gt;
|0F (Passenger capacity)| |r19218|See also [[Callbacks#Refitted_capacity_callback_15_|callback 15]]&lt;br /&gt;
&lt;br /&gt;
|11 (Mail capacity)| |r19218| ||&lt;br /&gt;
&lt;br /&gt;
Most properties will only change when the vehicle is bought, serviced (enters a depot), visits a station or on loading of a saved game. Other ones such as TE are called every time a TE calculation is run.&lt;br /&gt;
&lt;br /&gt;
If the callback fails, the corresponding value from the action 0 property will be used. The callback is always used when defined, no bit in the action 0 property needs to be set to activate it.&lt;br /&gt;
&lt;br /&gt;
Before r1758 (both 2.5 and 2.6), callback 36 was sometimes called with the 40+x and 80+x variables unavailable when they should have been available, or with not all 80+x variables properly initialized, causing some 40+x variables to be unsafe.&lt;br /&gt;
&lt;br /&gt;
About the capacity properties see also the summary page about &amp;amp;nbsp;[[VehicleRefitting|vehicle refitting]].&lt;br /&gt;
&lt;br /&gt;
==Cargo sub-type display for industries (37)==&lt;br /&gt;
&lt;br /&gt;
This callback allows you to display some text after the cargo name in the industry fund window and in industry windows. Just like callback 19, the return value must be the number of a D0xx string set by an action 4 in the same .grf file. Returning FFh causes no text to be displayed.&lt;br /&gt;
&lt;br /&gt;
During the callback, the lowest byte of var. 18 can have the following values:&lt;br /&gt;
&lt;br /&gt;
||Number|Meaning&lt;br /&gt;
&lt;br /&gt;
00|Return subtext for first accepted cargo type&lt;br /&gt;
&lt;br /&gt;
01|Return subtext for second accepted cargo type&lt;br /&gt;
&lt;br /&gt;
02|Return subtext for third accepted cargo type&lt;br /&gt;
&lt;br /&gt;
03|Return subtext for first produced cargo type&lt;br /&gt;
&lt;br /&gt;
04|Return subtext for second produced cargo type||&lt;br /&gt;
&lt;br /&gt;
Bits 8..15 of var. 18 can have the following values:&lt;br /&gt;
&lt;br /&gt;
||Number|Meaning&lt;br /&gt;
&lt;br /&gt;
00|The text is to be displayed in the industry fund window. The industry isn&#039;t built yet, so you can&#039;t access the industry variables&lt;br /&gt;
&lt;br /&gt;
01|The text is to be displayed in the window of the industry. You can use the industry variables here.&lt;br /&gt;
&lt;br /&gt;
02|The text is to be displayed in the industry directory window. You can use the industry variables here.&lt;br /&gt;
&lt;br /&gt;
other values|Reserved for future use||&lt;br /&gt;
&lt;br /&gt;
Other bits of var. 18 are reserved for future use.&lt;br /&gt;
&lt;br /&gt;
Since OpenTTD r17802, the contents of registers 100h..105h are copied onto the text reference stack.&lt;br /&gt;
&lt;br /&gt;
==Show additional text in fund/building window (38/15C)==&lt;br /&gt;
&lt;br /&gt;
This callback allows you to display extra information in the industry fund and object building windows. The return value should be the number of a D0xx text to be displayed. The text must begin with a colouring special character and should not be longer than three lines (automatic line breaks are provided, but you can use char 0D for a manual line break). Since the industry isn&#039;t built yet, you can&#039;t access any industry variables during this callback. Same holds for objects.&lt;br /&gt;
&lt;br /&gt;
Since OpenTTD r20086 and TTDPatch r2354, the contents of registers 100h..105h are copied onto the text reference stack.&lt;br /&gt;
&lt;br /&gt;
{cookie}&lt;br /&gt;
&lt;br /&gt;
==Custom profit calculation for cargoes (39)==&lt;br /&gt;
&lt;br /&gt;
This callback is called every time cargo is delivered to a station, to get how much income the player should get. The low word of var. 18 contains the distance of the transfer, byte 3 contains the amount of cargo moved and the highest byte contains the time spent en-route (a unit of time is +185 ticks, or ca. 2.5 days). The result should be a signed multiplier that gets multiplied by the amount of cargo moved and the price factor, then gets divided by 8192. Since the highest bit must always be set for a callback result, TTDPatch checks for the second highest bit (bit 14) for the sign. Returning a negative value means that the player has to pay for the transfer instead of getting money from it. For example, the maximum returnable value of 16383 means that the player gets twice the price factor for every unit.&lt;br /&gt;
&lt;br /&gt;
==Show additional text in industry window (3A)==&lt;br /&gt;
&lt;br /&gt;
This callback allows you to display extra information in the industry window about the state of your industry. The return value should be the number of a D0xx text to be displayed. The text must begin with a colouring special character and should not be longer than one line. For example, you can use this callback to display the current production limit of a secondary industry.&lt;br /&gt;
&lt;br /&gt;
Note that since r11987, OpenTTD allows resizing the window when this callback is enabled. &amp;amp;nbsp;It allows to specify a text containing more than one line.&lt;br /&gt;
&lt;br /&gt;
Since TTDPatch 2.6 r1370, the contents of registers 100h..105h are copied onto the text reference stack. This allows you to display dynamically calculated values in the text by using the according StringCodes. Please note, though, that the text handler will see it as an array of bytes, not as an array of DWORDs, so you will have to pack two words into a register when you use codes that read words from the stack. In the case of \7D (which gets a byte), you may have to pack more into a register, but it&#039;s probably easier to use \7C instead. Please also note that you can use \80 to display textIDs calculated on the fly, but DCxx textIDs won&#039;t work correctly. When you need to choose from your own texts dynamically, you must use D0xx IDs, and add 400h to them. (That is, use D400 to refer to D000, D401 for D001 etc.)&lt;br /&gt;
&lt;br /&gt;
==Control special industry effects (3B)==&lt;br /&gt;
&lt;br /&gt;
This callback allows you to control some aspects of the special effects enabled in property 1A. The lowest byte of variable 18 always contains the number of the special effect, which equals to the bit number being set in property 1A. Currently only effect 0 (plant fields periodically) and effect 1 (cut nearby trees periodically) are supported.&lt;br /&gt;
* For effect 0 you should return zero to avoid planting fields and any other value to plant a field. The callback is called every 256 ticks for a given industry. Variable 10 contains 32 random bits that can be used to randomize the behaviour. Industry variable AAh (word) can be used to make the plantings rarer, but please note that the low byte is always zero at this point. The default behaviour is giving 1/8 chance to plant a new field every 256 ticks.&lt;br /&gt;
* For effect 1 you should return zero to avoid cutting a tree and any other value to try cutting one. The callback is called every 256 ticks for a given industry. You don&#039;t get random values this case, but you can still use variable AAh; the low byte is always zero here as well. The default behaviour is trying to cut a tree every 512 ticks.&lt;br /&gt;
&lt;br /&gt;
==Disable autosloping (3C/14F/15D)==&lt;br /&gt;
&lt;br /&gt;
With this callback, you can prevent the autoslope feature from altering the ground below a house/industry/object tile. To allow altering the ground, return zero. Returning anything other than zero will disallow land modifications.&lt;br /&gt;
&lt;br /&gt;
==Opt out of accepting cargo (3D)==&lt;br /&gt;
&lt;br /&gt;
With this callback, the industry can refuse accepting a cargo even if it&#039;s one of the input cargo types. If there&#039;s another industry nearby that accepts this cargo, that one will get it.&lt;br /&gt;
&lt;br /&gt;
The lowest byte of var. 18 contains the ID of the cargo delivered. If your GRF has a cargo translation table installed, you will get the index from that table; otherwise, you will get the cargo bit associated with the cargo type. You must return zero if you don&#039;t want to accept the cargo, or 1 to accept it. Other return values are reserved for future use.&lt;br /&gt;
&lt;br /&gt;
This callback should be used in conjunction with callback 2B, since the acceptance of the tiles and the acceptance of the industry itself should always agree. If you disable accepting a cargo via callback 3D, but forget to remove the acceptance from the tiles, the station will keep accepting the cargo and the player will keep getting the money, but the industry won&#039;t receive the cargo. On the other hand, if you remove acceptance from the tiles, but forget using callback 3D, your industry may still get the cargo. (For example, there may be another industry nearby whose tiles accept the cargo. This makes the station accept the cargo, and send it to the nearest industry, which happens to be yours, even though its tiles don&#039;t accept the cargo.)&lt;br /&gt;
&lt;br /&gt;
==Protect building conditionally (143)==&lt;br /&gt;
&lt;br /&gt;
This callback is called when someone tries to remove the building from the map. You can use this callback to prevent the town or AI players from removing the building if certain conditions are met. You can return 0 to allow the destruction, or 1 to disallow it, except for human players, who can always remove any building.&lt;br /&gt;
&lt;br /&gt;
If you always return 1 from this callback, you achieve the same effect as turning on bit 1 of property 19. When this callback is enabled, bit 1 of property 19 is ignored. If the callback fails, the destruction is allowed.&lt;br /&gt;
&lt;br /&gt;
For multi-tile buildings, the callback will be called for the type of the tile the player wants to destroy. Therefore, to get consistent behaviour, you must enable this callback for every tile and respond it the same way no matter which tile it is called for.&lt;br /&gt;
&lt;br /&gt;
Since TTDPatch 2.6 r1705, you can use this callback to prevent building &amp;amp;quot;town&amp;amp;quot; industries (banks, water towers, etc.) over your house. The lowest byte of variable 10 is zero for &amp;amp;quot;normal&amp;amp;quot; demolition and one when TTD wants to remove the house for the sake of a new industry. Other values of variable 10 are reserved for future use.&lt;br /&gt;
&lt;br /&gt;
==Ambient sound effects (144)==&lt;br /&gt;
&lt;br /&gt;
This callback is a generic callback for feature 0C (new sounds) used for playing ambient sound effects.&lt;br /&gt;
&lt;br /&gt;
The 15-bit return value is the sound effect number. Values from 0 to 72 (dec) are TTD&#039;s built-in sound effects, values beyond that refer to the sounds from [[Action11|Action 11]].&lt;br /&gt;
&lt;br /&gt;
To decide whether to play a sound, and what sound to play, Var.Action 2 variable 10 holds the following information: THRRxxxt&lt;br /&gt;
&lt;br /&gt;
||Field|Meaning&lt;br /&gt;
&lt;br /&gt;
T|Tile class, 0=bare land, 4=trees, 6=water&lt;br /&gt;
&lt;br /&gt;
H|Height of north corner of tile&lt;br /&gt;
&lt;br /&gt;
RR|8 random bits&lt;br /&gt;
&lt;br /&gt;
xxx|Reserved&lt;br /&gt;
&lt;br /&gt;
t|Terrain type; &amp;amp;nbsp;0 normal (grass), 1 desert, 2 rainforest, 4 on or above snowline||&lt;br /&gt;
&lt;br /&gt;
This callback must be enabled by bit 4 in [[ActionD#Misc_GRF_Features_9E_|action D var 9E]].&lt;br /&gt;
&lt;br /&gt;
==Custom station rating calculation (145)==&lt;br /&gt;
&lt;br /&gt;
This callback allows you to modify part of the station cargo rating calculation for your cargo. To understand how to use it, you must first understand how the default rating calculation works:&lt;br /&gt;
&lt;br /&gt;
Internally, the station rating is stored in a byte, 0 meaning 0% and 255 meaning 100%. The rating is calculated as the sum of the following components:&lt;br /&gt;
* Time since the cargo was last picked up:&lt;br /&gt;
&lt;br /&gt;
||Time units (days)|Score (%, rounded)&lt;br /&gt;
&lt;br /&gt;
&amp;amp;gt;21 (&amp;amp;gt;52.5 days)|0 (0%)&lt;br /&gt;
&lt;br /&gt;
13..21 (32.5 days..52.5 days)|25 (10%)&lt;br /&gt;
&lt;br /&gt;
7..12 (17.5 days..32.5 days)|50 (20%)&lt;br /&gt;
&lt;br /&gt;
4..6 (10 days..17.5 days)|95 (37%)&lt;br /&gt;
&lt;br /&gt;
0..3 (0 days..10 days)|130 (51%)||&lt;br /&gt;
&lt;br /&gt;
The time unit used equals 185 engine ticks, or 2.5 TTD days. For ships, the time units are divided by 4 before calculating this component, so ships have four times more time before the ratings start dropping.&lt;br /&gt;
* Amount of cargo waiting:&lt;br /&gt;
&lt;br /&gt;
||Amount of cargo|Score (%, rounded)&lt;br /&gt;
&lt;br /&gt;
&amp;amp;gt;1500|-90 (-35%)&lt;br /&gt;
&lt;br /&gt;
1001..1500|-35 (-14%)&lt;br /&gt;
&lt;br /&gt;
601..1000|0 (0%)&lt;br /&gt;
&lt;br /&gt;
301..600|10 (4%)&lt;br /&gt;
&lt;br /&gt;
101..300|30 (12%)&lt;br /&gt;
&lt;br /&gt;
0..100|40 (16%)||&lt;br /&gt;
* Max. speed of the last vehicle picking up the cargo:&lt;br /&gt;
&lt;br /&gt;
This calculation is somewhat complicated. The maximum speed of the vehicle is expressed in &amp;amp;quot;speed units&amp;amp;quot;. For trains and road vehicles, the speed unit is 1 km/h; for ships, it&#039;s 0.5 km/h; for aircraft, it&#039;s 8 mph. If the max. speed is above 255 speed units, 255 is used instead. If the vehicle is slower than 85 units, no points are awarded; otherwise, you get (speed_units-85)/4 points. Therefore, the maximum you can get is 42 points, or 16%.&lt;br /&gt;
* Age of the last carrier picking up the cargo:&lt;br /&gt;
&lt;br /&gt;
The original calculation goes like this:&lt;br /&gt;
&lt;br /&gt;
||Age of vehicle (years)|Score (%, rounded)&lt;br /&gt;
&lt;br /&gt;
2|10 (4%)&lt;br /&gt;
&lt;br /&gt;
1|20 (8%)&lt;br /&gt;
&lt;br /&gt;
0|33 (13%)||&lt;br /&gt;
&lt;br /&gt;
If the newagerating switch is turned on, the calculation changes. You get 33 points for vehicles younger than 5 years, and get 0 points for vehicles older than 21 years. Between these two ages, score drops slowly, by 2 points per year.&lt;br /&gt;
* Bonus for AI companies&lt;br /&gt;
&lt;br /&gt;
||AI intelligence setting|Score (%, rounded)&lt;br /&gt;
&lt;br /&gt;
Low|0 (0%)&lt;br /&gt;
&lt;br /&gt;
Medium|31 (12%)&lt;br /&gt;
&lt;br /&gt;
High|63 (25%)||&lt;br /&gt;
&lt;br /&gt;
That is, AI players cheat to get good ratings for their brain-dead routes.&lt;br /&gt;
* Bonus for statue in nearest town&lt;br /&gt;
&lt;br /&gt;
If your company has erected a statue in the nearest town, you get 26 points (10%) bonus to all cargo ratings.&lt;br /&gt;
&lt;br /&gt;
If a human player does everything perfectly, the maximum rating she can get is 271 points, while the worst possible transport service gets -90 points; for &amp;amp;quot;highly intelligent&amp;amp;quot; AI players, the corresponding values are 334 and -27, respectively. The resulting value gets clamped to the 0..255 range. TTD makes sure the ratings change slowly, but steadily: every 2.5 days, the actual rating moves towards the value calculated above, by no more than 2 points. For example, you &#039;d need at least 320 days to go from 0% to 100%, even if your service is perfect. When a cargo type first appears at a station, its rating is set to 175 points (69%), so it takes some time until it gets adjusted to the actual parameters of the service.&lt;br /&gt;
&lt;br /&gt;
The callback allows you to replace the first three components (days since last pickup, amount waiting and max. speed of last vehicle) in the calculation above. If your callback succeeds, the first three components are skipped and the returned value is used instead their results. Bit 14 is considered the sign bit, so you can return negative numbers (and need not to worry about calculated callback results yielding a negative result, as long as you stay in the range -16384..16383). During the callback, variable 18 has the value ssaaaatt, where&lt;br /&gt;
* tt is the time since the cargo was last picked up, in the time units described above (1 unit = 2.5 days independent of vehicle type)&lt;br /&gt;
* aaaa is the amount of cargo waiting&lt;br /&gt;
* ss is the speed of the last vehicle picking the cargo up, in the speed units described above (if no vehicle entered the station yet, the value is FFh)&lt;br /&gt;
&lt;br /&gt;
The lowest byte of variable 10 contains one of the following values:&lt;br /&gt;
&lt;br /&gt;
||value|meaning&lt;br /&gt;
&lt;br /&gt;
10h|the last vehicle entering the station was a train&lt;br /&gt;
&lt;br /&gt;
11h|the last vehicle entering the station was a road vehicle&lt;br /&gt;
&lt;br /&gt;
12h|the last vehicle entering the station was a ship&lt;br /&gt;
&lt;br /&gt;
13h|the last vehicle entering the station was an aircraft&lt;br /&gt;
&lt;br /&gt;
00h|no vehicle entered the station yet, or the last one entering was sold||&lt;br /&gt;
&lt;br /&gt;
Please note that there&#039;s only one &amp;amp;quot;last vehicle&amp;amp;quot; field per station, so the vehicle this refers to may not have picked up any of your cargo. The original TTD calculation doesn&#039;t care about this and just uses the field to get the vehicle type used in the first component.&lt;br /&gt;
&lt;br /&gt;
Currently, you can only use variables 10 and 18 for your decision, since neither vehicle nor station variables are available for a cargo callback. As soon as the architecture of TTDPatch allows this, the callback will be given access to the station and the last vehicle that entered.&lt;br /&gt;
&lt;br /&gt;
==New signals sprite drawing callback (146)==&lt;br /&gt;
&lt;br /&gt;
This is a generic callback, and thus a generic action 3 must be used. It must be processed by a variational action 2 feature 0E, as indicated in the following link: [[VarAction2NewSignals]].&lt;br /&gt;
&lt;br /&gt;
==Add sprite offset callback (147)==&lt;br /&gt;
&lt;br /&gt;
Add an offset to the default sprite number to be drawn.&lt;br /&gt;
&lt;br /&gt;
||Feature|Accessible Variables&lt;br /&gt;
&lt;br /&gt;
Canals|80+x variables are accessible by Canals. See [[VarAction2Canals]]||&lt;br /&gt;
&lt;br /&gt;
The default number is accessible in variable 10 (extra callback info 1) to decide if the sprite number needs an offset.&lt;br /&gt;
&lt;br /&gt;
==Land slope check (149/157)==&lt;br /&gt;
&lt;br /&gt;
This callback is called for each tile where the new station part will be built. It can return zero to accept the current tile or one to make the station building fail with the &amp;amp;quot;Land sloped in wrong direction&amp;amp;quot; error message. Other return values are reserved for future use, don&#039;t use them for now.&lt;br /&gt;
&lt;br /&gt;
Since the station isn&#039;t built yet, no 8x variables can be accessed. Only variables 43 and 67 will work from the 4x and 6x variables. You get the following information, though:&lt;br /&gt;
* variable 18:&lt;br /&gt;
&lt;br /&gt;
||bit numbers|Meaning&lt;br /&gt;
&lt;br /&gt;
0..7|offset of current tile on the platform, 0 is the northmost tile&lt;br /&gt;
&lt;br /&gt;
8..15|bits 8..15: current platform number, 0 is the northmost platform&lt;br /&gt;
&lt;br /&gt;
16..23|total length of station being built&lt;br /&gt;
&lt;br /&gt;
24..31|total number of platforms being built||&lt;br /&gt;
* variable 10:&lt;br /&gt;
&lt;br /&gt;
||bit numbers|Meaning&lt;br /&gt;
&lt;br /&gt;
4..7|Slope info of the current tile:~pp~&lt;br /&gt;
&lt;br /&gt;
bit 7 - N corner is elevated&lt;br /&gt;
&lt;br /&gt;
bit 6 - E corner is elevated&lt;br /&gt;
&lt;br /&gt;
bit 5 - S corner is elevated&lt;br /&gt;
&lt;br /&gt;
bit 4 - W corner is elevated~/pp~&lt;br /&gt;
&lt;br /&gt;
0..3|the same information, but &amp;amp;quot;mirrored&amp;amp;quot; (bit 0 and 2 swapped) if the station is built in the NW-SE orientation. This allows you to check slopes without checking the orientation explicitly.&lt;br /&gt;
&lt;br /&gt;
other bits|reserved for future use||&lt;br /&gt;
&lt;br /&gt;
The callback is called only after the normal checks TTD does for slopes, so it&#039;s not possible&lt;br /&gt;
&lt;br /&gt;
to allow a slope that isn&#039;t allowed by default; you can only narrow the set of allowed slopes. If the callback fails, the tile will be accepted. It is, however, called for flat tiles, so you can force your station to sloped land. You can&#039;t access the station info even if the platform is added to an existing rail station or is overbuilding station tiles. That&#039;s because TTD will decide this later in the code, after the slope is already accepted.&lt;br /&gt;
&lt;br /&gt;
This is called if available just before object construction, it does not require that any flags be set in the action0.&lt;br /&gt;
&lt;br /&gt;
Please note that for Objects only the low byte of variable 18 is valid (Offset from north tile (origin), stored as YX) and that variable 10 does not have the reversed version, and bits 0 - 3 contain the actual raised corners (same order as bits 4 - 7).&lt;br /&gt;
&lt;br /&gt;
==Decide industry colour (14A)==&lt;br /&gt;
&lt;br /&gt;
This callback is called when the industry is being constructed, to override the selected colour of the industry (variable A8). This colour will be used for tile sprites that request recolouring, but don&#039;t supply a recolour sprite number. The following industry variables aren&#039;t yet filled and contain random junk: 86..87, 93, 9E..A1, A9. (You probably wouldn&#039;t need to read anything but 86..87 anyway, since these fields contain information about the past, and the industry doesn&#039;t yet have a past.) Industry tiles aren&#039;t placed yet, either.&lt;br /&gt;
&lt;br /&gt;
Variables A7 and A8 are filled, however, and provide useful information. Variable A7 contains the number of the funder company, or 10h if the industry wasn&#039;t funded. Variable A8 contains the number of the colour scheme randomly picked by TTD, it&#039;s between 0 and 15. If you don&#039;t want to change the colour picked by default, you can either make the callback fail or just return variable A8 unchanged.&lt;br /&gt;
&lt;br /&gt;
Only the lowest four bits of the returned value are used, the other bits are reserved for future use. Those four bits are copied into variable A8 after the callback returns. You can either use industry variable 45 to get the company colour of the funder (if there&#039;s any), use a random action2 to select a random colour scheme from a given list, or of course decide on global variables like position or game year.&lt;br /&gt;
&lt;br /&gt;
==Decide input and output cargo types (14B,14C)==&lt;br /&gt;
&lt;br /&gt;
These callbacks are called when the industry is built, and allow customizing the input and output cargo types dynamically. Both callbacks are called repeatedly, with the lowest byte of variable 10 starting from zero and increasing after every call; you should return a cargo type each time, or FFh to terminate the list. (A failed callback terminates the list, too.) The same limitations apply as for callback 14A: industry tiles aren&#039;t yet placed, and some industry variables contain junk. You can use random action2s, however. The interpretation of the returned value depends on two factors: the current GRF version number and the presence of a cargo translation table:&lt;br /&gt;
&lt;br /&gt;
||GRF version|Has cargo translation table|Interpretation&lt;br /&gt;
&lt;br /&gt;
6 or below| |Climate-dependent cargo slot number&lt;br /&gt;
&lt;br /&gt;
7 or above|No|Cargo bit&lt;br /&gt;
&lt;br /&gt;
7 or above|Yes|Index in the translation table||&lt;br /&gt;
&lt;br /&gt;
Although currently callback 14B is called no more than three times, and callback 14C no more than twice, this may change between versions/implementations, to allow more input/output types. To be safe, you should return FFh as the last element even when you use all three input types or both output types.&lt;br /&gt;
&lt;br /&gt;
==House customized building name (14D)==&lt;br /&gt;
&lt;br /&gt;
This callback is activated from the Tile Description Query tool, when enquiring a house. &amp;amp;nbsp;Variable 10 will be set to 1 if the house is complete, otherwise it will be 0. &amp;amp;nbsp;The return value is the &amp;amp;quot;xx&amp;amp;quot; of a D0xx text ID. &amp;amp;nbsp;If the callback fails, the Query tool will use the house name set in property 12 (Building name ID).&lt;br /&gt;
&lt;br /&gt;
Since this callback is not performed frequently, you do not need to specify a mask. &amp;amp;nbsp;It will always be performed, and the name will only change when successful.&lt;br /&gt;
&lt;br /&gt;
Available for OpenTTD since r15172, and for TTDPatch since 2.6r2249&lt;br /&gt;
&lt;br /&gt;
==Extra information about airport layout in the build gui (155)==&lt;br /&gt;
&lt;br /&gt;
This callback allows you to display some extra text in the build airport gui. It should return a D0xx StringID. This callback is always called when available, you do not need to set a bit in any action0 property to enable it. Available for OpenTTD since r20272&lt;br /&gt;
&lt;br /&gt;
==Airport layout name (156)==&lt;br /&gt;
&lt;br /&gt;
This callback allows you to show a name for an airport layout. It should return a D0xx StringID. This callback is always called when available, you do not need to set a bit in any action0 property to enable it. Available for OpenTTD since r20273.&lt;br /&gt;
&lt;br /&gt;
==Decide object colour (15B)==&lt;br /&gt;
&lt;br /&gt;
This callback allows you to set/modify the colour of an object upon construction. Variable 10 contains the current company colour or a random colour for when there is no company, i.e. in the scenario editor. If the object wants a 2CC colour mapping two nibbles, i.e. two colours, are passed in variable 10, otherwise one nibble (colour).&lt;/div&gt;</summary>
		<author><name>Orudge</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=RandomAction2&amp;diff=733</id>
		<title>RandomAction2</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=RandomAction2&amp;diff=733"/>
		<updated>2011-06-12T19:23:28Z</updated>

		<summary type="html">&lt;p&gt;Orudge: 13 revisions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Randomized Action 2&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=Randomized Action 2=&lt;br /&gt;
&lt;br /&gt;
Defining a randomized choice between several action 2 entries&lt;br /&gt;
&lt;br /&gt;
-=Introduction=-&lt;br /&gt;
&lt;br /&gt;
Unlike variational action 2, whose results are always determined by a predictable decision, one can also use randomized results to pick one of several graphics sets.&lt;br /&gt;
&lt;br /&gt;
-=Format=-&lt;br /&gt;
&lt;br /&gt;
The data looks as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; -+&amp;amp;lt;Sprite-number&amp;amp;gt; * &amp;amp;lt;Length&amp;amp;gt; 02 &amp;amp;lt;feature&amp;amp;gt; &amp;amp;lt;set-id&amp;amp;gt; &amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;[80|83]&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt; &amp;amp;lt;random-triggers&amp;amp;gt; &amp;amp;lt;randbit&amp;amp;gt; &amp;amp;lt;nrand&amp;amp;gt; &amp;amp;lt;set-ids&amp;amp;gt;+-&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
From 2.6 r1850 and OpenTTD r12452, and &#039;&#039;&#039;for vehicles only&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; -+&amp;amp;lt;Sprite-number&amp;amp;gt; * &amp;amp;lt;Length&amp;amp;gt; 02 &amp;amp;lt;feature&amp;amp;gt; &amp;amp;lt;set-id&amp;amp;gt; 84 &amp;amp;lt;count&amp;amp;gt; &amp;amp;lt;random-triggers&amp;amp;gt; &amp;amp;lt;randbit&amp;amp;gt; &amp;amp;lt;nrand&amp;amp;gt; &amp;amp;lt;set-ids&amp;amp;gt;+-&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
||&#039;&#039;&#039;Element&#039;&#039;&#039;|[[GRFActionsDetailed|&#039;&#039;&#039;Size&#039;&#039;&#039;]]|&#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;Sprite-number&amp;amp;gt;|dec|A sequential sprite number&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;length&amp;amp;gt;|dec|The total number of bytes used in this action.&lt;br /&gt;
&lt;br /&gt;
02|B|Defines action 02&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;feature&amp;amp;gt;|B|For what type of vehicle/station/... should this definition be used?&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;set-id&amp;amp;gt;|B|The ID of this action 2 (used like a cargo ID)&lt;br /&gt;
&lt;br /&gt;
80&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;83&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;84|B|Type of random action, see below.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;count&amp;amp;gt;|B|(when present) Location of controlling vehicle.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;random-triggers&amp;amp;gt;|B|When to re-randomize&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;randbit&amp;amp;gt;|B|What random bit to use for this action 2&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;nrand&amp;amp;gt;|B|Number of set-ids to choose from, must be a power of 2&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;set-ids&amp;amp;gt;|W|Action 2 set-ids to choose from.||&lt;br /&gt;
&lt;br /&gt;
-=Filling in the terms=-&lt;br /&gt;
&lt;br /&gt;
===Sprite-number===&lt;br /&gt;
&lt;br /&gt;
This is just the number you are at.&lt;br /&gt;
&lt;br /&gt;
===Length===&lt;br /&gt;
&lt;br /&gt;
Count the number of bytes in this action.&lt;br /&gt;
&lt;br /&gt;
===feature===&lt;br /&gt;
&lt;br /&gt;
This sets the type of feature that you wish to change. Set it to:&lt;br /&gt;
&lt;br /&gt;
00 for trains&lt;br /&gt;
&lt;br /&gt;
01 for road vehicles&lt;br /&gt;
&lt;br /&gt;
02 for ships&lt;br /&gt;
&lt;br /&gt;
03 for planes&lt;br /&gt;
&lt;br /&gt;
04 for stations&lt;br /&gt;
&lt;br /&gt;
05 for canals&lt;br /&gt;
&lt;br /&gt;
07 for houses&lt;br /&gt;
&lt;br /&gt;
09 for industry tiles&lt;br /&gt;
&lt;br /&gt;
0A for industries&lt;br /&gt;
&lt;br /&gt;
0F for objects&lt;br /&gt;
&lt;br /&gt;
10 for rail types (available in OpenTTD &amp;amp;gt; r18969)&lt;br /&gt;
&lt;br /&gt;
===set-ID===&lt;br /&gt;
&lt;br /&gt;
This defines the number of this action 2. &amp;amp;nbsp;The ID can then be used as target in an action 3 or another variational/random action 2.&lt;br /&gt;
&lt;br /&gt;
===80/83/84===&lt;br /&gt;
&lt;br /&gt;
Use 80 to randomize the object (vehicle, station, building, industry, object) based on its own triggers and bits.&lt;br /&gt;
&lt;br /&gt;
Use 83 to randomize the object based on its &amp;amp;quot;related&amp;amp;quot; object (s.b.).&lt;br /&gt;
&lt;br /&gt;
Use 84 to randomize the vehicle based on any vehicle in the consist.&lt;br /&gt;
&lt;br /&gt;
||Feature|Related object&lt;br /&gt;
&lt;br /&gt;
Vehicles (00-03)|First vehicle of consist&lt;br /&gt;
&lt;br /&gt;
Stations (04)|N/A&lt;br /&gt;
&lt;br /&gt;
Houses (07)|N/A&lt;br /&gt;
&lt;br /&gt;
Industry tiles (09)|Industry containing tile&lt;br /&gt;
&lt;br /&gt;
Industries (0A)|N/A&lt;br /&gt;
&lt;br /&gt;
Objects (0F)|N/A||&lt;br /&gt;
&lt;br /&gt;
===count===&lt;br /&gt;
&lt;br /&gt;
For type 84, this specifies which vehicle&#039;s random bits this vehicle will be using and/or modifying.&lt;br /&gt;
&lt;br /&gt;
The low nibble (bits 0-3) specifies how far to count from the starting vehicle. If it is zero, the count will be read from GRF register 100h instead.&lt;br /&gt;
&lt;br /&gt;
The high nibble (bits 6-7, actually) specifies which vehicle is the starting vehicle, and which direction to count:&lt;br /&gt;
&lt;br /&gt;
||0|count back (away from the engine), starting at this vehicle&lt;br /&gt;
&lt;br /&gt;
4|count forward (toward the engine), starting at this vehicle.&lt;br /&gt;
&lt;br /&gt;
8|count back, starting at the engine&lt;br /&gt;
&lt;br /&gt;
C|count back, starting at the first vehicle in this chain of vehicles with the same ID, as for vehicle variable 41||&lt;br /&gt;
&lt;br /&gt;
Bits 4-5 are reserved and must be zero, so other values of the high nibble are not allowed.&lt;br /&gt;
&lt;br /&gt;
===random-triggers===&lt;br /&gt;
&lt;br /&gt;
This is a bit mask of triggers which cause re-randomizing. Normally, any matching trigger causes the graphics to be randomized again, but if you add 80 to the bitmask, the re-randomizing only happens if &#039;&#039;&#039;all&#039;&#039;&#039; triggers have occurred.&lt;br /&gt;
&lt;br /&gt;
Trigger bits are feature-specific, see below.&lt;br /&gt;
&lt;br /&gt;
===randbit===&lt;br /&gt;
&lt;br /&gt;
For versions before 2.0.1 alpha 30, leave this at 00. It doesn&#039;t quite work the way intended (it was supposed to allow independent random chains, but currently everything is re-randomized at the same time, thereby defeating this mechanism).&lt;br /&gt;
&lt;br /&gt;
Since 2.0.1 alpha 30, only those bits that actually get triggered will be re-randomized. &amp;amp;nbsp;Prior versions always re-randomized all bits. &amp;amp;nbsp;This will make it possible to have independent sets of bits for independent triggers (or untriggered bits, set only at the time of purchase). Setting randbit determines the first bit to be re-randomized, as well as basing the random graphics on. The total number of bits used is the 2-logarithm of nrand below (e.g., for nrand=16, 4 bits are used).&lt;br /&gt;
&lt;br /&gt;
===nrand===&lt;br /&gt;
&lt;br /&gt;
Number of different sets to choose from. &amp;amp;nbsp;This must be a power of 2, i.e. 2, 4, 8, 16 etc.&lt;br /&gt;
&lt;br /&gt;
===set-ids===&lt;br /&gt;
&lt;br /&gt;
Action 2 IDs to randomly choose from&lt;br /&gt;
&lt;br /&gt;
-=Triggers=-&lt;br /&gt;
&lt;br /&gt;
==Vehicles==&lt;br /&gt;
&lt;br /&gt;
Vehicles have 8 random bits, and the following triggers:&lt;br /&gt;
&lt;br /&gt;
||Bit|Value|Trigger&lt;br /&gt;
&lt;br /&gt;
0|01|Vehicle gets new load of cargo (only after it was empty)&lt;br /&gt;
&lt;br /&gt;
1|02|Vehicle enters a depot and is serviced&lt;br /&gt;
&lt;br /&gt;
2|04|The consist has unloaded all cargo&lt;br /&gt;
&lt;br /&gt;
3|08|Any vehicle of the consist receives cargo&lt;br /&gt;
&lt;br /&gt;
4|10|Callback 32 returned 1||&lt;br /&gt;
&lt;br /&gt;
The consist trigger bits 2 and 3 allow re-randomizing whenever the consist receives cargo after fully unloading. They should be used with action 2 type 80, not 83, and the random-triggers variable should have 80 added to it, to make the re-randomizing happen only if the consist was empty and &#039;&#039;&#039;then&#039;&#039;&#039; received new cargo.&lt;br /&gt;
&lt;br /&gt;
==Stations==&lt;br /&gt;
&lt;br /&gt;
Stations have 16+4 random bits. Bits 0 to 15 are a property of the station as a whole, and bits 16 to 19 are different for each tile. &amp;amp;nbsp;To get tile-based randomness, therefore use randbit=10 and nrand of no more than 16 (since only 4 random bits are available per tile).&lt;br /&gt;
&lt;br /&gt;
||Bit|Value|Trigger&lt;br /&gt;
&lt;br /&gt;
0|01|new cargo waiting&lt;br /&gt;
&lt;br /&gt;
1|02|no more cargo&lt;br /&gt;
&lt;br /&gt;
2|04|train arrives (starts unloading/loading)&lt;br /&gt;
&lt;br /&gt;
3|08|train leaves (done unloading &amp;amp; loading)&lt;br /&gt;
&lt;br /&gt;
4|10|train loads or unloads cargo&lt;br /&gt;
&lt;br /&gt;
5|20|train reserves platform (using PBS)||&lt;br /&gt;
&lt;br /&gt;
Also note that none of the above triggers will actually trigger unless prop. 12 has at least one bit set. &amp;amp;nbsp;Triggers 01 will be triggered for any of the cargo types set in prop. 12, but trigger 02 will only be triggered if all of those cargo types have no more cargo waiting. Triggers 04, 08 and 20 are triggered no matter what cargo types the train transports, as long as prop. 12 is not zero.&lt;br /&gt;
&lt;br /&gt;
Triggers 04, 08, 10 and 20 only affect the platform on which they occur, as well as the random bits of the station, but not other platforms.&lt;br /&gt;
&lt;br /&gt;
==Town building triggers==&lt;br /&gt;
&lt;br /&gt;
Town buildings have 8 random bits.&lt;br /&gt;
&lt;br /&gt;
||Bit|Value|Trigger&lt;br /&gt;
&lt;br /&gt;
0|01|the building tile is processed in the periodic tile processing loop&lt;br /&gt;
&lt;br /&gt;
1|02|the top tile of the building is processed in the periodic tile processing loop||&lt;br /&gt;
&lt;br /&gt;
The periodic tile processing loop constantly processes the tiles of the map, processing any given tile in every 256 ticks (approx. 3.5 TTD days). Since no &amp;amp;quot;real&amp;amp;quot; event happens to town buildings, you have only this opportunity to re-randomize the look of your building.&lt;br /&gt;
&lt;br /&gt;
If every 3.5 days is too fast for you, you can multiply the time-out by setting property 16 for the given tile. The time-out is 256 ticks*(prop. 16+1), so 0 means every 3.5 days, 1 means every 7 days, 2 means every 10.5 days and so on.&lt;br /&gt;
&lt;br /&gt;
If trigger 02 is activated, all parts of the building that has this trigger set will get the same random bits, allowing you to randomize a multi-tile building as one unit. On the other hand, if the tiles of a multi-tile building have trigger 1 set, all tiles will be randomized individually. Note that all tiles of a multi-tile building get the same value when building the building.&lt;br /&gt;
&lt;br /&gt;
==Industry tile triggers==&lt;br /&gt;
&lt;br /&gt;
Industry tiles have 8+16 random bits. &amp;amp;nbsp;Accessed through random action 2 type 80, you get 8 tile-specific bits, and accessed through random action 2 type 83, you get 16 industry-specific bits. &amp;amp;nbsp;The triggers are the same for both:&lt;br /&gt;
&lt;br /&gt;
||Bit|Value|Trigger&lt;br /&gt;
&lt;br /&gt;
0|01|the building tile is processed in the periodic tile processing loop&lt;br /&gt;
&lt;br /&gt;
1|02|triggers simultaneously for all tiles of the industry every 256 ticks. If the industry is a primary one, output cargo is generated at the same time.&lt;br /&gt;
&lt;br /&gt;
2|04|cargo is delivered to the industry. If the industry is a processing one, output cargo is generated at the same time.||&lt;br /&gt;
&lt;br /&gt;
Trigger 1 works similarly to trigger 1 for houses except that you cannot multiply the timeout: it&#039;s always 256 ticks.&lt;br /&gt;
&lt;br /&gt;
==Canals==&lt;br /&gt;
&lt;br /&gt;
Canals / Rivers have 8 random bits.&lt;br /&gt;
&lt;br /&gt;
There is currently no way to influence the random byte creation via triggers, internally the bits are feed from VarAction2Canals var 83 that is set when building a canal. Feature ids not supported by VarAction2Canals are undefined and should never be used.&lt;br /&gt;
&lt;br /&gt;
==Objects==&lt;br /&gt;
&lt;br /&gt;
Objects have around 8 random bits per tile of the object.&lt;br /&gt;
&lt;br /&gt;
There are no triggers for objects however.&lt;br /&gt;
&lt;br /&gt;
Also note that the random bits are unique to each tile in the object, and are not shared across the whole object.&lt;br /&gt;
&lt;br /&gt;
==Rail types==&lt;br /&gt;
&lt;br /&gt;
Rail tiles have 2 pseudo random bits, based on tile location.&lt;br /&gt;
&lt;br /&gt;
There are no triggers.&lt;br /&gt;
&lt;br /&gt;
==Other features==&lt;br /&gt;
&lt;br /&gt;
All features not mentioned in the list above have neither random bits nor triggers, including cities (which would be accessed using random action 2 type 83 for stations and industries).&lt;br /&gt;
&lt;br /&gt;
-=Example=-&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&#039;color:#808080&#039;&amp;gt;Something to go here&amp;lt;/span&amp;gt;&lt;/div&gt;</summary>
		<author><name>Orudge</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=VariationalAction2&amp;diff=719</id>
		<title>VariationalAction2</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=VariationalAction2&amp;diff=719"/>
		<updated>2011-06-12T19:23:28Z</updated>

		<summary type="html">&lt;p&gt;Orudge: 14 revisions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Variational Action 2&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=Variational Action 2=&lt;br /&gt;
&lt;br /&gt;
Defining a choice between several action 2 entries&lt;br /&gt;
&lt;br /&gt;
-=Introduction=-&lt;br /&gt;
&lt;br /&gt;
To support changes in graphics based on other factors than just the load states, you use a variational action 2. This provides a sophisticated way of deciding what graphics to use.&lt;br /&gt;
&lt;br /&gt;
A variational action 2 can be used like any other action 2, but it provides an additional step in-between: instead of defining the action 1 sets right away, it instead specifies a list of additional action 2 entry, one of which is used depending on the kind of variation that is defined. These action 2 entries that are referred can in turn be variational or random (to provide chains of decisions), or they can be the final element, that is a regular action 2 which contains definitions of action 1 sets, or a callback result.&lt;br /&gt;
&lt;br /&gt;
-=Format=-&lt;br /&gt;
&lt;br /&gt;
The data looks as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; -+&amp;amp;lt;Sprite-number&amp;amp;gt; * &amp;amp;lt;Length&amp;amp;gt; 02 &amp;amp;lt;feature&amp;amp;gt; &amp;amp;lt;set-id&amp;amp;gt; &amp;amp;lt;type&amp;amp;gt; &amp;amp;lt;variable&amp;amp;gt; &amp;amp;lt;varadjust&amp;amp;gt; &amp;amp;lt;nvar&amp;amp;gt; (&amp;amp;lt;set-id&amp;amp;gt; &amp;amp;lt;low-range&amp;amp;gt; &amp;amp;lt;high-range&amp;amp;gt;){n} &amp;amp;lt;default&amp;amp;gt;+-&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
||&#039;&#039;&#039;Element&#039;&#039;&#039;|[[GRFActionsDetailed|&#039;&#039;&#039;Size&#039;&#039;&#039;]]|&#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;Sprite-number&amp;amp;gt;|dec|A sequential sprite number&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;length&amp;amp;gt;|dec|The total number of bytes used in this action.&lt;br /&gt;
&lt;br /&gt;
02|B|Defines action 02&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;feature&amp;amp;gt;|B|For what type of vehicle/station should this definition be used?&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;set-id&amp;amp;gt;|B|The ID of this action 2 (used like a cargo ID)&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;type&amp;amp;gt;|B|Type of variational action 2, see below&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;variable&amp;amp;gt;|B|Which variable we base the decision on&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;varadjust&amp;amp;gt;|V|How to manipulate the value before deciding.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;nvar&amp;amp;gt;|B|Number of different ranges of the value (not counting the default)&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;set-id&amp;amp;gt;|W|Action 2 set-id to use for the following range.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;low-range&amp;amp;gt;|B/W/D|Minimum (inclusive) of the range for which to use the above set-id&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;high-range&amp;amp;gt;|B/W/D|Maximum (inclusive) of the range&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;default&amp;amp;gt;|W|Action 2 set-id to use if no range matches||&lt;br /&gt;
&lt;br /&gt;
You repeat the sequence of &amp;amp;lt;set-id&amp;amp;gt; &amp;amp;lt;low-range&amp;amp;gt; &amp;amp;lt;high-range&amp;amp;gt; as often as &amp;amp;lt;nvar&amp;amp;gt; specifies.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;low-range&amp;amp;gt; and &amp;amp;lt;high-range&amp;amp;gt; have a size of B, W, or D, depending on &amp;amp;lt;type&amp;amp;gt;. See that entry for more information.&lt;br /&gt;
&lt;br /&gt;
-=Filling in the terms=-&lt;br /&gt;
&lt;br /&gt;
===Sprite-number===&lt;br /&gt;
&lt;br /&gt;
This is just the number you are at.&lt;br /&gt;
&lt;br /&gt;
===Length===&lt;br /&gt;
&lt;br /&gt;
Count the number of bytes in this action.&lt;br /&gt;
&lt;br /&gt;
===feature===&lt;br /&gt;
&lt;br /&gt;
This sets the type of feature that you wish to change. Set it to:&lt;br /&gt;
&lt;br /&gt;
00 for trains&lt;br /&gt;
&lt;br /&gt;
01 for road vehicles&lt;br /&gt;
&lt;br /&gt;
02 for ships&lt;br /&gt;
&lt;br /&gt;
03 for planes&lt;br /&gt;
&lt;br /&gt;
04 for stations&lt;br /&gt;
&lt;br /&gt;
05 for canals&lt;br /&gt;
&lt;br /&gt;
06 for bridges&lt;br /&gt;
&lt;br /&gt;
07 for houses&lt;br /&gt;
&lt;br /&gt;
09 for industry tiles&lt;br /&gt;
&lt;br /&gt;
0A for industries&lt;br /&gt;
&lt;br /&gt;
0B for cargos&lt;br /&gt;
&lt;br /&gt;
0E for signals&lt;br /&gt;
&lt;br /&gt;
0F for objects&lt;br /&gt;
&lt;br /&gt;
10 for railtypes&lt;br /&gt;
&lt;br /&gt;
===Set-ID===&lt;br /&gt;
&lt;br /&gt;
This defines the number of this action 2. &amp;amp;nbsp;The ID can then be used as target in an action 3 or another variational/random action 2.&lt;br /&gt;
&lt;br /&gt;
===type===&lt;br /&gt;
&lt;br /&gt;
The access type specifies both the size of the variable access, and selects between general variables and the object&#039;s innate variables, or variables of a specific &amp;amp;quot;related&amp;amp;quot; object.&lt;br /&gt;
&lt;br /&gt;
Use 81/85/89 to decide upon a general variable, or a variable of the object in question.&lt;br /&gt;
&lt;br /&gt;
Use 82/86/8A to refer to the &amp;amp;quot;related&amp;amp;quot; object:&lt;br /&gt;
&lt;br /&gt;
||Feature|Related object&lt;br /&gt;
&lt;br /&gt;
Vehicles (00-03)|First vehicle of consist&lt;br /&gt;
&lt;br /&gt;
Stations (04)|Town to which station belongs&lt;br /&gt;
&lt;br /&gt;
Canals (05)|N/A&lt;br /&gt;
&lt;br /&gt;
Bridges (06)|Town of bridge&lt;br /&gt;
&lt;br /&gt;
Houses (07)|Town of building&lt;br /&gt;
&lt;br /&gt;
Generic (08)|(no action 2 support)&lt;br /&gt;
&lt;br /&gt;
Industry tiles (09)|Industry containing tile&lt;br /&gt;
&lt;br /&gt;
Industries (0A)|Town to which industry belongs&lt;br /&gt;
&lt;br /&gt;
Cargos (0B)|N/A&lt;br /&gt;
&lt;br /&gt;
Sounds (0C)|(no action 2 support)&lt;br /&gt;
&lt;br /&gt;
Airports (0D)|Town of airport&lt;br /&gt;
&lt;br /&gt;
Signals (0E)|N/A&lt;br /&gt;
&lt;br /&gt;
Objects (0F)|Town of object&lt;br /&gt;
&lt;br /&gt;
Railtypes (10)|N/A||&lt;br /&gt;
&lt;br /&gt;
This number also tells what size the checked variable is:&lt;br /&gt;
&lt;br /&gt;
For 81/82, the lowest byte of the value is accessed&lt;br /&gt;
&lt;br /&gt;
For 85/86, the lowest word is accessed&lt;br /&gt;
&lt;br /&gt;
For 89/8A, the lowest doubleword is accessed.&lt;br /&gt;
&lt;br /&gt;
If the accessed variable is smaller than the size given here, the extra bits may contain junk, and should probably be &amp;amp;lt;and-masked&amp;amp;gt; out.&lt;br /&gt;
&lt;br /&gt;
On this page, the size B/W/D means the field is byte-sized for types 81 and 82, word-sized for types 85 and 86, and doubleword-sized for types 89 and 8A.&lt;br /&gt;
&lt;br /&gt;
===Variable===&lt;br /&gt;
&lt;br /&gt;
Which variable to use for this decision. The following variables are always available:&lt;br /&gt;
&lt;br /&gt;
||&#039;&#039;&#039;Number&#039;&#039;&#039;|[[GRFActionsDetailed|&#039;&#039;&#039;Size&#039;&#039;&#039;]]|&#039;&#039;&#039;Meaning&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
00|W|current date (counted as days from 1920)&lt;br /&gt;
&lt;br /&gt;
01|B|current year (count from 1920, max. 2175 even with eternalgame)&lt;br /&gt;
&lt;br /&gt;
02|B/D|current month (0-11) in bits 0-7; the higher bytes contain unusable junk. Since OTTD r13594 &#039;day of month&#039; (0-30) is stored in bits 8-12, bit 15 is set in leapyears and &#039;day of year&#039;(0-364 resp. 365) is stored in bits 16-24. All other bits are reserved and should be masked.&lt;br /&gt;
&lt;br /&gt;
03|B|current climate, 0=temp, 1=arctic, 2=trop, 3=toyland&lt;br /&gt;
&lt;br /&gt;
09|W|date fraction, incremented by 0x375 every engine tick&lt;br /&gt;
&lt;br /&gt;
0A|W|animation counter, incremented every tick&lt;br /&gt;
&lt;br /&gt;
0C|W|current [[Callbacks|callback]] ID (feature-specific), set to 00 when not in a callback&lt;br /&gt;
&lt;br /&gt;
10|D|extra callback info 1, as described in the callback specs&lt;br /&gt;
&lt;br /&gt;
11|B|current rail tool type (for station callbacks)&lt;br /&gt;
&lt;br /&gt;
12|B|Game mode, 0 in title screen, 1 in game and 2 in editor&lt;br /&gt;
&lt;br /&gt;
18|D|extra callback info 2, as described in the callback specs&lt;br /&gt;
&lt;br /&gt;
1A|D|always -1 (that is, all bits are set). Useful to create constants (see [[VarAction2Advanced]])&lt;br /&gt;
&lt;br /&gt;
1B|B|display options; bit 0=town names, 1=station names, 2=signs, 3=animation, 4=transparency, 5=full detail&lt;br /&gt;
&lt;br /&gt;
1C|D|result from most recent variational action 2&lt;br /&gt;
&lt;br /&gt;
20|B|snow line height, FFh if snow isn&#039;t present at all&lt;br /&gt;
&lt;br /&gt;
23|D|current date; long format, since OpenTTD r13376, 2.6 r2049&lt;br /&gt;
&lt;br /&gt;
24|D|current year; long format, year zero based since OpenTTD r13376, 2.6 r2049&lt;br /&gt;
&lt;br /&gt;
25|D|GrfID of the grf that contains the corresponding Action3. Useful when accessing the &amp;amp;quot;related&amp;amp;quot; object. Currently only supported for vehicles (OpenTTD r15739)&lt;br /&gt;
&lt;br /&gt;
40+x|D|specially calculated feature-specific variable, see following feature-specific pages&lt;br /&gt;
&lt;br /&gt;
5F|D|Feature-specific random data: triggers in low byte, bits in other three bytes. Bits of the variable not associated with random or trigger bits are reserved. (2.5 r1927, 2.6 r1928)&lt;br /&gt;
&lt;br /&gt;
60+x|D|similar to 40+x variables, but the variable number must be followed by a byte, which will be given to the variable handler as parameter.&lt;br /&gt;
&lt;br /&gt;
7B|-|A special 60+x variable to be used in Advanced Variational Action 2. It allows to evaluate any other 60+x variable using a non-constant parameter from a register. The parameter of variable 7B specifies another 60+x variable which is evaluated. The parameter for that variable is read from the accumulator (&#039;val1&#039;), i.e. the result from the preceding operations of the same Advanced Variational Action 2. Hence variable 7B may not be the first variable used in the calculation. Variable 7B itself and 7E (procedure call) are not allowed to be used as parameter for variable 7B. Also note that you can pass non-byte parameters to 60+x variable here. While current 60+x variables only use byte parameters, the higher bits of the parameter are considered reserved. So, make sure to mask the higher bits in the preceding calculations. Available since TTDPatch r2359 and OpenTTD r21604.&lt;br /&gt;
&lt;br /&gt;
7C|D|A special 60+x variable that contains persistent data written by [[VarAction2Advanced#operator|operator 10]], for the features that support it. (The list of supported features can be found on that page.) Available since 2.6 r1315. Should not be read if the current feature doesn&#039;t support it. If the given slot hasn&#039;t been written yet, it contains zero.&lt;br /&gt;
&lt;br /&gt;
7D|D|A special 60+x variable that contains up to 256 values stored by [[VarAction2Advanced#operator|operator 0E]]. Available since 2.6 r1246. Available in the purchase list. These values are undefined unless written by a var2 earlier in the same chain.&lt;br /&gt;
&lt;br /&gt;
7E|D|A special 60+x variable indicating a [[VarAction2Advanced#Using_procedures|procedure call]]. Available in the purchase list.&lt;br /&gt;
&lt;br /&gt;
7F|D|A special 60+x variable that reads GRF parameter whose number is given by the 60+x parameter. Available in the purchase list.&lt;br /&gt;
&lt;br /&gt;
80+x| |feature-specific variable, see following feature-specific pages||&lt;br /&gt;
&lt;br /&gt;
The definition of variable 1B is slightly feature-dependent. For features that can be drawn transparently (stations, bridges, houses, industry tiles and objects) bit 4 is set if the current feature will be drawn normally, and clear if the current feature will be drawn transparently. For these purposes, airports are stations. For all other features, bit 4 is undefined.&lt;br /&gt;
&lt;br /&gt;
For all features, the 80+x variables are offsets into the corresponding structure in TTD&#039;s game data. &amp;amp;nbsp;The 40+x and 60+x variables are special variables that are computed on-the-fly, and aren&#039;t actually stored anywhere in memory, unless stated otherwise. Therefore they should be used as little as necessary so as not to slow down the game too much with the calculation of these variables (which can be called thousands of times per second, whenever any vehicle moves).&lt;br /&gt;
&lt;br /&gt;
When displaying a vehicle (etc.) in the purchase list, the game will show those variations based on external variables (dates etc.) correctly, but variations based on vehicle variables (variables 40+x, 60+x and 80+x) will always show the first (not the default) cargo-ID unless otherwise specified for the given variable. If you do a calculation, the first cargo-ID will be selected if any of the needed variables is inaccessible.&lt;br /&gt;
&lt;br /&gt;
The lists of 80+x variables on the following pages are not exhaustive; only the useful variables are listed there. For a full list check the definition of corresponding structures in TTD. Marcin Grzegorczyk has a pretty good list of the structure definitions on his [http://marcin.ttdpatch.net/sv1codec/TTD-locations.html|savegame internals page].&lt;br /&gt;
&lt;br /&gt;
{toc}&lt;br /&gt;
&lt;br /&gt;
===varadjust===&lt;br /&gt;
&lt;br /&gt;
Adjust variable to a more useful range. It has the following format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; -+ &amp;amp;lt;shift-num&amp;amp;gt; &amp;amp;lt;and-mask&amp;amp;gt; &amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;[&amp;amp;lt;add-val&amp;amp;gt; &amp;amp;lt;divide-val&amp;amp;gt;/&amp;amp;lt;modulo-val&amp;amp;gt;]&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;+-&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
||&#039;&#039;&#039;Element&#039;&#039;&#039;|[[GRFActionsDetailed|&#039;&#039;&#039;Size&#039;&#039;&#039;]]|&#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
shift-num|B|value to right-shift the variable, and some special bits. See below.&lt;br /&gt;
&lt;br /&gt;
and-mask|B/W/D|value with which to AND the variable after shifting. Return this value if neither bit 6 nor bit 7 of shift-num are set.&lt;br /&gt;
&lt;br /&gt;
add-val|B/W/D|value to add to the variable after ANDing. Only present if bits 6 or 7 are set in shift-num.&lt;br /&gt;
&lt;br /&gt;
divide-val|B/W/D|return the sum divided by this value. Only present if bit 6 is set in shift-num.&lt;br /&gt;
&lt;br /&gt;
modulo-val|B/W/D|return the sum modulo (remainder of division by) this value. Only present if bit 7 is set in shift-num.||&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;shift-num&amp;amp;gt; is a partial bit-mask; its bits have the following meanings:&lt;br /&gt;
&lt;br /&gt;
||Bit(s)|value|meaning&lt;br /&gt;
&lt;br /&gt;
0..4|0..1F|number of bits to right shift &amp;amp;lt;variable&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
5|20|This is an [[VarAction2Advanced|advanced var.action 2]]&lt;br /&gt;
&lt;br /&gt;
6|40|This is a shift-and-add-divide adjustment.&lt;br /&gt;
&lt;br /&gt;
7|80|This is a shift-and-add-modulo adjustment.||&lt;br /&gt;
&lt;br /&gt;
Bits 6 and 7 may not both be set. If neither are set, this varadjust is a shift-and adjustment.&lt;br /&gt;
&lt;br /&gt;
Note that for the add and divide operations, both the variable and the divisor are taken to be signed numbers. This means that if the high bit is set, the number is taken to be negative, so you may need to mask out the most significant bit to do an unsigned division.&lt;br /&gt;
&lt;br /&gt;
===nvar===&lt;br /&gt;
&lt;br /&gt;
Here you set how many different ranges to check for. If the value of the variable, after the above manipulations, is not within one of these ranges, the default will be used. &amp;amp;nbsp;When displayed in the purchase window, the game will always show the first range if the variable is of the 40+x or 80+x type (because the variable is undefined since the vehicle doesn&#039;t exist yet).&lt;br /&gt;
&lt;br /&gt;
Since 2.0.1 alpha 57, nvar=0 is a special case. Instead of using ranges, nvar=0 means that the result of an [[VarAction2Advanced|advanced]] calculation (or, if no calculation is performed, the adjusted variable value itself) is returned as callback result, with bit 15 set. &amp;amp;nbsp;This is useful for those callbacks where many different return values are possible and it is easier to calculate them than list them in ranges. &amp;amp;nbsp;The default value must still be specified, and will be used in case the variable(s) used are not available.&lt;br /&gt;
&lt;br /&gt;
===sets and ranges===&lt;br /&gt;
&lt;br /&gt;
For each of the ranges to check, you give the set-id as a &#039;&#039;&#039;WORD&#039;&#039;&#039; value (i.e. with a 00 following, e.g. set-id 5 becomes -+05 00+-, or - in case of a callback result - by setting the high bit, e.g. -+05 80+-), followed by the low and high limits of this range. &amp;amp;nbsp;The first range that matches will be used.&lt;br /&gt;
&lt;br /&gt;
The various \b, \w, and \d escape sequences can be useful for &amp;amp;lt;min-range&amp;amp;gt; and &amp;amp;lt;max-range&amp;amp;gt;. See [[GRFActionsDetailed#Byte_order|the discussion of escape sequences]] for further information.&lt;br /&gt;
&lt;br /&gt;
===default===&lt;br /&gt;
&lt;br /&gt;
The set-id to use if none of the ranges matches.&lt;br /&gt;
&lt;br /&gt;
-=Example=-&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&#039;color:#808080&#039;&amp;gt;Something to go here&amp;lt;/span&amp;gt;&lt;/div&gt;</summary>
		<author><name>Orudge</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=VariationalAction2/Vehicles&amp;diff=704</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=704"/>
		<updated>2011-06-12T19:23:28Z</updated>

		<summary type="html">&lt;p&gt;Orudge: 14 revisions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Variational Action 2 Variables for Vehicles&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=Variational Action 2 Variables for Vehicles=&lt;br /&gt;
&lt;br /&gt;
{maketoc}&lt;br /&gt;
&lt;br /&gt;
||Variable|[[GRFActionsDetailed|&#039;&#039;&#039;Size&#039;&#039;&#039;]]|Content|Available in purchase list&lt;br /&gt;
&lt;br /&gt;
40|D|Position in consist and length of consist|no&lt;br /&gt;
&lt;br /&gt;
41|D|Position in and length of chain of consecutive vehicles with same ID|no&lt;br /&gt;
&lt;br /&gt;
42|D|Cargo types transported by consist|no&lt;br /&gt;
&lt;br /&gt;
43|D|Player info|TTDP 2.5 beta 2, OTTD r4611&lt;br /&gt;
&lt;br /&gt;
44|D|Aircraft info|no&lt;br /&gt;
&lt;br /&gt;
45|D|Curvature info|no&lt;br /&gt;
&lt;br /&gt;
46|D|Motion counter|no&lt;br /&gt;
&lt;br /&gt;
47|D|Vehicle cargo info|(b) OTTD r15542&lt;br /&gt;
&lt;br /&gt;
48|D|Vehicle type information|TTDP 2.5 beta 2, OTTD r5338&lt;br /&gt;
&lt;br /&gt;
49 (a)|D|Year of construction (long format, 0 based)|(c) OTTD r13376&lt;br /&gt;
&lt;br /&gt;
4A (d)|D|Info about current rail type for trains|no&lt;br /&gt;
&lt;br /&gt;
60|D|Count Veh.ID occurence|no&lt;br /&gt;
&lt;br /&gt;
97|B|Tick counter, increased every engine tick|no&lt;br /&gt;
&lt;br /&gt;
B4|W|Current speed. Note, units differ for each vehicle type (e).|no&lt;br /&gt;
&lt;br /&gt;
B9|B|Cargo type (type B from the list at [[CargoTypes]]; climate dependent)|no&lt;br /&gt;
&lt;br /&gt;
C0|W|Vehicle age in days (not valid for wagons bought before alpha 61)|no&lt;br /&gt;
&lt;br /&gt;
C4|B|Year built (counted from 1920), note this is modified when Cht: Year is used|(c) OTTD r4611&lt;br /&gt;
&lt;br /&gt;
C6|W|Vehicle type ID (useful for [[Callbacks#Can_wagon_be_attached_1D_|Callback 1D]])|no&lt;br /&gt;
&lt;br /&gt;
C8|B|Sprite type; FD for trains forward, FE or FF when reversed|no&lt;br /&gt;
&lt;br /&gt;
C9|B|Day counter; increased daily|no&lt;br /&gt;
&lt;br /&gt;
DA|W|Next wagon index, FFFF if last wagon (use shift-num=08 and check for FF)|no&lt;br /&gt;
&lt;br /&gt;
F2|B|Refit cycle, how many times refitted to the same cargo type|(b) OTTD r15542&lt;br /&gt;
&lt;br /&gt;
FE|W|Modflags|no&lt;br /&gt;
&lt;br /&gt;
FF|B|Modflags|no||&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;a&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt; OpenTTD r13376, TTDPatch r2216&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;b&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&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;amp;quot;refit cycle&amp;amp;quot; (F2) is currently always zero in the purchase list.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;c&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt; This is the current date.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;d&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt; OpenTTD r20165.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;e&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&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]].&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;
==Position and length (40, 41)==&lt;br /&gt;
&lt;br /&gt;
Format: 00nnbbff&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;
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;
Note however, that accessing the &amp;amp;quot;related&amp;amp;quot; object (i.e. the locomotive) doesn&amp;amp;acute;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;
Format: uuiicctt&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;
Note that even if the grf file has installed a [[Action0GeneralVariables#Cargo+translation+table+%2809%29|cargo translation table]], the value in &amp;amp;quot;cc&amp;amp;quot; is the actual bit number of that cargo. The reason for this is that it cannot be translated in general, because different vehicles can be from different .grf files and have different translation tables. Use variable 47 if you want the translated cargo type.&lt;br /&gt;
&lt;br /&gt;
If used with variational action 2 type 81 (vehicle) it returns only cargo from this vehicle on, with type 82 (engine) that of the whole consist.&lt;br /&gt;
&lt;br /&gt;
==Player info (43)==&lt;br /&gt;
&lt;br /&gt;
Format: Ccttmmnn&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|the secondary player colour, equal to c if none (since r1405)||&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|Player is a human managing an AI company&lt;br /&gt;
&lt;br /&gt;
3|Player is human player&#039;s original company, now temporarily AI controlled||&lt;br /&gt;
&lt;br /&gt;
This variable is available in the purchase list as well (since 2.5 beta 2).&lt;br /&gt;
&lt;br /&gt;
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;
Format: xxxxhhtt&lt;br /&gt;
&lt;br /&gt;
(available from 2.0.1 alpha 48)&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;amp;quot;ground&amp;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;
Format: xxxTxBxF&lt;br /&gt;
&lt;br /&gt;
(available from 2.0.1 alpha 58)&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;
||Decimal|Hex|Meaning&lt;br /&gt;
&lt;br /&gt;
-4|C|180&amp;amp;deg; curve left (T only)&lt;br /&gt;
&lt;br /&gt;
-3|D|135&amp;amp;deg; curve left (T only)&lt;br /&gt;
&lt;br /&gt;
-2|E|90&amp;amp;deg; curve left&lt;br /&gt;
&lt;br /&gt;
-1|F|45&amp;amp;deg; curve left&lt;br /&gt;
&lt;br /&gt;
0|0|no curve&lt;br /&gt;
&lt;br /&gt;
1|1|45&amp;amp;deg; curve right&lt;br /&gt;
&lt;br /&gt;
2|2|90&amp;amp;deg; curve right&lt;br /&gt;
&lt;br /&gt;
3|3|135&amp;amp;deg; curve right (T only)&lt;br /&gt;
&lt;br /&gt;
4|4|180&amp;amp;deg; curve right (T only)||&lt;br /&gt;
&lt;br /&gt;
==Motion counter (46)==&lt;br /&gt;
&lt;br /&gt;
Format: 32-bit value&lt;br /&gt;
&lt;br /&gt;
(available from 2.0.1 alpha 59)&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 var.action 2 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;
Format: ccccwwtt&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;
Note that if the grf has installed a [[Action0GeneralVariables#Cargo_translation_table_09_|cargo translation table]], the value in &amp;amp;quot;tt&amp;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;amp;quot;tt&amp;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;
Format: xxxxxxff&lt;br /&gt;
&lt;br /&gt;
The bits of ff are:&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;
All other bits in ff are undefined and must be masked out.&lt;br /&gt;
&lt;br /&gt;
This variable is available in the purchase list as well (since 2.5 beta 2).&lt;br /&gt;
&lt;br /&gt;
==Info about current rail type for trains (4A)==&lt;br /&gt;
&lt;br /&gt;
Format: xxxxFFrr&lt;br /&gt;
&lt;br /&gt;
(available from OpenTTD r20165)&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;
||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;
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;
Format: xxxxxxnn&lt;br /&gt;
&lt;br /&gt;
(available from 2.0.1 alpha 57)&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 var.action 2 type 81, only the current vehicle and onwards will be check, with var.action 2 type 82, all vehicles in the consist will be counted.&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;
||Bit|Value of the bit&lt;br /&gt;
&lt;br /&gt;
5|Vehicle is powered (engine or powered wagon, mainly useful for the latter)&lt;br /&gt;
&lt;br /&gt;
6|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 *|This bit is flipped every time the train reverses direction&lt;br /&gt;
&lt;br /&gt;
10|Vehicle was built during the exclusive preview (since 2.5 r1334)||&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt; This bit is only accurate for the first vehicle in the consist.&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;/div&gt;</summary>
		<author><name>Orudge</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=VariationalAction2/Stations&amp;diff=689</id>
		<title>VariationalAction2/Stations</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=VariationalAction2/Stations&amp;diff=689"/>
		<updated>2011-06-12T19:23:28Z</updated>

		<summary type="html">&lt;p&gt;Orudge: 13 revisions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Variational Action 2 Variables for Stations&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=Variational Action 2 Variables for Stations=&lt;br /&gt;
&lt;br /&gt;
{maketoc}&lt;br /&gt;
&lt;br /&gt;
||Variable|[[GRFActionsDetailed|&#039;&#039;&#039;Size&#039;&#039;&#039;]]|Content&lt;br /&gt;
&lt;br /&gt;
40|D|Platform info and relative position&lt;br /&gt;
&lt;br /&gt;
41|D|Platform info and relative position for individually built sections&lt;br /&gt;
&lt;br /&gt;
42|D|Terrain and track type&lt;br /&gt;
&lt;br /&gt;
43 *|D|Player info, see [[VarAction2Vehicles#Player_info_43_|vehicle variable 43]]&lt;br /&gt;
&lt;br /&gt;
44|B|Path-based signalling info&lt;br /&gt;
&lt;br /&gt;
45|W|Rail continuation info&lt;br /&gt;
&lt;br /&gt;
46,47|D|Platform info, counted from the middle&lt;br /&gt;
&lt;br /&gt;
48|D|Bitmask of accepted cargos&lt;br /&gt;
&lt;br /&gt;
49|D|Platform info and relative position of same-direction section&lt;br /&gt;
&lt;br /&gt;
4A|B|Current animation frame&lt;br /&gt;
&lt;br /&gt;
60|D|Amount of cargo waiting&lt;br /&gt;
&lt;br /&gt;
61|D|Time since the cargo was last picked up&lt;br /&gt;
&lt;br /&gt;
62|D|Rating of the cargo&lt;br /&gt;
&lt;br /&gt;
63|D|Time spent en-route&lt;br /&gt;
&lt;br /&gt;
64|W|Information about the last vehicle picking this cargo up&lt;br /&gt;
&lt;br /&gt;
65|B|Amount of cargo acceptance&lt;br /&gt;
&lt;br /&gt;
66|D|Animation frame of nearby tile&lt;br /&gt;
&lt;br /&gt;
67|D|Land info of nearby tiles&lt;br /&gt;
&lt;br /&gt;
68|D|Station info of nearby tiles&lt;br /&gt;
&lt;br /&gt;
69|D|Information about cargo accepted in the past&lt;br /&gt;
&lt;br /&gt;
80|B|Number and length of train platforms&lt;br /&gt;
&lt;br /&gt;
F0|B|Bit mask of facilities attached to station (not appropriate for irregular stations)&lt;br /&gt;
&lt;br /&gt;
FA|W|Date when station was built in days since 1920||&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt; Available in the purchase list as well (since 2.5 beta 2).&lt;br /&gt;
&lt;br /&gt;
For other 80+x variables confer the [http://marcin.ttdpatch.net/sv1codec/TTD-locations.html#_StationArray|TTD station structure]. Note that you have to subtract 0x10 from the offsets there, or else the facility bit mask and construction date would not be accessible; instead you lose access to variables 00..0F which are meaningless anyway.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WARNING&#039;&#039;&#039;: Please do not use variables 8C..EB directly. The meaning of these variables changes if the newcargos switch is on. Use the variables 60..64 instead (see below). Those always work correctly.&lt;br /&gt;
&lt;br /&gt;
===Platform info (40, 41, 46, 47, 49)===&lt;br /&gt;
&lt;br /&gt;
Variables 40, 41, 46, 47 and 49 all return information about the current tile, which platform it is on and how far along the platform. The difference is in the section of the station that they consider.&lt;br /&gt;
&lt;br /&gt;
||Variables|Regular station|Irregular station&lt;br /&gt;
&lt;br /&gt;
40, 46|Whole station|Counting entire length and all adjacent platforms&lt;br /&gt;
&lt;br /&gt;
41, 47|Individually built sections&lt;br /&gt;
&lt;br /&gt;
49|Whole station|Counting length and platforms that have the same direction||&lt;br /&gt;
&lt;br /&gt;
The term &amp;amp;quot;counting&amp;amp;quot; here refers to starting at the tile in question, and counting tiles in all four directions. The two directions aligned with the station direction will be the length of the station, and the other two directions give the number of platforms. For variables 40 and 46, this counting stops at the edge of the station, i.e. the first non-station tile. For variable 49, it stops either at the edge, or at a station tile that is in the wrong direction. &amp;amp;nbsp;The resulting information is probably not really useful in the case of irregular stations, with the exception of edge detection. To correctly detect edges, you have the choice of either the station-&amp;amp;gt;non-station transition (vars. 40, 46), or additional an opposite-direction transition (var. 49).&lt;br /&gt;
&lt;br /&gt;
Variable 41 is largely unaffected by irregular stations, because it only refers to individually built sections. However, when these individual sections are built over existing tiles, the var. 41 information of surrounding tiles changes as well, due to an internal limitation in how it is stored.&lt;br /&gt;
&lt;br /&gt;
For variables 40, 41 and 49, the position is counted from the northern most edge of the station, and returned in the form xTNLcCpP, where:&lt;br /&gt;
&lt;br /&gt;
||Variable|Meaning&lt;br /&gt;
&lt;br /&gt;
x|undefined, use bit mask to mask it out&lt;br /&gt;
&lt;br /&gt;
T|Tile type: the current tile type; only valid for callback 14&lt;br /&gt;
&lt;br /&gt;
N|Total number of platforms&lt;br /&gt;
&lt;br /&gt;
L|Total platform length&lt;br /&gt;
&lt;br /&gt;
c|Platform number current being drawn, counted from the end (starting at zero)&lt;br /&gt;
&lt;br /&gt;
C|Platform number currently being drawn (starting from zero)&lt;br /&gt;
&lt;br /&gt;
p|Position along this platform counted from the end, zero at the end&lt;br /&gt;
&lt;br /&gt;
P|Position along this platform, zero at the beginning&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
&lt;br /&gt;
Here, the &amp;amp;quot;beginning&amp;amp;quot; of a station is its northern-most (up on the screen) tile, and the &amp;amp;quot;end&amp;amp;quot; is the southern-most (down on the screen) tile. Each variable consists of 4 bits.&lt;br /&gt;
&lt;br /&gt;
For variables 46 and 47, the position is counted from the middle, i.e. the center tile has C=0 and P=0. For even lengths and numbers of platforms, the middle tile is at position L/2 resp. N/2, e.g. for length 6, it is tile 3, which is the fourth tile. The return format is xTNLxxCP, where T, N and L are as above, and C and P are the positions counted from the middle.&lt;br /&gt;
&lt;br /&gt;
Since C and P can have negative numbers, here&#039;s how this is encoded:&lt;br /&gt;
&lt;br /&gt;
||Hex|Binary|Decimal&lt;br /&gt;
&lt;br /&gt;
0|0000|0&lt;br /&gt;
&lt;br /&gt;
1|0001|1&lt;br /&gt;
&lt;br /&gt;
7|0111|7&lt;br /&gt;
&lt;br /&gt;
8|1000|-8&lt;br /&gt;
&lt;br /&gt;
9|1001|-7&lt;br /&gt;
&lt;br /&gt;
E|1110|-2&lt;br /&gt;
&lt;br /&gt;
F|1111|-1||&lt;br /&gt;
&lt;br /&gt;
The counting goes like this, preferring an extra negative number for an even count (because there are 8 negative numbers available but only 7 positive ones):&lt;br /&gt;
&lt;br /&gt;
||Count|Numbers&lt;br /&gt;
&lt;br /&gt;
1|~pp~ &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;0~/pp~&lt;br /&gt;
&lt;br /&gt;
2|~pp~ &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;-1 &amp;amp;nbsp;0~/pp~&lt;br /&gt;
&lt;br /&gt;
3|~pp~ &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;-1 &amp;amp;nbsp;0 &amp;amp;nbsp;1~/pp~&lt;br /&gt;
&lt;br /&gt;
4|~pp~ &amp;amp;nbsp; -2 -1 &amp;amp;nbsp;0 &amp;amp;nbsp;1~/pp~&lt;br /&gt;
&lt;br /&gt;
5|~pp~ &amp;amp;nbsp; -2 -1 &amp;amp;nbsp;0 &amp;amp;nbsp;1 &amp;amp;nbsp;2~/pp~&lt;br /&gt;
&lt;br /&gt;
6|~pp~-3 -2 -1 &amp;amp;nbsp;0 &amp;amp;nbsp;1 &amp;amp;nbsp;2~/pp~||&lt;br /&gt;
&lt;br /&gt;
(etc.)&lt;br /&gt;
&lt;br /&gt;
===Terrain and track type (42)===&lt;br /&gt;
&lt;br /&gt;
Variable 42 is of the format xxxxttTT, where TT is the terrain type and tt is the railway track type.&lt;br /&gt;
&lt;br /&gt;
They can have the following values:&lt;br /&gt;
&lt;br /&gt;
||TT|Meaning&lt;br /&gt;
&lt;br /&gt;
0|normal (grass)&lt;br /&gt;
&lt;br /&gt;
1|desert&lt;br /&gt;
&lt;br /&gt;
2|rainforest&lt;br /&gt;
&lt;br /&gt;
4|on or above snowline||&lt;br /&gt;
&lt;br /&gt;
||tt|Meaning&lt;br /&gt;
&lt;br /&gt;
0|railroad, regular&lt;br /&gt;
&lt;br /&gt;
1|railroad, electrified&lt;br /&gt;
&lt;br /&gt;
2|monorail&lt;br /&gt;
&lt;br /&gt;
3|maglev||&lt;br /&gt;
&lt;br /&gt;
===Path-based signalling info (44)===&lt;br /&gt;
&lt;br /&gt;
This returns the following value in bits 0-2: (bit 2 only available from alpha 47 and up)&lt;br /&gt;
&lt;br /&gt;
||State|Value (binary)|Value (decimal)&lt;br /&gt;
&lt;br /&gt;
Reserved|111|7&lt;br /&gt;
&lt;br /&gt;
Not reserved|100|4&lt;br /&gt;
&lt;br /&gt;
No PBS|010|2||&lt;br /&gt;
&lt;br /&gt;
At the moment, PBS on/off refers to the switch setting, in a future alpha version it will actually refer to whether the switch is on &#039;&#039;and&#039;&#039; the current block actually uses PBS.&lt;br /&gt;
&lt;br /&gt;
The bits are defined this way to allow easy fallback to non-PBS cases. If you need graphics to show the &amp;amp;quot;unreserved&amp;amp;quot; state in non-PBS cases, use bit 0, but if you need the &amp;amp;quot;reserved&amp;amp;quot; state in non-PBS cases, use bit 1. To explicitly check whether PBS is active or not, use bit 2.&lt;br /&gt;
&lt;br /&gt;
All other bits are reserved and must be masked out.&lt;br /&gt;
&lt;br /&gt;
===Rail continuation info (45)===&lt;br /&gt;
&lt;br /&gt;
This variable returns 16 bits of info whether the rail tracks continue in the eight tiles adjacent to the station tile.&lt;br /&gt;
&lt;br /&gt;
||Bit|Value|Set if rail continues in direction of...&lt;br /&gt;
&lt;br /&gt;
0|01|+Length&lt;br /&gt;
&lt;br /&gt;
1|02|-Length&lt;br /&gt;
&lt;br /&gt;
2|04|+Platforms&lt;br /&gt;
&lt;br /&gt;
3|08|-Platforms&lt;br /&gt;
&lt;br /&gt;
4|10|+Length, +Platforms&lt;br /&gt;
&lt;br /&gt;
5|20|-Length, +Platforms&lt;br /&gt;
&lt;br /&gt;
6|40|+Length, -Platforms&lt;br /&gt;
&lt;br /&gt;
7|80|-Length, -Platforms||&lt;br /&gt;
&lt;br /&gt;
The following picture illustrates which bits represent which tile for the two possible station orientations:&lt;br /&gt;
&lt;br /&gt;
{picture file=img/wiki_up//directions.png}&lt;br /&gt;
&lt;br /&gt;
Bits 0 to 3 are set if there is track on the given tile, and it has a connection to the station tile. For bits 2, 3, the station of course has itself no connection to those tiles, but this doesn&#039;t matter for this variable. Bits 4 to 7 check connections to the neighbouring platform tile, i.e. bits 4 and 5 resp. 6 and 7 indicate a connection from that tile to tile 2 resp. 3. (This has changed again with 2.5 beta 4 r325.)&lt;br /&gt;
&lt;br /&gt;
Bits 8..15 repeat the above, but are set if there are any train tracks on the tile and disregard whether the track is connected to the station or not entirely.&lt;br /&gt;
&lt;br /&gt;
===Bitmask of accepted cargos (48)===&lt;br /&gt;
&lt;br /&gt;
(This variable is available from 2.0.1 alpha 55 vcs 3 only)&lt;br /&gt;
&lt;br /&gt;
Returns a doubleword where the &#039;&#039;&#039;n&#039;&#039;&#039;th bit is set if and only if the station accepts the cargo whose climate-dependent ID is &#039;&#039;&#039;n&#039;&#039;&#039;. If newcargos is off, bits 12..31 are guaranteed to be zero. If you need to check acceptance for a climate-independent ID, you can use variable 65 instead.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE&#039;&#039;&#039;:Variables 60..64 are available from 2.0.1 alpha 55 vcs 3 only!&lt;br /&gt;
&lt;br /&gt;
===Amount of cargo waiting (60)===&lt;br /&gt;
&lt;br /&gt;
The parameter is a cargo number (see note below). Currently, the returned value is between 0 and 32767, but this may later change to support the range -32768..32767.&lt;br /&gt;
&lt;br /&gt;
===Time since the cargo was last picked up (61)===&lt;br /&gt;
&lt;br /&gt;
The parameter is a cargo number (see note below). The unit is 185 ticks (approx. 2.5 TTD days). If the given type has never been seen on the station, the returned value is zero, otherwise, the return value isn&#039;t larger than 255.&lt;br /&gt;
&lt;br /&gt;
===Rating of the cargo (62)===&lt;br /&gt;
&lt;br /&gt;
The parameter is a cargo number (see note below). The returned value is between 0 and 255 (255 means 100% rating), or FFFFFFFFh if the cargo is unrated.&lt;br /&gt;
&lt;br /&gt;
===Time spent en-route (63)===&lt;br /&gt;
&lt;br /&gt;
The parameter is a cargo number (see note below). Returns the time elapsed since the cargo appeared on a station. If the cargo has never been seen on the station, the returned value is 0, otherwise it&#039;s between 0 and 255. The unit is 185 ticks (approx. 2.5 TTD days).&lt;br /&gt;
&lt;br /&gt;
===Information about the last vehicle picking this cargo up (64)===&lt;br /&gt;
&lt;br /&gt;
The parameter is a cargo number (see note below). Bits 0..7 contain the speed of the last vehicle, while bits 8..15 contain the age of the last vehicle in years. If no vehicle has attempted to pick up this cargo yet, the result is FF00h.&lt;br /&gt;
&lt;br /&gt;
===Amount of cargo acceptance (65)===&lt;br /&gt;
&lt;br /&gt;
(From TTDPatch 2.5 beta 2)&lt;br /&gt;
&lt;br /&gt;
The parameter is a cargo number (see note below). The return value contains the acceptance of the given cargo type in 1/8 units. The station accepts the cargo if its acceptance is at least 8/8 units. Without newcargos, the returned value is between 0 and 15 (inclusive). With newcargos enabled, the return value is either 8 or 0.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE&#039;&#039;&#039;: In GRF version 6, parametrized variables 60..65 accept a climate-dependent cargo number. In GRF version 7 and later, these variables accept a climate-independent cargo ID. If your GRF has a cargo translation table, then this ID is the index in that table; otherwise, it&#039;s the cargo bit.&lt;br /&gt;
&lt;br /&gt;
===Animation frame of nearby tile (66)===&lt;br /&gt;
&lt;br /&gt;
(From TTDPatch 2.5 beta 5)&lt;br /&gt;
&lt;br /&gt;
The parameter defines the offset relative to the current tile. Both nibbles are considered signed (that is, 8h=-8, 9h=-7, ...., Fh=-1, 0h=0, 1h=1, ..., 7h=7). The high nibble contains the amount to move sideways (between platforms), the low one is the amount to move along the platform. Negative offsets move northwards, positive ones southwards. If the selected tile is a rail station tile that belongs to the current station, its animation state is returned. Otherwise, FFFFFFFFh is returned.&lt;br /&gt;
&lt;br /&gt;
===Land info of nearby tiles (67)===&lt;br /&gt;
&lt;br /&gt;
This variable works like [[VarAction2IndustryTiles#Land_info_of_nearby_tiles_60_|industry tile variable 60]], except for three things:&lt;br /&gt;
* The offsets in the parameter are interpreted relatively to the alignment of the station, the same way as for variable 66&lt;br /&gt;
* The &#039;&#039;&#039;ss&#039;&#039;&#039; part is &amp;amp;quot;mirrored&amp;amp;quot; (bit 0 and 2 swapped) for the NW-SE orientation; this will allow you to handle analogous slopes of the two orientations without checking the orientation explicitly (since TTDPatch 2.6 r1693)&lt;br /&gt;
* Bit 0 of the &#039;&#039;&#039;bb&#039;&#039;&#039; part is undefined&lt;br /&gt;
&lt;br /&gt;
===Station info of nearby tiles (68)===&lt;br /&gt;
&lt;br /&gt;
The parameter of this variable works the same way as the parameter of variable 66. The returned value is FFFFFFFFh if the selected tile isn&#039;t a railway station tile. Otherwise, the returned value can be separated to the following parts:&lt;br /&gt;
&lt;br /&gt;
||Bits|Meaning&lt;br /&gt;
&lt;br /&gt;
0..7|If the tile is defined in the current GRF, this is the setID used in the definition. Otherwise, the content is undefined.&lt;br /&gt;
&lt;br /&gt;
8..9|~pp~0 - the tile uses original TTD graphics&lt;br /&gt;
&lt;br /&gt;
1 - the tile is defined in the current GRF&lt;br /&gt;
&lt;br /&gt;
2 - the tile is defined in another GRF~/pp~&lt;br /&gt;
&lt;br /&gt;
10|set if the selected tile belongs to the current station, clear otherwise&lt;br /&gt;
&lt;br /&gt;
11|clear if the selected tile is parallel with the current one, set if perpendicular to it&lt;br /&gt;
&lt;br /&gt;
12..13|~pp~0 - plain platform&lt;br /&gt;
&lt;br /&gt;
1 - platform with building&lt;br /&gt;
&lt;br /&gt;
2 - platform with roof, left side&lt;br /&gt;
&lt;br /&gt;
3 - platform with roof, right side~/pp~&lt;br /&gt;
&lt;br /&gt;
14..31|Undefined, reserved for future use||&lt;br /&gt;
&lt;br /&gt;
===Information about cargo accepted in the past (69)===&lt;br /&gt;
&lt;br /&gt;
The parameter of this variable has the same format as for variables 60..65. The returned value looks like this:&lt;br /&gt;
&lt;br /&gt;
||Bits|Meaning&lt;br /&gt;
&lt;br /&gt;
0|Set if the given cargo was ever accepted at this station&lt;br /&gt;
&lt;br /&gt;
1|Set if the given cargo was accepted last month&lt;br /&gt;
&lt;br /&gt;
2|Set if the given cargo was accepted this month&lt;br /&gt;
&lt;br /&gt;
3|Set if the given cargo was accepted since last periodic processing (which happens every 250 ticks)&lt;br /&gt;
&lt;br /&gt;
4..31|Undefined, reserved for future use||&lt;br /&gt;
&lt;br /&gt;
The information required for this variable is stored in the station2 structure, and therefore works only if the station2 structure is present. The station2 structure is present if any of the following is true:&lt;br /&gt;
* Generalfixes is on, and miscmods.noextendstationrange is off&lt;br /&gt;
* Any of fifoloading, newcargos or irregularstations is on&lt;br /&gt;
&lt;br /&gt;
If the station2 structure isn&#039;t present, the returned value is always zero.&lt;/div&gt;</summary>
		<author><name>Orudge</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=VariationalAction2/Railtypes&amp;diff=675</id>
		<title>VariationalAction2/Railtypes</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=VariationalAction2/Railtypes&amp;diff=675"/>
		<updated>2011-06-12T19:23:27Z</updated>

		<summary type="html">&lt;p&gt;Orudge: 3 revisions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Variational Action 2 for Railtypes&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=Variational Action 2 for Railtypes=&lt;br /&gt;
&lt;br /&gt;
available in OpenTTD r19056&lt;br /&gt;
&lt;br /&gt;
||Variable|[[GRFActionsDetailed|&#039;&#039;&#039;Size&#039;&#039;&#039;]]|Content&lt;br /&gt;
&lt;br /&gt;
40|B|Terrain type: 0 normal, 1 desert, 2 rainforest, 4 on or above snowline.&lt;br /&gt;
&lt;br /&gt;
41|B|Enhanced tunnels; entrance has track above. Always 0 in OpenTTD.&lt;br /&gt;
&lt;br /&gt;
42|B|Level crossing status: 0 if open (or not a crossing), 1 if closed.&lt;br /&gt;
&lt;br /&gt;
43|D|Depot construction date (long format, 0 based); other: current date||&lt;br /&gt;
&lt;br /&gt;
== Terrain type (40)==&lt;br /&gt;
&lt;br /&gt;
Format: byte&lt;br /&gt;
&lt;br /&gt;
||value|Meaning&lt;br /&gt;
&lt;br /&gt;
0|normal tile&lt;br /&gt;
&lt;br /&gt;
1|desert tile&lt;br /&gt;
&lt;br /&gt;
2|rain forest tile&lt;br /&gt;
&lt;br /&gt;
4|tile on or above snow line||&lt;br /&gt;
&lt;br /&gt;
==Enhanced tunnels (41)==&lt;br /&gt;
&lt;br /&gt;
Format: byte&lt;br /&gt;
&lt;br /&gt;
This variable will always return 0 and is reserved for future use with enhanced tunnels.&lt;br /&gt;
&lt;br /&gt;
==Level crossing status (42)==&lt;br /&gt;
&lt;br /&gt;
Format: byte&lt;br /&gt;
&lt;br /&gt;
This variable returns 1, if a crossing is closed. If the crossing is open or the tile is no level crossing, the return value is 0.&lt;/div&gt;</summary>
		<author><name>Orudge</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=VariationalAction2/Objects&amp;diff=671</id>
		<title>VariationalAction2/Objects</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=VariationalAction2/Objects&amp;diff=671"/>
		<updated>2011-06-12T19:23:27Z</updated>

		<summary type="html">&lt;p&gt;Orudge: 14 revisions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Variational Action 2 Variables for Objects&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=Variational Action 2 Variables for Objects=&lt;br /&gt;
&lt;br /&gt;
||Variable|Size|Content&lt;br /&gt;
&lt;br /&gt;
40|D|Relative position, like [[VarAction2IndustryTiles|Industry Tile var43]]&lt;br /&gt;
&lt;br /&gt;
41|W|Tile information, see below&lt;br /&gt;
&lt;br /&gt;
42|D|Construction date from year 0&lt;br /&gt;
&lt;br /&gt;
43|B|Animation counter, see below&lt;br /&gt;
&lt;br /&gt;
44|B|Object founder information&lt;br /&gt;
&lt;br /&gt;
45|D|Get town zone and Manhattan distance of closest town&lt;br /&gt;
&lt;br /&gt;
46|D|Get square of Euclidian distance of closest town&lt;br /&gt;
&lt;br /&gt;
47|B|Object colour&lt;br /&gt;
&lt;br /&gt;
48|B|Object views&lt;br /&gt;
&lt;br /&gt;
60|W|Get object type at offset&lt;br /&gt;
&lt;br /&gt;
61|B|Get random bits at offset&lt;br /&gt;
&lt;br /&gt;
62|D|Land info of nearby tiles&lt;br /&gt;
&lt;br /&gt;
63|W|Animation counter of nearby tile&lt;br /&gt;
&lt;br /&gt;
64|D|Count of object, distance of closest instance||&lt;br /&gt;
&lt;br /&gt;
==Tile information (41)==&lt;br /&gt;
&lt;br /&gt;
The return value has the format of ss0t where t is the terrain type which the tile is on, same values as [[VarAction2Canals|canal var81]].&lt;br /&gt;
&lt;br /&gt;
As of TTDPatch r2088, ss contains the slope data of the tile, same format as for [[VarAction2IndustryTiles| industrytile var60]]. The meaning of the individual bits is:&lt;br /&gt;
&lt;br /&gt;
||Bit|Meaning&lt;br /&gt;
&lt;br /&gt;
0|West corner is above the lowest&lt;br /&gt;
&lt;br /&gt;
1|South corner is above the lowest&lt;br /&gt;
&lt;br /&gt;
2|East corner is above the lowest&lt;br /&gt;
&lt;br /&gt;
3|North corner is above the lowest&lt;br /&gt;
&lt;br /&gt;
4|The tile is a steep slope (*)||&lt;br /&gt;
&lt;br /&gt;
(*) - Steep slopes have this bit plus 3 points raised, giving them values of 0x17, 0x1B, 0x1D and 0x1E.&lt;br /&gt;
&lt;br /&gt;
==Animation Counter (43)==&lt;br /&gt;
&lt;br /&gt;
This byte gets the actual value of the animation counter (note that action0, property 10, bit 6 must be set for this to work).&lt;br /&gt;
&lt;br /&gt;
==Object founder information (44)==&lt;br /&gt;
&lt;br /&gt;
This byte contains the ID of the company that funded the object, or 10h if the object was placed in the scenario editor.&lt;br /&gt;
&lt;br /&gt;
==Get town zone and Manhattan distance of closest town (45)==&lt;br /&gt;
&lt;br /&gt;
Like [[VarAction2Industries#Get_town_zone_and_Manhattan_distance_of_closest_town_65_|industry var65]] but instead of an offset the current tile is used.&lt;br /&gt;
&lt;br /&gt;
==Get square of Euclidian distance of closest town (46)==&lt;br /&gt;
&lt;br /&gt;
Like [[VarAction2Industries#Get_square_of_Euclidean_distance_of_closest_town_66_|industry var66]] but instead of an offset the current tile is used.&lt;br /&gt;
&lt;br /&gt;
==Object colour (47)==&lt;br /&gt;
&lt;br /&gt;
This byte returns the colour of the object.&lt;br /&gt;
&lt;br /&gt;
(since TTDPatch r2351 and OpenTTD r21259)&lt;br /&gt;
&lt;br /&gt;
==Get object views (48)==&lt;br /&gt;
&lt;br /&gt;
Returned value stands for a particular view of an object. Number and rank of set-IDs must match the value given in the object&#039;s action0 prop17, i.e. for an object with 4 views, prop48 may return values 0 .. 4. Since OpenTTD r21455.&lt;br /&gt;
&lt;br /&gt;
==Get object type at offset (60)==&lt;br /&gt;
&lt;br /&gt;
The parameter of this variable is an offset from the current tile. The low nibble contains the signed X offset (that is 0h=0, 1h=+1 ... 7h=+7, 8h=-8, 9h=-7 ... Fh=-1), the high nibble contains the Y offset. Therefore the parameter 00h accesses the current tile itself. The high word of the return value is currently reserved, and the low word can be:&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; &amp;amp;nbsp;* 00xxh if the tile is an object tile and was defined in the current GRF with ID xx.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; &amp;amp;nbsp;* FFFEh if the tile is an object tile that was defined in another GRF file or it&#039;s a default object.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; &amp;amp;nbsp;* FFFFh if the tile isn&#039;t an object tile.&lt;br /&gt;
&lt;br /&gt;
==Get random bits at offset (61)==&lt;br /&gt;
&lt;br /&gt;
Returns the same values as [[VarAction2Industries#Get_random_tile_bits_at_offset_61_|industry var61]]. The offset it from the current tile and is signed.&lt;br /&gt;
&lt;br /&gt;
To get the random bits from a tile using a offset relative to the north tile of the object, see the example below.&lt;br /&gt;
&lt;br /&gt;
==Land info of nearby tiles (62)==&lt;br /&gt;
&lt;br /&gt;
Returns the same values as [[VarAction2IndustryTiles#Land_info_of_nearby_tiles_60_|industry tile var60]]. The offset it from the current tile and is signed.&lt;br /&gt;
&lt;br /&gt;
To get the land ifno from a tile using a offset relative to the north tile of the object, see the example below.&lt;br /&gt;
&lt;br /&gt;
==Animation counter of nearby tile (63)==&lt;br /&gt;
&lt;br /&gt;
Returns the var 43 of another tile given by the signed offset.&lt;br /&gt;
&lt;br /&gt;
To get the animation counter from a tile using a offset relative to the north tile of the object, see the example below.&lt;br /&gt;
&lt;br /&gt;
==Count of object, distance of closest instance (64)==&lt;br /&gt;
&lt;br /&gt;
Returns the same values as [[VarAction2Industries#Count_of_industry_distance_of_closest_instance_67_68_|industry var67]]. The distance is from the current tile.&lt;br /&gt;
&lt;br /&gt;
-=Example=-&lt;br /&gt;
&lt;br /&gt;
The following code uses variable 40, 61 and 7B to read the random bits of the north tile of the object.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;~pp~&lt;br /&gt;
&lt;br /&gt;
-1 * -1 &amp;amp;nbsp; 02 0F xx 81&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; 40 &amp;amp;nbsp; &amp;amp;nbsp;30 FF &amp;amp;nbsp; // Get relative position of object tile as yx&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;\\2&amp;lt;/pre&amp;gt; &amp;amp;nbsp; &amp;amp;nbsp;1A &amp;amp;nbsp; &amp;amp;nbsp;20 77 &amp;amp;nbsp; // Negate the numbers in bits 0..3 and 4..7 ...&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;\\2+ &amp;amp;nbsp; &amp;amp;nbsp;1A &amp;amp;nbsp; &amp;amp;nbsp;20 11 &amp;amp;nbsp; // ... (here we can optionally insert another (positive) offset, to get some other tile relative to the north tile)&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;\\2&amp;lt;pre&amp;gt; &amp;amp;nbsp; &amp;amp;nbsp;1A &amp;amp;nbsp; &amp;amp;nbsp;20 88 &amp;amp;nbsp; // ... (we need to split the xor in two parts, so bits 0..3 do not influence bits 4..7)&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;\\2rst &amp;amp;nbsp;7B 61 00 FF &amp;amp;nbsp; // Get the random bits at the northern tile&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; ... &amp;amp;nbsp;~/pp~&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Orudge</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=VariationalAction2/Signals&amp;diff=656</id>
		<title>VariationalAction2/Signals</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=VariationalAction2/Signals&amp;diff=656"/>
		<updated>2011-06-12T19:22:45Z</updated>

		<summary type="html">&lt;p&gt;Orudge: 4 revisions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Variational Action 2 Variables for New Signals&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=Variational Action 2 Variables for New Signals=&lt;br /&gt;
&lt;br /&gt;
This is available from 2.6 alpha 0 r1247 onwards.&lt;br /&gt;
&lt;br /&gt;
This type of variational action 2 requires the use of advanced calculations: [[VarAction2Advanced]]&lt;br /&gt;
&lt;br /&gt;
=Inputs:=&lt;br /&gt;
&lt;br /&gt;
===Variable 10:===&lt;br /&gt;
&lt;br /&gt;
||Bit|Meaning&lt;br /&gt;
&lt;br /&gt;
0|Green&lt;br /&gt;
&lt;br /&gt;
1-3|Front facing: 0=SW, 1=NE, 2=NW, 3=SE, 4=E, 5=W, 6=S, 7=N&lt;br /&gt;
&lt;br /&gt;
4-5|Presignals: 0=norm, 1=entrance, 2=exit, 3=combo&lt;br /&gt;
&lt;br /&gt;
6|Semaphore&lt;br /&gt;
&lt;br /&gt;
7|PBS&lt;br /&gt;
&lt;br /&gt;
8|Restricted&lt;br /&gt;
&lt;br /&gt;
9|Programmed&lt;br /&gt;
&lt;br /&gt;
10|Through&lt;br /&gt;
&lt;br /&gt;
11|Inverted||&lt;br /&gt;
&lt;br /&gt;
Note: that these are the same bits as would be used to order action5 block type 4.&lt;br /&gt;
&lt;br /&gt;
===Variable 18===&lt;br /&gt;
&lt;br /&gt;
||Bit|Meaning&lt;br /&gt;
&lt;br /&gt;
0-7|~pp~L5 of signal tile&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; 0: track in X&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; 1: track in Y&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; 2: track in N&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; 3: track in S&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; 4: track in W&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; 5: track in E~/pp~&lt;br /&gt;
&lt;br /&gt;
8-15|Low half of L3 of tile, bits 4-7 bitmask of which signals present as shown below, bits 0-3: track type&lt;br /&gt;
&lt;br /&gt;
16-23|~pp~Which signal is currently being drawn, bit index of L3 signal mask:&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; * For track in the X direction:&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; 6: &amp;amp;nbsp;signal in the SW direction&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; 7: &amp;amp;nbsp;signal in the NE direction&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; * For track in the Y direction:&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; 6: &amp;amp;nbsp;signal in the NW direction&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; 7: &amp;amp;nbsp;signal in the SE direction&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; * For tracks in the W-E direction:&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; 4: &amp;amp;nbsp;signal in the W direction on the track in the S corner&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; 5: &amp;amp;nbsp;signal in the E direction on the track in the S corner&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; 6: &amp;amp;nbsp;signal in the W direction on the track in the N corner&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; 7: &amp;amp;nbsp;signal in the E direction on the track in the N corner&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; * For tracks in the N-S direction:&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; 4: &amp;amp;nbsp;signal in the S direction on the track in the E corner&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; 5: &amp;amp;nbsp;signal in the N direction on the track in the E corner&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; 6: &amp;amp;nbsp;signal in the S direction on the track in the W corner&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; 7: &amp;amp;nbsp;signal in the N direction on the track in the W corner~/pp~&lt;br /&gt;
&lt;br /&gt;
24-27|Land/Fence type&lt;br /&gt;
&lt;br /&gt;
28-31|Terrain type: 0=normal, 1=desert, 2=rainforest, 4=snow||&lt;br /&gt;
&lt;br /&gt;
===Parameterised var 60===&lt;br /&gt;
&lt;br /&gt;
Parameter is two signed nybble offsets to add to coordinates of tile.&lt;br /&gt;
&lt;br /&gt;
The low nybble is added to the X coordinate (top-right to bottom-left).&lt;br /&gt;
&lt;br /&gt;
The high nybble is added to the Y coordinate (top-left to bottom-right).&lt;br /&gt;
&lt;br /&gt;
The information is retrieved from the tile after the coordinates have been adjusted, starting from the tile which is currently being drawn.&lt;br /&gt;
&lt;br /&gt;
||Bit|Meaning&lt;br /&gt;
&lt;br /&gt;
0-7|L5&lt;br /&gt;
&lt;br /&gt;
8-15|L3 low&lt;br /&gt;
&lt;br /&gt;
16-20|Altitude of tile&amp;amp;lt;&amp;amp;lt;3&lt;br /&gt;
&lt;br /&gt;
21-25|Slope map of tile&lt;br /&gt;
&lt;br /&gt;
26|Tile has same owner&lt;br /&gt;
&lt;br /&gt;
27|Semaphores&lt;br /&gt;
&lt;br /&gt;
28|Tile has same track bits&lt;br /&gt;
&lt;br /&gt;
29|Tile has same slope and altitude&lt;br /&gt;
&lt;br /&gt;
30|Tile has signals&lt;br /&gt;
&lt;br /&gt;
31|Tile is a track tile||&lt;br /&gt;
&lt;br /&gt;
Return value cached in varaction2var 10&lt;br /&gt;
&lt;br /&gt;
=Output=&lt;br /&gt;
&lt;br /&gt;
===Callback return value:===&lt;br /&gt;
&lt;br /&gt;
||Bit|Meaning&lt;br /&gt;
&lt;br /&gt;
0|Use new sprites&lt;br /&gt;
&lt;br /&gt;
1-4|Num sprites, varaction2vars 0x20-2F&lt;br /&gt;
&lt;br /&gt;
5|Use recolour sprite specified in varaction2var 0x30&lt;br /&gt;
&lt;br /&gt;
6|Use ordinary signal sprite number: varaction2var 0x20, (this overrides all other bits)||&lt;br /&gt;
&lt;br /&gt;
===Varaction2var 20-2F value===&lt;br /&gt;
&lt;br /&gt;
||Bit|Meaning&lt;br /&gt;
&lt;br /&gt;
0-12|Sprite offset into action5 block 0E.&lt;br /&gt;
&lt;br /&gt;
13|Add sprite yrel to Y correction for next sprite (sub from 3D Z), (yrel must fit in a signed byte)&lt;br /&gt;
&lt;br /&gt;
14-18|Sprite Y (-3D Z) correction for next sprite, (signed), (added to total)~010~Overall change to 3D Z, (-Y correction), must be positive, else risk of TTD crashing&lt;br /&gt;
&lt;br /&gt;
19-23|Sprite Y (-3D Z) correction for this sprite only, (signed), (not added to total)&lt;br /&gt;
&lt;br /&gt;
24-27|Sprite X correction for next sprite &amp;amp;lt;&amp;amp;lt; 1, (signed), (added to total)&lt;br /&gt;
&lt;br /&gt;
28-31|Sprite X correction for this sprite only &amp;amp;lt;&amp;amp;lt; 1, (signed), (not added to total)||&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
A generic action 3 feature 0E should be used to reference the action 2.&lt;br /&gt;
&lt;br /&gt;
Callback 0x146 will call this action 3 when a signal is drawn.&lt;br /&gt;
&lt;br /&gt;
Should the GRF not support the type of signal indicated in variable 10, an invalid callback result should be returned. Returning 0 will prevent further new signal GRF files from being queried and will cause the default signal graphics to be used. Returning 0 should only be done to explicitly prevent lower priority new signals GRFs from possibly drawing the signal.&lt;br /&gt;
&lt;br /&gt;
The result to the callback should be returned as a calculation result.&lt;br /&gt;
&lt;br /&gt;
Bits 1-4 of the callback result indicate how many varaction2vars starting from 0x20 will be used to specify sprites, to be drawn. Operator 0E should be used to store the appropriate values in vars 0x20-2F and 30 as appropriate.&lt;br /&gt;
&lt;br /&gt;
Recolour sprites, specifed in varaction2var 0x30 and bit 5 of the callback result are applied for all of the sprites to be drawn.&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
===Example===&lt;br /&gt;
&lt;br /&gt;
[http://tt-forums.net/viewtopic.php?p=529007#529007|Example GRF with NFO, PCX components.]&lt;/div&gt;</summary>
		<author><name>Orudge</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=VariationalAction2/Industry_Tiles&amp;diff=651</id>
		<title>VariationalAction2/Industry Tiles</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=VariationalAction2/Industry_Tiles&amp;diff=651"/>
		<updated>2011-06-12T19:22:45Z</updated>

		<summary type="html">&lt;p&gt;Orudge: 14 revisions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Variational Action 2 Variables for Industry and Airport Tiles&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=Variational Action 2 Variables for Industry and Airport Tiles=&lt;br /&gt;
&lt;br /&gt;
VarAction2 for airport tiles is only available in OpenTTD r19204 or later&lt;br /&gt;
&lt;br /&gt;
||Variable|[[GRFActionsDetailed|&#039;&#039;&#039;Size&#039;&#039;&#039;]]|Content&lt;br /&gt;
&lt;br /&gt;
40|B|Construction state of the tile: a value between 0 and 3 (only defined for industries)&lt;br /&gt;
&lt;br /&gt;
41|B|Ground type, the same as variable 81 for [[VarAction2Canals|canals]]&lt;br /&gt;
&lt;br /&gt;
42|B|Current town zone of the tile in the nearest town&lt;br /&gt;
&lt;br /&gt;
43|D|Relative position&lt;br /&gt;
&lt;br /&gt;
44|B|Animation frame. Like [[VarAction2Houses#Current_animation_frame_46_|house variable 46]] but can contain anything 0..FF.&lt;br /&gt;
&lt;br /&gt;
60|D|Land info of nearby tiles&lt;br /&gt;
&lt;br /&gt;
61|D|Animation stage of nearby tiles&lt;br /&gt;
&lt;br /&gt;
62|D|Get industry or airport tile ID at offset||&lt;br /&gt;
&lt;br /&gt;
No 80+x variables are available (nor will they ever be). Try to access one will crash TTD.&lt;br /&gt;
&lt;br /&gt;
===Town zone (42)===&lt;br /&gt;
&lt;br /&gt;
Town zone where the building is situated (which is not necessarily the founder of the town). Zero if the tile isn&#039;t in a town. This is mostly useful for banks and other urban industries.&lt;br /&gt;
&lt;br /&gt;
===Relative position (43)===&lt;br /&gt;
&lt;br /&gt;
This is the position of the tile relative to the northernmost tile of the industry or airport.&lt;br /&gt;
&lt;br /&gt;
Format: 00yxYYXX&lt;br /&gt;
&lt;br /&gt;
||Variable|Content&lt;br /&gt;
&lt;br /&gt;
x|the x offset from the northernmost tile&lt;br /&gt;
&lt;br /&gt;
XX|same, but stored in a byte instead of a nibble&lt;br /&gt;
&lt;br /&gt;
y|the y offset from the northernmost tile&lt;br /&gt;
&lt;br /&gt;
YY|same, but stored in a byte instead of a nibble||&lt;br /&gt;
&lt;br /&gt;
Because of the fact that y and x are nibbles, they may contain incorrect values if your industry exceeds 16 tiles in either direction. This variable can be used to spare industry or airport tile IDs: the same tile type can choose different representation depending on where exactly it is inside the industry.&lt;br /&gt;
&lt;br /&gt;
===Land info of nearby tiles (60)===&lt;br /&gt;
&lt;br /&gt;
The parameter of this variable is an offset from the position of the current tile. The low nibble contains the signed X offset (that is 0h=0, 1h=+1 ... 7h=+7, 8h=-8, 9h=-7 ... Fh=-1), the high nibble contains the Y offset. Therefore the parameter 00h accesses the current tile itself. The returned doubleword is in the format rczzbbss, where the meaning of the letters is:&lt;br /&gt;
* &#039;&#039;&#039;r&#039;&#039;&#039; is reserved for future use&lt;br /&gt;
* &#039;&#039;&#039;c&#039;&#039;&#039; contains the [http://marcin.ttdpatch.net/sv1codec/TTD-locations.html#Landscape|landscape class] of the tile. (only from alpha 72 and above)&lt;br /&gt;
* &#039;&#039;&#039;zz&#039;&#039;&#039; is the height of the lowest corner of the tile. Always a multiple of 8&lt;br /&gt;
* &#039;&#039;&#039;bb&#039;&#039;&#039; is a bit field, the meaning of the individual bits are: ||Bit|Value|Meaning&lt;br /&gt;
&lt;br /&gt;
0|1|The tile is an industry tile, and belongs to the same industry as the current one&lt;br /&gt;
&lt;br /&gt;
1|2|The tile has water on it. This flag is set for coasts as well. If you need a full water tile, check the slope data as well. If it&#039;s zero (flat tile), the tile is fully watered.&lt;br /&gt;
&lt;br /&gt;
2..4| |(From alpha 70) 0 - normal tile; 1 - desert; 2 - rainforest; 4 - snowy tile&lt;br /&gt;
&lt;br /&gt;
other bits| |reserved for future use||&lt;br /&gt;
* &#039;&#039;&#039;ss&#039;&#039;&#039; contains the slope data of the tile. The meaning of the individual bits is: ||Bit|Value|Meaning&lt;br /&gt;
&lt;br /&gt;
0|1|West corner is above the lowest&lt;br /&gt;
&lt;br /&gt;
1|2|South corner is above the lowest&lt;br /&gt;
&lt;br /&gt;
2|4|East corner is above the lowest&lt;br /&gt;
&lt;br /&gt;
3|8|North corner is above the lowest&lt;br /&gt;
&lt;br /&gt;
4|16|The tile is a steep slope (i.e. the corner opposite to the lowest one is two units higher)&lt;br /&gt;
&lt;br /&gt;
other bits| |always zero||&lt;br /&gt;
&lt;br /&gt;
The resulting, possible values for this byte are illustrated in this image (from OpenTTD docs):&lt;br /&gt;
&lt;br /&gt;
It is sometimes more useful to know the height of the highest corner of the tile. This can be computed with &amp;amp;quot;zz/8 +&lt;/div&gt;</summary>
		<author><name>Orudge</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=VariationalAction2/Industries&amp;diff=636</id>
		<title>VariationalAction2/Industries</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=VariationalAction2/Industries&amp;diff=636"/>
		<updated>2011-06-12T19:22:45Z</updated>

		<summary type="html">&lt;p&gt;Orudge: 12 revisions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Variational Action 2 Variables for Industries&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=Variational Action 2 Variables for Industries=&lt;br /&gt;
&lt;br /&gt;
{maketoc}&lt;br /&gt;
&lt;br /&gt;
||Variable|Content&lt;br /&gt;
&lt;br /&gt;
40..42|Waiting cargo&lt;br /&gt;
&lt;br /&gt;
43|Manhattan distance of closest dry/land tile&lt;br /&gt;
&lt;br /&gt;
44|Layout number (1-based)&lt;br /&gt;
&lt;br /&gt;
45|Player info&lt;br /&gt;
&lt;br /&gt;
46|Date when industry was built in days since year 0&lt;br /&gt;
&lt;br /&gt;
60|Get industry tile ID at offset&lt;br /&gt;
&lt;br /&gt;
61|Get random tile bits at offset&lt;br /&gt;
&lt;br /&gt;
62|Land info of nearby tiles&lt;br /&gt;
&lt;br /&gt;
63|Animation stage of nearby tiles&lt;br /&gt;
&lt;br /&gt;
64|Distance of nearest industry with given type&lt;br /&gt;
&lt;br /&gt;
65|Get town zone and Manhattan distance of closest town&lt;br /&gt;
&lt;br /&gt;
66|Get square of Euclidean distance of closest town&lt;br /&gt;
&lt;br /&gt;
67|Count of industry, distance of closest instance&lt;br /&gt;
&lt;br /&gt;
68|Like the above, but with layout filter&lt;br /&gt;
&lt;br /&gt;
A7|Industry founder information&lt;br /&gt;
&lt;br /&gt;
B0|Date when industry was built in days since 1920&lt;br /&gt;
&lt;br /&gt;
B3|Construction type&lt;br /&gt;
&lt;br /&gt;
B4|Date when cargo was last accepted in days since 1920, or 0 if no cargo was ever accepted (available since 2.6 r1321)||&lt;br /&gt;
&lt;br /&gt;
For other 80+x variables confer the [http://marcin.ttdpatch.net/sv1codec/TTD-locations.html#_IndustryArray|TTD industry structure].&lt;br /&gt;
&lt;br /&gt;
===Waiting cargo (40..42)===&lt;br /&gt;
&lt;br /&gt;
If bit 1 or 2 is set in property 21, these variables contain the amount of incoming cargo waiting to be processed. (40 gives the amount of the first type waiting, 41 gives the same for the second type etc.) These variables are capped at FFFFh (65535).&lt;br /&gt;
&lt;br /&gt;
===Manhattan distance of closest dry/land tile (43)===&lt;br /&gt;
&lt;br /&gt;
(from r1298)&lt;br /&gt;
&lt;br /&gt;
This variable works the same way as var. 8B does during callback 28: if your industry is built on water, it gives the distance of the closest dry land tile, otherwise it gives the distance of the closest water tile. However, you can&#039;t use this variable during callback 28; you must always use 8B.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;PLEASE NOTE&#039;&#039;&#039;: This variable is rather expensive to compute because, in the worst case, it has to check all tiles on the map before it gives up looking for a good tile. Try to avoid it in frequent callbacks such as the production callback, animation callbacks (unless the animation is slow, around 1 frame per game day or slower). It is, however, OK to use it during the production change callbacks.&lt;br /&gt;
&lt;br /&gt;
===Layout number (44)===&lt;br /&gt;
&lt;br /&gt;
If the industry was created running TTDPatch 2.6 r1594 or later, this variable returns the number of the current layout. The first layout will return 01, the second 02, etc. In other words, this is one larger than what you get in variable 86 during callback 28.&lt;br /&gt;
&lt;br /&gt;
If the industry was created using an earlier version of TTDPatch, or while newindustries was off, the result will be zero.&lt;br /&gt;
&lt;br /&gt;
===Player info (45)===&lt;br /&gt;
&lt;br /&gt;
(From 2.6 r1711)&lt;br /&gt;
&lt;br /&gt;
As [[VarAction2Vehicles#Player_info_43_|vehicle variable 43]], except that the no-player state is indicated by var A7 being 10h.&lt;br /&gt;
&lt;br /&gt;
===Date when industry was built in days since year 0 (46)===&lt;br /&gt;
&lt;br /&gt;
(From OpenTTD r13443, 2.6 r2047)&lt;br /&gt;
&lt;br /&gt;
Exact same behaviour as var B0, but based on year 0, instead of year 1920&lt;br /&gt;
&lt;br /&gt;
In TTDPatch, industry age is limited to 65535 days (approximately 180 years) -- build date is never more than 65535 days ago.&lt;br /&gt;
&lt;br /&gt;
===Get industry tile ID at offset (60)===&lt;br /&gt;
&lt;br /&gt;
(from TTDPatch 2.0.1 alpha 73 and above only)&lt;br /&gt;
&lt;br /&gt;
The parameter of this variable is an offset from the northernmost tile of the industry: the high nibble contains the Y offset, the low one the X offset; both are unsigned. The high word of the return value is currently reserved, and the low word can be:&lt;br /&gt;
* 00xxh if the tile is an industry tile and was defined in the current GRF with ID xx.&lt;br /&gt;
* FFxxh if the tile is an industry tile of an old type, and has the ID xx.&lt;br /&gt;
* FFFEh if the tile is an industry tile that was defined in another GRF file&lt;br /&gt;
* FFFFh if the tile isn&#039;t an industry tile, or doesn&#039;t belong to the current industry&lt;br /&gt;
&lt;br /&gt;
===Get random tile bits at offset (61)===&lt;br /&gt;
&lt;br /&gt;
(from TTDPatch 2.0.1 alpha 73 and above only)&lt;br /&gt;
&lt;br /&gt;
The parameter of this variable is an offset from the northernmost tile of the industry: the high nibble contains the Y offset, the low one the X offset; both are unsigned. If there&#039;s an industry tile on that offset and it belongs to the current industry, the lowest byte of the return value will contain the random bits of that tile. Otherwise, the lowest byte will be zero.&lt;br /&gt;
&lt;br /&gt;
The other bytes are reserved for future use.&lt;br /&gt;
&lt;br /&gt;
===Land info of nearby tiles (62)===&lt;br /&gt;
&lt;br /&gt;
(from TTDPatch 2.0.1 alpha 74 and above only)&lt;br /&gt;
&lt;br /&gt;
The parameter of this variable is an offset from the northernmost tile of the industry: the high nibble contains the Y offset, the low one the X offset; both are unsigned. This variable returns the same values as [[VarAction2IndustryTiles#Land_info_of_nearby_tiles_60_|industry tile variable 60]], in the same format, except that bit 0 in the &#039;&#039;&#039;bb&#039;&#039;&#039; part is undefined. The offset should be given relatively to the north corner of the industry.&lt;br /&gt;
&lt;br /&gt;
===Animation stage of nearby tiles (63)===&lt;br /&gt;
&lt;br /&gt;
The parameter of this variable is an offset from the northernmost tile of the industry: the high nibble contains the Y offset, the low one the X offset; both are unsigned. This variable returns the same values as [[VarAction2IndustryTiles#Animation_stage_for_nearby_tiles_61_|industry tile variable 61]], in the same format. The offset should be given relatively to the north corner of the industry.&lt;br /&gt;
&lt;br /&gt;
===Distance of nearest industry with given type (64)===&lt;br /&gt;
&lt;br /&gt;
The format of the parameter is the same as for industry property 16: either the ID of a new type with bit 7 set, or the ID of an old type. The returned value is FFFFFFFFh if there are no industries with the given type (not counting the current one, if it has the given type); otherwise, the returned value is the Manhattan distance of the closest industry with the given type.&lt;br /&gt;
&lt;br /&gt;
===Get town zone and Manhattan distance of closest town (65)===&lt;br /&gt;
&lt;br /&gt;
The parameter gives an offset from the northernmost tile of the industry: the high nibble means the Y offset, the low nibble means the X offset, both signed. The returned value is rrzzdddd, where rr is reserved for future use, zz is the town zone of the selected tile, while dddd is the Manhattan distance of the closest town.&lt;br /&gt;
&lt;br /&gt;
===Get square of Euclidean distance of closest town (66)===&lt;br /&gt;
&lt;br /&gt;
The parameter works like for var. 65, but the result is the Euclidean distance of the closest town, squared.&lt;br /&gt;
&lt;br /&gt;
===Count of industry, distance of closest instance (67, 68)===&lt;br /&gt;
&lt;br /&gt;
Variable 67 gets two parameters: the GRFID of the GRF where the industry is defined in register 100h (can be written using operator 0E of [[VarAction2Advanced|variational action 2]]) and the setID of the industry as the regular parameter. There are two special cases for the GRFID: 00000000h means you&#039;re checking for a default TTD industry type, while FFFFFFFFh can be used instead of the GRFID of the current GRF.&lt;br /&gt;
&lt;br /&gt;
The return value has the format rrccdddd, where rr is reserved for future use, cc is the number of instances of the industry type and dddd is the Manhattan distance of the closest instance, of FFFFh if not appliable.&lt;br /&gt;
&lt;br /&gt;
You may note that this variable can be used instead of variable 64. This variable is the preferred way to get this information since it allows you to check industries defined in other GRFs as well. Variable 64 will stay for backward compatibility only.&lt;br /&gt;
&lt;br /&gt;
Variable 68 works like variable 67, except that you can put a layout number in the lowest byte of register 101. (The other bits are reserved for future use, leave them zero for now.) This layout number should be 1-based (the first layout is 01, not 00). Only industries with the given layout are considered for counting and calculating distance. As a special case, if the layout number is 00, all layouts are counted, and so the result is the same as with variable 67.&lt;br /&gt;
&lt;br /&gt;
Since OpenTTD r22434, it is possible to filter by the town of the current industry. If the bit number 8 is set, only industries in the same town than the current one will be considered.&lt;br /&gt;
&lt;br /&gt;
===Industry founder information (A7)===&lt;br /&gt;
&lt;br /&gt;
Since TTDPatch 2.0.1 alpha 74, this byte contains the ID of the company that funded the industry, or 10h if the industry was generated randomly. If the industry was built using an earlier TTDPatch version or with newindustries turned off, this field is 10h.&lt;br /&gt;
&lt;br /&gt;
===Construction type (B3)===&lt;br /&gt;
&lt;br /&gt;
This byte tells you how the industry got onto the map. The following values are possible:&lt;br /&gt;
&lt;br /&gt;
||Value|Meaning&lt;br /&gt;
&lt;br /&gt;
0|Unknown - This industry was built with newindustries being off, or in a TTDPatch version prior to 2.0.1 alpha 74&lt;br /&gt;
&lt;br /&gt;
1|Created during normal gameplay, either by a player or the in-game random industry generator&lt;br /&gt;
&lt;br /&gt;
2|Created during random map generation&lt;br /&gt;
&lt;br /&gt;
3|Created in the scenario editor||&lt;br /&gt;
&lt;br /&gt;
In case 1, you can check variable A7 to find out whether the industry was funded by a player or by the random generator.&lt;/div&gt;</summary>
		<author><name>Orudge</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=VariationalAction2/Houses&amp;diff=623</id>
		<title>VariationalAction2/Houses</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=VariationalAction2/Houses&amp;diff=623"/>
		<updated>2011-06-12T19:22:45Z</updated>

		<summary type="html">&lt;p&gt;Orudge: 13 revisions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Variational Action 2 Variables for Houses&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=Variational Action 2 Variables for Houses=&lt;br /&gt;
&lt;br /&gt;
{maketoc}&lt;br /&gt;
&lt;br /&gt;
||Variable|Version*|[[GRFActionsDetailed|&#039;&#039;&#039;Size&#039;&#039;&#039;]]|Content&lt;br /&gt;
&lt;br /&gt;
40| |B|Construction stage and pseudo-random values&lt;br /&gt;
&lt;br /&gt;
41| |B|Age of the building in years (or, strictly speaking, the difference between the current year and the year the building was built). Returns 255 for buildings older than 255 years.&lt;br /&gt;
&lt;br /&gt;
42|2.0.1a43|B|Town zone where the building is situated.&lt;br /&gt;
&lt;br /&gt;
43| |B|Terrain type: 0 normal, 1 desert, 2 rainforest, 4 on or above snowline&lt;br /&gt;
&lt;br /&gt;
44|2.0.1a43|D|Building counts&lt;br /&gt;
&lt;br /&gt;
45|2.0.1a38|B|Town expansion bits&lt;br /&gt;
&lt;br /&gt;
46|2.0.1a67|B|Current animation frame&lt;br /&gt;
&lt;br /&gt;
47|2.6r2020 / r14294|D|XY Coordinate of the building&lt;br /&gt;
&lt;br /&gt;
60|2.0.1a56|D|Other building counts&lt;br /&gt;
&lt;br /&gt;
61|2.0.1a56|D|Other building counts&lt;br /&gt;
&lt;br /&gt;
62|2.0.1a72|D|Land info for nearby tiles&lt;br /&gt;
&lt;br /&gt;
63|2.6r1665|B|Current animation frame of nearby house tiles&lt;br /&gt;
&lt;br /&gt;
64|2.6r1672|B|Cargo acceptance history of nearby stations&lt;br /&gt;
&lt;br /&gt;
65|2.6r2242 / r13603|B|Distance of nearest house matching a given criterion&lt;br /&gt;
&lt;br /&gt;
66|2.6r2246|D|Class and ID of nearby house tile&lt;br /&gt;
&lt;br /&gt;
67|2.6r2246|D|GRFID of nearby house tile&lt;br /&gt;
&lt;br /&gt;
80+x|None defined, and none ever will because town buildings don&#039;t have an internal structure. Trying to access these variables crashes TTD.||&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt; Specified version is earliest known to support the variable in its current form. Some variables may have been available earlier.&lt;br /&gt;
&lt;br /&gt;
===Construction stage and pseudo-random values (40)===&lt;br /&gt;
&lt;br /&gt;
||Bits|Meaning&lt;br /&gt;
&lt;br /&gt;
0..1|Construction state: 0..2: various states of construction, 3: construction finished&lt;br /&gt;
&lt;br /&gt;
2..3|A pseudo-random value. It isn&#039;t actually random, but is derived from the position of the building. Old buildings use this value to randomize their colors. TTDPatch has a better way to randomize things, but you can still use that value to mimic unpatched TTD behaviour. Note that adjacent tiles aren&#039;t guaranteed to have the same pseudo-random bits||&lt;br /&gt;
&lt;br /&gt;
===Town zone (42)===&lt;br /&gt;
&lt;br /&gt;
Town zone where the building is situated. The value is between 0 and 4, where 0 is the outermost zone of the town. Smaller towns have fewer zones. Roads are plain in zone 0 and 1, paved in zone 2, have trees in zone 3 and streetlights in zone 4&lt;br /&gt;
&lt;br /&gt;
===Building counts (44)===&lt;br /&gt;
&lt;br /&gt;
Returns dword LLllCCcc, where cc means how many buildings of the current type can be found in the current town, while CC is the same for the whole map. ll and LL are similar to cc and CC, but contain the number of tiles that have the same class as the current one. For tiles that have no class, ll and LL are always zero. Overridden old types are considered to be the new type they were overridden with. During callback 17, the current building isn&#039;t on the map yet, and therefore isn&#039;t counted. In other cases, the building count is at least one, since the current building is counted as well.&lt;br /&gt;
&lt;br /&gt;
===Town expansion bits (45)===&lt;br /&gt;
&lt;br /&gt;
||Bit|Value|Meaning&lt;br /&gt;
&lt;br /&gt;
0|1|Set if TTD is currently creating a random town, clear otherwise. PLEASE NOTE: while TTD is generating a random town, town variables 82 (town population) and B6 (number of buildings) are incorrect. The population counter contains the population of buildings generated _yet_, which means the final value may be larger than you get. The building count variable, on the other hand, is surely higher than the final value will be. If you want to check these variables during callback 17, you may need to check variable 45 as well and make adjustments if this bit is set.||&lt;br /&gt;
&lt;br /&gt;
Other bits are currently reserved for future use.&lt;br /&gt;
&lt;br /&gt;
===Current animation frame (46)===&lt;br /&gt;
&lt;br /&gt;
The current animation frame being displayed. If you don&#039;t use animation callbacks, it&#039;s between zero and the value set in property 1A. Animation callbacks can set this to anything between 0 and 127.&lt;br /&gt;
&lt;br /&gt;
Enabling animation on a house tile by setting properties 9, 1A and probably 1B ensures that property 46 will indeed change with time, and the building is redrawn every time property 46 changes. This means that you can use a variational action 2 to choose the current frame according to property 46. Please note that this kind of animation needs more CPU time and more sprites, so you should prefer palette animation if possible.&lt;br /&gt;
&lt;br /&gt;
===XY Coordinate of the building (47)===&lt;br /&gt;
&lt;br /&gt;
The coordinate of the tile this part of the building is located. &amp;amp;nbsp;If the building is not yet constructed, like during callback 17, the returned value will be the proposed location. &amp;amp;nbsp;The format of the var is YYYYXXXX.&lt;br /&gt;
&lt;br /&gt;
===Other building counts (60, 61)===&lt;br /&gt;
&lt;br /&gt;
For variable 60, the parameter is an old house type number. For variable 61, it is a new house type number defined in the current GRF file.&lt;br /&gt;
&lt;br /&gt;
These variables work like variable 44, but they count the given house type instead of the current one.&lt;br /&gt;
&lt;br /&gt;
Please note that, unlike random graphics, changes of deterministic building graphics don&#039;t automatically redraw the building (except when either the construction state or property 46 changes), resulting in temporary graphics glitches when a visible building changes its graphics. These glitches can be fixed by scrolling the building out of view, then back again.&lt;br /&gt;
&lt;br /&gt;
===Land info for nearby tiles (62)===&lt;br /&gt;
&lt;br /&gt;
This variable works exactly like [[VarAction2IndustryTiles#Land_info_of_nearby_tiles_60_|var. 60 for industry tiles]], except that bit 0 of the &#039;&#039;&#039;bb&#039;&#039;&#039; part is undefined.&lt;br /&gt;
&lt;br /&gt;
===Current animation frame of nearby house tiles (63)===&lt;br /&gt;
&lt;br /&gt;
The parameter of this variable is an offset from the position of the current tile. The low nibble contains the signed X offset (that is 0h=0, 1h=+1 ... 7h=+7, 8h=-8, 9h=-7 ... Fh=-1), the high nibble contains the Y offset. Although you can query a 16x16 area with these parameters, it&#039;s currently useless to use offsets other than -1, 0 and +1; if you query a tile that doesn&#039;t belong to the same building as the current tile, the result is meaningless. It may even be junk if the queried tile isn&#039;t a house tile at all.&lt;br /&gt;
&lt;br /&gt;
===Cargo acceptance history of nearby stations (64)===&lt;br /&gt;
&lt;br /&gt;
The parameter of this variable is a cargo identifier. If your GRF is version 7 or later and has a cargo translation table, this is an index to that table; otherwise, it&#039;s a cargo slot number. Additionally, GRF register 100h should contain an offset relative to the current tile (use 0 for the current tile). The returned value looks like this:&lt;br /&gt;
&lt;br /&gt;
||Bit number|Meaning&lt;br /&gt;
&lt;br /&gt;
0|This cargo was accepted in a nearby station some time in the past&lt;br /&gt;
&lt;br /&gt;
1|This cargo was accepted in a nearby station last month&lt;br /&gt;
&lt;br /&gt;
2|This cargo was accepted in a nearby station this month&lt;br /&gt;
&lt;br /&gt;
3|This cargo was accepted in a nearby station since the last periodic processing (which happens every 250 ticks)&lt;br /&gt;
&lt;br /&gt;
4|This cargo is one of the types that triggered callback 148 (only during callback 148)&lt;br /&gt;
&lt;br /&gt;
other bits|undefined; reserved for future use||&lt;br /&gt;
&lt;br /&gt;
A station is considered nearby if the selected tile is inside its acceptance area. That&#039;s why you can give an offset - other tiles of your multi-tile building may have different stations &amp;amp;quot;nearby&amp;amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The information required for this variable is stored in the station2 structure, and therefore works only if the station2 structure is present. The station2 structure is present if any of the following is true:&lt;br /&gt;
* Generalfixes is on, and miscmods.noextendstationrange is off&lt;br /&gt;
* Any of fifoloading, newcargos or irregularstations is on&lt;br /&gt;
&lt;br /&gt;
If the station2 structure isn&#039;t present, the returned value is always zero.&lt;br /&gt;
&lt;br /&gt;
===Distance of nearest house matching a given criterion (65)===&lt;br /&gt;
&lt;br /&gt;
This will perform a circular search around the current tile, trying to find another house tile that will match the same type, class or grfID. (Note: other tiles of the originating house will not match.) &amp;amp;nbsp;Search result will be the [http://en.wikipedia.org/wiki/Taxicab_geometry|Manhattan distance] between both tiles or 0, if no house tile matching the given criteria has been found.&lt;br /&gt;
&lt;br /&gt;
The parameter of this variable is composed of two parts:&lt;br /&gt;
&lt;br /&gt;
Bits 0..5 indicate the radius of the search going to be performed (given in Manhattan metric). Maximum search radius is 63 while the minimum is 1. A radius of 0 is considered reserved - do not use.&lt;br /&gt;
&lt;br /&gt;
Bits 6..7 indicate the type of search to be carried out:&lt;br /&gt;
&lt;br /&gt;
0 : Search by house type as defined in the grf file&lt;br /&gt;
&lt;br /&gt;
1 : Search by building class&lt;br /&gt;
&lt;br /&gt;
2 : Search by grfID&lt;br /&gt;
&lt;br /&gt;
Just like other search variables, be aware that this is a CPU intensive one&lt;br /&gt;
&lt;br /&gt;
===Class and ID of nearby house tile (66)===&lt;br /&gt;
&lt;br /&gt;
The parameter of this variable is an offset from the position of the current tile. The low nibble contains the signed X offset (that is 0h=0, 1h=+1 ... 7h=+7, 8h=-8, 9h=-7 ... Fh=-1), the high nibble contains the Y offset. The returned value is structured like this:&lt;br /&gt;
&lt;br /&gt;
||High word|Information about house class&lt;br /&gt;
&lt;br /&gt;
|&#039;&#039;&#039;FFFFh&#039;&#039;&#039; if the selected tile isn&#039;t a house tile&lt;br /&gt;
&lt;br /&gt;
|&#039;&#039;&#039;0000h&#039;&#039;&#039; if the selected house doesn&#039;t have a class specified (including old houses, which cannot have a class)&lt;br /&gt;
&lt;br /&gt;
|&#039;&#039;&#039;01XXh&#039;&#039;&#039; if the selected house has been defined in the current GRF with class XX&lt;br /&gt;
&lt;br /&gt;
|&#039;&#039;&#039;02XXh&#039;&#039;&#039; if the selected house has been defined in a different GRF with class XX&lt;br /&gt;
&lt;br /&gt;
Low word|Information about house ID&lt;br /&gt;
&lt;br /&gt;
|&#039;&#039;&#039;FFFFh&#039;&#039;&#039; if the selected tile isn&#039;t a house tile&lt;br /&gt;
&lt;br /&gt;
|&#039;&#039;&#039;00XXh&#039;&#039;&#039; if the selected house is old house type XX&lt;br /&gt;
&lt;br /&gt;
|&#039;&#039;&#039;01XXh&#039;&#039;&#039; if the selected house has been defined in the current GRF with ID XX&lt;br /&gt;
&lt;br /&gt;
|&#039;&#039;&#039;02XXh&#039;&#039;&#039; if the selected house has been defined in a different GRF with ID XX||&lt;br /&gt;
&lt;br /&gt;
In case the selected house comes from another GRF, you need to use variable 67 (see below) to find out the corresponding GRFID and identify the exact type of the house. Please note that variable 67 is cheaper to calculate than this one, so if you are looking for a specific GRFID/houseID combination, you should try matching the GRFID first, and get variable 66 only if the GRFID matches.&lt;br /&gt;
&lt;br /&gt;
===GRFID of nearby house tile (67)===&lt;br /&gt;
&lt;br /&gt;
The parameter of this variable is an offset from the position of the current tile. The low nibble contains the signed X offset (that is 0h=0, 1h=+1 ... 7h=+7, 8h=-8, 9h=-7 ... Fh=-1), the high nibble contains the Y offset. The returned value is one of the following:&lt;br /&gt;
* &#039;&#039;&#039;FFFFFFFFh&#039;&#039;&#039; if the selected tile isn&#039;t a house tile&lt;br /&gt;
* &#039;&#039;&#039;00000000h&#039;&#039;&#039; if the selected house is an old house type&lt;br /&gt;
* otherwise, the GRFID of the GRF which defined the type of the selected house&lt;/div&gt;</summary>
		<author><name>Orudge</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=VariationalAction2/Towns&amp;diff=609</id>
		<title>VariationalAction2/Towns</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=VariationalAction2/Towns&amp;diff=609"/>
		<updated>2011-06-12T19:22:45Z</updated>

		<summary type="html">&lt;p&gt;Orudge: 7 revisions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Variational Action 2 Variables for Cities&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=Variational Action 2 Variables for Cities=&lt;br /&gt;
&lt;br /&gt;
These are accessed by using a type 82/86/8A action 2 for stations, town buildings, or industries.&lt;br /&gt;
&lt;br /&gt;
||Variable|Size|Content&lt;br /&gt;
&lt;br /&gt;
40|B|Larger town effect on this town&lt;br /&gt;
&lt;br /&gt;
41|B|Town index&lt;br /&gt;
&lt;br /&gt;
82|W|Population&lt;br /&gt;
&lt;br /&gt;
94..9C|W*5|5 WORD values of the town zone radii&lt;br /&gt;
&lt;br /&gt;
B6|W|number of buildings||&lt;br /&gt;
&lt;br /&gt;
For other 80+x variables confer the [http://marcin.ttdpatch.net/sv1codec/TTD-locations.html#_TownArray|TTD town structure].&lt;br /&gt;
&lt;br /&gt;
==Larger town effect (40)==&lt;br /&gt;
&lt;br /&gt;
This returns how the &amp;amp;quot;largertowns&amp;amp;quot; switch affects this town:&lt;br /&gt;
&lt;br /&gt;
||Value|Meaning&lt;br /&gt;
&lt;br /&gt;
0|largertowns is enabled, but it won&#039;t allow this town to grow larger than usual&lt;br /&gt;
&lt;br /&gt;
1|largertowns is enabled, and it allows to grow this town larger&lt;br /&gt;
&lt;br /&gt;
2|largertowns is disabled, so no towns are allowed to grow larger||&lt;br /&gt;
&lt;br /&gt;
==Town index (41)==&lt;br /&gt;
&lt;br /&gt;
This returns the index of the town in the town array. This value is between 0 and 69 (inclusive). You can use this value to treat some towns specially. (For example, the first town on the map can be considered the capital and you can allow a Parliament to be built there, but nowhere else)&lt;/div&gt;</summary>
		<author><name>Orudge</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=VariationalAction2/Cargos&amp;diff=601</id>
		<title>VariationalAction2/Cargos</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=VariationalAction2/Cargos&amp;diff=601"/>
		<updated>2011-06-12T19:22:45Z</updated>

		<summary type="html">&lt;p&gt;Orudge: 4 revisions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Variational Action 2 Variables for cargos&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=Variational Action 2 Variables for cargos=&lt;br /&gt;
&lt;br /&gt;
Currently, cargos don&#039;t have 40+x, 60+x, or 80+x variables, but they might be added later.&lt;/div&gt;</summary>
		<author><name>Orudge</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=VariationalAction2/Canals&amp;diff=596</id>
		<title>VariationalAction2/Canals</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=VariationalAction2/Canals&amp;diff=596"/>
		<updated>2011-06-12T19:22:44Z</updated>

		<summary type="html">&lt;p&gt;Orudge: 4 revisions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Variational Action 2 Variables for Canals&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=Variational Action 2 Variables for Canals=&lt;br /&gt;
&lt;br /&gt;
||&#039;&#039;&#039;Variable&#039;&#039;&#039;|&#039;&#039;&#039;Version&#039;&#039;&#039;|[[GRFActionsDetailed|&#039;&#039;&#039;Size&#039;&#039;&#039;]]|&#039;&#039;&#039;Content&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
80| |B|Height above ground, top parts of locks have the same height as the lower parts.&lt;br /&gt;
&lt;br /&gt;
81| |B|Terrain type: 0 normal, 1 desert, 2 rainforest, 4 on or above snowline&lt;br /&gt;
&lt;br /&gt;
82| |B|reversed for internal usage, dikemap&lt;br /&gt;
&lt;br /&gt;
83|a|B|Random byte for plain canals and river tiles, otherwise zero (under bridges as example, or old savegames)||&lt;br /&gt;
&lt;br /&gt;
(a) 2.6 r1562&lt;br /&gt;
&lt;br /&gt;
Variational Action 2 are available for IDs 0/1/2/5/6 &amp;amp;nbsp;(Watercliffs, Locks, Dikes, River Slopes, River waterside)&lt;/div&gt;</summary>
		<author><name>Orudge</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=VariationalAction2/Bridges&amp;diff=591</id>
		<title>VariationalAction2/Bridges</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=VariationalAction2/Bridges&amp;diff=591"/>
		<updated>2011-06-12T19:22:44Z</updated>

		<summary type="html">&lt;p&gt;Orudge: 4 revisions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Variational Action 2 Variables for Bridges&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=Variational Action 2 Variables for Bridges=&lt;br /&gt;
&lt;br /&gt;
{maketoc}&lt;br /&gt;
&lt;br /&gt;
||Variable|[[GRFActionsDetailed|&#039;&#039;&#039;Size&#039;&#039;&#039;]]|Content&lt;br /&gt;
&lt;br /&gt;
40|B|Age of the bridge in years (or, strictly speaking, the difference between the current year and the year the building was built). Returns 255 for buildings older than 255 years.&lt;br /&gt;
&lt;br /&gt;
41|B|Terrain type: 0 normal, 1 desert, 2 rainforest, 4 on or above snowline&lt;br /&gt;
&lt;br /&gt;
80+x| |None defined yet, Trying to access these variables crashes TTD.||&lt;br /&gt;
&lt;br /&gt;
===Age of the bridge in years (40)===&lt;br /&gt;
&lt;br /&gt;
The age of the bridge&lt;br /&gt;
&lt;br /&gt;
===Terrain type (41)===&lt;br /&gt;
&lt;br /&gt;
Terrain type: 0 normal, 1 desert, 2 rainforest, 4 on or above snowline&lt;/div&gt;</summary>
		<author><name>Orudge</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=VarAction2Advanced&amp;diff=586</id>
		<title>VarAction2Advanced</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=VarAction2Advanced&amp;diff=586"/>
		<updated>2011-06-12T19:22:44Z</updated>

		<summary type="html">&lt;p&gt;Orudge: 13 revisions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Advanced features of Variational Action 2&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=Advanced features of Variational Action 2=&lt;br /&gt;
&lt;br /&gt;
Using advanced calculations instead of simple variable access&lt;br /&gt;
&lt;br /&gt;
-=Introduction=-&lt;br /&gt;
&lt;br /&gt;
A regular action 2 can access one variable and perform limited modifications on it (shift, and, add, divide/modulo). Using an advanced action 2, it is possible to do a nearly unlimited number of many different operations on several variables.&lt;br /&gt;
&lt;br /&gt;
In addition, using procedure calls (with variable 7E), it is possible to reuse variational action 2 blocks in several places on the NFO code.&lt;br /&gt;
&lt;br /&gt;
-=Format=-&lt;br /&gt;
&lt;br /&gt;
An advanced variational action 2 looks as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; -+&amp;amp;lt;Sprite-number&amp;amp;gt; * &amp;amp;lt;Length&amp;amp;gt; 02 &amp;amp;lt;feature&amp;amp;gt; &amp;amp;lt;set-id&amp;amp;gt; &amp;amp;lt;type&amp;amp;gt; &amp;amp;lt;variable&amp;amp;gt; &amp;amp;lt;varadjust&amp;amp;gt; &#039;&#039;&#039;&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;[&amp;amp;lt;operator&amp;amp;gt; &amp;amp;lt;variable&amp;amp;gt; &amp;amp;lt;varadjust&amp;amp;gt;]&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;...&#039;&#039;&#039; &amp;amp;lt;nvar&amp;amp;gt; (&amp;amp;lt;set-id&amp;amp;gt; &amp;amp;lt;low-range&amp;amp;gt; &amp;amp;lt;high-range&amp;amp;gt;){n} &amp;amp;lt;default&amp;amp;gt;+-&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The new elements are the &amp;amp;lt;operator&amp;amp;gt; (a byte), followed by another &amp;amp;lt;variable&amp;amp;gt; and &amp;amp;lt;varadjust&amp;amp;gt; pair. &amp;amp;nbsp;This sequence may be repeated as often as necessary, by setting the appropriate bit in the previous &amp;amp;lt;varadjust&amp;amp;gt; (see below).&lt;br /&gt;
&lt;br /&gt;
===varadjust===&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;varadjust&amp;amp;gt; itself has the same format as a regular var. action 2, however to perform a calculation, bit 5 in &amp;amp;lt;shift-num&amp;amp;gt; has to be set:&lt;br /&gt;
&lt;br /&gt;
||Bit(s)|value|meaning&lt;br /&gt;
&lt;br /&gt;
0..4|0..1F|number of bits to right shift &amp;amp;lt;variable&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
5|20|&#039;&#039;&#039;an &amp;amp;lt;operator&amp;amp;gt; &amp;amp;lt;variable&amp;amp;gt; &amp;amp;lt;varadjust&amp;amp;gt; triple follows this &amp;amp;lt;varadjust&amp;amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
6|40|This is a shift-and-add-divide adjustment.&lt;br /&gt;
&lt;br /&gt;
7|80|This is a shift-and-add-modulo adjustment.||&lt;br /&gt;
&lt;br /&gt;
Bit 5 needs to be set for each &amp;amp;lt;shift-num&amp;amp;gt;, except the last one that isn&#039;t going to be followed by another calculation (i.e., &amp;amp;lt;operator&amp;amp;gt; &amp;amp;lt;variable&amp;amp;gt; &amp;amp;lt;varadjust&amp;amp;gt; set). Bit 5 clear terminates the calculation and uses the resulting value for checking the ranges determining the set-id to use (or, if nvar=0, as a callback result).&lt;br /&gt;
&lt;br /&gt;
===operator===&lt;br /&gt;
&lt;br /&gt;
This field, and the following variable/varadjust pair, exist only if the previous shift-num had bit 5 set. This field has escape sequences for each of its valid values, as shown in the table below. See [[GRFActionsDetailed#Byte_order|the discussion of escape sequences]] for further information on escape sequences in general. Can have the following values:&lt;br /&gt;
&lt;br /&gt;
||Value|Escape|Effect|Notes&lt;br /&gt;
&lt;br /&gt;
00|\2+|result = val1 + val2|&lt;br /&gt;
&lt;br /&gt;
01|\2-|result = val1 - val2|&lt;br /&gt;
&lt;br /&gt;
02|\2&amp;amp;lt;|result = min(val1, val2)|val1 and val2 are both considered signed&lt;br /&gt;
&lt;br /&gt;
03|\2&amp;amp;gt;|result = max(val1, val2)|val1 and val2 are both considered signed&lt;br /&gt;
&lt;br /&gt;
04,05|\2u&amp;amp;lt;, \2u&amp;amp;gt;|&amp;lt;center&amp;gt;-&amp;amp;quot;-&amp;lt;/center&amp;gt;|Same as 02/03, but operands are considered unsigned&lt;br /&gt;
&lt;br /&gt;
06|\2/|result = val1 / val2|val1 and val2 are both considered signed&lt;br /&gt;
&lt;br /&gt;
07|\2%|result = val1 mod val2|val1 and val2 are both considered signed&lt;br /&gt;
&lt;br /&gt;
08,09|\2u/, \2u%|&amp;lt;center&amp;gt;-&amp;amp;quot;-&amp;lt;/center&amp;gt;|Same as 06/07, but operands are considered unsigned&lt;br /&gt;
&lt;br /&gt;
0A|\2*|result = val1 * val2|result will be truncated to B/W/D (that makes it the same for signed/unsigned operands)&lt;br /&gt;
&lt;br /&gt;
0B|\2&amp;amp;|result = val1 &amp;amp; val2|bitwise AND&lt;br /&gt;
&lt;br /&gt;
0C|\2&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;|result = val1 &amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt; val2|bitwise OR&lt;br /&gt;
&lt;br /&gt;
0D|\2&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;|result = val1 &amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt; val2|bitwise XOR&lt;br /&gt;
&lt;br /&gt;
0E|\2s or \2sto (a)|var7D&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;[val2]&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt; = val1, result = val1|Store result, available since 2.6 r1246. val2 must not exceed FF (before r1301) or 10F (starting from r1301) (*)&lt;br /&gt;
&lt;br /&gt;
0F|\2r or \2rst (a)|result = val2|Available since 2.6 r1246&lt;br /&gt;
&lt;br /&gt;
10|\2psto (c)|var7C&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;[val2]&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt; = val1, result = val1|Store result into persistent storage, available since 2.6 r1315 (**)&lt;br /&gt;
&lt;br /&gt;
11|\2ror or \2rot (b)|result = val1 rotate right val2|Always a 32-bit rotation. Available since 2.6 r1651&lt;br /&gt;
&lt;br /&gt;
12|\2cmp (c)|see notes|Result is 0 if val1&amp;amp;lt;val2, 1 if val1=val2 and 2 if val1&amp;amp;gt;val2. Both values are considered signed. Available since 2.6 r1698 (***)&lt;br /&gt;
&lt;br /&gt;
13|\2ucmp (c)|see notes|The same as 12, but operands are considered unsigned. Available since 2.6 r1698 (***)&lt;br /&gt;
&lt;br /&gt;
14|\2&amp;amp;lt;&amp;amp;lt; (c)|result = val1 &amp;amp;lt;&amp;amp;lt; val2|shift left; val2 should be in the range 0 to 31. Available since OpenTTD r20332 and TTDPatch r2335.&lt;br /&gt;
&lt;br /&gt;
15|\2u&amp;amp;gt;&amp;amp;gt; (c)|result = val1 &amp;amp;gt;&amp;amp;gt; val2|shift right (unsigned); val2 should be in the range 0 to 31. Available since OpenTTD r20332 and TTDPatch r2335.&lt;br /&gt;
&lt;br /&gt;
16|\2&amp;amp;gt;&amp;amp;gt; (c)|result = val1 &amp;amp;gt;&amp;amp;gt; val2|shift right (signed); val2 should be in the range 0 to 31. Available since OpenTTD r20332 and TTDPatch r2335.||&lt;br /&gt;
&lt;br /&gt;
where val1 is the value resulting from the current variable/varadjust pair (or the result of the previous calculations if this isn&#039;t the first pair) and val2 is the value resulting from the following variable/varadjust pair. By setting bit 5 of shift-num repeatedly, you can combine several variables together before making your decision.&lt;br /&gt;
&lt;br /&gt;
(a) Supported since grfcodec and nforenum r1265 (1.0.0 and 3.4.4, respectively.)&lt;br /&gt;
&lt;br /&gt;
(b) Supported since grfcodec and nforenum r1655 (1.0.0 and 3.4.6, respectively.)&lt;br /&gt;
&lt;br /&gt;
(c) Supported since grfcodec 1.0.0 and nforenum 4.0.0.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt; Registers above FFh are write-only because you can&#039;t give a value bigger than FFh to var 7D. These registers are special; they allow passing extra data to some 4x and 6x variables, as well as returning extra data from callbacks.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;**&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt; Currently only feature A (industries) is supported, you have 16 4-byte slots per industry. This storage can be reached from industry tiles as well by using var. action 2 type 82/86/8A. This operation shouldn&#039;t be used when the industry structure isn&#039;t available.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;***&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt; Operations 12 and 13 should be preferred over operation 01 (subtraction) when only the relation of the two values is needed and the difference itself is irrelevant. This is because operation 01 can overflow and give the wrong sign if the difference is too big, but comparisons work correctly for all values.&lt;br /&gt;
&lt;br /&gt;
Registers (temporary and persistent alike) always have the size of 4 bytes. If you&#039;re writing them using smaller sizes (anything but type 89/8A), the given value will be sign-extended to 4 bytes. Therefore, be careful when you read a register using a bigger size than it was written with. This also applies to registers read by TTDPatch; if not indicated specifically, TTDPatch reads all 4 bytes of the register.&lt;br /&gt;
&lt;br /&gt;
Note that a bitwise NOT can be done by XORing with variable 1A. Similarly, you can specify literal values (i.e. plain numbers instead of variables), by using variable 1A and an and-mask of the value you want. For example, to specify a literal 26, use variable=1A, shift-num=00 (or the higher bits set if you need further calculations), and and-mask=26. This works with B, W or D sized literals if you use the right and-mask size for the given type of action 2. The appropriate \b, \w, or \d escape sequence can be useful for specifying literals. See [[GRFActionsDetailed#Byte_order|the discussion of escape sequences]] for further information.&lt;br /&gt;
&lt;br /&gt;
Operator 0F is only useful when using variable 7B, or immediately after operators 0E or 10, to store the result of a calculation, and then discard that result and start fresh.&lt;br /&gt;
&lt;br /&gt;
==Using types 81/82 (etc) simultaneously==&lt;br /&gt;
&lt;br /&gt;
Since 2.0.1 alpha 59, it is possible to access variables using both var.action 2 type 81 and 82 (and their W/D cousins) indirectly through the new variable 1C.&lt;br /&gt;
&lt;br /&gt;
This variable stores the result of the current var.action 2 and makes it available to the next var.action 2 in the chain. &amp;amp;nbsp;Therefore, to access, for instance when drawing a house, both house variables (type 81) and town variables (type 82), you would read the house variables in one var. action 2, type 81, and then chain to the next var.action 2, type 82. &amp;amp;nbsp;There, you now have access to the house variable value stored in variable 1C as well as the town variables in the regular variables. Since 2.6 r1246, you may also store values in the 7D array, where they will persist for the life of the action 2 chain, unless overwritten.&lt;br /&gt;
&lt;br /&gt;
Note that to chain to the next var.action 2, you &#039;&#039;must not&#039;&#039; use nvar=0, because that returns the result value as a callback result. &amp;amp;nbsp;Instead, you need to use nvar=1, and specify the chained var.action 2 in both the &amp;amp;lt;set-id&amp;amp;gt; and &amp;amp;lt;default&amp;amp;gt; positions.&lt;br /&gt;
&lt;br /&gt;
==Using procedures==&lt;br /&gt;
&lt;br /&gt;
When the variable in a var.action 2 is 7E, the procedure given by the 60+x parameter is invoked. This means that the byte following the variable number (7E) specifies a variational or random action 2 ID to call, similarly to how a regular var.action 2 branches to other action 2 entries. However, instead of branching, it is a subroutine call, with the value calculated by the called entry being used as variable value.&lt;br /&gt;
&lt;br /&gt;
The called action 2 must return a callback result. If the chain ends in a regular action 2 instead of returning a callback result, the variable 7E value is undefined. &amp;amp;nbsp;Because callback results are limited to 15 bits, to access the full 32 bit result you can read variable 1C instead (e.g. by anding the 7E result with 0 and then adding var. 1C).&lt;br /&gt;
&lt;br /&gt;
In TTDPatch 2.5 beta 9 and earlier and in TTDPatch 2.6 prior to r846, var.action 2s that attempt to perform multiple sequential (as opposed to nested) procedure calls will have undefined results.&lt;br /&gt;
&lt;br /&gt;
The feature of this called action 2 is ignored, and all variables accessed use the same feature as the calling var.action 2. It is however valid to use any type of var.action 2, e.g. types 81 and 82 and the various byte/word/dword sizes may be mixed. It is also valid to use nvar=00 to return the computed value as callback result, instead of specifying ranges, although this way the return value is still limited to 15 bits. When using a random action 2 in the called chain, random triggers are processed in the same way as in &amp;amp;quot;normal&amp;amp;quot; chains.&lt;/div&gt;</summary>
		<author><name>Orudge</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=GRFActionsDetailed&amp;diff=572</id>
		<title>GRFActionsDetailed</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=GRFActionsDetailed&amp;diff=572"/>
		<updated>2011-06-12T19:22:44Z</updated>

		<summary type="html">&lt;p&gt;Orudge: 9 revisions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Technical reference of the new .grf actions&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=Technical reference of the new .grf actions=&lt;br /&gt;
&lt;br /&gt;
-=General Information=-&lt;br /&gt;
&lt;br /&gt;
The next few pages detail the syntax of TTDPatch&#039;s GRF actions. &amp;amp;nbsp;In each page, you will find a list of syntax elements that make up a line for this action in the .nfo file.&lt;br /&gt;
&lt;br /&gt;
Each element has a size (how many bytes it uses in the pseudo sprite data). &amp;amp;nbsp;These are the possible sizes:&lt;br /&gt;
&lt;br /&gt;
||Size|Description&lt;br /&gt;
&lt;br /&gt;
dec|This value is given in decimal, not hexadecimal; the size is therefore irrelevant&lt;br /&gt;
&lt;br /&gt;
B|This parameter is a single byte&lt;br /&gt;
&lt;br /&gt;
B*|This parameter is an extended byte (either a byte, or a word value)&lt;br /&gt;
&lt;br /&gt;
W|This parameter is a two-byte word, specified in little-endian byte order&lt;br /&gt;
&lt;br /&gt;
D|This parameter is a four-byte dword, again in little-endian byte order&lt;br /&gt;
&lt;br /&gt;
S|This parameter is variable-length, zero terminated text string&lt;br /&gt;
&lt;br /&gt;
V|This parameter has a variable length, which depends on one of the previous parameters; it will be described there.||&lt;br /&gt;
&lt;br /&gt;
Extended bytes work like this:&lt;br /&gt;
* To specify a value of 0..FE, simply use that byte value&lt;br /&gt;
* To specify a value of FF..FFFF, use a literal FF followed by the word value, e.g. for 320d (140 hex) use FF 40 01.&lt;br /&gt;
&lt;br /&gt;
-=Comments=-&lt;br /&gt;
&lt;br /&gt;
==Byte order==&lt;br /&gt;
&lt;br /&gt;
For values larger than one byte (i.e. W and D), the value must be split into individual bytes in the right order. &amp;amp;nbsp;This order is the so-called [http://en.wikipedia.org/w/wiki.phtml?title=Little-endian|little-endian] order, with the least significant bytes first.&lt;br /&gt;
&lt;br /&gt;
Here&#039;s how you convert a hexadecimal number into its little-endian bytes&lt;br /&gt;
#Pad with zeroes from the left until you have twice as many digits as you need bytes (i.e. 4 digits for W, 8 digits for D)&lt;br /&gt;
#Split into groups of two digits&lt;br /&gt;
#Write these groups backwards&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
123 in W becomes 0123, then 01 23, so finally 23 01&lt;br /&gt;
&lt;br /&gt;
12345 in D becomes 00012345, then 00 01 23 45, so finally 45 23 01 00&lt;br /&gt;
&lt;br /&gt;
In Info version 7 and later (supported by grfcodec version 0.9.9 and later), grfcodec can do some of this work for you. Instead of doing the above, you may use any of the following escape sequences:&lt;br /&gt;
&lt;br /&gt;
\b&amp;amp;lt;dec&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
\b&amp;amp;lt;year&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
\b*&amp;amp;lt;dec&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
\w&amp;amp;lt;dec&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
\wx&amp;amp;lt;hex&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
\w&amp;amp;lt;date&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
\d&amp;amp;lt;dec&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
\dx&amp;amp;lt;hex&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
\d&amp;amp;lt;date&amp;amp;gt; (Only supported by nforenum 3.4.6 and grfcodec 0.9.11 (r1703) and later.)&lt;br /&gt;
&lt;br /&gt;
Where:&lt;br /&gt;
&lt;br /&gt;
The second character (or, in the case of \b*, the second and third characters) indicates the number of required bytes: b for a byte, b* for an extended byte, w for a word, and d for a dword.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;dec&amp;amp;gt; is any positive decimal integer that fits in the given width.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;year&amp;amp;gt; is a year; the resultant byte will be &amp;amp;lt;year&amp;amp;gt;-1920&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;hex&amp;amp;gt; is any big-endian hexadecimal integer that fits in the given width.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;date&amp;amp;gt; is a date in one of the four formats YYYY-MM-DD, YYYY/MM/DD, DD-MM-YYYY, or DD/MM/YYYY. In all cases, leading zeros may be omitted.&lt;br /&gt;
&lt;br /&gt;
In the word-sized dates, the years 1932..2000 may be specified with only two digits.&lt;br /&gt;
&lt;br /&gt;
To avoid ambiguity, dword-sized dates before 1 Jan 32 must be specified with the YMD formats, not the DMY formats. eg 10 Feb 20 is \d20-2-10.&lt;br /&gt;
&lt;br /&gt;
There are also certain action-specific escape sequences; these are of the format \&amp;amp;lt;action&amp;amp;gt;&amp;amp;lt;operator&amp;amp;gt;, where the sequence is used for the action &amp;amp;lt;action&amp;amp;gt;, and &amp;amp;lt;operator&amp;amp;gt; is a C operator related to the function of the sequence&#039;s byte value, or something vaguely related to a C operator. Or something else.&lt;br /&gt;
&lt;br /&gt;
These are discussed in further detail on the appropriate action&#039;s page.&lt;br /&gt;
&lt;br /&gt;
Note that this behaviour is only supported in Info version 7 and later; in Info version 6 and earlier, such escape sequences are errors.&lt;br /&gt;
&lt;br /&gt;
==Strings==&lt;br /&gt;
&lt;br /&gt;
Strings are written as individual characters in hex codes, with a final 00 to indicate the end of the string. &amp;amp;nbsp;For example, &amp;amp;quot;Hello&amp;amp;quot; is 48 65 6D 6D 6F 00.&lt;br /&gt;
&lt;br /&gt;
To convert text into the syntax needed for .nfo files, you can use the [http://www.ttdpatch.net/cgi-bin/str2hex.pl|str2hex] converter. As of grfcodec 0.9.6, you may also put literal strings right in the .nfo. Note that you may only use characters in the latin1 character set, which is what TTD uses. &amp;amp;nbsp;Other characters will either not show up in TTD or they will mess up the entire display.&lt;br /&gt;
&lt;br /&gt;
If you end up with any characters in the range 7B to 9F, remove them from the string. See StringCodes for more details.&lt;br /&gt;
&lt;br /&gt;
In Info version 7 and later, strings behave mostly as they do in the C family of languages: \\, \n, and \&amp;amp;quot; insert a single backslash, a line feed (0D), and a double quote (22), respectively. In addition, \&amp;amp;lt;hex&amp;amp;gt; (up to two characters) inserts the byte &amp;amp;lt;hex&amp;amp;gt;, and \U&amp;amp;lt;hex&amp;amp;gt; (up to four characters) inserts the UTF-8 encoding of the character U+&amp;amp;lt;hex&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that this behaviour is only supported in Info version 7 and later; in Info version 6 and earlier, the backslash is not an escape character. (&amp;amp;quot;\\&amp;amp;quot; encodes as one byte in Info version 7, but two bytes in Info version 6.)&lt;br /&gt;
&lt;br /&gt;
-=List of Actions=-&lt;br /&gt;
&lt;br /&gt;
{toc}&lt;/div&gt;</summary>
		<author><name>Orudge</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=ActionF&amp;diff=562</id>
		<title>ActionF</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=ActionF&amp;diff=562"/>
		<updated>2011-06-12T19:22:44Z</updated>

		<summary type="html">&lt;p&gt;Orudge: 8 revisions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Define new town name styles&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=Action F - Town names=&lt;br /&gt;
&lt;br /&gt;
Define new town name styles&lt;br /&gt;
&lt;br /&gt;
-=Introduction=-&lt;br /&gt;
&lt;br /&gt;
This action can be used to define new town name styles for random games and random cities placed in the scenario editor.&lt;br /&gt;
&lt;br /&gt;
-=Format=-&lt;br /&gt;
&lt;br /&gt;
The data looks as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; -+&amp;amp;lt;Sprite-number&amp;amp;gt; * &amp;amp;lt;Length&amp;amp;gt; 0F &amp;amp;lt;ID&amp;amp;gt; &amp;amp;lt;stylenames&amp;amp;gt; &amp;amp;lt;num-parts&amp;amp;gt; &amp;amp;lt;parts&amp;amp;gt;...+-&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
||&#039;&#039;&#039;Element&#039;&#039;&#039;|[[GRFActionsDetailed|&#039;&#039;&#039;Size&#039;&#039;&#039;]]|&#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;Sprite-number&amp;amp;gt;|dec|A sequential sprite number&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;length&amp;amp;gt;|dec|The total number of bytes used in this action.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;ID&amp;amp;gt;|B| &amp;amp;nbsp; &amp;amp;nbsp;ID of this definition in the bottom 7 bits. If bit 7 is set, this is a final definition (it will be displayed in the Options window), if it&#039;s clear, this is an intermediate definition that can be used to create more complex decision chains, see below. Final and intermediate definitions share the same 128 IDs, so 01h and 81h define the same ID for different usages, and not two separate IDs.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;style-names&amp;amp;gt;|V|This is only present in final definitions, see below for the format&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;num-parts&amp;amp;gt;|B|How many parts this name is put together from.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;parts&amp;amp;gt;|V|Data about the various parts, see below||&lt;br /&gt;
&lt;br /&gt;
==Style names==&lt;br /&gt;
&lt;br /&gt;
This item is only present if bit 7 is set in the ID. &amp;amp;nbsp;Its contents are in the format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; -+&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;[&amp;amp;lt;langs&amp;amp;gt; &amp;amp;lt;name&amp;amp;gt;]&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;... 00+-&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
||Element|Size|Meaning&lt;br /&gt;
&lt;br /&gt;
langs|B|Language ID definition, see below&lt;br /&gt;
&lt;br /&gt;
name|S|Null-terminated style name to be displayed in the Options window.||&lt;br /&gt;
&lt;br /&gt;
There can be any number of style names, until a literal &amp;amp;quot;00&amp;amp;quot; terminates the style name definition. If no appliable name is found, &amp;amp;quot;(unnamed style)&amp;amp;quot; will be displayed in the Options window.&lt;br /&gt;
&lt;br /&gt;
The language selection works the same as the [[Action4#language_id|action 4 language ID]], including the difference for grf version 7 and up, however bit 7 is ignored. This means that there is an ambiguity whether a value of &amp;amp;quot;00&amp;amp;quot; is a list terminator, or the ID of the American language. To resolve this, the first style name definition is never a list terminator (starting with 2.5 beta 4). This means that the definition of the American language name must be the first in the list. Alternatively, since bit 7 is ignored, it is valid to use the value &amp;amp;quot;80&amp;amp;quot; for the ID of the American language as well, but putting it first in the list is the preferred way of defining it.&lt;br /&gt;
&lt;br /&gt;
==Parts==&lt;br /&gt;
&lt;br /&gt;
The following fields are repeated for every part (num-parts times):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; -+ &amp;amp;lt;textcount&amp;amp;gt; &amp;amp;lt;firstbit&amp;amp;gt; &amp;amp;lt;bitcount&amp;amp;gt; &amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;[ &amp;amp;lt;probability&amp;amp;gt; &amp;amp;lt;part/ID&amp;amp;gt; ]&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;... +-&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
||Element|Size|Meaning&lt;br /&gt;
&lt;br /&gt;
textcount|B|The number of possible values for this part&lt;br /&gt;
&lt;br /&gt;
firstbit|B|Number of the lowest bit that counts for determining the value of the part&lt;br /&gt;
&lt;br /&gt;
bitcount|B|How many bits are used for determining the value of this part||&lt;br /&gt;
&lt;br /&gt;
Every town has 32 random bits for random naming. You can use the &amp;amp;lt;firstbit&amp;amp;gt; field to make the decisions for every part linearly independent, or at least as independent as possible.&lt;br /&gt;
&lt;br /&gt;
The minimal number for the &amp;amp;lt;bitcount&amp;amp;gt; field should be the lowest power of 2 that is higher than the sum of all probabilities (e.g. 2 if the sum is &amp;amp;lt;=4, 3 if it&#039;s &amp;amp;lt;=8, 4 if &amp;amp;lt;=16 and so on), but allowing more bits can make the distribution of decisions smoother.&lt;br /&gt;
&lt;br /&gt;
The following fields are repeated for every text (textcount times) in every part:&lt;br /&gt;
&lt;br /&gt;
||Element|Size|Meaning&lt;br /&gt;
&lt;br /&gt;
probability|B|The relative probability of the following name to appear in the bottom 7 bits. Bit 7 decides the meaning of the following field.&lt;br /&gt;
&lt;br /&gt;
part|S|If bit 7 of probability is clear, the following field is a null-terminated string containing a name part itself. This can be an empty string (just a plain zero byte) to avoid generating this part. (This can be useful for an optional part: give a high probability to an empty part to appear, and low probablities to many non-empty parts, so you effectively decrease the chance that the part appears at all)&lt;br /&gt;
&lt;br /&gt;
ID|B|If bit 7 of the probability is set, the following byte is an ID for an intermediate action F. The random name defined by the given ID is generated, then inserted into the current name as a name part. Specifying an ID that isn&#039;t defined yet results in an error and therefore disabling all town name definitions in the file.||&lt;br /&gt;
&lt;br /&gt;
-=Notes=-&lt;br /&gt;
&lt;br /&gt;
That town name styles are special since they have to be available on the title screen as well, where the graphics files aren&#039;t activated yet. This means they&#039;re processed at the initialization stage only, and can be skipped only by action 9, but doing so will prevent them from working for the rest of the game. The only way to disable a new town name style once it&#039;s loaded is to disable the entire GRF file it&#039;s situated in (by using the &amp;amp;quot;New GRF status&amp;amp;quot; window or by putting an exclamation mark next to the filename in newgrf(w).txt).&lt;br /&gt;
&lt;br /&gt;
A town name generated this way must meet some requirements to be accepted by TTD: it can&#039;t be empty (so you don&#039;t have to worry even if your chain can generate an empty string), can&#039;t be a name that&#039;s already given to a town (to avoid duplicate town names), &amp;amp;nbsp;can&#039;t be longer than 31 characters and its displayed form can&#039;t be wider than 130 pixels. If a generated name doesn&#039;t meet all these requirements, TTD tries again with a different random value. For this reason, your town name style must be able to generate at least 70 different acceptable combinations, since this is the maximum number of towns possible on a map, and TTD may deadlock if it can&#039;t find different names for every town on the map.&lt;br /&gt;
&lt;br /&gt;
The town name style dropdown menu doesn&#039;t support more than 19 entries, and since six entries are already reserved for the old styles, only 13 remain for new styles. If there are more than 13 final style definitions available, only the first 13 will be displayed in the dropdown menu, and therefore be selectable. The other definitions will still be available (e.g. they&#039;ll show up in games started with them), but cannot be selected from the user interface.&lt;br /&gt;
&lt;br /&gt;
If your GRF isn&#039;t available while its name style definition is used in a savegame, the town name style reverts back to German, but the towns get both English and German names; they appear in the wrong order in the town list and duplicate town names may appear. However, no data loss occurs, so the correct names are restored as soon as your definition becomes available again.&lt;br /&gt;
&lt;br /&gt;
-=Example=-&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; -+ 2 * 52 0F 80 7F &amp;amp;quot;Mars&amp;amp;quot; 00 00 02 +-&lt;br /&gt;
&lt;br /&gt;
-+ 02 00 02+-&lt;br /&gt;
&lt;br /&gt;
-+ &amp;amp;nbsp; &amp;amp;nbsp; 03 &amp;amp;quot;Alpha&amp;amp;quot; 00 01 &amp;amp;quot;Beta&amp;amp;quot; 00+-&lt;br /&gt;
&lt;br /&gt;
-+ 03 02 04+-&lt;br /&gt;
&lt;br /&gt;
-+ &amp;amp;nbsp; &amp;amp;nbsp; 01 &amp;amp;quot; Andromed&amp;amp;aelig;&amp;amp;quot; 00 01 &amp;amp;quot; Carin&amp;amp;aelig;&amp;amp;quot; 00 81 01 +- &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
||Byte(s)|Meaning&lt;br /&gt;
&lt;br /&gt;
0F|Action F&lt;br /&gt;
&lt;br /&gt;
80|&amp;amp;lt;ID&amp;amp;gt; Final definition; show in town-name list.&lt;br /&gt;
&lt;br /&gt;
7F|&amp;amp;lt;lang-id&amp;amp;gt;: Name for all languages follows&lt;br /&gt;
&lt;br /&gt;
&amp;amp;quot;Mars&amp;amp;quot; 00|Style name&lt;br /&gt;
&lt;br /&gt;
00|End of style names&lt;br /&gt;
&lt;br /&gt;
02|&amp;amp;lt;num-parts&amp;amp;gt;: Two &amp;amp;lt;parts&amp;amp;gt; fields follow:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;First &amp;amp;lt;parts&amp;amp;gt; field:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
02|&amp;amp;lt;textcount&amp;amp;gt;: two options for this part.&lt;br /&gt;
&lt;br /&gt;
00|&amp;amp;lt;firstbit&amp;amp;gt;: start with bit 0, and&lt;br /&gt;
&lt;br /&gt;
02|&amp;amp;lt;bitcount&amp;amp;gt;: use two bits (sum of probabilities is 04; minimum number of bits is 2)&lt;br /&gt;
&lt;br /&gt;
03|&amp;amp;lt;probability&amp;amp;gt; (probability is 3/4)&lt;br /&gt;
&lt;br /&gt;
&amp;amp;quot;Alpha&amp;amp;quot; 00|&amp;amp;lt;part&amp;amp;gt;: First option for first part&lt;br /&gt;
&lt;br /&gt;
01 &amp;amp;quot;Beta&amp;amp;quot; 00|&amp;amp;lt;probability&amp;amp;gt;/&amp;amp;lt;part&amp;amp;gt;: Second option for first part, probability 1/4&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Second &amp;amp;lt;parts&amp;amp;gt; field:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
03|&amp;amp;lt;textcount&amp;amp;gt;: three options for this part:&lt;br /&gt;
&lt;br /&gt;
02|&amp;amp;lt;firstbit&amp;amp;gt;: start with bit 2, and&lt;br /&gt;
&lt;br /&gt;
04|&amp;amp;lt;bitcount&amp;amp;gt;: use four bits (sum of probabilities is 3; minimum number of bits is 2)&lt;br /&gt;
&lt;br /&gt;
01 &amp;amp;quot; Andromed&amp;amp;aelig;&amp;amp;quot; 00 |&amp;amp;lt;probability&amp;amp;gt;/&amp;amp;lt;part&amp;amp;gt;: First option for second part, probability ~1/3&lt;br /&gt;
&lt;br /&gt;
01 &amp;amp;quot; Carin&amp;amp;aelig;&amp;amp;quot; 00 |&amp;amp;lt;probability&amp;amp;gt;/&amp;amp;lt;part&amp;amp;gt;: Second option for second part, probability ~1/3&lt;br /&gt;
&lt;br /&gt;
81 01|&amp;amp;lt;probability&amp;amp;gt;/&amp;amp;lt;ID&amp;amp;gt;: Third option, chain to the action F with ID 01, probability ~1/3||&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
# ID 01 (and any Action F&#039;s chained to by ID 01 should all have &amp;amp;lt;firstbit&amp;amp;gt;s of 06 or higher, since bits 00..05 were used by ID 00, and if they are used again, the decision will be related to the decision in ID 00.&lt;br /&gt;
# Unless ID 01 produces at least 33 (dec) different strings, this will not provide a sufficient number of town names.&lt;br /&gt;
# The second &amp;amp;lt;parts&amp;amp;gt; uses four bits; the probabilities for each &amp;amp;lt;part&amp;amp;gt; are 5/16, 5/16, and 6/16, which are reasonably close to 1/3, and far better than the 1/4, 1/4, 1/2 that would have resulted if only two bits had been used. There is no reliable determination of which &amp;amp;lt;part&amp;amp;gt; will get the extra probability; if you want to know for certain which will have the extra probability, code the action F so that some &amp;amp;lt;part&amp;amp;gt;s have a higher or lower probability than the others.&lt;br /&gt;
# The &amp;amp;lt;probability&amp;amp;gt;/&amp;amp;lt;ID&amp;amp;gt; pair 81 01 could also chain to the action F with ID 81, but this is probably not a desirable result.&lt;/div&gt;</summary>
		<author><name>Orudge</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=ActionE&amp;diff=553</id>
		<title>ActionE</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=ActionE&amp;diff=553"/>
		<updated>2011-06-12T19:22:44Z</updated>

		<summary type="html">&lt;p&gt;Orudge: 7 revisions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Deactivate other graphics files or force activation of current file&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=Action E=&lt;br /&gt;
&lt;br /&gt;
Deactivate other graphics files or force activation of current file.&lt;br /&gt;
&lt;br /&gt;
-=Introduction=-&lt;br /&gt;
&lt;br /&gt;
Normally, graphics files should use [[Action7]] to deactivate themselves, if they find that other incompatible graphics have been loaded.&lt;br /&gt;
&lt;br /&gt;
However, when new sets come out, it is often not feasible to change all existing sets so that they can detect the new set. This action therefore allows the new graphics set to deactivate older sets with which it is incompatible.&lt;br /&gt;
&lt;br /&gt;
-=Format=-&lt;br /&gt;
&lt;br /&gt;
The data looks as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; -+&amp;amp;lt;Sprite-number&amp;amp;gt; * &amp;amp;lt;Length&amp;amp;gt; 0E &amp;amp;lt;num&amp;amp;gt; &amp;amp;lt;grfids...&amp;amp;gt;+-&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
||&#039;&#039;&#039;Element&#039;&#039;&#039;|[[GRFActionsDetailed|&#039;&#039;&#039;Size&#039;&#039;&#039;]]|&#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;Sprite-number&amp;amp;gt;|dec|A sequential sprite number&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;length&amp;amp;gt;|dec|The total number of bytes used in this action.&lt;br /&gt;
&lt;br /&gt;
0E|B|Defines action 0E&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;num&amp;amp;gt;|B|Number of sets which should be deactivated&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;grfids...&amp;amp;gt;|4*B|GRF IDs of the sets to deactivate||&lt;br /&gt;
&lt;br /&gt;
-=Filling in the terms=-&lt;br /&gt;
&lt;br /&gt;
===Sprite-number===&lt;br /&gt;
&lt;br /&gt;
This is just the number you are at.&lt;br /&gt;
&lt;br /&gt;
===Length===&lt;br /&gt;
&lt;br /&gt;
Count the number of bytes in this action.&lt;br /&gt;
&lt;br /&gt;
===num===&lt;br /&gt;
&lt;br /&gt;
This is the number of sets you want to deactivate.&lt;br /&gt;
&lt;br /&gt;
===grfids===&lt;br /&gt;
&lt;br /&gt;
Here you give the list of GRF IDs, in the same format as in [[Action8]], which should be deactivated.&lt;br /&gt;
&lt;br /&gt;
-=Notes=-&lt;br /&gt;
&lt;br /&gt;
Note that it is invalid to attempt the deactivation of already active graphics files. &amp;amp;nbsp;You can only prevent files lower down the newgrf(w).cfg from becoming active later. &amp;amp;nbsp;Therefore, you must check that none of the GRF IDs in this list are active already using the appropriate action 7. &amp;amp;nbsp;If the deactivation of an already active set is attempted, the current set is considered invalid and will be disabled.&lt;br /&gt;
&lt;br /&gt;
If you attempt to deactivate a set that isn&#039;t loaded, nothing happens.&lt;br /&gt;
&lt;br /&gt;
To handle the cases of incompatible sets being loaded and activated earlier, you can either attempt to overwrite all their settings and graphics, or simply deactivate this set in turn.&lt;br /&gt;
&lt;br /&gt;
If the given GRFID is identical to the GRFID of the file currently being processed, the current file is force-activated. &amp;amp;nbsp;This is most useful for making changes to the title screen menu, which would otherwise not be possible. &amp;amp;nbsp;It is strongly recommended not to use this feature in any way other than in combination with an action 7 that checks variable 92 (game mode) so that the activation only happens in the title screen. &amp;amp;nbsp;Otherwise the GRF Status Windows (de)activation is bypassed entirely.&lt;br /&gt;
&lt;br /&gt;
It is best to limit this forced activation to as few actions as possible for maximum compatibility.&lt;br /&gt;
&lt;br /&gt;
In principle, there can be four cases and your .grf file must be able to handle all of them properly:&lt;br /&gt;
* The .grf file is active and can not be deactivated.&lt;br /&gt;
&lt;br /&gt;
+ You cannot use action E in this case.&lt;br /&gt;
* The .grf file is inactive but will be activated.&lt;br /&gt;
&lt;br /&gt;
+ This is the only case in which action E is useful, the .grf file coming below the current one in newgrf(w).cfg but being set to be activated. Action E will set it to not be activated when it is processed.&lt;br /&gt;
* The .grf file is inactive and will not be activated.&lt;br /&gt;
&lt;br /&gt;
+ This can happen because it has been processed already (it comes earlier in newgrf(w).cfg) and was deactivated, either by default or manually. Another possibility is that the file is disabled either by default or manually.&lt;br /&gt;
&lt;br /&gt;
-=Example=-&lt;br /&gt;
&lt;br /&gt;
The following is an example to deactivate GRFID 54570105 if possible, and deactivate the current file instead if not.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;-+ 47 * 9 07 88 04 06 54 57 01 05 02+-&lt;br /&gt;
&lt;br /&gt;
-+ 48 * 9 07 88 04 08 54 57 01 05 03+-&lt;br /&gt;
&lt;br /&gt;
-+ 49 * 6 07 83 01 03 7F 04+-&lt;br /&gt;
&lt;br /&gt;
-+ 50 * x 0B 01 1F FF +-... (e.g. &amp;amp;quot;This file is deactivated because incompatible graphics are active.&amp;amp;quot;)&lt;br /&gt;
&lt;br /&gt;
-+ 51 * 6 07 83 01 03 7F 00+-&lt;br /&gt;
&lt;br /&gt;
-+ 52 * x 0B 01 1F FF +-... (e.g. &amp;amp;quot;Deactivating GRFID 54570105.&amp;amp;quot;)&lt;br /&gt;
&lt;br /&gt;
-+ 53 * 6 0E 01 54 57 01 05+-&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This carries out the following instructions:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;47: if (GRFID 54570105 is active) goto 50&lt;br /&gt;
&lt;br /&gt;
48: if (GRFID 54570105 is inactive but will be activated) goto 52&lt;br /&gt;
&lt;br /&gt;
49: goto 54&lt;br /&gt;
&lt;br /&gt;
50: showmessage(&amp;amp;quot;This file is deactivated because incompatible graphics are active.&amp;amp;quot;)&lt;br /&gt;
&lt;br /&gt;
51: deactivate_current_file&lt;br /&gt;
&lt;br /&gt;
52: showmessage(&amp;amp;quot;Deactivating GRFID 54570105.&amp;amp;quot;)&lt;br /&gt;
&lt;br /&gt;
53: deactivate(54570105);&lt;br /&gt;
&lt;br /&gt;
continue_with_current_file;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The reason for this particular order of pseudo-sprites is that action 7 will not take a branch if the queried GRFID is not present at all. &amp;amp;nbsp;In that case, both sprites 47 and 48 fall through, which means the jump in 49 is carried out and the file resumes processing. &amp;amp;nbsp;The unconditional gotos in 49 and 51 are actually conditional on the climate not being 7F, which it never can be.&lt;br /&gt;
&lt;br /&gt;
Conceptually, without goto-logic, the code could be described by&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;if (GRFID 54570105 is active) {&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; &amp;amp;nbsp;showerror(&amp;amp;quot;This file is deactivated because incompatible graphics are active.&amp;amp;quot;)&lt;br /&gt;
&lt;br /&gt;
deactivate_current_file&lt;br /&gt;
&lt;br /&gt;
} else if (GRFID 54570105 is inactive but will be activated) {&lt;br /&gt;
&lt;br /&gt;
showmessage(&amp;amp;quot;Deactivating GRFID 54570105.&amp;amp;quot;)&lt;br /&gt;
&lt;br /&gt;
deactivate(54570105);&lt;br /&gt;
&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Orudge</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=ActionD&amp;diff=531</id>
		<title>ActionD</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=ActionD&amp;diff=531"/>
		<updated>2011-06-12T19:22:43Z</updated>

		<summary type="html">&lt;p&gt;Orudge: 13 revisions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Assign parameters and calculate results&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=Action D=&lt;br /&gt;
&lt;br /&gt;
Assign parameters and calculate results.&lt;br /&gt;
&lt;br /&gt;
{maketoc}&lt;br /&gt;
&lt;br /&gt;
-=Introduction=-&lt;br /&gt;
&lt;br /&gt;
Action D allows you to set the value of grf parameter (i.e. those usually set as options in the newgrf(w).cfg file), as well as do math on them.&lt;br /&gt;
&lt;br /&gt;
-=Format=-&lt;br /&gt;
&lt;br /&gt;
The data looks as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; -+&amp;amp;lt;Sprite-number&amp;amp;gt; * &amp;amp;lt;Length&amp;amp;gt; 0D &amp;amp;lt;target&amp;amp;gt; &amp;amp;lt;operation&amp;amp;gt; &amp;amp;lt;source1&amp;amp;gt; &amp;amp;lt;source2&amp;amp;gt; &amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;[&amp;amp;lt;data&amp;amp;gt;]&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;+-&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
||&#039;&#039;&#039;Element&#039;&#039;&#039;|[[GRFActionsDetailed|&#039;&#039;&#039;Size&#039;&#039;&#039;]]|&#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;Sprite-number&amp;amp;gt;|dec|A sequential sprite number&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;length&amp;amp;gt;|dec|The total number of bytes used in this action&lt;br /&gt;
&lt;br /&gt;
0D|B|Defines action 0D&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;target&amp;amp;gt;|B|Target parameter&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;operation&amp;amp;gt;|B|Calculation to carry out&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;source1&amp;amp;gt;|B|First argument&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;source2&amp;amp;gt;|B|Second argument&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;data&amp;amp;gt;|D|Value to use as source if not parameter||&lt;br /&gt;
&lt;br /&gt;
-=Filling in the terms=-&lt;br /&gt;
&lt;br /&gt;
===target, source1, source2===&lt;br /&gt;
&lt;br /&gt;
These bytes specify the target parameter and source parameters. &amp;amp;nbsp;They can either be simply the numbers of grf parameters, or they can be the special variables from [[Action7|action 7]], see the description of param-num there.&lt;br /&gt;
&lt;br /&gt;
Note that the only special variables which may be given as target are listed below, all others should be considered read-only.&lt;br /&gt;
&lt;br /&gt;
If either source1 or source2 is FF, the value from &amp;amp;lt;data&amp;amp;gt; is used instead of a parameter value.&lt;br /&gt;
&lt;br /&gt;
If &amp;amp;lt;source2&amp;amp;gt; is FE, then this action D will perform one of the following special variable accesses. In this case, &amp;amp;lt;operation&amp;amp;gt; must be assignment and &amp;amp;lt;data&amp;amp;gt; is an argument to the data access, not a source value.&lt;br /&gt;
&lt;br /&gt;
{toc}&lt;br /&gt;
&lt;br /&gt;
===operation===&lt;br /&gt;
&lt;br /&gt;
The operation to carry out on the source arguments. This byte has an escape sequence for each of its possible values, as listed below. See [[GRFActionsDetailed#Byte_order|the discussion of escape sequences]] for further information on escape sequences in general. The result of this calculation will be stored in the target parameter.&lt;br /&gt;
&lt;br /&gt;
||Operation|Escape|Name|Result&lt;br /&gt;
&lt;br /&gt;
00|\D=|Equal|target = source1&lt;br /&gt;
&lt;br /&gt;
01|\D+|Addition|target = source1 + source2&lt;br /&gt;
&lt;br /&gt;
02|\D-|Subtraction|target = source1 - source2&lt;br /&gt;
&lt;br /&gt;
03|\Du*|Unsigned multiplication|target = source1 * source2, with both sources being considered to be unsigned&lt;br /&gt;
&lt;br /&gt;
04|\D*|Signed multiplication|target = source1 * source2, with both sources considered signed&lt;br /&gt;
&lt;br /&gt;
05|\Du&amp;amp;lt;&amp;amp;lt;|Unsigned bit shift|target = source1 &amp;amp;lt;&amp;amp;lt; source2 if source2&amp;amp;gt;0, or target = source1 &amp;amp;gt;&amp;amp;gt; abs(source2) if source2 &amp;amp;lt; 0. source1 is considered to be unsigned&lt;br /&gt;
&lt;br /&gt;
06|\D&amp;amp;lt;&amp;amp;lt;|Signed bit shift|same as 05, but source1 is considered signed)&lt;br /&gt;
&lt;br /&gt;
07|\D&amp;amp;|Bitwise AND*|target = source1 AND source2&lt;br /&gt;
&lt;br /&gt;
08|\D&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;|Bitwise OR*|target = source1 OR source2&lt;br /&gt;
&lt;br /&gt;
09|\Du/|Unsigned division**|target = source1 / source2&lt;br /&gt;
&lt;br /&gt;
0A|\D/|Signed division**|target = source1 / source2&lt;br /&gt;
&lt;br /&gt;
0B|\Du%|Unsigned modulo**|target = source1 % source2&lt;br /&gt;
&lt;br /&gt;
0C|\D%|Signed modulo**|target = source1 % source2||&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt; Only available in 2.0.1 alpha 48 &amp;amp;nbsp;or higher&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;**&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt; Only available in 2.0.1 alpha 59 &amp;amp;nbsp;or higher&lt;br /&gt;
&lt;br /&gt;
You can add 80 to the operation number to make it apply only if the target is not defined yet. &amp;amp;nbsp;In this respect, a parameter is taken to be defined if any of the following applies:&lt;br /&gt;
* it has been set to any value in the newgrf(w).cfg parameter list&lt;br /&gt;
* it &#039;&#039;&#039;or a parameter with higher number&#039;&#039;&#039; has been set to any value by an earlier action D&lt;br /&gt;
&lt;br /&gt;
If, for example, parameters 0 and 1 are set in the newgrf(w).cfg file, and action D sets parameter 4, then parameters 2 and 3 automatically become defined and get a value of zero.&lt;br /&gt;
&lt;br /&gt;
==Notes==&lt;br /&gt;
&lt;br /&gt;
You can do a bitwise NOT of &amp;amp;lt;param&amp;amp;gt; by calculating &amp;amp;quot;-1 - &amp;amp;lt;param&amp;amp;gt;&amp;amp;quot;, i.e. operation=02, source1=FF, source2=param, data=FF FF FF FF.&lt;br /&gt;
&lt;br /&gt;
The target operand can also refer to the special variables from action 7, see below for the list of variables that it is valid to write to.&lt;br /&gt;
&lt;br /&gt;
Because the patch has to reallocate memory for the whole parameter list whenever a new parameter is added, you should set the parameter with the highest number first (whenever possible, at least) so that all memory can be allocated right away.&lt;br /&gt;
&lt;br /&gt;
Note that parameters are never reset after the game has started, therefore you must not modify newgrf(w).cfg parameters with any kind of irreversible operation. &amp;amp;nbsp;It is valid to, for example, add a value to a parameter only if the same value is later subtracted, to keep the parameter the same across loading or starting several games.&lt;br /&gt;
&lt;br /&gt;
==Writable variables (global)==&lt;br /&gt;
&lt;br /&gt;
The following global variables can be written to:&lt;br /&gt;
&lt;br /&gt;
||Variable|Size(*)|Meaning&lt;br /&gt;
&lt;br /&gt;
8E|B|Y-Offset for train sprites&lt;br /&gt;
&lt;br /&gt;
8F|3*B|Rail track type cost factors&lt;br /&gt;
&lt;br /&gt;
93|W|Tile refresh offset to left&lt;br /&gt;
&lt;br /&gt;
94|W|Tile refresh offset to right&lt;br /&gt;
&lt;br /&gt;
95|W|Tile refresh offset upwards&lt;br /&gt;
&lt;br /&gt;
96|W|Tile refresh offset downwards&lt;br /&gt;
&lt;br /&gt;
97|B|Snow line height&lt;br /&gt;
&lt;br /&gt;
99|D|Global ID offset&lt;br /&gt;
&lt;br /&gt;
9E|D|Misc. GRF Features&lt;br /&gt;
&lt;br /&gt;
9F|D|Locale-dependent settings||&lt;br /&gt;
&lt;br /&gt;
(*) Action D only supports writing dword values. The size given here is merely used to convey how much of that dword value will be used by the game, i.e. what the maximum value is.&lt;br /&gt;
&lt;br /&gt;
===Y-Offset for train sprites (8E)===&lt;br /&gt;
&lt;br /&gt;
Since train sprites must normally have the same offsets on the map and in the depot view, they will appear either too low on the map or too high in the depot view. &amp;amp;nbsp;This variable moves all vehicles in the depot view down by this many pixels.&lt;br /&gt;
&lt;br /&gt;
Since OpenTTD r16867 this variable works per grf file, that is: It only affects trains defined in the same grf.&lt;br /&gt;
&lt;br /&gt;
===Rail track type cost factors (8F)===&lt;br /&gt;
&lt;br /&gt;
This variable is a collection of three bytes that are used as multipliers for track costs when the &amp;amp;quot;trackcostdiff&amp;amp;quot; switch is on. &amp;amp;nbsp;The value of 08 is the baseline value that is used by standard TTD.&lt;br /&gt;
&lt;br /&gt;
The defaults are the following:&lt;br /&gt;
&lt;br /&gt;
||Values|Track types|Electrified railways setting&lt;br /&gt;
&lt;br /&gt;
08, 10, 18|Regular, Monorail, Maglev|off&lt;br /&gt;
&lt;br /&gt;
08, 0D, 10|Regular, Electric, Monorail/Maglev|on||&lt;br /&gt;
&lt;br /&gt;
===Tile refresh offsets (93, 94, 95, 96)===&lt;br /&gt;
&lt;br /&gt;
These four offsets define the size and position of the rectangle refreshed when TTD decides to refresh a tile. The basis of the calculations is the pixel coordinate of the north corner of the tile.&lt;br /&gt;
&lt;br /&gt;
After calculating it, TTD subtracts offset_left from it to get the x coordinate of the left edge, adds offset_right to get the x coordinate of the right edge, subtracts offset_up to get the y coordinate of the top edge and adds offset_down to get the y coordinate of the bottom edge. This results in refreshing (offset_left+offset_right)*(offset_up+offset_down) pixels. The default values of these variables are 31, 36, 122 and 32, respectively.&lt;br /&gt;
&lt;br /&gt;
Reading these values is not too useful, but you can modify them using action D as well, so your sprites that would exceed the original limits can still be redrawn and animated properly. Please note that TTD uses these values for every tile, so specifying too high values may slow the game down. Please also note that these variables are specified as dwords for technical reasons, but only the bottom word will be used.&lt;br /&gt;
&lt;br /&gt;
Since these values are global to the entire game, you shouldn&#039;t just overwrite them with an action D. Instead, you should first check if they&#039;re big enough for you by using action 7, and skip your action D if they are. This way, the variables will be set to the maximal value needed, not just the value needed for the last grf in the list.&lt;br /&gt;
&lt;br /&gt;
===Snow line height (97)===&lt;br /&gt;
&lt;br /&gt;
This is only active if the tempsnowline switch is on. It defaults to FF (no snow) and 38 in the temperate and arctic climates, respectively. It must be set to a multiple of 8, which is one level of height difference.&lt;br /&gt;
&lt;br /&gt;
===Global ID offset (99)===&lt;br /&gt;
&lt;br /&gt;
Setting this variable will add the given value to all the relevant IDs in subsequent action 0, action 3 (&#039;&#039;except&#039;&#039; livery overrides), action 4 (&#039;&#039;except&#039;&#039; generic texts) and action A entries. This is a more convenient way of applying the result of a GRF resource request. Setting this variable applies only to the current .grf file only.&lt;br /&gt;
&lt;br /&gt;
In detail, it affects the following elements:&lt;br /&gt;
&lt;br /&gt;
||Action|Element modified&lt;br /&gt;
&lt;br /&gt;
0|-+&amp;amp;lt;Id&amp;amp;gt;+- (i.e., not property numbers)&lt;br /&gt;
&lt;br /&gt;
3|-+&amp;amp;lt;Ids...&amp;amp;gt;+- (i.e., not cargo types or cargo IDs, also not for livery overrides)&lt;br /&gt;
&lt;br /&gt;
4|-+&amp;amp;lt;Offset&amp;amp;gt;+- (not for generic texts, though)&lt;br /&gt;
&lt;br /&gt;
A|-+&amp;amp;lt;First-sprite&amp;amp;gt;+-||&lt;br /&gt;
&lt;br /&gt;
===Misc. GRF Features (9E)===&lt;br /&gt;
&lt;br /&gt;
This variable is a global bit mask of various patch features a grf file can enable. &amp;amp;nbsp;Please only set the bits using operation 08 (bitwise OR), or, if absolutely necessary, remove certain bits with operation 07 (bitwise AND). &amp;amp;nbsp;This ensures that you don&#039;t mess up the settings of other grf files.&lt;br /&gt;
&lt;br /&gt;
||Bit|Value|Feature|Min. version&lt;br /&gt;
&lt;br /&gt;
0|1|Allow trees and fields in the desert&lt;br /&gt;
&lt;br /&gt;
1|2|Show pavement and lights in desert towns&lt;br /&gt;
&lt;br /&gt;
2|4|Fields have a height, using a 3D bounding box&lt;br /&gt;
&lt;br /&gt;
3|8|Display train vehicles with full width of 32 pixels in depot window (instead of 29 pixels)|(a)&lt;br /&gt;
&lt;br /&gt;
4|10|Enable ambient sound effect callback 144|2.6 r821&lt;br /&gt;
&lt;br /&gt;
5|20|Enable catenaries over the third track type (only with electrifiedrailway on)|2.6 r826, 2.5 r1439 (beta 10)&lt;br /&gt;
&lt;br /&gt;
31|80000000|Only to be set by ttdpbase(w).grf for identification||&lt;br /&gt;
&lt;br /&gt;
(a) Since OpenTTD r16867 this flag works per grf file, that is: It only affects trains defined in the same grf.&lt;br /&gt;
&lt;br /&gt;
Example code for setting bit 3:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;-+ &amp;amp;nbsp;24 * 9 &amp;amp;nbsp; &amp;amp;nbsp; 0D 9E 08 9E FF 08 00 00 00+-&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(Here, the first 08 indicates the bitwise OR operation, and 08 00 00 00 is the value to OR var.9E with.)&lt;br /&gt;
&lt;br /&gt;
===Locale-dependent settings (9F)===&lt;br /&gt;
&lt;br /&gt;
This variable is a doubleword in the format rrccmmll, where the meaning of the bytes is:&lt;br /&gt;
&lt;br /&gt;
||Byte|Meaning&lt;br /&gt;
&lt;br /&gt;
rr|Reserved for future use, just put zero here for now&lt;br /&gt;
&lt;br /&gt;
cc|Default currency to be used when the game is first started. It can be larger than 5 to select one of the currencies added via morecurrencies. If this value is larger than 5 while morecurrencies is disabled, US dollars will be used instead.&lt;br /&gt;
&lt;br /&gt;
mm|Default measurement system to be used when the game is first started. 00h means the imperial system (miles), 01h means the metric system (kilometers), other values are forbidden.&lt;br /&gt;
&lt;br /&gt;
ll|Language ID. By setting this byte, you can override the default language ID and allow other GRFs to supply correctly localized texts. (The other GRF can check for this value in action 4s)||&lt;br /&gt;
&lt;br /&gt;
Reading this variable isn&#039;t reliable, so you must only write to it. Please also note that the cc and mm parts are considered only while loading the title screen for the first time, changing them later is ignored.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE&#039;&#039;&#039;: This variable is reset after the initialization stage. Only changes during the activation stage are considered. This way, GRFs disabled in newgrf.cfg won&#039;t change the language and/or default settings. If you want to modify the cc or mm part, make sure the corresponding action D isn&#039;t skipped by an earlier action 7 or 9. In particular, if your GRF isn&#039;t available for the tropic climate, make sure you set variable 9F before the climate check, since the default title screen is tropic, and your climate check will fail on it.&lt;br /&gt;
&lt;br /&gt;
-=Example=-&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&#039;color:#808080&#039;&amp;gt;Something to go here&amp;lt;/span&amp;gt;&lt;/div&gt;</summary>
		<author><name>Orudge</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=ActionC&amp;diff=517</id>
		<title>ActionC</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=ActionC&amp;diff=517"/>
		<updated>2011-06-12T19:22:43Z</updated>

		<summary type="html">&lt;p&gt;Orudge: 4 revisions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Do nothing.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=Action C=&lt;br /&gt;
&lt;br /&gt;
Do nothing.&lt;br /&gt;
&lt;br /&gt;
-=Introduction=-&lt;br /&gt;
&lt;br /&gt;
Action C is a NOP (no operation). It can be used to temporarily comment out a sprite while testing.&lt;br /&gt;
&lt;br /&gt;
-=Format=-&lt;br /&gt;
&lt;br /&gt;
The data looks as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; -+&amp;amp;lt;Sprite-number&amp;amp;gt; * &amp;amp;lt;Length&amp;amp;gt; 0C &amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;[&amp;amp;lt;ignored&amp;amp;gt;]&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;+-&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
||&#039;&#039;&#039;Element&#039;&#039;&#039;|[[GRFActionsDetailed|&#039;&#039;&#039;Size&#039;&#039;&#039;]]|&#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;Sprite-number&amp;amp;gt;|dec|A sequential sprite number&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;length&amp;amp;gt;|dec|The total number of bytes used in this action&lt;br /&gt;
&lt;br /&gt;
0C|B|Defines action 0C&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;ignored&amp;amp;gt;|V|Anything following the action byte 0C is ignored entirely||&lt;br /&gt;
&lt;br /&gt;
-=Filling in the terms=-&lt;br /&gt;
&lt;br /&gt;
===Sprite-number===&lt;br /&gt;
&lt;br /&gt;
This is just the number you are at.&lt;br /&gt;
&lt;br /&gt;
===Length===&lt;br /&gt;
&lt;br /&gt;
Count the number of bytes in this action.&lt;br /&gt;
&lt;br /&gt;
===ignored===&lt;br /&gt;
&lt;br /&gt;
These bytes, if present at all, are ignored. The action does nothing.&lt;br /&gt;
&lt;br /&gt;
-=Example=-&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&#039;color:#808080&#039;&amp;gt;Something to go here&amp;lt;/span&amp;gt;&lt;/div&gt;</summary>
		<author><name>Orudge</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=ActionB&amp;diff=512</id>
		<title>ActionB</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=ActionB&amp;diff=512"/>
		<updated>2011-06-12T19:22:43Z</updated>

		<summary type="html">&lt;p&gt;Orudge: 13 revisions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Generate error messages&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=Action B=&lt;br /&gt;
&lt;br /&gt;
Generate error messages.&lt;br /&gt;
&lt;br /&gt;
-=Introduction=-&lt;br /&gt;
&lt;br /&gt;
With this action, you can alert the user to problems in the way the grf file is loaded, e.g. not in the right order, not the right patch version, or wrong parameters.&lt;br /&gt;
&lt;br /&gt;
-=Format=-&lt;br /&gt;
&lt;br /&gt;
The data looks as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; -+&amp;amp;lt;Sprite-number&amp;amp;gt; * &amp;amp;lt;Length&amp;amp;gt; 0B &amp;amp;lt;severity&amp;amp;gt; &amp;amp;lt;language-id&amp;amp;gt; &amp;amp;lt;message-id&amp;amp;gt; &amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;[&amp;amp;lt;message&amp;amp;gt;] [&amp;amp;lt;data&amp;amp;gt; [&amp;amp;lt;parnum&amp;amp;gt; [&amp;amp;lt;parnum&amp;amp;gt;]]]&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;+-&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
||&#039;&#039;&#039;Element&#039;&#039;&#039;|[[GRFActionsDetailed|&#039;&#039;&#039;Size&#039;&#039;&#039;]]|&#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;Sprite-number&amp;amp;gt;|dec|A sequential sprite number&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;length&amp;amp;gt;|dec|The total number of bytes used in this action&lt;br /&gt;
&lt;br /&gt;
0B|B|Defines action 0B&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;severity&amp;amp;gt;|B|How severe the message is (notice/warning/error/fatal error)&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;language-id&amp;amp;gt;|B|What languages to display this message for&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;message-id&amp;amp;gt;|B|What message to show&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;message&amp;amp;gt;|S|Text of a custom message, only present if &amp;amp;lt;message-id&amp;amp;gt;==FF&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;data&amp;amp;gt;|S|String to insert in built-in or custom messages&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;parnum&amp;amp;gt;|B|GRF parameter(s) to display in message||&lt;br /&gt;
&lt;br /&gt;
-=Filling in the terms=-&lt;br /&gt;
&lt;br /&gt;
===Sprite-number===&lt;br /&gt;
&lt;br /&gt;
This is just the number you are at.&lt;br /&gt;
&lt;br /&gt;
===Length===&lt;br /&gt;
&lt;br /&gt;
Count the number of bytes in this action.&lt;br /&gt;
&lt;br /&gt;
===severity===&lt;br /&gt;
&lt;br /&gt;
This sets how severe the message is.&lt;br /&gt;
&lt;br /&gt;
||Severity|Meaning|Prefix|Action taken&lt;br /&gt;
&lt;br /&gt;
00|Notice|(none)|continue loading grf file&lt;br /&gt;
&lt;br /&gt;
01|Warning|&amp;amp;quot;Warning: &amp;amp;quot;|continue loading grf file&lt;br /&gt;
&lt;br /&gt;
02|Error|&amp;amp;quot;Error: &amp;amp;quot;|continue loading grf file&lt;br /&gt;
&lt;br /&gt;
03|Fatal error|&amp;amp;quot;Error: &amp;amp;quot;|abort loading of grf file, and do not attempt again until patch is restarted||&lt;br /&gt;
&lt;br /&gt;
Normally Action B is ignored during initialization. If the severity has bit 7 set, a fatal action B will be applied even during initialization. &amp;amp;nbsp;This can be useful to prevent errors due to invalid sprites during initialization. &amp;amp;nbsp;Note that this only works properly since 2.0.1 alpha 66, for earlier versions the error popup that is shown is corrupted if bit 7 is set.&lt;br /&gt;
&lt;br /&gt;
Messages are shown with a &amp;amp;quot;/!\&amp;amp;quot; sign in the [[GRFStatusWindow|GRF Status window]]. The first fatal message during each activation is shown as a red popup box as well.&lt;br /&gt;
&lt;br /&gt;
===language-id===&lt;br /&gt;
&lt;br /&gt;
This has the same format as the [[Action4#language-id|language-id in action 4]].&lt;br /&gt;
&lt;br /&gt;
Use 7F (all languages) for built-in messages, because they are automatically using the right language.&lt;br /&gt;
&lt;br /&gt;
===message-id===&lt;br /&gt;
&lt;br /&gt;
Set what kind of message to show. You have the following options:&lt;br /&gt;
&lt;br /&gt;
||Message ID|Content&lt;br /&gt;
&lt;br /&gt;
00|80 &amp;amp;quot; requires at least TTDPatch version &amp;amp;quot; 80 00&lt;br /&gt;
&lt;br /&gt;
01|80 &amp;amp;quot; is for the &amp;amp;quot; 80 &amp;amp;quot; version of TTD.&amp;amp;quot; 00&lt;br /&gt;
&lt;br /&gt;
|&amp;amp;lt;data&amp;amp;gt; should be &amp;amp;quot;DOS&amp;amp;quot; or &amp;amp;quot;Windows&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
02|80 &amp;amp;quot; is designed to be used with &amp;amp;quot; 80 00&lt;br /&gt;
&lt;br /&gt;
|&amp;amp;lt;data&amp;amp;gt; should be a switchname + value, e.g. &amp;amp;quot;multihead 0&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
03|&amp;amp;quot;Invalid parameter for &amp;amp;quot; 80 &amp;amp;quot;: parameter &amp;amp;quot; 80 &amp;amp;quot; (&amp;amp;quot; 7B &amp;amp;quot;)&amp;amp;quot; 00&lt;br /&gt;
&lt;br /&gt;
|&amp;amp;lt;data&amp;amp;gt; should be the switch number written out (&amp;amp;quot;5&amp;amp;quot;)&lt;br /&gt;
&lt;br /&gt;
04|80 &amp;amp;quot; must be loaded before &amp;amp;quot; 80 &amp;amp;quot;.&amp;amp;quot; 00&lt;br /&gt;
&lt;br /&gt;
05|80 &amp;amp;quot; must be loaded after &amp;amp;quot; 80 &amp;amp;quot;.&amp;amp;quot; 00&lt;br /&gt;
&lt;br /&gt;
06|80 &amp;amp;quot; requires OpenTTD version &amp;amp;quot; 80 &amp;amp;quot; or better.&amp;amp;quot; 00&lt;br /&gt;
&lt;br /&gt;
FF|Custom message, use text from &amp;amp;lt;message&amp;amp;gt;||&lt;br /&gt;
&lt;br /&gt;
Message IDs 04 and 05 are available since TTDPatch 2.6 alpha 1 (r858).&lt;br /&gt;
&lt;br /&gt;
Message ID 06 is available since OpenTTD r11330. This message should only be used when Action 7/9 variable 9D is 1 (OpenTTD).&lt;br /&gt;
&lt;br /&gt;
===message===&lt;br /&gt;
&lt;br /&gt;
Custom message text to show.&lt;br /&gt;
&lt;br /&gt;
===parnum===&lt;br /&gt;
&lt;br /&gt;
Parameter numbers (up to two) to display instead of 7B in the message text.&lt;br /&gt;
&lt;br /&gt;
-=Notes=-&lt;br /&gt;
&lt;br /&gt;
In all messages (built-in and custom), the first 80 is replaced by the filename of the grf file, the second 80 is replaced by the content of &amp;amp;lt;data&amp;amp;gt;. &amp;amp;nbsp;After the two 80 bytes, you may have one or two 7B bytes that are replaced by the value of the parameter(s) specified by &amp;amp;lt;parnum&amp;amp;gt;. Note that it is invalid to have a 7B before exactly two 80 bytes were encountered. This means the following combinations of special bytes are allowed:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;(none)~pp~&lt;br /&gt;
&lt;br /&gt;
80&lt;br /&gt;
&lt;br /&gt;
80 80&lt;br /&gt;
&lt;br /&gt;
80 80 7B&lt;br /&gt;
&lt;br /&gt;
80 80 7B 7B~/pp~&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Before, after, or in-between the bytes you may have arbitrary characters.&lt;br /&gt;
&lt;br /&gt;
The advantage of the built-in messages is that they can be translated using the mkpttxt mechanism, whereas custom messages will only be available in the languages that come with the grf file.&lt;br /&gt;
&lt;br /&gt;
Note that if several grf files attempt to show fatal error messages, only the first message is actually shown at the moment since TTD does not have a queue for the red error popups. &amp;amp;nbsp;All others will however be shown in the GRF Status window.&lt;br /&gt;
&lt;br /&gt;
Also note that since this action has only been introduced in 2.0.1 alpha 13, it makes no sense to check whether the version is at least alpha 13 if you want to use the error message 00. &amp;amp;nbsp;In earlier versions, the patch will display the &amp;amp;quot;invalid sprite&amp;amp;quot; error message anyway because the action is unknown.&lt;br /&gt;
&lt;br /&gt;
-=Example=-&lt;br /&gt;
&lt;br /&gt;
Below is an example of what a real Action B pseudo-sprite could look like, along with the [[Action7|Action 7]] required to skip it under the appropriate circumstances.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;2 * 6 &amp;amp;nbsp;07 85 01 01 37 01&lt;br /&gt;
&lt;br /&gt;
3 * 17 0B 03 7F 02 &amp;amp;quot;newtrains on&amp;amp;quot; 00&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
||&#039;&#039;&#039;Byte(s)&#039;&#039;&#039;|&#039;&#039;&#039;Name&#039;&#039;&#039;|&#039;&#039;&#039;Meaning&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
07|&amp;amp;lt;action&amp;amp;gt;|Sets this pseudo-sprite to function as action 7&lt;br /&gt;
&lt;br /&gt;
85|&amp;amp;lt;variable&amp;amp;gt;|Check [[TTDPatchFlags|patch flags]]&lt;br /&gt;
&lt;br /&gt;
01|&amp;amp;lt;size&amp;amp;gt;|variable size; ignored because this is a bit test&lt;br /&gt;
&lt;br /&gt;
01|&amp;amp;lt;cond&amp;amp;gt;|skip if bit is set&lt;br /&gt;
&lt;br /&gt;
37|&amp;amp;lt;val&amp;amp;gt;|check bit 37 (newtrains)&lt;br /&gt;
&lt;br /&gt;
01|&amp;amp;lt;num-sprites&amp;amp;gt;|skip one sprite&lt;br /&gt;
&lt;br /&gt;
0B|&amp;amp;lt;action&amp;amp;gt;|Sets this pseudo-sprite to function as action B&lt;br /&gt;
&lt;br /&gt;
03|&amp;amp;lt;severity&amp;amp;gt;|Sets this to a fatal error&lt;br /&gt;
&lt;br /&gt;
7F|&amp;amp;lt;language-id&amp;amp;gt;|Execute this sprite for all languages&lt;br /&gt;
&lt;br /&gt;
02|&amp;amp;lt;message-id&amp;amp;gt;|Use message 02 (80 &amp;amp;quot; is designed to be used with &amp;amp;quot; 80)&lt;br /&gt;
&lt;br /&gt;
&amp;amp;quot;newtrains on&amp;amp;quot; 00|&amp;amp;lt;data&amp;amp;gt;|String to insert in place of the second 80 in the message||&lt;/div&gt;</summary>
		<author><name>Orudge</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=ActionA&amp;diff=498</id>
		<title>ActionA</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=ActionA&amp;diff=498"/>
		<updated>2011-06-12T19:22:43Z</updated>

		<summary type="html">&lt;p&gt;Orudge: 11 revisions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Modify TTD&#039;s sprites&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=Action A=&lt;br /&gt;
&lt;br /&gt;
Modify TTD&#039;s sprites.&lt;br /&gt;
&lt;br /&gt;
-=Introduction=-&lt;br /&gt;
&lt;br /&gt;
Unlike actions 1 and 5, which add new sprites for new features or vehicles, action A modifies TTD&#039;s built-in sprites.&lt;br /&gt;
&lt;br /&gt;
-=Format=-&lt;br /&gt;
&lt;br /&gt;
The data looks as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; -+&amp;amp;lt;Sprite-number&amp;amp;gt; * &amp;amp;lt;Length&amp;amp;gt; 0A &amp;amp;lt;num-sets&amp;amp;gt; &amp;amp;lt;num-sprites&amp;amp;gt; &amp;amp;lt;first-sprite&amp;amp;gt;...+-&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
||&#039;&#039;&#039;Element&#039;&#039;&#039;|[[GRFActionsDetailed|&#039;&#039;&#039;Size&#039;&#039;&#039;]]|&#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;Sprite-number&amp;amp;gt;|dec|A sequential sprite number&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;length&amp;amp;gt;|dec|The total number of bytes used in this action&lt;br /&gt;
&lt;br /&gt;
0A|B|Defines action 0A&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;num-sets&amp;amp;gt;|B|How many sets of sprites to replace&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;num-sprites&amp;amp;gt;|B|How many consecutive sprites in this set&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;first-sprite&amp;amp;gt;|W|Number of first sprite in this set||&lt;br /&gt;
&lt;br /&gt;
The set of &amp;amp;lt;num-sprites&amp;amp;gt; and &amp;amp;lt;first-sprite&amp;amp;gt; is repeated as often as &amp;amp;lt;num-sets&amp;amp;gt; specifies.&lt;br /&gt;
&lt;br /&gt;
The following sprites will be RealSprites or RecolorSprites that replace the given TTD sprites. &amp;amp;nbsp;There must be as many of them as num-sprites of all sets added up.&lt;br /&gt;
&lt;br /&gt;
-=Filling in the terms=-&lt;br /&gt;
&lt;br /&gt;
===Sprite-number===&lt;br /&gt;
&lt;br /&gt;
This is just the number you are at.&lt;br /&gt;
&lt;br /&gt;
===Length===&lt;br /&gt;
&lt;br /&gt;
Count the number of bytes in this action.&lt;br /&gt;
&lt;br /&gt;
===num-sets===&lt;br /&gt;
&lt;br /&gt;
This sets how many different sets of sprites to replace. Each set are a number of consecutive sprites.&lt;br /&gt;
&lt;br /&gt;
===num-sprites===&lt;br /&gt;
&lt;br /&gt;
How many consecutive sprites to replace in this particular set.&lt;br /&gt;
&lt;br /&gt;
===first-sprite===&lt;br /&gt;
&lt;br /&gt;
The first sprite number to replace in this set.&lt;br /&gt;
&lt;br /&gt;
-=Notes=-&lt;br /&gt;
&lt;br /&gt;
You can find the sprite numbers by looking in trg1.pcx, they&#039;re the little numbers above each sprite, except for the climate-specific sprites which are more complicated.&lt;br /&gt;
&lt;br /&gt;
Unlike actions 1 and 5, the real sprites of action A do not count towards the sprite limit.&lt;br /&gt;
&lt;br /&gt;
To replace sprites in other climates, you first need to find out what the sprite number is trg1.grf.&lt;br /&gt;
&lt;br /&gt;
You set it to replace that number and add an Action7 which turns it off if it is not in the right climate.&lt;br /&gt;
&lt;br /&gt;
One easy way to do this is to edit trg?&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;[r]&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;.grf, use grfdiff (part of the grfcodec package) to create a grd, and then use [http://www.bytetransfer.de/projects/ttdpatch/grdtogrf/|grdtogrf] to create a simple grf with the action A(s) written for you. The action7s still have to be added by hand.&lt;br /&gt;
&lt;br /&gt;
You can as well use [http://www.bytetransfer.de/projects/ttdpatch/docs/|the online sprite id converter] found on the same site.&lt;br /&gt;
&lt;br /&gt;
-=Example=-&lt;br /&gt;
&lt;br /&gt;
Below is an example of what a real Action A pseudo-sprite could look like with the sprite entries under it.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;3 * 5 &amp;amp;nbsp; &amp;amp;nbsp; 0A 01 0C 3A 08&lt;br /&gt;
&lt;br /&gt;
4 c:\ttd\sprites\farmset.pcx 66 8 09 31 64 -31 0&lt;br /&gt;
&lt;br /&gt;
5 c:\ttd\sprites\farmset.pcx 146 8 09 31 64 -31 0&lt;br /&gt;
&lt;br /&gt;
6 c:\ttd\sprites\farmset.pcx 226 8 09 45 48 -15 -11&lt;br /&gt;
&lt;br /&gt;
7 c:\ttd\sprites\farmset.pcx 290 8 09 33 22 1 -10&lt;br /&gt;
&lt;br /&gt;
8 c:\ttd\sprites\farmset.pcx 322 8 09 31 64 -31 0&lt;br /&gt;
&lt;br /&gt;
9 c:\ttd\sprites\farmset.pcx 402 8 09 29 57 -26 -4&lt;br /&gt;
&lt;br /&gt;
10 c:\ttd\sprites\farmset.pcx 466 8 09 31 64 -31 0&lt;br /&gt;
&lt;br /&gt;
11 c:\ttd\sprites\farmset.pcx 546 8 09 31 39 -19 -6&lt;br /&gt;
&lt;br /&gt;
12 c:\ttd\sprites\farmset.pcx 594 8 09 31 64 -31 0&lt;br /&gt;
&lt;br /&gt;
13 c:\ttd\sprites\farmset.pcx 674 8 09 49 28 -6 -28&lt;br /&gt;
&lt;br /&gt;
14 c:\ttd\sprites\farmset.pcx 722 8 09 31 64 -31 0&lt;br /&gt;
&lt;br /&gt;
15 c:\ttd\sprites\farmset.pcx 2 72 09 30 55 -29 0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
||&#039;&#039;&#039;Byte&#039;&#039;&#039;|&#039;&#039;&#039;Meaning&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
3|&amp;amp;lt;sprite-number&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
5|&amp;amp;lt;length&amp;amp;gt; of the action in bytes; start counting at 0A (&amp;amp;lt;action&amp;amp;gt;)&lt;br /&gt;
&lt;br /&gt;
0A|&amp;amp;lt;action&amp;amp;gt;: sets this pseudo-sprite to function as action A&lt;br /&gt;
&lt;br /&gt;
01|&amp;amp;lt;num-sets&amp;amp;gt;: sets it to 1 set to replace&lt;br /&gt;
&lt;br /&gt;
0C|&amp;amp;lt;num-sprites&amp;amp;gt;: sets it to 12 sprites in this set.&lt;br /&gt;
&lt;br /&gt;
3A 08|&amp;amp;lt;first-sprite&amp;amp;gt;: First Sprite of the set (3A 08 - Farms)||&lt;/div&gt;</summary>
		<author><name>Orudge</name></author>
	</entry>
</feed>