OpenTTD Source 15.0-beta1
GameScannerInfo Class Reference
Inheritance diagram for GameScannerInfo:
ScriptScanner FileScanner

Public Member Functions

void Initialize () override
 
class GameInfo * 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.
 
- Public Member Functions inherited from ScriptScanner
class Squirrel * GetEngine ()
 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 ScriptInfoList * GetInfoList ()
 Get the list of all registered scripts.
 
const ScriptInfoList * GetUniqueInfoList ()
 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 Squirrel * engine
 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: