Optimise hudbars: cache settings

This commit is contained in:
rubenwardy 2015-12-06 00:20:25 +00:00
parent fb0285f27c
commit 16aaecfae3

View file

@ -422,25 +422,17 @@ end
local function custom_hud(player)
if minetest.setting_getbool("enable_damage") or hb.settings.forceload_default_hudbars then
local hide
if minetest.setting_getbool("enable_damage") then
hide = false
else
hide = true
end
local hide = false
hb.init_hudbar(player, "health", player:get_hp(), nil, hide)
local breath = player:get_breath()
local hide_breath
if breath == 11 and hb.settings.autohide_breath == true then hide_breath = true else hide_breath = false end
hb.init_hudbar(player, "breath", math.min(breath, 10), nil, hide_breath or hide)
end
end
-- update built-in HUD bars
local function update_hud(player)
if minetest.setting_getbool("enable_damage") then
if hb.settings.forceload_default_hudbars then
hb.unhide_hudbar(player, "health")
end
@ -456,10 +448,6 @@ local function update_hud(player)
--health
hb.change_hudbar(player, "health", player:get_hp())
elseif hb.settings.forceload_default_hudbars then
hb.hide_hudbar(player, "health")
hb.hide_hudbar(player, "breath")
end
end
minetest.register_on_joinplayer(function(player)
@ -480,12 +468,10 @@ minetest.register_globalstep(function(dtime)
if main_timer > hb.settings.tick or timer > 4 then
if main_timer > hb.settings.tick then main_timer = 0 end
-- only proceed if damage is enabled
if minetest.setting_getbool("enable_damage") or hb.settings.forceload_default_hudbars then
for playername, player in pairs(hb.players) do
-- update all hud elements
update_hud(player)
end
end
end
if timer > 4 then timer = 0 end
end)