Define a generic YAPF rail base class CYapfRailT
[openttd/fttd.git] / readme.txt
blob74e01011b47187b100611551c3476b292abf6fa0
1 Last updated:    2013-12-24
2 Release version: 1.4.0-beta1
3 ------------------------------------------------------------------------
6 Table of contents
7 -----------------
8 1.0) About
9 2.0) Contacting
10  * 2.1) Reporting bugs
11  * 2.2) Reporting desyncs
12 3.0) Supported platforms
13 4.0) Installing and running OpenTTD
14  * 4.1) (Required) 3rd party files
15  * 4.2) OpenTTD directories
16  * 4.3) Portable installations (portable media)
17  * 4.4) Files in tar (archives)
18 5.0) OpenTTD features
19  * 5.1) Logging of potentially dangerous actions
20 6.0) Configuration file
21 7.0) Compiling
22  * 7.1) Required/optional libraries
23  * 7.2) Supported compilers
24  * 7.3) Compilation of base sets
25 8.0) Translating
26  * 8.1) Translation
27  * 8.2) Previewing
28 9.0) Troubleshooting
29 10.0) Licensing
30 X.X) Credits
33 1.0) About
34 ---- -----
35 OpenTTD is a transport simulation game based upon the popular game Transport
36 Tycoon Deluxe, written by Chris Sawyer. It attempts to mimic the original
37 game as closely as possible while extending it with new features.
39 OpenTTD is licensed under the GNU General Public License version 2.0,
40 but includes some 3rd party software under different licenses. See the
41 section "Licensing" below for details.
43 2.0) Contacting
44 ---- ----------
45 The easiest way to contact the OpenTTD team is by submitting bug reports or
46 posting comments in our forums. You can also chat with us on IRC (#openttd
47 on irc.oftc.net).
49 The OpenTTD homepage is http://www.openttd.org/.
51 You can also find the OpenTTD forums at
52 http://forum.openttd.org/
54 2.1) Reporting bugs
55 ---- --------------
56 First of all, check whether the bug is not already known. Do this by looking
57 through the file called 'known-bugs.txt' which is distributed with OpenTTD
58 like this readme.
60 For tracking our bugs we are using a bug tracker called Flyspray. You can find
61 the tracker at http://bugs.openttd.org/. Before actually reporting take a look
62 through the already reported bugs there to see if the bug is already known.
63 The 'known-bugs.txt' file might be a bit outdated at the moment you are
64 reading it as only bugs known before the release are documented there. Also
65 look through the recently closed bugs.
67 When you are sure it is not already reported you should:
68  * Make sure you are running a recent version, i.e. run the latest stable or
69    nightly based on where you found the bug.
70  * Make sure you are not running a non-official binary, like a patch pack.
71    When you are playing with a patch pack you should report any bugs to the
72    forum thread related to that patch pack.
73  * Make it reproducible for the developers. In other words, create a savegame
74    in which you can reproduce the issue once loaded. It is very useful to give
75    us the crash.dmp, crash.sav, crash.log and crash screenshot which are
76    created on crashes.
77  * Check whether the bug is already reported on our bug tracker. This includes
78    searching for recently closed bug reports as the bug might already be fixed.
80 After you have done all that you can report the bug. Please include the
81 following information in your bug report:
82  * OpenTTD version (PLEASE test the latest SVN/nightly build)
83  * Bug details, including instructions how to reproduce it
84  * Platform (Windows, Linux, FreeBSD, ...) and compiler (including version) if
85    you compiled OpenTTD yourself.
86  * The processor architecture of your OS (32 bits Windows, 64 bits Windows,
87    Linux on an ARM, Mac OS X on a PowerPC, ...)
88  * Attach a saved game *and* a screenshot if possible
89  * If this bug only occurred recently please note the last version without
90    the bug and the first version including the bug. That way we can fix it
91    quicker by looking at the changes made.
92  * Attach crash.dmp, crash.log and crash.sav. These files are usually created
93    next to your openttd.cfg. The crash handler will tell you the location.
95 2.2) Reporting desyncs
96 ---- -----------------
97 As desyncs are hard to make reproducible OpenTTD has the ability to log all
98 actions done by clients so we can replay the whole game in an effort to make
99 desyncs better reproducible. You need to turn this ability on. When turned
100 on an automatic savegame will be made once the map has been constructed in
101 the 'save/autosave' directory, see OpenTTD directories to know where to find
102 this directory. Furthermore the log file 'commands-out.log' will be created
103 and all actions will be written to there.
105 To enable the desync debugging you need to set the debug level for 'desync'
106 to at least 1. You do this by starting OpenTTD with '-d desync=<level>' as
107 parameter or by typing 'debug_level desync=<level>' in OpenTTD's internal
108 console.
109 The desync debug levels are:
110  0: nothing.
111  1: dumping of commands to 'commands-out.log'.
112  2: same as 1 plus checking vehicle caches and dumping that too.
113  3: same as 2 plus monthly saves in autosave.
114  4 and higher: same as 3
116 Restarting OpenTTD will overwrite 'commands-out.log'. OpenTTD will not remove
117 the savegames (dmp_cmds_*.sav) made by the desync debugging system, so you
118 have to occasionally remove them yourself!
120 The naming format of the desync savegames is as follows:
121 dmp_cmds_XXXXXXXX_YYYYYYYY.sav. The XXXXXXXX is the hexadecimal representation
122 of the generation seed of the game and YYYYYYYY is the hexadecimal
123 representation of the date of the game. This sorts the savegames by game and
124 then by date making it easier to find the right savegames.
126 When a desync has occurred with the desync debugging turned on you should file
127 a bug report with the following files attached:
128  - commands-out.log as it contains all the commands that were done
129  - the last saved savegame (search for the last line beginning with
130    'save: dmp_cmds_' in commands-out.log). We use this savegame to check
131    whether we can quickly reproduce the desync. Otherwise we will need...
132  - the first saved savegame (search for the first line beginning with 'save'
133    where the first part, up to the last underscore '_', is the same). We need
134    this savegame to be able to reproduce the bug when the last savegame is not
135    old enough. If you loaded a scenario or savegame you need to attach that.
136  - optionally you can attach the savegames from around 50%, 75%, 85%, 90% and
137    95% of the game's progression. We can use these savegames to speed up the
138    reproduction of the desync, but we should be able to reproduce these
139    savegames based on the first savegame and commands-out.log.
140  - in case you use any NewGRFs you should attach the ones you used unless
141    we can easily find them ourselves via bananas or when they are in the
142    #openttdcoop pack.
144 Do NOT remove the dmp_cmds savegames of a desync you have reported until the
145 desync has been fixed; if you, by accident, send us the wrong savegames we
146 will not be able to reproduce the desync and thus will be unable to fix it.
149 3.0) Supported platforms
150 ---- -------------------
151 OpenTTD has been ported to several platforms and operating systems. It should
152 not be very difficult to port it to a new platform. The currently working
153 platforms are:
155   BeOS                 - SDL or Allegro
156   DOS                  - Allegro
157   FreeBSD              - SDL
158   Linux                - SDL or Allegro
159   MacOS X (universal)  - Cocoa video and sound drivers
160   MorphOS              - SDL
161   OpenBSD              - SDL
162   OS/2                 - SDL
163   Windows              - Win32 GDI (faster) or SDL or Allegro
166 4.0) Installing and running OpenTTD
167 ---- ------------------------------
168 Installing OpenTTD is fairly straightforward. Either you have downloaded an
169 archive which you have to extract to a directory where you want OpenTTD to
170 be installed, or you have downloaded an installer, which will automatically
171 extract OpenTTD in the given directory.
173 OpenTTD looks in multiple locations to find the required data files (described
174 in section 4.2). Installing any 3rd party files into a 'shared' location has
175 the advantage that you only need to do this step once, rather than copying the
176 data files into all OpenTTD versions you have.
177 Savegames, screenshots, etc are saved relative to the config file (openttd.cfg)
178 currently being used. This means that if you use a config file in one of the
179 shared directories, savegames will reside in the save/ directory next to the
180 openttd.cfg file there.
181 If you want savegames and screenshots in the directory where the OpenTTD binary
182 resides, simply have your config file in that location. But if you remove this
183 config file, savegames will still be in this directory (see notes in
184 section 4.2 'OpenTTD directories')
186 OpenTTD comes without AIs, so if you want to play with AIs you have to download
187 them. The easiest way is via the 'Check Online Content' button in the main menu.
188 You can select some AIs that you think are compatible with your playing style.
189 Another way is manually downloading the AIs from the forum although then you
190 need to make sure that you install all the required AI libraries too; they get
191 automatically selected (and downloaded) if you get the AIs via the 'Check
192 Online Content'. If you do not have an AI but have configured OpenTTD to start
193 an AI a message will be shown that the 'dummy' AI has been started.
195 4.1) (Required) 3rd party files
196 ---- --------------------------
197 Before you run OpenTTD, you need to put the game's data files into a baseset/
198 directory which can be located in various places addressed in the following
199 section.
201 For OpenTTD you need to acquire some third party data files. For this you have
202 the choice of using the original Transport Tycoon Deluxe data files or a set
203 of free data files.
205 Do NOT copy files included with OpenTTD into 'shared' directories (explained in
206 the following sections) as sooner or later you will run into graphical glitches
207 when using other versions of the game.
209 4.1.1) Free graphics and sound files
210 ------ -----------------------------
211 The free data files, split into OpenGFX for graphics, OpenSFX for sounds and
212 OpenMSX for music can be found at:
213  - http://www.openttd.org/download-opengfx for OpenGFX
214  - http://www.openttd.org/download-opensfx for OpenSFX
215  - http://www.openttd.org/download-openmsx for OpenMSX
216 Please follow the readme of these packages about the installation procedure.
217 The Windows installer can optionally download and install these packages.
219 4.1.2) Original Transport Tycoon Deluxe graphics and sound files
220 ------ ---------------------------------------------------------
221 If you want to play with the original Transport Tycoon Deluxe data files you
222 have to copy the data files from the CD-ROM into the baseset/ directory. It
223 does not matter whether you copy them from the DOS or Windows version of
224 Transport Tycoon Deluxe. The Windows install can optionally copy these files.
225 You need to copy the following files:
226  - sample.cat
227  - trg1r.grf or TRG1.GRF
228  - trgcr.grf or TRGC.GRF
229  - trghr.grf or TRGH.GRF
230  - trgir.grf or TRGI.GRF
231  - trgtr.grf or TRGT.GRF
233 4.1.3) Original Transport Tycoon Deluxe music
234 ------ --------------------------------------
235 If you want the Transport Tycoon Deluxe music, copy the files from the gm/
236 folder from the Windows version of Transport Tycoon Deluxe to the baseset
237 folder in your OpenTTD folder (also explained in the following sections).
238 The music from the DOS version as well as the original Transport Tycoon does
239 not work.
241 4.1.4) AIs
242 ------ ---
243 If you want AIs use the in-game content downloader. If for some reason that is
244 not possible or you want to use an AI that has not been uploaded to the content
245 download system download the tar file and place it in the ai/ directory. If the
246 AI needs libraries you will have to download those too and put them in the
247 ai/library/ directory. All AIs and AI Libraries that have been uploaded to
248 the content download system can be found at http://noai.openttd.org/downloads/
249 The AIs and libraries can be found their in the form of .tar.gz packages.
250 OpenTTD can read inside tar files but it does not extract .tar.gz files by
251 itself.
252 To figure out which libraries you need for an AI you have to start the AI and
253 wait for an error message to pop up. The error message will tell you
254 'could not find library "lib-name"'. Download that library and try again.
256 4.1.5) Game scripts
257 ------ ------------
258 If you want an extra challenge in OpenTTD you can download so-called game
259 scripts via the in-game content downloader. These game scripts have varying
260 functionality, though they can generally influence town growth, subsidies, add
261 goals to reach or provide a different ranking system.
262 If you download a game script manually you have to follow the same rules as for
263 AIs, except that game scripts are placed in the game/ directory instead of the
264 ai/ directory.
267 4.2) OpenTTD directories
268 ---- -------------------
269 OpenTTD uses its own directory to store its required 3rd party base set files
270 (see section 4.1 'Required 3rd party files') and non-compulsory extension and
271 configuration files. See below for their proper place within this OpenTTD main
272 data directory.
274 The main OpenTTD directories can be found in various locations, depending on
275 your operating system:
276         1. The current working directory (from where you started OpenTTD)
277                 For non-Windows operating systems OpenTTD will not scan for files in this
278                 directory if it is your personal directory, i.e. '~/', or when it is the
279                 root directory, i.e. '/'.
280         2. Your personal directory
281                 Windows: C:\My Documents\OpenTTD (95, 98, ME)
282                          C:\Documents and Settings\<username>\My Documents\OpenTTD (2000, XP)
283                          C:\Users\<username>\Documents\OpenTTD (Vista, 7)
284                 Mac OSX: ~/Documents/OpenTTD
285                 Linux:   $XDG_DATA_HOME/openttd which is usually ~/.local/share/openttd when
286                          built with XDG base directory support, otherwise ~/.openttd
287         3. The shared directory
288                 Windows: C:\Documents and Settings\All Users\Shared Documents\OpenTTD (2000, XP)
289                          C:\Users\Public\Documents\OpenTTD (Vista, 7)
290                 Mac OSX: /Library/Application Support/OpenTTD
291                 Linux:   not available
292         4. The binary directory (where the OpenTTD executable is)
293                 Windows: C:\Program Files\OpenTTD
294                 Linux:   /usr/games
295         5. The installation directory (Linux only)
296                 Linux:   /usr/share/games/openttd
297         6. The application bundle (Mac OSX only)
298                 It includes the OpenTTD files (grf+lng) and it will work as long as they
299                 are not touched
301 Different types of data or extensions go into different subdirectories of the
302 chosen main OpenTTD directory:
303         Config File:         (no subdirectory)
304         Screenshots:         screenshot
305         Base Graphics:       baseset                 (or a subdirectory thereof)
306         Sound Sets:          baseset                 (or a subdirectory thereof)
307         NewGRFs:             newgrf                  (or a subdirectory thereof)
308         32bpp Sets:          newgrf                  (or a subdirectory thereof)
309         Music Sets:          baseset                 (or a subdirectory thereof)
310         AIs:                 ai                      (or a subdirectory thereof)
311         AI Libraries:        ai/libraries            (or a subdirectory thereof)
312         Game Scripts (GS):   game                    (or a subdirectory thereof)
313         GS Libraries:        game/libraries          (or a subdirectory thereof)
314         Savegames:           save
315         Automatic Savegames: save/autosave
316         Scenarios:           scenario
318 The (automatically created) directory content_download is for OpenTTD's internal
319 use and no files should be added to it or its subdirectories manually.
321 Notes:
322         - Linux in the previous list means .deb, but most paths should be similar for
323           others.
324         - The previous search order is also used for NewGRFs and openttd.cfg.
325         - If openttd.cfg is not found, then it will be created using the 2, 4, 1, 3,
326           5 order. When built with XDG base directory support, openttd.cfg will be
327           created in $XDG_CONFIG_HOME/openttd which is usually ~/.config/openttd.
328         - Savegames will be relative to the config file only if there is no save/
329           directory in paths with higher priority than the config file path, but
330           autosaves and screenshots will always be relative to the config file.
331           Unless the configuration file is in $XDG_CONFIG_HOME/openttd, then all
332           other files will be saved under $XDG_DATA_HOME/openttd.
334 The preferred setup:
335 Place 3rd party files in shared directory (or in personal directory if you do
336 not have write access on shared directory) and have your openttd.cfg config
337 file in personal directory (where the game will then also place savegames and
338 screenshots).
340 4.3) Portable installations (portable media)
341 ---- ---------------------------------------
342 You can install OpenTTD on external media so you can take it with you, i.e.
343 using a USB key, or a USB HDD, etc.
344 Create a directory where you shall store the game in (i.e. OpenTTD/).
345 Copy the binary (OpenTTD.exe, OpenTTD.app, openttd, etc), baseset/ and your
346 openttd.cfg to this directory.
347 You can copy binaries for any operating system into this directory, which will
348 allow you to play the game on nearly any computer you can attach the external
349 media to.
350 As always - additional grf files are stored in the newgrf/ dir (for details,
351 again, see section 4.1).
353 4.4) Files in tar (archives)
354 ---- -----------------------
355 OpenTTD can read files that are in an uncompressed tar (archive), which
356 makes it easy to bundle files belonging to the same script, NewGRF or base
357 set. Music sets are the only exception as they cannot be stored in a tar
358 file due to being played by external applications.
360 OpenTTD sees each tar archive as the 'root' of its search path. This means that
361 having a file with the same path in two different tar files means that one
362 cannot be opened, after all only one file will be found first. As such it is
363 advisable to put an uniquely named folder in the root of the tar and put all the
364 content in that folder. For example, all downloaded content has a path that
365 concatenates the name of the content and the version, which makes the path
366 unique. For custom tar files it is advised to do this as well.
368 The normal files are also referred to by their relative path from the search
369 directory, this means that also normal files could hide files in a tar as
370 long as the relative path from the search path of the normal file is the
371 same as the path in the tar file. Again it is advised to have an unique path
372 to the normal file so they do not collide with the files from other tar
373 files.
376 5.0) OpenTTD features
377 ---- ----------------
378 OpenTTD has a lot of features going beyond the original Transport Tycoon Deluxe
379 emulation. Unfortunately, there is currently no comprehensive list of features,
380 but there is a basic features list on the web, and some optional features can be
381 controlled through the Advanced Settings dialog. We also implement some
382 features known from TTDPatch (http://www.ttdpatch.net/).
384 Several important non-standard controls:
386 * Ctrl modifies many commands and makes them more powerful. For example Ctrl
387   clicking on signals with the build signal tool changes their behaviour, holding
388   Ctrl while the track build tool is activated changes it to the track removal
389   tool, and so on. See http://wiki.openttd.org/Hidden_features for a non-
390   comprehensive list or look at the tooltips.
391 * Ingame console. More information at
392   http://wiki.openttd.org/index.php/Console
393 * Hovering over a GUI element shows tooltips. This can be changed to right click
394   via the advanced settings.
396 5.1) Logging of potentially dangerous actions
397 ---- ----------------------------------------
398 OpenTTD is a complex program, and together with NewGRF, it may show a buggy
399 behaviour. But not only bugs in code can cause problems. There are several
400 ways to affect game state possibly resulting in program crash or multiplayer
401 desyncs.
402 Easier way would be to forbid all these unsafe actions, but that would affect
403 game usability for many players. We certainly do not want that.
404 However, we receive bug reports because of this. To reduce time spent with
405 solving these problems, these potentially unsafe actions are logged in
406 the savegame (including crash.sav). Log is stored in crash logs, too.
408 Information logged:
410 * Adding / removing / changing order of NewGRFs
411 * Changing NewGRF parameters, loading compatible NewGRF
412 * Changing game mode (scenario editor <-> normal game)
413 * Loading game saved in a different OpenTTD / TTDPatch / Transport Tycoon Deluxe /
414   original Transport Tycoon version
415 * Running a modified OpenTTD build
416 * Changing settings affecting NewGRF behaviour (non-network-safe settings)
417 * Triggering NewGRF bugs
419 No personal information is stored.
421 You can show the game log by typing 'gamelog' in the console or by running
422 OpenTTD in debug mode.
425 6.0) Configuration file
426 ---- ------------------
427 The configuration file for OpenTTD (openttd.cfg) is in a simple Windows-like
428 .INI format. It is mostly undocumented. Almost all settings can be changed
429 ingame by using the 'Advanced Settings' window.
430 When you cannot find openttd.cfg you should look in the directories as
431 described in section 4.2. If you do not have an openttd.cfg OpenTTD will
432 create one after closing.
435 7.0) Compiling
436 ---- ---------
437 Windows:
438   You need Microsoft Visual Studio .NET. Open the project file
439   and it should build automatically. In case you want to build with SDL support
440   you need to add WITH_SDL to the project settings.
441   PNG (WITH_PNG) and ZLIB (WITH_ZLIB) support is enabled by default. For these
442   to work you need their development files. For best results, download the
443   openttd-useful.zip file from http://www.openttd.org/download-openttd-useful
444   Put the header files into your compiler's include/ directory and the
445   library (.lib) files into the lib/ directory.
446   For more help with VS see docs/Readme_Windows_MSVC.txt.
448   You can also build it using the Makefile with MSYS/MinGW or Cygwin/MinGW.
449   Please read the Makefile for more information.
451 Solaris, FreeBSD, OpenBSD:
452   Use 'gmake', but do a './configure' before the first build.
454 Linux/Unix:
455   OpenTTD can be built with GNU 'make'. On non-GNU systems it is called 'gmake'.
456   However, for the first build one has to do a './configure' first.
458 MacOS X:
459   Use 'make' or Xcode (which will then call make for you)
460   This will give you a binary for your CPU type (PPC/Intel)
461   However, for the first build one has to do a './configure' first.
462   To make a universal binary type './configure --enabled-universal'
463   instead of './configure'.
465 BeOS:
466   Use 'make', but do a './configure' before the first build.
468 MorphOS:
469   Use 'make'. However, for the first build one has to do a './configure' first.
470   Note that you need the MorphOS SDK, latest libnix updates (else C++ parts of
471   OpenTTD will not build) and the powersdl.library SDK. Optionally libz,
472   libpng and freetype2 developer files.
474 OS/2:
475   A comprehensive GNU build environment is required to build the OS/2 version.
476   See the docs/Readme_OS2.txt file for more information.
478 DOS:
479   A build environment with DJGPP is needed as well as libraries such as
480   Allegro, zlib and libpng, which all can be downloaded from the DJGPP
481   website. Compilation is straight forward: use make, but do a './configure'
482   before the first build. The build binary will need cwsdpmi.exe to be in
483   the same directory as the openttd executable. cwsdpmi.exe can be found in
484   the os/dos/cwsdpmi subdirectory. If you compile with stripping turned on a
485   binary will be generated that does not need cwsdpmi.exe by adding the
486   cswdstub.exe to the created OpenTTD binary.
488 7.1) Required/optional libraries
489 ---- ---------------------------
490 The following libraries are used by OpenTTD for:
491   - libSDL/liballegro: hardware access (video, sound, mouse)
492   - zlib: (de)compressing of old (0.3.0-1.0.5) savegames, content downloads,
493     heightmaps
494   - liblzo2: (de)compressing of old (pre 0.3.0) savegames
495   - liblzma: (de)compressing of savegames (1.1.0 and later)
496   - libpng: making screenshots and loading heightmaps
497   - libfreetype: loading generic fonts and rendering them
498   - libfontconfig: searching for fonts, resolving font names to actual fonts
499   - libicu: handling of right-to-left scripts (e.g. Arabic and Persian) and
500     natural sorting of strings.
502 OpenTTD does not require any of the libraries to be present, but without
503 liblzma you cannot open most recent savegames and without zlib you cannot
504 open most older savegames or use the content downloading system.
505 Without libSDL/liballegro on non-Windows and non-MacOS X machines you have
506 no graphical user interface; you would be building a dedicated server.
508 7.2) Supported compilers
509 ---- -------------------
510 The following compilers are known to compile OpenTTD:
511   - Microsoft Visual C++ (MSVC) 2005, 2008 and 2010.
512     Version 2005 gives bogus warnings about scoping issues.
513   - GNU Compiler Collection (GCC) 3.3 - 4.4, 4.6 - 4.8.
514     Versions 4.1 and earlier give bogus warnings about uninitialised variables.
515     Versions 4.4, 4.6 give bogus warnings about freeing non-heap objects.
516     Versions 4.6 and later give invalid warnings when lto is enabled.
517   - Intel C++ Compiler (ICC) 12.0.
518   - Clang/LLVM 2.9 - 3.0
519     Version 2.9 gives bogus warnings about code nonconformity.
521 The following compilers are known not to compile OpenTTD:
522   - Microsoft Visual C++ (MSVC) 2003 and earlier.
523   - GNU Compiler Collection (GCC) 3.2 and earlier.
524     These old versions fail due to OpenTTD's template usage.
525   - GNU Compiler Collection (GCC) 4.5. It optimizes enums too aggressively.
526     See http://bugs.openttd.org/task/5513 and references therein.
527   - Intel C++ Compiler (ICC) 11.1 and earlier.
528     Version 10.0 and earlier fail a configure check and fail with recent system
529         headers.
530     Version 10.1 fails to compile station_gui.cpp.
531     Version 11.1 fails with an internal error when compiling network.cpp.
532   - Clang/LLVM 2.8 and earlier.
533   - (Open) Watcom.
535 If any of these compilers can compile OpenTTD again, please let us know.
536 Patches to support more compilers are welcome.
538 7.3) Compilation of base sets
539 -----------------------------
540 To recompile the extra graphics needed to play with the original Transport
541 Tycoon Deluxe graphics you need GRFCodec (which includes NFORenum) as well.
542 GRFCodec can be found at: http://www.openttd.org/download-grfcodec
543 The compilation of these extra graphics does generally not happen, unless
544 you remove the graphics file using 'make maintainer-clean'.
546 Re-compilation of the base sets, thus also use of --maintainer-clean can
547 leave the repository in a modified state as different grfcodec versions can
548 cause binary differences in the resulting grf. Also translations might have
549 been added for the base sets which are not yet included in the base set
550 information files. Use the configure option --without-grfcodec to avoid
551 modification of the base set files by the build process.
554 8.0) Translating
555 ---- -----------
556 See http://www.openttd.org/development for up-to-date information.
558 The use of the online Translator service, located at
559 http://translator.openttd.org/, is highly encouraged. For getting an account
560 simply follow the guidelines in the FAQ of the translator website.
562 If for some reason the website is down for a longer period of time, the
563 information below might be of help.
565 Please contact the translations manager (http://www.openttd.org/contact)
566 before beginning the translation process! This avoids double work, as
567 someone else may have already started translating to the same language.
569 8.1) Translation
570 ---- -----------
571 So, now that you have notified the development team about your intention to
572 translate (You did, right? Of course you did.) you can pick up english.txt
573 (found in the SVN repository under /src/lang) and translate.
575 You must change the first two lines of the file appropriately:
577 ##name English-Name-Of-Language
578 ##ownname Native-Name-Of-Language
580 Note: Do not alter the following parts of the file:
582     * String identifiers (the first word on each line)
583     * Parts of the strings which are in curly braces (such as {STRING})
584     * Lines beginning with ## (such as ##id), other than the first two lines of
585       the file
587 8.2) Previewing
588 ---- ----------
589 In order to view the translation in the game, you need to compile your language
590 file with the strgen utility. As this utility is tailored to a specific OpenTTD
591 version, you need to compile it yourself. Just take the normal OpenTTD sources
592 and build that. During the build process the strgen utility will be made.
594 strgen is a command-line utility. It takes the language filename as parameter.
595 Example:
597 strgen lang/german.txt
599 This results in compiling german.txt and produces another file named german.lng.
600 Any missing strings are replaced with the English strings. Note that it looks
601 for english.txt in the lang subdirectory, which is where your language file
602 should also be.
604 That is all! You should now be able to select the language in the game options.
607 9.0) Troubleshooting
608 ---- ---------------
609 To see all startup options available to you, start OpenTTD with the
610 './openttd -h' option. This might help you tweak some of the settings.
612 If the game is acting strange and you feel adventurous you can try the
613 '-d [[<name>=]<level>]' flag, where the higher levels will give you more
614 debugging output. The 'name' variable can help you to display only some type of
615 debugging messages. This is mostly undocumented so best is to look in the
616 source code file debug.c for the various debugging types. For more information
617 look at http://wiki.openttd.org/index.php/Command_line.
619 The most frequent problem is missing data files. Please install OpenGFX and
620 possibly OpenSFX and OpenMSX. See section 4.1.1 for more information.
622 Under certain circumstance, especially on Ubuntu OpenTTD can be extremely slow
623 and/or freeze. See known-bugs.txt for more information and how to solve this
624 problem on your computer.
626 Under Windows 98 and lower it is impossible to use a dedicated server; it will
627 fail to start. Perhaps this is for the better because those OSes are not known
628 for their stability.
630 With the added support for font-based text selecting a non-latin language can
631 result in lots of question marks ('?') being shown on screen. Please open your
632 configuration file (openttd.cfg - see Section 4.2 for where to find it)
633 and add a suitable font for the small, medium and / or large font, e.g.:
634         small_font = "Tahoma"
635         medium_font = "Tahoma"
636         large_font = "Tahoma"
637 You should use a font name like 'Tahoma' or a path to the desired font.
639 Any NewGRF file used in a game is stored inside the savegame and will refuse
640 to load if you do not have that NewGRF file available. A list of missing files
641 can be viewed in the NewGRF window accessible from the file load dialogue window.
643 You can try to obtain the missing files from that NewGRF dialogue or - if they
644 are not available online - you can search manually through our forum's graphics
645 development section (http://www.tt-forums.net/viewforum.php?f=66) or GrfCrawler
646 (http://grfcrawler.tt-forums.net/). Put the NewGRF files in OpenTTD's newgrf folder
647 (see section 4.2 'OpenTTD directories') and rescan the list of available NewGRFs.
648 Once you have all missing files, you are set to go.
650 10.0) Licensing
651 ----- ---------
652 OpenTTD is licensed under the GNU General Public License version 2.0. For
653 the complete license text, see the file 'COPYING'. This license applies
654 to all files in this distribution, except as noted below.
656 The squirrel implementation in src/3rdparty/squirrel is licensed under
657 the Zlib license. See src/3rdparty/squirrel/COPYRIGHT for the complete
658 license text.
660 The md5 implementation in src/3rdparty/md5 is licensed under the Zlib
661 license. See the comments in the source files in src/3rdparty/md5 for
662 the complete license text.
664 The exe2coff implementation in os/dos/exe2coff is available under the
665 GPL, with a number of additional terms. See os/dos/exe2coff/copying and
666 os/dos/exe2coff/copying.dj for the exact licensing terms.
668 The CWSDPMI implementation in os/dos/cwsdpmi is distributed under a
669 custom binary-only license that prohibits modification. The exact
670 licensing terms can be found in os/dos/cwsdpmi/cwsdpmi.txt. The sources
671 for these files can be downloaded at its author site, at:
672 http://homer.rice.edu/~sandmann/cwsdpmi/csdpmi5s.zip
674 X.X) Credits
675 ---- -------
676 The OpenTTD team (in alphabetical order):
677   Albert Hofkamp (Alberth)        - GUI expert
678   Jean-François Claeys (Belugas)  - GUI, newindustries and more
679   Matthijs Kooijman (blathijs)    - Pathfinder-guru, pool rework
680   Ulf Hermann (fonsinchen)        - Cargo Distribution
681   Christoph Elsenhans (frosch)    - General coding
682   Loïc Guilloux (glx)             - Windows Expert
683   Michael Lutz (michi_cc)         - Path based signals
684   Owen Rudge (orudge)             - Forum host, OS/2 port
685   Peter Nelson (peter1138)        - Spiritual descendant from newGRF gods
686   Ingo von Borstel (planetmaker)  - Support
687   Remko Bijker (Rubidium)         - Lead coder and way more
688   Zdeněk Sojka (SmatZ)            - Bug finder and fixer
689   José Soler (Terkhen)            - General coding
690   Thijs Marinussen (Yexo)         - AI Framework
691   Leif Linse (Zuu)                - AI/Game Script
693 Inactive Developers:
694   Bjarni Corfitzen (Bjarni)       - MacOSX port, coder and vehicles
695   Victor Fischer (Celestar)       - Programming everywhere you need him to
696   Tamás Faragó (Darkvater)        - Ex-Lead coder
697   Jaroslav Mazanec (KUDr)         - YAPG (Yet Another Pathfinder God) ;)
698   Jonathan Coome (Maedhros)       - High priest of the NewGRF Temple
699   Attila Bán (MiHaMiX)            - WebTranslator 1 and 2
700   Christoph Mallon (Tron)         - Programmer, code correctness police
702 Retired Developers:
703   Ludvig Strigeus (ludde)         - OpenTTD author, main coder (0.1 - 0.3.3)
704   Serge Paquet (vurlix)           - Assistant project manager, coder (0.1 - 0.3.3)
705   Dominik Scherer (dominik81)     - Lead programmer, GUI expert (0.3.0 - 0.3.6)
706   Benedikt Brüggemeier (skidd13)  - Bug fixer and code reworker
707   Patric Stout (TrueBrain)        - NoProgrammer (0.3 - 1.2), sys op (active)
709 Thanks to:
710   Josef Drexler                   - For his great work on TTDPatch.
711   Marcin Grzegorczyk              - For his TTDPatch work and documentation of Transport Tycoon Deluxe internals and track foundations
712   Petr Baudiš (pasky)             - Many patches, newgrf support, etc.
713   Simon Sasburg (HackyKid)        - For the many bugfixes he has blessed us with
714   Stefan Meißner (sign_de)        - For his work on the console
715   Mike Ragsdale                   - OpenTTD installer
716   Cian Duffy (MYOB)               - BeOS port / manual writing
717   Christian Rosentreter (tokai)   - MorphOS / AmigaOS port
718   Richard Kempton (RichK67)       - Additional airports, initial TGP implementation
719   Alberto Demichelis              - Squirrel scripting language
720   L. Peter Deutsch                - MD5 implementation
721   Michael Blunck                  - For revolutionizing TTD with awesome graphics
722   George                          - Canal graphics
723   Andrew Parkhouse (andythenorth) - River graphics
724   David Dallaston (Pikka)         - Tram tracks
725   All Translators                 - For their support to make OpenTTD a truly international game
726   Bug Reporters                   - Thanks for all bug reports
727   Chris Sawyer                    - For an amazing game!