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

Public Member Functions

void Initialize () override
 
class GameInfoFindInfo (const std::string &name, int version, bool force_exact_match)
 Check if we have a game by name and version available in our list.
 
- 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 15 of file game_scanner.hpp.

Member Function Documentation

◆ FindInfo()

GameInfo * GameScannerInfo::FindInfo ( const std::string &  name,
int  version,
bool  force_exact_match 
)

Check if we have a game by name and version available in our list.

Parameters
nameThe name of the game script.
versionThe version of the game script, or -1 if you want the latest.
force_exact_matchOnly match name+version, never latest.
Returns
nullptr if no match found, otherwise the game script that matched.

Definition at line 36 of file game_scanner.cpp.

References GameInfo::CanLoadFromVersion(), ScriptInfo::GetName(), ScriptInfo::GetVersion(), ScriptScanner::info_list, ScriptScanner::info_single_list, and StrEqualsIgnoreCase().

Referenced by Game::FindInfo().

◆ GetDirectory()

Subdirectory GameScannerInfo::GetDirectory ( ) const
inlineoverrideprotectedvirtual

Get the directory to scan in.

Implements ScriptScanner.

Definition at line 31 of file game_scanner.hpp.

References GAME_DIR.

◆ GetFileName()

const char * GameScannerInfo::GetFileName ( ) const
inlineoverrideprotectedvirtual

Get the filename to scan for this type of script.

Implements ScriptScanner.

Definition at line 30 of file game_scanner.hpp.

◆ GetScannerName()

const char * GameScannerInfo::GetScannerName ( ) const
inlineoverrideprotectedvirtual

Get the type of the script, in plural.

Implements ScriptScanner.

Definition at line 32 of file game_scanner.hpp.

◆ GetScriptName()

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

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

Implements ScriptScanner.

Definition at line 26 of file game_scanner.cpp.

References ScriptInfo::GetName().

◆ Initialize()

void GameScannerInfo::Initialize ( )
overridevirtual

Implements ScriptScanner.

Definition at line 21 of file game_scanner.cpp.

◆ RegisterAPI()

void GameScannerInfo::RegisterAPI ( class Squirrel engine)
overrideprotectedvirtual

Register the API for this ScriptInfo.

Implements ScriptScanner.

Definition at line 31 of file game_scanner.cpp.

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


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