1
0
Fork 0
mirror of https://github.com/luanti-org/luanti.git synced 2025-08-11 17:51:04 +00:00

Async-related script cleanups

This commit is contained in:
sfan5 2021-08-28 12:15:12 +02:00 committed by GitHub
parent 0f8a6d78a7
commit 6a1424f2b1
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
15 changed files with 135 additions and 156 deletions

View file

@ -535,6 +535,30 @@ int ModApiUtil::l_encode_png(lua_State *L)
return 1;
}
// get_last_run_mod()
int ModApiUtil::l_get_last_run_mod(lua_State *L)
{
NO_MAP_LOCK_REQUIRED;
lua_rawgeti(L, LUA_REGISTRYINDEX, CUSTOM_RIDX_CURRENT_MOD_NAME);
std::string current_mod = readParam<std::string>(L, -1, "");
if (current_mod.empty()) {
lua_pop(L, 1);
lua_pushstring(L, getScriptApiBase(L)->getOrigin().c_str());
}
return 1;
}
// set_last_run_mod(modname)
int ModApiUtil::l_set_last_run_mod(lua_State *L)
{
NO_MAP_LOCK_REQUIRED;
const char *mod = luaL_checkstring(L, 1);
getScriptApiBase(L)->setOriginDirect(mod);
return 0;
}
void ModApiUtil::Initialize(lua_State *L, int top)
{
API_FCT(log);
@ -574,6 +598,9 @@ void ModApiUtil::Initialize(lua_State *L, int top)
API_FCT(encode_png);
API_FCT(get_last_run_mod);
API_FCT(set_last_run_mod);
LuaSettings::create(L, g_settings, g_settings_path);
lua_setfield(L, top, "settings");
}
@ -629,6 +656,9 @@ void ModApiUtil::InitializeAsync(lua_State *L, int top)
API_FCT(colorspec_to_colorstring);
API_FCT(colorspec_to_bytes);
API_FCT(get_last_run_mod);
API_FCT(set_last_run_mod);
LuaSettings::create(L, g_settings, g_settings_path);
lua_setfield(L, top, "settings");
}