From 80bc9d2b78c62017c5af83bc1dcd1cf2a9ba056b Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Mon, 23 Feb 2015 23:16:52 +0100 Subject: [PATCH] Initial code sizedown for Hunger fork --- armor.lua | 34 ----- init.lua | 205 +++---------------------------- textures/crosshair.png | Bin 216 -> 0 bytes textures/hud_air_fg.png | Bin 579 -> 0 bytes textures/hud_armor_bg.png | Bin 424 -> 0 bytes textures/hud_armor_fg.png | Bin 3167 -> 0 bytes textures/hud_heart_bg.png | Bin 302 -> 0 bytes textures/hud_heart_fg.png | Bin 369 -> 0 bytes textures/hud_hotbar.png | Bin 1142 -> 0 bytes textures/hud_hotbar_selected.png | Bin 9049 -> 0 bytes textures/hud_hunger_bg.png | Bin 417 -> 0 bytes textures/wieldhand.png | Bin 153 -> 0 bytes 12 files changed, 17 insertions(+), 222 deletions(-) delete mode 100644 armor.lua delete mode 100644 textures/crosshair.png delete mode 100644 textures/hud_air_fg.png delete mode 100644 textures/hud_armor_bg.png delete mode 100644 textures/hud_armor_fg.png delete mode 100644 textures/hud_heart_bg.png delete mode 100644 textures/hud_heart_fg.png delete mode 100644 textures/hud_hotbar.png delete mode 100644 textures/hud_hotbar_selected.png delete mode 100644 textures/hud_hunger_bg.png delete mode 100644 textures/wieldhand.png diff --git a/armor.lua b/armor.lua deleted file mode 100644 index 7f0d0cf..0000000 --- a/armor.lua +++ /dev/null @@ -1,34 +0,0 @@ -minetest.after(0, function() - if not armor.def then - minetest.after(2,minetest.chat_send_all,"#Better HUD: Please update your version of 3darmor") - HUD_SHOW_ARMOR = false - end -end) - -function hud.get_armor(player) - if not player or not armor.def then - return - end - local name = player:get_player_name() - local def = armor.def[name] or nil - if def and def.state and def.count then - hud.set_armor(name, def.state, def.count) - end -end - -function hud.set_armor(player_name, ges_state, items) - local max_items = 4 - if items == 5 then - max_items = items - end - local max = max_items * 65535 - local lvl = max - ges_state - lvl = lvl/max - if ges_state == 0 and items == 0 then - lvl = 0 - end - - hud.armor[player_name] = lvl* (items * (20 / max_items)) - - -end \ No newline at end of file diff --git a/init.lua b/init.lua index 1dc9809..027f01f 100644 --- a/init.lua +++ b/init.lua @@ -1,48 +1,11 @@ hud = {} -- HUD statbar values -hud.health = {} hud.hunger = {} -hud.air = {} -hud.armor = {} hud.hunger_out = {} -hud.armor_out = {} -- HUD item ids -local health_hud = {} local hunger_hud = {} -local air_hud = {} -local armor_hud = {} -local armor_hud_bg = {} - --- default settings - -HUD_SCALEABLE = false -HUD_SIZE = "" - - -- statbar positions -HUD_HEALTH_POS = {x=0.5,y=0.9} -HUD_HEALTH_OFFSET = {x=-175, y=2} -HUD_HUNGER_POS = {x=0.5,y=0.9} -HUD_HUNGER_OFFSET = {x=15, y=2} -HUD_AIR_POS = {x=0.5,y=0.9} -HUD_AIR_OFFSET = {x=15,y=-15} -HUD_ARMOR_POS = {x=0.5,y=0.9} -HUD_ARMOR_OFFSET = {x=-175, y=-15} - --- dirty way to check for new statbars -if dump(minetest.hud_replace_builtin) ~= "nil" then - HUD_SCALEABLE = true - HUD_SIZE = {x=24, y=24} - HUD_HEALTH_POS = {x=0.5,y=1} - HUD_HEALTH_OFFSET = {x=-262, y=-87} - HUD_HUNGER_POS = {x=0.5,y=1} - HUD_HUNGER_OFFSET = {x=15, y=-87} - HUD_AIR_POS = {x=0.5,y=1} - HUD_AIR_OFFSET = {x=15,y=-110} - HUD_ARMOR_POS = {x=0.5,y=1} - HUD_ARMOR_OFFSET = {x=-262, y=-110} -end HUD_TICK = 0.1 @@ -56,45 +19,18 @@ HUD_HUNGER_EXHAUST_MOVE = 0.3 -- exhaustion increased this value if player movem HUD_HUNGER_EXHAUST_LVL = 160 -- at what exhaustion player saturation gets lowerd - -HUD_ENABLE_HUNGER = minetest.setting_getbool("hud_hunger_enable") -if HUD_ENABLE_HUNGER == nil then - HUD_ENABLE_HUNGER = minetest.setting_getbool("enable_damage") -end - -HUD_SHOW_ARMOR = false -if minetest.get_modpath("3d_armor") ~= nil then - HUD_SHOW_ARMOR = true -end - --load custom settings -local set = io.open(minetest.get_modpath("hud").."/hud.conf", "r") +local set = io.open(minetest.get_modpath("hunger").."/hud.conf", "r") if set then - dofile(minetest.get_modpath("hud").."/hud.conf") + dofile(minetest.get_modpath("hunger").."/hud.conf") set:close() -else - if not HUD_ENABLE_HUNGER then - HUD_AIR_OFFSET = HUD_HUNGER_OFFSET - end end -local function hide_builtin(player) - player:hud_set_flags({crosshair = true, hotbar = true, healthbar = false, wielditem = true, breathbar = false}) -end - - local function custom_hud(player) local name = player:get_player_name() --- fancy hotbar (only when no crafting mod present) - if minetest.get_modpath("crafting") == nil then - player:hud_set_hotbar_image("hud_hotbar.png") - player:hud_set_hotbar_selected_image("hud_hotbar_selected.png") - end - if minetest.setting_getbool("enable_damage") then --hunger - if HUD_ENABLE_HUNGER then player:hud_add({ hud_elem_type = "statbar", position = HUD_HUNGER_POS, @@ -115,103 +51,14 @@ local function custom_hud(player) alignment = {x=-1,y=-1}, offset = HUD_HUNGER_OFFSET, }) - end - --health - player:hud_add({ - hud_elem_type = "statbar", - position = HUD_HEALTH_POS, - size = HUD_SIZE, - text = "hud_heart_bg.png", - number = 20, - alignment = {x=-1,y=-1}, - offset = HUD_HEALTH_OFFSET, - }) - health_hud[name] = player:hud_add({ - hud_elem_type = "statbar", - position = HUD_HEALTH_POS, - size = HUD_SIZE, - text = "hud_heart_fg.png", - number = player:get_hp(), - alignment = {x=-1,y=-1}, - offset = HUD_HEALTH_OFFSET, - }) - - --air - air_hud[name] = player:hud_add({ - hud_elem_type = "statbar", - position = HUD_AIR_POS, - size = HUD_SIZE, - text = "hud_air_fg.png", - number = 0, - alignment = {x=-1,y=-1}, - offset = HUD_AIR_OFFSET, - }) - - --armor - if HUD_SHOW_ARMOR then - armor_hud_bg[name] = player:hud_add({ - hud_elem_type = "statbar", - position = HUD_ARMOR_POS, - size = HUD_SIZE, - text = "hud_armor_bg.png", - number = 0, - alignment = {x=-1,y=-1}, - offset = HUD_ARMOR_OFFSET, - }) - armor_hud[name] = player:hud_add({ - hud_elem_type = "statbar", - position = HUD_ARMOR_POS, - size = HUD_SIZE, - text = "hud_armor_fg.png", - number = 0, - alignment = {x=-1,y=-1}, - offset = HUD_ARMOR_OFFSET, - }) - end end end ---needs to be defined for older version of 3darmor -function hud.set_armor() -end - - -if HUD_ENABLE_HUNGER then dofile(minetest.get_modpath("hud").."/hunger.lua") end -if HUD_SHOW_ARMOR then dofile(minetest.get_modpath("hud").."/armor.lua") end +dofile(minetest.get_modpath("hunger").."/hunger.lua") -- update hud elemtens if value has changed local function update_hud(player) local name = player:get_player_name() - --air - local air = tonumber(hud.air[name]) - if player:get_breath() ~= air then - air = player:get_breath() - hud.air[name] = air - if air > 10 then air = 0 end - player:hud_change(air_hud[name], "number", air*2) - end - --health - local hp = tonumber(hud.health[name]) - if player:get_hp() ~= hp then - hp = player:get_hp() - hud.health[name] = hp - player:hud_change(health_hud[name], "number", hp) - end - --armor - local arm_out = tonumber(hud.armor_out[name]) - if not arm_out then arm_out = 0 end - local arm = tonumber(hud.armor[name]) - if not arm then arm = 0 end - if arm_out ~= arm then - hud.armor_out[name] = arm - player:hud_change(armor_hud[name], "number", arm) - -- hide armor bar completely when there is none - if (not armor.def[name].count or armor.def[name].count == 0) and arm == 0 then - player:hud_change(armor_hud_bg[name], "number", 0) - else - player:hud_change(armor_hud_bg[name], "number", 20) - end - end --hunger local h_out = tonumber(hud.hunger_out[name]) local h = tonumber(hud.hunger[name]) @@ -253,33 +100,19 @@ minetest.register_on_joinplayer(function(player) local name = player:get_player_name() local inv = player:get_inventory() inv:set_size("hunger",1) - hud.health[name] = player:get_hp() - if HUD_ENABLE_HUNGER then - hud.hunger[name] = hud.get_hunger(player) - hud.hunger_out[name] = hud.hunger[name] - hud.exhaustion[name] = 0 - end - hud.armor[name] = 0 - hud.armor_out[name] = 0 - local air = player:get_breath() - hud.air[name] = air - minetest.after(0.5, function() - hide_builtin(player) - custom_hud(player) - if HUD_ENABLE_HUNGER then hud.set_hunger(player) end - end) + hud.hunger[name] = hud.get_hunger(player) + hud.hunger_out[name] = hud.hunger[name] + hud.exhaustion[name] = 0 + custom_hud(player) + hud.set_hunger(player) end) minetest.register_on_respawnplayer(function(player) - -- reset player breath since the engine doesnt - player:set_breath(11) -- reset hunger (and save) local name = player:get_player_name() hud.hunger[name] = 20 - if HUD_ENABLE_HUNGER then - minetest.after(0.5, hud.set_hunger, player) - hud.exhaustion[name] = 0 - end + hud.set_hunger(player) + hud.exhaustion[name] = 0 end) local main_timer = 0 @@ -301,7 +134,7 @@ minetest.after(2.5, function() local hp = player:get_hp() if HUD_ENABLE_HUNGER and timer > 4 then -- heal player by 1 hp if not dead and saturation is > 15 (of 30) - if h > 15 and hp > 0 and hud.air[name] > 0 then + if h > 15 and hp > 0 and player:get_breath() > 0 then player:set_hp(hp+1) -- or damage player by 1 hp if saturation is < 2 (of 30) elseif h <= 1 and minetest.setting_getbool("enable_damage") then @@ -309,26 +142,22 @@ minetest.after(2.5, function() end end -- lower saturation by 1 point after xx seconds - if HUD_ENABLE_HUNGER and timer2 > HUD_HUNGER_TICK then + if timer2 > HUD_HUNGER_TICK then if h > 0 then h = h-1 hud.hunger[name] = h hud.set_hunger(player) end end - -- update current armor level - if HUD_SHOW_ARMOR then hud.get_armor(player) end -- update all hud elements update_hud(player) - if HUD_ENABLE_HUNGER then - local controls = player:get_player_control() - -- Determine if the player is walking - if controls.up or controls.down or controls.left or controls.right then - hud.handle_node_actions(nil, nil, player) - end - end + local controls = player:get_player_control() + -- Determine if the player is walking + if controls.up or controls.down or controls.left or controls.right then + hud.handle_node_actions(nil, nil, player) + end end end diff --git a/textures/crosshair.png b/textures/crosshair.png deleted file mode 100644 index a832298bb1aa82566b697e9844cc39f5d37ba3ff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 216 zcmeAS@N?(olHy`uVBq!ia0vp^HXzKw1|+Ti+$;i8oCO|{#S9F3${@^GvDCf{DA?uc z;uumf=k2xAoDB{FE{@Jd437;wn{)K#ME@*k_L03;xR85VYP*W_@>A>#%wX_+WetM? z7<~AAtkNoWlIqE#k30|o=?B(~%*^|_&wUekTl&?|nq!B^op)Z$%;s#%Z(kRZ0D>Rc qAL6y-8F;|p&hk%;2f(2Bpf>CNr9Jzkk7)v3#o+1c=d#Wzp$PyB8%AUR diff --git a/textures/hud_air_fg.png b/textures/hud_air_fg.png deleted file mode 100644 index b62c9b02f7f95fb61becb97a8ad79e81a2328ff6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 579 zcmV-J0=)f+P)G&XICSPKg*(jAuFW#{L?*nllW(@CD& zJWnQh-(dhS$AJOB7)-`K9@=cWM|L}VXZ8U*Wx3BzPEE77Zcm^3`<}sMJRA_((!}?s zRLbs2@D^%#mf~?Qw1pe?WcK1!?%dEojdUWPcoFrsf|V$BxH)Qh9inp|Hq>zZTN~EU z4lYl+uN)bu6Eg9I--o1XaJpbd&vCk7ejmqtu0k-oyp0RjpPcOrs9jB073ET+t@g=I z7tFn+^O|pYb00UKreF324G^Bq}I$2(($f0aAtH&cMuSW$}San zxH)PWB>!P;w@v(?d5nyWj~@gYqQWj_YY2wu+^_)W!Az=5q4-O1L!u~$ z2gv}CSkt&q+#qjAa7PoYpHXvr!DF4897(MO7P*rI!Qp00LYedI~_t02AG zZlTDFXvhjGLg(brRW_K6jN^sx(n27H$DSw_-^7r}tz*FxIR8(7;eR=H;1?=BX(~z| R!KnZM002ovPDHLkV1iLN40Heh diff --git a/textures/hud_armor_bg.png b/textures/hud_armor_bg.png deleted file mode 100644 index 32401003a8f42a81bb123e03be086fdda348c159..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 424 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 z 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 LNkvXXu0mjf5NEV} diff --git a/textures/wieldhand.png b/textures/wieldhand.png deleted file mode 100644 index 2307ba4ee1a3e3857bd6f985ab3b05f451843948..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 153 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`37#&FAr*|t5^EAfY;M?o|Nl33 z^Z)zzEnokis~i09{%yO*_8vWTY&Lcqe*9njxBI}4bJte>f1fv-&8X!Zn}cD%=Mn+7 zs?=8wk{fE-Zb)x8^OI3ve)o39&;NQi8aTHYGBEs}cEDa;d-)5XT@0SCelF{r5}E+e Ckv;DK