OpenTTD Source  1.11.1
AIScannerInfo Class Reference
Inheritance diagram for AIScannerInfo:
ScriptScanner FileScanner

Public Member Functions

void Initialize () override
 
class AIInfo * SelectRandomAI () const
 Select a random AI. More...
 
class AIInfo * FindInfo (const char *nameParam, int versionParam, bool force_exact_match)
 Check if we have an AI by name and version available in our list. More...
 
void SetDummyAI (class AIInfo *info)
 Set the Dummy AI.
 
- 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.
 
char * GetConsoleList (char *p, const char *last, 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. More...
 
const char * FindMainScript (const ContentInfo *ci, bool md5sum)
 Find a script of a ContentInfo. More...
 
bool AddFile (const std::string &filename, size_t basepath_length, const std::string &tar_filename) override
 Add a file with the given filename. More...
 
void RescanDir ()
 Rescan the script dir.
 
- Public Member Functions inherited from FileScanner
virtual ~FileScanner ()
 Destruct the proper one...
 
uint Scan (const char *extension, Subdirectory sd, bool tars=true, bool recursive=true)
 Scan for files with the given extension in the given search path. More...
 
uint Scan (const char *extension, const char *directory, bool recursive=true)
 Scan for files with the given extension in the given search path. More...
 

Protected Member Functions

void GetScriptName (ScriptInfo *info, char *name, const char *last) 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. More...
 
void Reset ()
 Reset all allocated lists.
 
void ResetEngine ()
 Reset the engine to ensure a clean environment for further steps.
 

Private Attributes

AIInfo * info_dummy
 The dummy AI.
 

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 ai_scanner.hpp.

Member Function Documentation

◆ FindInfo()

AIInfo * AIScannerInfo::FindInfo ( const char *  nameParam,
int  versionParam,
bool  force_exact_match 
)

Check if we have an AI by name and version available in our list.

Parameters
nameParamThe name of the AI.
versionParamThe version of the AI, or -1 if you want the latest.
force_exact_matchOnly match name+version, never latest.
Returns
nullptr if no match found, otherwise the AI that matched.

Definition at line 94 of file ai_scanner.cpp.

References AIInfo::CanLoadFromVersion(), ScriptInfo::GetName(), ScriptInfo::GetVersion(), ScriptScanner::info_list, ScriptScanner::info_single_list, lastof, seprintf(), strecpy(), and strtolower().

Referenced by AI::FindInfo().

◆ SelectRandomAI()

AIInfo * AIScannerInfo::SelectRandomAI ( ) const

Select a random AI.

Returns
A random AI from the pool.

Definition at line 60 of file ai_scanner.cpp.

References _networking, DEBUG, info_dummy, ScriptScanner::info_single_list, and AIInfo::UseAsRandomAI().

Referenced by AI::StartNew().


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