summaryrefslogtreecommitdiffstats
path: root/src/scripting/lua.cpp
diff options
context:
space:
mode:
authorThorbjørn Lindeijer <thorbjorn@lindeijer.nl>2013-01-08 18:03:02 +0100
committerThorbjørn Lindeijer <thorbjorn@lindeijer.nl>2013-01-09 01:13:43 +0100
commit2594084de6e163f15a1516d64cf413de5b0d899f (patch)
treee1843432693884c40df876aa6ddc26ee5e6e78a5 /src/scripting/lua.cpp
parentf8cabbd458ed3658ca0e933bd52e29d857f594e2 (diff)
downloadmanaserv-2594084de6e163f15a1516d64cf413de5b0d899f.tar.gz
manaserv-2594084de6e163f15a1516d64cf413de5b0d899f.tar.xz
manaserv-2594084de6e163f15a1516d64cf413de5b0d899f.zip
Added support for Lua 5.2
Should still work against Lua 5.1 as well.
Diffstat (limited to 'src/scripting/lua.cpp')
-rw-r--r--src/scripting/lua.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/scripting/lua.cpp b/src/scripting/lua.cpp
index 6285f38..c0aedfd 100644
--- a/src/scripting/lua.cpp
+++ b/src/scripting/lua.cpp
@@ -2575,7 +2575,11 @@ LuaScript::LuaScript():
// Register package loader that goes through the resource manager
// table.insert(package.loaders, 2, require_loader)
lua_getglobal(mRootState, "package");
+#if LUA_VERSION_NUM < 502
lua_getfield(mRootState, -1, "loaders");
+#else
+ lua_getfield(mRootState, -1, "searchers");
+#endif
lua_pushcfunction(mRootState, require_loader);
lua_rawseti(mRootState, -2, 2);
lua_pop(mRootState, 2);
@@ -2699,8 +2703,13 @@ LuaScript::LuaScript():
{ "get_special_info", &get_special_info },
{ NULL, NULL }
};
+#if LUA_VERSION_NUM < 502
lua_pushvalue(mRootState, LUA_GLOBALSINDEX);
luaL_register(mRootState, NULL, callbacks);
+#else
+ lua_pushglobaltable(mRootState);
+ luaL_setfuncs(mRootState, callbacks, 0);
+#endif
lua_pop(mRootState, 1); // pop the globals table
static luaL_Reg const members_AttackInfo[] = {