Remove dependency on marshal and many other async changes
This makes a number of changes: * Remove the dependency on marshal by using string.dump and loadstring. * Use lua_tolstring rather than having Lua functions pass string lengths to C++. * Move lua_api/l_async_events.* to cpp_api/s_async.*, where it belongs. * Make AsyncWorkerThread a child of ScriptApiBase, this removes some duplicate functionality. * Don't wait for async threads to shut down. (Is this safe? Might result in corruption if the thread is writing to a file.) * Pop more unused items from the stack * Code style fixes * Other misc changes
This commit is contained in:
@@ -56,6 +56,9 @@ GameScripting::GameScripting(Server* server)
|
||||
|
||||
// Create the main minetest table
|
||||
lua_newtable(L);
|
||||
lua_setglobal(L, "minetest");
|
||||
lua_getglobal(L, "minetest");
|
||||
int top = lua_gettop(L);
|
||||
|
||||
lua_newtable(L);
|
||||
lua_setfield(L, -2, "object_refs");
|
||||
@@ -63,15 +66,11 @@ GameScripting::GameScripting(Server* server)
|
||||
lua_newtable(L);
|
||||
lua_setfield(L, -2, "luaentities");
|
||||
|
||||
lua_setglobal(L, "minetest");
|
||||
|
||||
// Initialize our lua_api modules
|
||||
lua_getglobal(L, "minetest");
|
||||
int top = lua_gettop(L);
|
||||
InitializeModApi(L, top);
|
||||
lua_pop(L, 1);
|
||||
|
||||
infostream << "SCRIPTAPI: initialized game modules" << std::endl;
|
||||
infostream << "SCRIPTAPI: Initialized game modules" << std::endl;
|
||||
}
|
||||
|
||||
void GameScripting::InitializeModApi(lua_State *L, int top)
|
||||
|
||||
Reference in New Issue
Block a user