TTDPatch Manual

Version 2.0


Node:Top, Next:

Table of Contents


Node:Introduction, Next:, Up:Top

1 Introduction


Node:What does it do?, Next:, Up:Introduction

1.1 What does it do?

TTDPatch is a program that modifies the way Transport Tycoon Deluxe (TTD) works. It offers many, many improvements in gameplay and offers a different way of experiencing TTD. Among the more popular options are:


More, Better, Larger
Have you ever been annoyed by the maximum number of vehicles, that you can only have 80 trains, and that there are only 690 vehicles available to all eight players? No more! Now you'll be able to own 240 trains, 240 road vehicles, 240 planes and 240 ships, and altogether up to 40,000 vehicles. Also you can have larger stations, with up to 7 platforms, each with a length of up to 7 squares, or even mammoth trains with up to 126 carriages.
New Signals
Frustrated that building an efficient station is so hard? Pre-signals offer a new way to guide your trains and allow very small, yet efficient stations. Also, a different way to handle the "non-stop" flag makes it easier and more efficient to give a train way points along its route, in the form of dummy 1x1 stations. These improvements allow the creation of large, interconnected rail networks that are very efficient.
New Graphics
If you've always wanted a larger variety of vehicles, TTDPatch is for you. It enables new vehicles with new and exciting graphics, and supports making even more vehicles with a new add-on mechanism.
In-game Cheats
Just by placing a sign, you can change the year, your cash, renew all your carriages for better station ratings and so much more. Get this, you can even automatically convert all your tracks to monorail and maglev, so that you don't have to waste time converting them yourself!
Other conveniences,
including refittable train engines, mixed stations with different types of trains, selectable station goods, more useful "full load" option, the ability to use realistic acceleration on mountains, or turn off the effects of curves and mountains entirely, and much, much more.

None of the above is compulsory, everything can be customized. You only play with the options that you like, and leave the rest turned off. Every one has different preferences, and this program tries to accomodate that as much as possible.

Just keep on reading, and you'll find out that you really want to try this program. And the best: it's totally free! And that's because I'm just a TTD nut who can't get enough, and I've been so annoyed with the program at times that I just decided to fix it myself. I think I've been successful, but see for yourself.


Node:Copyright and Copying, Next:, Previous:What does it do?, Up:Introduction

1.2 Copyright and Copying

This program and the accompanying documentation are Copyright © 1999-2003 by Josef Drexler. TTDPatch is distributed under the terms of the GNU general public license (GPL). For more information please read the GNU GPL page. A copy of the license should have come with the program in the file COPYING, if not please read the license.

In particular, the standard warranty disclaimer applies:

BECAUSE THE PROGRAM IS SUPPLIED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.

IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

The same things in English:

*) Note that other people have contributed code and graphics, and they generally own their contributions themselves.


Node:Cheat Disclaimer, Next:, Previous:Copyright and Copying, Up:Introduction

1.3 Cheat Disclaimer

This program is a cheat program. It will enable you to do things that are not possible in the standard Transport Tycoon Deluxe.

If you think your enjoyment of the game might be reduced by using cheats, you should not use this program. Personally, I like TTD much more with some of the more annoying things removed, and the missing things added.

Any use of the sign cheat will mark your savegame permanently. If you intend to participate in a competition, you should not use them (unless they are permitted), as this can easily be found out. The rest is more or less obvious to find out anyway.


Node:Terminology and Notations, Next:, Previous:Cheat Disclaimer, Up:Introduction

1.4 Terminology and Notations

This section aims to explain some words used in this manual, if they might be ambiguous or not obvious. Additionally, some of the notations are explained.

DOS version
The DOS version refers to the older version of TTD that runs in DOS, or in a DOS window. Even if it runs under Windows, it is still the DOS version of TTD.
Windows version
The Windows version is the more recent version of TTD. It is a native Windows application that uses DirectX to communicate with the graphics and sound hardware.
Station
A station is either a station complex or a station facility, depending on the context.
Station complex
Several station facilities connected together such that they form a single unit. A station complex can combine several different types of carriers. The name, ratings and goods waiting are always stated for the whole station complex, not for each individual facility.
Station facility
One of the parts that make up a station complex, it can be a train station, bus or truck terminal, airport, heliport or ship docks.
Vehicle
Any mobile unit that you can buy individually, i.e. train engines and wagons, road vehicles, aircraft and ships.
Carrier
A vehicle or consist that is able to transport a certain type of cargo, e.g. planes can be both passenger and mail carriers.
Engine
The powered vehicle(s) present in every consist. For trains the engine refers to only the train engine(s) without the wagons, for all others it refers to the vehicle itself.
Consist
An operational set of vehicles that are given commands together. It refers to the entire train including engine and wagons, or the bus, truck, aircraft or ship. See also carrier.

Some additional clarifications: A road, air, or water consist is a single vehicle that functions as both engine and carrier. A rail consist is multiple vehicles including an engine and at least one carrier. Some engines are made of two vehicles and some engines are also carriers.

Option
An option is specified on TTDPatch's command line, to either select what patches should be applied (see switch) or to otherwise control how TTDPatch runs.
Patch
A patch is a modification of TTD's behaviour, through TTDPatch. Can be activated using a switch.
Switch
A switch is an option that selects what patches TTDPatch should apply. It can be specified either as an option on the command line, or as an entry in the configuration file.

Definition of notations:

<angle brackets>
Angle brackets are placeholders, to be replaced by the actual data of your choice. For example, the "Year" sign cheat is defined as Cht: Year <number>. This means that you should replace <number> with the number of the year, e.g. Cht: Year 2034.
[square brackets]
Square brackets indicate an optional component. For example, the "tracks" sign cheat is defined as Cht: <to> [<from>]. This means that <to> is mandatory and must always be specified, but [<from>] is optional. As a result, both Cht: 1 and Cht: 1 2 are valid examples of the track cheat.


Node:Contributors, Previous:Terminology and Notations, Up:Introduction

1.5 Contributors

Code Contributions

(In order of appearance.)

Josef Drexler
Josef is the main author of TTDPatch. He started the project in 1996 and made it public in May 1999. He's working on it whenever he has spare time, and wrote a large chunk of the code. If a feature is not credited to someone else, it was written by Josef. He also maintains this manual, and the ttdpatch.net website.
Marcin Grzegorczyk
Marcin joined Josef in the development of TTDPatch in 2000 and is the other major contributor to the patch. He fixed a lot of the bugs in Josef's code, and developed the following features: rvqueueing, Plane crash control, most of the "generalfixes", city bridge removal, signalwaittimes, disaster selection, forceautorenew, morenews, unifiedmaglev, newbridgespeeds, signalsontrafficside, electrifiedrailway, errorpopuptime, all new town growth switches, most of the miscmods, saveextradata, Enhanced keyboard handler, euro, buildonslopes, buildoncoasts
Norman Rasmussen
Norman wrote the Windows 2000/XP compatibility code, and dxmci.dll to make TTD use DirectMusic for playing the music.
Oskar Eisemuth
Oskar joined the team in March 2003, and has been busily adding new features to the patch. He wrote morebuildoptions, morehotkeys, enhancegui
Csaba Varga
Csaba joined in April 2003, and has also contributed a number of new features since then. He wrote plantmanytrees, morecurrencies, manualconvert, newagerating, fastwagonsell, newrvcrash, stableindustry

Graphics and other Tools

Michael Blunck
Michael designed and drew the new graphics distributed with the patch.
Jakub "SHADOW-XIII" Górecki
SHADOW-XIII wrote the TTDPatch Starter, a program to choose your switches and write the TTDPatch configuration file and run either TTD or TTDPatch. He also wrote the GRF Manager, which simplies working with the new graphics.
Andrés Zsögön
Andrés wrote the TTDPatch Configurator, also a program that allows you to choose the TTDPatch switches and write a configuration file, as well as run TTD and TTDPatch. In addition, he wrote the GRF Wizard which simplifies working with GRFCodec.

Translations

The following people have translated TTDPatch:

Language Translator
Czech Mirek Duda
Danish Kenneth Vestergaard Schmidt (up to 1.6), Rune Baszkiewicz (from 2.0)
Dutch Remon Pel (up to 1.6), Jan Willem van Dormolen (from 1.7)
English Josef Drexler
Finnish Vesku (up to 1.6)
French Rémi Denis Courmont (up to 1.6), Edo (from 1.8.1)
German Josef Drexler
Hungarian György "Saiyan" Müller
Italian Jack VanderCloud (up to 1.6), Lorenzo F. (from 1.8.1)
Norwegian Hilanmo Terje (up to 1.6), Tor Inge Johannessen (from 1.9)
Polish Marek Majkowski, SHADOW-XIII and Marcin Grzegorczyk
Russian Yuri Burawtsow
Spanish John Bernal


Node:Usage, Next:, Previous:Introduction, Up:Top

2 Usage


Node:Where to get it, Next:, Up:Usage

2.1 Where to get it

The newest version of TTDPatch should always be available from the TTDPatch home page.

If the page doesn't exist, it has probably moved. But even if or when it does, you should still be able to find it in the Transport Tycoon Webring.

Because TTDPatch is distributed under the GPL, the source code is available too, at http://www.ttdpatch.net/src/. It can be compiled with free compilers, using NASM, OpenWatcom for the DOS version, GCC and various other tools from the GNU development suite.


Node:Installation, Next:, Previous:Where to get it, Up:Usage

2.2 Installation

To unzip the files you download, you can use Winzip, the Info-Zip unzip program, PKZIP or any other program that knows how to handle zip files.

Note that TTDPatch does not change any of TTD's files. You can write-protect the TTD executable to be sure. Instead, it will copy the old executable (either ttdx.exe, tycoon.exe or gamegfx.exe) to ttdload(W).ovl, and modify this copy only. You can switch between TTDPatch and the regular TTD at any time, simply by choosing which program you run. ttdpatch(W).exe is for running with the patch, and the regular ttdx.exe, tycoon.exe or gamegfx.exe for when you want the original TTD.

However, savegames that are saved while certain switches are activated may be incompatible with versions not running this patch. This also applies to scenarios created with the scenario editor. Incompatible savegames may cause TTD to crash, so be careful when loading games saved with the patch into TTD.


Node:Upgrading to a newer version, Next:, Previous:Installation, Up:Usage

2.3 Upgrading to a newer version

If you had a copy of TTDPatch before, and are now upgrading to a newer one, there are a few things that you should pay attention to.

The first one is that TTDPatch may ask you to delete ttdload.ovl, because it has become outdated. This file will then be generated again the next time you run TTDPatch. It is generally a good idea to delete this file anyway.

The second thing is that you probably want access to the new options, but they are not in your configuration file. To do this, start TTDPatch with the following command line:

ttdpatch -W ttdpatch.cfg

Alternatively, put the line

writecfg ttdpatch.cfg
as the last line of ttdpatch.cfg.

Both ways will tell TTDPatch to read your current configuration from ttdpatch.cfg, and write this configuration back, along with the new options. Then you can edit the new file, and change the options as you like.


Node:Running it, Next:, Previous:Upgrading to a newer version, Up:Usage

2.4 Running it

To start TTD with the patches enabled, simply run ttdpatch.exe. At the first start, it will copy the old executable to ttdload.ovl, patch it, and then run it. Additionally, it will create a configuration file if none exists already. These steps will be omitted after the first start.

You now need to have 9 MB of free memory to run TTD, because of the possibly larger number of vehicles. This is true even if you don't use the morevehicles switch. However, with the new lowmemory option, you can reduce this requirement to 4 MB, at the expense of not being able to have as many vehicles or new graphics.

If you are starting TTD from Windows 95, just change the shortcut command line to run ttdpatch.exe instead of tycoon.exe or ttdx.exe, and append any of the options you would like to have.

For the DOS version, you can pass any parameters to TTD, just add them at the end of the ttdpatch command line. This will in most cases be the path to the CD drive, if your TTD runs only with the CD in the drive.

Example:

D:\Games\TTD> ttdpatch -av E:\

will run ttdpatch will all switches enabled, and tell TTD to look for the CD in drive E:. For an explanation of all switches and options, please see Command Line. Alternatively, you can set the CDPath directive in the configuration file to point to your CD drive, with the line

CDPath E:\
in your ttdpatch.cfg file.


Node:Windows Version, Next:, Previous:Running it, Up:Usage

2.5 Windows Version

Recently, a Windows version of TTD has been released as part of the Tycoon Collection available from Hasbro. Since version 1.7, TTDPatch supports this Windows version too.

There are few differences between the DOS and Windows versions of TTDPatch, and while this manual was written with the DOS version in mind, everything should work the same in the Windows version. The only differences are the file names:

DOS Windows
ttdx.exe (or tycoon.exe) gamegfx.exe
ttdpatch.exe ttdpatchW.exe
ttdload.ovl ttdloadW.ovl
newgrf.cfg newgrfW.cfg
ttdpatch.kbd ttdpatchW.kbd

The configuration file and options are the same for both versions, but some switches work only in either the DOS or the Windows version.

In general, the files ending in a "W" are files for the Windows version, and the files without the "W" are for the DOS version.


Node:Language Selection, Next:, Previous:Windows Version, Up:Usage

2.6 Language Selection

TTDPatch supports a variety of languages. Currently these languages are available: Czech, Danish, Dutch, English, Finnish, French, German, Hungarian, Italian, Norwegian, Polish, Russian and Spanish.

TTDPatch will first try to automatically determine your language by asking the operating system. If you find that this doesn't work as intended, there is another way, for example if you want a different language than your operating system reports.

Set either of the environment variables LANG or LANGUAGE to the language you want. If you select a language that TTDPatch doesn't support it will complain, but also tell you the list of languages it knows.

For example, you can put the following line in the batch file which runs TTD, or even in C:\autoexec.bat if you like:

SET LANG=dutch

This would select the dutch language for the output of TTDPatch.


Node:Configuration File, Next:, Previous:Language Selection, Up:Usage

2.7 Configuration File

The configuration file tells TTDPatch which of the patches you want to be enabled, and how. It is simply a list of the patches, followed by what you want it to do with this switch.

If no configuration file is specified at the command line, that is, if there is no -C option, TTDPatch will read the default ttdpatch.cfg. You can specify several configuration files, and they will be read in the order you give them, but if you want TTDPatch to read ttdpatch.cfg and your file, you have to specify both.

To change the configuration, simply open the file in any text editor, like Notepad under Windows or Edit under DOS.

The syntax of the configuration file is simple: all lines starting with a letter define the value of an option, all others are ignored. The line defining the option should have one of the following formats:

servint 16000
servint = 16000

You can add more spaces, or in the second case take them out.

There are three kinds of switches: on/off switches, switches with a value, and switches with bit settings.

On/off switches
For on/off switches (for example trainrefit), you can set them to any of on, yes, y, 1 to turn them on, or off, no, n, 0 to turn them off.


Switches with values
Switches with values, for example servint, can be set to a value within the allowable range, or any of the above on/off values. If a switch should have a value but doesn't, the value is set to the default for that switch; if the given value is out of range, it is set to the nearest allowable value. You can turn a switch off by setting it to any of off, no, n, but not 0 (unless 0 is not in the range for this particular switch). For example, servint on sets the new service interval to the default value of 16000 days, servint 240 sets it to 240 days, and servint off turns the servint feature off.


Bit switches
Finally, switches with bit settings allow you to choose various settings of that switch. An example is the `morebuildoptions' switch. It has the following options, labelled (a) to (e):

Bit Value Meaning
(a) 0 1 Tunnels may cross
(b) 1 2 Oil rigs and refineries may be built everywhere, not only near edges of map
(c) 2 4 Allow multiple industries of the same type in one city
(d) 3 8 Removal of statues, lighthouses and transmitters
(e) 4 16 Removal of industries

To find out how you specify the value for the `morebuildoptions' switch, you have two choices:

You can also have TTDPatch write a customised configuration file with the -W switch. This useful for example to create a configuration file in your language, if it is supported. To convert ttdpatch.cfg, simply run TTDPatch with

ttdpatch -W ttdpatch.cfg

Alternatively, put

writecfg ttdpatch.cfg
in your ttdpatch.cfg.

The result of this is that the configuration file will be in the selected language (see Language Selection), and you can read and edit it easily. It will also automatically add options that were missing or misspelt in the original file.

Since 1.8, the Windows version of TTDPatch converts all comments in the configuration file to the local Windows code page. If that code page does not support all characters used in the selected language, parts of the text may look wrong. To override this behavior, set the environment variable ACP ("ANSI Code Page") to the number of the code page you want. If you specify a code page that is not supported by the Windows installation you're using, no conversion will take place and thus comments will be written in the native DOS code page of the selected language.

For example, to rewrite ttdpatch.cfg as new.cfg in Russian using the Windows Cyryllic code page, run the following three commands in order, from the command line:

SET LANG=russian
SET ACP=1251
ttdpatchw -W new.cfg

(A simpler way to do it in Windows is to put these commands in a batch file and run it.)

The DOS version of TTDPatch does not perform any code page conversions.


Node:Command Line, Next:, Previous:Configuration File, Up:Usage

2.8 Command Line

The command line is an alternative way of selecting the patches. The format of the command line is

TTDPatch [-C cfg-file] [options] [CD Path] [-W cfg-file]

The options can start with either a - (dash) or / (slash), followed by the list of options. All options can have another - after them to turn them off, and if there's an option that takes a parameter, the next option will be used as that value.

Each option is given by either a single letter, or by a capital "X" or "Y" followed by a letter, e.g. -abcXaXbYc. Note that all switches are case sensitive, and distinguish between upper case and lower case. Therefore, -g and -G are different switches.

In addition to all the patch switches (see The Patches), the following options control operation of TTDPatch:

-a
Turn on all patch switches except for "morevehicles" and "experimentalfeatures"
-h
Show a brief help summarizing all available options. Run ttdpatch -h | more if it scrolls by too fast.
-v
Before running TTD, display a brief summary of what switches are active
-C <file>
Select a different configuration file (see Configuration File)
-W <file>
Write current configuration to this file

If the -C option is given, the specified configuration file will be read instead of the default ttdpatch.cfg. You can use several configuration files by having multiple -C switches, they will be read in the order you supply them.

In addition, if you have given a CD Path, if will be passed to TTD and tell it where it should go looking for the CD. (This only applies to the DOS version.)

Some switches don't have associated short command line switches, for example the many switches that control town growth rate calculation (see New Town Growth Switches). However, you can use a so-called `long switch', which is two dashes followed by the full switch name, for example --towngrowthratemin=50 or --trainrefit on. This is not as useful for the DOS version, which has a limit of 127 characters for the command line, but the Windows version has no such limit (although the command interpreter COMMAND.COM does, so under Windows 95/98/Me you may have to use an external tool to specify many long switches).

And finally, after you have set all your switches the way you like them, you can tell TTDPatch to write them to your own configuration file (or ttdpatch.cfg for that matter) by using the -W switch. With this, TTDPatch will create a commented file that has all the switches set as they are when the -W is encountered on the command line.

If you need a short reminder of all options, run ttdpatch -h which will show a short summary of all command line switches. If it's too much to fit on your screen, try ttdpatch -h|more.

A few examples to explain how the command line works:

ttdpatch -an- -i 90 -v
will start TTDPatch will all switches enabled (a) except for the new non-stop handling (n-) which is turned off. The default service interval is set to 90 days (-i 90), and before running TTD, all switches will be displayed to verify they are the way you want (-v).
ttdpatch -C mycfg.cfg
will use the file mycfg.cfg instead of the default ttdpatch.cfg to set the patches.
ttdpatch -C mycfg.cfg -f- -W mycfg.cfg
This will read mycfg.cfg, disable train refitting, and write the new configuration back to mycfg.cfg and then run TTD.


Node:Multiplayer Games, Previous:Command Line, Up:Usage

2.9 Multiplayer Games

One of the more fun aspects of TTD is playing a multiplayer game against an actual human opponent, which is a nice change from the brain-damaged computer players. Now the question is, how does this work with TTDPatch?

For the most part, TTDPatch works well in network games if you pay attention to these issues:

In practice, it's easiest to set up TTDPatch on one of the computers, and then copy both the ttdpatch.exe and ttdpatch.cfg files (and also newgrf.cfg and all the new .grf files, if you use them) to the other computer without changing them. If both copies aren't exactly the same, it's very likely that the multiplayer game will become desynchronised, and basically split into two separate games that are not linked anymore (and playing a desynchronised game will very likely lead to a crash). There are few switches (listed below) that may work even if they're not set identically on each computer, though.

Note that under Windows 2000/XP, the game may become desynchronized much faster than under other operating systems. The cause of this is not clear, and therefore it is difficult to fix. However, the Tools page on the TTDPatch site has a program called sv2flip which may help in resynchronizing savegames.

Additionally, it is impossible to use most of the patches that require the Ctrl key, because this key cannot be transmitted via the networking protocol TTD uses, and therefore two different things would happen on the two computers. Therefore TTDPatch should not even recognize the Ctrl key in multiplayer mode (and if it does, it's a bug). The only exception to this is using the Ctrl key for selecting the station size when placing a new station.

Here is tentative list of which switches do, and which do not work in multiplayer, supplied by Marcin Grzegorczyk. It is based mostly on a crude analysis of the internal working of TTD's multiplayer mode (and a few tests), but since I've never tried it myself I can't vouch for the correctness. Peruse at your own risk...

Switches that do not affect the way TTD works, and are therefore 100% safe:
forcerebuildovl, verbose
Switches that might work right even if they're set differently on each machine
(they only apply to the local player): diskmenu, enhancegui, errorpopuptime, keepsmallairport, morecurrencies, morehotkeys, morenews, moretownstats, moveerrorpopup, showfulldate, showspeed, signalsontrafficside
Switches that should work well, as long as they're set identically on both machines:
autorenew, bribe, bridgespeedlimits, buildoncoasts, buildonslopes, cheatscost, curves, disasters, electrifiedrailway, enginespersist, eternalgame, extradynamite, forceautorenew, fullloadany, generalfixes, gradualloading, largertowns, largestations, loadallgraphics, loadtime, longbridges, lowmemory, mammothtrains, miscmods, moreairports, morevehicles, mountains, newagerating, newplanes, newrvcrash, newrvs, newships, newtrains, noinflation, nonstop, officefood, planecrashcontrol, planes, planespeed, presignals, roadvehs, rvqueueing, saveoptionaldata, selectgoods, semaphores, servint, ships, signal1waittime, signal2waittime, spread, stableindustry, startyear, tgr*, towngrowth*, townminpopulation*, trains, unifiedmaglev, win2k
Switches that may or may not work right, it's difficult to tell since they're complicated:
aiboost, experimentalfeatures, extpresignals, feederservice, gotodepot, manualconvert, morebuildoptions, multihead, plantmanytrees, signcheats, tracktypecostdiff, trainrefit
Switches that do not work (because of the lack of the Ctrl key) and should have no effect:
debtmax, fastwagonsell
Switches that do not currently work, but might be fixed someday:
subsidiaries (although "Cht: PlayerID" should work fine)

Marcin was not able to test the above thoroughly, some switches may still cause crashes or loss of synchronization. Also, some switches offer multiple features, of which one may work right while another doesn't. All feedback welcome, please submit corrections or additions if you can!


Node:The Patches, Next:, Previous:Usage, Up:Top

3 The Patches

This chapter contains a detailed description of each patch. At the beginning of each section is a line with the configuration file directive for that switch, followed by the corresponding command line option.


Node:Train Refitting, Next:, Up:The Patches

3.1 Train Refitting


trainrefit, -f

Since a few of the train engines come with a passenger or mail compartment, they were not very useful for other types of cargo because the "Full Load" switch could not be used. This has changed now with the fullloadany switch, but even so, train refitting may still make sense.

By enabling Train Refitting, you can now refit those engines just like planes to carry whatever cargo you choose. Only mail and oil are not an option yet, just like with the planes. (This might change in the future).

If enabled, it replaces the "Reverse Train" button with a "Refit Train" button whenever the train window is opened while the train is in a depot, but only for those engines that really have a cargo capacity. For all others, there is no change. In order to reverse the direction of a train instead of refitting it, just open the window while the train is not in a depot, where the direction cannot be reversed anyway. The status of this button does not change until the window is closed and opened again, even if the train leaves the depot.

Refitting is permanent, and stays even after the option is disabled, until the engine is sold or refitted again.


Node:New Default Service Interval, Next:, Previous:Train Refitting, Up:The Patches

3.2 New Default Service Interval


servint, -i

If you think that the train behaviour is annoying when it comes to service, because they keep going the wrong way looking for a depot, just set "Vehicle Breakdowns" to "None" in the difficulty settings in TTD, and enable this option. This will set the default service interval to 50 years, and no train will ever try to enter a depot again. You might also want to have a look at the Cht: ServInt sign cheat (see Sign Cheats).

You can give a different number to set all default intervals to 90 days for example, if you'd rather have them go to the depot more often.

Note that this only works for new engines that are bought while the switch is enabled. Use the sign cheat to modify already existing engines.

An alternative solution is to use the gotodepot switch; see Go To Depot.


Node:New Non-stop Handling, Next:, Previous:New Default Service Interval, Up:The Patches

3.3 New Non-stop Handling


nonstop, -n

In order to get around the problem of trains not finding their correct routes in an elaborate network, it is useful to give them various "way points" or "checkpoints" along the route. These way points are dummy 1x1 or 2x1 stations that are then put on the train's schedule. That way you can force a train to take a certain path, when it would normally take a different, probably longer route.

The disadvantage is that normally these checkpoints have to be as long as the train to be efficient, and the train stops at them, which introduces an unnecessary delay.

By using this switch, you can now include these checkpoints in the route, and set them to non-stop. That way, the train will travel to them, but never stop or even just slow down, and will instead continue at its full speed. This even works if the checkpoint is only a single square large.

All stations without "non-stop" will behave as if they had the original "non-stop" set, i.e. the train will stop only at stations on its command list and none it encounters along the way.

This will apply for all trains, so do not use this if you have many routes which make use of the "non-stop" flag, because you will have to remove that flag from all those trains, or if you want your trains to stop at intermediate stations as well and don't want to change all the commands.

Note that there are two sign cheats, Cht: AllNonStop and Cht: NoNonStop which can be used to modify the schedules of all your trains if you decide to start (or stop) using this switch.

With this switch, the regular TTD title screen will break, because the monorail train does not stop at two dummy stations on either side of the road. As a result, the road vehicles won't stop in time and there will be collisions. To fix this, you can download an improved title screen from the Tools page of the TTDPatch website.


Node:Sign Cheats, Next:, Previous:New Non-stop Handling, Up:The Patches

3.4 Sign Cheats


signcheats, -s

cheatscost, -Xo

Sign cheats are a number of new in-game cheats which are activated by placing a sign and naming it Cht: <name of the cheat> <parameters>. If the cheat was successful, the sign name will show a tick mark at the end, otherwise it will show an X mark. Instead of the colon `:' you may also use a semi-colon `;' to accomodate players of the French DOS version which cannot generate a colon because of the keyboard mapping.

For a verbose description of the sign cheats, please see Sign Cheats (detailed).

Normally, the sign cheats do not cost anything, and can be used at any time. With the cheatscost option however, some of the cheats (at this time, only "Tracks", "Renew" and "PlantTrees") will cost the appropriate amount of money. In that case, you can append a question mark to the cheat, in order to see how much it will cost before actually using the sign cheat. For example Cht: Tracks 2 ? will tell you how much it would cost to convert your tracks to Maglev technology.

Once a sign has been placed and activated, i.e. if it has the tick mark or X, you can immediately remove or rename it again, the cheat will still remain active.

A note to international players: The English DOS versions of TTD use a QWERTY keyboard even if your local keyboard layout is different. If you have trouble finding the `:' key, it's to the right of the L key. Press shift and the key right to the L, and there you go!

It may also swap some keys, depending on your local layout. If many cases, y and z will be swapped. So please check if what you've typed is what appears in the sign name.


Node:Increased Number of Vehicles, Next:, Previous:Sign Cheats, Up:The Patches

3.5 Increased Number of Vehicles


morevehicles, -x

In many games, it is easy to reach the maximum number of vehicles at 850. And 160 of these are reserved for other animated objects and steam or smoke plumes, so that the remaining 690 vehicles have to be shared by all human and computer players. And planes even count twice, because they carry both passengers and mail. (Helicopters count as three vehicles, because their rotor is also a vehicle...) This means that it is easy to run out of vehicles in games with many opponents.

This switch enables you to increase that maximum number, to more than 40,000 if you like. If you consider that there are only 65,536 squares in the map, it's obvious that this is more than enough. Vehicle memory is allocated in blocks of 850, and you specify the number of these blocks as a parameter to morevehicles. For example, morevehicles 2 allows you to have 2 times 690 vehicles, or 1380 vehicles, plus 320 reserved vehicles. Giving a factor of "1" is the same as not specifying this switch at all, and the maximum factor you can give is 40.

It is usually best to leave this switch set to a value as small as possible. Don't set it to 40 right away! Only increase the factor when you actually run out of vehicles. The reason for this is that this switch is not easily reversible, as opposed to all the other switches, and it will also slow down the game significantly if you use factors larger than 10.

Once a game has been saved with this switch set to a particular number, it should only be loaded with this switch set to the same (or a higher) number. Games saved with an increased number of vehicles will also get a slightly different filename. Normally, your savegames are of the form TRT00.SV1, with morevehicles set they will instead be TRP00.SV1. This will prevent them from being loaded by plain, unpatched TTD which would crash anyway.

It is always possible to load a smaller number of vehicles, so your old savegames can still be loaded. The program will simply fill the array with unused slots.

However, if you load a game that had the morevehicles swtich set to a larger number than it is set to now, the patch may have to remove some vehicles in order to load the game. In that case, you will get a warning message that tells you how many vehicles had to be removed. The game will be paused immediately, so that you have a chance to check the game for missing vehicles before resuming to play.

Note that if any special objects or special vehicles were removed, you must check your game, whether it had a zeppelin crashed on an airport, or a UFO landed and waiting for a military plane or helicopter. In that case, the zeppelin or the military vehicles may have been removed, which leaves your airport blocked forever, and the UFO will never get shot down. Otherwise, the removal of special objects is generally safe, and means you will lose some steam plumes, diesel smokes or electric sparks, as well as the steam coming out of some power plants. In that case, you might want to remove and replace the power plant in the scenario editor.

All in all, this switch is pretty powerful, but also somewhat tricky to use. Experiment at your own risk, and keep backup copies of the original games if they are important to you.


Node:New Curve and Mountain Handling, Next:, Previous:Increased Number of Vehicles, Up:The Patches

3.6 New Curve and Mountain Handling


curves, -c

mountains, -m

TTD does not take into account the differences in the various train technologies. For example, the real Maglev trains do not have the same problems in curves and on hills as the traditional trains do; they can have a much smaller curve radius or pass the same curve at a much higher speed. When travelling across hills, they can have more power than on flat land, so that their speed decrease is often negligible. This is why I created this switch to correct that. In fact, this is why I started making TTDPatch, because otherwise you need too many bridges and tunnels and other normally unnecessary stuff to create an efficient network.

It also circumvents another bug, namely that there can be no signals inside tunnels. This makes larger tunnels rather useless, because it interrupts the flow of trains that have to wait until a train has completely left a tunnel. Thus, one has to either level the mountain (if there's no way around) which is ugly and costly, or lay the tracks on top of the mountain, which considerably slows down the trains as well. Until now that is, because now you can set it so that trains have no disadvantage when going over the mountain.

This switch also allows you to enable realistic acceleration of trains. Regular TTD uses a constant acceleration of trains, which is not realistic. In reality, acceleration of trains decreases with their speed. This switch can make trains use a more realistic model of acceleration. For more info on how it works, please see Realistic Acceleration.

The mountain and curve switches allow to select which type of trains will use a higher speed on mountains and in curves, and which ones use realistic acceleration. There are two steps of acceleration; the first one being simply higher speed and the second one doesn't slow down the train at all. This can be especially useful if you have many "clover-leaf" type crossings, where you have to have a few bridges.

The argument to mountain and curve is a four-digit number, one digit for each of the four land-based vehicle types: railroad, monorail, maglev and road vehicles. For each, you specify one digit from 0 to 3 with the following meanings:

For example, you might specify mountains 3320, which means: railroad and monorail are realistic (3), maglev is "full speed" (2) and road vehicles are normal (0).

If the electrifiedrailway switch is on (see Electrified Railways), the meaning of the argument slightly changes: the second digit controls electrified railroad instead of monorail, and the third digit controls the combined monorail/maglev system.

For curves, setting 3 ("realistic") is implemented by limiting the speed of trains in a curve. It's slower the more curving segments the train is on currently. For road vehicles, the speed is limited to 75% of the top speed.

Note that if you're using realistic train acceleration, it is possible to make a train that is too heavy. If the engine is not powerful enough to overcome the initial friction, the train will not be able to leave the depot. What's even worse is that the engine may be powerful enough for an empty train, but as soon as the train is full, the increased weight may mean that it'll be unable to leave the station.

In addition, it may happen that a train gets stuck on a mountain, again because the engine is not powerful to pull the train's weight uphill. If this happens, you will either have to remove some waggons, or add more heads to the train using the multihead feature. Note that if the engine is too weak to move the train at all, it will still be able to move exceptionally slowly. This will allow you to send it to a depot to rearrange the train even if it really shouldn't be able to move at all.

Finally, note that realistic acceleration assumes trains propelled by wheels. That means it's not appropriate for maglev systems, for which you should use either the "faster" or "fastest" settings.


Node:More consists, Next:, Previous:New Curve and Mountain Handling, Up:The Patches

3.7 More consists


planes, -p

roadvehs, -r

ships, -b

trains, -t

The total number of trains and road vehicles allowed per company in one game is arbitrarily limited to 80, ships to 50 and planes to 40. These limits are "soft" limits, meaning that they are enforced by counting the trains and making sure you don't have too many. The "hard" limit is 255-15=240, which cannot be exceeded because of the way consists are numbered. The soft limit is probably only there for performance reasons, or maybe a silly design decision.

With this switch, each company can have up to 240 trains, planes, ships and road vehicles of its own.

Note that the total number of schedule orders is not increased, nor is the total number of customised consist names. There can in total only be 5000 orders, which in the default configuration translates to 20 orders per consist. However, if you set all limits to 240, you can on average only have about 5 orders per consist, including the "End of orders" markers. An individual consist can have up to 25, but then some have to have less than 5. The game will not allow to have more, so that you might run out of orders instead of trains.

The same limit applies to the consist names, but it is not as important, unless you can't live without your trains all having their own name. The maximum total number of custom strings is 500; this includes manager's name, company name, custom vehicle type names, signs etc.

This switch is reversible, and only applies to new vehicles. If you turn it off while you have 150 trains, you will still be able to keep those, but you won't be able to buy any new ones.

Note that on the command line you can specify the values for all switches at once using -trpb 240 for example.


Node:Larger Station Spread, Next:, Previous:More consists, Up:The Patches

3.8 Larger Station Spread


spread, -e

Use this to get rid of that pesky "Station too spread out" message. Usually the maximum distance between any part of a station is 11 squares, which can be too small if you try to combine a large airport with a large train station (especially an extended one). A more useful number is 20 for example, and the upper limit is 255, which is the size of the world, to make it work just like in the original TT.

This also makes it possible to have several detached station facilities, by "walking" them away from the main terminal. For example, you could build a train station, and attach a bus station. Then, you attach a truck loading bay to the bus station, away from the train station. When you now remove the bus station, your station will be in two separate pieces. The next step is to place the bus station on the opposite side of the truck loading bay, and repeat this process for as long as you like. Then, you can build an airport that belongs to the same station as the train terminal, but is in fact many squares away from it.


Node:Longer Stations/More Platforms, Next:, Previous:Larger Station Spread, Up:The Patches

3.9 Longer Stations/More Platforms


largestations, -l

When you use this, you don't have to bulldoze stations anymore to add extra tracks. Just select the same platform length, move your cursor with the new platforms next to the old station, and place them. That way you can even get up to 7 platforms.

The length can also be increased, to up to 7 squares length, using the same process, but choose the same number of platforms and the additional length, to get platforms up to 7 squares long.

Note that you should also turn on the Enhanced Graphical User Interface feature to be able to directly select longer and more platforms. Without the enhanced GUI, you can have a full size station of 7x7 squares by holding down the Ctrl key when clicking on the number of platforms or their length. Note that it looks like the wrong button has been pressed, but that's because larger numbers can't be displayed without the enhanced GUI. Simply look at the station's footprint before you place it to make sure that it is the desired size.

Because the added parts will look as if they were placed alone, the station design is now up to you. You can have a two-platform station that looks like two one-platform stations, or alternate roofed and non-roofed sections, if you like that. Just alternate between adding 1 and 2 platforms to the station to get this.

And most importantly, this allows you to have different kinds of trains in one station. Just add a platform of a different type to have railroad, monorail and maglev platforms in a single station.

Note that if either the platform length is different, or the total number of tracks would be greater than 7, or the position doesn't match then you will see the old message "Too close to train station", not a more appropriate message.


Node:New load/unload time calculation, Next:, Previous:Longer Stations/More Platforms, Up:The Patches

3.10 New load/unload time calculation


loadtime, -q

(Note that this switch has been mostly superceded by the gradual loading feature, see Gradual Loading.)

In the original algorithm used to calculate how much time a trains spends in getting loaded/unloaded, there are two major bugs.

First, while loading time depends only on the amount of cargo, unloading depends on the type of cargo as well. Passengers will be unloaded instantly, while valuables will take forever. This does not make sense, it must be a bug.

Second, this time is multiplied by the number of cars sticking out of the station. If there are four cars sticking out, you'd have to wait five times as long, which doesn't make any sense either.

In this improved calculation, unloading time is again based on the amount of cargo and takes the same time as loading it. The bigger change though, is that the program assumes that for example a length four station can serve up to eight cars at the same time. This would mean that the time it takes to load/unload two cars is the same as for four or eight cars. This makes sense, because why would you want to build a large station if it can't effectively handle more than one car at the same time?

Also, the problem with cars sticking out is alleviated in two ways. The reasonable assumption behind them is the following: the train enters the station and gets as many cars loaded/unloaded as possible in one go. The engine will in most cases not be a part of this and can be ignored because it doesn't carry any cargo. If not all cars were able to fit in the station, the train will move the next set of cars in and have those unloaded. This will continue until the train is done.

A short summary:

To make it even clearer, here is a list for a length three station which can handle up to six cars at the same time. The engine is assumed not to be a cargo-carrying engine:

Train length Load/unload time (arbitrary units)
Eng.+1 car 1
Eng.+5 cars 1
Eng.+6 cars 1
Eng.+7 cars 2
Eng.+11 cars 2
Eng.+12 cars 2
Eng.+13 cars 3
Eng.+18 cars 3
Eng.+19 cars 4
and so on...

I find this to be a very reasonable calculation that makes sense and is realistic. If you don't, then you can always turn it off.

The unit time depends only on the average amount of cargo in each car. For example, if all cars are only half full (on average), it will only take half as much time.

However, the time it takes now for one single car is longer than previously. This switch was not meant to speed up loading/unloading but rather make it more sensible. "1" load time here is approximately the time it previously took to load six to eight cars.


Node:Mammoth Trains, Next:, Previous:New load/unload time calculation, Up:The Patches

3.11 Mammoth Trains


mammothtrains, -z

If you use this switch, there is no real limit to how many cars your trains can have. Well, there is a limit, but 127 cars is just so much that it won't matter. Really. Trust me. Especially since it would take ages to buy such a train...

This is meant to be able to fully use length five (or seven) stations with the above switch. Now you can have a double-headed engine and ten cars and still load it without penalty. If you intend to buy really long trains, you should really enable the improved load time calculation or the train will be in the station forever.

You will still only see a limited number of cars in the depot. With enhancegui (Enhanced Graphical User Interface) you'll see 14 or 18 wagons and engines, depending on the setting. Without enhancegui, you'll see ten wagons as usual. This means that if you want to rearrange your train, you'll have to work in reverse, adding cars at the front of the trains.

The depot also behaves slightly different, because when a new train only used to attach at most nine cars to it, now it will take all that are available (up to 127). This means that you shouldn't try to upgrade two trains at the same time, because one of them might get all the cars which could cause a headache.

Another thing is that this can make the layout process of a station very challenging. Even though you may not get a penalty (or at least not as much) for a bit of train sticking out of the station, the cars will still be there and block tracks and cause signals to remain red. If you don't leave enough space at the entrance of a station, there will be a major traffic jam.

And, most importantly, if you have a really long train, try not to make it go atop any mountains. Although, surprisingly, even a fully loaded 126 car train, at a total weight of around 7000 tons, made it. It was only moving with a few MPH, but it's still amazing (and not very realistic) that it made it eventually. However, if you're using realistic train acceleration, it is possible to make a train that is too heavy and will take ages to move (see New Curve and Mountain Handling).

So, I suggest you don't go over about 20 cars or so, except maybe for a bit of fun. You can even make a train go through itself without crashing...


Node:Pre-signals, Next:, Previous:Mammoth Trains, Up:The Patches

3.12 Pre-signals


presignals, -w

extpresignals, -Xw

These switches introduce a new type of signal to TTD, the "pre-signal." This signal is in some sense similar to an advance signal, but it's not quite the same. For a detailed description of how pre-signals work and in what cases they are useful, please see Pre-signals (detailed).

Note that you need to load signals.grf to be able to distinguish pre-signals from regular signals. See New Graphics for more details.

The idea of pre-signals is quite simple: a pre-signal shows a green light if, and only if, one of the exit signals from the block behind it shows a green light. This means that trains will only enter the pre-signal block if there is a green exit. As a result, the block will only be entered for short times and trains will leave it immediately, allowing for a very efficient layout. This is particularly useful for station entrances, but can also be applied in other cases.

The presignals switch activates automatic pre-signal configurations. Using this options, your signals will be converted to pre-signals and pre-signal exits whenever a train enters a block that qualifies as an automatic pre-signal block. For a definition of what this needs to look like, please see Pre-signals (detailed). Whenever you modify the block (i.e. add rails, remove them, etc.), the automatic signals will revert to regular signals. Note that in no case will your manual settings (see below) be modified.

With extpresignals, you will be able to manually modify each signal, and force it to be either a pre-signal or a plain signal, no matter whether it is in a valid automatic pre-signal block. The way to change them is the same as switching between one-way and two-way signals, but you hold down the Ctrl key while doing so. That is, you select the "buy signal" option from the railway menu, press the Ctrl key, and click on the signal you want to change. Its appearance should change as a result, and you can verify the setting by using the query tool.

You can also remove your manual selection by choosing "buy signal" and the bulldozer, and then clicking on the signal while holding Ctrl. In other words, you do as if you would remove a signal from the track, but with the Ctrl key pressed.

You can also specify both options, in which case you will get automatic signals but can override them using the manual selection.

Please read Pre-signals (detailed) for a more detailed description of how pre-signals work and what types of setups are useful.


Node:Turn off inflation, Next:, Previous:Pre-signals, Up:The Patches

3.13 Turn off inflation


noinflation, -I

This switch turns off inflation. However, it only works from the point it was turned on into the future, and doesn't undo any previous inflation. Prices stay at their current amount, but they won't increase anymore. This affects everything, income, purchases and maintenance/running costs, and for all players too.

Use this if you frequently have too much money, because without inflation you'll get much less money.

Note that you still pay the same amount of interest, so now interest is much more important than if inflation is turned on.


Node:Faster Debt Management, Next:, Previous:Turn off inflation, Up:The Patches

3.14 Faster Debt Management


debtmax, -L

When borrowing or repaying a loan, you can hold down the Ctrl key to borrow/repay the maximum amount possible, as opposed to having to click the button 1001 times. This is only limited by the amount of cash you have or the maximum loan possible.


Node:Persistent Engines, Next:, Previous:Faster Debt Management, Up:The Patches

3.15 Persistent Engines


enginespersist, -P

There are some problems with engines becoming obsolete. For example, there are no more helicopters available after about 2030 so heliports become obsolete too, or you might want to have a particular engine even though there are newer ones, maybe because it is relatively cheap but sufficient for a certain purpose.

Or perhaps you want to be able to buy steam engines in 2000, which would cruise along scenic mountain ranges... (thanks to Wolfgang Preiss for that idea!)

What this patch does is not to let any engines in use become obsolete. Any engine that exists in the game can always be purchased. With this and Cht: Year, you can basically continue a savegame playing forever.

Also, the reliability remains at the peak, with the reasonable assumption that if you still have it, you'll also have some engineers who know how to repair it, right? An engine doesn't just get less reliable because it has been designed a hundred years ago. It might not be up to par in all the specifications, but why should it suddenly start to deteriorate even if you just bought it?

Only after the last of its kind have been sold will it start to deteriorate, and eventually disappear, because nobody knows how to build and properly repair them anymore. If you really want to hang on to some engine, make sure you always have one in stock, maybe in a depot somewhere. It just needs to exist, it doesn't have to run at all.

This patch will also re-enable the purchases of engines that you still have but can't buy anymore.


Node:Full load for any type of cargo, Next:, Previous:Persistent Engines, Up:The Patches

3.16 Full load for any type of cargo


fullloadany, -F

Basically fixing the same problem as the train refit option does, this makes full load behave a bit differently. Instead of waiting for every car to be full, now if there's any type of cargo that's full will mean that the train leaves the station.

So, if you have a train that transports passengers, mail and valuables, you can set it to full load and it will leave when any of those reach their maximum capacities. This also works for planes, so that they leave when either mail or passenger compartments are full.

However, it is no longer possible to enforce a complete full load for mixed cargo trains.


Node:Selectable station cargo, Next:, Previous:Full load for any type of cargo, Up:The Patches

3.17 Selectable station cargo


selectgoods, -G

Sometimes you may want to build two stations at a busy factory, one for deliveries of steel etc. and one to pick up the goods. The problem is that normally goods will appear at both of the stations, making this setup rather useless.

With this patch, no goods will appear until a carrier for that particular type of cargo has arrived.

Think of the factory manager being very mistrusting. He won't send any cargo to your station until he's sure it'll be picked up, because he's afraid that it might spoil. This means that you have to prove your capabilities by showing him your carrier.

So, if you just make sure that no goods trains ever enter your delivery station, you'll never see any goods there, and you won't get bad ratings for not picking them up. This is easier to do with the new non-stop handling, because that way no train will stop at the station if it isn't on the schedule. On the other hand, the pickup station will only ever see goods, even if there's a coal mine nearby, which might have its own station.

However, if only a single train tries to pick up goods at the delivery, or coal at the goods station, they'll continue to appear forever, so be careful. The only way to reset this is by using the Cht: ResetStation cheat.


Node:Office towers accept food, Next:, Previous:Selectable station cargo, Up:The Patches

3.18 Office towers accept food


officefood, -O

In the tropic and arctic climates, the office towers by default accept passengers, mail and goods. This sometimes prevents a city from growing further, because it doesn't accept food at all.

With this switch, all the office towers accept an amount of food that is calculated by (passengers+goods)/4, rounded down. So an office tower accepting 4/8 passengers and 1/8 goods would accept 1/8 food too.

Note that this doesn't show up in the query tool, but it is taken into account when determining what a station will accept.


Node:Extra Dynamite, Next:, Previous:Office towers accept food, Up:The Patches

3.19 Extra Dynamite


extradynamite, -D

This switch makes your dynamite more powerful. With it, you can remove more things from the map:

The "forbidden" roads are the ones that connect to more than one other piece of road, i.e. the middle piece in a longer street or intersections. You can also remove city bridges as well as bridges and tunnels owned by nobody else.

You can remove the forbidden roads if your rating is at least "mediocre", otherwise the city will refuse to let you bring dynamite anywhere near the roads.

Of course, going against the local authorities' wishes does not exactly endear you to them. In fact, your rating will go down by an amount equivalent to the removal of a few trees if you destroy a road that is not an end piece, and by even more if you destroy a city bridge. So you should only do this if you must, and try to remove as few forbidden roads as possible by carefully planning ahead what you want to tear down.


Node:Keep Small Airports, Next:, Previous:Extra Dynamite, Up:The Patches

3.20 Keep Small Airports


keepsmallairport, -k

With this option, you can always build small airports, even if you don't have any planes that can land there anymore. But at least helicopters can land safely, and it can hold more helicopters than a heliport, as well as being able to service them in the hangar.

Computer players do not get this benefit, because they aren't smart enough to use it properly. They'd build large planes and try to land them on small airports, causing an untold number of crashes. This option only applies to human players.

Note: In versions of TTDPatch earlier than 2.0 this option affected computer players as well as human players. In the games saved with those versions, computer players will retain the ability to build small airports after 1960 until the end of a month, or forever if the year is already 2050 or later.


Node:Long Bridges, Next:, Previous:Keep Small Airports, Up:The Patches

3.21 Long Bridges


longbridges, -B

With this switch, it is possible to build bridges up to 127 squares long. At a steep price of course. This is possible for all bridges that could previously be built with a maximum length of 20. These are the wooden bridges, steel suspension bridges and the tubular steel bridge. The other bridges aren't extensible and keep their maximum length.


Node:AI Boost, Next:, Previous:Long Bridges, Up:The Patches

3.22 AI Boost


aiboost, -A

This switch is deprecated, and does not work as intended. Do not use it.

With this switch it is possible to try and make the AI (`artificial intelligence', i.e. computer players) slightly more intelligent. However it is currently of limited use, and large values (greater 5 or so) can make the game very sluggish, or in fact even stop it completely. Don't activate this unless you know that it can lock up the game.

This works by modifying the so-called "recursion factor" in the game. This determines how far ahead a computer tries to look. However, the time spent doing this increases exponentially with that factor, and that's why you should be very cautious in increasing it.

If a too large value is selected, it may easily happen that the computer stops responding, because a route evaluation is suddenly taking several hours when normally it would be done in a few milliseconds. And since these evaluations happen frequently, even reasonably small increases are noticeable in small, but frequent pauses.

This switch is more of an experiment than it is useful, since any reasonable changes doesn't seem to affect the computers' stupidity, they still build they same brain-damaged routes no matter what you try. So, feel free to play with this switch, but don't expect any large effects to happen.


Node:Multi-headed Engines, Next:, Previous:AI Boost, Up:The Patches

3.23 Multi-headed Engines


multihead, -M

This switch makes it possible to add extra engines to a train. This can be especially useful in the early game, or in mountainous terrain. The extra engines increase the total power available to accelerate the train, but of course they also add weight. This means that extra engines only make sense if they weigh much less than the total weight of the train, otherwise they are a waste of money.

Another small benefit of additional engines is that they increase the maximum speed slightly, because there is some excess power available to accelerate the train to a higher speed. The first additional engine adds 20%, the next one 10%, and a third extra engines add another 5%. After that adding more engines will not increase the speed any more. The amount of this increase (in percent) is an option to the switch, the default is 35% in total. If you want the game to be more realistic, you should probably disable the speed increase using multihead 0. Otherwise, the parameter can be anything between 0 and 100, in which case the additional engines add 4/7, 2/7 and 1/7 of that amount, respectively.

Now the big question is, how do you buy these additional engines? Here, the answer is once more the magic Ctrl key. Simply open a depot with a train in it, and select the engine to buy. Now, before you click on the "Purchase" button, hold down the Ctrl key, then click the button. This creates a new engine that behaves sort of like a carriage, in that you can place it anywhere on the train. If you have the train info window open, you can see how the train power and speed changes if you add or remove engines.

A slight complication arises for the engines that normally come with two heads, like the Asiastar for example. In this case, when you buy an engine, you'll only buy a single one and not both. Then, using the Ctrl key, you can buy a second or even a third engine. Note that the maximum speed given in the purchase window is the one for a dual-engine train. This means that if you only buy one engine of the Asiastar, it will actually be slower than what is stated in the window. Only adding a second Asiastar engine will raise the maximum speed to the normal value.

The Ctrl key also has another function. It selects which way an engine faces. If you move an engine around in the depot while holding down Ctrl, it will face one way. If you move it without holding Ctrl, it will face the other way.

In multiplayer games, the Ctrl key doesn't work. Here, you buy additional heads if there is already an engine in the depot. This means that the first engine you buy is a regular one, all other engines are additional heads. You can therefore only have one train in a depot when buying engines, and to buy a new train, you must not have another train in the depot..


Node:Road Vehicle Queueing, Next:, Previous:Multi-headed Engines, Up:The Patches

3.24 Road Vehicle Queueing


rvqueueing, -R

Have you ever wondering why these stupid truck drivers just turn around when they arrive at a busy station? Why don't they just wait till it's their turn?

In order to fix this behaviour, simply enable this switch. Now trucks (and buses) will wait at the entrance of the station, and enter the station as soon as a loading bay is available. This has two advantages. First, it means that the trucks don't go and run around in loops. Second, it makes a station much more orderly, and actually reduces the amount of traffic jams that occur at a station's entrance. This will also help you gauge how many trucks you need on a certain route. If too many trucks are waiting at a station, that means that you should remove some from this route.

One problem with this is that vehicles may still "stack up" if they wait too long, making several vehicles occupy a single piece of the road. This might cause a traffic jam, and will also mess up the order in which they arrive at the station. To avoid this, make sure that you don't send too many vehicles to a loading loading bay or bus station.

This patch was contributed by Marcin Grzegorczyk.


Node:Low Memory Version, Next:, Previous:Road Vehicle Queueing, Up:The Patches

3.25 Low Memory Version


lowmemory, -Z

Using this option, it is now possible to run TTDPatch on computers that have as little as 4 MB of memory. Without it, TTDPatch needs at least 9 MB to run. The only disadvantage of this option is that it makes it impossible to load savegames with a larger vehicle factor than specified.

You have to try how large a vehicle factor you can get, depending on how much memory you have, and how many new graphics you are loading. If you run out of memory, the game will not start.

This option has no effect on the Windows version of TTDPatch.


Node:General Fixes, Next:, Previous:Low Memory Version, Up:The Patches

3.26 General Fixes


generalfixes, -g

This setting is a combination of many small patches. They are combined because there is only a limited supply of command line letters, so that things that are unlikely to be turned off by anyone are all included in this option.

Here's what this option fixes in the current version of TTDPatch:

Fixes contributed by Marcin Grzegorczyk:

Fixes contributed by Norman Rasmussen:

Fixes contributed by Csaba Varga:

Fixes done by Josef Drexler himself:

(*) These specific fixes can be disabled with the miscmods switch, see Miscellaneous Modifications.

In the future, more fixes may join this category, but that's all for now (in case it's not enough for you).


Node:More Airports, Next:, Previous:General Fixes, Up:The Patches

3.27 More Airports


moreairports, -J

Normally, you can only build two airports within a city's area of influence. Lobbying by powerful Transport Tycoons has led the politicians to allow this option, though. However, the population is still upset by all the noise so you cannot build an unlimited number of airports, even with this option.

So how many can you build then? The basic idea is the concept of "noise units". In total, you are allowed to have up to nine noise units per city. And here's how many noise units the different types of airports use up:

Type Noise units Maximum number per city
Small airport 2 4
Large airport 3 3
Heliport 1 9

Of course you can also combine the types, and just add up the noise units. For example, you can now build one large airport, two small ones, and still two heliports, because that adds up to exactly nine noise units.


Node:Plane Crash Control, Next:, Previous:More Airports, Up:The Patches

3.28 Plane Crash Control


planecrashcontrol, -Xc

Using this switch you can determine under what circumstances planes may crash, as well as the probability of this happening.

The switch is a bit switch. To find out how that works, see Bit Switches, or simply add up the values of the options you want:

Bit Value Effect
0 1 Normal plane crashes are turned off if disasters are turned off in the Difficulty Settings window in TTD. This does not affect crashes that occur when a jet plane tries to land on a small airport -- i.e. those crashes are not "normal".
1 2 Jet planes landing on small airports don't crash if disasters are turned off.
2 4 Normal plane crashes occur only when a plane lands after a breakdown, but then they are four times more likely than normally. If this option is specified together with the next one, it affects all plane crashes, not just normal ones.
3 8 Jets landing on small airports have the normal crash probability.
4 16 All normal plane crashes are turned off, regardless of other settings.
5 32 Jets landing on small airports never crash, regardless of other settings.

For example, with planecrashcontrol 5 normal plane crashes occur only when a plane is broken down, and only if disasters are turned on; planecrashcontrol 48 disables plane crashes altogether.

With this switch turned off, the normal crash probability is about 1 in 1500; for jet planes landing on small airports, the probability of a crash is 1 in 20.

(This patch provided by Marcin Grzegorczyk.)


Node:Bribe Option, Next:, Previous:Plane Crash Control, Up:The Patches

3.29 Bribe Option


bribe, -Xb

This switch adds a bribe option to the local authority menu. Using this option will increase your local authority rating by one level, unless the rating is very appalling, in which case it might take several bribes. There is a 7% chance of getting caught by a regional investigator, which will reduce the rating to "poor", and bar you from interacting with the local authority for six months.

The cost of the bribe depends on various factors. If you have lots of cash, it will be more expensive, as it will be for a larger city. However, if you already provide a good service to the citizens by transporting lots of passengers and mail, the cost of the bribe will be reduced.

Using this option causes extended town data to be collected; see More Town Statistics for more information.


Node:Show Vehicle Speed, Next:, Previous:Bribe Option, Up:The Patches

3.30 Show Vehicle Speed


showspeed, -Xs

With this switch, the vehicle window will show the current speed in the status bar. This is not really useful, but it is nice for comparing two engines with respect to power and maximum speed. For example, if you have a hilly terrain, this might help you choose between an engine with a high speed but low power, and one with a lower speed but more power.


Node:Autorenewal of old vehicles, Next:, Previous:Show Vehicle Speed, Up:The Patches

3.31 Autorenewal of old vehicles


autorenew, -Xa

forceautorenew, -XA

Using the switch "autorenew", all vehicles will be automatically renewed the given number of months before (or after) they reach the maximum age. Note that they will be replaced by an identical vehicle, it is not (yet?) possible to change the engine type. Vehicles with an obsolete engine will not be renewed.

Normally, with "autorenew", the vehicles will be renewed at the next service, or whenever they enter a depot. If you also enable "forceautorenew", they will be sent to a depot and renewed immediately, as soon as they are too old. Setting "autorenew" without "forceautorenew" will not work properly if you are also using the new service intervals, in which case a vehicle will never go to the service where it would be renewed.

The value given with either of these switches determines the number of months after the maximum age when they are renewed. This value can be negative, in which case vehicles will be renewed before they reach the maximum age. Since you get the first warning of a vehicle getting old a year before it reaches the maximum age, you have the following options for the value of this switch:

The default value is -6, which means that after the first warning, you have half a year to manually replace the vehicle, otherwise it will be renewed with the same vehicle type. If you do get the second warning, it means that something is going wrong: the vehicle could not be renewed and you should pay more attention to it.

The way this renewal works is that when it is time to renew a vehicle, and if you have enough money to actually do the renewal, it will start looking for a depot, as if it were going for a standard maintenance. However, in addition to the maintenance, the vehicle (actually, the entire consist) is also renewed automatically, and the cost is deducted from your account. Afterwards, the vehicle continues its regular schedule, it even keeps the cargo if it had any.


Node:Rebuild ttdpatch.ovl on every run, Next:, Previous:Autorenewal of old vehicles, Up:The Patches

3.32 Rebuild ttdpatch.ovl on every run


forcerebuildovl, -Xr

This option causes TTDPatch to always rebuild the ttdpatch.ovl file from scratch, even if it is already valid. This is useful if you modify the TTD executable regularly, for example using TTD Alter (see Other Tools). With this option, the changes will be integrated into the version that TTDPatch uses, without the need for a batch file to clear ttdpatch.ovl or manually deleting it.


Node:Windows 2000/XP compatibility, Next:, Previous:Rebuild ttdpatch.ovl on every run, Up:The Patches

3.33 Windows 2000/XP compatibility


win2k, -2

This switch applies some patches that make the Windows version of TTD compatible with Windows 2000/XP. It was contributed by Norman Rasmussen.

With this switch turned on, you simply run TTDPatch under Windows 2000 or XP, and it should work. You may have to delete the ttdpatchw.ovl file if you tried to run an earlier version of TTDPatch.

To play on Windows 2003, you need to turn on this switch, and copy the file dplay.dll to dplayx.dll, or get a copy of dplayx.dll. Search for this file on your computer if you don't know where it is.

Additionally, this switch enables the use of dxmci.dll, a DLL that changes TTD's music routines to use DirectMusic, instead of the outdated MCI functions. To use it, simply install dxmci.dll (available from the TTDPatch tools page) in your TTD folder, and turn on the win2k switch. Now TTD will use DirectMusic to play its music. This may make the music sound slightly differently than what you are used to, because DirectMusic will use its own instrument definitions for the MIDI music.

Note that some computers running Windows 98 experience a crash when exiting TTD, if dxmci.dll is used. The cause of this crash is not clear, nor does anyone know how to fix it. It is benign however, aside from writing a crash log (crash###.txt) every time you quit TTD.


Node:Load Entry in the Disk Menu, Next:, Previous:Windows 2000/XP compatibility, Up:The Patches

3.34 Load Entry in the Disk Menu


diskmenu, -Xm

This switch will change the gray bar in TTD's disk menu to show a "load game" entry. This way, you don't have to quit the current game to be able to load a new game.

It also changes the scenario editor to show a "load game" option in the disk menu as well. In addition, this entry will change to "save game" when you hold down the Ctrl key. This way, you can load a savegame in the editor, make some changes, and save it back as a savegame. Note that there are some