OpenTTD Source 20241224-master-gf74b0cf984
GameScannerLibrary Class Reference
Inheritance diagram for GameScannerLibrary:
ScriptScanner FileScanner

Public Member Functions

void Initialize () override
 
class GameLibraryFindLibrary (const std::string &library, int version)
 Find a library in the pool.
 
- Public Member Functions inherited from ScriptScanner
class SquirrelGetEngine ()
 Get the engine of the main squirrel handler (it indexes all available scripts).
 
std::string GetMainScript ()
 Get the current main script the ScanDir is currently tracking.
 
std::string GetTarFile ()
 Get the current tar file the ScanDir is currently tracking.
 
const ScriptInfoListGetInfoList ()
 Get the list of all registered scripts.
 
const ScriptInfoListGetUniqueInfoList ()
 Get the list of the latest version of all registered scripts.
 
void RegisterScript (class ScriptInfo *info)
 Register a ScriptInfo to the scanner.
 
void GetConsoleList (std::back_insert_iterator< std::string > &output_iterator, bool newest_only) const
 Get the list of registered scripts to print on the console.
 
bool HasScript (const struct ContentInfo *ci, bool md5sum)
 Check whether we have a script with the exact characteristics as ci.
 
const char * FindMainScript (const ContentInfo *ci, bool md5sum)
 Find a script of a ContentInfo.
 
bool AddFile (const std::string &filename, size_t basepath_length, const std::string &tar_filename) override
 Add a file with the given filename.
 
void RescanDir ()
 Rescan the script dir.
 
- Public 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.
 

Protected Member Functions

std::string GetScriptName (ScriptInfo *info) override
 Get the script name how to store the script in memory.
 
const char * GetFileName () const override
 Get the filename to scan for this type of script.
 
Subdirectory GetDirectory () const override
 Get the directory to scan in.
 
const char * GetScannerName () const override
 Get the type of the script, in plural.
 
void RegisterAPI (class Squirrel *engine) override
 Register the API for this ScriptInfo.
 
- Protected Member Functions inherited from ScriptScanner
void Initialize (const char *name)
 Initialize the scanner.
 
void Reset ()
 Reset all allocated lists.
 
void ResetEngine ()
 Reset the engine to ensure a clean environment for further steps.
 

Additional Inherited Members

- Protected Attributes inherited from ScriptScanner
class Squirrelengine
 The engine we're scanning with.
 
std::string main_script
 The full path of the script.
 
std::string tar_file
 If, which tar file the script was in.
 
ScriptInfoList info_list
 The list of all script.
 
ScriptInfoList info_single_list
 The list of all unique script. The best script (highest version) is shown.
 
- Protected Attributes inherited from FileScanner
Subdirectory subdir
 The current sub directory we are searching through.
 

Detailed Description

Definition at line 37 of file game_scanner.hpp.

Member Function Documentation

◆ FindLibrary()

GameLibrary * GameScannerLibrary::FindLibrary ( const std::string &  library,
int  version 
)

Find a library in the pool.

Parameters
libraryThe library name to find.
versionThe version the library should have.
Returns
The library if found, nullptr otherwise.

Definition at line 89 of file game_scanner.cpp.

References ScriptScanner::info_list.

Referenced by Game::FindLibrary().

◆ GetDirectory()

Subdirectory GameScannerLibrary::GetDirectory ( ) const
inlineoverrideprotectedvirtual

Get the directory to scan in.

Implements ScriptScanner.

Definition at line 52 of file game_scanner.hpp.

References GAME_LIBRARY_DIR.

◆ GetFileName()

const char * GameScannerLibrary::GetFileName ( ) const
inlineoverrideprotectedvirtual

Get the filename to scan for this type of script.

Implements ScriptScanner.

Definition at line 51 of file game_scanner.hpp.

◆ GetScannerName()

const char * GameScannerLibrary::GetScannerName ( ) const
inlineoverrideprotectedvirtual

Get the type of the script, in plural.

Implements ScriptScanner.

Definition at line 53 of file game_scanner.hpp.

◆ GetScriptName()

std::string GameScannerLibrary::GetScriptName ( ScriptInfo info)
overrideprotectedvirtual

Get the script name how to store the script in memory.

Implements ScriptScanner.

Definition at line 78 of file game_scanner.cpp.

References GameLibrary::GetCategory(), and ScriptInfo::GetInstanceName().

◆ Initialize()

void GameScannerLibrary::Initialize ( )
overridevirtual

Implements ScriptScanner.

Definition at line 73 of file game_scanner.cpp.

◆ RegisterAPI()

void GameScannerLibrary::RegisterAPI ( class Squirrel engine)
overrideprotectedvirtual

Register the API for this ScriptInfo.

Implements ScriptScanner.

Definition at line 84 of file game_scanner.cpp.

References ScriptScanner::engine, and GameLibrary::RegisterAPI().


The documentation for this class was generated from the following files: