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