OpenTTD Source 15.0-beta1
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 ScriptScanner * GetScanner ()
 Get the scanner which has found this ScriptInfo.
 
bool GetSettings ()
 Get the settings of the Script.
 
const ScriptConfigItemList * GetConfigList () const
 Get the config list for this Script.
 
const ScriptConfigItem * GetConfigItem (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 Squirrel * engine
 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: