OpenTTD Source 20260421-master-gc2fbc6fdeb
fileio_type.h File Reference

Types for standard in/out file operations. More...

Go to the source code of this file.

Data Structures

struct  FiosType
 Elements of a file system that are recognized. More...
class  FileHandle

Enumerations

enum class  AbstractFileType : uint8_t {
  None , Savegame , Scenario , Heightmap ,
  TownData , Invalid = 7
}
 The different abstract types of files that the system knows about. More...
enum class  DetailedFileType : uint8_t {
  OldGameFile , GameFile , HeightmapBmp , HeightmapPng ,
  TownDataJson , FiosDrive , FiosParent , FiosDirectory ,
  FiosDirect , End , Invalid = 255
}
 Kinds of files in each AbstractFileType. More...
enum class  SaveLoadOperation : uint8_t { Check , Load , Save , Invalid }
 Operation performed on the file. More...
enum class  Subdirectory : uint8_t {
  Base , Save , Autosave , Scenario ,
  Heightmap , OldGm , OldData , Baseset ,
  NewGrf , Lang , Ai , AiLibrary ,
  Gs , GsLibrary , Screenshot , SocialIntegration ,
  Docs , End , None
}
 The different kinds of subdirectories OpenTTD uses. More...
enum class  Searchpath : uint8_t {
  Begin , WorkingDir = Searchpath::Begin , PersonalDir , SharedDir ,
  BinaryDir , InstallationDir , ApplicationBundleDir , AutodownloadDir ,
  AutodownloadPersonalDir , AutodownloadPersonalDirXdg , End
}
 Types of searchpaths OpenTTD might use. More...

Variables

constexpr FiosType FIOS_TYPE_DRIVE {AbstractFileType::None, DetailedFileType::FiosDrive}
constexpr FiosType FIOS_TYPE_PARENT {AbstractFileType::None, DetailedFileType::FiosParent}
constexpr FiosType FIOS_TYPE_DIR {AbstractFileType::None, DetailedFileType::FiosDirectory}
constexpr FiosType FIOS_TYPE_DIRECT {AbstractFileType::None, DetailedFileType::FiosDirect}
constexpr FiosType FIOS_TYPE_FILE {AbstractFileType::Savegame, DetailedFileType::GameFile}
constexpr FiosType FIOS_TYPE_OLDFILE {AbstractFileType::Savegame, DetailedFileType::OldGameFile}
constexpr FiosType FIOS_TYPE_SCENARIO {AbstractFileType::Scenario, DetailedFileType::GameFile}
constexpr FiosType FIOS_TYPE_OLD_SCENARIO {AbstractFileType::Scenario, DetailedFileType::OldGameFile}
constexpr FiosType FIOS_TYPE_PNG {AbstractFileType::Heightmap, DetailedFileType::HeightmapPng}
constexpr FiosType FIOS_TYPE_BMP {AbstractFileType::Heightmap, DetailedFileType::HeightmapBmp}
constexpr FiosType FIOS_TYPE_JSON {AbstractFileType::TownData, DetailedFileType::TownDataJson}
constexpr FiosType FIOS_TYPE_INVALID {AbstractFileType::Invalid, DetailedFileType::Invalid}

Detailed Description

Types for standard in/out file operations.

Definition in file fileio_type.h.

Enumeration Type Documentation

◆ AbstractFileType

enum class AbstractFileType : uint8_t
strong

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

Enumerator
None 

nothing to do

Savegame 

old or new savegame

Scenario 

old or new scenario

Heightmap 

heightmap file

TownData 

town data file

Invalid 

Invalid or unknown file type.

Definition at line 17 of file fileio_type.h.

◆ DetailedFileType

enum class DetailedFileType : uint8_t
strong

Kinds of files in each AbstractFileType.

Enumerator
OldGameFile 

Old save game or scenario file.

GameFile 

Save game or scenario file.

HeightmapBmp 

BMP file.

HeightmapPng 

PNG file.

TownDataJson 

JSON file.

FiosDrive 

A drive (letter) entry.

FiosParent 

A parent directory entry.

FiosDirectory 

A directory entry.

FiosDirect 

Direct filename.

End 

End marker.

Invalid 

Unknown or invalid file.

Definition at line 28 of file fileio_type.h.

◆ SaveLoadOperation

enum class SaveLoadOperation : uint8_t
strong

Operation performed on the file.

Enumerator
Check 

Load file for checking and/or preview.

Load 

File is being loaded.

Save 

File is being saved.

Invalid 

Unknown file operation.

Definition at line 52 of file fileio_type.h.

◆ Searchpath

enum class Searchpath : uint8_t
strong

Types of searchpaths OpenTTD might use.

Enumerator
Begin 

The lowest valid value.

WorkingDir 

Search in the working directory.

PersonalDir 

Search in the personal directory.

SharedDir 

Search in the shared directory, like 'Shared Files' under Windows.

BinaryDir 

Search in the directory where the binary resides.

InstallationDir 

Search in the installation directory.

ApplicationBundleDir 

Search within the application bundle.

AutodownloadDir 

Search within the autodownload directory.

AutodownloadPersonalDir 

Search within the autodownload directory located in the personal directory.

AutodownloadPersonalDirXdg 

Search within the autodownload directory located in the personal directory (XDG variant).

End 

End marker.

Definition at line 113 of file fileio_type.h.

◆ Subdirectory

enum class Subdirectory : uint8_t
strong

The different kinds of subdirectories OpenTTD uses.

Enumerator
Base 

Base directory for all subdirectories.

Save 

Base directory for all savegames.

Autosave 

Subdirectory of save for autosaves.

Scenario 

Base directory for all scenarios.

Heightmap 

Subdirectory of scenario for heightmaps.

OldGm 

Old subdirectory for the music.

OldData 

Old subdirectory for the data.

Baseset 

Subdirectory for all base data (base sets, intro game).

NewGrf 

Subdirectory for all NewGRFs.

Lang 

Subdirectory for all translation files.

Ai 

Subdirectory for all AI files.

AiLibrary 

Subdirectory for all AI libraries.

Gs 

Subdirectory for all game scripts.

GsLibrary 

Subdirectory for all GS libraries.

Screenshot 

Subdirectory for all screenshots.

SocialIntegration 

Subdirectory for all social integration plugins.

Docs 

Subdirectory for documentation.

End 

End marker.

None 

A path without any base directory.

Definition at line 88 of file fileio_type.h.

Variable Documentation

◆ FIOS_TYPE_BMP

Definition at line 80 of file fileio_type.h.

◆ FIOS_TYPE_DIR

Definition at line 72 of file fileio_type.h.

◆ FIOS_TYPE_DIRECT

Definition at line 73 of file fileio_type.h.

◆ FIOS_TYPE_DRIVE

Definition at line 70 of file fileio_type.h.

◆ FIOS_TYPE_FILE

Definition at line 75 of file fileio_type.h.

◆ FIOS_TYPE_INVALID

Definition at line 83 of file fileio_type.h.

◆ FIOS_TYPE_JSON

Definition at line 81 of file fileio_type.h.

◆ FIOS_TYPE_OLD_SCENARIO

Definition at line 78 of file fileio_type.h.

◆ FIOS_TYPE_OLDFILE

Definition at line 76 of file fileio_type.h.

◆ FIOS_TYPE_PARENT

Definition at line 71 of file fileio_type.h.

◆ FIOS_TYPE_PNG

Definition at line 79 of file fileio_type.h.

◆ FIOS_TYPE_SCENARIO

Definition at line 77 of file fileio_type.h.