From d02e302cef6f3f9f94e0b819f0df6a3742415bcf Mon Sep 17 00:00:00 2001 From: Sokomine Date: Thu, 2 Jul 2015 16:26:09 +0200 Subject: [PATCH] Set server_announce to world.mt and respect modes when changing subgame --- builtin/mainmenu/common.lua | 2 +- builtin/mainmenu/tab_server.lua | 3 +++ builtin/mainmenu/tab_singleplayer.lua | 8 ++++++++ 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/builtin/mainmenu/common.lua b/builtin/mainmenu/common.lua index cbc95bc85..14a64361d 100644 --- a/builtin/mainmenu/common.lua +++ b/builtin/mainmenu/common.lua @@ -322,7 +322,7 @@ function menu_worldmt(selected, setting, value) end function menu_worldmt_legacy(selected) - local modes_names = {"creative_mode", "enable_damage"} + local modes_names = {"creative_mode", "enable_damage", "server_announce"} for _, mode_name in pairs(modes_names) do local mode_val = menu_worldmt(selected, mode_name) if mode_val ~= nil then diff --git a/builtin/mainmenu/tab_server.lua b/builtin/mainmenu/tab_server.lua index 3459f3f2f..62747c572 100644 --- a/builtin/mainmenu/tab_server.lua +++ b/builtin/mainmenu/tab_server.lua @@ -103,6 +103,9 @@ local function main_button_handler(this, fields, name, tabdata) if fields["cb_server_announce"] then core.setting_set("server_announce", fields["cb_server_announce"]) + local selected = core.get_textlist_index("srv_worlds") + menu_worldmt(selected, "server_announce", fields["cb_server_announce"]) + return true end diff --git a/builtin/mainmenu/tab_singleplayer.lua b/builtin/mainmenu/tab_singleplayer.lua index a7cf5120c..a7fa55666 100644 --- a/builtin/mainmenu/tab_singleplayer.lua +++ b/builtin/mainmenu/tab_singleplayer.lua @@ -38,6 +38,14 @@ local function singleplayer_refresh_gamebar() core.set_topleft_text(gamemgr.games[j].name) core.setting_set("menu_last_game",gamemgr.games[j].id) menudata.worldlist:set_filtercriteria(gamemgr.games[j].id) + local index = filterlist.get_current_index(menudata.worldlist, + tonumber(core.setting_get("mainmenu_last_selected_world"))) + local selected = core.get_textlist_index("sp_worlds") + if not index or index < 1 then + index = math.min(core.get_textlist_index("sp_worlds"), + #menudata.worldlist:get_list()) + end + menu_worldmt_legacy(index) return true end end