22#ifndef AGS_ENGINE_SCRIPT_SCRIPT_H
23#define AGS_ENGINE_SCRIPT_SCRIPT_H
25#include "common/std/memory.h"
26#include "common/std/vector.h"
28#include "ags/engine/script/cc_instance.h"
29#include "ags/engine/script/executing_script.h"
30#include "ags/engine/script/non_blocking_script_function.h"
31#include "ags/engine/ac/dynobj/script_system.h"
32#include "ags/shared/game/interactions.h"
33#include "ags/shared/util/string.h"
37using AGS::Shared::String;
38using AGS::Shared::Interaction;
39using AGS::Shared::InteractionCommandList;
40using AGS::Shared::InteractionScripts;
41using AGS::Shared::InteractionVariable;
43#define LATE_REP_EXEC_ALWAYS_NAME "late_repeatedly_execute_always"
44#define REP_EXEC_ALWAYS_NAME "repeatedly_execute_always"
45#define REP_EXEC_NAME "repeatedly_execute"
62 : BlockName(block_name), BlockID(block_id) {}
65 : BlockName(block_name), BlockID(block_id), DynObj(dyn_obj), Mode(mode) {}
68int run_dialog_request(
int parmtr);
80int run_interaction_event(
const ObjectEvent &obj_evt,
Interaction *nint,
int evnt,
int chkAny = -1,
bool isInv =
false);
86void run_unhandled_event(
const ObjectEvent &obj_evt,
int evnt);
87int create_global_script();
88void cancel_all_scripts();
90ccInstance *GetScriptInstanceByType(ScriptInstType sc_inst);
92void QueueScriptFunction(ScriptInstType sc_inst,
const char *fn_name,
size_t param_count = 0,
95int RunScriptFunction(
ccInstance *sci,
const char *tsname,
size_t param_count = 0,
99void RunScriptFunctionInModules(
const char *tsname,
size_t param_count = 0,
102int RunScriptFunctionInRoom(
const char *tsname,
size_t param_count = 0,
106int RunScriptFunctionAuto(ScriptInstType sc_inst,
const char *fn_name,
size_t param_count = 0,
110void AllocScriptModules();
112void FreeAllScriptInstances();
114void FreeRoomScriptInstance();
117void FreeGlobalScripts();
123char *make_ts_func_name(
const char *base,
int iii,
int subd);
127void post_script_cleanup();
128void quit_with_script_error(
const char *functionName);
132void can_run_delayed_command();
136String cc_get_callstack(
int max_lines = INT_MAX);
Definition: interactions.h:122
Definition: interactions.h:154
Definition: interactions.h:201
Definition: interactions.h:185
Definition: non_blocking_script_function.h:31
Definition: runtime_script_value.h:63
Definition: cc_instance.h:98
Definition: cc_instance.h:114