|
OpenTTD Source
12.2
|
#include "core/enum_type.hpp"#include "fileio_type.h"#include <string>#include <vector>#include <sys/types.h>#include <dirent.h>Go to the source code of this file.
Data Structures | |
| class | FileScanner |
| Helper for scanning for files with a given name. More... | |
| class | TarScanner |
| Helper for scanning for files with tar as extension. More... | |
| class | FileCloser |
| Auto-close a file upon scope exit. More... | |
| struct | FileDeleter |
Helper to manage a FILE with a std::unique_ptr. More... | |
Functions | |
| void | FioFCloseFile (FILE *f) |
| Close a file in a safe way. | |
| FILE * | FioFOpenFile (const std::string &filename, const char *mode, Subdirectory subdir, size_t *filesize=nullptr) |
| Opens a OpenTTD file somewhere in a personal or global directory. More... | |
| bool | FioCheckFileExists (const std::string &filename, Subdirectory subdir) |
| Check whether the given file exists. More... | |
| std::string | FioFindFullPath (Subdirectory subdir, const char *filename) |
| Find a path to the filename in one of the search directories. More... | |
| std::string | FioGetDirectory (Searchpath sp, Subdirectory subdir) |
| std::string | FioFindDirectory (Subdirectory subdir) |
| void | FioCreateDirectory (const std::string &name) |
| Create a directory with the given name If the parent directory does not exist, it will try to create that as well. More... | |
| const char * | FiosGetScreenshotDir () |
| Get the directory for screenshots. More... | |
| void | SanitizeFilename (char *filename) |
| Sanitizes a filename, i.e. More... | |
| void | AppendPathSeparator (std::string &buf) |
| Appends, if necessary, the path separator character to the end of the string. More... | |
| void | DeterminePaths (const char *exe, bool only_local_path) |
| Acquire the base paths (personal dir and game data dir), fill all other paths (save dir, autosave dir etc) and make the save and scenario directories. More... | |
| std::unique_ptr< char[]> | ReadFileToMem (const std::string &filename, size_t &lenp, size_t maxsize) |
| Load a file into memory. More... | |
| bool | FileExists (const std::string &filename) |
| Test whether the given filename exists. More... | |
| bool | ExtractTar (const std::string &tar_filename, Subdirectory subdir) |
| Extract the tar with the given filename in the directory where the tar resides. More... | |
| static DIR * | ttd_opendir (const char *path) |
| A wrapper around opendir() which will convert the string from OPENTTD encoding to that of the filesystem. More... | |
Variables | |
| std::string | _personal_dir |
| custom directory for personal settings, saves, newgrf, etc. | |
| std::vector< Searchpath > | _valid_searchpaths |
Functions for Standard In/Out file operations
Definition in file fileio_func.h.
| void AppendPathSeparator | ( | std::string & | buf | ) |
Appends, if necessary, the path separator character to the end of the string.
It does not add the path separator to zero-sized strings.
| buf | string to append the separator to |
Definition at line 361 of file fileio.cpp.
Referenced by FileScanner::Scan().
| void DeterminePaths | ( | const char * | exe, |
| bool | only_local_path | ||
| ) |
Acquire the base paths (personal dir and game data dir), fill all other paths (save dir, autosave dir etc) and make the save and scenario directories.
| exe | the path from the current path to the executable |
| only_local_path | Whether we shouldn't fill searchpaths with global folders. |
Definition at line 966 of file fileio.cpp.
References DetermineBasePaths().
| bool ExtractTar | ( | const std::string & | tar_filename, |
| Subdirectory | subdir | ||
| ) |
Extract the tar with the given filename in the directory where the tar resides.
| tar_filename | the name of the tar to extract. |
| subdir | The sub directory the tar is in. |
Definition at line 683 of file fileio.cpp.
| bool FileExists | ( | const std::string & | filename | ) |
Test whether the given filename exists.
| filename | the file to test. |
Definition at line 122 of file fileio.cpp.
References OTTD2FS().
| bool FioCheckFileExists | ( | const std::string & | filename, |
| Subdirectory | subdir | ||
| ) |
Check whether the given file exists.
| filename | the file to try for existence. |
| subdir | the subdirectory to look in |
Definition at line 108 of file fileio.cpp.
References FioFCloseFile(), and FioFOpenFile().
Referenced by FillGRFDetails(), GetMusicCatEntryData(), GetMusicCatEntryName(), GRFLoadConfig(), and SaveLoadWindow::OnTimeout().
| void FioCreateDirectory | ( | const std::string & | name | ) |
Create a directory with the given name If the parent directory does not exist, it will try to create that as well.
| name | the new name of the directory |
Definition at line 331 of file fileio.cpp.
| std::string FioFindFullPath | ( | Subdirectory | subdir, |
| const char * | filename | ||
| ) |
Find a path to the filename in one of the search directories.
| subdir | Subdirectory to try. |
| filename | Filename to look for. |
Definition at line 141 of file fileio.cpp.
References NUM_SUBDIRS.
Referenced by MidiFile::GetSMFFile().
| FILE* FioFOpenFile | ( | const std::string & | filename, |
| const char * | mode, | ||
| Subdirectory | subdir, | ||
| size_t * | filesize | ||
| ) |
Opens a OpenTTD file somewhere in a personal or global directory.
| filename | Name of the file to open. |
| subdir | Subdirectory to open. |
nullptr if the file is not available. Definition at line 245 of file fileio.cpp.
References NO_DIRECTORY, and NUM_SUBDIRS.
Referenced by ScriptFileChecksumCreator::AddFile(), ScenarioScanner::AddFile(), CalcGRFMD5Sum(), MD5File::CheckMD5(), GraphicsSet::CheckMD5(), FioCheckFileExists(), GetFileTitle(), MidiFile::LoadFile(), Squirrel::LoadFile(), TextfileWindow::LoadTextfile(), IniFile::OpenFile(), RandomAccessFile::RandomAccessFile(), ReadRawLanguageStrings(), MidiFile::ReadSMFHeader(), CrashLog::WriteCrashLog(), and MidiFile::WriteSMF().
| const char* FiosGetScreenshotDir | ( | ) |
| std::unique_ptr<char[]> ReadFileToMem | ( | const std::string & | filename, |
| size_t & | lenp, | ||
| size_t | maxsize | ||
| ) |
Load a file into memory.
| filename | Name of the file to load. | |
| [out] | lenp | Length of loaded data. |
| maxsize | Maximum size to load. |
nullptr if loading failed. Definition at line 1111 of file fileio.cpp.
Referenced by ReadLanguagePack().
| void SanitizeFilename | ( | char * | filename | ) |
Sanitizes a filename, i.e.
removes all illegal characters from it.
| filename | the "\0" terminated filename |
Definition at line 1089 of file fileio.cpp.
|
inlinestatic |
A wrapper around opendir() which will convert the string from OPENTTD encoding to that of the filesystem.
For all purposes this function behaves the same as the original opendir function
| path | string to open directory of |
Definition at line 113 of file fileio_func.h.
Referenced by GetLanguageList().