OpenTTD
Public Member Functions | Private Member Functions
AIInstance Class Reference

Runtime information about an AI like a pointer to the squirrel vm and the current state. More...

#include <ai_instance.hpp>

Inheritance diagram for AIInstance:
ScriptInstance

Public Member Functions

void Initialize (class AIInfo *info)
 Initialize the AI and prepare it for its first run. More...
 
int GetSetting (const char *name)
 Get the value of a setting of the current instance. More...
 
ScriptInfoFindLibrary (const char *library, int version)
 Find a library. More...
 
- Public Member Functions inherited from ScriptInstance
 ScriptInstance (const char *APIName)
 Create a new script.
 
void Initialize (const char *main_script, const char *instance_name, CompanyID company)
 Initialize the script and prepare it for its first run. More...
 
void Continue ()
 A script in multiplayer waits for the server to handle his DoCommand. More...
 
void GameLoop ()
 Run the GameLoop of a script.
 
void CollectGarbage () const
 Let the VM collect any garbage.
 
class ScriptStorageGetStorage ()
 Get the storage of this script.
 
void * GetLogPointer ()
 Get the log pointer of this script.
 
class ScriptController * GetController ()
 Get the controller attached to the instance.
 
bool IsDead () const
 Return the "this script died" value.
 
void Save ()
 Call the script Save function and save all data in the savegame.
 
void Load (int version)
 Load data from a savegame and store it on the stack. More...
 
void Pause ()
 Suspends the script for the current tick and then pause the execution of script. More...
 
bool IsPaused ()
 Checks if the script is paused. More...
 
void Unpause ()
 Resume execution of the script. More...
 
SQInteger GetOpsTillSuspend ()
 Get the number of operations the script can execute before being suspended. More...
 
void DoCommandCallback (const CommandCost &result, TileIndex tile, uint32 p1, uint32 p2)
 DoCommand callback function for all commands executed by scripts. More...
 
void InsertEvent (class ScriptEvent *event)
 Insert an event for this script. More...
 
bool IsSleeping ()
 Check if the instance is sleeping, which either happened because the script executed a DoCommand, executed this.Sleep() or it has been paused.
 

Private Member Functions

void RegisterAPI ()
 Register all API functions to the VM.
 
void Died ()
 Tell the script it died.
 
CommandCallbackGetDoCommandCallback ()
 Get the callback handling DoCommands in case of networking.
 
void LoadDummyScript ()
 Load the dummy script.
 

Additional Inherited Members

- Static Public Member Functions inherited from ScriptInstance
static void DoCommandReturn (ScriptInstance *instance)
 Return a true/false reply for a DoCommand.
 
static void DoCommandReturnVehicleID (ScriptInstance *instance)
 Return a VehicleID reply for a DoCommand.
 
static void DoCommandReturnSignID (ScriptInstance *instance)
 Return a SignID reply for a DoCommand.
 
static void DoCommandReturnGroupID (ScriptInstance *instance)
 Return a GroupID reply for a DoCommand.
 
static void DoCommandReturnGoalID (ScriptInstance *instance)
 Return a GoalID reply for a DoCommand.
 
static void DoCommandReturnStoryPageID (ScriptInstance *instance)
 Return a StoryPageID reply for a DoCommand.
 
static void DoCommandReturnStoryPageElementID (ScriptInstance *instance)
 Return a StoryPageElementID reply for a DoCommand.
 
static void SaveEmpty ()
 Don't save any data in the savegame.
 
static void LoadEmpty ()
 Load and discard data from a savegame.
 
- Protected Member Functions inherited from ScriptInstance
bool LoadCompatibilityScripts (const char *api_version, Subdirectory dir)
 Load squirrel scripts to emulate an older API. More...
 
- Protected Attributes inherited from ScriptInstance
class Squirrelengine
 A wrapper around the squirrel vm.
 
const char * versionAPI
 Current API used by this script.
 

Detailed Description

Runtime information about an AI like a pointer to the squirrel vm and the current state.

Definition at line 18 of file ai_instance.hpp.

Member Function Documentation

◆ FindLibrary()

ScriptInfo * AIInstance::FindLibrary ( const char *  library,
int  version 
)
virtual

Find a library.

Parameters
libraryThe library name to find.
versionThe version the library should have.
Returns
The library if found, NULL otherwise.

Implements ScriptInstance.

Definition at line 240 of file ai_instance.cpp.

References AI::FindLibrary().

◆ GetSetting()

int AIInstance::GetSetting ( const char *  name)
virtual

Get the value of a setting of the current instance.

Parameters
nameThe name of the setting.
Returns
the value for the setting, or -1 if the setting is not known.

Implements ScriptInstance.

Definition at line 235 of file ai_instance.cpp.

References _current_company, AIConfig::GetConfig(), and AIConfig::GetSetting().

◆ Initialize()

void AIInstance::Initialize ( class AIInfo info)

Initialize the AI and prepare it for its first run.

Parameters
infoThe AI to create the instance of.

Definition at line 91 of file ai_instance.cpp.

References _current_company, ScriptInfo::engine, AIInfo::GetAPIVersion(), ScriptInfo::GetInstanceName(), ScriptInfo::GetMainScript(), and ScriptInstance::Initialize().


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