mirror of
https://github.com/JGRennison/OpenTTD-patches.git
synced 2024-11-04 06:00:15 +00:00
131 lines
6.2 KiB
Markdown
131 lines
6.2 KiB
Markdown
# OpenTTD directory structure
|
|
|
|
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\OpenTTD` (95, 98, ME)
|
|
- `C:\Documents and Settings\<username>\My Documents\OpenTTD` (2000, XP)
|
|
- `C:\Users\<username>\Documents\OpenTTD` (Vista, 7, 8.1, 10)
|
|
- macOS: `~/Documents/OpenTTD`
|
|
- Linux: `$XDG_DATA_HOME/openttd` which is usually `~/.local/share/openttd`
|
|
when built with XDG base directory support, otherwise `~/.openttd`
|
|
3. The shared directory
|
|
- Windows:
|
|
- `C:\Documents and Settings\All Users\Shared Documents\OpenTTD` (2000, XP)
|
|
- `C:\Users\Public\Documents\OpenTTD` (Vista, 7, 8.1, 10)
|
|
- macOS: `/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 (macOS only)
|
|
|
|
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:
|
|
|
|
| data type | directory | additional info |
|
|
| ------------------- | ----------------- | --------------------------- |
|
|
| Config File | (no subdirectory) | |
|
|
| Screenshots | screenshot | |
|
|
| 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/library | (or a subdirectory thereof) |
|
|
| Game Scripts (GS) | game | (or a subdirectory thereof) |
|
|
| GS Libraries | game/library | (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. When built with XDG base directory support, openttd.cfg will be
|
|
created in $XDG_CONFIG_HOME/openttd which is usually ~/.config/openttd.
|
|
- 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.
|
|
Unless the configuration file is in $XDG_CONFIG_HOME/openttd, then all
|
|
other files will be saved under $XDG_DATA_HOME/openttd.
|
|
|
|
## The preferred setup:
|
|
|
|
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).
|
|
|
|
## 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).
|
|
|
|
## 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. 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.
|
|
|
|
## Configuration file
|
|
|
|
The configuration file for OpenTTD (openttd.cfg) is in a simple Windows-like
|
|
.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 this document. If you do not have an openttd.cfg OpenTTD will
|
|
create one after closing.
|
|
|