22#ifndef AGS_ENGINE_SCRIPT_SCRIPT_RUNTIME_H
23#define AGS_ENGINE_SCRIPT_SCRIPT_RUNTIME_H
25#include "ags/shared/core/types.h"
26#include "ags/shared/script/cc_script.h"
27#include "ags/engine/script/cc_instance.h"
33using AGS::Shared::String;
37 const char *Name =
nullptr;
42 ScFnRegister(
const char *name, ScriptAPIFunction *fn,
void *plfn =
nullptr)
44 ScFnRegister(
const char *name, ScriptAPIObjectFunction *fn,
void *plfn =
nullptr)
46 template<
typename TPlFn>
47 ScFnRegister(
const char *name, ScriptAPIFunction *fn, TPlFn plfn)
49 template<
typename TPlFn>
50 ScFnRegister(
const char *name, ScriptAPIObjectFunction *fn, TPlFn plfn)
59bool ccAddExternalStaticFunction(
const String &name, ScriptAPIFunction *pfn);
60bool ccAddExternalObjectFunction(
const String &name, ScriptAPIObjectFunction *pfn);
70void ccRemoveExternalSymbol(
const String &name);
72void ccRemoveAllSymbols();
76bool ccAddExternalStaticFunction361(
const String &name, ScriptAPIFunction *scfn,
void *dirfn =
nullptr);
77bool ccAddExternalObjectFunction361(
const String &name, ScriptAPIObjectFunction *scfn,
void *dirfn =
nullptr);
78bool ccAddExternalFunction361(
const ScFnRegister &scfnreg);
81inline void ccAddExternalFunctions361(
const ScFnRegister (&arr)[N]) {
82 for (
const ScFnRegister *it = arr; it != (arr + N); ++it)
83 ccAddExternalFunction361(*it);
87void *ccGetSymbolAddress(
const String &name);
89Plugins::PluginMethod ccGetSymbolAddressForPlugin(
const String &name);
91void *ccGetScriptObjectAddress(
const String &name,
const String &type);
94typedef void (*new_line_hook_type)(ccInstance *, int);
95void ccSetDebugHook(new_line_hook_type jibble);
101void ccSetScriptAliveTimer(
unsigned sys_poll_timeout,
unsigned abort_timeout,
unsigned abort_loops);
103void ccNotifyScriptStillAlive();
105NumberPtr call_function(
const Plugins::PluginMethod &method,
const RuntimeScriptValue *
object,
int numparm,
const RuntimeScriptValue *parms);
Definition: plugin_base.h:151
Definition: cc_static_array.h:60
Definition: cc_script_object.h:60
Definition: runtime_script_value.h:63
Definition: script_runtime.h:36
Definition: cc_instance.h:114