Add support for set_formspec_prepend in main menu (#8611)
This commit is contained in:
parent
a067d40454
commit
91114b562f
@ -79,6 +79,8 @@ core.explode_table_event(string) -> table
|
|||||||
core.explode_textlist_event(string) -> table
|
core.explode_textlist_event(string) -> table
|
||||||
^ returns e.g. {type="CHG", index=1}
|
^ returns e.g. {type="CHG", index=1}
|
||||||
^ type: "INV" (no row selected), "CHG" (selected) or "DCL" (double-click)
|
^ type: "INV" (no row selected), "CHG" (selected) or "DCL" (double-click)
|
||||||
|
core.set_formspec_prepend(formspec)
|
||||||
|
^ string to be added to every mainmenu formspec, to be used for theming.
|
||||||
|
|
||||||
GUI:
|
GUI:
|
||||||
core.set_background(type, texturepath,[tile],[minsize])
|
core.set_background(type, texturepath,[tile],[minsize])
|
||||||
|
@ -389,6 +389,15 @@ void GUIEngine::cloudPostProcess()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/******************************************************************************/
|
||||||
|
void GUIEngine::setFormspecPrepend(const std::string &fs)
|
||||||
|
{
|
||||||
|
if (m_menu) {
|
||||||
|
m_menu->setFormspecPrepend(fs);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/******************************************************************************/
|
/******************************************************************************/
|
||||||
void GUIEngine::drawBackground(video::IVideoDriver *driver)
|
void GUIEngine::drawBackground(video::IVideoDriver *driver)
|
||||||
{
|
{
|
||||||
@ -610,4 +619,3 @@ unsigned int GUIEngine::queueAsync(const std::string &serialized_func,
|
|||||||
{
|
{
|
||||||
return m_script->queueAsync(serialized_func, serialized_params);
|
return m_script->queueAsync(serialized_func, serialized_params);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -221,6 +221,8 @@ private:
|
|||||||
/** script basefolder */
|
/** script basefolder */
|
||||||
std::string m_scriptdir = "";
|
std::string m_scriptdir = "";
|
||||||
|
|
||||||
|
void setFormspecPrepend(const std::string &fs);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* draw background layer
|
* draw background layer
|
||||||
* @param driver to use for drawing
|
* @param driver to use for drawing
|
||||||
|
@ -106,6 +106,21 @@ int ModApiMainMenu::l_update_formspec(lua_State *L)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/******************************************************************************/
|
||||||
|
int ModApiMainMenu::l_set_formspec_prepend(lua_State *L)
|
||||||
|
{
|
||||||
|
GUIEngine *engine = getGuiEngine(L);
|
||||||
|
sanity_check(engine != NULL);
|
||||||
|
|
||||||
|
if (engine->m_startgame)
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
std::string formspec(luaL_checkstring(L, 1));
|
||||||
|
engine->setFormspecPrepend(formspec);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
/******************************************************************************/
|
/******************************************************************************/
|
||||||
int ModApiMainMenu::l_start(lua_State *L)
|
int ModApiMainMenu::l_start(lua_State *L)
|
||||||
{
|
{
|
||||||
@ -1041,6 +1056,7 @@ int ModApiMainMenu::l_do_async_callback(lua_State *L)
|
|||||||
void ModApiMainMenu::Initialize(lua_State *L, int top)
|
void ModApiMainMenu::Initialize(lua_State *L, int top)
|
||||||
{
|
{
|
||||||
API_FCT(update_formspec);
|
API_FCT(update_formspec);
|
||||||
|
API_FCT(set_formspec_prepend);
|
||||||
API_FCT(set_clouds);
|
API_FCT(set_clouds);
|
||||||
API_FCT(get_textlist_index);
|
API_FCT(get_textlist_index);
|
||||||
API_FCT(get_table_index);
|
API_FCT(get_table_index);
|
||||||
|
@ -104,6 +104,8 @@ private:
|
|||||||
|
|
||||||
static int l_update_formspec(lua_State *L);
|
static int l_update_formspec(lua_State *L);
|
||||||
|
|
||||||
|
static int l_set_formspec_prepend(lua_State *L);
|
||||||
|
|
||||||
static int l_get_screen_info(lua_State *L);
|
static int l_get_screen_info(lua_State *L);
|
||||||
|
|
||||||
//filesystem
|
//filesystem
|
||||||
|
Loading…
x
Reference in New Issue
Block a user