26 #include <unordered_map>
41 #define SCRIPTAPI_LOCK_DEBUG
42 #define SCRIPTAPI_DEBUG
46 #define BUILTIN_MOD_NAME "*builtin*"
48 #define PCALL_RES(RES) { \
49 int result_ = (RES); \
51 scriptError(result_, __FUNCTION__); \
55 #define runCallbacks(nargs, mode) \
56 runCallbacksRaw((nargs), (mode), __FUNCTION__)
58 #define setOriginFromTable(index) \
59 setOriginFromTableRaw(index, __FUNCTION__)
84 FATAL_ERROR(
"ScriptApiBase created without ScriptingType!");
90 void loadMod(
const std::string &script_path,
const std::string &mod_name);
91 void loadScript(
const std::string &script_path);
151 #ifdef SCRIPTAPI_LOCK_DEBUG
RunCallbacksMode
Definition: c_internal.h:86
Definition: environment.h:47
implementation of main menu based uppon formspecs
Definition: guiEngine.h:137
Definition: l_inventory.h:33
Definition: l_vmanip.h:34
Definition: l_object.h:34
void setOriginDirect(const char *origin)
Definition: s_base.cpp:327
void addObjectReference(ServerActiveObject *cobj)
Definition: s_base.cpp:357
std::recursive_mutex m_luastackmutex
Definition: s_base.h:148
void setEnv(Environment *env)
Definition: s_base.h:137
void stackDump(std::ostream &o)
Definition: s_base.cpp:300
void pushPlayerHPChangeReason(lua_State *L, const PlayerHPChangeReason &reason)
Definition: s_base.cpp:417
IGameDef * m_gamedef
Definition: s_base.h:161
void realityCheck()
Definition: s_base.cpp:284
ScriptingType getType()
Definition: s_base.h:106
DISABLE_CLASS_COPY(ScriptApiBase)
int m_lock_recursion_count
Definition: s_base.h:152
bool m_secure
Definition: s_base.h:150
void clientOpenLibs(lua_State *L)
Definition: s_base.cpp:145
lua_State * getStack()
Definition: s_base.h:127
GUIEngine * getGuiEngine()
Definition: s_base.h:140
ScriptApiBase()
Definition: s_base.h:82
IGameDef * getGameDef()
Definition: s_base.h:104
ScriptingType m_type
Definition: s_base.h:166
std::string m_last_run_mod
Definition: s_base.h:149
void loadScript(const std::string &script_path)
Definition: s_base.cpp:174
void loadMod(const std::string &script_path, const std::string &mod_name)
Definition: s_base.cpp:166
void setGuiEngine(GUIEngine *guiengine)
Definition: s_base.h:141
void removeObjectReference(ServerActiveObject *cobj)
Definition: s_base.cpp:378
Server * getServer()
Definition: s_base.cpp:445
lua_State * m_luastack
Definition: s_base.h:159
std::string getOrigin()
Definition: s_base.h:111
void loadModFromMemory(const std::string &mod_name)
Definition: s_base.cpp:201
void setGameDef(IGameDef *gamedef)
Definition: s_base.h:134
static int luaPanic(lua_State *L)
Definition: s_base.cpp:135
Environment * getEnv()
Definition: s_base.h:136
Client * getClient()
Definition: s_base.cpp:450
void runCallbacksRaw(int nargs, RunCallbacksMode mode, const char *fxn)
Definition: s_base.cpp:243
virtual ~ScriptApiBase()
Definition: s_base.cpp:130
std::thread::id m_owning_thread
Definition: s_base.h:153
void scriptError(int result, const char *fxn)
Definition: s_base.cpp:295
void setOriginFromTableRaw(int index, const char *fxn)
Definition: s_base.cpp:332
Environment * m_environment
Definition: s_base.h:162
GUIEngine * m_guiengine
Definition: s_base.h:164
void objectrefGetOrCreate(lua_State *L, ServerActiveObject *cobj)
Definition: s_base.cpp:403
Definition: serveractiveobject.h:52
#define FATAL_ERROR(msg)
Definition: debug.h:58
ScriptingType
Definition: s_base.h:61
Definition: player_sao.h:230