OpenTTD Source: src/fileio_type.h File Reference

OpenTTD Source 1.11.0-RC1

Macros | Enumerations | Functions
fileio_type.h File Reference
`#include "core/enum_type.hpp"`

Go to the source code of this file.

## Macros
#define | MAKE_FIOS_TYPE(abstract, detailed) ((abstract) | ((detailed) << FT_NUMBITS))
| Construct an enum value for FiosType as a combination of an abstract and a detailed file type. More...

## Enumerations
enum | AbstractFileType { FT_NONE, FT_SAVEGAME, FT_SCENARIO, FT_HEIGHTMAP, FT_INVALID = 7, FT_NUMBITS = 3, FT_MASK = (1 << FT_NUMBITS) - 1 }
| The different abstract types of files that the system knows about. More...
enum | DetailedFileType { DFT_OLD_GAME_FILE, DFT_GAME_FILE, DFT_HEIGHTMAP_BMP, DFT_HEIGHTMAP_PNG, DFT_FIOS_DRIVE, DFT_FIOS_PARENT, DFT_FIOS_DIR, DFT_FIOS_DIRECT, DFT_INVALID = 255 }
| Kinds of files in each AbstractFileType. More...
enum | SaveLoadOperation { SLO_CHECK, SLO_LOAD, SLO_SAVE, SLO_INVALID }
| Operation performed on the file. More...
enum | FiosType { FIOS_TYPE_DRIVE = MAKE_FIOS_TYPE(FT_NONE, DFT_FIOS_DRIVE), FIOS_TYPE_PARENT = MAKE_FIOS_TYPE(FT_NONE, DFT_FIOS_PARENT), FIOS_TYPE_DIR = MAKE_FIOS_TYPE(FT_NONE, DFT_FIOS_DIR), FIOS_TYPE_DIRECT = MAKE_FIOS_TYPE(FT_NONE, DFT_FIOS_DIRECT), FIOS_TYPE_FILE = MAKE_FIOS_TYPE(FT_SAVEGAME, DFT_GAME_FILE), FIOS_TYPE_OLDFILE = MAKE_FIOS_TYPE(FT_SAVEGAME, DFT_OLD_GAME_FILE), FIOS_TYPE_SCENARIO = MAKE_FIOS_TYPE(FT_SCENARIO, DFT_GAME_FILE), FIOS_TYPE_OLD_SCENARIO = MAKE_FIOS_TYPE(FT_SCENARIO, DFT_OLD_GAME_FILE), FIOS_TYPE_PNG = MAKE_FIOS_TYPE(FT_HEIGHTMAP, DFT_HEIGHTMAP_PNG), FIOS_TYPE_BMP = MAKE_FIOS_TYPE(FT_HEIGHTMAP, DFT_HEIGHTMAP_BMP), FIOS_TYPE_INVALID = MAKE_FIOS_TYPE(FT_INVALID, DFT_INVALID) }
| Elements of a file system that are recognized. More...
enum | Subdirectory { BASE_DIR, SAVE_DIR, AUTOSAVE_DIR, SCENARIO_DIR, HEIGHTMAP_DIR, OLD_GM_DIR, OLD_DATA_DIR, BASESET_DIR, NEWGRF_DIR, LANG_DIR, AI_DIR, AI_LIBRARY_DIR, GAME_DIR, GAME_LIBRARY_DIR, SCREENSHOT_DIR, NUM_SUBDIRS, NO_DIRECTORY }
| The different kinds of subdirectories OpenTTD uses. More...
enum | Searchpath : unsigned { SP_FIRST_DIR, SP_WORKING_DIR = SP_FIRST_DIR, SP_PERSONAL_DIR, SP_SHARED_DIR, SP_BINARY_DIR, SP_INSTALLATION_DIR, SP_APPLICATION_BUNDLE_DIR, SP_AUTODOWNLOAD_DIR, SP_AUTODOWNLOAD_PERSONAL_DIR, SP_AUTODOWNLOAD_PERSONAL_DIR_XDG, NUM_SEARCHPATHS }
| Types of searchpaths OpenTTD might use. More...

## Functions
AbstractFileType | GetAbstractFileType (FiosType fios_type)
| Extract the abstract file type from a FiosType. More...
DetailedFileType | GetDetailedFileType (FiosType fios_type)
| Extract the detailed file type from a FiosType. More...

## Detailed Description

Types for Standard In/Out file operations

Definition in file fileio_type.h.

## Macro Definition Documentation

## ◆ MAKE_FIOS_TYPE

#define MAKE_FIOS_TYPE | ( |  | abstract,
|  |  | detailed
| ) |  | ((abstract) | ((detailed) << FT_NUMBITS))

Construct an enum value for FiosType as a combination of an abstract and a detailed file type.

Parameters

  abstract | Abstract file type (one of AbstractFileType).
  detailed | Detailed file type (one of DetailedFileType).

Definition at line 60 of file fileio_type.h.

## Enumeration Type Documentation

## ◆ AbstractFileType

enum AbstractFileType

The different abstract types of files that the system knows about.

Enumerator
FT_NONE | nothing to do
FT_SAVEGAME | old or new savegame
FT_SCENARIO | old or new scenario
FT_HEIGHTMAP | heightmap file
FT_INVALID | Invalid or unknown file type.
FT_NUMBITS | Number of bits required for storing a AbstractFileType value.
FT_MASK | Bitmask for extracting an abstract file type.

Definition at line 16 of file fileio_type.h.

## ◆ DetailedFileType

enum DetailedFileType

Kinds of files in each AbstractFileType.

Enumerator
DFT_OLD_GAME_FILE | Old save game or scenario file.
DFT_GAME_FILE | Save game or scenario file.
DFT_HEIGHTMAP_BMP | BMP file.
DFT_HEIGHTMAP_PNG | PNG file.
DFT_FIOS_DRIVE | A drive (letter) entry.
DFT_FIOS_PARENT | A parent directory entry.
DFT_FIOS_DIR | A directory entry.
DFT_FIOS_DIRECT | Direct filename.
DFT_INVALID | Unknown or invalid file.

Definition at line 28 of file fileio_type.h.

## ◆ FiosType

enum FiosType

Elements of a file system that are recognized.

Values are a combination of AbstractFileType and DetailedFileType.

See also
  GetAbstractFileType GetDetailedFileType

Definition at line 67 of file fileio_type.h.

## ◆ SaveLoadOperation

enum SaveLoadOperation

Operation performed on the file.

Enumerator
SLO_CHECK | Load file for checking and/or preview.
SLO_LOAD | File is being loaded.
SLO_SAVE | File is being saved.
SLO_INVALID | Unknown file operation.

Definition at line 47 of file fileio_type.h.

## ◆ Searchpath

enum Searchpath : unsigned

Types of searchpaths OpenTTD might use.

Enumerator
SP_WORKING_DIR | Search in the working directory.
SP_PERSONAL_DIR | Search in the personal directory.
SP_SHARED_DIR | Search in the shared directory, like 'Shared Files' under Windows.
SP_BINARY_DIR | Search in the directory where the binary resides.
SP_INSTALLATION_DIR | Search in the installation directory.
SP_APPLICATION_BUNDLE_DIR | Search within the application bundle.
SP_AUTODOWNLOAD_DIR | Search within the autodownload directory.
SP_AUTODOWNLOAD_PERSONAL_DIR | Search within the autodownload directory located in the personal directory.
SP_AUTODOWNLOAD_PERSONAL_DIR_XDG | Search within the autodownload directory located in the personal directory (XDG variant)

Definition at line 131 of file fileio_type.h.

## ◆ Subdirectory

enum Subdirectory

The different kinds of subdirectories OpenTTD uses.

Enumerator
BASE_DIR | Base directory for all subdirectories.
SAVE_DIR | Base directory for all savegames.
AUTOSAVE_DIR | Subdirectory of save for autosaves.
SCENARIO_DIR | Base directory for all scenarios.
HEIGHTMAP_DIR | Subdirectory of scenario for heightmaps.
OLD_GM_DIR | Old subdirectory for the music.
OLD_DATA_DIR | Old subdirectory for the data.
BASESET_DIR | Subdirectory for all base data (base sets, intro game)
NEWGRF_DIR | Subdirectory for all NewGRFs.
LANG_DIR | Subdirectory for all translation files.
AI_DIR | Subdirectory for all AI files.
AI_LIBRARY_DIR | Subdirectory for all AI libraries.
GAME_DIR | Subdirectory for all game scripts.
GAME_LIBRARY_DIR | Subdirectory for all GS libraries.
SCREENSHOT_DIR | Subdirectory for all screenshots.
NUM_SUBDIRS | Number of subdirectories.
NO_DIRECTORY | A path without any base directory.

Definition at line 108 of file fileio_type.h.

## Function Documentation

## ◆ GetAbstractFileType()

AbstractFileType GetAbstractFileType | ( | FiosType | fios_type | ) |
| inline

Extract the abstract file type from a FiosType.

Parameters

  fios_type | Type to query.

Returns
  The Abstract file type of the fios_type.

Definition at line 90 of file fileio_type.h.

References FT_MASK.

Referenced by FileToSaveLoad::SetMode().

## ◆ GetDetailedFileType()

DetailedFileType GetDetailedFileType | ( | FiosType | fios_type | ) |
| inline

Extract the detailed file type from a FiosType.

Parameters

  fios_type | Type to query.

Returns
  The Detailed file type of the fios_type.

Definition at line 100 of file fileio_type.h.

References FT_NUMBITS.

Referenced by FileToSaveLoad::SetMode().