
  TTDPatch - The Transport Tycoon Deluxe Patch
================================================

Table of Contents
*****************


1 Introduction
  1.1 Basic Idea
  1.2 Copyright and Copying
  1.3 Cheat Disclaimer
  1.4 Version History
  1.5 Other Languages

2 Usage
  2.1 Where to get it
  2.2 Installation
  2.3 Upgrading to a newer version
  2.4 Running it
  2.5 Windows Version
  2.6 Language Selection
  2.7 Configuration
  2.8 Command Line
  2.9 Patch Summary
  2.10 Multiplayer Games

3 The Patches
  3.1 Train Refitting
  3.2 New Default Service Interval
  3.3 New Non-stop Handling
  3.4 Sign Cheats
  3.5 Increased Number of Vehicles
  3.6 New Curve and Mountain Handling
  3.7 More Trains etc.
  3.8 Larger Station Spread
  3.9 Longer Stations/More Platforms
  3.10 New load/unload time calculation
  3.11 Mammoth Trains
  3.12 Pre-signals for Stations
  3.13 Turn off inflation
  3.14 Faster Debt Management
  3.15 Persistent Engines
  3.16 Full load for any type of cargo
  3.17 Selectable station goods
  3.18 Office towers accept food
  3.19 Extra Dynamite
  3.20 Keep Small Airports
  3.21 Long Bridges
  3.22 AI Boost
  3.23 Multi-headed Engines
  3.24 Road Vehicle Queueing
  3.25 Low Memory Version
  3.26 General Fixes
  3.27 More Airports

4 Troubleshooting
  4.1 Version Trouble
  4.2 Need more help?
  4.3 Error Messages

5 Other Stuff
  5.1 Contact Information
  5.2 Future Plans
  5.3 Impossible Changes
  5.4 Other Tools
  5.5 Real Maglevs
  5.6 Acknowledgements
  5.7 Closing Words


1 Introduction
**************

1.1 Basic Idea
==============

   You may or may not have heard about TTDPatch already, about that
fabled program which can completely redefine Transport Tycoon Deluxe.
You may have used other cheat programs, and think, "Why bother?  If
I've seen one, I've seen them all."

Well, I disagree.  TTDPatch is quite definitely something else.  Just
have a look at what it can do:

More, Better, Larger
     Ever be 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 of length 7, or even mammoth
     trains with up to 126 carriages.

Pre-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.

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 turn off the effects of curves and
     mountains, and much, much more.  Why do you think this
     documentation is so huge?

   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.

1.2 Copyright and Copying
=========================

   This program and the accompanying documentation are Copyright (C)
1999-2001 by Josef Drexler.  You are allowed to redistribute it,
provided that all the files in the original archive are distributed
together and no changes are made to any file in the distribution.  You
can't charge for the program, only for distributing it.  You have to
clearly identify me (Josef Drexler) as the author.

   Please understand that I am in no way affiliated with Microprose or
Chris Sawyer, so please don't contact their support with problems or
questions about this program.  Read section 5.1 to find
out what to do if you need help with this program.

   TTDPatch is distributed under the terms of the GNU general public
license (GPL).  For more information please read the GNU GPL page
(http://www.fsf.org/copyleft/).  A copy of the license should have come
with the program in the file `COPYING', if not please read the license
(http://www.fsf.org/copyleft/gpl.html).

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.

The same things in English:
   * I own it.  It's mine.  Muahahaha!  (But I let you use it too.)

   * I can't guarantee that it works, or that it works correctly.

   * If it breaks, it's your fault.  But you do get to keep both pieces.

   * If it breaks something else, it's your fault too.

   * If you copy it, don't claim that you've made it yourself, or
     change it in any way; and copy both program and documentation.

   * You are free to offer the program on your web page.  All I ask for
     is that you give a link back to mine, and that you state that the
     program was made by Josef Drexler.

   * Don't complain to Microprose about any of this.  They can't help
     you.

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.

1.4 Version History
===================

Version  Date      Changes
V1.7     02/24/01  TTDPatch supports the Windows version of TTD
                   Trains with additional engines for more power
                   TTDPatch can swap out and leave more memory to TTD
                   A low memory version that only needs 2.5 MB
                   Road vehicles queue up at the station
                   `Cht: resetstation'
                   More airports allowed per city
                   Many, many bug fixes
                   Now patching `ttdload.ovl', not `ttdload.exe'
                   TTDPatch is now distributed under the terms of the GPL
V1.6     07/15/00  Several bug fixes in the cfg file, etc.
                   Keep small airports around
                   Fixed eternal servicing after 2055
                   Build 7x7 station with `Ctrl'
                   Longer bridges, up to half the map length
                   Multiplayer: Cheats only affect player placing signs
                   Bulldoze all city roads
                   Boost AI, set recursion factor
                   `Cht: AllNonStop' and `Cht: NoNonStop'
                   `Cht: ServInt'
                   Automatic language selection and support for English,
                                 Dutch, French, German and Italian.
V1.5.1   10/16/99  Configuration file support
                   Convert source code to C
                   Convert docs to Texinfo
                   Framework for multiple language support
V1.5     09/04/99  Turn off inflation
                   Office towers in Tropic/Arctic accept food too
                   Longer stations (up to 7 squares)
                   Borrow/Repay maximum amount by holding `Ctrl' key
                   The default service interval is selectable
                   `Cht: DumpMemory' for saving uncompressed
                   Pre-signals no longer experimental
                   Persistent engines won't become obsolete if in use
                   Full load for any cargo type, not the whole train
                   Selectable station goods
                   Fixed `Cht: OwnCrossing' (I think...)
V1.4.3   08/16/99  This was just a bug fix beta version, no real release
                   Fixed `-trpb' and `-x', they were broken (except when
                   using `-a') since V1.4
V1.4.2   08/12/99  Three new versions supported: German, French and
                   Spanish
V1.4.1   07/31/99  `-w' switch for pre-signals now actually works   (no
                   need to use `-a' anymore)
V1.4     07/29/99  More multiplayer support (now also for `-l')
                   Improved algorithm to calculate load/unload times
                   Mammoth trains up to 127 cars
                   `Cht: Renew' and `Cht: Owncrossing'
                   Pre-signals supported but still experimental
                   All switches must be entered in lowercase letters
                   now, to allow for future switches.  Sorry for the
                   inconvenience but I'm running out of letters...
V1.3     07/16/99  Fixed "ghost train" bug
                   Added multiplayer support
V1.2     06/06/99  Enable CD-only version of TTD by passing the CD
                   drive parameter to TTDPatch
                   Stations extensible to up to 7 equal platforms
V1.1     06/03/99  Now also supports version V2.01.119 with a file size
                   of 496601 bytes.
V1.0     05/30/99  First version, supports TTD V2.01.119, with an
                   executable file size of 496543 bytes.

1.5 Other Languages
===================

   Currently, TTDPatch is available in a variety of languages.  To
choose a language, please refer to section 2.6.

   It is very easy to add more languages.  I just need people who are
willing to translate either the program texts and the documentation, or
both.

   For translating the program texts, simply go to the "beta" section
of the TTDPatch home page.  There, you will find a file called
`english.h', and this is what you need to translated.  Please change
only the test that is in double quotes, the comments should remain the
way they are, to make things easier for me.

   I'm using Texinfo (http://texinfo.org/) for the documentation, which
makes it possible to have only file that can easily be converted into a
pretty-print file (Postscript or PDF) as well as HTML for online
documentation and a nicely formatted plain text file.  If you want to
translate the documentation, it would help if you know Texinfo, but
it's pretty easy to figure out, so you shouldn't have a problem
translating it.

   If you have any questions about this or would like to help translate
it, please feel free to <email me at jdrexler@uwo.ca.>

2 Usage
*******

2.1 Where to get it
===================

   The newest version of TTDPatch should always be available from the
TTDPatch home page (http://publish.uwo.ca/~jdrexler/ttdpatch/).

If the page doesn't exist, it has probably moved.  That shouldn't
happen before at least the year 2004.  But even if or when it does, you
should still be able to find it in the Transport Tycoon Webring
(http://go.webring.yahoo.com/go?ring=ttweb&id=114&go).

   Because TTDPatch is distributed under the GPL, the source code is
available too.  Currently you can find it at
`http://joesbox.penguinpowered.com/ttdpatch/', but this is only a
temporary location and downloads might be a bit slow.  Please note that
I have not yet had the time to make sure that it compiles easily.  At
the moment it expects a very particular configuration and needs special
compilers and tools.  If you can't get it to compile, it might be best
to wait till I'm able to improve this situation.  Do feel free to
contact me about it, though.

2.2 Installation
================

   Simply uncompress the `zip' file into your TTD directory, this will
create three files: `ttdpatch.exe', `ttdpatch.txt' and `COPYING', the
executable, this documentation and the GPL license.  Afterwards, you
can delete the `zip' file again.

   To uncompress it, you can use Winzip (http://www.winzip.com/), the
Info-Zip (ftp://ftp.freesoftware.com/pub/infozip/) unzip program, PKZIP
or any other program that knows how to handle `zip' files.

   Note that TTDPatch does not change any files that are in your
directory.  You can write-protect `ttdx.exe' to be sure.  Instead, it
will copy the old executable (either `ttdx.exe' or `tycoon.exe') to
`ttdload.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.exe' is for running with the patch, and the
regular `ttdx.exe' or `tycoon.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.  For
more information please read section 3.5.

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

   This 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.

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.  The copying and patching will be omitted
after the first start, unless `ttdload.ovl' cannot be found.

   You now need to have 8MB 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 low memory option,
you can reduce this requirement to 2.5MB, at the expense of not being
able to have as many vehicles.

   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.

   And if you used to pass any parameters to the old executable, 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:.  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.

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'     `gamegfx.exe'
`ttdpatch.exe' `ttdpatchW.exe'
`ttdload.ovl'  `ttdloadW.ovl'

The configuration file is the same for both versions.

2.6 Language Selection
======================

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

   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.

2.7 Configuration
=================

   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_.

   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

Then the configuration file should be in the selected language (see
above section), and you can read and edit it easily.  It will also
automatically add options that were missing or misspelt in the original
file.

   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
     servint: 16000

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

   There are two kinds of switches, those that can only be on or off,
and those that can have a value.  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.  Just writing the switch
without any parameter will turn it on.

   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, which also happens if the given value is out of range.
You can turn a switch off by setting it to any of `off, no, n', but
not `0'.

2.8 Command Line
================

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

     TTDPatch [-C cfg-file] [switches] [CD Path] [-W cfg-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.

   The switches are starting with a `-' or `/', followed by the list of
switches.  All switches can have another `-' after them to turn them
off, and if there's a switch that takes values, the next option will be
used as that value.

   If you have given a CD Path, if will be passed to TTD and tell it
where it should go looking for the CD.

   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.

2.9 Patch Summary
=================

This is a list of all switches that can be set in the command line and
the configuration file.  First it gives the configuration file option,
then the corresponding command line switch, and a short description of
what the patch does.  For a more thorough description please see *Note
Patches::.

   The on/off switches are (configuration directive and command line
character):

`all, -a'
     All reversible switches; this turns everything on, except the
     larger vehicle array, because that is not easily reversible and
     thus has to be turned on separately.

`debtmax, -L'
     Borrow/repay maximum amount with `Ctrl'.  When you hold the `Ctrl'
     key down while borrowing or repaying a loan, the maximum amount
     possible will be borrowed or repaid.

`enginespersist, -P'
     Persistent engines.  Any engine type that is currently in use will
     not become obsolete, nor will it lose reliability.

`extradynamite, -D'
     With this switch you can remove more stuff than before.  In the
     current version this allows you to remove all city roads.

`fullloadany, -F'
     Full load for any cargo type.  When this is set, a train that is
     being loaded will be considered "full", if any type of cargo is
     full.  This means that a passenger/mail train will leave the
     station when either passengers or mail are full.  Planes work the
     same way.

`generalfixes, -g'
     This enables several small fixes that don't warrant getting their
     own switch. See section 3.26 for what exactly this does.

`keepsmallairport, -k'
     With this option, you can always build small airports, even if you
     don't have any planes that can land there anymore.

`largestations, -l'
     Allow station extensions and additional platforms.  This means that
     you can add platforms to an existing station, and even have up to 7
     equal platforms.  The length of a station can also be extended to
     up to 7 squares.

`loadtime, -q'
     Improved loading and unloading time calculation.

`longbridges, -B'
     With this switch, it is possible to build bridges up to 127
     squares long.  At a steep price of course.

`lowmemory, -Z'
     This enables the low memory version of TTDPatch which only needs
     2.5 MB.

`mammothtrains, -z'
     Mammoth trains.  Trains can have a total of 126 cars.

`moreairports, -J'
     This allows building more than two airports per city.

`multihead, -M'
     Multi-headed trains, allows trains to have additional engines,
     bought with `Ctrl'.

`noinflation, -I'
     Turn off inflation.  Prices and revenue will no longer increase.

`nonstop, -n'
     New non-stop handling.  This makes _all_ stops behave as if
     non-stop were set, and instead the trains will not stop at all at
     any stop where the non-stop flag is set, they will not even slow
     down.  This is to make "way points" in the form of dummy 1x1
     stations more useful.

`officefood, -O'
     Office towers accept food.  In the arctic and tropic climates, all
     office towers will accept food and goods, but this will not show up
     in the "Info" window.

`presignals, -w'
     Enable pre-signals.  Read the section 3.12 on how to use
     them.

`rvqueueing, -R'
     Road vehicle queueing.  Now road vehicles will queue up at a
     station when it is full, and not simply turn around.

`selectgoods, -G'
     Goods won't appear at a station until a vehicle arrives which
     would be able to pick them up.  This way you can select what type
     of goods are too appear.

`signcheats, -s'
     Enable the sign cheats.

`trainrefit, -f'
     Enable the refitting of trains in depots.  To use this, open the
     train window when the train is in a depot, and the "Reverse Train"
     button will be replaced with a "Refit Train" button.

`verbose, -v'
     Show all switches and wait for a key before starting the program

`-y'
     Always run TTD, even if it is an unknown version.  You should not
     use this switch unless you are sure that it will work.  It can
     only be specified on the command line.

These are the switches which take a value:

`aiboost, -A'
     With this switch it is possible to try and make the AI slightly
     more intelligent.  However it is currently of limited use, and
     large values (greater 5 or so) can make the game very sluggish.

`curves, -c'
     Use new curve handling for the given types.  In the first step,
     trains will pass "wide" curves at 88% of their speed as opposed to
     75% previously.  In the second step, they will not slow down at
     all.  This does not apply to "tight" curves.

`mountains, -m'
     Use new mountain handling for the given type.  In the first step of
     acceleration, trains will climb mountains much faster than
     previously, and in the second steps, they will not slow down at
     all.

     The digits for `mountains' and `curves' are bit coded.  Possible
     values for each: 0=Trains, 1=Monorail, 3=Maglev.  The first digit
     is for faster speed, and the second for full speed, i.e.  13 means
     that Monorail (1) trains are accelerated, and Maglevs (3) run at
     full speed.  Default is 13 (Monorail faster, Maglev full speed).

`morevehicles, -x'
     Extend the vehicles array from 850 to value*850.  Note that 160 of
     these vehicles appear to be reserved, though I don't know for what.
     Maybe for the UFO's and XCom craft and the submarines.

     The factor for `reducedsave' and `morevehicles' can range from 1
     and 50.  Note that large arrays will slow down the game
     considerably on older computers, and you should only increase it
     when you run out of vehicles.  Default is 1.

`reducedsave, -o'
     If `morevehicles' is set, save only value*850 vehicles for
     compatibility.

     *WARNING:* This will remove all vehicles and trains that are not
     completely within that limit _from the running game_.  Please see
     section 3.5 for more information.  Default is the -x
     factor, meaning no attempt at reduction.

`planes, -p'
`roadvehs, -r'
`ships, -b'
`trains, -t'
     Increase the allowable number of trains, road vehicles, planes, or
     ships, respectively.  The number must be between 10 and 240.
     Default is 80.

`servint, -i'
     Set default service interval to the given number of days.  It only
     applies to new engines.  Default is 16000 (50 years), only
     recommended for use with "Vehicle Breakdowns" turned off.

`spread, -e'
     Set the possible station spread to the given number, up to 255
     squares.  Use this to get rid of the "Station too spread out"
     message.  Default is 20, 66% more than the original value.

2.10 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:
   * Both versions of TTDPatch must be identical.

   * Both configurations of TTDPatch must be identical

   * Some options of TTDPatch are unsafe in multiplayer games

   In practise, it's easiest to set up TTDPatch on one of the
computers, and then copy both the `ttdpatch.exe' and `ttdpatch.cfg'
files 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.

   Most of the switches and options work well even in a networked game,
however some should not be used because they either don't work or cause
the game to go out of sync.  In particular, most sign cheats should be
avoided, but most of the other switches should work.

   I'm afraid that I don't have a comprehensive list of what exactly
does work, and what doesn't.  I would appreciate if those that play
regular network games could let me know by email which setting they use.

3 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.

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, 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.

   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.

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 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.

3.4 Sign Cheats
===============

   `signcheats, -s'

   These 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 change to `OK: <cheat
code>', otherwise it will say `BAD: <cheat code>'.

   Once a sign has been placed and activated (it changed to `OK:' or
`Bad:'), you can immediately remove or rename it again, the cheat will
still remain active.

   These are the available cheats, where something in angle brackets
(e.g. `<number>') means that you have to replace it with your own
value, and square brackets mean that it is optional.  Capitalisation is
not important, and only shown here to make the names clearer.

`Cht: Money <number>'
     Sets your cash to the number, given in British pounds.  For
     example, with `Cht: Money 1000000' as a sign name you will have
     one million pounds.  Depending on what currency you have selected,
     you may of course end up having more or less than the amount you
     entered.

`Cht: Year <number>'
     Changes the current year, and this works in both directions.  Now
     you can start your game in the year 2030 with all the Maglevs
     available, or change it back from 2070 when time stops.  The year
     can be anything from 1920 to 2098, although years after 2072 or so
     won't work correctly because time stops somewhere around then.
     Also, this really sets the date to one or two days before that
     year, so that the year change can be processed properly.

     It also updates the age and service intervals of all vehicles,
     lest all of your vehicles go to the depot after increasing the
     year, because they have suddenly aged many years in a few seconds.

     Also it's a good idea to activate the "persistent engines" patch,
     or you might run out of engines to buy, because their lifetimes are
     too short by default.

     With this switch and persistent engines, it is possible to have a
     game that lasts infinitely long, because you can always go back a
     hundred years when you hit the 2070's, where TTD normally stops
     counting.

     You might also use this to get your score once you are bored with
     the current game and don't want to go on till 2050.

`Cht: Tracks <to> [<from>]'
     This will change all the tracks that are currently the `from' type
     (or all if `from' is not given) to the new type set by `to'.  The
     types are 0=Railroad, 1=Monorail, 2=Maglev.

     So, for example `Cht: Tracks 2 1' will change all your monorail
     tracks to maglevs, or `Cht: Tracks 1' would convert everything to
     monorail.

     Also, all the trains of that type will be converted as well,
     otherwise they would blow up because they are on the wrong track.
     (Guess how long it took me to figure that out...)

     In a future version, the track conversion might actually cost the
     money it should, and abort when you run out of money, for those
     who really want to play fair.

`Cht: Used'
     Use this to show which of the sign cheats have been used in the
     current game.  It is intended for competitions where the use of
     some of the sign cheats is not allowed.  The value is a
     hexadecimal bit mask of the following hexadecimal bit values:

     Bit Value  Cheat
     0   1      Money
     1   2      Year
     2   4      Tracks
     3   8      Used
     4   10     OwnCrossing
     5   20     Renew
     6   40     DumpMemory
     7   80     AllNonStop
     8   100    NoNonStop
     9   200    ServInt
     10  400    ResetStation

     The value 8 for the "used" cheat will always be present because
     you have to use the cheat to see it, after all.

`Cht: OwnCrossing'
     There's a bug in TTD that causes road/railroad crossing to be taken
     over by the local authorities, I think when they build a road over
     your railroad tracks.  This also occurs when you import a savegame
     to the scenario editor, and then load it back as a savegame.

     If this bug occurs, you'll be able to remove the road instead of
     the tracks.  The tracks will belong to the city and can't be
     removed.  The road will belong to the city as well.

     Using this cheat, all these crossings will be given back to you, so
     that you can remove the tracks, but not the road (unless that
     really was yours, which shouldn't have triggered the bug).

     If you've already removed the road, you have to put it back there
     for this to work.  This cheat only affects crossings, nothing else.

     The tracks will always be owned by the first human player, because
     ownership information is lost completely and the correct owner
     can't be determined.  A future version of the patch will fix this
     by tracing back the railroad track to determine whose tracks they
     really are.

`Cht: Renew'
     It would be a good idea to frequently renew the rolling stock,
     mostly train cars, because the age of them affects station
     ratings.  (It's the difference between the year they are built and
     the current year that counts).  Problem is that, like upgrading
     all tracks, it is a very tedious process.  This cheat will make
     this easier.  It changes the age of all carriages to zero, sets
     the "year built" to the current year and updates their value to
     the current price.

     Note that this does not affect the engines, only the carriages.
     To renew the engines you will still have to send them to a depot.
     In one of the next versions, this cheat will actually cost the
     money it takes to buy all the carriages.

`Cht: DumpMemory'
     This cheat is going to be removed soon, because it has been made
     obsolete by Marcin Grzegorczyk's `sv1tool', available for example
     at Trikky's site
     (http://www.trikky.f9.co.uk/transport-tycoon/files.html), which
     allows you to modify the savegames directly.

     This cheat is intended for those curious TTD players that want to
     know something about TTD's internals.  When you use this, the game
     memory is written into the file `TTDMEM.DMP' in the current
     directory (same as for save games).  This is basically like saving
     uncompressed, except that the games can't be loaded anymore.  It
     is just to find out more about your games.  Also, two of the
     (many!) landscape arrays can't be saved because they live in a
     different memory space.  These determine the height and the object
     type of each square.  So don't go looking for that information in
     `TTDMEM.DMP'.

     It does not work at all on the Windows version.

`Cht: NoNonStop'
     With this you can remove the "non-stop" flag from the commands of
     all your trains.  It is useful to do when you turn on the new
     non-stop handling for example.

`Cht: AllNonStop'
     This switch sets all your trains' commands to "non-stop", when you
     don't want to use the new non-stop handling anymore

`Cht: ServInt <days> [<types> [<ai>]]'
     With this cheat you can modify the service interval of all
     existing vehicles.  It will be set to the given number of days.

     If you specify a second number, it will determine what type of
     vehicle you want to change.  It is a bit-coded number, with the
     bits meaning the following:

     Bit Value  Cheat
     0   1      Trains
     1   2      Road Vehicles
     2   4      Ships
     3   8      Aircraft

     Simply add all the values for the types of vehicles that you want
     to modify.

     If you specify a third number (and it is not zero), you can tell
     TTDPatch to modify the other players' vehicles as well.

`Cht: ResetStation [<all>]'
     This sign cheat allows you to reset all stations to a state as if
     they had just been built.  This can be useful if some industries
     close down and the cargo rating drops to zero.  It is also useful
     in conjunction with the "selectgoods" patch, because it also
     resets which goods will appear at a station, in case you want to
     rearrange the goods across different stations.

     If you just name the sign `Cht: Resetstation', then only your
     stations will be affected.  However, if you add a "`1'", as in
     `Cht: Resetstation 1', then it will affect all players, even the
     computer players.

A note to international players:
     The english 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 will also swap some keys, most importantly `y' and `z' might be
     swapped.  So please check if what you've typed is what appears in
     the sign name.

3.5 Increased Number of Vehicles
================================

   `morevehicles, -x'

   `reducedsave, -o'

   In many games, it is easy to reach the maximum number of vehicles at
850.  And 160 of these are reserved, 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.  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.

   Note that this switch is not easily reversible, as opposed to all
the other switches.  Once a game has been saved with this switch set to
a particular number, it can only be loaded with this switch set to the
same (or a higher) number, or TTD will crash while trying to load it.

   The other disadvantage is that it tends to make a game slower, and
quite a bit with a factor greater ten or so.

   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, the program will crash if you try to load more vehicles
than set by this switch.  And whenever you save, the complete array
will be saved, so you cannot use this savegame on a non-patched version
of TTD anymore.  This is especially important for the scenario editor,
which is basically using the same savegames, so anything created with
the editor while the total number is increased will not work on a
non-patched TTD.

   The only way around this is to reduce the array again by using the
`reducedsave' switch.  However, this often results in loss of trains
and other vehicles that are beyond the original limit.  Even trains
that are only partly beyond the limit--i.e.  some of the waggons are
and some aren't--will be completely lost.  And this is true _not only_
for the savegame, but _for the running game as well_.  This means that
the trains will be deleted from the current game while the save is in
progress.  Only use this if you don't really care that all the vehicles
make it into the savegame, and you should not overwrite older savegames
while this switch is activated, to be able to go back to the full
number of trains.

   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.

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 current 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 trains have no disadvantage when
going over the mountain.

   The `mountain' and `curve' switches allow to select which type of
trains will use a higher speed on mountains and in curves.  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 bit coded, two-digit
number, where the first digit selects the trains with higher speed, and
the second one those with full speed on curves or mountains.

   The coding is this:

   * 1 = Doesn't apply to normal trains

   * 2 = Doesn't apply to monorail trains

   * 4 = Doesn't apply to maglevs

   Just add the numbers to get the bit coded values.  Thus, the digits
used as parameter can be for example

   * 0 = it applies to all types of trains

   * 1 = monorail and maglev only

   * 3 = only for maglevs (3 = 1+2)

   * 7 = no trains at all (7 = 1+2+4)

   Other combinations are possible, if you should want to use them.

   "Full speed" overrides "Faster Speed", if both are enabled for a
particular type of train.

   For example, 13 would then make monorails take curves or mountains
faster, and maglevs don't slow down at all except in tight curves.

3.7 More Trains etc.
====================

   `planes, -p'

   `roadvehs, -r'

   `ships, -b'

   `trains, -t'

   The total number of trains and road vehicles allowed among all
players 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 trains are numbered.  The soft limit is probably only there for
performance reasons, or maybe a silly design decision.

   With this switch, it is now possible to have up to 240 trains,
plane, ships and road vehicles among all players.

   Note that the total number of commands is not increased, nor is the
total number of customised train names.  There can in total only be
5000 commands, which in the default configuration translates to 25
commands per train etc.  However, if you set all limits to 240, you can
on average only have about 5 commands per train.  An individual train
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 commands
instead of trains.

   The same limit applies to the train names, but it is not as
important, unless you can't live without your trains all having their
own name, and I don't know the exact number of names possible either.

   This switch is reversible, and only applies to new engines.  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.

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.

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, 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.  Since
version 1.6, you can even 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 this ugliness is necessary for now.  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 like 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.

3.10 New load/unload time calculation
=====================================

   `loadtime, -q'

   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 trains is done.

   Unfortunately, you won't be able to see this happen (TTD just can't
do it--however much I tried!), but at least the waiting time is a bit
more reasonable now.

   A short summary:

   * Engines don't count if they don't carry any cargo

   * First part of cargo gets loaded, and the time is independent of
     number of cars involved

   * If there are more cars than station can handle, the second set is
     loaded, and takes the same time

   * If there are still some cars left, those get loaded, and so on
     until everything is loaded.

   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.

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 still won't see more than ten cars in the depot, but they'll be
visible once the train leaves the depot.  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.

   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...

3.12 Pre-signals for Stations
=============================

   `presignals, -w'

   Usually, making an efficient station where all trains can go to all
platforms is very difficult, because if all platforms are in use, the
trains randomly choose one and waits till the train occupying it
leaves.  One workaround is to have "overflow" tracks, where the train
goes if everything is full.  While this works, it makes the train run
all the time while waiting for a platform.  This is very inefficient,
and it takes up a lot of space which might be an issue especially for a
city station.

   These new pre-signals on the other hand work like what is also often
called "home signals" or "entrance signals".  The regular TTD signals
are called "block signals", because they always whether the block
protected by them is occupied, no matter where the train actually wants
to go.

   TTDPatch's pre-signals work differently, more like most real-life
station signals.  They state whether a train can enter a station by
looking if there is a free platform, not just by looking at the block
before the station.

   This way it is quite easy to have a small and yet very efficient
station without the usual problems you get with busy stations, because
now trains will be able to queue in front of a station, and get to the
platforms in the order that they've arrived in.

How does this switch work?
--------------------------

   With this, any one-way signal that leads to several two-way signals
will act as a pre-signal, and only be green if any of the two-way exits
is green.  These two-ways must then lead to either an end of the line
or another one-way signal to make this work.  If they don't (for
example have a two-way at the end), the one-way will stay red forever.

   This is probably the most useful addition to TTD since `Cht:
Tracks', but it is also quite complicated to use and, thus, explain.  I
hope I can get it across.

   The main idea is that the signal leading to the platform multiplexer
of a station should only be green if any platform is free.  Thus, the
train would wait behind that signal until a platform becomes available.
You don't need any more overflow tracks, and trains wait instead of
running all the time.  It also improves station efficiency, because as
soon as possible, the train can enter the station, instead of having to
complete its overflow loop.

   However, the game will consider every one-way signal leading to a
block with more than one two-way signals to be a pre-signal.  However,
it will only work properly as long as all of the above conditions are
met.  In particular, the line should either end behind each two-way
signal, or there must be another one-way signal in the direction _away_
from the two-way signals.  Any other combinations, e.g. additional
one-ways leading to the section behind the two-ways, will break the
setup and will generally lead to the pre-signal remaining red forever.

What you have to do to make it work
-----------------------------------

   The following are the two common setups that make use of pre-signals
for a station.  It is possible to set it up differently, as long as you
follow the above rules.

a) The through station
......................

   (sometimes called "roro" or roll on/roll off station)

   Such a station should be built like this:

   (View the pretty-print or HTML versions for nicer graphics)

                 --<>-========->--
                /--<>-========->--\
      In ---->-----<>-========->----->----  Out
             1  \--<>-========->--/  4
                 --<>-========->--
                   2           3
     
     Legend: -- / \  Tracks;
             <>      Two-way signal
             >       One-way signal to the right
             =       Station platforms
             1..4    Signal labels

   There are four sets of signals involved, labelled 1 to 4.  Signal 1
would be the pre-signal, and only go green if any of signals 2 are
green.  Signals 3 are those letting the trains out of the station.

   The following conditions have to be met for this to work:

   * Signal 1 must be a one-way signal leading into the station.  This
     is the pre-signal.

   * All of signals 2 must be two-way signals.  There have to be at
     least two of these.  (Otherwise pre-signals are unnecessary and
     will not be used)

   * All of signals 3 must be one-way signals leading out of the station

   Also, even though not shown in the figure,

   * There can be more than one of signal 1

   * There can be more than one of signal 4 (or none, or a two-way)

   * You don't have to follow the actual track layout, it can go in any
      direction you like.  It doesn't even have to be at a station.

   If conditions two and three are only met for part of the signals, it
will work neither as it should, nor as it did before pre-signals.  It
will probably block the platform in question forever, or even the whole
station.  If this is the case, check that all of your signals are the
right type.

   To repair the red signal, you'll have to remove the offending
signal.  Make sure you stop any trains waiting at it or a crash would
be likely.

   Note that pre-signals look exactly like other signals, but they
behave differently.  I can't (yet?) add any graphics to the game which
would show pre-signals maybe with orange instead of green, or some such.

b) The terminus station
.......................

              3  -<>-=========
      Out ----<-X-<>-=========
       In ---->-X-<>-=========
              1  -<>-=========
                  2
     
     Legend: X       Crossover track layout (from everywhere to everywhere)
             Rest as above

   This very compact layout of a station is often useful in a city,
where there is not enough space for a full roro station.  Here, the
same conditions apply as in the previous case, and there can also be
more than one of signals 1 and 3.

   You can even combine both types of stations, i.e.  have some of the
platforms go through and others end.

What if the train line up is too long?
--------------------------------------

   If this is the case, you can either add more platforms to speed up
the process if possible, or make one or more additional lines with the
following setup along the "In" line:

                       (a)
       In -----<>------------------->-
             \-<>-.           .->-/ 1
               5  |           | 6
                  |           |
                  |  7      7 |
                  `-->------>-'
                       (b)

   Here, (a) is the usual way to the station, and it's used if there's
no train waiting.  Make sure that your longest train will fit entirely
on (a) to make this work.  If there is already a train waiting, other
trains will take route (b) and line up at signal 6.  You can make (b)
as long as you like.  It should have a few one-way signals 7 along the
way to allow several trains to line up.

   A few important points:

   * Signal 1 is the pre-signal leading into the station

   * Signals 5 have to be two-way, or all trains will want to use route
     (a)

   * Route (b) can either cut into route (a) before signal 1, or lead
     directly   into the station.  I recommend the above setup
     (connecting before signal 1)   because that way all trains will
     use the overflow if it is in use.    Otherwise trains will be able
     to take the shortcut even though they should   line up at the end
     of route (b).

   * Signal 6 has to be a one-way signal, as does signal 1.

   * If you put a one-way signal before signal 5, it will be a
     pre-signal

"But this is just like the overflow loop!"
------------------------------------------

   No, it isn't.  First, the trains only have to use it once before
lining up at signal 6 and don't continue to loop until a platform is
available.  Also, even if the station is full, at least one more train
will not have to use it, only if two or more trains are waiting will it
be used.  Third, one of the waiting trains will enter the station as
soon as a platform is free, without having to complete a loop because
it already is waiting at the station entrance.  And lastly, the trains
will be served in the order that they arrive in.  In an overflow loop,
there is no guarantee that a train will not loop indefinitely at a very
busy station, just because newly arriving trains steal into the
platforms.

   And because this is all very confusing, I have created a
demonstration with a small savegame that you can download
(http://publish.uwo.ca/~jdrexler/ttdpatch/presig.zip).  Please make
sure that it won't overwrite one of your savegames.  The save file is
`trt56.sv1', so if you already have that file, make a copy of it.  It
features both a through station and a terminus station, and has extra
line up loops.

   I encourage you to test this savegame with the pre-signal switch
disabled, too, so you can see the difference it makes, and try
different numbers of trains (as low as 7 maybe) by sending them to the
depot, and more or fewer platforms at both stations.

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, both income, purchases and
maintenance/running costs, and for all players too.

   Use this if you frequently have too much money which causes the
amount of cash to go to negative values, 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.

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.

3.15 Persistent Engines
=======================

   `enginespersist, -P'

   There are some problems with engines becoming obsolete.  For
example, there are no more helicopters available after about 2050 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.

3.16 Full load for any type of cargo
====================================

   `fullloadany, -F'

   Basically fixing the same bug 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.

3.17 Selectable station goods
=============================

   `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 that particular type of
cargo has already seen a train or other vehicle wanting to pick them up.

   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 it
your capabilities by showing him your train or plane, etc.

   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.

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 "Info" window, but it is taken
into account when determining what a station will accept.

3.19 Extra Dynamite
===================

   `extradynamite, -D'

   This switch makes your dynamite more powerful.  With it, you can
remove all of the city roads, even those that the city normally forbids
you to destroy.

   Of course, you going against their 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.  So you should only do this if you must, and try to remove as
few middle piece as possible by carefully planning ahead what you want
to tear down.

   In the future it will probably enable you to remove even more stuff,
like a city's bridges, opponent's roads, headquarters and so on, but
that doesn't work yet.

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 allows more helicopters than a
heliport, as well as being able to service them.

   Since version 1.7, the computer players will no longer build these
small airports, and then buy large jet planes that will crash almost
immediately.  However, they can still build small airports, and then
send a jet plane from a big airport to the small airport, where it will
still crash.  Computer players are very ruthless, and also very stupid.

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.  The other
bridges aren't extensible and keep their maximum length.

3.22 AI Boost
=============

   `aiboost, -A'

   With this switch it is possible to try and make the AI 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 if 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.

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.  The first additional engine adds 20%, the next
one 10%, and a third extra engines add another 5%.  After that you
don't get any benefits from adding more engines.

   Now the big question is, how do you place these additional engines
on a train?  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 two 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.

   For these types of trains, 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.

   One small bug with this patch is that the additional engines don't
smoke or emit sparks.  Only the first engine will do that, but I'm
working on a fix.

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 the
trucks 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.

   This patch was contributed by Marcin Grzegorczyk.

3.25 Low Memory Version
=======================

   `lowmemory, -Z'

   Using this option, it is now possible to run TTDPatch on computers
that have only 4 MB of memory.  Without it, TTDPatch needs at least 9
MB to run.  The only disadvantage of this option is that it reduces the
increased vehicle array (`-x') to at most a factor of 2.

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

3.26 General Fixes
==================

   `generalfixes, -g'

   This setting is a combination of several 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 version 1.7 of TTDPatch:

   * Oil field acceptance bug.  In TTD, all oil fields should accept
     passengers, however some don't, and this is fixed now.
     Contributed by Marcin Grzegorczyk.

   * Vehicle listing with more than 128 vehicles.  It used to be
     impossible to select any vehicles with higher numbers, because
     that was only opening vehicle number one.  This was also fixed by
     Marcin Grzegorczyk.

   In the future, more fixes may join this category, but that's all for
now.

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       Maximum number per city
            units       
Small       2           4
airport                 
Large       3           3
airport                 
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.

4 Troubleshooting
*****************

   This section gives you some information and hints on what you can do
if something doesn't work as you think it should.

4.1 Version Trouble
===================

   TTDPatch will have to know the locations of code that has to be
patched.  This will usually be a table that has to be compiled into the
program to make it work.

   If the version of TTD you are using is not known to TTDPatch, it
will tell you so and offer the option to try and start anyway.
However, this is a bit tricky, and may result in the program locking
up, or causing a protection violation.  Depending on your operating
system, this may lead to complete hang of the computer.  So, don't try
this if you have any important programs running in the background.

   Currently, there are no unsupported version that I'm aware of,
TTDPatch should work out of the box with any version of TTD.  It will
not work with the original TT, or the TT that came with the world
builder.

   These are the versions that are known to work:
Version     File size   Language
DOS         496,543     English (American?)
            496,601     English
            499,583     German
            505,759     French
            506,237     Spanish
Windows 95  1,695,744   American
            1,696,256   English
            1,699,328   German
            1,707,008   French
            1,707,520   Spanish

4.2 Need more help?
===================

   So, you have tried TTDPatch and it didn't work like it should?  You
need somebody to ask a question?

   If it isn't very urgent, you can contact me at the address given in a
section below.  However, I have been pretty busy recently, so it may
take days or even a week or two till you get a reply.

   It's probably a better way to ask a question at a public forum.  If
you like Usenet, you can go to the <alt.games.microprose.transport-tyc>
newsgroup and ask there.

   There are also two mailings lists for TTDPatch.  One is a general
topic list for questions, comments and so on.  The other is for
announcements only.  I will announce all further versions, or perhaps
serious bugs and other important stuff.

   To subscribe, send a message to
<Majordomo@joesbox.penguinpowered.com>, with the following in the
message _body_:

     subscribe <list name>
     end

Here, the list name is either "ttdpatch" or "ttdpatch-announce".  You
only need to subscribe to one of the lists, because all announcements
are copied to the "ttdpatch" list as well.

   By sending your question to the list it is more likely that you get
a fast answer, because more people than just me are reading it.

   Both lists have a web-based archive, which is available on my server
for both the general list
(http://joesbox.penguinpowered.com/lists/ttdpatch/) and the
announcements
(http://joesbox.penguinpowered.com/lists/ttdpatch-announce/).

4.3 Error Messages
==================

`Can't write to TTDLOAD.OVL, is it read-only?'
     This happens after copying the TTD executable to `ttdload.ovl',
     when TTDPatch tries to patch this copy.  Most likely it is set to
     read-only.

`Copy error - file doesn't exist.'
     When TTDPatch tried to copy the old executable to `ttdload.ovl',
     something went wrong and nothing was copied.  You can try to copy
     it yourself and run TTDPatch again.  It will then try to work with
     this copy instead, and not copy the file itself.

`Could find neither TYCOON.EXE nor TTDX.EXE.'
     You probably started TTDPatch from the wrong directory.  The
     original executable has to be in the current directory.

`Could not determine program version.'
     This means that TTDPatch couldn't find out what version of TTD you
     are using, and thus cannot patch it.  This can only be fixed by
     sending your executable to the maintainer of TTDPatch.  It's most
     likely that it actually isn't TTD but something else.

`Couldn't install code loader - try to delete TTDLOAD.OVL.'
     TTDPatch found some problem in `ttdload.ovl' and couldn't patch it.
     You can try to delete `ttdload.ovl' so that TTDPatch creates it
     again, hopefully correct this time.  Otherwise there is some
     problem with your TTD executable.

`Invalid original segment length.'
     The original TTD had a data segment length that is not recognised
     by TTDPatch.  This seems to be a problem with the version, and can
     only be fixed by sending your executable to the maintainer of
     TTDPatch.

`This is not Transport Tycoon Deluxe.'
     TTDPatch noticed that you don't have TTD, but rather something
     else.  The standard Transport Tycoon maybe.  TTDPatch will only
     work with versions of Transport Tycoon Deluxe.

`Unrecognised .EXE format.'
     `tycoon.exe' is not an executable file.  This should not happen,
     unless you copied or renamed something else to `tycoon.exe'.

`Version has too many numbers!'
     While trying to find out version of TTD, the program got confused
     because it found more than the usual three numbers.  This can only
     be fixed by sending your executable to the maintainer of TTDPatch.

5 Other Stuff
*************

5.1 Contact Information
=======================

   Please do not hesitate to email me your opinion about this program,
or any bugs or typos you may find, or suggestions about what to put
into the next version of the program.  If you have trouble getting it
to run please tell me the version number of your TTD (as shown in the
"About" box) and of TTDPatch.  The output of TTDPatch would also be
helpful.

   You can also use the mailing lists described in the above section if
you like.

   My preferred email address is <jdrexler@uwo.ca>.  This should remain
active until at least 2004.  If I don't reply at that address, you
could try <Josef_Drexler@hotmail.com>, though I don't check that very
often at the moment, because about 99.9% of the messages are spam
anyway...

   I can also sometimes be found in the newsgroups
<alt.games.microprose.transport-tyc> or
<comp.sys.ibm.pc.games.strategic>.

   And if you still can't get a hold on me, just try to scream very
loudly, I might just hear it...

   Then again, maybe not.

5.2 Future Plans
================

   Here are some things I am considering to include in future versions,
in no particular order.  For some reason this list keeps getting longer
and longer, no matter how much I try to implement, there are always
more new ideas than I can handle.

   First those that appear to be a bit easier to do, but there are
still far too many to promise that anything will be in any particular
version:

   * Improved pre-signals which work in even more combinations

   * "No-cheat" option, where all cheats cost money to balance them

   * Refittable hovercrafts, make mail and oil a refit option for
     trains and planes.  Make the tanker be refittable for fluid goods,
     and the goods ship for all dry goods, including food.

   * Allow all city road and bridges to be bulldozed, but with a large
     penalty on city ratings and only if it was outstanding.  Same for
     AI roads, but they get the money.

   * Allow the HQ to be bulldozed so it can be relocated

   * Max loan should depend on company value too

   * Make it possible to place more than one tree, both for lumber
     mills and improved city ratings

   * Slow down time and/or make it possible to build during pause

   * Load first trains first

   * Automatically replace trains that enter a depot after their life
     span is over.  Note that it will not be possible to replace them
     with a different engine type, only with the same one.

   * Cht: Engine to change all train engines into a specific type, or
     maybe for planes etc.  as well.  Maybe only change a specific
     engine?  Maybe not at all, because it seems to be rather difficult.

   * Even larger stations; maybe there is a way to have even more than 7
     platforms and be longer than 7 squares

   * restrict full speed at mountains to at most one height level?

   * Allow more graphics, so that every engine and plane can have its
     own design.  This seems more likely now that the graphics files
     can be modified (see next section)

   * Signals in tunnels and on a bridge, possible invisible and/or
     automatically placed

   * Allow stations at different height levels to be combined

   * Improved "en-route" that credits each carrier with the part of the
     income that they've contributed, to be able to better judge
     whether feeder services make or lose money.  Also make it possible
     to force-unload into the station as opposed to cashing in.

   * Allow the display of dates after 2070 and automatically roll-over
     so that time never stops even without using the "Cht: Year" cheat

   * Change industry output: raise it/lower it for all or a single type

   * When selling a train engine, sell all waggons too

   * Make it possible to restrict which switches may be used in a
     competition for example

   * Modified plane breakdowns: crash instead of becoming slower, but
     of course much more rarely.  Try to crash them not at the airport
     maybe

   * Add "bribe" to the local authority menu

   * Show train speed, as in "Heading for Footown at 56 km/h"

   * Sort train lists, by number, profit, last year's profit, perhaps
     even by the schedule

   * Remove all red error messages so you don't have to right-click to
     get rid of them

   * Anything you wish?  Tell me, and maybe you're lucky and it's
     possible to do.

   Please tell me how much you would like to see one thing or the
other, it's very hard to guess what other people think is important.

5.3 Impossible Changes
======================

   This is a list of things I'm regularly asked to do, but which are
either impossible to do, or at least an awful lot of work:

   * Higher bridges.  Complication: TTD has no provision to store the
     height of a bridge, it is always implicitly one, nor can the
     graphics engine display them

   * Larger airports (more runways).  It's possible, but would involve
     recoding the whole aircraft movement scheme of an airport.  It's
     too much work right now.  Maybe if enough people bug me about it I
     might do it though.  If/when I do it, I'd add another runway at
     the other side of the airport, and separate them into
     landing/departing runways.  This should work nicely, but it is
     still a lot of work.

   * Larger scenarios.  This is all but impossible, because the whole
     program assumes a coordinate has 8 bits for each direction,
     totalling a 256x256 grid

5.4 Other Tools
===============

   I have made a program which can be used to modify TTD's graphics.
It will convert the `.GRF' file into a `.PCX' file which you can edit
with your favourite graphics program.  Then you can convert it back and
have TTD use your own graphics set.

   You can find it at
`http://publish.uwo.ca/~jdrexler/ttdpatch/grfcodec/'

It is still more or less in beta stage and may not work correctly in
all cases, though.

   Another very useful tool is TTDAlter.  This lets you edit the
engines and bridges and other stuff, to make them faster, better,
bigger, whatever.  It is quite useful even in combination with
TTDPatch.  Unfortunately it doesn't work with the Windows version of
TTD and the author doesn't develop it anymore.

   You can find it at the TTDAlter home page
(http://www.goase.com/ttdalter.htm)

Note that there are some complications when you want to use both
TTDAlter and TTDPatch, but nothing serious.  The problem is that
TTDAlter modifies `TTDX.EXE', but TTDPatch uses `TTDLOAD.OVL'.
Therefore, you need to have TTDPatch recreate the `TTDLOAD.OVL' file,
and you do this simply by deleting it.

   So, every time you've run TTDAlter, all you have to do is simply
delete `TTDLOAD.OVL', and TTDPatch will recreate it with the modified
values from TTDAlter.  If you write the following to a `.BAT' file, you
can use that to run TTDAlter and automatically delete the necessary
file:

     @echo off
     cd \games\ttdlx\ttdalter
     start /w ttdalter
     cd \games\ttdlx
     del ttdload.ovl

   Of course you'll have to replace the directories with where you have
installed TTDAlter and TTD.  Then simply run this file and all should
be well.

5.5 Real Maglevs
================

   So, you've been building maglev routes and buying maglev trains all
the time in TTD.  Did you know that there are actual maglevs running,
that you can even test ride?  One of them is the German "Transrapid"
system, which uses static magnetic levitation (maglev) to travel
without any moving parts.  There is more information about it at the
Transrapid home page (http://www.transrapid.de/english/home.html), and
even though it resembles TTD's monorail more than its maglev, it is in
fact a maglev.

   Another maglev train that is still under development is the Japanese
MLX, which you can find at the home page
(http://www.rtri.or.jp/rd/maglev/html/english/maglev_frame_E.html).
This one relies on dynamic magnetic levitation, which means that it
will only levitate once it is fast enough.  It appears that this is
what TTD's maglev is modelled after, because it also has the guide
rails at the side of the tracks, and TTD's Chimera seems to be very
similar to the MLU002N test vehicle.

5.6 Acknowledgements
====================

   First of all I want to thank all the translators which make it
possible for many people to enjoy TTDPatch in their own language.

Language       Translator
Danish         Kenneth Vestergaard Schmidt
Dutch          Remon Pel
English        (myself)
Finnish        Vesku
French         Re'mi Denis Courmont
German         (myself)
Italian        Jack VanderCloud
Norwegian      Hilanmo Terje
Polish         Marek Majkowski
Russian        Yuri Burawtsow

(please let me know if you want your email address to appear in this
list)

   Then I would like to express my thanks to Marcin Grzegorczyk, who
not only contributed a new patch (the road vehicle queueing), but also
managed to fix several bugs that not even I could find, especially that
pesky "undead train" bug.  Well done!

And finally here is a list of people who have helped me improve
TTDPatch in one way or another; in order of appearance:

Maurie Daly
     Bug reports: CD drive parameter

3iff
     Bug reports

Paul van Eijden
     European mirror

Chris Locke
     Bug reports: Ghost trains, switches not working

Cecilie Irgens
     Many suggestions,

Anne-Marie Adamson
     Multiplayer suggestions and testing

Wolfgang Pausch
     Many bug reports and suggestions

Wolfgang Preiss
     Many bug reports and suggestions, diligent testing

Jacopo D'Aurizio
     Many suggestions

Peter Burstow
     Bug reports, testing

Boudewijn Dijkstra
     Finding many typos and improving the docs

Apologies if I've forgotten somebody, please tell me and I'll add you
to the list.

5.7 Closing Words
=================

   Well, what can I say more?  Congratulations on reading everything
I've written, if you've really gotten that far really by reading it,
and not just cheating...

   I hope you will enjoy TTDPatch, I've certainly done my best to
ensure that you will.

