local menupath = core.get_mainmenu_path()
local basepath = core.get_builtin_path()
+local menustyle = core.settings:get("main_menu_style")
+if menustyle == "auto" then
+ menustyle = PLATFORM == "Android" and "simple" or "full"
+end
defaulttexturedir = core.get_texturepath_share() .. DIR_DELIM .. "base" ..
DIR_DELIM .. "pack" .. DIR_DELIM
dofile(menupath .. DIR_DELIM .. "dlg_config_world.lua")
dofile(menupath .. DIR_DELIM .. "dlg_settings_advanced.lua")
-if PLATFORM ~= "Android" then
+if menustyle ~= "simple" then
dofile(menupath .. DIR_DELIM .. "dlg_create_world.lua")
dofile(menupath .. DIR_DELIM .. "dlg_delete_mod.lua")
dofile(menupath .. DIR_DELIM .. "dlg_delete_world.lua")
tabs.settings = dofile(menupath .. DIR_DELIM .. "tab_settings.lua")
tabs.mods = dofile(menupath .. DIR_DELIM .. "tab_mods.lua")
tabs.credits = dofile(menupath .. DIR_DELIM .. "tab_credits.lua")
-if PLATFORM == "Android" then
+if menustyle == "simple" then
tabs.simple_main = dofile(menupath .. DIR_DELIM .. "tab_simple_main.lua")
else
tabs.local_game = dofile(menupath .. DIR_DELIM .. "tab_local.lua")
-- Init gamedata
gamedata.worldindex = 0
- if PLATFORM == "Android" then
+ if menustyle == "simple" then
local world_list = core.get_worlds()
local world_index
-- Create main tabview
local tv_main = tabview_create("maintab", {x = 12, y = 5.4}, {x = 0, y = 0})
- if PLATFORM == "Android" then
+ if menustyle == "simple" then
tv_main:add(tabs.simple_main)
tv_main:add(tabs.settings)
else
tv_main:set_global_event_handler(main_event_handler)
tv_main:set_fixed_size(false)
- if PLATFORM ~= "Android" then
+ if menustyle ~= "simple" then
tv_main:set_tab(core.settings:get("maintab_LAST"))
end
ui.set_default("maintab")
# Makes DirectX work with LuaJIT. Disable if it causes troubles.
high_precision_fpu (High-precision FPU) bool true
+# Changes the main menu UI:
+# - Full: Multple singleplayer worlds, subgame choice, texture pack chooser, etc.
+# - Simple: One singleplayer world, no subgame or texture pack choosers. May be necessary for smaller screens.
+# - Auto: Simple on Android, full on everything else.
+main_menu_style (Main menu style) enum auto auto,full,simple
+
# Replaces the default main menu with a custom one.
main_menu_script (Main menu script) string
settings->setDefault("joystick_frustum_sensitivity", "170");
// Main menu
+ settings->setDefault("main_menu_style", "auto");
settings->setDefault("main_menu_path", "");
settings->setDefault("main_menu_mod_mgr", "1");
settings->setDefault("main_menu_game_mgr", "0");