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