OpenTTD Source 20241224-master-gf74b0cf984
AIInfo Class Reference

All static information from an AI like name, version, etc. More...

#include <ai_info.hpp>

Inheritance diagram for AIInfo:
ScriptInfo

Public Member Functions

bool CanLoadFromVersion (int version) const
 Check if we can start this AI.
 
bool UseAsRandomAI () const
 Use this AI as a random AI.
 
const std::string & GetAPIVersion () const
 Get the API version this AI is written for.
 
- Public Member Functions inherited from ScriptInfo
const std::string & GetAuthor () const
 Get the Author of the script.
 
const std::string & GetName () const
 Get the Name of the script.
 
const std::string & GetShortName () const
 Get the 4 character long short name of the script.
 
const std::string & GetDescription () const
 Get the description of the script.
 
int GetVersion () const
 Get the version of the script.
 
const std::string & GetDate () const
 Get the last-modified date of the script.
 
const std::string & GetInstanceName () const
 Get the name of the instance of the script to create.
 
const std::string & GetURL () const
 Get the website for this script.
 
const std::string & GetMainScript () const
 Get the filename of the main.nut script.
 
const std::string & GetTarFile () const
 Get the filename of the tar the script is in.
 
bool CheckMethod (const char *name) const
 Check if a given method exists.
 
virtual class ScriptScannerGetScanner ()
 Get the scanner which has found this ScriptInfo.
 
bool GetSettings ()
 Get the settings of the Script.
 
const ScriptConfigItemListGetConfigList () const
 Get the config list for this Script.
 
const ScriptConfigItemGetConfigItem (const std::string_view name) const
 Get the description of a certain Script config option.
 
SQInteger AddSetting (HSQUIRRELVM vm)
 Set a setting.
 
SQInteger AddLabels (HSQUIRRELVM vm)
 Add labels for a setting.
 
int GetSettingDefaultValue (const std::string &name) const
 Get the default value for a setting.
 
virtual bool IsDeveloperOnly () const
 Can this script be selected by developers only?
 

Static Public Member Functions

static void RegisterAPI (Squirrel *engine)
 Register the functions of this class.
 
static SQInteger Constructor (HSQUIRRELVM vm)
 Create an AI, using this AIInfo as start-template.
 
static SQInteger DummyConstructor (HSQUIRRELVM vm)
 Create a dummy-AI.
 
- Static Public Member Functions inherited from ScriptInfo
static SQInteger Constructor (HSQUIRRELVM vm, ScriptInfo *info)
 Process the creation of a FileInfo object.
 

Private Attributes

int min_loadable_version
 The AI can load savegame data if the version is equal or greater than this.
 
bool use_as_random
 Should this AI be used when the user wants a "random AI"?
 
std::string api_version
 API version used by this AI.
 

Additional Inherited Members

- Protected Attributes inherited from ScriptInfo
class Squirrelengine
 Engine used to register for Squirrel.
 
HSQOBJECT SQ_instance
 The Squirrel instance created for this info.
 
ScriptConfigItemList config_list
 List of settings from this Script.
 

Detailed Description

All static information from an AI like name, version, etc.

Definition at line 16 of file ai_info.hpp.

Constructor & Destructor Documentation

◆ AIInfo()

AIInfo::AIInfo ( )

Definition at line 118 of file ai_info.cpp.

Member Function Documentation

◆ CanLoadFromVersion()

bool AIInfo::CanLoadFromVersion ( int  version) const

Check if we can start this AI.

Definition at line 124 of file ai_info.cpp.

References ScriptInfo::GetVersion(), min_loadable_version, and ScriptInfo::version.

Referenced by AIScannerInfo::FindInfo().

◆ Constructor()

◆ DummyConstructor()

SQInteger AIInfo::DummyConstructor ( HSQUIRRELVM  vm)
static

Create a dummy-AI.

Definition at line 100 of file ai_info.cpp.

References api_version, ScriptInfo::Constructor(), GB(), and ScriptInfo::GetScanner().

Referenced by RegisterAPI().

◆ GetAPIVersion()

const std::string & AIInfo::GetAPIVersion ( ) const
inline

Get the API version this AI is written for.

Definition at line 48 of file ai_info.hpp.

References api_version.

Referenced by AIInstance::Initialize().

◆ RegisterAPI()

◆ UseAsRandomAI()

bool AIInfo::UseAsRandomAI ( ) const
inline

Use this AI as a random AI.

Definition at line 43 of file ai_info.hpp.

References use_as_random.

Referenced by AIScannerInfo::SelectRandomAI().

Field Documentation

◆ api_version

std::string AIInfo::api_version
private

API version used by this AI.

Definition at line 53 of file ai_info.hpp.

Referenced by Constructor(), DummyConstructor(), and GetAPIVersion().

◆ min_loadable_version

int AIInfo::min_loadable_version
private

The AI can load savegame data if the version is equal or greater than this.

Definition at line 51 of file ai_info.hpp.

Referenced by CanLoadFromVersion(), and Constructor().

◆ use_as_random

bool AIInfo::use_as_random
private

Should this AI be used when the user wants a "random AI"?

Definition at line 52 of file ai_info.hpp.

Referenced by Constructor(), and UseAsRandomAI().


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