Mainmenu: Code cleaning
authorkilbith <jeanpatrick.guerrero@gmail.com>
Mon, 18 Apr 2016 20:43:12 +0000 (22:43 +0200)
committerCraig Robbins <kde.psych@gmail.com>
Wed, 20 Apr 2016 11:31:40 +0000 (21:31 +1000)
builtin/mainmenu/common.lua
builtin/mainmenu/tab_multiplayer.lua

index 203b1382bf14650c5c1e113efb6baca53ec0cf90..5bf39abd75338e51506c61e39cf55999f535c871 100644 (file)
@@ -22,8 +22,7 @@ menudata = {}
 --------------------------------------------------------------------------------
 -- Local cached values
 --------------------------------------------------------------------------------
-local min_supp_proto
-local max_supp_proto
+local min_supp_proto, max_supp_proto
 
 function common_update_cached_supp_proto()
        min_supp_proto = core.get_min_supp_proto()
@@ -36,31 +35,24 @@ common_update_cached_supp_proto()
 
 --------------------------------------------------------------------------------
 local function render_client_count(n)
-       if n > 99 then
-               return '99+'
-       elseif n >= 0 then
-               return tostring(n)
-       else
-               return '?'
-       end
+       if     n > 99 then return '99+'
+       elseif n >= 0 then return tostring(n)
+       else return '?' end
 end
 
 local function configure_selected_world_params(idx)
-       local worldconfig = modmgr.get_worldconfig(
-               menudata.worldlist:get_list()[idx].path)
-
-       if worldconfig.creative_mode ~= nil then
+       local worldconfig = modmgr.get_worldconfig(menudata.worldlist:get_list()[idx].path)
+       if worldconfig.creative_mode then
                core.setting_set("creative_mode", worldconfig.creative_mode)
        end
-       if worldconfig.enable_damage ~= nil then
+       if worldconfig.enable_damage then
                core.setting_set("enable_damage", worldconfig.enable_damage)
        end
 end
 
 --------------------------------------------------------------------------------
 function image_column(tooltip, flagname)
-       return "image," ..
-               "tooltip=" .. core.formspec_escape(tooltip) .. "," ..
+       return "image,tooltip=" .. core.formspec_escape(tooltip) .. "," ..
                "0=" .. core.formspec_escape(defaulttexturedir .. "blank.png") .. "," ..
                "1=" .. core.formspec_escape(defaulttexturedir .. "server_flags_" .. flagname .. ".png")
 end
@@ -69,13 +61,13 @@ end
 function order_favorite_list(list)
        local res = {}
        --orders the favorite list after support
-       for i=1,#list,1 do
+       for i = 1, #list do
                local fav = list[i]
                if is_server_protocol_compat(fav.proto_min, fav.proto_max) then
                        res[#res + 1] = fav
                end
        end
-       for i=1,#list,1 do
+       for i = 1, #list do
                local fav = list[i]
                if not is_server_protocol_compat(fav.proto_min, fav.proto_max) then
                        res[#res + 1] = fav
@@ -87,21 +79,12 @@ end
 --------------------------------------------------------------------------------
 function render_favorite(spec, is_favorite)
        local text = ""
-
-       if spec.name ~= nil then
+       if spec.name then
                text = text .. core.formspec_escape(spec.name:trim())
-
---             if spec.description ~= nil and
---                     core.formspec_escape(spec.description):trim() ~= "" then
---                     text = text .. " (" .. core.formspec_escape(spec.description) .. ")"
---             end
-       else
-               if spec.address ~= nil then
-                       text = text .. spec.address:trim()
-
-                       if spec.port ~= nil then
-                               text = text .. ":" .. spec.port
-                       end
+       elseif spec.address then
+               text = text .. spec.address:trim()
+               if spec.port then
+                       text = text .. ":" .. spec.port
                end
        end
 
@@ -114,33 +97,24 @@ function render_favorite(spec, is_favorite)
                details = "0,"
        end
 
-       if spec.clients ~= nil and spec.clients_max ~= nil then
+       if spec.clients and spec.clients_max then
                local clients_color = ''
                local clients_percent = 100 * spec.clients / spec.clients_max
 
                -- Choose a color depending on how many clients are connected
                -- (relatively to clients_max)
-               if spec.clients == 0 then
-                       clients_color = ''        -- 0 players: default/white
-               elseif spec.clients == spec.clients_max then
-                       clients_color = '#dd5b5b' -- full server: red (darker)
-               elseif clients_percent <= 60 then
-                       clients_color = '#a1e587' -- 0-60%: green
-               elseif clients_percent <= 90 then
-                       clients_color = '#ffdc97' -- 60-90%: yellow
-               else
-                       clients_color = '#ffba97' -- 90-100%: orange
+               if     grey_out               then clients_color = '#aaaaaa'
+               elseif spec.clients == 0      then clients_color = ''        -- 0 players: default/white
+               elseif clients_percent <= 60  then clients_color = '#a1e587' -- 0-60%: green
+               elseif clients_percent <= 90  then clients_color = '#ffdc97' -- 60-90%: yellow
+               elseif clients_percent == 100 then clients_color = '#dd5b5b' -- full server: red (darker)
+               else                               clients_color = '#ffba97' -- 90-100%: orange
                end
 
-               if grey_out then
-                       clients_color = '#aaaaaa'
-               end
+               details = details .. clients_color .. ',' ..
+                       render_client_count(spec.clients) .. ',/,' ..
+                       render_client_count(spec.clients_max) .. ','
 
-               details = details ..
-                               clients_color .. ',' ..
-                               render_client_count(spec.clients) .. ',' ..
-                               '/,' ..
-                               render_client_count(spec.clients_max) .. ','
        elseif grey_out then
                details = details .. '#aaaaaa,?,/,?,'
        else
@@ -191,56 +165,36 @@ end
 --------------------------------------------------------------------------------
 function menu_render_worldlist()
        local retval = ""
-
        local current_worldlist = menudata.worldlist:get_list()
 
-       for i,v in ipairs(current_worldlist) do
-               if retval ~= "" then
-                       retval = retval ..","
-               end
-
+       for i, v in ipairs(current_worldlist) do
+               if retval ~= "" then retval = retval .. "," end
                retval = retval .. core.formspec_escape(v.name) ..
-                                       " \\[" .. core.formspec_escape(v.gameid) .. "\\]"
+                               " \\[" .. core.formspec_escape(v.gameid) .. "\\]"
        end
 
        return retval
 end
 
 --------------------------------------------------------------------------------
-function menu_handle_key_up_down(fields,textlist,settingname)
-       if fields["key_up"] then
-               local oldidx = core.get_textlist_index(textlist)
-
-               if oldidx ~= nil and oldidx > 1 then
-                       local newidx = oldidx -1
-                       core.setting_set(settingname,
-                               menudata.worldlist:get_raw_index(newidx))
-
-                       configure_selected_world_params(newidx)
+function menu_handle_key_up_down(fields, textlist, settingname)
+       local oldidx, newidx = core.get_textlist_index(textlist)
+       if fields.key_up or fields.key_down then
+               if fields.key_up and oldidx and oldidx > 1 then
+                       newidx = oldidx - 1
+               elseif fields.key_down and oldidx and
+                               oldidx < menudata.worldlist:size() then
+                       newidx = oldidx + 1
                end
+               core.setting_set(settingname, menudata.worldlist:get_raw_index(newidx))
+               configure_selected_world_params(newidx)
                return true
        end
-
-       if fields["key_down"] then
-               local oldidx = core.get_textlist_index(textlist)
-
-               if oldidx ~= nil and oldidx < menudata.worldlist:size() then
-                       local newidx = oldidx + 1
-                       core.setting_set(settingname,
-                               menudata.worldlist:get_raw_index(newidx))
-
-                       configure_selected_world_params(newidx)
-               end
-
-               return true
-       end
-
        return false
 end
 
 --------------------------------------------------------------------------------
 function asyncOnlineFavourites()
-
        if not menudata.public_known then
                menudata.public_known = {{
                        name = fgettext("Loading..."),
@@ -267,24 +221,18 @@ function asyncOnlineFavourites()
 end
 
 --------------------------------------------------------------------------------
-function text2textlist(xpos,ypos,width,height,tl_name,textlen,text,transparency)
-       local textlines = core.splittext(text,textlen)
+function text2textlist(xpos, ypos, width, height, tl_name, textlen, text, transparency)
+       local textlines = core.splittext(text, textlen)
+       local retval = "textlist[" .. xpos .. "," .. ypos .. ";" .. width ..
+                       "," .. height .. ";" .. tl_name .. ";"
 
-       local retval = "textlist[" .. xpos .. "," .. ypos .. ";"
-                                                               .. width .. "," .. height .. ";"
-                                                               .. tl_name .. ";"
-
-       for i=1, #textlines, 1 do
-               textlines[i] = textlines[i]:gsub("\r","")
+       for i = 1, #textlines do
+               textlines[i] = textlines[i]:gsub("\r", "")
                retval = retval .. core.formspec_escape(textlines[i]) .. ","
        end
 
        retval = retval .. ";0;"
-
-       if transparency then
-               retval = retval .. "true"
-       end
-
+       if transparency then retval = retval .. "true" end
        retval = retval .. "]"
 
        return retval
@@ -297,10 +245,10 @@ end
 --------------------------------------------------------------------------------
 function is_server_protocol_compat_or_error(server_proto_min, server_proto_max)
        if not is_server_protocol_compat(server_proto_min, server_proto_max) then
-               local server_prot_ver_info
-               local client_prot_ver_info
+               local server_prot_ver_info, client_prot_ver_info
                local s_p_min = server_proto_min or 13
                local s_p_max = server_proto_max or 24
+
                if s_p_min ~= s_p_max then
                        server_prot_ver_info = fgettext_ne("Server supports protocol versions between $1 and $2. ",
                                s_p_min, s_p_max)
@@ -329,7 +277,7 @@ function menu_worldmt(selected, setting, value)
                local filename = world.path .. DIR_DELIM .. "world.mt"
                local world_conf = Settings(filename)
 
-               if value ~= nil then
+               if value then
                        if not world_conf:write() then
                                core.log("error", "Failed to write world config file")
                        end
@@ -347,7 +295,7 @@ function menu_worldmt_legacy(selected)
        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
+               if mode_val then
                        core.setting_set(mode_name, mode_val)
                else
                        menu_worldmt(selected, mode_name, core.setting_get(mode_name))
index b5323fa992e18757afff1617fec5e996f08b430e..00150f26d8cc1bf116cafc0642ee1edb2d5dd8ef 100644 (file)
@@ -81,7 +81,7 @@ local function get_formspec(tabview, name, tabdata)
                end
        end
 
-       if tabdata.fav_selected ~= nil then
+       if tabdata.fav_selected then
                retval = retval .. ";" .. tabdata.fav_selected .. "]"
        else
                retval = retval .. ";0]"
@@ -92,13 +92,13 @@ end
 
 --------------------------------------------------------------------------------
 local function main_button_handler(tabview, fields, name, tabdata)
-       if fields["te_name"] ~= nil then
-               gamedata.playername = fields["te_name"]
-               core.setting_set("name", fields["te_name"])
+       if fields.te_name then
+               gamedata.playername = fields.te_name
+               core.setting_set("name", fields.te_name)
        end
 
-       if fields["favourites"] ~= nil then
-               local event = core.explode_table_event(fields["favourites"])
+       if fields.favourites then
+               local event = core.explode_table_event(fields.favourites)
                local fav = menudata.favorites[event.row]
 
                if event.type == "DCL" then
@@ -108,21 +108,22 @@ local function main_button_handler(tabview, fields, name, tabdata)
                                                        fav.proto_min, fav.proto_max) then
                                        return true
                                end
+
                                gamedata.address    = fav.address
                                gamedata.port       = fav.port
-                               gamedata.playername = fields["te_name"]
-                               if fields["te_pwd"] ~= nil then
-                                       gamedata.password               = fields["te_pwd"]
-                               end
+                               gamedata.playername = fields.te_name
                                gamedata.selected_world = 0
 
+                               if fields.te_pwd then
+                                       gamedata.password = fields.te_pwd
+                               end
+
                                gamedata.servername        = fav.name
                                gamedata.serverdescription = fav.description
 
-                               if gamedata.address ~= nil and
-                                       gamedata.port ~= nil then
-                                       core.setting_set("address",gamedata.address)
-                                       core.setting_set("remote_port",gamedata.port)
+                               if gamedata.address and gamedata.port then
+                                       core.setting_set("address", gamedata.address)
+                                       core.setting_set("remote_port", gamedata.port)
                                        core.start()
                                end
                        end
@@ -144,47 +145,41 @@ local function main_button_handler(tabview, fields, name, tabdata)
                                        end
                                end
 
-                               if address ~= nil and
-                                       port ~= nil then
-                                       core.setting_set("address",address)
-                                       core.setting_set("remote_port",port)
+                               if address and port then
+                                       core.setting_set("address", address)
+                                       core.setting_set("remote_port", port)
                                end
-
                                tabdata.fav_selected = event.row
                        end
-                       
                        return true
                end
        end
 
-       if fields["key_up"] ~= nil or
-               fields["key_down"] ~= nil then
-
+       if fields.key_up or fields.key_down then
                local fav_idx = core.get_table_index("favourites")
+               local fav = menudata.favorites[fav_idx]
 
-               if fav_idx ~= nil then
-                       if fields["key_up"] ~= nil and fav_idx > 1 then
-                               fav_idx = fav_idx -1
-                       else if fields["key_down"] and fav_idx < #menudata.favorites then
-                               fav_idx = fav_idx +1
-                       end end
+               if fav_idx then
+                       if fields.key_up and fav_idx > 1 then
+                               fav_idx = fav_idx - 1
+                       elseif fields.key_down and fav_idx < #menudata.favorites then
+                               fav_idx = fav_idx + 1
+                       end
                else
                        fav_idx = 1
                end
-               
-               if menudata.favorites == nil or
-                       menudata.favorites[fav_idx] == nil then
+
+               if not menudata.favorites or not fav then
                        tabdata.fav_selected = 0
                        return true
                end
-       
-               local address = menudata.favorites[fav_idx].address
-               local port    = menudata.favorites[fav_idx].port
-
-               if address ~= nil and
-                       port ~= nil then
-                       core.setting_set("address",address)
-                       core.setting_set("remote_port",port)
+
+               local address = fav.address
+               local port    = fav.port
+
+               if address and port then
+                       core.setting_set("address", address)
+                       core.setting_set("remote_port", port)
                end
 
                tabdata.fav_selected = fav_idx
@@ -204,22 +199,19 @@ local function main_button_handler(tabview, fields, name, tabdata)
                return true
        end
 
-       if (fields["btn_mp_connect"] ~= nil or
-               fields["key_enter"] ~= nil) and fields["te_address"] ~= nil and
-               fields["te_port"] ~= nil then
-
-               gamedata.playername     = fields["te_name"]
-               gamedata.password       = fields["te_pwd"]
-               gamedata.address        = fields["te_address"]
-               gamedata.port           = fields["te_port"]
-
+       if (fields.btn_mp_connect or fields.key_enter) and fields.te_address and fields.te_port then
+               gamedata.playername = fields.te_name
+               gamedata.password   = fields.te_pwd
+               gamedata.address    = fields.te_address
+               gamedata.port       = fields.te_port
+               gamedata.selected_world = 0
                local fav_idx = core.get_table_index("favourites")
+               local fav = menudata.favorites[fav_idx]
 
-               if fav_idx ~= nil and fav_idx <= #menudata.favorites and
-                       menudata.favorites[fav_idx].address == fields["te_address"] and
-                       menudata.favorites[fav_idx].port    == fields["te_port"] then
+               if fav_idx and fav_idx <= #menudata.favorites and
+                               fav.address == fields.te_address and
+                               fav.port    == fields.te_port then
 
-                       local fav = menudata.favorites[fav_idx]
                        gamedata.servername        = fav.name
                        gamedata.serverdescription = fav.description
 
@@ -233,10 +225,8 @@ local function main_button_handler(tabview, fields, name, tabdata)
                        gamedata.serverdescription = ""
                end
 
-               gamedata.selected_world = 0
-
-               core.setting_set("address",    fields["te_address"])
-               core.setting_set("remote_port",fields["te_port"])
+               core.setting_set("address",     fields.te_address)
+               core.setting_set("remote_port", fields.te_port)
 
                core.start()
                return true