OpenTTD Source: AIInfo Class Reference

OpenTTD Source 15.0-beta1

Public Member Functions | Static Public Member Functions | Private Attributes
AIInfo Class Reference

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

`#include <ai_info.hpp>`

Inheritance diagram for AIInfo:

## 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()

SQInteger AIInfo::Constructor | ( | HSQUIRRELVM | vm | ) |
| static

Create an AI, using this AIInfo as start-template.

Definition at line 61 of file ai_info.cpp.

References api_version, CheckAPIVersion(), ScriptInfo::Constructor(), Debug, ScriptInfo::engine, ScriptInfo::GetName(), ScriptInfo::GetScanner(), ScriptInfo::GetVersion(), MAX_GET_OPS, Squirrel::MethodExists(), min_loadable_version, ScriptScanner::RegisterScript(), ScriptInfo::SQ_instance, and use_as_random.

Referenced by RegisterAPI().

## ◆ 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()

void AIInfo::RegisterAPI | ( | Squirrel * | engine | ) |
| static

Register the functions of this class.

Definition at line 36 of file ai_info.cpp.

References ScriptInfo::AddLabels(), Squirrel::AddMethod(), ScriptInfo::AddSetting(), Constructor(), DefSQClass< CL, ST >::DefSQAdvancedMethod(), DummyConstructor(), ScriptInfo::engine, SCRIPTCONFIG_BOOLEAN, SCRIPTCONFIG_DEVELOPER, SCRIPTCONFIG_INGAME, and SCRIPTCONFIG_NONE.

Referenced by AIScannerInfo::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:

- src/ai/ai_info.hpp
- src/ai/ai_info.cpp