aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSokomine <wegwerf@anarres.dyndns.org>2015-07-02 16:26:09 +0200
committerest31 <MTest31@outlook.com>2015-07-02 23:03:42 +0200
commit0a0378fecef5c6b4be6d034d8bced2a1568dde81 (patch)
treebc9486ba59dadb526d3b84bd89f868af9b4090c3
parent8a85e5e58decf77df27d114574026ff8032b8a45 (diff)
downloadminetest-0a0378fecef5c6b4be6d034d8bced2a1568dde81.tar.gz
minetest-0a0378fecef5c6b4be6d034d8bced2a1568dde81.tar.bz2
minetest-0a0378fecef5c6b4be6d034d8bced2a1568dde81.zip
Set server_announce to world.mt and respect modes when changing subgame
-rw-r--r--builtin/mainmenu/common.lua2
-rw-r--r--builtin/mainmenu/tab_server.lua3
-rw-r--r--builtin/mainmenu/tab_singleplayer.lua8
3 files changed, 12 insertions, 1 deletions
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