1
0
Fork 0
mirror of https://github.com/luanti-org/luanti.git synced 2025-06-27 16:36:03 +00:00

[CSM] Don't load the IO library. (#6087)

* [CSM] Don't load the IO library.

* Rename the function to match the Lua API function name and add a missing `const`

* Add a comment to explain some strange code and fix the other issues pointed out by shadowninja.
This commit is contained in:
red-001 2018-01-04 07:21:12 +00:00 committed by Loïc Blot
parent e7396a0c50
commit 30821ad8de
6 changed files with 54 additions and 16 deletions

View file

@ -23,15 +23,19 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include <string>
#include <thread>
#include <mutex>
#include <unordered_map>
#include "util/basic_macros.h"
extern "C" {
#include <lua.h>
#include <lualib.h>
}
#include "irrlichttypes.h"
#include "common/c_types.h"
#include "common/c_internal.h"
#include "debug.h"
#include "cmake_config.h"
#define SCRIPTAPI_LOCK_DEBUG
#define SCRIPTAPI_DEBUG
@ -54,9 +58,10 @@ extern "C" {
setOriginFromTableRaw(index, __FUNCTION__)
enum class ScriptingType: u8 {
Async,
Client,
Server,
MainMenu
MainMenu,
Server
};
class Server;
@ -70,7 +75,12 @@ class ServerActiveObject;
class ScriptApiBase {
public:
ScriptApiBase();
ScriptApiBase(ScriptingType type);
// fake constructor to allow script API classes (e.g ScriptApiEnv) to virtually inherit from this one.
ScriptApiBase()
{
FATAL_ERROR("ScriptApiBase created without ScriptingType!");
}
virtual ~ScriptApiBase();
DISABLE_CLASS_COPY(ScriptApiBase);
@ -91,7 +101,6 @@ public:
IGameDef *getGameDef() { return m_gamedef; }
Server* getServer();
void setType(ScriptingType type) { m_type = type; }
ScriptingType getType() { return m_type; }
#ifndef SERVER
Client* getClient();
@ -101,6 +110,8 @@ public:
void setOriginDirect(const char *origin);
void setOriginFromTableRaw(int index, const char *fxn);
void clientOpenLibs(lua_State *L);
protected:
friend class LuaABM;
friend class LuaLBM;