From e6e8f2d6882e106d48123d7f23651b3faeed84fd Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Wed, 4 Feb 2015 21:28:20 +0100 Subject: [PATCH] Hide bar background when max == 0 The bars are intended to show the ratio between value and max. For a max of 0 (which implies a value of 0), this implies a value/max ratio of 0/0, which is undefined. Therefore, for this very special case, we just hide the bar altogether. --- init.lua | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/init.lua b/init.lua index 2dfb2fc..5794177 100644 --- a/init.lua +++ b/init.lua @@ -142,6 +142,11 @@ function hud.change_hudbar(player, hudtable, new_value, new_max_value) hudtable.hudstate[name].value = new_value hudtable.hudstate[name].max = new_max_value if hudtable.hudstate[name].hidden == false then + if hudtable.hudstate[name].max == 0 then + player:hud_change(hudtable.hudids[name].bg, "scale", {x=0,y=0}) + else + player:hud_change(hudtable.hudids[name].bg, "scale", {x=1,y=1}) + end player:hud_change(hudtable.hudids[name].bar, "number", hud.value_to_barlength(new_value, new_max_value)) player:hud_change(hudtable.hudids[name].text, "text", tostring(string.format(hudtable.format_string, hudtable.label, new_value, new_max_value)) @@ -167,7 +172,9 @@ function hud.unhide_hudbar(player, hudtable) local value = hudtable.hudstate[name].value local max = hudtable.hudstate[name].max player:hud_change(hudtable.hudids[name].icon, "scale", {x=1,y=1}) - player:hud_change(hudtable.hudids[name].bg, "scale", {x=1,y=1}) + if hudtable.hudstate[name].max == 0 then + player:hud_change(hudtable.hudids[name].bg, "scale", {x=1,y=1}) + end player:hud_change(hudtable.hudids[name].bar, "number", hud.value_to_barlength(value, max)) player:hud_change(hudtable.hudids[name].text, "text", tostring(string.format(hudtable.format_string, hudtable.label, value, max))) hudtable.hudstate[name].hidden = false