Add basic error reporting for bad value/max combinations

This commit is contained in:
Wuzzy 2015-02-12 05:04:02 +01:00
parent 357229450c
commit b0eabd3c7a

@ -112,6 +112,17 @@ function hb.register_hudbar(identifier, text_color, label, textures, default_sta
state.text = text state.text = text
state.barlength = hb.value_to_barlength(start_value, start_max) state.barlength = hb.value_to_barlength(start_value, start_max)
if start_max < start_value then
minetest.log("error", "[hudbars] Bad initial values of HUD bar identifier “"..tostring(identifier).."” for player "..name..": start_max ("..start_max..") is smaller than start_value ("..start_value..")!")
end
if start_max < 0 then
minetest.log("error", "[hudbars] Bad initial values of HUD bar identifier “"..tostring(identifier).."” for player "..name..": start_max ("..start_max..") is smaller than 0!")
end
if start_value < 0 then
minetest.log("error", "[hudbars] Bad initial values of HUD bar identifier “"..tostring(identifier).."” for player "..name..": start_value ("..start_value..") is smaller than 0!")
end
hb.hudtables[identifier].hudids[name] = ids hb.hudtables[identifier].hudids[name] = ids
hb.hudtables[identifier].hudstate[name] = state hb.hudtables[identifier].hudstate[name] = state
end end
@ -157,6 +168,16 @@ function hb.change_hudbar(player, identifier, new_value, new_max_value)
new_max_value = hudtable.hudstate[name].max new_max_value = hudtable.hudstate[name].max
end end
if new_max_value < new_value then
minetest.log("error", "[hudbars] Bad call to hb.change_hudbar, identifier: “"..tostring(identifier).."”, player name: “"..name.."”. new_max_value ("..new_max_value..") is smaller than new_value ("..new_value..")!")
end
if new_max_value < 0 then
minetest.log("error", "[hudbars] Bad call to hb.change_hudbar, identifier: “"..tostring(identifier).."”, player name: “"..name.."”. new_max_value ("..new_max_value..") is smaller than 0!")
end
if new_value < 0 then
minetest.log("error", "[hudbars] Bad call to hb.change_hudbar, identifier: “"..tostring(identifier).."”, player name: “"..name.."”. new_value ("..new_value..") is smaller than 0!")
end
if hudtable.hudstate[name].hidden == false then if hudtable.hudstate[name].hidden == false then
if max_changed then if max_changed then
if hudtable.hudstate[name].max == 0 then if hudtable.hudstate[name].max == 0 then