From df4c9e29034ed77c991d25af1891cd63e7518365 Mon Sep 17 00:00:00 2001 From: sfan5 Date: Sun, 28 Apr 2024 00:24:22 +0200 Subject: [PATCH] Revert "Clean up some getServer() unsafety" Turned out to not be a good idea. This reverts commit 58eccc7a2a67405744ef4a8d7be29f264021d826. --- src/script/cpp_api/s_base.cpp | 4 ++-- src/script/scripting_emerge.cpp | 13 ++++--------- src/script/scripting_server.cpp | 6 ++---- 3 files changed, 8 insertions(+), 15 deletions(-) diff --git a/src/script/cpp_api/s_base.cpp b/src/script/cpp_api/s_base.cpp index fd1501ddf..7731de7a7 100644 --- a/src/script/cpp_api/s_base.cpp +++ b/src/script/cpp_api/s_base.cpp @@ -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(m_gamedef); } diff --git a/src/script/scripting_emerge.cpp b/src/script/scripting_emerge.cpp index 3405c350c..3467b1495 100644 --- a/src/script/scripting_emerge.cpp +++ b/src/script/scripting_emerge.cpp @@ -56,15 +56,10 @@ EmergeScripting::EmergeScripting(EmergeThread *parent): InitializeModApi(L, top); - // pull the globals data from the server - { - auto *server = dynamic_cast(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); diff --git a/src/script/scripting_server.cpp b/src/script/scripting_server.cpp index 95ff8439e..324850011 100644 --- a/src/script/scripting_server.cpp +++ b/src/script/scripting_server.cpp @@ -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(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");