<?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=Frosch-bot</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=Frosch-bot"/>
	<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/wiki/Special:Contributions/Frosch-bot"/>
	<updated>2026-05-30T22:35:44Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=TextIDs/Internal_TTDPatch_strings&amp;diff=1756</id>
		<title>TextIDs/Internal TTDPatch strings</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=TextIDs/Internal_TTDPatch_strings&amp;diff=1756"/>
		<updated>2011-06-17T21:51:42Z</updated>

		<summary type="html">&lt;p&gt;Frosch-bot: split textid page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Internal TTDPatch texts F800 - FFFF==&lt;br /&gt;
&lt;br /&gt;
This is used internally by TTDPatch for its additional regular strings, i.e. those from ttdpttxt.txt. Since TTDPatch 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 &amp;lt;tt&amp;gt;mkpttxt -l [langnum]&amp;lt;/tt&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;quot;name??&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
F886 newtrainindepot - Looks for TextID 8864 in TextID 8814. Equivalent string is &amp;quot;\94\80 is waiting in depot&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
F887 newrvindepot - Looks for TextID 902B in TextID 9016. Equivalent string is &amp;quot;\94\80 is waiting in depot&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
F888 newshipindepot - Looks for TextID 9830 in TextID 981C. Equivalent string is &amp;quot;\94\80 is waiting in depot&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
F889 newaircraftinhangar - Looks for TextID A02F in TextID A014. Equivalent string is &amp;quot;\94\80 is waiting in the aircraft hangar&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
F88A newvehold - Generated from TextID 01A0. Equivalent string is &amp;quot;\94\80 is getting old&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
F88B newvehveryold - Generated from TextID 01A1. Equivalent string is &amp;quot;\94\80 is getting very old&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
F88C newvehveryveryold - Generated from TextID 01A2. Equivalent string is &amp;quot;\94\80 is getting very old and urgently needs replacing&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
F88D newvehiclelost - Generated from TextID F878 (vehiclelost). Equivalent string is &amp;quot;\94\80 seems to be lost&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
F88E newcantreverse - Generated from TextID F8AE (cantreverse). Equivalent string is &amp;quot;\94\80 needs to reverse but cannot do so safely.&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 txtetoolbox_usedefaultinsave&lt;br /&gt;
&lt;br /&gt;
F8A1 txtetoolbox_saveasdefault&lt;br /&gt;
&lt;br /&gt;
F8A2 txtetoolbox_resetdefaultsizes&lt;br /&gt;
&lt;br /&gt;
F8A3 none&lt;br /&gt;
&lt;br /&gt;
F8A4 low&lt;br /&gt;
&lt;br /&gt;
F8A5 normal&lt;br /&gt;
&lt;br /&gt;
F8A6 high&lt;br /&gt;
&lt;br /&gt;
F8A7 defaultstation&lt;br /&gt;
&lt;br /&gt;
F8A8 stationnumdefault&lt;br /&gt;
&lt;br /&gt;
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 sizertooltip&lt;br /&gt;
&lt;br /&gt;
F8B1 stickytooltip&lt;br /&gt;
&lt;br /&gt;
F8B2 rcw_railway&lt;br /&gt;
&lt;br /&gt;
F8B3 rcw_signaltype&lt;br /&gt;
&lt;br /&gt;
F8B4 rcw_semaphores&lt;br /&gt;
&lt;br /&gt;
F8B5 rcw_lights&lt;br /&gt;
&lt;br /&gt;
F8B6 rcw_automatic&lt;br /&gt;
&lt;br /&gt;
F8B7 rcw_normal&lt;br /&gt;
&lt;br /&gt;
F8B8 rcw_entry&lt;br /&gt;
&lt;br /&gt;
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 rcw_class&lt;br /&gt;
&lt;br /&gt;
F8C1 rcw_type&lt;br /&gt;
&lt;br /&gt;
F8C2 rcw_accepts&lt;br /&gt;
&lt;br /&gt;
F8C3 outofdynmem&lt;br /&gt;
&lt;br /&gt;
F8C4 cantresize&lt;br /&gt;
&lt;br /&gt;
F8C5 grftextnotfound&lt;br /&gt;
&lt;br /&gt;
F8C6 newindubuildindustry&lt;br /&gt;
&lt;br /&gt;
F8C7 newindufundprospecting&lt;br /&gt;
&lt;br /&gt;
F8C8 newinduproduces&lt;br /&gt;
&lt;br /&gt;
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 localplayer&lt;br /&gt;
&lt;br /&gt;
F8D1 remoteplayer&lt;br /&gt;
&lt;br /&gt;
F8D2 multiplayer&lt;br /&gt;
&lt;br /&gt;
F8D3 multiplayer_tooltip&lt;br /&gt;
&lt;br /&gt;
F8D4 patchsnd_dll_notfound&lt;br /&gt;
&lt;br /&gt;
F8D5 statistics&lt;br /&gt;
&lt;br /&gt;
F8D6 statistics_white&lt;br /&gt;
&lt;br /&gt;
F8D7 totalcargo&lt;br /&gt;
&lt;br /&gt;
F8D8 landareainfoheight&lt;br /&gt;
&lt;br /&gt;
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 curr_deutschmark&lt;br /&gt;
&lt;br /&gt;
F8E1 curr_yen&lt;br /&gt;
&lt;br /&gt;
F8E2 curr_peseta&lt;br /&gt;
&lt;br /&gt;
F8E3 shortdateformat&lt;br /&gt;
&lt;br /&gt;
F8E4 longdateformat&lt;br /&gt;
&lt;br /&gt;
F8E5 txtltwocc&lt;br /&gt;
&lt;br /&gt;
F8E6 txtltwoccglb&lt;br /&gt;
&lt;br /&gt;
F8E7 txtltwoccstm&lt;br /&gt;
&lt;br /&gt;
F8E8 txtltwoccdsl&lt;br /&gt;
&lt;br /&gt;
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 txtltwoccbus&lt;br /&gt;
&lt;br /&gt;
F8F1 txtltwocctrm&lt;br /&gt;
&lt;br /&gt;
F8F2 txtltwocctrk&lt;br /&gt;
&lt;br /&gt;
F8F3 txtltwoccpsh&lt;br /&gt;
&lt;br /&gt;
F8F4 txtltwoccfsh&lt;br /&gt;
&lt;br /&gt;
F8F5 txtltwoccsap&lt;br /&gt;
&lt;br /&gt;
F8F6 txtltwocclap&lt;br /&gt;
&lt;br /&gt;
F8F7 txtltwoccfrp&lt;br /&gt;
&lt;br /&gt;
F8F8 txtltwocchel&lt;br /&gt;
&lt;br /&gt;
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 TTDPatch 2.6:&lt;br /&gt;
&lt;br /&gt;
F90A newgame &amp;quot;New game\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F90B newgamewindow &amp;quot;\90Are you sure you want to abandon this game and start a new game?\00&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;quot;\98Airport Type\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F90B unnamedairporttype &amp;quot;(Unnamed type)\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F90C txtclonedepotbutton &amp;quot;\98Clone Train\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F90D txtclonetooltip &amp;quot;\98Allows you to clone a train\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F90E txtcloneerrortop &amp;quot;\94Cannot clone train consist\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F90F txtclonebadcash &amp;quot;\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F910 txtcloneerror_company &amp;quot;\94Not a company train\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F911 txtcloneerror_unavail &amp;quot;\94Vehicle in consist is not available anymore\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F912 txtcloneerror_nothead &amp;quot;\94No engine head at the start of the consist\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F913 txtcloneerror_notrail &amp;quot;\94Not a rail vehicle\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F914 txtcloneerror_unknown &amp;quot;\94Unknown reason\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F915 grfbefore &amp;quot;\94File \&amp;quot;\80\&amp;quot; must be loaded before \80.\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F916 grfafter &amp;quot;\94File \&amp;quot;\80\&amp;quot; must be loaded after \80.\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F917 tr_trainlen &amp;quot;Number of Train Carriages\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F918 tr_maxspeed_kph &amp;quot;Maximum Speed in km/h\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F919 tr_curorder &amp;quot;Station of Current Order\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F91A tr_curdeporder &amp;quot;Depot of Current Order\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F91B tr_totalpower &amp;quot;Total Train Horsepower\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F91C tr_totalweight &amp;quot;Total Train Weight\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F91D tr_restricttitle &amp;quot;\98Routefinding Restriction\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F91E tr_valuebtn &amp;quot;Value\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F91F tr_andbtn &amp;quot;And\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F920 tr_orbtn &amp;quot;Or\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F921 tr_xorbtn &amp;quot;Xor\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F922 tr_error1 &amp;quot;\94Error: Too Many Restriction Objects.\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F923 tr_siggui_text &amp;quot;\98Routefinding\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F924 tr_enternumber &amp;quot;\94Enter Number\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F925 tr_copy &amp;quot;\98Copy\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F926 tr_share &amp;quot;\98Share\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F927 tr_end &amp;quot;-- End of routefinding restriction criteria\80 --\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F928 tr_endshare &amp;quot;, shared by \7e signals\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F929 tr_landinfotext &amp;quot;restricted\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F92A tr_sigval_sw &amp;quot;Signal Status SW\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F92B tr_sigval_se &amp;quot;Signal Status SE\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F92C tr_sigval_nw &amp;quot;Signal Status NW\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F92D tr_sigval_ne &amp;quot;Signal Status NE\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F92E tr_sigval_is_green &amp;quot;is green\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F92F tr_sigval_is_red &amp;quot;is red\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F930 tr_sigval_is_g &amp;quot;G\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F931 tr_sigval_is_r &amp;quot;R\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F932 tr_maxspeed_mph &amp;quot;Maximum Speed in mph\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F933 tr_nextorder &amp;quot;Station of Next Order\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F934 tr_lastvisitstation &amp;quot;Last Visited Station\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F935 tr_carriescargo &amp;quot;Train Cargo\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F936 tr_distancefromsig &amp;quot;Number of tiles from signals\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F937 tr_vartxt &amp;quot;Variable\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F938 tr_optxt &amp;quot;Op\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F939 directoryoverflow &amp;quot;\94Too many folders in listing\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F93A trdlg_eq &amp;quot;is\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F93B trdlg_neq &amp;quot;is not\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F93C tr_nextdeporder &amp;quot;Depot of Next Order\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F93D adjsttitle &amp;quot;\94\80 - Adjacent stations\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F93E adjstnumstsinrange &amp;quot;\98Number of stations in range found: \85\85\85\7e\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F93F adjstnormstmergealgtxt &amp;quot;\98Standard merge to connecting station\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F940 adjstnewsttxt &amp;quot;\98Create new station\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F941 adjstnewstbuoy &amp;quot;\98Create new standard buoy\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F942 adjstnewenhbuoy &amp;quot;\98Create new station buoy\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F943 newgame &amp;quot;New game\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F944 newgamewindow &amp;quot;\90Are you sure you want to abandon this game and start a new game?\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F945 aquaducttext &amp;quot;Aquaduct\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F946 headingfordepot1v2 &amp;quot;\95\80 Train Depot\80, \84\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F947 headingfordepot2v2 &amp;quot;\95\80 Road Depot\80, \84\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F948 headingfordepot3v2 &amp;quot;\95\80 Ship Depot\80, \84\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F949 canaltexttip &amp;quot;\98Build Canals and Locks\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F94A rivertexttip &amp;quot;\98Build River\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F94B aquaducttexttip &amp;quot;\98Build an Aqueduct to overpass a valley\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F94C waterconstrwin &amp;quot;\94Water construction\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F94D waterconstrtbtip &amp;quot;\98Canal, River and Aqueduct construction\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F94E sortname &amp;quot;Name\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F94F tr_days_since_last_service &amp;quot;Number of Days Since Last Service\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F950 tr_searching_for_depot &amp;quot;Train \80 Currently Searching For Depot\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F951 tr_ps_wintitle &amp;quot;\98Signal Programming\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F952 tr_ps_gui_text &amp;quot;\98Signal\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F953 tr_ps_sigcount_g &amp;quot;No. of green exit &amp;amp; combo signals\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F954 tr_ps_sigcount_go &amp;quot;No. of green one-way exit &amp;amp; combo signals\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F955 tr_ps_sigcount_gt &amp;quot;No. of green two-way exit &amp;amp; combo signals\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F956 tr_ps_sigcount_r &amp;quot;No. of red exit &amp;amp; combo signals\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F957 tr_ps_sigcount_ro &amp;quot;No. of red one-way exit &amp;amp; combo signals\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F958 tr_ps_sigcount_rt &amp;quot;No. of red two-way exit &amp;amp; combo signals\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F959 tr_ps_end &amp;quot;-- End of criteria to set signal to red\80 --\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F95A tr_ps_landinfotext &amp;quot;programmed\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F95B ne &amp;quot;NE\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F95C se &amp;quot;SE\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F95D sw &amp;quot;SW\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F95E nw &amp;quot;NW\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F95F tr_entertileside &amp;quot;Entered side of tile\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F960 tr_pbssigblentertl &amp;quot;Entered tile of PBS signal block\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F961 newstartyear &amp;quot;\98New game start year\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F962 newstartyearprint &amp;quot;\98\7e\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F963 newstartyearhintyear &amp;quot;\98This is the current new game start year\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F964 newstartyearhintinc &amp;quot;\98Increases the new game start year\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F965 newstartyearhintdec &amp;quot;\98Decreases the new game start year\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F966 nohouseremove &amp;quot;\94Local authority refuses to demolish building in the way\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F967 tsignal_linfotxt &amp;quot;through\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F968 isignal_linfotxt &amp;quot;inverted\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F969 advorder_findnearestdepottxt &amp;quot;nearest\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F96A advorder_gotonearestdepotddltxt &amp;quot;Go to nearest depot\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F96B advorder_servicenearestdepotddltxt &amp;quot;Service at nearest depot\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F96C advorder_loadcondskipddltxt &amp;quot;Load-based conditional order skip\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F96D advorder_loadcondskiporderwintxt &amp;quot;Skip next \7e orders if load \80 \7e%\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F96E advorder_orderskipcountguibtntxt &amp;quot;Count\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F96F advorder_orderloadpercentguibtntxt &amp;quot;Load%\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F970 advorder_ordercondskiploadparamddltxt &amp;quot;\98Params Ş\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F971 advorder_orderparamtooltip &amp;quot;\98Configure the advanced settings for this order\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F972 advorder_selrefitveh &amp;quot;Refit consist\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F973 advorder_orderrefitveh &amp;quot;Refit to: \80\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F974 advorder_ordergotoloadonlytxt &amp;quot;Go to \80 (Load Only)\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F975 advorder_ordergotounloadonlytxt &amp;quot;Go to \80 (Unload Only)\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F976 advorder_ordergotoloadonlyddltxt &amp;quot;Go to station (Load Only)\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F977 advorder_ordergotounloadonlyddltxt &amp;quot;Go to station (Unload Only)\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F978 transopts_option &amp;quot;\01\0cTransparency options\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F979 transopts_caption &amp;quot;\94Transparency Options\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F97A transopts_tttrees &amp;quot;\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F97B transopts_ttbuildings &amp;quot;\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F97C transopts_ttindustries &amp;quot;\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F97D transopts_ttstations &amp;quot;\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F97E transopts_ttraildepots &amp;quot;\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F97F transopts_ttroaddepots &amp;quot;\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F980 transopts_ttshipdepots &amp;quot;\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F981 transopts_ttbridges &amp;quot;\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F982 transopts_ttobjects &amp;quot;\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F983 transopts_ttcompany &amp;quot;\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F984 transopts_ttinvistrees &amp;quot;\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F985 tr_findbtn &amp;quot;Find\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F986 transopts_cttrees &amp;quot;\98Cycle transparency for trees (Ctrl-click to lock)\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F987 transopts_ctbuildings &amp;quot;\98Cycle transparency for town buildings (Ctrl-click to lock)\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F988 transopts_ctindustries &amp;quot;\98Cycle transparency for industries (Ctrl-click to lock)\00&lt;br /&gt;
&lt;br /&gt;
F989 transopts_ctstations &amp;quot;\98Cycle transparency for stations (Ctrl-click to lock)\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F98A transopts_ctraildepots &amp;quot;\98Cycle transparency for rail depots (Ctrl-click to lock)\00&lt;br /&gt;
&lt;br /&gt;
F98B transopts_ctroaddepots &amp;quot;\98Cycle transparency for road depots (Ctrl-click to lock)\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F98C transopts_ctshipdepots &amp;quot;\98Cycle transparency for ship depots (Ctrl-click to lock)\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F98D transopts_ctbridges &amp;quot;\98Cycle transparency for bridges (Ctrl-click to lock)\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F98E transopts_ctobjects &amp;quot;\98Cycle transparency for objects (Ctrl-click to lock)\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F98F transopts_ctcompany &amp;quot;\98Cycle transparency for company property (Ctrl-click to lock)\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F990 transopts_ttoneway &amp;quot;\98Toggle invisiblility for one-way road markers when road-building toolbar is closed (Ctrl-click to lock)\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F991 industrydirmenu &amp;quot;Industry directory\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F992 industrydir &amp;quot;\94Industries\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F993 industrydiritem0 &amp;quot;\8e\80 \80\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F994 industrydiritem1 &amp;quot;\8e\80 \80\98 (\80\80)\90 (\7d% transported)\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F995 industrydiritem2 &amp;quot;\8e\80 \80\98 (\80\80/\80\80)\90 (\7d%/\7d% transported)\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F996 sortorder_tooltip &amp;quot;\98Select sorting order (descending/ascending)\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F997 sortorder_production &amp;quot;\98Production\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F998 sortorder_type &amp;quot;\98Type\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F999 sortorder_transported &amp;quot;\98Transported\00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
F99A sortorder_name &amp;quot;\98Name\00&amp;quot;&lt;/div&gt;</summary>
		<author><name>Frosch-bot</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=TextIDs/Hard-coded_game_texts&amp;diff=1755</id>
		<title>TextIDs/Hard-coded game texts</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=TextIDs/Hard-coded_game_texts&amp;diff=1755"/>
		<updated>2011-06-17T21:51:41Z</updated>

		<summary type="html">&lt;p&gt;Frosch-bot: split textid page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Hard-coded game texts E000 - E7FF==&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;quot;xxx Transport&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 &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 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&lt;br /&gt;
&lt;br /&gt;
E029 MacDonald&lt;br /&gt;
&lt;br /&gt;
E02A 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;quot;C. F. Watkins&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 (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 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 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 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 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; Co.&lt;/div&gt;</summary>
		<author><name>Frosch-bot</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=TextIDs/Disaster_strings&amp;diff=1754</id>
		<title>TextIDs/Disaster strings</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=TextIDs/Disaster_strings&amp;diff=1754"/>
		<updated>2011-06-17T21:51:40Z</updated>

		<summary type="html">&lt;p&gt;Frosch-bot: split textid page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Disaster strings B800 - BFFF==&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;/div&gt;</summary>
		<author><name>Frosch-bot</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=TextIDs/Aircraft_strings&amp;diff=1753</id>
		<title>TextIDs/Aircraft strings</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=TextIDs/Aircraft_strings&amp;diff=1753"/>
		<updated>2011-06-17T21:51:39Z</updated>

		<summary type="html">&lt;p&gt;Frosch-bot: split textid page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Aircraft strings A000 - A7FF==&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;/div&gt;</summary>
		<author><name>Frosch-bot</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=TextIDs/Ship_strings&amp;diff=1752</id>
		<title>TextIDs/Ship strings</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=TextIDs/Ship_strings&amp;diff=1752"/>
		<updated>2011-06-17T21:51:38Z</updated>

		<summary type="html">&lt;p&gt;Frosch-bot: split textid page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Ship strings 9800 - 9FFF==&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;/div&gt;</summary>
		<author><name>Frosch-bot</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=TextIDs/Road_vehicle_strings&amp;diff=1751</id>
		<title>TextIDs/Road vehicle strings</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=TextIDs/Road_vehicle_strings&amp;diff=1751"/>
		<updated>2011-06-17T21:51:37Z</updated>

		<summary type="html">&lt;p&gt;Frosch-bot: split textid page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Road vehicle strings 9000 - 97FF==&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;/div&gt;</summary>
		<author><name>Frosch-bot</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=TextIDs/Train_strings&amp;diff=1750</id>
		<title>TextIDs/Train strings</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=TextIDs/Train_strings&amp;diff=1750"/>
		<updated>2011-06-17T21:51:36Z</updated>

		<summary type="html">&lt;p&gt;Frosch-bot: split textid page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Train strings 8800 - 8FFF==&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;/div&gt;</summary>
		<author><name>Frosch-bot</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=TextIDs/Vehicle_type_names&amp;diff=1749</id>
		<title>TextIDs/Vehicle type names</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=TextIDs/Vehicle_type_names&amp;diff=1749"/>
		<updated>2011-06-17T21:51:35Z</updated>

		<summary type="html">&lt;p&gt;Frosch-bot: split textid page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Vehicle type names 8000 - 87FF==&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;quot;custom vehicle names&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&lt;br /&gt;
&lt;br /&gt;
8003 Powernaut Choo-Choo&lt;br /&gt;
&lt;br /&gt;
8004 Mightymover 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 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 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 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 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 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 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 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 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 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 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 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 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 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 A34-1000&lt;br /&gt;
&lt;br /&gt;
80F0 Yate 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;/div&gt;</summary>
		<author><name>Frosch-bot</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=TextIDs/Company_strings&amp;diff=1748</id>
		<title>TextIDs/Company strings</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=TextIDs/Company_strings&amp;diff=1748"/>
		<updated>2011-06-17T21:51:34Z</updated>

		<summary type="html">&lt;p&gt;Frosch-bot: split textid page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Company strings 7000 - 77FF==&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 (Player 1)&lt;br /&gt;
&lt;br /&gt;
7003 (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  &#039;\80&#039;&lt;br /&gt;
&lt;br /&gt;
7055 \90\80\01-\8e\80 \98\80  &#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;/div&gt;</summary>
		<author><name>Frosch-bot</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=TextIDs/Difficulty_strings&amp;diff=1747</id>
		<title>TextIDs/Difficulty strings</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=TextIDs/Difficulty_strings&amp;diff=1747"/>
		<updated>2011-06-17T21:51:33Z</updated>

		<summary type="html">&lt;p&gt;Frosch-bot: split textid page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Difficulty strings 6800 - 6FFF==&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;lt;&lt;br /&gt;
&lt;br /&gt;
681A \98&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;/div&gt;</summary>
		<author><name>Frosch-bot</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=TextIDs/Debugger_strings&amp;diff=1746</id>
		<title>TextIDs/Debugger strings</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=TextIDs/Debugger_strings&amp;diff=1746"/>
		<updated>2011-06-17T21:51:32Z</updated>

		<summary type="html">&lt;p&gt;Frosch-bot: split textid page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Debugger strings 6000 - 67FF==&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;/div&gt;</summary>
		<author><name>Frosch-bot</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=TextIDs/Object_strings&amp;diff=1745</id>
		<title>TextIDs/Object strings</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=TextIDs/Object_strings&amp;diff=1745"/>
		<updated>2011-06-17T21:51:31Z</updated>

		<summary type="html">&lt;p&gt;Frosch-bot: split textid page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Object strings 5800 - 5FFF==&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;/div&gt;</summary>
		<author><name>Frosch-bot</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=TextIDs/Tunnel_and_bridge_strings&amp;diff=1744</id>
		<title>TextIDs/Tunnel and bridge strings</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=TextIDs/Tunnel_and_bridge_strings&amp;diff=1744"/>
		<updated>2011-06-17T21:51:30Z</updated>

		<summary type="html">&lt;p&gt;Frosch-bot: split textid page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Tunnel and bridge strings 5000-57FF==&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  \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;/div&gt;</summary>
		<author><name>Frosch-bot</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=TextIDs/Industry_strings&amp;diff=1743</id>
		<title>TextIDs/Industry strings</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=TextIDs/Industry_strings&amp;diff=1743"/>
		<updated>2011-06-17T21:51:29Z</updated>

		<summary type="html">&lt;p&gt;Frosch-bot: split textid page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Industry strings 4800 - 4FFF==&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;/div&gt;</summary>
		<author><name>Frosch-bot</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=TextIDs/Load,_save_strings&amp;diff=1742</id>
		<title>TextIDs/Load, save strings</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=TextIDs/Load,_save_strings&amp;diff=1742"/>
		<updated>2011-06-17T21:51:28Z</updated>

		<summary type="html">&lt;p&gt;Frosch-bot: split textid page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Load, save strings 4000 - 47FF==&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;/div&gt;</summary>
		<author><name>Frosch-bot</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=TextIDs/Water_strings&amp;diff=1741</id>
		<title>TextIDs/Water strings</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=TextIDs/Water_strings&amp;diff=1741"/>
		<updated>2011-06-17T21:51:27Z</updated>

		<summary type="html">&lt;p&gt;Frosch-bot: split textid page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Water strings 3800 - 3FFF==&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;/div&gt;</summary>
		<author><name>Frosch-bot</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=TextIDs/Station_strings&amp;diff=1740</id>
		<title>TextIDs/Station strings</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=TextIDs/Station_strings&amp;diff=1740"/>
		<updated>2011-06-17T21:51:26Z</updated>

		<summary type="html">&lt;p&gt;Frosch-bot: split textid page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Station strings 3000 - 37FF==&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;/div&gt;</summary>
		<author><name>Frosch-bot</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=TextIDs/Tree_strings&amp;diff=1739</id>
		<title>TextIDs/Tree strings</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=TextIDs/Tree_strings&amp;diff=1739"/>
		<updated>2011-06-17T21:51:25Z</updated>

		<summary type="html">&lt;p&gt;Frosch-bot: split textid page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Tree strings 2800 - 2FFF==&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;/div&gt;</summary>
		<author><name>Frosch-bot</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=TextIDs/Town_strings&amp;diff=1738</id>
		<title>TextIDs/Town strings</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=TextIDs/Town_strings&amp;diff=1738"/>
		<updated>2011-06-17T21:51:24Z</updated>

		<summary type="html">&lt;p&gt;Frosch-bot: split textid page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Town strings 2000 - 27FF==&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 ({)&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&lt;br /&gt;
&lt;br /&gt;
205C Piggy-Bank&lt;/div&gt;</summary>
		<author><name>Frosch-bot</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=TextIDs/Road_strings&amp;diff=1737</id>
		<title>TextIDs/Road strings</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=TextIDs/Road_strings&amp;diff=1737"/>
		<updated>2011-06-17T21:51:23Z</updated>

		<summary type="html">&lt;p&gt;Frosch-bot: split textid page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Road strings 1800 - 1FFF==&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;/div&gt;</summary>
		<author><name>Frosch-bot</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=TextIDs/Railroad_strings&amp;diff=1736</id>
		<title>TextIDs/Railroad strings</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=TextIDs/Railroad_strings&amp;diff=1736"/>
		<updated>2011-06-17T21:51:22Z</updated>

		<summary type="html">&lt;p&gt;Frosch-bot: split textid page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Railroad strings 1000 - 17FF==&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 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;/div&gt;</summary>
		<author><name>Frosch-bot</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=Action2/Sprite_Layout&amp;diff=1717</id>
		<title>Action2/Sprite Layout</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=Action2/Sprite_Layout&amp;diff=1717"/>
		<updated>2011-06-17T20:36:26Z</updated>

		<summary type="html">&lt;p&gt;Frosch-bot: add summary on supported features&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Action2 Sprite Layout =&lt;br /&gt;
{| |-&lt;br /&gt;
!Feature !! TTDPatch !! OpenTTD&lt;br /&gt;
|-&lt;br /&gt;
|Houses || 2.0.1 alpha ? || ?&lt;br /&gt;
|-&lt;br /&gt;
|Industry Tiles || ? || 0.6&lt;br /&gt;
|-&lt;br /&gt;
|Objects || 2.6 alpha r2023 || 1.1.0&lt;br /&gt;
|-&lt;br /&gt;
|Airport Tiles || not supported || 1.1.0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This Action2 defines a spritelayout for a tile. There are two formats available:&lt;br /&gt;
* Basic format for a single groundsprite and a single building sprite.&lt;br /&gt;
* Extended format for combining multiple sprites.&lt;br /&gt;
&lt;br /&gt;
== Basic format for tiles with a single building sprite ==&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 07/09/0F &amp;amp;lt;set-id&amp;amp;gt; 00 &amp;amp;lt;groundsprite&amp;amp;gt; &amp;amp;lt;buildingsprite&amp;amp;gt; &amp;amp;lt;xoffset&amp;amp;gt; &amp;amp;lt;yoffset&amp;amp;gt; &amp;amp;lt;xextent&amp;amp;gt; &amp;amp;lt;yextent&amp;amp;gt; &amp;amp;lt;zextent&amp;amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
!Element!![[GRFActionsDetailed|Size]]!!Description&lt;br /&gt;
|-&lt;br /&gt;
|&amp;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;
|07/09/0F||B||feature 7=town buildings, 9=industry tiles or 0F = objects&lt;br /&gt;
|-&lt;br /&gt;
|&amp;amp;lt;set-id&amp;amp;gt;||B||ID for this definition&lt;br /&gt;
|-&lt;br /&gt;
|00||B||Literal 0 (to distinguish this definition from random/variational lists)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;amp;lt;groundsprite&amp;amp;gt;||D||Ground sprite for the building (see format below)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;amp;lt;buildingsprite&amp;amp;gt;||D||The sprite of the building (see format below), can be zero to indicate that no building sprite should be displayed (useful for early building stages)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;amp;lt;xofs&amp;amp;gt;||B||x-offset from northern tile corner (as a signed byte)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;amp;lt;yofs&amp;amp;gt;||B||y-offset from northern tile corner (as a signed byte)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;amp;lt;xextent&amp;amp;gt;||B||size of sprite in x direction&lt;br /&gt;
|-&lt;br /&gt;
|&amp;amp;lt;yextent&amp;amp;gt;||B||size of sprite in y direction&lt;br /&gt;
|-&lt;br /&gt;
|&amp;amp;lt;zextent&amp;amp;gt;||B||size of sprite in z direction&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
In the above, xofs, yofs, xextent, yextent and zextent define the 3D bounding box of the building sprite not including the ground sprite. The z-offset is always zero for buildings (TTD doesn&#039;t support floating buildings). Please note that xofs/xextent and yofs/yextent pairs that place the bounding box off the tile are not recommended.&lt;br /&gt;
&lt;br /&gt;
== Extended format using multiple combined sprites ==&lt;br /&gt;
&lt;br /&gt;
Since TTDPatch 2.0.1 alpha 55 vcs 3, houses, industry (and object) tiles support an extended syntax as well, which looks as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&amp;amp;lt;Sprite-number&amp;amp;gt; * &amp;amp;lt;Length&amp;amp;gt; 02 07/09/0F &amp;amp;lt;set-id&amp;amp;gt; &amp;amp;lt;num-sprites&amp;amp;gt; &amp;amp;lt;groundsprite&amp;amp;gt; [&amp;amp;lt;buildingsprite&amp;amp;gt; (&amp;amp;lt;xoffset&amp;amp;gt; &amp;amp;lt;yoffset&amp;amp;gt; &amp;amp;lt;zoffset&amp;amp;gt; &amp;amp;lt;xextent&amp;amp;gt; &amp;amp;lt;yextent&amp;amp;gt; &amp;amp;lt;zextent&amp;amp;gt;) | (&amp;amp;lt;xpixeloffset&amp;amp;gt; &amp;amp;lt;ypixeloffset&amp;amp;gt; 80)] ...&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
!Element!![[GRFActionsDetailed|Size]]!!Description&lt;br /&gt;
|-&lt;br /&gt;
|&amp;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;
|07/09/0F||B||feature 7=town buildings, 9=industry tiles or 0F = objects&lt;br /&gt;
|-&lt;br /&gt;
|&amp;amp;lt;set-id&amp;amp;gt;||B||ID for this definition&lt;br /&gt;
|-&lt;br /&gt;
|&amp;amp;lt;num-sprites&amp;amp;gt;||B||Number of following building sprites (the groundsprite mustn&#039;t be counted). Allowed range: 1 to 63 (0x01 to 0x3F). Adding 0x40 makes the layout an Advanced Spritelayout with register modifiers (since OpenTTD r22518; to be documented).&lt;br /&gt;
|-&lt;br /&gt;
|&amp;amp;lt;groundsprite&amp;amp;gt;||D||Ground sprite for the building (see format below)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;amp;lt;buildingsprite&amp;amp;gt;||D||The sprite to be drawn. Unlike the basic format, zero isn&#039;t allowed here.&lt;br /&gt;
|-&lt;br /&gt;
!colspan=&amp;quot;3&amp;quot;| -- for sprites defining a new bounding box --&lt;br /&gt;
|-&lt;br /&gt;
|&amp;amp;lt;xofs&amp;amp;gt;||B||x-offset from northern tile corner (as a signed byte)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;amp;lt;yofs&amp;amp;gt;||B||y-offset from northern tile corner (as a signed byte)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;amp;lt;zofs&amp;amp;gt;||B||z-offset from the ground&lt;br /&gt;
|-&lt;br /&gt;
|&amp;amp;lt;xextent&amp;amp;gt;||B||size of sprite in x direction&lt;br /&gt;
|-&lt;br /&gt;
|&amp;amp;lt;yextent&amp;amp;gt;||B||size of sprite in y direction&lt;br /&gt;
|-&lt;br /&gt;
|&amp;amp;lt;zextent&amp;amp;gt;||B||size of sprite in z direction&lt;br /&gt;
|-&lt;br /&gt;
!colspan=&amp;quot;3&amp;quot;| -- for sprites sharing their bounding box with the previous sprite --&lt;br /&gt;
|-&lt;br /&gt;
|&amp;amp;lt;xpixeloffset&amp;amp;gt;||B||x offset from the top left corner of the previous sprite&lt;br /&gt;
|-&lt;br /&gt;
|&amp;amp;lt;ypixeloffset&amp;amp;gt;||B||y offset from the top left corner of the previous sprite&lt;br /&gt;
|-&lt;br /&gt;
|80||B||a literal 80h byte to distinguish from new-bounding-box definitions&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Note: restrictions for sprites sharing their bounding box are the same as explained for [[Action0Stations#Sprite layout (09)|station tiles.]]&lt;br /&gt;
&lt;br /&gt;
Since OpenTTD r18959 you can draw multiple ground sprites for a tile, which is useful if you want to use the usual grass/water/concrete groundtile, but still need to add features to it without using a new bounding box. To do so use the syntax of sprites sharing the previous bounding box, but use it before the first bounding box definition. xpixeloffset and ypixeloffset refer to the usual spot of groundtiles.&lt;br /&gt;
&lt;br /&gt;
The same feature is also partially supported in TTDPatch since TTDPatch 2.6 r2313: TTDPatch ignores the xpixeloffset and ypixeloffset fields and always uses (0,0) for the offset. If you are developing a GRF that needs to be compatible with both OpenTTD and TTDPatch, you should always keep xpixeloffset and ypixeloffset zero to get the same effect in both games.&lt;br /&gt;
&lt;br /&gt;
== Sprite definition ==&lt;br /&gt;
&lt;br /&gt;
The ground and building sprite fields have the following format:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
!Bits!!Content&lt;br /&gt;
|-&lt;br /&gt;
|0-13||Sprite number, exact meaning specified by bit 31&lt;br /&gt;
|-&lt;br /&gt;
|14-15||0: draw sprite normally, 1: draw sprite in transparent mode, 2: recolor sprite&lt;br /&gt;
|-&lt;br /&gt;
|16-29||Color translation special sprite number, see below&lt;br /&gt;
|-&lt;br /&gt;
|30||If set, sprite is drawn normally even in transparent buildings mode (for building sprites only; supported in TTDPatch 2.0.1 alpha 57 or later)&lt;br /&gt;
|-&lt;br /&gt;
|31||Sprite type, see below&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Since TTDPatch 2.0.1 alpha 57, the groundsprite value can be zero if no ground sprite is needed (this is useful if you need to draw custom foundations, see [[Callbacks#Decide drawing default foundations 30 14E 150|example]]). Ground sprites are always drawn normally, so bit 30 is ignored for them. Bit 30 may get a different meaning for ground sprites in a later version of TTDPatch, so please leave it zero for now. This does not apply to additional groundsprites using the &amp;quot;&amp;amp;lt;xpixeloffset&amp;amp;gt; &amp;amp;lt;ypixeloffset&amp;amp;gt; 80&amp;quot;-syntax (see above); for these bit 30 has the same meaning as for building sprites.&lt;br /&gt;
&lt;br /&gt;
=== Colour translation special sprite number ===&lt;br /&gt;
&lt;br /&gt;
This is used only if bits 14 or 15 are nonzero. Bits 16-29 must be the number of a regular TTD sprite containing a colour translation table (see below for available translation tables). For transparent mode, a suitable translation table is needed, e.g. that of TTD´s sprite number 802 (s.b.). See [[RecolorSprites]] for more information on the usage of transparent and recolouring sprites.&lt;br /&gt;
&lt;br /&gt;
For houses, if no recolour sprite is given but recolouring is turned on in bits 14-15, there are two possibilities:&lt;br /&gt;
* If you have [[Callbacks#Building colour (1E) |callback 1E]] enabled, it is called to determine the colour mapping.&lt;br /&gt;
* If [[Callbacks#Building colour (1E) |callback 1E]] is disabled or fails, one of the colours specified in property 17 will be chosen randomly.&lt;br /&gt;
&lt;br /&gt;
See [[RecolorSprites]] for a list of available colour translations.&lt;br /&gt;
&lt;br /&gt;
For industry tiles, if this field is zero, but recolouring is turned on in bits 14 or 15, the colour of the containing industry will automatically be applied.&lt;br /&gt;
&lt;br /&gt;
The ground sprite should be exactly the same size and shape as TTD&#039;s flat tile. In general, it shouldn&#039;t contain anything that has a z-dimension because any non-ground sprite will cover it.&lt;br /&gt;
&lt;br /&gt;
Useful values for ground sprites:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
!Sprite number (decimal)!!Contents&lt;br /&gt;
|-&lt;br /&gt;
|3924||bare land&lt;br /&gt;
|-&lt;br /&gt;
|3981||grass&lt;br /&gt;
|-&lt;br /&gt;
|4061||water&lt;br /&gt;
|-&lt;br /&gt;
|4550||snow or desert (depending on climate)&lt;br /&gt;
|-&lt;br /&gt;
|1420||concrete&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Please note that all the ground sprite becomes visible in &amp;quot;transparent buildings&amp;quot; mode, so you should draw parts that seem to be hidden as well.&lt;br /&gt;
&lt;br /&gt;
=== Sprite type ===&lt;br /&gt;
&lt;br /&gt;
If bit 31 is clear, the bottom 14 bits contain a regular TTD sprite number.&lt;br /&gt;
&lt;br /&gt;
If bit 31 is set, the bottom 14 bits contain a number of a sprite set in the most recent action 1, and the used sprite is decided according to the current construction state and the number of sprites in the set:&lt;br /&gt;
* if there&#039;s only one sprite, it&#039;s used always&lt;br /&gt;
* if there are two sprites, the first is used during construction (stages 0-2), and the second is used for the finished building (stage 3)&lt;br /&gt;
* if there are three sprites, the first will be used in the beginning of the construction (stage 0), the second will be used during the rest of the construction (stages 1 and 2) and the third will be used for the complete building (stage 3)&lt;br /&gt;
* if there are four or more sprites, the first four will be used for the four construction stages. Sprites after the first four are always ignored.&lt;/div&gt;</summary>
		<author><name>Frosch-bot</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=Main_Page&amp;diff=1716</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=Main_Page&amp;diff=1716"/>
		<updated>2011-06-17T20:26:28Z</updated>

		<summary type="html">&lt;p&gt;Frosch-bot: order feature tables the same&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Sprite types ==&lt;br /&gt;
;[[Action0]] - Defines new graphics feature properties&lt;br /&gt;
:{| |-&lt;br /&gt;
| [[Action0/Vehicles | Vehicles]]&lt;br /&gt;
| [[Action0/Vehicles/Trains | Trains]]&lt;br /&gt;
| [[Action0/Vehicles/RoadVehicles | RoadVehicles]]&lt;br /&gt;
| [[Action0/Vehicles/Ships | Ships]]&lt;br /&gt;
| [[Action0/Vehicles/Planes | Aircraft]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Action0/Stations | Stations]]&lt;br /&gt;
| [[Action0/Canals | Canals]]&lt;br /&gt;
| [[Action0/Bridges | Bridges]]&lt;br /&gt;
| [[Action0/Houses | Houses]]&lt;br /&gt;
| [[Action0/Global Variables | Global Variables]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Action0/Industry Tiles | Industry Tiles]]&lt;br /&gt;
| [[Action0/Industries | Industries]]&lt;br /&gt;
| [[Action0/Cargos | Cargos]]&lt;br /&gt;
| [[Action0/Sound Effects | Sound Effects]]&lt;br /&gt;
| [[Action0/Airports | Airports]]&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Signals&#039;&#039;&lt;br /&gt;
| [[Action0/Objects | Objects]]&lt;br /&gt;
| [[Action0/Railtypes | Railtypes]]&lt;br /&gt;
| [[Action0/Airport Tiles | Airport Tiles]]&lt;br /&gt;
| &#039;&#039;Towns&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
;[[Action1]] - Defines a set of real sprites&lt;br /&gt;
;[[Action2]] - Defines graphics set IDs&lt;br /&gt;
* Basic Action2&lt;br /&gt;
:{| |-&lt;br /&gt;
|colspan=5| [[Action2Vehicles | Vehicles]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Action2Stations | Stations]]&lt;br /&gt;
| [[Action2Cargos | Canals]]&lt;br /&gt;
| &#039;&#039;Bridges&#039;&#039;&lt;br /&gt;
| [[Action2HousesIndustryTiles | Houses]]&lt;br /&gt;
| &#039;&#039;Global Variables&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| [[Action2HousesIndustryTiles | Industry Tiles]]&lt;br /&gt;
| [[Action2Industries | Industries]]&lt;br /&gt;
| [[Action2Cargos | Cargos]]&lt;br /&gt;
| &#039;&#039;Sound Effects&#039;&#039;&lt;br /&gt;
| [[Action2Cargos | Airports]]&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Signals&#039;&#039;&lt;br /&gt;
| [[Action2HousesIndustryTiles | Objects]]&lt;br /&gt;
| [[Action2Cargos | Railtypes]]&lt;br /&gt;
| [[Action2HousesIndustryTiles | Airport Tiles]]&lt;br /&gt;
| &#039;&#039;Towns&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
* [[VariationalAction2]] - Variational Action 2&lt;br /&gt;
: [[VarAction2Advanced]] - Advanced features of Variational Action 2&lt;br /&gt;
:{| |-&lt;br /&gt;
|colspan=5| [[VariationalAction2/Vehicles | Vehicles]]&lt;br /&gt;
|-&lt;br /&gt;
| [[VariationalAction2/Stations | Stations]]&lt;br /&gt;
| [[VariationalAction2/Canals | Canals]]&lt;br /&gt;
| [[VariationalAction2/Bridges | Bridges]]&lt;br /&gt;
| [[VariationalAction2/Houses | Houses]]&lt;br /&gt;
| &#039;&#039;Global Variables&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| [[VariationalAction2/Industry Tiles | Industry Tiles]]&lt;br /&gt;
| [[VariationalAction2/Industries | Industries]]&lt;br /&gt;
| [[VariationalAction2/Cargos | Cargos]]&lt;br /&gt;
| &#039;&#039;Sound Effects&#039;&#039;&lt;br /&gt;
| &#039;&#039;Airports&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| [[VariationalAction2/Signals | Signals]]&lt;br /&gt;
| [[VariationalAction2/Objects | Objects]]&lt;br /&gt;
| [[VariationalAction2/Railtypes | Railtypes]]&lt;br /&gt;
| [[VariationalAction2/Industry Tiles | Airport Tiles]]&lt;br /&gt;
| [[VariationalAction2/Towns | Towns]]&lt;br /&gt;
|}&lt;br /&gt;
* [[RandomAction2]] - Randomized Action 2&lt;br /&gt;
* [[Callbacks]] - List of available callbacks&lt;br /&gt;
;[[Action3]] - Associates vehicles with graphics set IDs&lt;br /&gt;
: [[Action3LiveryOverride]] - Change wagon livery to match the engine&lt;br /&gt;
;[[Action4]] - Defines text strings&lt;br /&gt;
;[[Action5]] - Defines specific base graphics sets&lt;br /&gt;
;[[Action6]] - Modifies the contents of the following sprite&lt;br /&gt;
;[[Action7]] - Conditionally skips sprites or jumps to a label&lt;br /&gt;
: [[TTDPatchFlags| GameConfigFlags]] - Configuration flags for Action 7/9 Variable 85&lt;br /&gt;
;[[Action8]] - Defines GRFID, Name and Description&lt;br /&gt;
;[[Action9]] - (see action 7 above)&lt;br /&gt;
;[[ActionA]] - Replaces TTD base set sprites&lt;br /&gt;
;[[ActionB]] - Generates an error message&lt;br /&gt;
;[[ActionC]] - Does nothing.&lt;br /&gt;
;[[ActionD]] - Assigns parameters and calculates results&lt;br /&gt;
* [[ReadingOtherGRFParameters]] - Reading another GRF file&#039;s parameters&lt;br /&gt;
* [[ReadingPatchVariables| ReadingGameSettings]] - Reading game configuration settings&lt;br /&gt;
* [[GRFResourceManagement]] - Preventing conflicts with limited resources&lt;br /&gt;
;[[ActionE]] - Deactivates a NewGRF file&lt;br /&gt;
;[[ActionF]] - Defines new town name styles&lt;br /&gt;
;[[Action10]] - Defines GOTO label for action 7/9&lt;br /&gt;
;[[Action11]] - Defines new sound data&lt;br /&gt;
;[[Action12]] - Load font glyphs&lt;br /&gt;
;[[Action13]] - Translates GRF-specific strings&lt;br /&gt;
;[[Action14]] - Static NewGRF Information (OpenTTD only)&lt;br /&gt;
;[[RealSprites]] - Sprites that actually get drawn on the screen&lt;br /&gt;
;[[RecolorSprites]] - Changing how other sprites are drawn&lt;br /&gt;
&lt;br /&gt;
== Graphics properties ==&lt;br /&gt;
* [[PalettesAndCoordinates#Palettes | Palettes]] - Palettes used by the game&lt;br /&gt;
* [[PalettesAndCoordinates#Coordinates | Coordinates]] - Coordinates used for sprite alignement&lt;br /&gt;
&lt;br /&gt;
== TTD defaults ==&lt;br /&gt;
* [[DefaultHouseProps]] - Default property values for TTD&#039;s houses&lt;br /&gt;
* [[IndustryTileDefaultProps]] - Default property values for TTD&#039;s industry tiles&lt;br /&gt;
* [[IndustryDefaultProps]] - Default properties values for TTD&#039;s industries&lt;br /&gt;
* [[IndustryTypes]] - Industry IDs&lt;br /&gt;
* [[CargoDefaultProps]] - Default property values for TTD&#039;s cargo types&lt;br /&gt;
* [[VehicleIDs]] - Default vehicle IDs&lt;br /&gt;
&lt;br /&gt;
== NewGRF commons ==&lt;br /&gt;
* [[Action0Cargos#CargoClasses_.2816.29 | Cargo classes]] - Commonly used cargo classes&lt;br /&gt;
* [[CargoTypes | Cargo labels]] - Commonly used cargo labels&lt;br /&gt;
* [[ObjectLabels | Object classes]] - Commonly used object clases&lt;br /&gt;
* [[RailtypeLabels | Railtype labels]] - Commonly used railtype labels&lt;br /&gt;
&lt;br /&gt;
== Misc ==&lt;br /&gt;
* [[BaseCosts | Base Costs]]&lt;br /&gt;
* [[VehicleRefitting | Vehicle Refitting]]&lt;br /&gt;
* [[GrfLoadingStages | GRF loading stages]]&lt;br /&gt;
* [[Storages | Storages]]&lt;br /&gt;
* [[StringCodes | String control codes]]&lt;br /&gt;
* [[TextIDs | Text IDs (TTD + TTDPatch + NewGRF defined)]]&lt;br /&gt;
* [[GRFActionsDetailed | Syntax details]]&lt;br /&gt;
* [[DebuggingGRFCode | Debugging NewGRFs]]&lt;br /&gt;
* [[SpriteErrors | TTDPatch error codes on loading NewGRFs]]&lt;br /&gt;
&lt;br /&gt;
== Game mechanics ==&lt;br /&gt;
* [[TownZones | Town zones]]&lt;/div&gt;</summary>
		<author><name>Frosch-bot</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=Main_Page&amp;diff=1715</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=Main_Page&amp;diff=1715"/>
		<updated>2011-06-17T20:08:54Z</updated>

		<summary type="html">&lt;p&gt;Frosch-bot: more compact layout&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Sprite types ==&lt;br /&gt;
;[[Action0]] - Defines new graphics feature properties&lt;br /&gt;
:{| |-&lt;br /&gt;
| [[Action0/Vehicles | Vehicles]]&lt;br /&gt;
| [[Action0/Vehicles/Trains | Trains]]&lt;br /&gt;
| [[Action0/Vehicles/RoadVehicles | RoadVehicles]]&lt;br /&gt;
| [[Action0/Vehicles/Ships | Ships]]&lt;br /&gt;
| [[Action0/Vehicles/Planes | Planes]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Action0/Stations | Stations]]&lt;br /&gt;
| [[Action0/Canals | Canals]]&lt;br /&gt;
| [[Action0/Bridges | Bridges]]&lt;br /&gt;
| [[Action0/Houses | Houses]]&lt;br /&gt;
| [[Action0/Global Variables | Global Variables]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Action0/Industry Tiles | Industry Tiles]]&lt;br /&gt;
| [[Action0/Industries | Industries]]&lt;br /&gt;
| [[Action0/Cargos | Cargos]]&lt;br /&gt;
| [[Action0/Sound Effects | Sound Effects]]&lt;br /&gt;
| [[Action0/Airport Tiles | Airport Tiles]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Action0/Objects | Objects]]&lt;br /&gt;
| [[Action0/Railtypes | Railtypes]]&lt;br /&gt;
| [[Action0/Airports | Airports]]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
;[[Action1]] - Defines a set of real sprites&lt;br /&gt;
;[[Action2]] - Defines graphics set IDs&lt;br /&gt;
* Basic Action2&lt;br /&gt;
:{| |-&lt;br /&gt;
| [[Action2Vehicles | Vehicles]]&lt;br /&gt;
| [[Action2Stations | Stations]]&lt;br /&gt;
| [[Action2Cargos | Canals]]&lt;br /&gt;
| [[Action2HousesIndustryTiles | Houses]]&lt;br /&gt;
| [[Action2HousesIndustryTiles | Industry Tiles]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Action2Industries | Industries]]&lt;br /&gt;
| [[Action2Cargos | Cargos]]&lt;br /&gt;
| [[Action2HousesIndustryTiles | Airport Tiles]]&lt;br /&gt;
| [[Action2HousesIndustryTiles | Objects]]&lt;br /&gt;
| [[Action2Cargos | Railtypes]]&lt;br /&gt;
|}&lt;br /&gt;
* [[VariationalAction2]] - Variational Action 2&lt;br /&gt;
: [[VarAction2Advanced]] - Advanced features of Variational Action 2&lt;br /&gt;
:{| |-&lt;br /&gt;
| [[VariationalAction2/Vehicles | Vehicles]]&lt;br /&gt;
| [[VariationalAction2/Stations | Stations]]&lt;br /&gt;
| [[VariationalAction2/Canals | Canals]]&lt;br /&gt;
| [[VariationalAction2/Bridges | Bridges]]&lt;br /&gt;
| [[VariationalAction2/Houses | Houses]]&lt;br /&gt;
|-&lt;br /&gt;
| [[VariationalAction2/Industry Tiles | Industry Tiles]]&lt;br /&gt;
| [[VariationalAction2/Industries | Industries]]&lt;br /&gt;
| [[VariationalAction2/Cargos | Cargos]]&lt;br /&gt;
| [[VariationalAction2/Signals | Signals]]&lt;br /&gt;
| [[VariationalAction2/Industry Tiles | Airport Tiles]]&lt;br /&gt;
|-&lt;br /&gt;
| [[VariationalAction2/Objects | Objects]]&lt;br /&gt;
| [[VariationalAction2/Railtypes | Railtypes]]&lt;br /&gt;
| [[VariationalAction2/Towns | Towns]]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
* [[RandomAction2]] - Randomized Action 2&lt;br /&gt;
* [[Callbacks]] - List of available callbacks&lt;br /&gt;
;[[Action3]] - Associates vehicles with graphics set IDs&lt;br /&gt;
: [[Action3LiveryOverride]] - Change wagon livery to match the engine&lt;br /&gt;
;[[Action4]] - Defines text strings&lt;br /&gt;
;[[Action5]] - Defines specific base graphics sets&lt;br /&gt;
;[[Action6]] - Modifies the contents of the following sprite&lt;br /&gt;
;[[Action7]] - Conditionally skips sprites or jumps to a label&lt;br /&gt;
: [[TTDPatchFlags| GameConfigFlags]] - Configuration flags for Action 7/9 Variable 85&lt;br /&gt;
;[[Action8]] - Defines GRFID, Name and Description&lt;br /&gt;
;[[Action9]] - (see action 7 above)&lt;br /&gt;
;[[ActionA]] - Replaces TTD base set sprites&lt;br /&gt;
;[[ActionB]] - Generates an error message&lt;br /&gt;
;[[ActionC]] - Does nothing.&lt;br /&gt;
;[[ActionD]] - Assigns parameters and calculates results&lt;br /&gt;
* [[ReadingOtherGRFParameters]] - Reading another GRF file&#039;s parameters&lt;br /&gt;
* [[ReadingPatchVariables| ReadingGameSettings]] - Reading game configuration settings&lt;br /&gt;
* [[GRFResourceManagement]] - Preventing conflicts with limited resources&lt;br /&gt;
;[[ActionE]] - Deactivates a NewGRF file&lt;br /&gt;
;[[ActionF]] - Defines new town name styles&lt;br /&gt;
;[[Action10]] - Defines GOTO label for action 7/9&lt;br /&gt;
;[[Action11]] - Defines new sound data&lt;br /&gt;
;[[Action12]] - Load font glyphs&lt;br /&gt;
;[[Action13]] - Translates GRF-specific strings&lt;br /&gt;
;[[Action14]] - Static NewGRF Information (OpenTTD only)&lt;br /&gt;
;[[RealSprites]] - Sprites that actually get drawn on the screen&lt;br /&gt;
;[[RecolorSprites]] - Changing how other sprites are drawn&lt;br /&gt;
&lt;br /&gt;
== Graphics properties ==&lt;br /&gt;
* [[PalettesAndCoordinates#Palettes | Palettes]] - Palettes used by the game&lt;br /&gt;
* [[PalettesAndCoordinates#Coordinates | Coordinates]] - Coordinates used for sprite alignement&lt;br /&gt;
&lt;br /&gt;
== TTD defaults ==&lt;br /&gt;
* [[DefaultHouseProps]] - Default property values for TTD&#039;s houses&lt;br /&gt;
* [[IndustryTileDefaultProps]] - Default property values for TTD&#039;s industry tiles&lt;br /&gt;
* [[IndustryDefaultProps]] - Default properties values for TTD&#039;s industries&lt;br /&gt;
* [[IndustryTypes]] - Industry IDs&lt;br /&gt;
* [[CargoDefaultProps]] - Default property values for TTD&#039;s cargo types&lt;br /&gt;
* [[VehicleIDs]] - Default vehicle IDs&lt;br /&gt;
&lt;br /&gt;
== NewGRF commons ==&lt;br /&gt;
* [[Action0Cargos#CargoClasses_.2816.29 | Cargo classes]] - Commonly used cargo classes&lt;br /&gt;
* [[CargoTypes | Cargo labels]] - Commonly used cargo labels&lt;br /&gt;
* [[ObjectLabels | Object classes]] - Commonly used object clases&lt;br /&gt;
* [[RailtypeLabels | Railtype labels]] - Commonly used railtype labels&lt;br /&gt;
&lt;br /&gt;
== Misc ==&lt;br /&gt;
* [[BaseCosts | Base Costs]]&lt;br /&gt;
* [[VehicleRefitting | Vehicle Refitting]]&lt;br /&gt;
* [[GrfLoadingStages | GRF loading stages]]&lt;br /&gt;
* [[Storages | Storages]]&lt;br /&gt;
* [[StringCodes | String control codes]]&lt;br /&gt;
* [[TextIDs | Text IDs (TTD + TTDPatch + NewGRF defined)]]&lt;br /&gt;
* [[GRFActionsDetailed | Syntax details]]&lt;br /&gt;
* [[DebuggingGRFCode | Debugging NewGRFs]]&lt;br /&gt;
* [[SpriteErrors | TTDPatch error codes on loading NewGRFs]]&lt;br /&gt;
&lt;br /&gt;
== Game mechanics ==&lt;br /&gt;
* [[TownZones | Town zones]]&lt;/div&gt;</summary>
		<author><name>Frosch-bot</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=VarAction2_Towns&amp;diff=1714</id>
		<title>VarAction2 Towns</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=VarAction2_Towns&amp;diff=1714"/>
		<updated>2011-06-17T19:29:13Z</updated>

		<summary type="html">&lt;p&gt;Frosch-bot: moved VarAction2 Towns to VariationalAction2/Towns:&amp;amp;#32;use subpages&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[VariationalAction2/Towns]]&lt;/div&gt;</summary>
		<author><name>Frosch-bot</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=VariationalAction2/Towns&amp;diff=1713</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=1713"/>
		<updated>2011-06-17T19:29:13Z</updated>

		<summary type="html">&lt;p&gt;Frosch-bot: moved VarAction2 Towns to VariationalAction2/Towns:&amp;amp;#32;use subpages&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
&lt;br /&gt;
== Variables ==&lt;br /&gt;
&lt;br /&gt;
{| |-&lt;br /&gt;
!Variable!![[GRFActionsDetailed|Size]]!!Content&lt;br /&gt;
|-&lt;br /&gt;
|40||B||Larger town effect on this town&lt;br /&gt;
|-&lt;br /&gt;
|41||W (B)||Town index*&lt;br /&gt;
|-&lt;br /&gt;
|82||W||Population&lt;br /&gt;
|-&lt;br /&gt;
|94, 96, 98, 9A, 9C||W||Square of [[TownZones|town zone]] radii for the [[TownZones|town zones]] 0 ... 4&lt;br /&gt;
|-&lt;br /&gt;
|B6||W||number of buildings&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt;In OpenTTD this variable is word-sized, in TTDPatch this variable is byte-sized.&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;
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;
== Description ==&lt;br /&gt;
=== Larger town effect (40) ===&lt;br /&gt;
&lt;br /&gt;
This returns how the &amp;quot;largertowns&amp;quot; / &amp;quot;economy.larger_towns&amp;quot; setting affects this town:&lt;br /&gt;
&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;
&lt;br /&gt;
=== Town index (41) ===&lt;br /&gt;
&lt;br /&gt;
This returns the index of the town in the town array. 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;br /&gt;
&lt;br /&gt;
TTDPatch only: This variable has a value between 0 and 69 (inclusive).&lt;br /&gt;
&lt;br /&gt;
=== Population (82) ===&lt;br /&gt;
Returns the population of the town, but at most 65535.&lt;br /&gt;
&lt;br /&gt;
=== [[TownZones|Town zone]] radii (94, 96, 98, 9A, 9C) ===&lt;br /&gt;
&lt;br /&gt;
Squares of radii of 5 [[TownZones| [[TownZones|town zones]]]] where variable 94 refers to the outermost zone 0 and variable 9C to the inner most zone 4.&lt;br /&gt;
&lt;br /&gt;
=== Number of buildings (B6) ===&lt;br /&gt;
Returns the number of buildings the town possesses.&lt;br /&gt;
&lt;br /&gt;
==Example==&lt;/div&gt;</summary>
		<author><name>Frosch-bot</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=VarAction2Vehicles&amp;diff=1712</id>
		<title>VarAction2Vehicles</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=VarAction2Vehicles&amp;diff=1712"/>
		<updated>2011-06-17T19:29:12Z</updated>

		<summary type="html">&lt;p&gt;Frosch-bot: moved VarAction2Vehicles to VariationalAction2/Vehicles:&amp;amp;#32;use subpages&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[VariationalAction2/Vehicles]]&lt;/div&gt;</summary>
		<author><name>Frosch-bot</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=VariationalAction2/Vehicles&amp;diff=1711</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=1711"/>
		<updated>2011-06-17T19:29:12Z</updated>

		<summary type="html">&lt;p&gt;Frosch-bot: moved VarAction2Vehicles to VariationalAction2/Vehicles:&amp;amp;#32;use subpages&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
&lt;br /&gt;
== Variables ==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
!Variable!!Version!![[GRFActionsDetailed|Size]]!!Description!!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||TTDPatch 2.5 beta 2, OpenTTD 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) OpenTTD r15542&lt;br /&gt;
|+&lt;br /&gt;
|48||||D||Vehicle type information||TTDPatch 2.5 beta 2, OpenTTD r5338&lt;br /&gt;
|+&lt;br /&gt;
|49 (a)||||D||Year of construction (long format, 0 based)||(c) OpenTTD 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) OpenTTD 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) OpenTTD 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;
&lt;br /&gt;
(a) OpenTTD r13376, TTDPatch r2216&lt;br /&gt;
&lt;br /&gt;
(b) Variable 47 refers to the default cargo of the vehicle, when in purchase list. This differs from the cargo used in Action 3, which is 0xFF in purchase list. The &amp;quot;refit cycle&amp;quot; (F2) is currently always zero in the purchase list.&lt;br /&gt;
&lt;br /&gt;
(c) This is the current date.&lt;br /&gt;
&lt;br /&gt;
(d) OpenTTD r20165.&lt;br /&gt;
&lt;br /&gt;
(e) 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;
== Description ==&lt;br /&gt;
=== Position and length (40, 41) ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Format:&#039;&#039;&#039; 00nnbbff&lt;br /&gt;
&lt;br /&gt;
{| |-&lt;br /&gt;
!Variable!!Value&lt;br /&gt;
|-&lt;br /&gt;
|ff||position of vehicle within the consist counted from the engine (front), e.g. the engine would have ff=0, the 1st wagon or mail compartment of planes would have ff=1, the 2nd wagon or the rotor of helicopters would have ff=2, the 3rd wagon would have ff=3 etc&lt;br /&gt;
|-&lt;br /&gt;
|bb||same as ff, but counted from the end, i.e. the last wagon has bb=0, the next-to-last wagon has bb=1 etc.&lt;br /&gt;
|-&lt;br /&gt;
|nn||total number of vehicles in the consist minus one (i.e. a train with engine and three wagons has nn=3), including shadow and rotor for aircraft.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For variable 40, these numbers refer to the whole consist, but for variable 41, they only refer to the chain of consecutive vehicles with the same ID as the current wagon (including itself, but possibly excluding the engine):&lt;br /&gt;
&lt;br /&gt;
[[File:vehicle_var40_41.png]]&lt;br /&gt;
&lt;br /&gt;
Note however, that accessing the &amp;quot;related&amp;quot; object (i.e. the locomotive) doesn´t make much sense for vars 40/41, except for var40 when in a [[Callbacks#Can wagon be attached 1D|callback 1D]] chain.&lt;br /&gt;
&lt;br /&gt;
=== Consist cargo (42) ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Format:&#039;&#039;&#039; uuiicctt&lt;br /&gt;
&lt;br /&gt;
{| |-&lt;br /&gt;
!Variable!!Value&lt;br /&gt;
|-&lt;br /&gt;
|tt||a bit mask of all [[Action0Cargos#Cargo classes 16|cargo classes]] transported by the consist&lt;br /&gt;
|-&lt;br /&gt;
|cc||the most common [[CargoTypes|cargo type]] (from the column for type A)&lt;br /&gt;
|-&lt;br /&gt;
|ii||the most common refit cycle (var. F2) of cargo type cc&lt;br /&gt;
|-&lt;br /&gt;
|uu||the result of ORing the bits of prop. 25 from all vehicles in the train&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Note that even if the grf file has installed a [[Action0GeneralVariables#Cargo+translation+table+(09)|cargo translation table]], the value in &amp;quot;cc&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;
&#039;&#039;&#039;Format:&#039;&#039;&#039; Ccttmmnn&lt;br /&gt;
&lt;br /&gt;
{| |-&lt;br /&gt;
!Variable!!Value&lt;br /&gt;
|-&lt;br /&gt;
|nn||the number of the current player from 0 to 7 (up to E (14) in OpenTTD since r14735)&lt;br /&gt;
|-&lt;br /&gt;
|mm||the multiplayer player number with the host player (or the single player) being 0 and the client player being 1&lt;br /&gt;
|-&lt;br /&gt;
|tt||the player type, see below for possible values&lt;br /&gt;
|-&lt;br /&gt;
|c||the primary player colour&lt;br /&gt;
|-&lt;br /&gt;
|C||the secondary player colour, equal to c if none (since r1405)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| |-&lt;br /&gt;
!tt value!!Meaning&lt;br /&gt;
|-&lt;br /&gt;
|0||Player is human player (permanent company)&lt;br /&gt;
|-&lt;br /&gt;
|1||Player is AI player (not managed)&lt;br /&gt;
|-&lt;br /&gt;
|2||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;
&lt;br /&gt;
This variable is available in the purchase list as well (since TTDPatch 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;
&#039;&#039;&#039;Format:&#039;&#039;&#039; xxxxhhtt&lt;br /&gt;
&lt;br /&gt;
(available from TTDPatch 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;quot;ground&amp;quot;, i.e. to get the height above a heliport, you have to subtract the heliport height from hh.&lt;br /&gt;
&lt;br /&gt;
tt is the type of the current airport: 0=small, 1=large, 2=heliport, 3=oil rig. The current airport is the target airport for aircraft that have finished the ascent and are in flight.&lt;br /&gt;
&lt;br /&gt;
=== Curvature info (45) ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Format:&#039;&#039;&#039; xxxTxBxF&lt;br /&gt;
&lt;br /&gt;
(available from TTDPatch 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;
{| |-&lt;br /&gt;
!Decimal!!Hex!!Meaning&lt;br /&gt;
|-&lt;br /&gt;
|-4||C||180° curve left (T only)&lt;br /&gt;
|-&lt;br /&gt;
|-3||D||135° curve left (T only)&lt;br /&gt;
|-&lt;br /&gt;
|-2||E||90° curve left&lt;br /&gt;
|-&lt;br /&gt;
|-1||F||45° curve left&lt;br /&gt;
|-&lt;br /&gt;
|0||0||no curve&lt;br /&gt;
|-&lt;br /&gt;
|1||1||45° curve right&lt;br /&gt;
|-&lt;br /&gt;
|2||2||90° curve right&lt;br /&gt;
|-&lt;br /&gt;
|3||3||135° curve right (T only)&lt;br /&gt;
|-&lt;br /&gt;
|4||4||180° curve right (T only)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Motion counter (46) ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Format:&#039;&#039;&#039; 32-bit value&lt;br /&gt;
&lt;br /&gt;
(available from TTDPatch 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;
&#039;&#039;&#039;Format:&#039;&#039;&#039; ccccwwtt&lt;br /&gt;
&lt;br /&gt;
{| |-&lt;br /&gt;
!Variable!!Value&lt;br /&gt;
|-&lt;br /&gt;
|tt||the [[CargoTypes|cargo type]] transported by the vehicle (from the column for type A); translated if a translation table has been installed&lt;br /&gt;
|-&lt;br /&gt;
|ww||cargo unit weight in 1/16 tons, same as [[Action0Cargos#Weight of one unit of the cargo 0F|cargo prop. 0F]]&lt;br /&gt;
|-&lt;br /&gt;
|cccc||the [[Action0Cargos#Cargo classes 16|cargo class]] value of the cargo transported by the vehicle&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
|Note that if the grf has installed a [[Action0GeneralVariables#Cargo translation table 09|cargo translation table]], the value in &amp;quot;tt&amp;quot; is the slot number in that table, irrespective of which actual slot or bit the cargo is using in the game. If a table has been installed, but the current cargo is not listed there, &amp;quot;tt&amp;quot; will be set to FF.&lt;br /&gt;
&lt;br /&gt;
Unlike variable 42, this variable returns the info of the current vehicle only, not the consist.&lt;br /&gt;
&lt;br /&gt;
=== Vehicle type information (48) ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Format:&#039;&#039;&#039; xxxxxxff&lt;br /&gt;
&lt;br /&gt;
The bits of ff are:&lt;br /&gt;
&lt;br /&gt;
{| |-&lt;br /&gt;
!Bit!!Value!!Meaning&lt;br /&gt;
|-&lt;br /&gt;
|0||1||Vehicle type is available on the market&lt;br /&gt;
|-&lt;br /&gt;
|1||2||Vehicle type is in the testing phase&lt;br /&gt;
|-&lt;br /&gt;
|2||4||Exclusive testing offer for a human player active&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
All other bits in ff are undefined and must be masked out.&lt;br /&gt;
&lt;br /&gt;
This variable is available in the purchase list as well (since TTDPatch 2.5 beta 2).&lt;br /&gt;
&lt;br /&gt;
=== Information about current rail type for trains (4A) ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Format:&#039;&#039;&#039; xxxxFFrr&lt;br /&gt;
&lt;br /&gt;
(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;
{| |-&lt;br /&gt;
!Bit!!Value!!Meaning&lt;br /&gt;
|-&lt;br /&gt;
|0||1||The vehicle is/would be powered on the current rail type (this is independent from powered/non-powered wagon or anything)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
All other bits are undefined.&lt;br /&gt;
&lt;br /&gt;
All other bytes and the result for non-rail vehicles are undefined.&lt;br /&gt;
&lt;br /&gt;
=== Count Veh.ID occurence (60) ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Format:&#039;&#039;&#039; xxxxxxnn&lt;br /&gt;
&lt;br /&gt;
(available from TTDPatch 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;
{| |-&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 TTDPatch 2.5 r1334)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&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;br /&gt;
&lt;br /&gt;
==Examples==&lt;/div&gt;</summary>
		<author><name>Frosch-bot</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=VarAction2Stations&amp;diff=1710</id>
		<title>VarAction2Stations</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=VarAction2Stations&amp;diff=1710"/>
		<updated>2011-06-17T19:29:11Z</updated>

		<summary type="html">&lt;p&gt;Frosch-bot: moved VarAction2Stations to VariationalAction2/Stations:&amp;amp;#32;use subpages&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[VariationalAction2/Stations]]&lt;/div&gt;</summary>
		<author><name>Frosch-bot</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=VariationalAction2/Stations&amp;diff=1709</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=1709"/>
		<updated>2011-06-17T19:29:11Z</updated>

		<summary type="html">&lt;p&gt;Frosch-bot: moved VarAction2Stations to VariationalAction2/Stations:&amp;amp;#32;use subpages&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
&lt;br /&gt;
== Variables ==&lt;br /&gt;
{| |-&lt;br /&gt;
!Variable!!Version!![[GRFActionsDetailed|&#039;&#039;&#039;Size&#039;&#039;&#039;]]!!Description&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;
&lt;br /&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;
== Description ==&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;
{| |-&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;
&lt;br /&gt;
The term &amp;quot;counting&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;
{| |-&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;
Here, the &amp;quot;beginning&amp;quot; of a station is its northern-most (up on the screen) tile, and the &amp;quot;end&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;
{| |-&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;
&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;
{| |-&lt;br /&gt;
!Count!!Numbers&lt;br /&gt;
|-&lt;br /&gt;
|1||&amp;lt;pre&amp;gt;          0&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|2||&amp;lt;pre&amp;gt;      -1  0&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|3||&amp;lt;pre&amp;gt;      -1  0  1&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|4||&amp;lt;pre&amp;gt;   -2 -1  0  1&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|5||&amp;lt;pre&amp;gt;   -2 -1  0  1  2&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|6||&amp;lt;pre&amp;gt;-3 -2 -1  0  1  2&amp;lt;/pre&amp;gt;&lt;br /&gt;
|}&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;
{| |-&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;
&lt;br /&gt;
&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;
&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;
{| |-&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;
&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;quot;unreserved&amp;quot; state in non-PBS cases, use bit 0, but if you need the &amp;quot;reserved&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;
{| |-&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;
&lt;br /&gt;
The following picture illustrates which bits represent which tile for the two possible station orientations:&lt;br /&gt;
&lt;br /&gt;
[[File:station_var45.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 TTDPatch 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 TTDPatch 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;quot;mirrored&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;
{| |-&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||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&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||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&lt;br /&gt;
|-&lt;br /&gt;
|14..31||Undefined, reserved for future use&lt;br /&gt;
|}&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;
{| |-&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;
&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;
==Example==&lt;/div&gt;</summary>
		<author><name>Frosch-bot</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=VarAction2Railtypes&amp;diff=1708</id>
		<title>VarAction2Railtypes</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=VarAction2Railtypes&amp;diff=1708"/>
		<updated>2011-06-17T19:29:10Z</updated>

		<summary type="html">&lt;p&gt;Frosch-bot: moved VarAction2Railtypes to VariationalAction2/Railtypes:&amp;amp;#32;use subpages&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[VariationalAction2/Railtypes]]&lt;/div&gt;</summary>
		<author><name>Frosch-bot</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=VariationalAction2/Railtypes&amp;diff=1707</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=1707"/>
		<updated>2011-06-17T19:29:10Z</updated>

		<summary type="html">&lt;p&gt;Frosch-bot: moved VarAction2Railtypes to VariationalAction2/Railtypes:&amp;amp;#32;use subpages&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
&lt;br /&gt;
== Variables ==&lt;br /&gt;
&lt;br /&gt;
{| |-&lt;br /&gt;
!Variable !!Version !![[GRFActionsDetailed|Size]] !! Description&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;
&lt;br /&gt;
Available in OpenTTD r19056&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
=== Terrain type (40) ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Format:&#039;&#039;&#039; byte&lt;br /&gt;
&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;
&lt;br /&gt;
=== Enhanced tunnels (41) ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Format:&#039;&#039;&#039; 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;
&#039;&#039;&#039;Format:&#039;&#039;&#039; 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;br /&gt;
&lt;br /&gt;
==Example==&lt;/div&gt;</summary>
		<author><name>Frosch-bot</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=VarAction2Objects&amp;diff=1706</id>
		<title>VarAction2Objects</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=VarAction2Objects&amp;diff=1706"/>
		<updated>2011-06-17T19:29:09Z</updated>

		<summary type="html">&lt;p&gt;Frosch-bot: moved VarAction2Objects to VariationalAction2/Objects:&amp;amp;#32;use subpages&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[VariationalAction2/Objects]]&lt;/div&gt;</summary>
		<author><name>Frosch-bot</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=VariationalAction2/Objects&amp;diff=1705</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=1705"/>
		<updated>2011-06-17T19:29:09Z</updated>

		<summary type="html">&lt;p&gt;Frosch-bot: moved VarAction2Objects to VariationalAction2/Objects:&amp;amp;#32;use subpages&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
&lt;br /&gt;
== Variables ==&lt;br /&gt;
{|&lt;br /&gt;
!Variable !!Version !![[GRFActionsDetailed|Size]] !! Description&lt;br /&gt;
|-&lt;br /&gt;
|40||||D||Relative position, like [[VarAction2IndustryTiles#Relative position (43)|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 [[TownZones|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;
&lt;br /&gt;
== Description ==&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#Land info of nearby tiles (60)|industrytile var60]]. The meaning of the individual bits is:&lt;br /&gt;
&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;
&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 [[TownZones|town zone]] and Manhattan distance of closest town (45) ===&lt;br /&gt;
&lt;br /&gt;
Like [[VarAction2Industries#Get [[TownZones|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;
* 00xxh if the tile is an object tile and was defined in the current GRF with ID xx.&lt;br /&gt;
* 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;
* 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 info 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 var43 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;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
=== Getting the north tile random bits ===&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;    0 * 0    02 0F xx 81&lt;br /&gt;
                       40      30 FF   // Get relative position of object tile as yx&lt;br /&gt;
               \2^     1A      20 77   // Negate the numbers in bits 0..3 and 4..7 ...&lt;br /&gt;
               \2+     1A      20 11   // ... (here we can optionally insert another (positive) offset, to get some other tile relative to the north tile)&lt;br /&gt;
               \2^     1A      20 88   // ... (we need to split the xor in two parts, so bits 0..3 do not influence bits 4..7)&lt;br /&gt;
               \2rst   7B 61   00 FF   // Get the random bits at the northern tile&lt;br /&gt;
                        ...&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Frosch-bot</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=VarAction2NewSignals&amp;diff=1704</id>
		<title>VarAction2NewSignals</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=VarAction2NewSignals&amp;diff=1704"/>
		<updated>2011-06-17T19:29:08Z</updated>

		<summary type="html">&lt;p&gt;Frosch-bot: moved VarAction2NewSignals to VariationalAction2/Signals:&amp;amp;#32;use subpages&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[VariationalAction2/Signals]]&lt;/div&gt;</summary>
		<author><name>Frosch-bot</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=VariationalAction2/Signals&amp;diff=1703</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=1703"/>
		<updated>2011-06-17T19:29:08Z</updated>

		<summary type="html">&lt;p&gt;Frosch-bot: moved VarAction2NewSignals to VariationalAction2/Signals:&amp;amp;#32;use subpages&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
&lt;br /&gt;
This is available from TTDPatch 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;
== Variables ==&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
=== Variable 10 ===&lt;br /&gt;
&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;
&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;
{| |-&lt;br /&gt;
!Bit!!Meaning&lt;br /&gt;
|-&lt;br /&gt;
|0-7||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&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||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&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;
&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;
{| |-&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;lt;&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;
&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;
{| |-&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;
&lt;br /&gt;
=== Varaction2var 20-2F value ===&lt;br /&gt;
&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;lt;&amp;lt; 1, (signed), (added to total)&lt;br /&gt;
|-&lt;br /&gt;
|28-31||Sprite X correction for this sprite only &amp;lt;&amp;lt; 1, (signed), (not added to total)&lt;br /&gt;
|}&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;
=== 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>Frosch-bot</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=VarAction2IndustryTiles&amp;diff=1702</id>
		<title>VarAction2IndustryTiles</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=VarAction2IndustryTiles&amp;diff=1702"/>
		<updated>2011-06-17T19:29:07Z</updated>

		<summary type="html">&lt;p&gt;Frosch-bot: moved VarAction2IndustryTiles to VariationalAction2/Industry Tiles:&amp;amp;#32;use subpages&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[VariationalAction2/Industry Tiles]]&lt;/div&gt;</summary>
		<author><name>Frosch-bot</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=VariationalAction2/Industry_Tiles&amp;diff=1701</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=1701"/>
		<updated>2011-06-17T19:29:07Z</updated>

		<summary type="html">&lt;p&gt;Frosch-bot: moved VarAction2IndustryTiles to VariationalAction2/Industry Tiles:&amp;amp;#32;use subpages&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
&lt;br /&gt;
== Variables ==&lt;br /&gt;
&lt;br /&gt;
&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 [[TownZones|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;
&lt;br /&gt;
VarAction2 for airport tiles is only available in OpenTTD r19204 or later&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;
=== [[TownZones|Town zone]] (42) ===&lt;br /&gt;
&lt;br /&gt;
[[TownZones|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;
&#039;&#039;&#039;Format:&#039;&#039;&#039; 00yxYYXX&lt;br /&gt;
&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;
&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:&lt;br /&gt;
{|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;
|}&lt;br /&gt;
* &#039;&#039;&#039;ss&#039;&#039;&#039; contains the slope data of the tile. The meaning of the individual bits is:&lt;br /&gt;
{|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;
&lt;br /&gt;
The resulting, possible values for this byte are illustrated in this image (from OpenTTD docs):&lt;br /&gt;
&lt;br /&gt;
[[File:Industrytile_var60.png]]&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;quot;zz/8 + ((ss+15)/16)&amp;quot;, that is: &amp;quot;60 XX 33 1F 00 60 XX 40 FF 0F 10&amp;quot;, where XX is the parameter. This returns a number 0..31 instead of 0..248, though.&lt;br /&gt;
Why this works, and how to adjust for the different value range, are left as exercises for the reader.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Be aware that due to the way that TTD generates a random map, the class number of a neighbour tile could be different from what you expect. E.g., when placing a water-based industry adjacent to a coast in a random game, these tiles aren´t adjacent to water anymore after the industry has been generated and therefore you can&#039;t reliably check for coast tiles in the industry´s placement callback.&lt;br /&gt;
&lt;br /&gt;
=== Animation stage for nearby tiles (61) ===&lt;br /&gt;
&lt;br /&gt;
The parameter of this variable is interpreted the same way as for variable 60. The return value is FFFFFFFFh if the given tile doesn&#039;t belong to the industry, and the number of the current animation frame of the given tile otherwise. (That is, the value that var 44 would return for the given tile.)&lt;br /&gt;
&lt;br /&gt;
=== Get industry tile ID at offset (62) ===&lt;br /&gt;
&lt;br /&gt;
(from TTDPatch 2.6 alpha r1270)&lt;br /&gt;
Works similarly to industry variable 60, except that the point of reference is the current tile instead of the north tile of the industry, and the offsets are considered to be signed.&lt;br /&gt;
&lt;br /&gt;
==Example==&lt;/div&gt;</summary>
		<author><name>Frosch-bot</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=VarAction2Industries&amp;diff=1700</id>
		<title>VarAction2Industries</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=VarAction2Industries&amp;diff=1700"/>
		<updated>2011-06-17T19:29:06Z</updated>

		<summary type="html">&lt;p&gt;Frosch-bot: moved VarAction2Industries to VariationalAction2/Industries:&amp;amp;#32;use subpages&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[VariationalAction2/Industries]]&lt;/div&gt;</summary>
		<author><name>Frosch-bot</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=VariationalAction2/Industries&amp;diff=1699</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=1699"/>
		<updated>2011-06-17T19:29:06Z</updated>

		<summary type="html">&lt;p&gt;Frosch-bot: moved VarAction2Industries to VariationalAction2/Industries:&amp;amp;#32;use subpages&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
&lt;br /&gt;
== Variables ==&lt;br /&gt;
&lt;br /&gt;
{| |-&lt;br /&gt;
!Variable !!Version !![[GRFActionsDetailed|Size]] !! Description&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 [[TownZones|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 TTDPatch 2.6 r1321)&lt;br /&gt;
|}&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 TTDPatch 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, TTDPatch 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 [[TownZones|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 [[TownZones|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;
{| |-&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 TTDPatch 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;
&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;br /&gt;
&lt;br /&gt;
==Example==&lt;/div&gt;</summary>
		<author><name>Frosch-bot</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=VarAction2Houses&amp;diff=1698</id>
		<title>VarAction2Houses</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=VarAction2Houses&amp;diff=1698"/>
		<updated>2011-06-17T19:29:05Z</updated>

		<summary type="html">&lt;p&gt;Frosch-bot: moved VarAction2Houses to VariationalAction2/Houses:&amp;amp;#32;use subpages&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[VariationalAction2/Houses]]&lt;/div&gt;</summary>
		<author><name>Frosch-bot</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=VariationalAction2/Houses&amp;diff=1697</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=1697"/>
		<updated>2011-06-17T19:29:05Z</updated>

		<summary type="html">&lt;p&gt;Frosch-bot: moved VarAction2Houses to VariationalAction2/Houses:&amp;amp;#32;use subpages&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
&lt;br /&gt;
== Variables ==&lt;br /&gt;
&lt;br /&gt;
{| |-&lt;br /&gt;
!Variable!!Version*!![[GRFActionsDetailed|&#039;&#039;&#039;Size&#039;&#039;&#039;]]!!Description&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;
&lt;br /&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;
== Description ==&lt;br /&gt;
&lt;br /&gt;
=== Construction stage and pseudo-random values (40) ===&lt;br /&gt;
&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;
&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 [[Callbacks#House construction check (17)|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;
{| |-&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 [[Callbacks#House construction check (17)|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;
&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 [[Callbacks#House construction check (17)|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;
{| |-&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 [[Callbacks#Watched cargo accepted (148) |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;
&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;quot;nearby&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;
{| |-&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;
&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;br /&gt;
&lt;br /&gt;
==Example==&lt;/div&gt;</summary>
		<author><name>Frosch-bot</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=VarAction2Cargos&amp;diff=1696</id>
		<title>VarAction2Cargos</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=VarAction2Cargos&amp;diff=1696"/>
		<updated>2011-06-17T19:29:04Z</updated>

		<summary type="html">&lt;p&gt;Frosch-bot: moved VarAction2Cargos to VariationalAction2/Cargos:&amp;amp;#32;use subpages&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[VariationalAction2/Cargos]]&lt;/div&gt;</summary>
		<author><name>Frosch-bot</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=VariationalAction2/Cargos&amp;diff=1695</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=1695"/>
		<updated>2011-06-17T19:29:04Z</updated>

		<summary type="html">&lt;p&gt;Frosch-bot: moved VarAction2Cargos to VariationalAction2/Cargos:&amp;amp;#32;use subpages&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&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>Frosch-bot</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=VarAction2Canals&amp;diff=1694</id>
		<title>VarAction2Canals</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=VarAction2Canals&amp;diff=1694"/>
		<updated>2011-06-17T19:29:03Z</updated>

		<summary type="html">&lt;p&gt;Frosch-bot: moved VarAction2Canals to VariationalAction2/Canals:&amp;amp;#32;use subpages&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[VariationalAction2/Canals]]&lt;/div&gt;</summary>
		<author><name>Frosch-bot</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=VariationalAction2/Canals&amp;diff=1693</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=1693"/>
		<updated>2011-06-17T19:29:03Z</updated>

		<summary type="html">&lt;p&gt;Frosch-bot: moved VarAction2Canals to VariationalAction2/Canals:&amp;amp;#32;use subpages&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
&lt;br /&gt;
== Variables ==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
!&#039;&#039;&#039;Variable&#039;&#039;&#039;&lt;br /&gt;
!&#039;&#039;&#039;Version&#039;&#039;&#039;&lt;br /&gt;
![[GRFActionsDetailed|&#039;&#039;&#039;Size&#039;&#039;&#039;]]&lt;br /&gt;
!&#039;&#039;&#039;Content&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|80&lt;br /&gt;
| &lt;br /&gt;
|B&lt;br /&gt;
|Height above ground, top parts of locks have the same height as the lower parts.&lt;br /&gt;
|-&lt;br /&gt;
|81&lt;br /&gt;
| &lt;br /&gt;
|B&lt;br /&gt;
|Terrain type: 0 normal, 1 desert, 2 rainforest, 4 on or above snowline&lt;br /&gt;
|-&lt;br /&gt;
|82&lt;br /&gt;
| &lt;br /&gt;
|B&lt;br /&gt;
|reversed for internal usage, dikemap&lt;br /&gt;
|-&lt;br /&gt;
|83&lt;br /&gt;
|a&lt;br /&gt;
|B&lt;br /&gt;
|Random byte for plain canals and river tiles, otherwise zero (under bridges as example, or old savegames)||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
(a) TTDPatch 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;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
==Example==&lt;/div&gt;</summary>
		<author><name>Frosch-bot</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=VarAction2Bridges&amp;diff=1692</id>
		<title>VarAction2Bridges</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=VarAction2Bridges&amp;diff=1692"/>
		<updated>2011-06-17T19:29:02Z</updated>

		<summary type="html">&lt;p&gt;Frosch-bot: moved VarAction2Bridges to VariationalAction2/Bridges:&amp;amp;#32;use subpages&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[VariationalAction2/Bridges]]&lt;/div&gt;</summary>
		<author><name>Frosch-bot</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=VariationalAction2/Bridges&amp;diff=1691</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=1691"/>
		<updated>2011-06-17T19:29:02Z</updated>

		<summary type="html">&lt;p&gt;Frosch-bot: moved VarAction2Bridges to VariationalAction2/Bridges:&amp;amp;#32;use subpages&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
&lt;br /&gt;
== Variables ==&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;
&lt;br /&gt;
== Description ==&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;br /&gt;
&lt;br /&gt;
==Example==&lt;/div&gt;</summary>
		<author><name>Frosch-bot</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=Action0GeneralVariables&amp;diff=1690</id>
		<title>Action0GeneralVariables</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=Action0GeneralVariables&amp;diff=1690"/>
		<updated>2011-06-17T19:23:21Z</updated>

		<summary type="html">&lt;p&gt;Frosch-bot: moved Action0GeneralVariables to Action0/Global Variables:&amp;amp;#32;use subpages&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Action0/Global Variables]]&lt;/div&gt;</summary>
		<author><name>Frosch-bot</name></author>
	</entry>
	<entry>
		<id>https://newgrf-specs.tt-wiki.net/index.php?title=Action0/Global_Settings&amp;diff=1689</id>
		<title>Action0/Global Settings</title>
		<link rel="alternate" type="text/html" href="https://newgrf-specs.tt-wiki.net/index.php?title=Action0/Global_Settings&amp;diff=1689"/>
		<updated>2011-06-17T19:23:21Z</updated>

		<summary type="html">&lt;p&gt;Frosch-bot: moved Action0GeneralVariables to Action0/Global Variables:&amp;amp;#32;use subpages&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Global variables can be set in one of two ways. (This) action 0 using feature 8, or [[ActionD|Action D]]. Variables in arrays will usually be set using an action 0, whereas action D will most commonly set single variables.&lt;br /&gt;
&lt;br /&gt;
In addition to global variables, this action can also set some general grf-specific variables.&lt;br /&gt;
&lt;br /&gt;
== Properties ==&lt;br /&gt;
&lt;br /&gt;
{| |-&lt;br /&gt;
!Number!!Version!![[GRFActionsDetailed|Size]]!!Description&lt;br /&gt;
|-&lt;br /&gt;
|08||2.0.1 alpha 40||B||Cost base multipliers&lt;br /&gt;
|-&lt;br /&gt;
|09||2.0.1 alpha 66||D||Cargo translation table&lt;br /&gt;
|-&lt;br /&gt;
|0A||2.0.1 alpha 69||W||Currency display names&lt;br /&gt;
|-&lt;br /&gt;
|0B||2.0.1 alpha 69||D||Currency multipliers&lt;br /&gt;
|-&lt;br /&gt;
|0C||2.0.1 alpha 69||W||Currency options&lt;br /&gt;
|-&lt;br /&gt;
|0D,0E||2.0.1 alpha 69||D||Currency symbols&lt;br /&gt;
|-&lt;br /&gt;
|0F||2.0.1 alpha 69||W||Euro introduction dates&lt;br /&gt;
|-&lt;br /&gt;
|10||2.0.1 alpha 74||12*32*B||Snow line height table&lt;br /&gt;
|-&lt;br /&gt;
|11||OpenTTD (r12924)||2*D||GRFID overrides for engines&lt;br /&gt;
|-&lt;br /&gt;
|12||OpenTTD (r15417)||D||Rail type translation table&lt;br /&gt;
|-&lt;br /&gt;
|13,14||OpenTTD (r21208)||V||Gender/case translation table&lt;br /&gt;
|-&lt;br /&gt;
|15||OpenTTD (r21216)||B||Plural form&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Descriptions ==&lt;br /&gt;
&lt;br /&gt;
=== Cost base multipliers (08) ===&lt;br /&gt;
&lt;br /&gt;
TTD has 49 [[BaseCosts|base costs]] (66 in OpenTTD currently) which govern how much everything costs. Each cost is calculated from a (fixed) factor times the base cost, which is adjusted by inflation every month.&lt;br /&gt;
&lt;br /&gt;
Setting this property allows changing these base costs by factors of two. The default value of the property is 08 which leaves the base cost unchanged. Adding one to the property doubles the base cost, subtracting one halves it.&lt;br /&gt;
&lt;br /&gt;
Using math: NewBaseCost = OldBaseCost * 2^(n-8), where n is the value of property 08.&lt;br /&gt;
&lt;br /&gt;
Modifying the base costs incurs a small rounding error every time the game is saved, because the costs have to be set back to the default in the savegame. However, this error is unnoticable until many years of inflation have passed and should therefore be of little concern.&lt;br /&gt;
&lt;br /&gt;
Note: in OpenTTD rounding happens towards 1 or -1 depending on the old base cost; i.e. if the old base cost is positive round towards 1, if negative round towards -1. This prevents the base cost to be zero.&lt;br /&gt;
&lt;br /&gt;
=== Cargo translation table (09) ===&lt;br /&gt;
&lt;br /&gt;
To aid with coding vehicle grf files that wish to support more than the standard cargo types, the easiest way is to install a cargo translation table using this property.&lt;br /&gt;
&lt;br /&gt;
The cargo translation table is a list of [[Action0Cargos#Cargo label 17|cargo labels]]. Each entry means that the corresponding cargo is meant when using this ID in an [[Action3|action 3]] or for a bit in the vehicle&#039;s refit mask.&lt;br /&gt;
&lt;br /&gt;
In other words, if for example the fourth entry (number 03) in the list is &amp;quot;MAIL&amp;quot;, then defining graphics for cargo 03 will define graphics for mail, and bit 3 in the refit mask will be for mail as well.&lt;br /&gt;
&lt;br /&gt;
This way, the vehicle grf file doesn&#039;t need to know or care which cargo slot and cargo bit a certain cargo type uses, it can define its own ID for each cargo that it wishes to support, and thus be independent of both what cargo types are really available in the game and what slots/bits they use.&lt;br /&gt;
&lt;br /&gt;
Because the refit mask contains only 32 bits, only the first 32 entries in the translation table can make use of the refit mask. Other cargo types have to be added via the cargo classes, so put the cargos that need exceptions to the cargo class based refitting first so that they can go in the refit mask.&lt;br /&gt;
&lt;br /&gt;
Note that this property cannot be set incrementally, you must set all types in a single action 0 starting from ID 0.&lt;br /&gt;
&lt;br /&gt;
See below for an example.&lt;br /&gt;
&lt;br /&gt;
==== Example ====&lt;br /&gt;
&lt;br /&gt;
 // Cargo translation table&lt;br /&gt;
   1 * 169      00 08 01 29 00 09&lt;br /&gt;
           &amp;quot;COAL&amp;quot; &amp;quot;WATR&amp;quot; &amp;quot;RUBB&amp;quot; &amp;quot;MAIL&amp;quot; &amp;quot;OIL_&amp;quot; // 0-4&lt;br /&gt;
           &amp;quot;LVST&amp;quot; &amp;quot;GOOD&amp;quot; &amp;quot;CERE&amp;quot; &amp;quot;GRAN&amp;quot; &amp;quot;WHET&amp;quot; // 5-9&lt;br /&gt;
           &amp;quot;MAIZ&amp;quot; &amp;quot;WOOD&amp;quot; &amp;quot;WODT&amp;quot; &amp;quot;IORE&amp;quot; &amp;quot;CORE&amp;quot; // 10-14&lt;br /&gt;
           &amp;quot;STEL&amp;quot; &amp;quot;PLAS&amp;quot; &amp;quot;VALU&amp;quot; &amp;quot;GOLD&amp;quot; &amp;quot;DIAM&amp;quot; // 15-19&lt;br /&gt;
           &amp;quot;PAPR&amp;quot; &amp;quot;FOOD&amp;quot; &amp;quot;FRUT&amp;quot; &amp;quot;FISH&amp;quot; &amp;quot;WOOL&amp;quot; // 20-24&lt;br /&gt;
           &amp;quot;POTA&amp;quot; &amp;quot;SAND&amp;quot; &amp;quot;GLAS&amp;quot; &amp;quot;WDPR&amp;quot; &amp;quot;DYES&amp;quot; // 25-29&lt;br /&gt;
           &amp;quot;FERT&amp;quot; &amp;quot;OLSD&amp;quot; &amp;quot;RFPR&amp;quot; &amp;quot;VEHI&amp;quot; &amp;quot;PETR&amp;quot; // 30-34&lt;br /&gt;
           &amp;quot;BRCK&amp;quot; &amp;quot;SULP&amp;quot; &amp;quot;CMNT&amp;quot; &amp;quot;FICR&amp;quot; &amp;quot;LIME&amp;quot; // 35-39&lt;br /&gt;
           &amp;quot;MILK&amp;quot; // 40&lt;br /&gt;
 // Train wagon that has special graphics for grain (8),&lt;br /&gt;
 // wheat (9), maize (10) and cereals (7)&lt;br /&gt;
   2 * 29       03 00 01 1B 04&lt;br /&gt;
           08 &amp;lt;grain-cid&amp;gt; 09 &amp;lt;wheat-cid&amp;gt; 0A &amp;lt;maize-cid&amp;gt;&lt;br /&gt;
           07 &amp;lt;cereals-cid&amp;gt; &amp;lt;default-cid&amp;gt;&lt;br /&gt;
 // Train wagon that has graphics for water (1), rubber (2),&lt;br /&gt;
 // oil (4), petrol (34) and milk (40)&lt;br /&gt;
   3 * 31       03 00 01 1C 05&lt;br /&gt;
           01 &amp;lt;water-cid&amp;gt; 02 &amp;lt;rubber-cid&amp;gt; 04 &amp;lt;oil-cid&amp;gt;&lt;br /&gt;
           22 &amp;lt;petrol-cid&amp;gt; 28 &amp;lt;milk-cid&amp;gt; &amp;lt;default-cid&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Currency display names (0A) ===&lt;br /&gt;
This and the following properties can be used to modify currencies. Each of them can have IDs 0-18 (decimal), the IDs being ordered the same as in the Currency drop-down list.&lt;br /&gt;
&lt;br /&gt;
This property allows changing currency names that are displayed in the Currency drop-down in the Game Options window. This property is a textID, and if you need to supply your own text, it must be a DCxx one.&lt;br /&gt;
&lt;br /&gt;
=== Currency multipliers (0B) ===&lt;br /&gt;
&lt;br /&gt;
The equivalent of 1 British pound in this currency, multiplied by 1000. For example, 1 GBP=2 USD, so this should be 2000 for US dollars. The multiplication by 1000 allows you to have decimals in the multiplier without requiring floating-point calculations. This value is used for display purposes only, TTD always uses British pounds for internal calculations.&lt;br /&gt;
&lt;br /&gt;
=== Currency options (0C) ===&lt;br /&gt;
&lt;br /&gt;
The low byte of this word specifies the thousands separator to be used for this currency ( usually dot &amp;quot;.&amp;quot; or comma &amp;quot;,&amp;quot;). The high byte should be zero if the currency symbol should be in front of the number ($123,456) and should be 1 if the currency symbol should be shown after the number (123,456$). The symbol placement can be overridden by the TTDPatch settings.&lt;br /&gt;
&lt;br /&gt;
=== Currency symbols (0D,0E) ===&lt;br /&gt;
&lt;br /&gt;
These doublewords are interpreted as a string of up to 4 characters. If you need fewer characters, the remaining bytes should be zero. Property 0D is printed before the number, property 0E is printed after the number. These two usually differ only if the symbol is separated by a space from the number (for example, &amp;quot;$ &amp;quot; vs. &amp;quot; $&amp;quot;). You should specify both properties since the player can override your preferred symbol placement.&lt;br /&gt;
&lt;br /&gt;
=== Euro introduction dates (0F) ===&lt;br /&gt;
&lt;br /&gt;
This value allows you to have Euro introduced instead the currency at a given time. If this value is zero, the currency is never substituted with the Euro (USD, for example). If it&#039;s nonzero, it gives the year when the currency is replaced by Euro (for example, 2002 for DM).&lt;br /&gt;
&lt;br /&gt;
=== Snow line height table (10) ===&lt;br /&gt;
&lt;br /&gt;
This property allows you to specify the snow line height for every day of the year. The only ID you can set is 0, and the value must be 12*32=384 bytes long. To simplify things for the patch, every month has 32 entries, and the impossible combinations (like 32th January or 31th April) will never be read. The entries should be a multiply of 8 or else some visual glitches may appear. Values below 10h and above EFh may result in overflow and should not be used. Since the highest possible land is 78h high, giving 88h or above will effectively disable the snow line.&lt;br /&gt;
&lt;br /&gt;
(TTDPatch only) If the temperate snow line is enabled, this table applies on temperate as well.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WARNING:&#039;&#039;&#039; Some code in TTD assumes that the snow line will remain constant: Some industries are built only above/below snowline and assume that the snow line won&#039;t move when they&#039;re already built. Similarly, snowy houses on arctic will still appear snowy even when the snow disappears around them. If you want to use this feature, make sure to counter these effects by overriding arctic houses and industries with snow-aware versions.&lt;br /&gt;
&lt;br /&gt;
=== GRFID overrides for engines (11) ===&lt;br /&gt;
&lt;br /&gt;
(OpenTTD only) Allows you to provide a list of &#039;source&#039; and &#039;target&#039; GRFIDs to let engines in the source GRF override those in the target GRF, when dynamic engines is enabled. Each entry is 8 bytes, containing two GRFIDs. Multiple entries can be used, and different GRFs can be set to override the same &#039;target&#039; GRF, but only the last instance of a &#039;source&#039; GRF is active. GRFIDs that are not present will have no effect.&lt;br /&gt;
&lt;br /&gt;
The scope of this feature is quite limited and it should be used only for sets that modify data of another set, for example the DBSetXL ECS addon for DBSetXL, or the censored version of LV4.&lt;br /&gt;
&lt;br /&gt;
=== Rail type translation table (12) ===&lt;br /&gt;
&lt;br /&gt;
(OpenTTD only) Provides ability to specify rail types via a translation table, similar to using a cargo translation table. Each rail type label is a DWord. The default labels are RAIL, ELRL, MONO and MGLV. If a table is installed, then changing engine traction type will not affect the rail type.&lt;br /&gt;
&lt;br /&gt;
=== Gender/case translation table (13,14) ===&lt;br /&gt;
&lt;br /&gt;
(OpenTTD only) Provides ability to specify genders or cases via a translation table. These map NewGRF internal IDs for the genders or cases to the genders or cases as defined in OpenTTD&#039;s language files so NewGRF strings and OpenTTD strings can interact on eachother&#039;s gender or cases. Property 13 is for mapping genders whereas property 14 is for mapping cases.&lt;br /&gt;
&lt;br /&gt;
The ID used for these translation tables is the Action 4 (GRF version 7 or higher) language-id, i.e. this mapping only works with GRF version 7 or higher. Language-id 7F (any) is not allowed. You can can define an ID multiple times in which case the new mappings are simply appended to the already known mappings.&lt;br /&gt;
&lt;br /&gt;
The format is simply a 00 terminated list of mappings:&lt;br /&gt;
&lt;br /&gt;
 (&amp;lt;id&amp;gt; &amp;lt;name&amp;gt;)+ 00&lt;br /&gt;
&lt;br /&gt;
{| |-&lt;br /&gt;
!Size!!Name!!Meaning&lt;br /&gt;
|-&lt;br /&gt;
|B||id||NewGRF internal ID for the gender or case name, may not be 00&lt;br /&gt;
|-&lt;br /&gt;
|V||name||A 00 terminated string with the gender or case name as in OpenTTD&#039;s translation&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
An NewGRF internal ID may be mapped multiple times for the same language as may an OpenTTD gender or case name be (reverse) mapped multiple times. This can be used for coping with OpenTTD translators adding or removing genders or cases over time. The NewGRF internal ID may not be 00 as this ID will be used in the Action 4 strings which may not contain 00 except for terminating the string.&lt;br /&gt;
&lt;br /&gt;
These mappings are used for [[StringCodes]] 9A 0E, 9A 0F, 9A 13 and 9A 14. How the mapping is used precisely can be found there.&lt;br /&gt;
&lt;br /&gt;
=== Plural form (15) ===&lt;br /&gt;
&lt;br /&gt;
Defines the plural form for a language. The ID used is the Action 4 (GRF version 7 or higher) language-id, i.e. this only works with GRF version 7 or higher. Language-id 7F (any) is not allowed. More information about the different valid plural forms can be found on the [[StringCodes]] page. This property is used for [[StringCodes|StringCode]] 9A 15.&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;/div&gt;</summary>
		<author><name>Frosch-bot</name></author>
	</entry>
</feed>