Changeset - r18375:af3d1f9949fb
[Not reviewed]
master
0 9 0
rubidium - 13 years ago 2011-11-14 21:39:14
rubidium@openttd.org
(svn r23221) -Codechange: update the documentation and installers regarding the new directories
9 files changed with 110 insertions and 91 deletions:
0 comments (0 inline, 0 general)
os/os2/installer/download_nosound.cmd
Show inline comments
 
@echo off
 
if "%1" == "" goto err
 
if "%2" == "" goto err
 

	
 
echo Downloading NoSound...
 

	
 
%1\wget http://binaries.openttd.org/installer/nosound-NOSOUND_VERSION.7z -O %2/data/nosound.7z
 
%1\wget http://binaries.openttd.org/installer/nosound-NOSOUND_VERSION.7z -O %2/baseset/nosound.7z
 

	
 
echo Extracting NoSound...
 

	
 
%1\7za x -y -O%2/data %2/data/nosound.7z
 
del %1\data\nosound.7z /n
 
%1\7za x -y -O%2/baseset %2/baseset/nosound.7z
 
del %1\baseset\nosound.7z /n
 

	
 
echo NoSound has been installed.
 
goto end
 

	
 
:err
 
echo This batch file is only intended for use by the OpenTTD installer.
 
echo Please visit www.openttd.org for details on downloading NoSound.
 

	
 
:end
 
\ No newline at end of file
os/os2/installer/download_opengfx.cmd
Show inline comments
 
@echo off
 
if "%1" == "" goto err
 
if "%2" == "" goto err
 

	
 
echo Downloading OpenGFX...
 

	
 
%1\wget http://binaries.openttd.org/installer/opengfx-OPENGFX_VERSION.7z -O %2/data/opengfx.7z
 
%1\wget http://binaries.openttd.org/installer/opengfx-OPENGFX_VERSION.7z -O %2/baseset/opengfx.7z
 

	
 
echo Extracting OpenGFX...
 

	
 
%1\7za x -y -O%2/data %2/data/opengfx.7z
 
del %1\data\opengfx.7z /n
 
%1\7za x -y -O%2/baseset %2/baseset/opengfx.7z
 
del %1\baseset\opengfx.7z /n
 

	
 
echo OpenGFX has been installed.
 
goto end
 

	
 
:err
 
echo This batch file is only intended for use by the OpenTTD installer.
 
echo Please visit www.openttd.org for details on downloading OpenGFX.
 

	
 
:end
os/os2/installer/download_opensfx.cmd
Show inline comments
 
@echo off
 
if "%1" == "" goto err
 
if "%2" == "" goto err
 

	
 
echo Downloading OpenSFX...
 

	
 
%1\wget http://binaries.openttd.org/installer/opensfx-OPENSFX_VERSION.7z -O %2/data/opensfx.7z
 
%1\wget http://binaries.openttd.org/installer/opensfx-OPENSFX_VERSION.7z -O %2/baseset/opensfx.7z
 

	
 
echo Extracting OpenSFX...
 

	
 
%1\7za x -y -O%2/data %2/data/opensfx.7z
 
del %1\data\opensfx.7z /n
 
%1\7za x -y -O%2/baseset %2/baseset/opensfx.7z
 
del %1\baseset\opensfx.7z /n
 

	
 
echo OpenSFX has been installed.
 
goto end
 

	
 
:err
 
echo This batch file is only intended for use by the OpenTTD installer.
 
echo Please visit www.openttd.org for details on downloading OpenSFX.
 

	
 
:end
os/os2/installer/remove_nosound.cmd
Show inline comments
 
@echo off
 
if "%1" == "" goto err
 

	
 
echo Removing NoSound...
 

	
 
del %1\data\nosound\*.* /n
 
rmdir %1\data\nosound
 
del %1\baseset\nosound\*.* /n
 
rmdir %1\baseset\nosound
 

	
 
echo NoSound has been removed.
 
goto end
 

	
 
:err
 
echo This batch file is only intended for use by the OpenTTD installer.
 

	
 
:end
os/os2/installer/remove_opengfx.cmd
Show inline comments
 
@echo off
 
if "%1" == "" goto err
 

	
 
echo Removing OpenGFX...
 

	
 
del %1\data\opengfx\*.* /n
 
rmdir %1\data\opengfx
 
del %1\baseset\opengfx\*.* /n
 
rmdir %1\baseset\opengfx
 

	
 
echo OpenGFX has been removed.
 
goto end
 

	
 
:err
 
echo This batch file is only intended for use by the OpenTTD installer.
 

	
 
:end
os/os2/installer/remove_opensfx.cmd
Show inline comments
 
@echo off
 
if "%1" == "" goto err
 

	
 
echo Removing OpenSFX...
 

	
 
del %1\data\opensfx\*.* /n
 
rmdir %1\data\opensfx
 
del %1\baseset\opensfx\*.* /n
 
rmdir %1\baseset\opensfx
 

	
 
echo OpenSFX has been removed.
 
goto end
 

	
 
:err
 
echo This batch file is only intended for use by the OpenTTD installer.
 

	
 
:end
os/rpm/openttd.spec
Show inline comments
 
@@ -72,128 +72,126 @@ Provides:       %{binname}-gui
 
Conflicts:      %{binname}-dedicated
 
Requires:       openttd-opensfx
 
# recommends works for suse (not sles9) and mandriva, only
 
 %if 0%{?suse_version} || 0%{?mdkversion}
 
# require timidity is part of openmsx
 
Recommends:     openttd-openmsx
 
 %endif
 
%endif
 
# Recommends would fit better but not well supported...
 
Requires:       openttd-opengfx >= 0.3.2
 

	
 
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-buildroot
 

	
 
%description
 
OpenTTD is a reimplementation of the Microprose game "Transport Tycoon Deluxe"
 
with lots of new features and enhancements. To play the game you need either
 
the original data from the game or install the recommend subackages OpenGFX for
 
free graphics, OpenSFX for free sounds and OpenMSX for free music.
 

	
 
OpenTTD is licensed under the GNU General Public License version 2.0. For more
 
information, see the file 'COPYING' included with every release and source
 
download of the game.
 

	
 
# the subpackage data needs only to build once, the dedicated version
 
# can reuse the data package of the gui package
 
%if !%{dedicated}
 
%package data
 
Summary:        Data package for OpenTTD
 
Group:          Amusements/Games/Strategy/Other
 
 %if 0%{?suse_version} >= 1120 || 0%{?fedora} || 0%{?mdkversion}
 
BuildArch:      noarch
 
 %endif
 
BuildRequires:  grfcodec
 

	
 
%description data
 
OpenTTD is a reimplementation of the Microprose game "Transport Tycoon Deluxe"
 
with lots of new features and enhancements. To play the game you need either
 
the original data from the game or the required package OpenGFX and OpenSFX.
 

	
 
This package is required by openttd gui and openttd dedicated package. This
 
way it is possible to install a openttd version without SDL requirement.
 

	
 
%endif
 

	
 
%prep
 
%setup -qn openttd%{?branch:-%{branch}}-%{srcver}
 

	
 
# we build the grfs from sources but validate the result with the existing data
 
md5sum bin/data/* > validate.data
 
md5sum bin/baseset/* > validate.data
 

	
 
%build
 
./configure \
 
        --prefix-dir="%{_prefix}" \
 
        --binary-name="%{binname}" \
 
        --binary-dir="bin" \
 
        --data-dir="share/%{binname}" \
 
        --doc-dir="share/doc/%{binname}" \
 
        --menu-name="OpenTTD%{?branch: %{branch}}" \
 
        --menu-group="Game;StrategyGame;" \
 
        --enable-dedicated="%{dedicated}" \
 

	
 
make %{?_smp_mflags}
 

	
 
%install
 
%if %{dedicated}
 
# dedicated package needs binary only
 
install -D -m0755 bin/openttd %{buildroot}/%{_bindir}/%{binname}
 
%else
 
make install INSTALL_DIR="%{buildroot}"
 
 %if 0%{?suse_version}
 
%suse_update_desktop_file -r %{binname} Game StrategyGame
 
 %endif
 
%endif
 

	
 
%clean
 
rm -rf "%{buildroot}"
 

	
 
%check
 
md5sum -c validate.data
 

	
 
%files
 
%attr(755, root, root) %{_bindir}/%{binname}
 

	
 
# all other files are for the gui version only, also no
 
# subpackage needed for the dedicated version
 
%if !%{dedicated}
 
%defattr(-, root, root)
 
%dir %{_datadir}/icons/hicolor
 
%dir %{_datadir}/icons/hicolor/16x16
 
%dir %{_datadir}/icons/hicolor/16x16/apps
 
%dir %{_datadir}/icons/hicolor/32x32
 
%dir %{_datadir}/icons/hicolor/32x32/apps
 
%dir %{_datadir}/icons/hicolor/48x48
 
%dir %{_datadir}/icons/hicolor/48x48/apps
 
%dir %{_datadir}/icons/hicolor/64x64
 
%dir %{_datadir}/icons/hicolor/64x64/apps
 
%dir %{_datadir}/icons/hicolor/128x128
 
%dir %{_datadir}/icons/hicolor/128x128/apps
 
%dir %{_datadir}/icons/hicolor/256x256
 
%dir %{_datadir}/icons/hicolor/256x256/apps
 
%{_datadir}/applications/%{binname}.desktop
 
%{_datadir}/icons/hicolor/16x16/apps/%{binname}.png
 
%{_datadir}/icons/hicolor/32x32/apps/%{binname}.png
 
%{_datadir}/icons/hicolor/48x48/apps/%{binname}.png
 
%{_datadir}/icons/hicolor/64x64/apps/%{binname}.png
 
%{_datadir}/icons/hicolor/128x128/apps/%{binname}.png
 
%{_datadir}/icons/hicolor/256x256/apps/%{binname}.png
 
%{_datadir}/pixmaps/%{binname}.32.xpm
 

	
 
%files data
 
%defattr(-, root, root)
 
%dir %{_datadir}/doc/%{binname}
 
%dir %{_datadir}/%{binname}
 
%dir %{_datadir}/%{binname}/lang
 
%dir %{_datadir}/%{binname}/data
 
%dir %{_datadir}/%{binname}/gm
 
%dir %{_datadir}/%{binname}/baseset
 
%dir %{_datadir}/%{binname}/scripts
 
%dir %{_datadir}/%{binname}/ai
 
%{_datadir}/doc/%{binname}/*
 
%{_datadir}/%{binname}/lang/*
 
%{_datadir}/%{binname}/data/*
 
%{_datadir}/%{binname}/baseset/*
 
%{_datadir}/%{binname}/scripts/*
 
%{_datadir}/%{binname}/ai/*
 
%{_datadir}/%{binname}/gm/*
 
%doc %{_mandir}/man6/%{binname}.6.*
 
%endif
 

	
 
%changelog
os/windows/installer/install.nsi
Show inline comments
 
@@ -80,426 +80,446 @@ Page custom SelectCDEnter SelectCDExit "
 
!define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "Shortcut Folder"
 

	
 
!insertmacro MUI_PAGE_STARTMENU "OpenTTD" $SHORTCUTS
 

	
 
!insertmacro MUI_PAGE_INSTFILES
 

	
 
!define MUI_FINISHPAGE_TITLE_3LINES
 
!define MUI_FINISHPAGE_RUN_TEXT "Run ${APPNAMEANDVERSION} now!"
 
!define MUI_FINISHPAGE_RUN "$INSTDIR\openttd.exe"
 
!define MUI_FINISHPAGE_LINK "Visit the OpenTTD site for the latest news, FAQs and downloads"
 
!define MUI_FINISHPAGE_LINK_LOCATION "${APPURLLINK}"
 
!define MUI_FINISHPAGE_NOREBOOTSUPPORT
 
!define MUI_FINISHPAGE_SHOWREADME "$INSTDIR\readme.txt"
 
!define MUI_FINISHPAGE_SHOWREADME_NOTCHECKED
 
!define MUI_WELCOMEFINISHPAGE_CUSTOMFUNCTION_INIT DisableBack
 

	
 
!insertmacro MUI_PAGE_FINISH
 
!define MUI_PAGE_HEADER_TEXT "Uninstall ${APPNAMEANDVERSION}"
 
!insertmacro MUI_UNPAGE_CONFIRM
 
!insertmacro MUI_UNPAGE_INSTFILES
 

	
 
; Set languages (first is default language)
 
!insertmacro MUI_LANGUAGE "English"
 
!insertmacro MUI_RESERVEFILE_LANGDLL
 

	
 
;--------------------------------------------------------------
 
; (Core) OpenTTD install section. Copies all internal game data
 
Section "!OpenTTD" Section1
 
	; Make sure to be upgraded OpenTTD is not running
 
	Call CheckOpenTTDRunning
 

	
 
	; Overwrite files by default, but don't complain on failure
 
	SetOverwrite try
 

	
 
	SetShellVarContext all
 

	
 
	; Define root variable relative to installer
 
	!define PATH_ROOT "..\..\..\"
 

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

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

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

	
 
	; Copy the music base metadata files
 
	SetOutPath "$INSTDIR\gm\"
 
	File ${PATH_ROOT}bin\gm\*.obm
 
	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 data/ and lang/
 
	; Delete old files from the main dir. they are now placed in baseset/ and lang/
 
	Delete "$INSTDIR\*.lng"
 
	Delete "$INSTDIR\*.grf"
 
	Delete "$INSTDIR\sample.cat"
 
	Delete "$INSTDIR\ttd.exe"
 

	
 
	Delete "$INSTDIR\data\opntitle.dat"
 
	Delete "$INSTDIR\data\2ccmap.grf"
 
	Delete "$INSTDIR\data\airports.grf"
 
	Delete "$INSTDIR\data\autorail.grf"
 
	Delete "$INSTDIR\data\canalsw.grf"
 
	Delete "$INSTDIR\data\dosdummy.grf"
 
	Delete "$INSTDIR\data\elrailsw.grf"
 
	Delete "$INSTDIR\data\nsignalsw.grf"
 
	Delete "$INSTDIR\data\openttd.grf"
 
	Delete "$INSTDIR\data\roadstops.grf"
 
	Delete "$INSTDIR\data\trkfoundw.grf"
 
	Delete "$INSTDIR\data\openttdd.grf"
 
	Delete "$INSTDIR\data\openttdw.grf"
 
	Delete "$INSTDIR\data\orig_win.obg"
 
	Delete "$INSTDIR\data\orig_dos.obg"
 
	Delete "$INSTDIR\data\orig_dos_de.obg"
 
	Delete "$INSTDIR\data\orig_win.obs"
 
	Delete "$INSTDIR\data\orig_dos.obs"
 
	Delete "$INSTDIR\data\no_sound.obs"
 

	
 
	; 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\data\opengfx.7z"
 
	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
 
		MessageBox MB_OK "Downloading of OpenGFX failed"
 
		Goto Done
 

	
 
	; Let's extract the files
 
	SetOutPath "$INSTDIR\data\"
 
	NSIS7z::Extract "$INSTDIR\data\opengfx.7z"
 
	SetOutPath "$INSTDIR\baseset\"
 
	NSIS7z::Extract "$INSTDIR\baseset\opengfx.7z"
 

	
 
	Delete "$INSTDIR\data\opengfx.7z"
 
	Delete "$INSTDIR\baseset\opengfx.7z"
 
	SetOutPath "$INSTDIR\"
 
Done:
 

	
 
SectionEnd
 

	
 
;----------------------------------------------------------------------------------
 
; OpenSFX files install section. Downloads OpenSFX and installs it
 
Section "Download OpenSFX (free sound set)" Section4
 
	SetOverwrite try
 

	
 
	NSISdl::download "http://binaries.openttd.org/installer/opensfx-${OPENSFX_BASE_VERSION}.7z" "$INSTDIR\data\opensfx.7z"
 
	NSISdl::download "http://binaries.openttd.org/installer/opensfx-${OPENSFX_BASE_VERSION}.7z" "$INSTDIR\baseset\opensfx.7z"
 
	Pop $R0 ;Get the return value
 
	StrCmp $R0 "success" +3
 
		MessageBox MB_OK "Downloading of OpenSFX failed"
 
		Goto Done
 

	
 
	; Let's extract the files
 
	SetOutPath "$INSTDIR\data\"
 
	NSIS7z::Extract "$INSTDIR\data\opensfx.7z"
 
	SetOutPath "$INSTDIR\baseset\"
 
	NSIS7z::Extract "$INSTDIR\baseset\opensfx.7z"
 

	
 
	Delete "$INSTDIR\data\opensfx.7z"
 
	Delete "$INSTDIR\baseset\opensfx.7z"
 
	SetOutPath "$INSTDIR\"
 
Done:
 

	
 
SectionEnd
 

	
 
;----------------------------------------------------------------------------------
 
; OpenMSX files install section. Downloads OpenMSX and installs it
 
Section "Download OpenMSX (free music set)" Section5
 
	SetOverwrite try
 

	
 
	NSISdl::download "http://binaries.openttd.org/installer/openmsx-${OPENMSX_BASE_VERSION}.7z" "$INSTDIR\gm\openmsx.7z"
 
	Pop $R0 ;Get the return value
 
	StrCmp $R0 "success" +3
 
		MessageBox MB_OK "Downloading of OpenMSX failed"
 
		Goto Done
 

	
 
	; Let's extract the files
 
	SetOutPath "$INSTDIR\gm\"
 
	NSIS7z::Extract "$INSTDIR\gm\openmsx.7z"
 

	
 
	Delete "$INSTDIR\gm\openmsx.7z"
 
	SetOutPath "$INSTDIR\"
 
Done:
 

	
 
SectionEnd
 

	
 
;----------------------------------------------------------------------------------
 
; TTDLX files install section. Copies all needed TTDLX files from CD or install dir
 
Section /o "Copy data from Transport Tycoon Deluxe CD-ROM" Section2
 
	SetOverwrite try
 
	; Let's copy the files with size approximation
 
	SetOutPath "$INSTDIR\gm"
 
	CopyFiles "$CDDRIVE\gm\*.gm" "$INSTDIR\gm\" 1028
 
	SetOutPath "$INSTDIR\data\"
 
	CopyFiles "$CDDRIVE\sample.cat" "$INSTDIR\data\sample.cat" 1566
 
	SetOutPath "$INSTDIR\baseset"
 
	CopyFiles "$CDDRIVE\gm\*.gm" "$INSTDIR\baseset\" 1028
 
	CopyFiles "$CDDRIVE\sample.cat" "$INSTDIR\baseset\sample.cat" 1566
 
	; Copy Windows files
 
	CopyFiles "$CDDRIVE\trg1r.grf" "$INSTDIR\data\trg1r.grf" 2365
 
	CopyFiles "$CDDRIVE\trgcr.grf" "$INSTDIR\data\trgcr.grf" 260
 
	CopyFiles "$CDDRIVE\trghr.grf" "$INSTDIR\data\trghr.grf" 400
 
	CopyFiles "$CDDRIVE\trgir.grf" "$INSTDIR\data\trgir.grf" 334
 
	CopyFiles "$CDDRIVE\trgtr.grf" "$INSTDIR\data\trgtr.grf" 546
 
	CopyFiles "$CDDRIVE\trg1r.grf" "$INSTDIR\baseset\trg1r.grf" 2365
 
	CopyFiles "$CDDRIVE\trgcr.grf" "$INSTDIR\baseset\trgcr.grf" 260
 
	CopyFiles "$CDDRIVE\trghr.grf" "$INSTDIR\baseset\trghr.grf" 400
 
	CopyFiles "$CDDRIVE\trgir.grf" "$INSTDIR\baseset\trgir.grf" 334
 
	CopyFiles "$CDDRIVE\trgtr.grf" "$INSTDIR\baseset\trgtr.grf" 546
 
	; Copy DOS files
 
	CopyFiles "$CDDRIVE\trg1.grf" "$INSTDIR\data\trg1.grf" 2365
 
	CopyFiles "$CDDRIVE\trgc.grf" "$INSTDIR\data\trgc.grf" 260
 
	CopyFiles "$CDDRIVE\trgh.grf" "$INSTDIR\data\trgh.grf" 400
 
	CopyFiles "$CDDRIVE\trgi.grf" "$INSTDIR\data\trgi.grf" 334
 
	CopyFiles "$CDDRIVE\trgt.grf" "$INSTDIR\data\trgt.grf" 546
 
	CopyFiles "$CDDRIVE\trg1.grf" "$INSTDIR\baseset\trg1.grf" 2365
 
	CopyFiles "$CDDRIVE\trgc.grf" "$INSTDIR\baseset\trgc.grf" 260
 
	CopyFiles "$CDDRIVE\trgh.grf" "$INSTDIR\baseset\trgh.grf" 400
 
	CopyFiles "$CDDRIVE\trgi.grf" "$INSTDIR\baseset\trgi.grf" 334
 
	CopyFiles "$CDDRIVE\trgt.grf" "$INSTDIR\baseset\trgt.grf" 546
 
	SetOutPath "$INSTDIR\"
 
SectionEnd
 

	
 
;-------------------------------------------
 
; Install the uninstaller (option is hidden)
 
Section -FinishSection
 
	WriteUninstaller "$INSTDIR\uninstall.exe"
 
SectionEnd
 

	
 
; Modern install component descriptions
 
!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
 
	!insertmacro MUI_DESCRIPTION_TEXT ${Section1} "Minimal OpenTTD installation in English. You need at least one of the game graphics and sound sets installed."
 
	!insertmacro MUI_DESCRIPTION_TEXT ${Section6} "Translations of OpenTTD."
 
	!insertmacro MUI_DESCRIPTION_TEXT ${Section3} "Download the free OpenGFX game graphics set. This download is about 3 MiB."
 
	!insertmacro MUI_DESCRIPTION_TEXT ${Section4} "Download the free OpenSFX game sound set. This download is about 10 MiB."
 
	!insertmacro MUI_DESCRIPTION_TEXT ${Section5} "Download the free OpenMSX game music set. This download is about 200 KiB."
 
	!insertmacro MUI_DESCRIPTION_TEXT ${Section2} "Copies the game graphics, sounds and music from the Transport Tycoon Deluxe CD."
 
!insertmacro MUI_FUNCTION_DESCRIPTION_END
 

	
 
;-----------------------------------------------
 
; Uninstall section, deletes all installed files
 
Section "Uninstall"
 
	SetShellVarContext all
 

	
 
	IfFileExists "$INSTDIR\save" 0 NoRemoveSavedGames
 
	MessageBox MB_YESNO|MB_ICONQUESTION \
 
		"Remove the save game folders located at $\"$INSTDIR\save$\"?$\n \
 
		If you choose Yes, your saved games will be deleted." \
 
		IDYES RemoveSavedGames IDNO NoRemoveSavedGames
 
	RemoveSavedGames:
 
		Delete "$INSTDIR\save\autosave\*"
 
		RMDir "$INSTDIR\save\autosave"
 
		Delete "$INSTDIR\save\*"
 
		RMDir "$INSTDIR\save"
 
	NoRemoveSavedGames:
 

	
 
	IfFileExists "$INSTDIR\scenario" 0 NoRemoveScen
 
	MessageBox MB_YESNO|MB_ICONQUESTION \
 
		"Remove the scenario folders located at $\"$INSTDIR\scenario$\"?$\n \
 
		If you choose Yes, your scenarios will be deleted." \
 
		IDYES RemoveScen IDNO NoRemoveScen
 
	RemoveScen:
 
		Delete "$INSTDIR\scenario\heightmap*"
 
		RMDir "$INSTDIR\scenario\heightmap"
 
		Delete "$INSTDIR\scenario\*"
 
		RMDir "$INSTDIR\scenario"
 
	NoRemoveScen:
 

	
 
	; Remove from registry...
 
	!insertmacro MUI_STARTMENU_GETFOLDER "OpenTTD" $SHORTCUTS
 
	ReadRegStr $SHORTCUTS HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\OpenTTD" "Shortcut Folder"
 

	
 
	DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenTTD"
 

	
 
	; Delete self
 
	Delete "$INSTDIR\uninstall.exe"
 

	
 
	; Delete Shortcuts
 
	Delete "$DESKTOP\OpenTTD.lnk"
 
	Delete "$SMPROGRAMS\$SHORTCUTS\OpenTTD.lnk"
 
	Delete "$SMPROGRAMS\$SHORTCUTS\Uninstall.lnk"
 
	Delete "$SMPROGRAMS\$SHORTCUTS\Readme.lnk"
 
	Delete "$SMPROGRAMS\$SHORTCUTS\Changelog.lnk"
 
	Delete "$SMPROGRAMS\$SHORTCUTS\Known-bugs.lnk"
 
	Delete "$SMPROGRAMS\$SHORTCUTS\Docs\Multiplayer.lnk"
 
	Delete "$SMPROGRAMS\$SHORTCUTS\Docs\32bpp.lnk"
 
	Delete "$SMPROGRAMS\$SHORTCUTS\Scripts\Readme.lnk"
 

	
 
	; Clean up OpenTTD dir
 
	Delete "$INSTDIR\changelog.txt"
 
	Delete "$INSTDIR\readme.txt"
 
	Delete "$INSTDIR\known-bugs.txt"
 
	Delete "$INSTDIR\openttd.exe"
 
	Delete "$INSTDIR\COPYING"
 
	Delete "$INSTDIR\INSTALL.LOG"
 
	Delete "$INSTDIR\crash.log"
 
	Delete "$INSTDIR\crash.dmp"
 
	Delete "$INSTDIR\openttd.cfg"
 
	Delete "$INSTDIR\hs.dat"
 
	Delete "$INSTDIR\cached_sprites.*"
 
	Delete "$INSTDIR\save\autosave\network*.tmp" ; temporary network file
 

	
 
	; AI files
 
	Delete "$INSTDIR\ai\compat_*.nut"
 

	
 
	; Data files
 
	Delete "$INSTDIR\data\opntitle.dat"
 

	
 
	Delete "$INSTDIR\data\2ccmap.grf"
 
	Delete "$INSTDIR\data\airports.grf"
 
	Delete "$INSTDIR\data\autorail.grf"
 
	Delete "$INSTDIR\data\canalsw.grf"
 
	Delete "$INSTDIR\data\dosdummy.grf"
 
	Delete "$INSTDIR\data\elrailsw.grf"
 
	Delete "$INSTDIR\data\nsignalsw.grf"
 
	Delete "$INSTDIR\data\openttd.grf"
 
	Delete "$INSTDIR\data\roadstops.grf"
 
	Delete "$INSTDIR\data\trkfoundw.grf"
 
	Delete "$INSTDIR\data\openttdd.grf"
 
	Delete "$INSTDIR\data\openttdw.grf"
 
	Delete "$INSTDIR\data\orig_win.obg"
 
	Delete "$INSTDIR\data\orig_dos.obg"
 
	Delete "$INSTDIR\data\orig_dos_de.obg"
 
	Delete "$INSTDIR\data\orig_win.obs"
 
	Delete "$INSTDIR\data\orig_dos.obs"
 
	Delete "$INSTDIR\data\no_sound.obs"
 
	; Baseset files
 
	Delete "$INSTDIR\baseset\opntitle.dat"
 
	Delete "$INSTDIR\baseset\openttd.grf"
 
	Delete "$INSTDIR\baseset\orig_win.obg"
 
	Delete "$INSTDIR\baseset\orig_dos.obg"
 
	Delete "$INSTDIR\baseset\orig_dos_de.obg"
 
	Delete "$INSTDIR\baseset\orig_win.obs"
 
	Delete "$INSTDIR\baseset\orig_dos.obs"
 
	Delete "$INSTDIR\baseset\no_sound.obs"
 
	Delete "$INSTDIR\baseset\sample.cat"
 
	Delete "$INSTDIR\baseset\trg1r.grf"
 
	Delete "$INSTDIR\baseset\trghr.grf"
 
	Delete "$INSTDIR\baseset\trgtr.grf"
 
	Delete "$INSTDIR\baseset\trgcr.grf"
 
	Delete "$INSTDIR\baseset\trgir.grf"
 
	Delete "$INSTDIR\baseset\trg1.grf"
 
	Delete "$INSTDIR\baseset\trgh.grf"
 
	Delete "$INSTDIR\baseset\trgt.grf"
 
	Delete "$INSTDIR\baseset\trgc.grf"
 
	Delete "$INSTDIR\baseset\trgi.grf"
 
	Delete "$INSTDIR\baseset\*.gm"
 

	
 
	Delete "$INSTDIR\data\sample.cat"
 
	; Windows Data files
 
	Delete "$INSTDIR\data\trg1r.grf"
 
	Delete "$INSTDIR\data\trghr.grf"
 
	Delete "$INSTDIR\data\trgtr.grf"
 
	Delete "$INSTDIR\data\trgcr.grf"
 
	Delete "$INSTDIR\data\trgir.grf"
 
	; Dos Data files
 
	Delete "$INSTDIR\data\trg1.grf"
 
	Delete "$INSTDIR\data\trgh.grf"
 
	Delete "$INSTDIR\data\trgt.grf"
 
	Delete "$INSTDIR\data\trgc.grf"
 
	Delete "$INSTDIR\data\trgi.grf"
 

	
 
	; Music
 
	Delete "$INSTDIR\gm\*.gm"
 

	
 
	; Downloaded OpenGFX/OpenSFX/OpenMSX
 
	Delete "$INSTDIR\baseset\opengfx\*"
 
	RMDir  "$INSTDIR\baseset\opengfx"
 
	Delete "$INSTDIR\baseset\opensfx\*"
 
	RMDir  "$INSTDIR\baseset\opensfx"
 
	Delete "$INSTDIR\baseset\openmsx\*"
 
	RMDir  "$INSTDIR\baseset\openmsx"
 

	
 
	Delete "$INSTDIR\data\opengfx\*"
 
	RMDir  "$INSTDIR\data\opengfx"
 
	Delete "$INSTDIR\data\opensfx\*"
 
	RMDir  "$INSTDIR\data\opensfx"
 
	Delete "$INSTDIR\gm\openmsx\*"
 
	RMDir  "$INSTDIR\gm\openmsx"
 

	
 
	; Language files
 
	Delete "$INSTDIR\lang\*.lng"
 

	
 
	; Scripts
 
	Delete "$INSTDIR\scripts\*.*"
 

	
 
	; Documentation
 
	Delete "$INSTDIR\docs\*.*"
 

	
 
	; Base sets for music
 
	Delete "$INSTDIR\gm\orig_win.obm"
 
	Delete "$INSTDIR\gm\no_music.obm"
 
	Delete "$INSTDIR\baseset\orig_win.obm"
 
	Delete "$INSTDIR\baseset\no_music.obm"
 

	
 
	; Remove remaining directories
 
	RMDir "$SMPROGRAMS\$SHORTCUTS\Extras\"
 
	RMDir "$SMPROGRAMS\$SHORTCUTS\Scripts\"
 
	RMDir "$SMPROGRAMS\$SHORTCUTS\Docs\"
 
	RMDir "$SMPROGRAMS\$SHORTCUTS"
 
	RMDir "$INSTDIR\ai"
 
	RMDir "$INSTDIR\data"
 
	RMDir "$INSTDIR\baseset"
 
	RMDir "$INSTDIR\gm"
 
	RMDir "$INSTDIR\lang"
 
	RMDir "$INSTDIR\scripts"
 
	RMDir "$INSTDIR\docs"
 
	RMDir "$INSTDIR"
 

	
 
SectionEnd
 

	
 
;------------------------------------------------------------
 
; Custom page function to find the TTDLX CD/install location
 
Function SelectCDEnter
 
	SectionGetFlags ${Section2} $0
 
	IntOp $1 $0 & 0x80 ; bit 7 set by upgrade, no need to copy files
 
	IntCmp $1 1 DoneCD ; Upgrade doesn't need copy files
 

	
 
	IntOp $0 $0 & 1
 
	IntCmp $0 1 NoAbort
 
	Abort
 
NoAbort:
 

	
 
	GetTempFileName $R0
 
	!insertmacro MUI_HEADER_TEXT "Locate TTD" "Setup needs the location of Transport Tycoon Deluxe in order to continue."
 
	!insertmacro INSTALLOPTIONS_EXTRACT_AS "CDFinder.ini" "CDFinder"
 

	
 
	ClearErrors
 
	; Now, let's populate $CDDRIVE
 
	ReadRegStr $R0 HKLM "SOFTWARE\Fish Technology Group\Transport Tycoon Deluxe" "HDPath"
 
	IfErrors NoTTD
 
	StrCmp $CDDRIVE "" 0 Populated
 
	StrCpy $CDDRIVE $R0
 
Populated:
 
	StrCpy $AddWinPrePopulate "Setup has detected your TTD folder. Don't change the folder. Simply press Next."
 
	Goto TruFinish
 
NoTTD:
 
	StrCpy $AddWinPrePopulate "Setup couldn't find TTD. Please enter the path where the graphics files from TTD are stored and press Next to continue."
 
TruFinish:
 
	ClearErrors
 
	!insertmacro INSTALLOPTIONS_WRITE "CDFinder" "Field 2" "State" $CDDRIVE          ; TTDLX path
 
	!insertmacro INSTALLOPTIONS_WRITE "CDFinder" "Field 3" "Text" $AddWinPrePopulate ; Caption
 
DoneCD:
 
	; Initialize the dialog *AFTER* we've changed the text otherwise we won't see the changes
 
	!insertmacro INSTALLOPTIONS_INITDIALOG "CDFinder"
 
	!insertmacro INSTALLOPTIONS_SHOW
 
FunctionEnd
 

	
 
;----------------------------------------------------------------
 
; Custom page function when 'next' is selected for the TTDLX path
 
Function SelectCDExit
readme.txt
Show inline comments
 
@@ -144,228 +144,229 @@ will not be able to reproduce the desync
 

	
 
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:
 

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

	
 
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.
 
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
 
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 data/
 
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
 
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 gm/ folder from the
 
Windows version of Transport Tycoon Deluxe to your OpenTTD folder (not your
 
data folder - also explained in the following sections). The music from the
 
DOS version as well as the original Transport Tycoon does not work.
 
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/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.
 

	
 
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.
 

	
 
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. "/".
 
	2. Your personal directory
 
		Windows: C:\My Documents (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
 

	
 
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:       data                    (or a subdirectory thereof)
 
	Sound Sets:          data                    (or a subdirectory thereof)
 
	NewGRFs:             data                    (or a subdirectory thereof)
 
	32bpp Sets:          data                    (or a subdirectory thereof)
 
	Music Sets:          gm                      (or a subdirectory thereof)
 
	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)
 
	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.
 

	
 
Notes:
 
	- 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.
 
	- 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).
 

	
 
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), data/ and your
 
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 data/ dir (for details,
 
As always - additional grf files are stored in the newgrf/ dir (for details,
 
again, see section 4.1).
 

	
 

	
 
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
 
  Ctrl while the track build tool is activated changes it to the track removal
 
  tool, and so on. See http://wiki.openttd.org/Hidden_features for a non-
 
  comprehensive list or look at the tooltips.
 
* Ingame console. More information at
 
  http://wiki.openttd.org/index.php/Console
 
* Hovering over a GUI element shows tooltips. This can be changed to right click
 
  via the advanced settings.
 

	
 
5.1) Logging of potentially dangerous actions
 
---- ----------------------------------------
 
OpenTTD is a complex program, and together with NewGRF, it may show a buggy
 
behaviour. But not only bugs in code can cause problems. There are several
 
ways to affect game state possibly resulting in program crash or multiplayer
 
desyncs.
 
Easier way would be to forbid all these unsafe actions, but that would affect
 
game usability for many players. We certainly do not want that.
 
However, we receive bug reports because of this. To reduce time spent with
 
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.
 
@@ -538,97 +539,97 @@ 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.
 

	
 

	
 
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.
 

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

	
 
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
 
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 data folder
 
(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.
 
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
 
  Jaroslav Mazanec (KUDr)         - YAPG (Yet Another Pathfinder God) ;)
 
  Jonathan Coome (Maedhros)       - High priest of the NewGRF Temple
 
  Attila Bán (MiHaMiX)            - WebTranslator 1 and 2
 
  Christoph Mallon (Tron)         - Programmer, code correctness police
 

	
 
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 (TrueLight)        - Programmer (0.3 - pre0.7), 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
0 comments (0 inline, 0 general)