Revert "Clean up some getServer() unsafety"

Turned out to not be a good idea.
This reverts commit 58eccc7a2a67405744ef4a8d7be29f264021d826.
This commit is contained in:
sfan5 2024-04-28 00:24:22 +02:00
parent 73dbd2f0ab
commit df4c9e2903
3 changed files with 8 additions and 15 deletions

@ -541,8 +541,8 @@ Server* ScriptApiBase::getServer()
{
// Since the gamedef is the server it's still possible to retrieve it in
// e.g. the async environment, but this isn't meant to happen.
if (getType() != ScriptingType::Server)
return nullptr;
// TODO: still needs work
//assert(getType() == ScriptingType::Server);
return dynamic_cast<Server *>(m_gamedef);
}

@ -56,15 +56,10 @@ EmergeScripting::EmergeScripting(EmergeThread *parent):
InitializeModApi(L, top);
// pull the globals data from the server
{
auto *server = dynamic_cast<Server*>(ModApiBase::getGameDef(L));
assert(server);
auto *data = server->m_lua_globals_data.get();
assert(data);
script_unpack(L, data);
lua_setfield(L, top, "transferred_globals");
}
auto *data = ModApiBase::getServer(L)->m_lua_globals_data.get();
assert(data);
script_unpack(L, data);
lua_setfield(L, top, "transferred_globals");
lua_pop(L, 1);

@ -192,10 +192,8 @@ void ServerScripting::InitializeAsync(lua_State *L, int top)
LuaVoxelManip::Register(L);
LuaSettings::Register(L);
// pull the globals data from the server
auto *server = dynamic_cast<Server*>(ModApiBase::getGameDef(L));
assert(server);
auto *data = server->m_lua_globals_data.get();
// globals data
auto *data = ModApiBase::getServer(L)->m_lua_globals_data.get();
assert(data);
script_unpack(L, data);
lua_setfield(L, top, "transferred_globals");