int guiLuaApi::l_get_scriptdir(lua_State *L) { GUIEngine* engine = get_engine(L); assert(engine != 0); lua_pushstring(L,engine->getScriptDir().c_str()); return 1; }
int ModApiMainMenu::l_set_background(lua_State *L) { GUIEngine* engine = getGuiEngine(L); assert(engine != 0); std::string backgroundlevel(luaL_checkstring(L, 1)); std::string texturename(luaL_checkstring(L, 2)); bool retval = false; if (backgroundlevel == "background") { retval |= engine->setTexture(TEX_LAYER_BACKGROUND,texturename); } if (backgroundlevel == "overlay") { retval |= engine->setTexture(TEX_LAYER_OVERLAY,texturename); } if (backgroundlevel == "header") { retval |= engine->setTexture(TEX_LAYER_HEADER,texturename); } if (backgroundlevel == "footer") { retval |= engine->setTexture(TEX_LAYER_FOOTER,texturename); } lua_pushboolean(L,retval); return 1; }
int ModApiMainMenu::l_get_scriptdir(lua_State *L) { GUIEngine* engine = getGuiEngine(L); assert(engine != 0); lua_pushstring(L,engine->getScriptDir().c_str()); return 1; }
int ModApiMainMenu::l_get_mainmenu_path(lua_State *L) { GUIEngine* engine = getGuiEngine(L); sanity_check(engine != NULL); lua_pushstring(L,engine->getScriptDir().c_str()); return 1; }
int ModApiMainMenu::l_sound_stop(lua_State *L) { GUIEngine* engine = getGuiEngine(L); u32 handle = luaL_checkinteger(L, 1); engine->stopSound(handle); return 1; }
int ModApiMainMenu::l_set_topleft_text(lua_State *L) { GUIEngine* engine = getGuiEngine(L); assert(engine != 0); std::string text = ""; if (!lua_isnone(L,1) && !lua_isnil(L,1)) text = luaL_checkstring(L, 1); engine->setTopleftText(text); return 0; }
int ModApiMainMenu::l_sound_play(lua_State *L) { GUIEngine* engine = getGuiEngine(L); SimpleSoundSpec spec; read_soundspec(L, 1, spec); bool looped = lua_toboolean(L, 2); u32 handle = engine->playSound(spec, looped); lua_pushinteger(L, handle); return 1; }
int ModApiMainMenu::l_set_background(lua_State *L) { GUIEngine* engine = getGuiEngine(L); sanity_check(engine != NULL); std::string backgroundlevel(luaL_checkstring(L, 1)); std::string texturename(luaL_checkstring(L, 2)); bool tile_image = false; bool retval = false; unsigned int minsize = 16; if (!lua_isnone(L, 3)) { tile_image = lua_toboolean(L, 3); } if (!lua_isnone(L, 4)) { minsize = lua_tonumber(L, 4); } if (backgroundlevel == "background") { retval |= engine->setTexture(TEX_LAYER_BACKGROUND, texturename, tile_image, minsize); } if (backgroundlevel == "overlay") { retval |= engine->setTexture(TEX_LAYER_OVERLAY, texturename, tile_image, minsize); } if (backgroundlevel == "header") { retval |= engine->setTexture(TEX_LAYER_HEADER, texturename, tile_image, minsize); } if (backgroundlevel == "footer") { retval |= engine->setTexture(TEX_LAYER_FOOTER, texturename, tile_image, minsize); } lua_pushboolean(L,retval); return 1; }
int ModApiMainMenu::l_do_async_callback(lua_State *L) { GUIEngine* engine = getGuiEngine(L); size_t func_length, param_length; const char* serialized_func_raw = luaL_checklstring(L, 1, &func_length); const char* serialized_param_raw = luaL_checklstring(L, 2, ¶m_length); sanity_check(serialized_func_raw != NULL); sanity_check(serialized_param_raw != NULL); std::string serialized_func = std::string(serialized_func_raw, func_length); std::string serialized_param = std::string(serialized_param_raw, param_length); lua_pushinteger(L, engine->queueAsync(serialized_func, serialized_param)); return 1; }
int guiLuaApi::l_download_file(lua_State *L) { GUIEngine* engine = get_engine(L); assert(engine != 0); const char *url = luaL_checkstring(L, 1); const char *target = luaL_checkstring(L, 2); //check path std::string absolute_destination = fs::RemoveRelativePathComponents(target); if (guiLuaApi::isMinetestPath(absolute_destination)) { if (engine->downloadFile(url,absolute_destination)) { lua_pushboolean(L,true); return 1; } } lua_pushboolean(L,false); return 1; }
int ModApiMainMenu::l_do_async_callback(lua_State *L) { GUIEngine* engine = getGuiEngine(L); const char* serialized_fct_raw = luaL_checkstring(L, 1); unsigned int lenght_fct = luaL_checkint(L, 2); const char* serialized_params_raw = luaL_checkstring(L, 3); unsigned int lenght_params = luaL_checkint(L, 4); assert(serialized_fct_raw != 0); assert(serialized_params_raw != 0); std::string serialized_fct = std::string(serialized_fct_raw,lenght_fct); std::string serialized_params = std::string(serialized_params_raw,lenght_params); lua_pushinteger(L,engine->DoAsync(serialized_fct,serialized_params)); return 1; }