Changeset - r19344:2e8cd88c71d5
[Not reviewed]
master
1 3 0
rubidium - 12 years ago 2012-05-16 19:34:36
rubidium@openttd.org
(svn r24257) -Fix [FS#5112]: update some outdated documentation and make is somewhat more consistent
4 files changed with 73 insertions and 106 deletions:
0 comments (0 inline, 0 general)
Makefile.bundle.in
Show inline comments
 
@@ -52,49 +52,48 @@ bundle: all
 
	$(Q)mkdir -p "$(BASESET_DIR)"
 
	$(Q)mkdir -p "$(LANG_DIR)"
 
ifdef OSXAPP
 
	$(Q)mkdir -p "$(BUNDLE_DIR)/$(OSXAPP)/Contents/Resources"
 
	$(Q)echo "APPL????" >                                          "$(BUNDLE_DIR)/$(OSXAPP)/Contents/PkgInfo"
 
	$(Q)cp    "$(ROOT_DIR)/os/macosx/openttd.icns"                 "$(BUNDLE_DIR)/$(OSXAPP)/Contents/Resources/openttd.icns"
 
	$(Q)$(ROOT_DIR)/os/macosx/plistgen.sh                          "$(BUNDLE_DIR)/$(OSXAPP)" "$(REV)"
 
	$(Q)cp    "$(ROOT_DIR)/os/macosx/splash.png"                   "$(BASESET_DIR)"
 
endif
 
ifeq ($(OS),UNIX)
 
	$(Q)cp "$(ROOT_DIR)/media/openttd.32.bmp" "$(BASESET_DIR)/"
 
endif
 
	$(Q)cp "$(BIN_DIR)/$(TTD)"                "$(TTD_DIR)/"
 
	$(Q)cp "$(BIN_DIR)/ai/"compat_*.nut       "$(AI_DIR)/"
 
	$(Q)cp "$(BIN_DIR)/baseset/"*.grf         "$(BASESET_DIR)/"
 
	$(Q)cp "$(BIN_DIR)/baseset/"*.obg         "$(BASESET_DIR)/"
 
	$(Q)cp "$(BIN_DIR)/baseset/"*.obs         "$(BASESET_DIR)/"
 
	$(Q)cp "$(BIN_DIR)/baseset/opntitle.dat"  "$(BASESET_DIR)/"
 
	$(Q)cp "$(BIN_DIR)/baseset/"*.obm         "$(BASESET_DIR)/"
 
	$(Q)cp "$(BIN_DIR)/lang/"*.lng            "$(LANG_DIR)/"
 
	$(Q)cp "$(ROOT_DIR)/readme.txt"           "$(BUNDLE_DIR)/"
 
	$(Q)cp "$(ROOT_DIR)/COPYING"              "$(BUNDLE_DIR)/"
 
	$(Q)cp "$(ROOT_DIR)/known-bugs.txt"       "$(BUNDLE_DIR)/"
 
	$(Q)cp "$(ROOT_DIR)/docs/multiplayer.txt" "$(BUNDLE_DIR)/docs/"
 
	$(Q)cp "$(ROOT_DIR)/docs/32bpp.txt"       "$(BUNDLE_DIR)/docs/"
 
	$(Q)cp "$(ROOT_DIR)/changelog.txt"        "$(BUNDLE_DIR)/"
 
ifdef MAN_DIR
 
	$(Q)mkdir -p "$(BUNDLE_DIR)/man/"
 
	$(Q)cp "$(ROOT_DIR)/docs/openttd.6"       "$(BUNDLE_DIR)/man/"
 
	$(Q)gzip -9 "$(BUNDLE_DIR)/man/openttd.6"
 
endif
 
	$(Q)cp "$(ROOT_DIR)/media/openttd.32.xpm" "$(BUNDLE_DIR)/media/"
 
	$(Q)cp "$(ROOT_DIR)/media/openttd."*.png  "$(BUNDLE_DIR)/media/"
 
	$(Q)cp "$(BIN_DIR)/scripts/"*             "$(BUNDLE_DIR)/scripts/"
 
ifdef MENU_DIR
 
	$(Q)cp "$(ROOT_DIR)/media/openttd.desktop" "$(BUNDLE_DIR)/media/"
 
	$(Q)$(AWK) -f "$(ROOT_DIR)/media/openttd.desktop.translation.awk" "$(SRC_DIR)/lang/"*.txt | $(SORT) |  $(AWK) -f "$(ROOT_DIR)/media/openttd.desktop.filter.awk" >> "$(BUNDLE_DIR)/media/openttd.desktop"
 
	$(Q)sed s/=openttd/=$(BINARY_NAME)/g "$(BUNDLE_DIR)/media/openttd.desktop" > "$(ROOT_DIR)/media/openttd.desktop.install"
 
endif
 
ifeq ($(TTD), openttd.exe)
 
	$(Q)unix2dos "$(BUNDLE_DIR)/docs/"* "$(BUNDLE_DIR)/readme.txt" "$(BUNDLE_DIR)/COPYING" "$(BUNDLE_DIR)/changelog.txt" "$(BUNDLE_DIR)/known-bugs.txt"
 
ifeq ($(OS), DOS)
 
	$(Q)cp "$(ROOT_DIR)/os/dos/cwsdpmi.txt"   "$(BUNDLE_DIR)/docs/"
 
ifndef STRIP
 
	$(Q)cp "$(ROOT_DIR)/os/dos/cwsdpmi.exe"   "$(TTD_DIR)/"
 
endif
 
endif
 
endif
 

	
docs/32bpp.txt
Show inline comments
 
deleted file
os/windows/installer/install.nsi
Show inline comments
 
@@ -122,51 +122,48 @@ Section "!OpenTTD" Section1
 

	
 
	; Copy AI files
 
	SetOutPath "$INSTDIR\ai\"
 
	File ${PATH_ROOT}bin\ai\compat_*.nut
 

	
 
	; Copy data files
 
	SetOutPath "$INSTDIR\baseset\"
 
	File ${PATH_ROOT}bin\baseset\*.grf
 
	File ${PATH_ROOT}bin\baseset\*.obg
 
	File ${PATH_ROOT}bin\baseset\*.obm
 
	File ${PATH_ROOT}bin\baseset\*.obs
 
	File ${PATH_ROOT}bin\baseset\opntitle.dat
 

	
 
	; Copy the scripts
 
	SetOutPath "$INSTDIR\scripts\"
 
	File ${PATH_ROOT}bin\scripts\*.*
 
	Push "$INSTDIR\scripts\readme.txt"
 
	Call unix2dos
 

	
 
	; Copy some documention files
 
	SetOutPath "$INSTDIR\docs\"
 
	File ${PATH_ROOT}docs\multiplayer.txt
 
	Push "$INSTDIR\docs\multiplayer.txt"
 
	Call unix2dos
 
	File ${PATH_ROOT}docs\32bpp.txt
 
	Push "$INSTDIR\docs\32bpp.txt"
 
	Call unix2dos
 

	
 
	; Copy the rest of the stuff
 
	SetOutPath "$INSTDIR\"
 

	
 
	; Copy text files
 
	File ${PATH_ROOT}changelog.txt
 
	Push "$INSTDIR\changelog.txt"
 
	Call unix2dos
 
	File ${PATH_ROOT}COPYING
 
	Push "$INSTDIR\COPYING"
 
	Call unix2dos
 
	File ${PATH_ROOT}readme.txt
 
	Push "$INSTDIR\readme.txt"
 
	Call unix2dos
 
	File ${PATH_ROOT}known-bugs.txt
 
	Push "$INSTDIR\known-bugs.txt"
 
	Call unix2dos
 

	
 
	; Copy executable
 
	File /oname=openttd.exe ${BINARY_DIR}\openttd.exe
 

	
 

	
 
	; Delete old files from the main dir. they are now placed in baseset/ and lang/
 
	Delete "$INSTDIR\*.lng"
 
@@ -196,49 +193,48 @@ Section "!OpenTTD" Section1
 
	; Create the Registry Entries
 
	WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\OpenTTD" "Comments" "Visit ${APPURLLINK}"
 
	WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\OpenTTD" "DisplayIcon" "$INSTDIR\openttd.exe,0"
 
	WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\OpenTTD" "DisplayName" "OpenTTD ${APPVERSION}"
 
	WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\OpenTTD" "DisplayVersion" "${APPVERSION}"
 
	WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\OpenTTD" "HelpLink" "${APPURLLINK}"
 
	WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\OpenTTD" "Install Folder" "$INSTDIR"
 
	WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\OpenTTD" "Publisher" "OpenTTD"
 
	WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\OpenTTD" "Shortcut Folder" "$SHORTCUTS"
 
	WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\OpenTTD" "UninstallString" "$INSTDIR\uninstall.exe"
 
	WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\OpenTTD" "URLInfoAbout" "${APPURLLINK}"
 
	; This key sets the Version DWORD that new installers will check against
 
	WriteRegDWORD HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\OpenTTD" "Version" ${INSTALLERVERSION}
 

	
 
	!insertmacro MUI_STARTMENU_WRITE_BEGIN "OpenTTD"
 
	CreateShortCut "$DESKTOP\OpenTTD.lnk" "$INSTDIR\openttd.exe"
 
	CreateDirectory "$SMPROGRAMS\$SHORTCUTS"
 
	CreateShortCut "$SMPROGRAMS\$SHORTCUTS\OpenTTD.lnk" "$INSTDIR\openttd.exe"
 
	CreateShortCut "$SMPROGRAMS\$SHORTCUTS\Uninstall.lnk" "$INSTDIR\uninstall.exe"
 
	CreateShortCut "$SMPROGRAMS\$SHORTCUTS\Readme.lnk" "$INSTDIR\Readme.txt"
 
	CreateShortCut "$SMPROGRAMS\$SHORTCUTS\Changelog.lnk" "$INSTDIR\Changelog.txt"
 
	CreateShortCut "$SMPROGRAMS\$SHORTCUTS\Known-bugs.lnk" "$INSTDIR\known-bugs.txt"
 
	CreateDirectory "$SMPROGRAMS\$SHORTCUTS\Docs"
 
	CreateShortCut "$SMPROGRAMS\$SHORTCUTS\Docs\Multiplayer.lnk" "$INSTDIR\docs\multiplayer.txt"
 
	CreateShortCut "$SMPROGRAMS\$SHORTCUTS\Docs\32bpp.lnk" "$INSTDIR\docs\32bpp.txt"
 
	CreateDirectory "$SMPROGRAMS\$SHORTCUTS\Scripts"
 
	CreateShortCut "$SMPROGRAMS\$SHORTCUTS\Scripts\Readme.lnk" "$INSTDIR\scripts\readme.txt"
 
	!insertmacro MUI_STARTMENU_WRITE_END
 
SectionEnd
 

	
 
;--------------------------------------------------------------
 
; OpenTTD translation install section. Copies only translations
 
Section "OpenTTD translations" Section6
 
	; Overwrite files by default, but don't complain on failure
 
	SetOverwrite try
 

	
 
	; Copy language files
 
	SetOutPath "$INSTDIR\lang\"
 
	File ${PATH_ROOT}bin\lang\*.lng
 
SectionEnd
 

	
 
;----------------------------------------------------------------------------------
 
; OpenGFX files install section. Downloads OpenGFX and installs it
 
Section "Download OpenGFX (free graphics set)" Section3
 
	SetOverwrite try
 

	
 
	NSISdl::download "http://binaries.openttd.org/installer/opengfx-${OPENGFX_BASE_VERSION}.7z" "$INSTDIR\baseset\opengfx.7z"
 
	Pop $R0 ;Get the return value
 
	StrCmp $R0 "success" +3
readme.txt
Show inline comments
 
@@ -59,50 +59,52 @@ like this readme.
 
For tracking our bugs we are using a bug tracker called Flyspray. You can find
 
the tracker at http://bugs.openttd.org/. Before actually reporting take a look
 
through the already reported bugs there to see if the bug is already known.
 
The 'known-bugs.txt' file might be a bit outdated at the moment you are
 
reading it as only bugs known before the release are documented there. Also
 
look through the recently closed bugs.
 

	
 
When you are sure it is not already reported you should:
 
 * Make sure you are running a recent version, i.e. run the latest stable or
 
   nightly based on where you found the bug.
 
 * Make sure you are not running a non-official binary, like a patch pack.
 
   When you are playing with a patch pack you should report any bugs to the
 
   forum thread related to that patch pack.
 
 * Make it reproducible for the developers. In other words, create a savegame
 
   in which you can reproduce the issue once loaded. It is very useful to give
 
   us the crash.dmp, crash.sav, crash.log and crash screenshot which are
 
   created on crashes.
 
 * Check whether the bug is already reported on our bug tracker. This includes
 
   searching for recently closed bug reports as the bug might already be fixed.
 

	
 
After you have done all that you can report the bug. Please include the
 
following information in your bug report:
 
 * OpenTTD version (PLEASE test the latest SVN/nightly build)
 
 * Bug details, including instructions how to reproduce it
 
 * Platform (Win32, Linux, FreeBSD, ...) and compiler (including version) if
 
 * Platform (Windows, Linux, FreeBSD, ...) and compiler (including version) if
 
   you compiled OpenTTD yourself.
 
 * The processor architecture of your OS (32 bits Windows, 64 bits Windows,
 
   Linux on an ARM, Mac OS X on a PowerPC, ...)
 
 * Attach a saved game *and* a screenshot if possible
 
 * If this bug only occurred recently please note the last version without
 
   the bug and the first version including the bug. That way we can fix it
 
   quicker by looking at the changes made.
 
 * Attach crash.dmp, crash.log and crash.sav. These files are usually created
 
   next to your openttd.cfg. The crash handler will tell you the location.
 

	
 
2.2) Reporting desyncs
 
---- -----------------
 
As desyncs are hard to make reproducible OpenTTD has the ability to log all
 
actions done by clients so we can replay the whole game in an effort to make
 
desyncs better reproducible. You need to turn this ability on. When turned
 
on an automatic savegame will be made once the map has been constructed in
 
the 'save/autosave' directory, see OpenTTD directories to know where to find
 
this directory. Furthermore the log file 'commands-out.log' will be created
 
and all actions will be written to there.
 

	
 
To enable the desync debugging you need to set the debug level for 'desync'
 
to at least 1. You do this by starting OpenTTD with '-d desync=<level>' as
 
parameter or by typing 'debug_level desync=<level>' in OpenTTD's internal
 
console.
 
The desync debug levels are:
 
 0: nothing.
 
 1: dumping of commands to 'commands-out.log'.
 
@@ -124,243 +126,257 @@ When a desync has occurred with the desy
 
a bug report with the following files attached:
 
 - commands-out.log as it contains all the commands that were done
 
 - the last saved savegame (search for the last line beginning with
 
   'save: dmp_cmds_' in commands-out.log). We use this savegame to check
 
   whether we can quickly reproduce the desync. Otherwise we will need...
 
 - the first saved savegame (search for the first line beginning with 'save'
 
   where the first part, up to the last underscore '_', is the same). We need
 
   this savegame to be able to reproduce the bug when the last savegame is not
 
   old enough. If you loaded a scenario or savegame you need to attach that.
 
 - optionally you can attach the savegames from around 50%, 75%, 85%, 90% and
 
   95% of the game's progression. We can use these savegames to speed up the
 
   reproduction of the desync, but we should be able to reproduce these
 
   savegames based on the first savegame and commands-out.log.
 
 - in case you use any NewGRFs you should attach the ones you used unless
 
   we can easily find them ourselves via bananas or when they are in the
 
   #openttdcoop pack.
 

	
 
Do NOT remove the dmp_cmds savegames of a desync you have reported until the
 
desync has been fixed; if you, by accident, send us the wrong savegames we
 
will not be able to reproduce the desync and thus will be unable to fix it.
 

	
 

	
 
3.0) Supported platforms
 
---- -------------------
 
OpenTTD has been ported to several platforms and operating systems. It shouldn't
 
be very difficult to port it to a new platform. The currently working platforms
 
are:
 
OpenTTD has been ported to several platforms and operating systems. It should
 
not be very difficult to port it to a new platform. The currently working
 
platforms are:
 

	
 
  BeOS                 - SDL or Allegro
 
  DOS                  - Allegro
 
  FreeBSD              - SDL
 
  Linux                - SDL or Allegro
 
  MacOS X (universal)  - Cocoa video and sound drivers
 
  MorphOS              - SDL
 
  OpenBSD              - SDL
 
  OS/2                 - SDL
 
  Windows              - Win32 GDI (faster) or SDL or Allegro
 

	
 

	
 
4.0) Installing and running OpenTTD
 
---- ------------------------------
 
Installing OpenTTD is fairly straightforward. Either you have downloaded an
 
archive which you have to extract to a directory where you want OpenTTD to
 
be installed, or you have downloaded an installer, which will automatically
 
extract OpenTTD in the given directory.
 

	
 
OpenTTD looks in multiple locations to find the required data files (described
 
in section 4.2). Installing any 3rd party files into a "shared" location has
 
in section 4.2). Installing any 3rd party files into a 'shared' location has
 
the advantage that you only need to do this step once, rather than copying the
 
data files into all OpenTTD versions you have.
 
Savegames, screenshots, etc are saved relative to the config file (openttd.cfg)
 
currently being used. This means that if you use a config file in one of the
 
shared directories, savegames will reside in the save/ directory next to the
 
openttd.cfg file there.
 
If you want savegames and screenshots in the directory where the OpenTTD binary
 
resides, simply have your config file in that location. But if you remove this
 
config file, savegames will still be in this directory (see notes in section 4.2)
 
config file, savegames will still be in this directory (see notes in
 
section 4.2 'OpenTTD directories')
 

	
 
OpenTTD comes without AIs, so if you want to play with AIs you have to download
 
them. The easiest way is via the "Check Online Content" button in the main menu.
 
them. The easiest way is via the 'Check Online Content' button in the main menu.
 
You can select some AIs that you think are compatible with your playing style.
 
Another way is manually downloading the AIs from the forum although then you
 
need to make sure that you install all the required AI libraries too; they get
 
automatically selected (and downloaded) if you get the AIs via the "Check
 
Online Content". If you do not have an AI but have configured OpenTTD to start
 
automatically selected (and downloaded) if you get the AIs via the 'Check
 
Online Content'. If you do not have an AI but have configured OpenTTD to start
 
an AI a message will be shown that the 'dummy' AI has been started.
 

	
 
4.1) (Required) 3rd party files
 
---- --------------------------
 
Before you run OpenTTD, you need to put the game's data files into a baseset/
 
directory which can be located in various places addressed in the following
 
section.
 

	
 
For OpenTTD you need to acquire some third party data files. For this you have
 
the choice of using the original Transport Tycoon Deluxe data files or a set
 
of free data files.
 

	
 
Do NOT copy files included with OpenTTD into "shared" directories (explained in
 
Do NOT copy files included with OpenTTD into 'shared' directories (explained in
 
the following sections) as sooner or later you will run into graphical glitches
 
when using other versions of the game.
 

	
 
4.1.1) Free graphics and sound files
 
------ -----------------------------
 
The free data files, split into OpenGFX for graphics, OpenSFX for sounds and
 
OpenMSX for music can be found at:
 
 - http://www.openttd.org/download-opengfx for OpenGFX
 
 - http://www.openttd.org/download-opensfx for OpenSFX
 
 - http://www.openttd.org/download-openmsx for OpenMSX
 
Please follow the readme of these packages about the installation procedure.
 
The Windows installer can optionally download and install these packages.
 

	
 
4.1.2) Original Transport Tycoon Deluxe graphics and sound files
 
------ ---------------------------------------------------------
 
If you want to play with the original Transport Tycoon Deluxe data files you
 
have to copy the data files from the CD-ROM into the data/ directory. It does
 
not matter whether you copy them from the DOS or Windows version of Transport
 
Tycoon Deluxe. The Windows install can optionally copy these files.
 
You need to copy the following files:
 
 - sample.cat
 
 - trg1r.grf or TRG1.GRF
 
 - trgcr.grf or TRGC.GRF
 
 - trghr.grf or TRGH.GRF
 
 - trgir.grf or TRGI.GRF
 
 - trgtr.grf or TRGT.GRF
 

	
 
4.1.3) Original Transport Tycoon Deluxe music
 
------ --------------------------------------
 
If you want the Transport Tycoon Deluxe music, copy the files from the gm/
 
folder from the Windows version of Transport Tycoon Deluxe to the baseset
 
folder in your OpenTTD folder (also explained in the following sections).
 
The music from the DOS version as well as the original Transport Tycoon does
 
not work.
 

	
 
4.1.4) AIs
 
------ ---
 
If you want AIs use the in-game content downloader. If for some reason that is
 
not possible or you want to use an AI that has not been uploaded to the content
 
download system download the tar file and place it in the ai/ directory. If the
 
AI needs libraries you'll have to download those too and put them in the
 
AI needs libraries you will have to download those too and put them in the
 
ai/library/ directory. All AIs and AI Libraries that have been uploaded to
 
the content download system can be found at http://noai.openttd.org/downloads/
 
The AIs and libraries can be found their in the form of .tar.gz packages.
 
OpenTTD can read inside tar files but it does not extract .tar.gz files by
 
itself.
 
To figure out which libraries you need for an AI you have to start the AI and
 
wait for an error message to pop up. The error message will tell you
 
"couldn't find library 'lib-name'". Download that library and try again.
 
'could not find library "lib-name"'. Download that library and try again.
 

	
 
4.1.5) Game scripts
 
------ ------------
 
If you want an extra challenge in OpenTTD you can download so-called game
 
scripts via the in-game content downloader. These game scripts have varying
 
functionality, though they can generally influence town growth, subsidies, add
 
goals to reach or provide a different ranking system.
 
If you download a game script manually you have to follow the same rules as for
 
AIs, except that game scripts are placed in the game/ directory instead of the
 
ai/ directory.
 

	
 

	
 
4.2) OpenTTD directories
 
---- -------------------
 
OpenTTD uses its own directory to store its required 3rd party base set files (see section
 
4.1 "Required 3rd party files") and non-compulsory extension and configuration files. See
 
below for their proper place within this OpenTTD main data directory.
 
OpenTTD uses its own directory to store its required 3rd party base set files
 
(see section 4.1 'Required 3rd party files') and non-compulsory extension and
 
configuration files. See below for their proper place within this OpenTTD main
 
data directory.
 

	
 
The main OpenTTD directories can be found in various locations, depending on your operating
 
system:
 
The main OpenTTD directories can be found in various locations, depending on
 
your operating system:
 
	1. The current working directory (from where you started OpenTTD)
 
		For non-Windows operating systems OpenTTD will not scan for files in this
 
		directory if it is your personal directory, i.e. "~/", or when it is the
 
		root directory, i.e. "/".
 
		directory if it is your personal directory, i.e. '~/', or when it is the
 
		root directory, i.e. '/'.
 
	2. Your personal directory
 
		Windows: C:\My Documents\OpenTTD (95, 98, ME)
 
		         C:\Documents and Settings\<username>\My Documents\OpenTTD (2000, XP)
 
		         C:\Users\<username>\Documents\OpenTTD (Vista, 7)
 
		Mac OSX: ~/Documents/OpenTTD
 
		Linux:   ~/.openttd
 
	3. The shared directory
 
		Windows: C:\Documents and Settings\All Users\Shared Documents\OpenTTD (2000, XP)
 
		         C:\Users\Public\Documents\OpenTTD (Vista, 7)
 
		Mac OSX: /Library/Application Support/OpenTTD
 
		Linux:   not available
 
	4. The binary directory (where the OpenTTD executable is)
 
		Windows: C:\Program Files\OpenTTD
 
		Linux:   /usr/games
 
	5. The installation directory (Linux only)
 
		Linux:   /usr/share/games/openttd
 
	6. The application bundle (Mac OSX only)
 
		It includes the OpenTTD files (grf+lng) and it will work as long as they aren't
 
		touched
 
		It includes the OpenTTD files (grf+lng) and it will work as long as they
 
		are not touched
 

	
 
Different types of data or extensions go into different subdirectories of the chosen main
 
OpenTTD directory:
 
Different types of data or extensions go into different subdirectories of the
 
chosen main OpenTTD directory:
 
	Config File:         (no subdirectory)
 
	Screenshots:         (no subdirectory)
 
	Base Graphics:       baseset                 (or a subdirectory thereof)
 
	Sound Sets:          baseset                 (or a subdirectory thereof)
 
	NewGRFs:             newgrf                  (or a subdirectory thereof)
 
	32bpp Sets:          newgrf                  (or a subdirectory thereof)
 
	Music Sets:          baseset                 (or a subdirectory thereof)
 
	AIs:                 ai                      (or a subdirectory thereof)
 
	AI Libraries:        ai/libraries            (or a subdirectory thereof)
 
	Game Scripts (GS):   game                    (or a subdirectory thereof)
 
	GS Libraries:        game/libraries          (or a subdirectory thereof)
 
	Savegames:           save
 
	Automatic Savegames: save/autosave
 
	Scenarios:           scenario
 

	
 
The (automatically created) directory content_download is for OpenTTD's internal use and
 
no files should be added to it or its subdirectories manually.
 
The (automatically created) directory content_download is for OpenTTD's internal
 
use and no files should be added to it or its subdirectories manually.
 

	
 
Notes:
 
	- Linux in the previous list means .deb, but most paths should be similar for others.
 
	- Linux in the previous list means .deb, but most paths should be similar for
 
	  others.
 
	- The previous search order is also used for NewGRFs and openttd.cfg.
 
	- If openttd.cfg is not found, then it will be created using the 2, 4, 1, 3, 5 order.
 
	- If openttd.cfg is not found, then it will be created using the 2, 4, 1, 3,
 
	  5 order.
 
	- Savegames will be relative to the config file only if there is no save/
 
	  directory in paths with higher priority than the config file path, but
 
	  autosaves and screenshots will always be relative to the config file.
 

	
 
The preferred setup:
 
Place 3rd party files in shared directory (or in personal directory if you don't
 
have write access on shared directory) and have your openttd.cfg config file in
 
personal directory (where the game will then also place savegames and screenshots).
 
Place 3rd party files in shared directory (or in personal directory if you do
 
not have write access on shared directory) and have your openttd.cfg config
 
file in personal directory (where the game will then also place savegames and
 
screenshots).
 

	
 
4.3) Portable installations (portable media)
 
---- ---------------------------------------
 
You can install OpenTTD on external media so you can take it with you, i.e.
 
using a USB key, or a USB HDD, etc.
 
Create a directory where you shall store the game in (i.e. OpenTTD/).
 
Copy the binary (OpenTTD.exe, OpenTTD.app, openttd, etc), baseset/ and your
 
openttd.cfg to this directory.
 
You can copy binaries for any operating system into this directory, which will
 
allow you to play the game on nearly any computer you can attach the external
 
media to.
 
As always - additional grf files are stored in the newgrf/ dir (for details,
 
again, see section 4.1).
 

	
 
4.4) Files in tar (archives)
 
---- -----------------------
 
OpenTTD can read files that are in an uncompressed tar (archive), which
 
makes it easy to bundle files belonging to the same script, NewGRF or base
 
set. Music sets are the only exception as they cannot be stored in a tar
 
file due to being played by external applications.
 

	
 
OpenTTD sees each tar archive as the 'root' of its search path. This means
 
that having a file with the same path in two different tar files means that
 
one cannot be opened, after all only one file will be found first. This is
 
done to make it possible to have the large 32bpp zoomed graphics in a separate
 
file to the (relatively small) unzoomed 8bpp NewGRF. As such it is advisable
 
to put an uniquely named folder in the root of the tar and put all the
 
OpenTTD sees each tar archive as the 'root' of its search path. This means that
 
having a file with the same path in two different tar files means that one
 
cannot be opened, after all only one file will be found first. As such it is
 
advisable to put an uniquely named folder in the root of the tar and put all the
 
content in that folder. For example, all downloaded content has a path that
 
concatenates the name of the content and the version, which makes the path
 
unique. For custom tar files it is advised to do this as well.
 

	
 
The normal files are also referred to by their relative path from the search
 
directory, this means that also normal files could hide files in a tar as
 
long as the relative path from the search path of the normal file is the
 
same as the path in the tar file. Again it is advised to have an unique path
 
to the normal file so they do not collide with the files from other tar
 
files.
 

	
 

	
 
5.0) OpenTTD features
 
---- ----------------
 
OpenTTD has a lot of features going beyond the original Transport Tycoon Deluxe
 
emulation. Unfortunately, there is currently no comprehensive list of features,
 
but there is a basic features list on the web, and some optional features can be
 
controlled through the Advanced Settings dialog. We also implement some
 
features known from TTDPatch (http://www.ttdpatch.net/).
 

	
 
Several important non-standard controls:
 

	
 
* Ctrl modifies many commands and makes them more powerful. For example Ctrl
 
  clicking on signals with the build signal tool changes their behaviour, holding
 
@@ -384,258 +400,258 @@ However, we receive bug reports because 
 
solving these problems, these potentially unsafe actions are logged in
 
the savegame (including crash.sav). Log is stored in crash logs, too.
 

	
 
Information logged:
 

	
 
* Adding / removing / changing order of NewGRFs
 
* Changing NewGRF parameters, loading compatible NewGRF
 
* Changing game mode (scenario editor <-> normal game)
 
* Loading game saved in a different OpenTTD / TTDPatch / Transport Tycoon Deluxe /
 
  original Transport Tycoon version
 
* Running a modified OpenTTD build
 
* Changing settings affecting NewGRF behaviour (non-network-safe settings)
 
* Changing landscape (by cheat)
 
* Triggering NewGRF bugs
 

	
 
No personal information is stored.
 

	
 
You can show the game log by typing 'gamelog' in the console or by running
 
OpenTTD in debug mode.
 

	
 

	
 
6.0) Configuration file
 
---- ------------------
 
The configuration file for OpenTTD (openttd.cfg) is in a simple Windows-like
 
.INI format. It's mostly undocumented. Almost all settings can be changed
 
.INI format. It is mostly undocumented. Almost all settings can be changed
 
ingame by using the 'Advanced Settings' window.
 
When you cannot find openttd.cfg you should look in the directories as
 
described in section 4.2. If you do not have an openttd.cfg OpenTTD will
 
create one after closing.
 

	
 

	
 
7.0) Compiling
 
---- ---------
 
Windows:
 
  You need Microsoft Visual Studio .NET. Open the project file
 
  and it should build automatically. In case you want to build with SDL support
 
  you need to add WITH_SDL to the project settings.
 
  PNG (WITH_PNG) and ZLIB (WITH_ZLIB) support is enabled by default. For these
 
  to work you need their development files. For best results, download the
 
  openttd-useful.zip file from http://www.openttd.org/download-openttd-useful
 
  Put the header files into your compiler's include/ directory and the
 
  library (.lib) files into the lib/ directory.
 
  For more help with VS see docs/Readme_Windows_MSVC.txt.
 

	
 
  You can also build it using the Makefile with MSYS/MinGW or Cygwin/MinGW.
 
  Please read the Makefile for more information.
 

	
 
Solaris, FreeBSD, OpenBSD:
 
  Use "gmake", but do a "./configure" before the first build.
 
  Use 'gmake', but do a './configure' before the first build.
 

	
 
Linux/Unix:
 
  OpenTTD can be built with GNU "make". On non-GNU systems it's called "gmake".
 
  However, for the first build one has to do a "./configure" first.
 
  OpenTTD can be built with GNU 'make'. On non-GNU systems it is called 'gmake'.
 
  However, for the first build one has to do a './configure' first.
 

	
 
MacOS X:
 
  Use "make" or Xcode (which will then call make for you)
 
  Use 'make' or Xcode (which will then call make for you)
 
  This will give you a binary for your CPU type (PPC/Intel)
 
  However, for the first build one has to do a "./configure" first.
 
  To make a universal binary type "./configure --enabled-universal"
 
  instead of "./configure".
 
  However, for the first build one has to do a './configure' first.
 
  To make a universal binary type './configure --enabled-universal'
 
  instead of './configure'.
 

	
 
BeOS:
 
  Use "make", but do a "./configure" before the first build.
 
  Use 'make', but do a './configure' before the first build.
 

	
 
MorphOS:
 
  Use "make". However, for the first build one has to do a "./configure" first.
 
  Use 'make'. However, for the first build one has to do a './configure' first.
 
  Note that you need the MorphOS SDK, latest libnix updates (else C++ parts of
 
  OpenTTD will not build) and the powersdl.library SDK. Optionally libz,
 
  libpng and freetype2 developer files.
 

	
 
OS/2:
 
  A comprehensive GNU build environment is required to build the OS/2 version.
 
  See the docs/Readme_OS2.txt file for more information.
 

	
 
DOS:
 
  A build environment with DJGPP is needed as well as libraries such as
 
  Allegro, zlib and libpng, which all can be downloaded from the DJGPP
 
  website. Compilation is straight forward: use make, but do a "./configure"
 
  website. Compilation is straight forward: use make, but do a './configure'
 
  before the first build. The build binary will need cwsdpmi.exe to be in
 
  the same directory as the openttd executable. cwsdpmi.exe can be found in
 
  the os/dos subdirectory. If you compile with stripping turned on a binary
 
  will be generated that does not need cwsdpmi.exe by adding the cswdstub.exe
 
  to the created OpenTTD binary.
 

	
 
7.1) Required/optional libraries
 
---- ---------------------------
 
The following libraries are used by OpenTTD for:
 
  - libSDL/liballegro: hardware access (video, sound, mouse)
 
  - zlib: (de)compressing of old (0.3.0-1.0.5) savegames, content downloads,
 
    heightmaps
 
  - liblzo2: (de)compressing of old (pre 0.3.0) savegames
 
  - liblzma: (de)compressing of savegames (1.1.0 and later)
 
  - libpng: making screenshots and loading heightmaps
 
  - libfreetype: loading generic fonts and rendering them
 
  - libfontconfig: searching for fonts, resolving font names to actual fonts
 
  - libicu: handling of right-to-left scripts (e.g. Arabic and Persian) and
 
    natural sorting of strings.
 

	
 
OpenTTD does not require any of the libraries to be present, but without
 
liblzma you cannot open most recent savegames and without zlib you cannot
 
open most older savegames or use the content downloading system.
 
Without libSDL/liballegro on non-Windows and non-MacOS X machines you have
 
no graphical user interface; you would be building a dedicated server.
 

	
 
To recompile the extra graphics needed to play with the original Transport
 
Tycoon Deluxe graphics you need GRFCodec (which includes NFORenum) as well.
 
GRFCodec can be found at: http://www.openttd.org/download-grfcodec
 
The compilation of these extra graphics does generally not happen, unless
 
you remove the graphics file using "make maintainer-clean".
 
you remove the graphics file using 'make maintainer-clean'.
 

	
 
7.2) Supported compilers
 
---- -------------------
 
The following compilers are known to compile OpenTTD:
 
  - Microsoft Visual C++ (MSVC) 2005, 2008 and 2010.
 
    Version 2005 gives bogus warnings about scoping issues.
 
  - GNU Compiler Collection (GCC) 3.3 - 4.7.
 
    Versions 4.1 and earlier give bogus warnings about uninitialised variables.
 
    Versions 4.4 - 4.6 give bogus warnings about freeing non-heap objects.
 
    Versions 4.5 and later give invalid warnings when lto is enabled.
 
  - Intel C++ Compiler (ICC) 12.0.
 
  - Clang/LLVM 2.9 - 3.0
 
    Version 2.9 gives bogus warnings about code nonconformity.
 

	
 
The following compilers are known not to compile OpenTTD:
 
  - Microsoft Visual C++ (MSVC) 2003 and earlier.
 
  - GNU Compiler Collection (GCC) 3.2 and earlier.
 
    These old versions fail due to OpenTTD's template usage.
 
  - Intel C++ Compiler (ICC) 11.1 and earlier.
 
    Version 10.0 and earlier fail a configure check and fail with recent system
 
        headers.
 
    Version 10.1 fails to compile station_gui.cpp.
 
    Version 11.1 fails with an internal error when compiling network.cpp.
 
  - Clang/LLVM 2.8 and earlier.
 
  - (Open) Watcom.
 

	
 
If any of these compilers can compile OpenTTD again, please let us know.
 
Patches to support more compilers are welcome.
 

	
 

	
 
8.0) Translating
 
---- -----------
 
See http://www.openttd.org/development for up-to-date information.
 

	
 
The use of the online Translator service, located at
 
http://translator.openttd.org/, is highly encouraged. For getting an account
 
simply follow the guidelines in the FAQ of the translator website.
 

	
 
If for some reason the website is down for a longer period of time, the
 
information below might be of help.
 

	
 
Please contact the translations manager (http://www.openttd.org/contact)
 
before beginning the translation process! This avoids double work, as
 
someone else may have already started translating to the same language.
 

	
 
8.1) Translation
 
---- -----------
 
So, now that you've notified the development team about your intention to
 
So, now that you have notified the development team about your intention to
 
translate (You did, right? Of course you did.) you can pick up english.txt
 
(found in the SVN repository under /src/lang) and translate.
 

	
 
You must change the first two lines of the file appropriately:
 

	
 
##name English-Name-Of-Language
 
##ownname Native-Name-Of-Language
 

	
 
Note: Do not alter the following parts of the file:
 

	
 
    * String identifiers (the first word on each line)
 
    * Parts of the strings which are in curly braces (such as {STRING})
 
    * Lines beginning with ## (such as ##id), other than the first two lines of
 
      the file
 

	
 
8.2) Previewing
 
---- ----------
 
In order to view the translation in the game, you need to compile your language
 
file with the strgen utility. You can download the precompiled strgen from:
 
http://www.openttd.org/download-strgen
 
To compile it yourself just take the normal OpenTTD sources and build that.
 
During the build process the strgen utility will be made.
 

	
 
strgen is a command-line utility. It takes the language filename as parameter.
 
Example:
 

	
 
strgen lang/german.txt
 

	
 
This results in compiling german.txt and produces another file named german.lng.
 
Any missing strings are replaced with the English strings. Note that it looks
 
for english.txt in the lang subdirectory, which is where your language file
 
should also be.
 

	
 
That's all! You should now be able to select the language in the game options.
 
That is all! You should now be able to select the language in the game options.
 

	
 

	
 
9.0) Troubleshooting
 
---- ---------------
 
To see all startup options available to you, start OpenTTD with the
 
"./openttd -h" option. This might help you tweak some of the settings.
 
'./openttd -h' option. This might help you tweak some of the settings.
 

	
 
If the game is acting strange and you feel adventurous you can try the
 
"-d [[<name>]=[<level>]" flag, where the higher levels will give you more
 
debugging output. The "name" variable can help you to display only some type of
 
'-d [[<name>=]<level>]' flag, where the higher levels will give you more
 
debugging output. The 'name' variable can help you to display only some type of
 
debugging messages. This is mostly undocumented so best is to look in the
 
source code file debug.c for the various debugging types. For more information
 
look at http://wiki.openttd.org/index.php/Command_line.
 

	
 
The most frequent problem is missing data files. Please install OpenGFX and
 
possibly OpenSFX and OpenMSX. See section 4.1.1 for more information.
 

	
 
Under certain circumstance, especially on Ubuntu OpenTTD can be extremely slow
 
and/or freeze. See known-bugs.txt for more information and how to solve this
 
problem on your computer.
 

	
 
Under Windows 98 and lower it is impossible to use a dedicated server; it will
 
fail to start. Perhaps this is for the better because those OSes are not known
 
for their stability.
 

	
 
With the added support for font-based text selecting a non-latin language can
 
result in lots of question marks ('?') being shown on screen. Please open your
 
configuration file (openttd.cfg - see Section 4.2 for where to find it)
 
and add a suitable font for the small, medium and / or large font, e.g.:
 
	small_font = "Tahoma"
 
	medium_font = "Tahoma"
 
	large_font = "Tahoma"
 
You should use a font name like "Tahoma" or a path to the desired font.
 
You should use a font name like 'Tahoma' or a path to the desired font.
 

	
 
Any NewGRF file used in a game is stored inside the savegame and will refuse
 
to load if you don't have that NewGRF file available. A list of missing files
 
to load if you do not have that NewGRF file available. A list of missing files
 
can be viewed in the NewGRF window accessible from the file load dialogue window.
 

	
 
You can try to obtain the missing files from that NewGRF dialogue or - if they
 
are not available online - you can search manually through our forum's graphics
 
development section (http://www.tt-forums.net/viewforum.php?f=66) or GrfCrawler
 
(http://grfcrawler.tt-forums.net/). Put the NewGRF files in OpenTTD's newgrf folder
 
(see section 4.2 "OpenTTD directories") and rescan the list of available NewGRFs.
 
(see section 4.2 'OpenTTD directories') and rescan the list of available NewGRFs.
 
Once you have all missing files, you are set to go.
 

	
 

	
 
X.X) Credits
 
---- -------
 
The OpenTTD team (in alphabetical order):
 
  Albert Hofkamp (Alberth)        - GUI expert
 
  Jean-François Claeys (Belugas)  - GUI, newindustries and more
 
  Matthijs Kooijman (blathijs)    - Pathfinder-guru, pool rework
 
  Christoph Elsenhans (frosch)    - General coding
 
  Loïc Guilloux (glx)             - Windows Expert
 
  Michael Lutz (michi_cc)         - Path based signals
 
  Owen Rudge (orudge)             - Forum host, OS/2 port
 
  Peter Nelson (peter1138)        - Spiritual descendant from newGRF gods
 
  Ingo von Borstel (planetmaker)  - Support
 
  Remko Bijker (Rubidium)         - Lead coder and way more
 
  Zdeněk Sojka (SmatZ)            - Bug finder and fixer
 
  José Soler (Terkhen)            - General coding
 
  Thijs Marinussen (Yexo)         - AI Framework
 

	
 
Inactive Developers:
 
  Bjarni Corfitzen (Bjarni)       - MacOSX port, coder and vehicles
 
  Victor Fischer (Celestar)       - Programming everywhere you need him to
 
  Tamás Faragó (Darkvater)        - Ex-Lead coder
 
@@ -646,28 +662,28 @@ Inactive Developers:
 

	
 
Retired Developers:
 
  Ludvig Strigeus (ludde)         - OpenTTD author, main coder (0.1 - 0.3.3)
 
  Serge Paquet (vurlix)           - Assistant project manager, coder (0.1 - 0.3.3)
 
  Dominik Scherer (dominik81)     - Lead programmer, GUI expert (0.3.0 - 0.3.6)
 
  Benedikt Brüggemeier (skidd13)  - Bug fixer and code reworker
 
  Patric Stout (TrueBrain)        - NoProgrammer (0.3 - 1.2), sys op (active)
 

	
 
Thanks to:
 
  Josef Drexler                   - For his great work on TTDPatch.
 
  Marcin Grzegorczyk              - For his TTDPatch work and documentation of Transport Tycoon Deluxe internals and graphics (signals and track foundations)
 
  Petr Baudiš (pasky)             - Many patches, newgrf support, etc.
 
  Simon Sasburg (HackyKid)        - For the many bugfixes he has blessed us with
 
  Stefan Meißner (sign_de)        - For his work on the console
 
  Mike Ragsdale                   - OpenTTD installer
 
  Cian Duffy (MYOB)               - BeOS port / manual writing
 
  Christian Rosentreter (tokai)   - MorphOS / AmigaOS port
 
  Richard Kempton (RichK67)       - Additional airports, initial TGP implementation
 
  Alberto Demichelis              - Squirrel scripting language
 
  L. Peter Deutsch                - MD5 implementation
 
  Michael Blunck                  - For revolutionizing TTD with awesome graphics
 
  George                          - Canal graphics
 
  Andrew Parkhouse (andythenorth) - River graphics
 
  David Dallaston (Pikka)         - Tram tracks
 
  Marcin Grzegorczyk              - Foundations for tracks on slopes",
 
  Marcin Grzegorczyk              - Foundations for tracks on slopes,
 
  All Translators                 - For their support to make OpenTTD a truly international game
 
  Bug Reporters                   - Thanks for all bug reports
 
  Chris Sawyer                    - For an amazing game!
0 comments (0 inline, 0 general)