OpenTTD Source 20250206-master-g6089ed8059
|
Helper for scanning for files with tar as extension. More...
#include <fileio_func.h>
Public Types | |
enum class | Mode : uint8_t { Baseset , NewGRF , AI , Scenario , Game } |
The mode of tar scanning. More... | |
using | Modes = EnumBitSet< Mode, uint8_t > |
Public Member Functions | |
bool | AddFile (const std::string &filename, size_t basepath_length, const std::string &tar_filename={}) override |
Add a file with the given filename. | |
bool | AddFile (Subdirectory sd, const std::string &filename) |
Add a single file to the scanned files of a tar, circumventing the scanning code. | |
Static Public Member Functions | |
static uint | DoScan (TarScanner::Modes modes) |
Do the scan for Tars. | |
Static Public Attributes | |
static constexpr Modes | MODES_ALL = {Mode::Baseset, Mode::NewGRF, Mode::AI, Mode::Scenario, Mode::Game} |
Scan for everything. | |
Private Member Functions | |
uint | DoScan (Subdirectory sd) |
Perform the scanning of a particular subdirectory. | |
Private Member Functions inherited from FileScanner | |
virtual | ~FileScanner ()=default |
Destruct the proper one... | |
uint | Scan (std::string_view extension, Subdirectory sd, bool tars=true, bool recursive=true) |
Scan for files with the given extension in the given search path. | |
uint | Scan (std::string_view extension, const std::string &directory, bool recursive=true) |
Scan for files with the given extension in the given search path. | |
Additional Inherited Members | |
Private Attributes inherited from FileScanner | |
Subdirectory | subdir |
The current sub directory we are searching through. | |
Helper for scanning for files with tar as extension.
Definition at line 59 of file fileio_func.h.
using TarScanner::Modes = EnumBitSet<Mode, uint8_t> |
Definition at line 70 of file fileio_func.h.
|
strong |
The mode of tar scanning.
Enumerator | |
---|---|
Baseset | Scan for base sets. |
NewGRF | Scan for non-base sets. |
AI | Scan for AIs and its libraries. |
Scenario | Scan for scenarios and heightmaps. |
Game | Scan for game scripts. |
Definition at line 63 of file fileio_func.h.
|
overridevirtual |
Add a file with the given filename.
filename | the full path to the file to read |
basepath_length | amount of characters to chop of before to get a filename relative to the search path. |
tar_filename | the name of the tar file the file is read from. |
< Name of the file
< Size of the file, in ASCII octals
< Path of the file
Implements FileScanner.
Definition at line 439 of file fileio.cpp.
References Align(), Debug, ExtractString(), FS2OTTD(), FileHandle::Open(), OTTD2FS(), SimplifyFileName(), StrTrimInPlace(), and FileScanner::subdir.
Referenced by AddFile(), and ClientNetworkContentSocketHandler::AfterDownload().
bool TarScanner::AddFile | ( | Subdirectory | sd, |
const std::string & | filename | ||
) |
Add a single file to the scanned files of a tar, circumventing the scanning code.
sd | The sub directory the file is in. |
filename | The name of the file to add. |
Definition at line 418 of file fileio.cpp.
References AddFile().
|
private |
Perform the scanning of a particular subdirectory.
sd | The subdirectory to scan. |
Definition at line 376 of file fileio.cpp.
References BASESET_DIR, NEWGRF_DIR, OLD_DATA_DIR, and FileScanner::Scan().
Referenced by NetworkContentDownloadStatusWindow::Close(), DoScan(), DoScanNewGRFFiles(), AI::Initialize(), Game::Initialize(), AfterNewGRFScan::OnNewGRFsScanned(), openttd_main(), and AI::Rescan().
|
static |
Do the scan for Tars.
Definition at line 385 of file fileio.cpp.
References AI, AI_DIR, AI_LIBRARY_DIR, Baseset, BASESET_DIR, Debug, DoScan(), Game, GAME_DIR, GAME_LIBRARY_DIR, HEIGHTMAP_DIR, NewGRF, NEWGRF_DIR, Scenario, SCENARIO_DIR, and EnumBitSet< Tenum, Tstorage >::Test().
|
staticconstexpr |
Scan for everything.
Definition at line 72 of file fileio_func.h.