Main menu tweaks

This commit is contained in:
ShadowNinja 2015-10-15 13:05:33 -04:00
parent ef0aa7d5b5
commit bb154c2e1c
3 changed files with 9 additions and 10 deletions

@ -37,9 +37,9 @@ dofile(commonpath .. "misc_helpers.lua")
if INIT == "game" then if INIT == "game" then
dofile(gamepath .. "init.lua") dofile(gamepath .. "init.lua")
elseif INIT == "mainmenu" then elseif INIT == "mainmenu" then
local mainmenuscript = core.setting_get("main_menu_script") local mm_script = core.setting_get("main_menu_script")
if mainmenuscript ~= nil and mainmenuscript ~= "" then if mm_script and mm_script ~= "" then
dofile(mainmenuscript) dofile(mm_script)
else else
dofile(core.get_mainmenu_path() .. DIR_DELIM .. "init.lua") dofile(core.get_mainmenu_path() .. DIR_DELIM .. "init.lua")
end end
@ -48,4 +48,3 @@ elseif INIT == "async" then
else else
error(("Unrecognized builtin initialization type %s!"):format(tostring(INIT))) error(("Unrecognized builtin initialization type %s!"):format(tostring(INIT)))
end end

@ -667,4 +667,4 @@ end
-- The documentation of mapgen noise parameter formats (title plus 16 lines) -- The documentation of mapgen noise parameter formats (title plus 16 lines)
-- Noise parameter 'mgv5_np_ground' in group format (13 lines) -- Noise parameter 'mgv5_np_ground' in group format (13 lines)
--assert(loadfile(core.get_mainmenu_path()..DIR_DELIM.."generate_from_settingtypes.lua"))(parse_config_file(true, false)) --assert(loadfile(core.get_builtin_path()..DIR_DELIM.."mainmenu"..DIR_DELIM.."generate_from_settingtypes.lua"))(parse_config_file(true, false))

@ -213,13 +213,13 @@ GUIEngine::GUIEngine( irr::IrrlichtDevice* dev,
m_data->script_data.errormessage = ""; m_data->script_data.errormessage = "";
if (!loadMainMenuScript()) { if (!loadMainMenuScript()) {
errorstream << "No future without mainmenu" << std::endl; errorstream << "No future without main menu!" << std::endl;
abort(); abort();
} }
run(); run();
} catch (LuaError &e) { } catch (LuaError &e) {
errorstream << "MAINMENU ERROR: " << e.what() << std::endl; errorstream << "Main menu error: " << e.what() << std::endl;
m_data->script_data.errormessage = e.what(); m_data->script_data.errormessage = e.what();
} }
@ -231,13 +231,13 @@ GUIEngine::GUIEngine( irr::IrrlichtDevice* dev,
/******************************************************************************/ /******************************************************************************/
bool GUIEngine::loadMainMenuScript() bool GUIEngine::loadMainMenuScript()
{ {
// Try custom menu script (main_menu_path) // Set main menu path (for core.get_mainmenu_path())
m_scriptdir = g_settings->get("main_menu_path"); m_scriptdir = g_settings->get("main_menu_path");
if (m_scriptdir.empty()) { if (m_scriptdir.empty()) {
m_scriptdir = porting::path_share + DIR_DELIM "builtin" + DIR_DELIM "mainmenu"; m_scriptdir = porting::path_share + DIR_DELIM + "builtin" + DIR_DELIM + "mainmenu";
} }
// Load builtin (which will load the main menu script)
std::string script = porting::path_share + DIR_DELIM "builtin" + DIR_DELIM "init.lua"; std::string script = porting::path_share + DIR_DELIM "builtin" + DIR_DELIM "init.lua";
try { try {
m_script->loadScript(script); m_script->loadScript(script);