diff --git a/characters b/characters deleted file mode 100644 index d282d23c..00000000 --- a/characters +++ /dev/null @@ -1,283 +0,0 @@ -A -_a_ -7 -B -_b_ -5 -C -_c_ -6 -D -_d_ -6 -E -_e_ -5 -F -_f_ -5 -G -_g_ -6 -H -_h_ -6 -I -_i_ -1 -J -_j_ -4 -K -_k_ -5 -L -_l_ -4 -M -_m_ -7 -N -_n_ -6 -O -_o_ -6 -P -_p_ -5 -Q -_q_ -7 -R -_r_ -5 -S -_s_ -5 -T -_t_ -5 -U -_u_ -6 -V -_v_ -7 -W -_w_ -9 -X -_x_ -5 -Y -_y_ -7 -Z -_z_ -5 -a -_a -5 -b -_b -5 -c -_c -4 -d -_d -5 -e -_e -4 -f -_f -4 -g -_g -5 -h -_h -5 -i -_i -1 -j -_j -1 -k -_k -4 -l -_l -1 -m -_m -7 -n -_n -5 -o -_o -5 -p -_p -5 -q -_q -5 -r -_r -3 -s -_s -4 -t -_t -3 -u -_u -4 -v -_v -5 -w -_w -7 -x -_x -5 -y -_y -4 -z -_z -4 - -_sp -2 -0 -_0 -4 -1 -_1 -2 -2 -_2 -4 -3 -_3 -4 -4 -_4 -4 -5 -_5 -4 -6 -_6 -4 -7 -_7 -4 -8 -_8 -4 -9 -_9 -4 -( -_bl -2 -) -_br -2 -{ -_cl -3 -} -_cr -3 -[ -_sl -2 -] -_sr -2 -' -_ap -1 -! -_ex -1 -? -_qu -4 -@ -_at -5 -# -_hs -5 -$ -_dl -4 -% -_pr -5 -^ -_ca -3 -& -_am -5 -* -_as -3 -_ -_un -3 -+ -_ps -3 -- -_mn -3 -= -_eq -3 -: -_co -1 -; -_sm -1 -, -_cm -2 -" -_qo -3 -/ -_dv -5 -~ -_tl -4 -< -_lt -3 -> -_gt -3 -\ -_re -5 -| -_vb -1 -. -_dt -1 - diff --git a/crafts.lua b/crafts.lua index 8c22aa68..fbc55bfd 100644 --- a/crafts.lua +++ b/crafts.lua @@ -6,14 +6,7 @@ -- License: GPL -- --- Boilerplate to support localized strings if intllib mod is installed. -local S -if (minetest.get_modpath("intllib")) then - dofile(minetest.get_modpath("intllib").."/intllib.lua") - S = intllib.Getter(minetest.get_current_modname()) -else - S = function ( s ) return s end -end +local S = homedecor.gettext -- misc stuff :D @@ -53,7 +46,7 @@ minetest.register_craft( { }) minetest.register_craft( { - output = "homedecor:roof_tile_terracotta 4", + output = "homedecor:roof_tile_terracotta 8", recipe = { { "homedecor:shingles_terracotta", "homedecor:shingles_terracotta" } } @@ -99,14 +92,15 @@ minetest.register_craft({ }) minetest.register_craft({ - type = "shapeless", - output = "homedecor:plastic_base 4", - recipe = { "default:leaves", - "default:leaves", - "default:leaves", - "default:leaves", - "default:leaves", - "default:leaves" + type = "shapeless", + output = "homedecor:plastic_base 4", + recipe = { + "group:leaves", + "group:leaves", + "group:leaves", + "group:leaves", + "group:leaves", + "group:leaves" } }) diff --git a/door_models.lua b/door_models.lua index 15c9bc48..870a4acf 100644 --- a/door_models.lua +++ b/door_models.lua @@ -1,14 +1,7 @@ --- Boilerplate to support localized strings if intllib mod is installed. -local S -if (minetest.get_modpath("intllib")) then - dofile(minetest.get_modpath("intllib").."/intllib.lua") - S = intllib.Getter(minetest.get_current_modname()) -else - S = function ( s ) return s end -end +local S = homedecor.gettext -homedecor_door_models = { +homedecor.door_models = { { "closet_mahogany", S("Mahogany Closet Door"), diff --git a/doors_and_gates.lua b/doors_and_gates.lua index 04df2d4a..bd2cf40f 100644 --- a/doors_and_gates.lua +++ b/doors_and_gates.lua @@ -1,13 +1,6 @@ -- Node definitions for Homedecor doors --- Boilerplate to support localized strings if intllib mod is installed. -local S -if (minetest.get_modpath("intllib")) then - dofile(minetest.get_modpath("intllib").."/intllib.lua") - S = intllib.Getter(minetest.get_current_modname()) -else - S = function ( s ) return s end -end +local S = homedecor.gettext -- doors @@ -158,9 +151,9 @@ for i in ipairs(sides) do local side = sides[i] local rside = rsides[i] - for j in ipairs(homedecor_door_models) do - local doorname = homedecor_door_models[j][1] - local doordesc = homedecor_door_models[j][2] + for j in ipairs(homedecor.door_models) do + local doorname = homedecor.door_models[j][1] + local doordesc = homedecor.door_models[j][2] local nodeboxes_top = nil local nodeboxes_bottom = nil local texalpha = false @@ -169,11 +162,11 @@ for i in ipairs(sides) do end if side == "left" then - nodeboxes_top = homedecor_door_models[j][3] - nodeboxes_bottomtom = homedecor_door_models[j][4] + nodeboxes_top = homedecor.door_models[j][3] + nodeboxes_bottomtom = homedecor.door_models[j][4] else - nodeboxes_top = homedecor_door_models[j][5] - nodeboxes_bottomtom = homedecor_door_models[j][6] + nodeboxes_top = homedecor.door_models[j][5] + nodeboxes_bottomtom = homedecor.door_models[j][6] end local lower_top_side = "homedecor_door_"..doorname.."_tb.png" @@ -234,9 +227,8 @@ for i in ipairs(sides) do end end, on_rightclick = function(pos, node, clicker) - homedecor_flip_door({x=pos.x, y=pos.y-1, z=pos.z}, node, clicker, doorname, side) + homedecor.flip_door({x=pos.x, y=pos.y-1, z=pos.z}, node, clicker, doorname, side) end - }) minetest.register_node("homedecor:door_"..doorname.."_bottom_"..side, { @@ -261,11 +253,11 @@ for i in ipairs(sides) do end end, on_place = function(itemstack, placer, pointed_thing) - homedecor_place_door(itemstack, placer, pointed_thing, doorname, side) + homedecor.place_door(itemstack, placer, pointed_thing, doorname, side) return itemstack end, on_rightclick = function(pos, node, clicker) - homedecor_flip_door(pos, node, clicker, doorname, side) + homedecor.flip_door(pos, node, clicker, doorname, side) end, -- both left and right doors may be used for open or closed doors -- so they have to have both action_on and action_off and just @@ -279,13 +271,13 @@ for i in ipairs(sides) do action_on = function(pos,node) local isClosed = getClosed(pos) if isClosed then - homedecor_flip_door(pos,node,nil,doorname,side,isClosed) + homedecor.flip_door(pos,node,nil,doorname,side,isClosed) end end, action_off = function(pos,node) local isClosed = getClosed(pos) if not isClosed then - homedecor_flip_door(pos,node,nil,doorname,side,isClosed) + homedecor.flip_door(pos,node,nil,doorname,side,isClosed) end end } @@ -367,11 +359,11 @@ for i in ipairs(gates_list) do fixed = gate_models_closed[i] }, on_rightclick = function(pos, node, clicker) - homedecor_flip_gate(pos, node, clicker, gate, "closed") + homedecor.flip_gate(pos, node, clicker, gate, "closed") end, mesecons = { effector = { - action_on = function(pos,node) homedecor_flip_gate(pos,node,player,gate, "closed") end + action_on = function(pos,node) homedecor.flip_gate(pos,node,player,gate, "closed") end } } } @@ -391,7 +383,7 @@ for i in ipairs(gates_list) do "homedecor_gate_"..gate.."_back.png", "homedecor_gate_"..gate.."_left.png", "homedecor_gate_"..gate.."_right.png" - }, + } def.node_box.fixed = gate_models_open[i] def.drop = "homedecor:gate_"..gate.."_closed" def.on_rightclick = function(pos, node, clicker) @@ -422,7 +414,7 @@ local function get_nodedef_field(nodename, fieldname) return minetest.registered_nodes[nodename][fieldname] end -function homedecor_place_door(itemstack, placer, pointed_thing, name, side) +function homedecor.place_door(itemstack, placer, pointed_thing, name, side) local pointed = pointed_thing.under local pnode = minetest.get_node(pointed) @@ -445,10 +437,10 @@ function homedecor_place_door(itemstack, placer, pointed_thing, name, side) local node_bottom = minetest.get_node(pos1) local node_top = minetest.get_node(pos2) - if not homedecor_node_is_owned(pos1, placer) - and not homedecor_node_is_owned(pos2, placer) then + if not homedecor:node_is_owned(pos1, placer) + and not homedecor:node_is_owned(pos2, placer) then - if not get_nodedef_field(node_bottom.name, "buildable_to") + if not get_nodedef_field(node_bottom.name, "buildable_to") or not get_nodedef_field(node_top.name, "buildable_to") then minetest.chat_send_player( placer:get_player_name(), S('Not enough space above that spot to place a door!') ) else @@ -456,7 +448,7 @@ function homedecor_place_door(itemstack, placer, pointed_thing, name, side) local def = { name = "homedecor:door_"..name.."_bottom_"..side, param2=fdir} addDoorNode(pos1, def, true) minetest.add_node(pos2, { name = "homedecor:door_"..name.."_top_"..side, param2=fdir}) - if not homedecor_expect_infinite_stacks then + if not homedecor.expect_infinite_stacks then itemstack:take_item() return itemstack end @@ -471,7 +463,7 @@ end -- that is to say open "right" doors become left door nodes, and open left doors right door nodes. -- also adjusting param2 so the node is at 90 degrees. -function homedecor_flip_door(pos, node, player, name, side, isClosed) +function homedecor.flip_door(pos, node, player, name, side, isClosed) if isClosed == nil then isClosed = getClosed(pos) end diff --git a/electronics.lua b/electronics.lua index 19acd239..fefdba38 100644 --- a/electronics.lua +++ b/electronics.lua @@ -1,13 +1,6 @@ -- Various home electronics --- Boilerplate to support localized strings if intllib mod is installed. -local S -if (minetest.get_modpath("intllib")) then - dofile(minetest.get_modpath("intllib").."/intllib.lua") - S = intllib.Getter(minetest.get_current_modname()) -else - S = function ( s ) return s end -end +local S = homedecor.gettext minetest.register_node('homedecor:speaker', { description = S("Large Stereo Speaker"), diff --git a/extra_fonts/11px/hdf_20.png b/extra_fonts/11px/hdf_20.png new file mode 100644 index 00000000..942d14c3 Binary files /dev/null and b/extra_fonts/11px/hdf_20.png differ diff --git a/extra_fonts/11px/hdf_21.png b/extra_fonts/11px/hdf_21.png new file mode 100644 index 00000000..cbd1df51 Binary files /dev/null and b/extra_fonts/11px/hdf_21.png differ diff --git a/extra_fonts/11px/hdf_22.png b/extra_fonts/11px/hdf_22.png new file mode 100644 index 00000000..91479b5d Binary files /dev/null and b/extra_fonts/11px/hdf_22.png differ diff --git a/extra_fonts/11px/hdf_23.png b/extra_fonts/11px/hdf_23.png new file mode 100644 index 00000000..9f17de9d Binary files /dev/null and b/extra_fonts/11px/hdf_23.png differ diff --git a/extra_fonts/11px/hdf_24.png b/extra_fonts/11px/hdf_24.png new file mode 100644 index 00000000..b868be15 Binary files /dev/null and b/extra_fonts/11px/hdf_24.png differ diff --git a/extra_fonts/11px/hdf_25.png b/extra_fonts/11px/hdf_25.png new file mode 100644 index 00000000..e514c61a Binary files /dev/null and b/extra_fonts/11px/hdf_25.png differ diff --git a/extra_fonts/11px/hdf_26.png b/extra_fonts/11px/hdf_26.png new file mode 100644 index 00000000..258362e6 Binary files /dev/null and b/extra_fonts/11px/hdf_26.png differ diff --git a/extra_fonts/11px/hdf_27.png b/extra_fonts/11px/hdf_27.png new file mode 100644 index 00000000..02b1d887 Binary files /dev/null and b/extra_fonts/11px/hdf_27.png differ diff --git a/extra_fonts/11px/hdf_28.png b/extra_fonts/11px/hdf_28.png new file mode 100644 index 00000000..bb2db5b5 Binary files /dev/null and b/extra_fonts/11px/hdf_28.png differ diff --git a/extra_fonts/11px/hdf_29.png b/extra_fonts/11px/hdf_29.png new file mode 100644 index 00000000..6d6d2360 Binary files /dev/null and b/extra_fonts/11px/hdf_29.png differ diff --git a/extra_fonts/11px/hdf_2a.png b/extra_fonts/11px/hdf_2a.png new file mode 100644 index 00000000..4bdc0bde Binary files /dev/null and b/extra_fonts/11px/hdf_2a.png differ diff --git a/extra_fonts/11px/hdf_2b.png b/extra_fonts/11px/hdf_2b.png new file mode 100644 index 00000000..1e6e8365 Binary files /dev/null and b/extra_fonts/11px/hdf_2b.png differ diff --git a/extra_fonts/11px/hdf_2c.png b/extra_fonts/11px/hdf_2c.png new file mode 100644 index 00000000..ec58588f Binary files /dev/null and b/extra_fonts/11px/hdf_2c.png differ diff --git a/extra_fonts/11px/hdf_2d.png b/extra_fonts/11px/hdf_2d.png new file mode 100644 index 00000000..62306090 Binary files /dev/null and b/extra_fonts/11px/hdf_2d.png differ diff --git a/extra_fonts/11px/hdf_2e.png b/extra_fonts/11px/hdf_2e.png new file mode 100644 index 00000000..3e09f2d1 Binary files /dev/null and b/extra_fonts/11px/hdf_2e.png differ diff --git a/extra_fonts/11px/hdf_2f.png b/extra_fonts/11px/hdf_2f.png new file mode 100644 index 00000000..1d6b6e56 Binary files /dev/null and b/extra_fonts/11px/hdf_2f.png differ diff --git a/extra_fonts/11px/hdf_30.png b/extra_fonts/11px/hdf_30.png new file mode 100644 index 00000000..085c840f Binary files /dev/null and b/extra_fonts/11px/hdf_30.png differ diff --git a/extra_fonts/11px/hdf_31.png b/extra_fonts/11px/hdf_31.png new file mode 100644 index 00000000..bd592f6d Binary files /dev/null and b/extra_fonts/11px/hdf_31.png differ diff --git a/extra_fonts/11px/hdf_32.png b/extra_fonts/11px/hdf_32.png new file mode 100644 index 00000000..ef922278 Binary files /dev/null and b/extra_fonts/11px/hdf_32.png differ diff --git a/extra_fonts/11px/hdf_33.png b/extra_fonts/11px/hdf_33.png new file mode 100644 index 00000000..2c3fc434 Binary files /dev/null and b/extra_fonts/11px/hdf_33.png differ diff --git a/extra_fonts/11px/hdf_34.png b/extra_fonts/11px/hdf_34.png new file mode 100644 index 00000000..51b0761d Binary files /dev/null and b/extra_fonts/11px/hdf_34.png differ diff --git a/extra_fonts/11px/hdf_35.png b/extra_fonts/11px/hdf_35.png new file mode 100644 index 00000000..4935914e Binary files /dev/null and b/extra_fonts/11px/hdf_35.png differ diff --git a/extra_fonts/11px/hdf_36.png b/extra_fonts/11px/hdf_36.png new file mode 100644 index 00000000..040b919d Binary files /dev/null and b/extra_fonts/11px/hdf_36.png differ diff --git a/extra_fonts/11px/hdf_37.png b/extra_fonts/11px/hdf_37.png new file mode 100644 index 00000000..83387757 Binary files /dev/null and b/extra_fonts/11px/hdf_37.png differ diff --git a/extra_fonts/11px/hdf_38.png b/extra_fonts/11px/hdf_38.png new file mode 100644 index 00000000..6d9b7eb4 Binary files /dev/null and b/extra_fonts/11px/hdf_38.png differ diff --git a/extra_fonts/11px/hdf_39.png b/extra_fonts/11px/hdf_39.png new file mode 100644 index 00000000..326027e5 Binary files /dev/null and b/extra_fonts/11px/hdf_39.png differ diff --git a/extra_fonts/11px/hdf_3a.png b/extra_fonts/11px/hdf_3a.png new file mode 100644 index 00000000..f1e4992b Binary files /dev/null and b/extra_fonts/11px/hdf_3a.png differ diff --git a/extra_fonts/11px/hdf_3b.png b/extra_fonts/11px/hdf_3b.png new file mode 100644 index 00000000..7977b430 Binary files /dev/null and b/extra_fonts/11px/hdf_3b.png differ diff --git a/extra_fonts/11px/hdf_3c.png b/extra_fonts/11px/hdf_3c.png new file mode 100644 index 00000000..2ef0ff9f Binary files /dev/null and b/extra_fonts/11px/hdf_3c.png differ diff --git a/extra_fonts/11px/hdf_3d.png b/extra_fonts/11px/hdf_3d.png new file mode 100644 index 00000000..abe0da46 Binary files /dev/null and b/extra_fonts/11px/hdf_3d.png differ diff --git a/extra_fonts/11px/hdf_3e.png b/extra_fonts/11px/hdf_3e.png new file mode 100644 index 00000000..c9b52e4d Binary files /dev/null and b/extra_fonts/11px/hdf_3e.png differ diff --git a/extra_fonts/11px/hdf_3f.png b/extra_fonts/11px/hdf_3f.png new file mode 100644 index 00000000..e64d99b8 Binary files /dev/null and b/extra_fonts/11px/hdf_3f.png differ diff --git a/extra_fonts/11px/hdf_40.png b/extra_fonts/11px/hdf_40.png new file mode 100644 index 00000000..f628c978 Binary files /dev/null and b/extra_fonts/11px/hdf_40.png differ diff --git a/extra_fonts/11px/hdf_41.png b/extra_fonts/11px/hdf_41.png new file mode 100644 index 00000000..4e629212 Binary files /dev/null and b/extra_fonts/11px/hdf_41.png differ diff --git a/extra_fonts/11px/hdf_42.png b/extra_fonts/11px/hdf_42.png new file mode 100644 index 00000000..cc363f8f Binary files /dev/null and b/extra_fonts/11px/hdf_42.png differ diff --git a/extra_fonts/11px/hdf_43.png b/extra_fonts/11px/hdf_43.png new file mode 100644 index 00000000..6ce2e3bc Binary files /dev/null and b/extra_fonts/11px/hdf_43.png differ diff --git a/extra_fonts/11px/hdf_44.png b/extra_fonts/11px/hdf_44.png new file mode 100644 index 00000000..133c6d53 Binary files /dev/null and b/extra_fonts/11px/hdf_44.png differ diff --git a/extra_fonts/11px/hdf_45.png b/extra_fonts/11px/hdf_45.png new file mode 100644 index 00000000..8d04c192 Binary files /dev/null and b/extra_fonts/11px/hdf_45.png differ diff --git a/extra_fonts/11px/hdf_46.png b/extra_fonts/11px/hdf_46.png new file mode 100644 index 00000000..cb8790a0 Binary files /dev/null and b/extra_fonts/11px/hdf_46.png differ diff --git a/extra_fonts/11px/hdf_47.png b/extra_fonts/11px/hdf_47.png new file mode 100644 index 00000000..d6db5614 Binary files /dev/null and b/extra_fonts/11px/hdf_47.png differ diff --git a/extra_fonts/11px/hdf_48.png b/extra_fonts/11px/hdf_48.png new file mode 100644 index 00000000..d6ec5091 Binary files /dev/null and b/extra_fonts/11px/hdf_48.png differ diff --git a/extra_fonts/11px/hdf_49.png b/extra_fonts/11px/hdf_49.png new file mode 100644 index 00000000..59a8c931 Binary files /dev/null and b/extra_fonts/11px/hdf_49.png differ diff --git a/extra_fonts/11px/hdf_4a.png b/extra_fonts/11px/hdf_4a.png new file mode 100644 index 00000000..b6e9c52a Binary files /dev/null and b/extra_fonts/11px/hdf_4a.png differ diff --git a/extra_fonts/11px/hdf_4b.png b/extra_fonts/11px/hdf_4b.png new file mode 100644 index 00000000..915a154c Binary files /dev/null and b/extra_fonts/11px/hdf_4b.png differ diff --git a/extra_fonts/11px/hdf_4c.png b/extra_fonts/11px/hdf_4c.png new file mode 100644 index 00000000..f8f88f56 Binary files /dev/null and b/extra_fonts/11px/hdf_4c.png differ diff --git a/extra_fonts/11px/hdf_4d.png b/extra_fonts/11px/hdf_4d.png new file mode 100644 index 00000000..f8a3d6eb Binary files /dev/null and b/extra_fonts/11px/hdf_4d.png differ diff --git a/extra_fonts/11px/hdf_4e.png b/extra_fonts/11px/hdf_4e.png new file mode 100644 index 00000000..6e13cba1 Binary files /dev/null and b/extra_fonts/11px/hdf_4e.png differ diff --git a/extra_fonts/11px/hdf_4f.png b/extra_fonts/11px/hdf_4f.png new file mode 100644 index 00000000..a75df80f Binary files /dev/null and b/extra_fonts/11px/hdf_4f.png differ diff --git a/extra_fonts/11px/hdf_50.png b/extra_fonts/11px/hdf_50.png new file mode 100644 index 00000000..99e7686a Binary files /dev/null and b/extra_fonts/11px/hdf_50.png differ diff --git a/extra_fonts/11px/hdf_51.png b/extra_fonts/11px/hdf_51.png new file mode 100644 index 00000000..8f100b3c Binary files /dev/null and b/extra_fonts/11px/hdf_51.png differ diff --git a/extra_fonts/11px/hdf_52.png b/extra_fonts/11px/hdf_52.png new file mode 100644 index 00000000..b31a43f0 Binary files /dev/null and b/extra_fonts/11px/hdf_52.png differ diff --git a/extra_fonts/11px/hdf_53.png b/extra_fonts/11px/hdf_53.png new file mode 100644 index 00000000..e9936502 Binary files /dev/null and b/extra_fonts/11px/hdf_53.png differ diff --git a/extra_fonts/11px/hdf_54.png b/extra_fonts/11px/hdf_54.png new file mode 100644 index 00000000..4910cdc6 Binary files /dev/null and b/extra_fonts/11px/hdf_54.png differ diff --git a/extra_fonts/11px/hdf_55.png b/extra_fonts/11px/hdf_55.png new file mode 100644 index 00000000..6106c43a Binary files /dev/null and b/extra_fonts/11px/hdf_55.png differ diff --git a/extra_fonts/11px/hdf_56.png b/extra_fonts/11px/hdf_56.png new file mode 100644 index 00000000..77e0c058 Binary files /dev/null and b/extra_fonts/11px/hdf_56.png differ diff --git a/extra_fonts/11px/hdf_57.png b/extra_fonts/11px/hdf_57.png new file mode 100644 index 00000000..0c022ea3 Binary files /dev/null and b/extra_fonts/11px/hdf_57.png differ diff --git a/extra_fonts/11px/hdf_58.png b/extra_fonts/11px/hdf_58.png new file mode 100644 index 00000000..86a0e245 Binary files /dev/null and b/extra_fonts/11px/hdf_58.png differ diff --git a/extra_fonts/11px/hdf_59.png b/extra_fonts/11px/hdf_59.png new file mode 100644 index 00000000..3e02cee1 Binary files /dev/null and b/extra_fonts/11px/hdf_59.png differ diff --git a/extra_fonts/11px/hdf_5a.png b/extra_fonts/11px/hdf_5a.png new file mode 100644 index 00000000..7dc68624 Binary files /dev/null and b/extra_fonts/11px/hdf_5a.png differ diff --git a/extra_fonts/11px/hdf_5b.png b/extra_fonts/11px/hdf_5b.png new file mode 100644 index 00000000..70b5cf7c Binary files /dev/null and b/extra_fonts/11px/hdf_5b.png differ diff --git a/extra_fonts/11px/hdf_5c.png b/extra_fonts/11px/hdf_5c.png new file mode 100644 index 00000000..2172db13 Binary files /dev/null and b/extra_fonts/11px/hdf_5c.png differ diff --git a/extra_fonts/11px/hdf_5d.png b/extra_fonts/11px/hdf_5d.png new file mode 100644 index 00000000..b4bc4447 Binary files /dev/null and b/extra_fonts/11px/hdf_5d.png differ diff --git a/extra_fonts/11px/hdf_5e.png b/extra_fonts/11px/hdf_5e.png new file mode 100644 index 00000000..9bc550b6 Binary files /dev/null and b/extra_fonts/11px/hdf_5e.png differ diff --git a/extra_fonts/11px/hdf_5f.png b/extra_fonts/11px/hdf_5f.png new file mode 100644 index 00000000..779a010e Binary files /dev/null and b/extra_fonts/11px/hdf_5f.png differ diff --git a/extra_fonts/11px/hdf_60.png b/extra_fonts/11px/hdf_60.png new file mode 100644 index 00000000..0dd8d765 Binary files /dev/null and b/extra_fonts/11px/hdf_60.png differ diff --git a/extra_fonts/11px/hdf_61.png b/extra_fonts/11px/hdf_61.png new file mode 100644 index 00000000..8d03ce22 Binary files /dev/null and b/extra_fonts/11px/hdf_61.png differ diff --git a/extra_fonts/11px/hdf_62.png b/extra_fonts/11px/hdf_62.png new file mode 100644 index 00000000..dfb795b0 Binary files /dev/null and b/extra_fonts/11px/hdf_62.png differ diff --git a/extra_fonts/11px/hdf_63.png b/extra_fonts/11px/hdf_63.png new file mode 100644 index 00000000..cb07be70 Binary files /dev/null and b/extra_fonts/11px/hdf_63.png differ diff --git a/extra_fonts/11px/hdf_64.png b/extra_fonts/11px/hdf_64.png new file mode 100644 index 00000000..9f153a84 Binary files /dev/null and b/extra_fonts/11px/hdf_64.png differ diff --git a/extra_fonts/11px/hdf_65.png b/extra_fonts/11px/hdf_65.png new file mode 100644 index 00000000..a7ad60e8 Binary files /dev/null and b/extra_fonts/11px/hdf_65.png differ diff --git a/extra_fonts/11px/hdf_66.png b/extra_fonts/11px/hdf_66.png new file mode 100644 index 00000000..0c3d3dcf Binary files /dev/null and b/extra_fonts/11px/hdf_66.png differ diff --git a/extra_fonts/11px/hdf_67.png b/extra_fonts/11px/hdf_67.png new file mode 100644 index 00000000..144321b8 Binary files /dev/null and b/extra_fonts/11px/hdf_67.png differ diff --git a/extra_fonts/11px/hdf_68.png b/extra_fonts/11px/hdf_68.png new file mode 100644 index 00000000..c6fa6dd8 Binary files /dev/null and b/extra_fonts/11px/hdf_68.png differ diff --git a/extra_fonts/11px/hdf_69.png b/extra_fonts/11px/hdf_69.png new file mode 100644 index 00000000..4f269f12 Binary files /dev/null and b/extra_fonts/11px/hdf_69.png differ diff --git a/extra_fonts/11px/hdf_6a.png b/extra_fonts/11px/hdf_6a.png new file mode 100644 index 00000000..ba82b275 Binary files /dev/null and b/extra_fonts/11px/hdf_6a.png differ diff --git a/extra_fonts/11px/hdf_6b.png b/extra_fonts/11px/hdf_6b.png new file mode 100644 index 00000000..5ac75f46 Binary files /dev/null and b/extra_fonts/11px/hdf_6b.png differ diff --git a/extra_fonts/11px/hdf_6c.png b/extra_fonts/11px/hdf_6c.png new file mode 100644 index 00000000..59a8c931 Binary files /dev/null and b/extra_fonts/11px/hdf_6c.png differ diff --git a/extra_fonts/11px/hdf_6d.png b/extra_fonts/11px/hdf_6d.png new file mode 100644 index 00000000..1d2f99dd Binary files /dev/null and b/extra_fonts/11px/hdf_6d.png differ diff --git a/extra_fonts/11px/hdf_6e.png b/extra_fonts/11px/hdf_6e.png new file mode 100644 index 00000000..51da9cfa Binary files /dev/null and b/extra_fonts/11px/hdf_6e.png differ diff --git a/extra_fonts/11px/hdf_6f.png b/extra_fonts/11px/hdf_6f.png new file mode 100644 index 00000000..585afa3b Binary files /dev/null and b/extra_fonts/11px/hdf_6f.png differ diff --git a/extra_fonts/11px/hdf_70.png b/extra_fonts/11px/hdf_70.png new file mode 100644 index 00000000..b3bd6528 Binary files /dev/null and b/extra_fonts/11px/hdf_70.png differ diff --git a/extra_fonts/11px/hdf_71.png b/extra_fonts/11px/hdf_71.png new file mode 100644 index 00000000..c1d7ab84 Binary files /dev/null and b/extra_fonts/11px/hdf_71.png differ diff --git a/extra_fonts/11px/hdf_72.png b/extra_fonts/11px/hdf_72.png new file mode 100644 index 00000000..f13edbe0 Binary files /dev/null and b/extra_fonts/11px/hdf_72.png differ diff --git a/extra_fonts/11px/hdf_73.png b/extra_fonts/11px/hdf_73.png new file mode 100644 index 00000000..945ceea7 Binary files /dev/null and b/extra_fonts/11px/hdf_73.png differ diff --git a/extra_fonts/11px/hdf_74.png b/extra_fonts/11px/hdf_74.png new file mode 100644 index 00000000..8ead54f7 Binary files /dev/null and b/extra_fonts/11px/hdf_74.png differ diff --git a/extra_fonts/11px/hdf_75.png b/extra_fonts/11px/hdf_75.png new file mode 100644 index 00000000..aa5f0d3e Binary files /dev/null and b/extra_fonts/11px/hdf_75.png differ diff --git a/extra_fonts/11px/hdf_76.png b/extra_fonts/11px/hdf_76.png new file mode 100644 index 00000000..2149b53e Binary files /dev/null and b/extra_fonts/11px/hdf_76.png differ diff --git a/extra_fonts/11px/hdf_77.png b/extra_fonts/11px/hdf_77.png new file mode 100644 index 00000000..30e095a2 Binary files /dev/null and b/extra_fonts/11px/hdf_77.png differ diff --git a/extra_fonts/11px/hdf_78.png b/extra_fonts/11px/hdf_78.png new file mode 100644 index 00000000..e177f73b Binary files /dev/null and b/extra_fonts/11px/hdf_78.png differ diff --git a/extra_fonts/11px/hdf_79.png b/extra_fonts/11px/hdf_79.png new file mode 100644 index 00000000..d4c9f429 Binary files /dev/null and b/extra_fonts/11px/hdf_79.png differ diff --git a/extra_fonts/11px/hdf_7a.png b/extra_fonts/11px/hdf_7a.png new file mode 100644 index 00000000..05b5e13e Binary files /dev/null and b/extra_fonts/11px/hdf_7a.png differ diff --git a/extra_fonts/11px/hdf_7b.png b/extra_fonts/11px/hdf_7b.png new file mode 100644 index 00000000..8e2280a1 Binary files /dev/null and b/extra_fonts/11px/hdf_7b.png differ diff --git a/extra_fonts/11px/hdf_7c.png b/extra_fonts/11px/hdf_7c.png new file mode 100644 index 00000000..15596be1 Binary files /dev/null and b/extra_fonts/11px/hdf_7c.png differ diff --git a/extra_fonts/11px/hdf_7d.png b/extra_fonts/11px/hdf_7d.png new file mode 100644 index 00000000..f6663f29 Binary files /dev/null and b/extra_fonts/11px/hdf_7d.png differ diff --git a/extra_fonts/11px/hdf_7e.png b/extra_fonts/11px/hdf_7e.png new file mode 100644 index 00000000..9f759203 Binary files /dev/null and b/extra_fonts/11px/hdf_7e.png differ diff --git a/extra_fonts/17px/hdf_20.png b/extra_fonts/17px/hdf_20.png new file mode 100644 index 00000000..ccf056d2 Binary files /dev/null and b/extra_fonts/17px/hdf_20.png differ diff --git a/extra_fonts/17px/hdf_21.png b/extra_fonts/17px/hdf_21.png new file mode 100644 index 00000000..bb60da98 Binary files /dev/null and b/extra_fonts/17px/hdf_21.png differ diff --git a/extra_fonts/17px/hdf_22.png b/extra_fonts/17px/hdf_22.png new file mode 100644 index 00000000..e4f7fa97 Binary files /dev/null and b/extra_fonts/17px/hdf_22.png differ diff --git a/extra_fonts/17px/hdf_23.png b/extra_fonts/17px/hdf_23.png new file mode 100644 index 00000000..09f5fbd9 Binary files /dev/null and b/extra_fonts/17px/hdf_23.png differ diff --git a/extra_fonts/17px/hdf_24.png b/extra_fonts/17px/hdf_24.png new file mode 100644 index 00000000..9ce9de07 Binary files /dev/null and b/extra_fonts/17px/hdf_24.png differ diff --git a/extra_fonts/17px/hdf_25.png b/extra_fonts/17px/hdf_25.png new file mode 100644 index 00000000..effd5156 Binary files /dev/null and b/extra_fonts/17px/hdf_25.png differ diff --git a/extra_fonts/17px/hdf_26.png b/extra_fonts/17px/hdf_26.png new file mode 100644 index 00000000..d36c40e5 Binary files /dev/null and b/extra_fonts/17px/hdf_26.png differ diff --git a/extra_fonts/17px/hdf_27.png b/extra_fonts/17px/hdf_27.png new file mode 100644 index 00000000..30dcfdd0 Binary files /dev/null and b/extra_fonts/17px/hdf_27.png differ diff --git a/extra_fonts/17px/hdf_28.png b/extra_fonts/17px/hdf_28.png new file mode 100644 index 00000000..e50b3942 Binary files /dev/null and b/extra_fonts/17px/hdf_28.png differ diff --git a/extra_fonts/17px/hdf_29.png b/extra_fonts/17px/hdf_29.png new file mode 100644 index 00000000..019551bb Binary files /dev/null and b/extra_fonts/17px/hdf_29.png differ diff --git a/extra_fonts/17px/hdf_2a.png b/extra_fonts/17px/hdf_2a.png new file mode 100644 index 00000000..0481e537 Binary files /dev/null and b/extra_fonts/17px/hdf_2a.png differ diff --git a/extra_fonts/17px/hdf_2b.png b/extra_fonts/17px/hdf_2b.png new file mode 100644 index 00000000..111cff5f Binary files /dev/null and b/extra_fonts/17px/hdf_2b.png differ diff --git a/extra_fonts/17px/hdf_2c.png b/extra_fonts/17px/hdf_2c.png new file mode 100644 index 00000000..e2d86424 Binary files /dev/null and b/extra_fonts/17px/hdf_2c.png differ diff --git a/extra_fonts/17px/hdf_2d.png b/extra_fonts/17px/hdf_2d.png new file mode 100644 index 00000000..e3fa218d Binary files /dev/null and b/extra_fonts/17px/hdf_2d.png differ diff --git a/extra_fonts/17px/hdf_2e.png b/extra_fonts/17px/hdf_2e.png new file mode 100644 index 00000000..fb7df9b8 Binary files /dev/null and b/extra_fonts/17px/hdf_2e.png differ diff --git a/extra_fonts/17px/hdf_2f.png b/extra_fonts/17px/hdf_2f.png new file mode 100644 index 00000000..41015155 Binary files /dev/null and b/extra_fonts/17px/hdf_2f.png differ diff --git a/extra_fonts/17px/hdf_30.png b/extra_fonts/17px/hdf_30.png new file mode 100644 index 00000000..66fb225f Binary files /dev/null and b/extra_fonts/17px/hdf_30.png differ diff --git a/extra_fonts/17px/hdf_31.png b/extra_fonts/17px/hdf_31.png new file mode 100644 index 00000000..3f179f71 Binary files /dev/null and b/extra_fonts/17px/hdf_31.png differ diff --git a/extra_fonts/17px/hdf_32.png b/extra_fonts/17px/hdf_32.png new file mode 100644 index 00000000..bf63f29b Binary files /dev/null and b/extra_fonts/17px/hdf_32.png differ diff --git a/extra_fonts/17px/hdf_33.png b/extra_fonts/17px/hdf_33.png new file mode 100644 index 00000000..bb761cac Binary files /dev/null and b/extra_fonts/17px/hdf_33.png differ diff --git a/extra_fonts/17px/hdf_34.png b/extra_fonts/17px/hdf_34.png new file mode 100644 index 00000000..235269fd Binary files /dev/null and b/extra_fonts/17px/hdf_34.png differ diff --git a/extra_fonts/17px/hdf_35.png b/extra_fonts/17px/hdf_35.png new file mode 100644 index 00000000..22ddf24d Binary files /dev/null and b/extra_fonts/17px/hdf_35.png differ diff --git a/extra_fonts/17px/hdf_36.png b/extra_fonts/17px/hdf_36.png new file mode 100644 index 00000000..c4e8e715 Binary files /dev/null and b/extra_fonts/17px/hdf_36.png differ diff --git a/extra_fonts/17px/hdf_37.png b/extra_fonts/17px/hdf_37.png new file mode 100644 index 00000000..f11b1fe6 Binary files /dev/null and b/extra_fonts/17px/hdf_37.png differ diff --git a/extra_fonts/17px/hdf_38.png b/extra_fonts/17px/hdf_38.png new file mode 100644 index 00000000..ae1a843b Binary files /dev/null and b/extra_fonts/17px/hdf_38.png differ diff --git a/extra_fonts/17px/hdf_39.png b/extra_fonts/17px/hdf_39.png new file mode 100644 index 00000000..b353cfb6 Binary files /dev/null and b/extra_fonts/17px/hdf_39.png differ diff --git a/extra_fonts/17px/hdf_3a.png b/extra_fonts/17px/hdf_3a.png new file mode 100644 index 00000000..d5bff550 Binary files /dev/null and b/extra_fonts/17px/hdf_3a.png differ diff --git a/extra_fonts/17px/hdf_3b.png b/extra_fonts/17px/hdf_3b.png new file mode 100644 index 00000000..a89efa9f Binary files /dev/null and b/extra_fonts/17px/hdf_3b.png differ diff --git a/extra_fonts/17px/hdf_3c.png b/extra_fonts/17px/hdf_3c.png new file mode 100644 index 00000000..e6c507ee Binary files /dev/null and b/extra_fonts/17px/hdf_3c.png differ diff --git a/extra_fonts/17px/hdf_3d.png b/extra_fonts/17px/hdf_3d.png new file mode 100644 index 00000000..5532d24f Binary files /dev/null and b/extra_fonts/17px/hdf_3d.png differ diff --git a/extra_fonts/17px/hdf_3e.png b/extra_fonts/17px/hdf_3e.png new file mode 100644 index 00000000..8f0ce338 Binary files /dev/null and b/extra_fonts/17px/hdf_3e.png differ diff --git a/extra_fonts/17px/hdf_3f.png b/extra_fonts/17px/hdf_3f.png new file mode 100644 index 00000000..69b76198 Binary files /dev/null and b/extra_fonts/17px/hdf_3f.png differ diff --git a/extra_fonts/17px/hdf_40.png b/extra_fonts/17px/hdf_40.png new file mode 100644 index 00000000..838fd10d Binary files /dev/null and b/extra_fonts/17px/hdf_40.png differ diff --git a/extra_fonts/17px/hdf_41.png b/extra_fonts/17px/hdf_41.png new file mode 100644 index 00000000..35e8c4fa Binary files /dev/null and b/extra_fonts/17px/hdf_41.png differ diff --git a/extra_fonts/17px/hdf_42.png b/extra_fonts/17px/hdf_42.png new file mode 100644 index 00000000..c8433640 Binary files /dev/null and b/extra_fonts/17px/hdf_42.png differ diff --git a/extra_fonts/17px/hdf_43.png b/extra_fonts/17px/hdf_43.png new file mode 100644 index 00000000..c6fafd09 Binary files /dev/null and b/extra_fonts/17px/hdf_43.png differ diff --git a/extra_fonts/17px/hdf_44.png b/extra_fonts/17px/hdf_44.png new file mode 100644 index 00000000..81ebbe2a Binary files /dev/null and b/extra_fonts/17px/hdf_44.png differ diff --git a/extra_fonts/17px/hdf_45.png b/extra_fonts/17px/hdf_45.png new file mode 100644 index 00000000..9a6b9019 Binary files /dev/null and b/extra_fonts/17px/hdf_45.png differ diff --git a/extra_fonts/17px/hdf_46.png b/extra_fonts/17px/hdf_46.png new file mode 100644 index 00000000..68f05c53 Binary files /dev/null and b/extra_fonts/17px/hdf_46.png differ diff --git a/extra_fonts/17px/hdf_47.png b/extra_fonts/17px/hdf_47.png new file mode 100644 index 00000000..1c897821 Binary files /dev/null and b/extra_fonts/17px/hdf_47.png differ diff --git a/extra_fonts/17px/hdf_48.png b/extra_fonts/17px/hdf_48.png new file mode 100644 index 00000000..8e873e25 Binary files /dev/null and b/extra_fonts/17px/hdf_48.png differ diff --git a/extra_fonts/17px/hdf_49.png b/extra_fonts/17px/hdf_49.png new file mode 100644 index 00000000..66a4e7bc Binary files /dev/null and b/extra_fonts/17px/hdf_49.png differ diff --git a/extra_fonts/17px/hdf_4a.png b/extra_fonts/17px/hdf_4a.png new file mode 100644 index 00000000..5e27be11 Binary files /dev/null and b/extra_fonts/17px/hdf_4a.png differ diff --git a/extra_fonts/17px/hdf_4b.png b/extra_fonts/17px/hdf_4b.png new file mode 100644 index 00000000..c0e0e285 Binary files /dev/null and b/extra_fonts/17px/hdf_4b.png differ diff --git a/extra_fonts/17px/hdf_4c.png b/extra_fonts/17px/hdf_4c.png new file mode 100644 index 00000000..c93b69e9 Binary files /dev/null and b/extra_fonts/17px/hdf_4c.png differ diff --git a/extra_fonts/17px/hdf_4d.png b/extra_fonts/17px/hdf_4d.png new file mode 100644 index 00000000..f6f9328c Binary files /dev/null and b/extra_fonts/17px/hdf_4d.png differ diff --git a/extra_fonts/17px/hdf_4e.png b/extra_fonts/17px/hdf_4e.png new file mode 100644 index 00000000..d2f0123a Binary files /dev/null and b/extra_fonts/17px/hdf_4e.png differ diff --git a/extra_fonts/17px/hdf_4f.png b/extra_fonts/17px/hdf_4f.png new file mode 100644 index 00000000..83eeadf4 Binary files /dev/null and b/extra_fonts/17px/hdf_4f.png differ diff --git a/extra_fonts/17px/hdf_50.png b/extra_fonts/17px/hdf_50.png new file mode 100644 index 00000000..359b3eef Binary files /dev/null and b/extra_fonts/17px/hdf_50.png differ diff --git a/extra_fonts/17px/hdf_51.png b/extra_fonts/17px/hdf_51.png new file mode 100644 index 00000000..0033b73b Binary files /dev/null and b/extra_fonts/17px/hdf_51.png differ diff --git a/extra_fonts/17px/hdf_52.png b/extra_fonts/17px/hdf_52.png new file mode 100644 index 00000000..07c019ee Binary files /dev/null and b/extra_fonts/17px/hdf_52.png differ diff --git a/extra_fonts/17px/hdf_53.png b/extra_fonts/17px/hdf_53.png new file mode 100644 index 00000000..5c719a6b Binary files /dev/null and b/extra_fonts/17px/hdf_53.png differ diff --git a/extra_fonts/17px/hdf_54.png b/extra_fonts/17px/hdf_54.png new file mode 100644 index 00000000..a57eada2 Binary files /dev/null and b/extra_fonts/17px/hdf_54.png differ diff --git a/extra_fonts/17px/hdf_55.png b/extra_fonts/17px/hdf_55.png new file mode 100644 index 00000000..85f843e1 Binary files /dev/null and b/extra_fonts/17px/hdf_55.png differ diff --git a/extra_fonts/17px/hdf_56.png b/extra_fonts/17px/hdf_56.png new file mode 100644 index 00000000..ede2174b Binary files /dev/null and b/extra_fonts/17px/hdf_56.png differ diff --git a/extra_fonts/17px/hdf_57.png b/extra_fonts/17px/hdf_57.png new file mode 100644 index 00000000..34ddccf8 Binary files /dev/null and b/extra_fonts/17px/hdf_57.png differ diff --git a/extra_fonts/17px/hdf_58.png b/extra_fonts/17px/hdf_58.png new file mode 100644 index 00000000..44a11ba4 Binary files /dev/null and b/extra_fonts/17px/hdf_58.png differ diff --git a/extra_fonts/17px/hdf_59.png b/extra_fonts/17px/hdf_59.png new file mode 100644 index 00000000..8e96ed26 Binary files /dev/null and b/extra_fonts/17px/hdf_59.png differ diff --git a/extra_fonts/17px/hdf_5a.png b/extra_fonts/17px/hdf_5a.png new file mode 100644 index 00000000..ed052236 Binary files /dev/null and b/extra_fonts/17px/hdf_5a.png differ diff --git a/extra_fonts/17px/hdf_5b.png b/extra_fonts/17px/hdf_5b.png new file mode 100644 index 00000000..c60f6400 Binary files /dev/null and b/extra_fonts/17px/hdf_5b.png differ diff --git a/extra_fonts/17px/hdf_5c.png b/extra_fonts/17px/hdf_5c.png new file mode 100644 index 00000000..6acbcb58 Binary files /dev/null and b/extra_fonts/17px/hdf_5c.png differ diff --git a/extra_fonts/17px/hdf_5d.png b/extra_fonts/17px/hdf_5d.png new file mode 100644 index 00000000..225450ae Binary files /dev/null and b/extra_fonts/17px/hdf_5d.png differ diff --git a/extra_fonts/17px/hdf_5e.png b/extra_fonts/17px/hdf_5e.png new file mode 100644 index 00000000..b60f84bb Binary files /dev/null and b/extra_fonts/17px/hdf_5e.png differ diff --git a/extra_fonts/17px/hdf_5f.png b/extra_fonts/17px/hdf_5f.png new file mode 100644 index 00000000..ff970f2e Binary files /dev/null and b/extra_fonts/17px/hdf_5f.png differ diff --git a/extra_fonts/17px/hdf_60.png b/extra_fonts/17px/hdf_60.png new file mode 100644 index 00000000..c76b1b03 Binary files /dev/null and b/extra_fonts/17px/hdf_60.png differ diff --git a/extra_fonts/17px/hdf_61.png b/extra_fonts/17px/hdf_61.png new file mode 100644 index 00000000..209cf87e Binary files /dev/null and b/extra_fonts/17px/hdf_61.png differ diff --git a/extra_fonts/17px/hdf_62.png b/extra_fonts/17px/hdf_62.png new file mode 100644 index 00000000..62c2335e Binary files /dev/null and b/extra_fonts/17px/hdf_62.png differ diff --git a/extra_fonts/17px/hdf_63.png b/extra_fonts/17px/hdf_63.png new file mode 100644 index 00000000..deb4e416 Binary files /dev/null and b/extra_fonts/17px/hdf_63.png differ diff --git a/extra_fonts/17px/hdf_64.png b/extra_fonts/17px/hdf_64.png new file mode 100644 index 00000000..349935da Binary files /dev/null and b/extra_fonts/17px/hdf_64.png differ diff --git a/extra_fonts/17px/hdf_65.png b/extra_fonts/17px/hdf_65.png new file mode 100644 index 00000000..71fd1c05 Binary files /dev/null and b/extra_fonts/17px/hdf_65.png differ diff --git a/extra_fonts/17px/hdf_66.png b/extra_fonts/17px/hdf_66.png new file mode 100644 index 00000000..b111fd89 Binary files /dev/null and b/extra_fonts/17px/hdf_66.png differ diff --git a/extra_fonts/17px/hdf_67.png b/extra_fonts/17px/hdf_67.png new file mode 100644 index 00000000..d46ac645 Binary files /dev/null and b/extra_fonts/17px/hdf_67.png differ diff --git a/extra_fonts/17px/hdf_68.png b/extra_fonts/17px/hdf_68.png new file mode 100644 index 00000000..3aa9ac3a Binary files /dev/null and b/extra_fonts/17px/hdf_68.png differ diff --git a/extra_fonts/17px/hdf_69.png b/extra_fonts/17px/hdf_69.png new file mode 100644 index 00000000..37c9efbd Binary files /dev/null and b/extra_fonts/17px/hdf_69.png differ diff --git a/extra_fonts/17px/hdf_6a.png b/extra_fonts/17px/hdf_6a.png new file mode 100644 index 00000000..2ffa17fc Binary files /dev/null and b/extra_fonts/17px/hdf_6a.png differ diff --git a/extra_fonts/17px/hdf_6b.png b/extra_fonts/17px/hdf_6b.png new file mode 100644 index 00000000..4fbfa3a3 Binary files /dev/null and b/extra_fonts/17px/hdf_6b.png differ diff --git a/extra_fonts/17px/hdf_6c.png b/extra_fonts/17px/hdf_6c.png new file mode 100644 index 00000000..66a4e7bc Binary files /dev/null and b/extra_fonts/17px/hdf_6c.png differ diff --git a/extra_fonts/17px/hdf_6d.png b/extra_fonts/17px/hdf_6d.png new file mode 100644 index 00000000..8476fd8f Binary files /dev/null and b/extra_fonts/17px/hdf_6d.png differ diff --git a/extra_fonts/17px/hdf_6e.png b/extra_fonts/17px/hdf_6e.png new file mode 100644 index 00000000..59416e6f Binary files /dev/null and b/extra_fonts/17px/hdf_6e.png differ diff --git a/extra_fonts/17px/hdf_6f.png b/extra_fonts/17px/hdf_6f.png new file mode 100644 index 00000000..f53d0c2b Binary files /dev/null and b/extra_fonts/17px/hdf_6f.png differ diff --git a/extra_fonts/17px/hdf_70.png b/extra_fonts/17px/hdf_70.png new file mode 100644 index 00000000..02d47df1 Binary files /dev/null and b/extra_fonts/17px/hdf_70.png differ diff --git a/extra_fonts/17px/hdf_71.png b/extra_fonts/17px/hdf_71.png new file mode 100644 index 00000000..5de62070 Binary files /dev/null and b/extra_fonts/17px/hdf_71.png differ diff --git a/extra_fonts/17px/hdf_72.png b/extra_fonts/17px/hdf_72.png new file mode 100644 index 00000000..7d57396f Binary files /dev/null and b/extra_fonts/17px/hdf_72.png differ diff --git a/extra_fonts/17px/hdf_73.png b/extra_fonts/17px/hdf_73.png new file mode 100644 index 00000000..f1508f03 Binary files /dev/null and b/extra_fonts/17px/hdf_73.png differ diff --git a/extra_fonts/17px/hdf_74.png b/extra_fonts/17px/hdf_74.png new file mode 100644 index 00000000..079be08e Binary files /dev/null and b/extra_fonts/17px/hdf_74.png differ diff --git a/extra_fonts/17px/hdf_75.png b/extra_fonts/17px/hdf_75.png new file mode 100644 index 00000000..a1a674de Binary files /dev/null and b/extra_fonts/17px/hdf_75.png differ diff --git a/extra_fonts/17px/hdf_76.png b/extra_fonts/17px/hdf_76.png new file mode 100644 index 00000000..df9d81f6 Binary files /dev/null and b/extra_fonts/17px/hdf_76.png differ diff --git a/extra_fonts/17px/hdf_77.png b/extra_fonts/17px/hdf_77.png new file mode 100644 index 00000000..ebd6907e Binary files /dev/null and b/extra_fonts/17px/hdf_77.png differ diff --git a/extra_fonts/17px/hdf_78.png b/extra_fonts/17px/hdf_78.png new file mode 100644 index 00000000..040d256e Binary files /dev/null and b/extra_fonts/17px/hdf_78.png differ diff --git a/extra_fonts/17px/hdf_79.png b/extra_fonts/17px/hdf_79.png new file mode 100644 index 00000000..f6bcdac7 Binary files /dev/null and b/extra_fonts/17px/hdf_79.png differ diff --git a/extra_fonts/17px/hdf_7a.png b/extra_fonts/17px/hdf_7a.png new file mode 100644 index 00000000..b2a6f094 Binary files /dev/null and b/extra_fonts/17px/hdf_7a.png differ diff --git a/extra_fonts/17px/hdf_7b.png b/extra_fonts/17px/hdf_7b.png new file mode 100644 index 00000000..a2b51ca1 Binary files /dev/null and b/extra_fonts/17px/hdf_7b.png differ diff --git a/extra_fonts/17px/hdf_7c.png b/extra_fonts/17px/hdf_7c.png new file mode 100644 index 00000000..e30da05d Binary files /dev/null and b/extra_fonts/17px/hdf_7c.png differ diff --git a/extra_fonts/17px/hdf_7d.png b/extra_fonts/17px/hdf_7d.png new file mode 100644 index 00000000..863eb9ee Binary files /dev/null and b/extra_fonts/17px/hdf_7d.png differ diff --git a/extra_fonts/17px/hdf_7e.png b/extra_fonts/17px/hdf_7e.png new file mode 100644 index 00000000..6210ddfd Binary files /dev/null and b/extra_fonts/17px/hdf_7e.png differ diff --git a/extra_fonts/25px/hdf_20.png b/extra_fonts/25px/hdf_20.png new file mode 100644 index 00000000..8c76195e Binary files /dev/null and b/extra_fonts/25px/hdf_20.png differ diff --git a/extra_fonts/25px/hdf_21.png b/extra_fonts/25px/hdf_21.png new file mode 100644 index 00000000..9297e3bb Binary files /dev/null and b/extra_fonts/25px/hdf_21.png differ diff --git a/extra_fonts/25px/hdf_22.png b/extra_fonts/25px/hdf_22.png new file mode 100644 index 00000000..b4a10014 Binary files /dev/null and b/extra_fonts/25px/hdf_22.png differ diff --git a/extra_fonts/25px/hdf_23.png b/extra_fonts/25px/hdf_23.png new file mode 100644 index 00000000..f980e442 Binary files /dev/null and b/extra_fonts/25px/hdf_23.png differ diff --git a/extra_fonts/25px/hdf_24.png b/extra_fonts/25px/hdf_24.png new file mode 100644 index 00000000..c4597d8a Binary files /dev/null and b/extra_fonts/25px/hdf_24.png differ diff --git a/extra_fonts/25px/hdf_25.png b/extra_fonts/25px/hdf_25.png new file mode 100644 index 00000000..eac937fa Binary files /dev/null and b/extra_fonts/25px/hdf_25.png differ diff --git a/extra_fonts/25px/hdf_26.png b/extra_fonts/25px/hdf_26.png new file mode 100644 index 00000000..4780ab62 Binary files /dev/null and b/extra_fonts/25px/hdf_26.png differ diff --git a/extra_fonts/25px/hdf_27.png b/extra_fonts/25px/hdf_27.png new file mode 100644 index 00000000..3cc81b36 Binary files /dev/null and b/extra_fonts/25px/hdf_27.png differ diff --git a/extra_fonts/25px/hdf_28.png b/extra_fonts/25px/hdf_28.png new file mode 100644 index 00000000..b3e29ce0 Binary files /dev/null and b/extra_fonts/25px/hdf_28.png differ diff --git a/extra_fonts/25px/hdf_29.png b/extra_fonts/25px/hdf_29.png new file mode 100644 index 00000000..a15ec7f7 Binary files /dev/null and b/extra_fonts/25px/hdf_29.png differ diff --git a/extra_fonts/25px/hdf_2a.png b/extra_fonts/25px/hdf_2a.png new file mode 100644 index 00000000..61b259b2 Binary files /dev/null and b/extra_fonts/25px/hdf_2a.png differ diff --git a/extra_fonts/25px/hdf_2b.png b/extra_fonts/25px/hdf_2b.png new file mode 100644 index 00000000..cd52ba22 Binary files /dev/null and b/extra_fonts/25px/hdf_2b.png differ diff --git a/extra_fonts/25px/hdf_2c.png b/extra_fonts/25px/hdf_2c.png new file mode 100644 index 00000000..ae157931 Binary files /dev/null and b/extra_fonts/25px/hdf_2c.png differ diff --git a/extra_fonts/25px/hdf_2d.png b/extra_fonts/25px/hdf_2d.png new file mode 100644 index 00000000..b34f8a55 Binary files /dev/null and b/extra_fonts/25px/hdf_2d.png differ diff --git a/extra_fonts/25px/hdf_2e.png b/extra_fonts/25px/hdf_2e.png new file mode 100644 index 00000000..1a75212f Binary files /dev/null and b/extra_fonts/25px/hdf_2e.png differ diff --git a/extra_fonts/25px/hdf_2f.png b/extra_fonts/25px/hdf_2f.png new file mode 100644 index 00000000..e23ec917 Binary files /dev/null and b/extra_fonts/25px/hdf_2f.png differ diff --git a/extra_fonts/25px/hdf_30.png b/extra_fonts/25px/hdf_30.png new file mode 100644 index 00000000..26638d53 Binary files /dev/null and b/extra_fonts/25px/hdf_30.png differ diff --git a/extra_fonts/25px/hdf_31.png b/extra_fonts/25px/hdf_31.png new file mode 100644 index 00000000..ea129c17 Binary files /dev/null and b/extra_fonts/25px/hdf_31.png differ diff --git a/extra_fonts/25px/hdf_32.png b/extra_fonts/25px/hdf_32.png new file mode 100644 index 00000000..43f5937a Binary files /dev/null and b/extra_fonts/25px/hdf_32.png differ diff --git a/extra_fonts/25px/hdf_33.png b/extra_fonts/25px/hdf_33.png new file mode 100644 index 00000000..e8108fc1 Binary files /dev/null and b/extra_fonts/25px/hdf_33.png differ diff --git a/extra_fonts/25px/hdf_34.png b/extra_fonts/25px/hdf_34.png new file mode 100644 index 00000000..ba2766cc Binary files /dev/null and b/extra_fonts/25px/hdf_34.png differ diff --git a/extra_fonts/25px/hdf_35.png b/extra_fonts/25px/hdf_35.png new file mode 100644 index 00000000..f27f355c Binary files /dev/null and b/extra_fonts/25px/hdf_35.png differ diff --git a/extra_fonts/25px/hdf_36.png b/extra_fonts/25px/hdf_36.png new file mode 100644 index 00000000..d4287c5f Binary files /dev/null and b/extra_fonts/25px/hdf_36.png differ diff --git a/extra_fonts/25px/hdf_37.png b/extra_fonts/25px/hdf_37.png new file mode 100644 index 00000000..742287dc Binary files /dev/null and b/extra_fonts/25px/hdf_37.png differ diff --git a/extra_fonts/25px/hdf_38.png b/extra_fonts/25px/hdf_38.png new file mode 100644 index 00000000..7c326d85 Binary files /dev/null and b/extra_fonts/25px/hdf_38.png differ diff --git a/extra_fonts/25px/hdf_39.png b/extra_fonts/25px/hdf_39.png new file mode 100644 index 00000000..543654be Binary files /dev/null and b/extra_fonts/25px/hdf_39.png differ diff --git a/extra_fonts/25px/hdf_3a.png b/extra_fonts/25px/hdf_3a.png new file mode 100644 index 00000000..b8202bc6 Binary files /dev/null and b/extra_fonts/25px/hdf_3a.png differ diff --git a/extra_fonts/25px/hdf_3b.png b/extra_fonts/25px/hdf_3b.png new file mode 100644 index 00000000..b5dc2b32 Binary files /dev/null and b/extra_fonts/25px/hdf_3b.png differ diff --git a/extra_fonts/25px/hdf_3c.png b/extra_fonts/25px/hdf_3c.png new file mode 100644 index 00000000..a5fb5978 Binary files /dev/null and b/extra_fonts/25px/hdf_3c.png differ diff --git a/extra_fonts/25px/hdf_3d.png b/extra_fonts/25px/hdf_3d.png new file mode 100644 index 00000000..ce46cdaa Binary files /dev/null and b/extra_fonts/25px/hdf_3d.png differ diff --git a/extra_fonts/25px/hdf_3e.png b/extra_fonts/25px/hdf_3e.png new file mode 100644 index 00000000..890c4f2e Binary files /dev/null and b/extra_fonts/25px/hdf_3e.png differ diff --git a/extra_fonts/25px/hdf_3f.png b/extra_fonts/25px/hdf_3f.png new file mode 100644 index 00000000..4f11d402 Binary files /dev/null and b/extra_fonts/25px/hdf_3f.png differ diff --git a/extra_fonts/25px/hdf_40.png b/extra_fonts/25px/hdf_40.png new file mode 100644 index 00000000..14823b96 Binary files /dev/null and b/extra_fonts/25px/hdf_40.png differ diff --git a/extra_fonts/25px/hdf_41.png b/extra_fonts/25px/hdf_41.png new file mode 100644 index 00000000..1b80fb89 Binary files /dev/null and b/extra_fonts/25px/hdf_41.png differ diff --git a/extra_fonts/25px/hdf_42.png b/extra_fonts/25px/hdf_42.png new file mode 100644 index 00000000..a09edf1e Binary files /dev/null and b/extra_fonts/25px/hdf_42.png differ diff --git a/extra_fonts/25px/hdf_43.png b/extra_fonts/25px/hdf_43.png new file mode 100644 index 00000000..67ad9815 Binary files /dev/null and b/extra_fonts/25px/hdf_43.png differ diff --git a/extra_fonts/25px/hdf_44.png b/extra_fonts/25px/hdf_44.png new file mode 100644 index 00000000..56441d88 Binary files /dev/null and b/extra_fonts/25px/hdf_44.png differ diff --git a/extra_fonts/25px/hdf_45.png b/extra_fonts/25px/hdf_45.png new file mode 100644 index 00000000..2fc762c5 Binary files /dev/null and b/extra_fonts/25px/hdf_45.png differ diff --git a/extra_fonts/25px/hdf_46.png b/extra_fonts/25px/hdf_46.png new file mode 100644 index 00000000..5874e1a2 Binary files /dev/null and b/extra_fonts/25px/hdf_46.png differ diff --git a/extra_fonts/25px/hdf_47.png b/extra_fonts/25px/hdf_47.png new file mode 100644 index 00000000..3f6de61e Binary files /dev/null and b/extra_fonts/25px/hdf_47.png differ diff --git a/extra_fonts/25px/hdf_48.png b/extra_fonts/25px/hdf_48.png new file mode 100644 index 00000000..ba48938a Binary files /dev/null and b/extra_fonts/25px/hdf_48.png differ diff --git a/extra_fonts/25px/hdf_49.png b/extra_fonts/25px/hdf_49.png new file mode 100644 index 00000000..574d7c8d Binary files /dev/null and b/extra_fonts/25px/hdf_49.png differ diff --git a/extra_fonts/25px/hdf_4a.png b/extra_fonts/25px/hdf_4a.png new file mode 100644 index 00000000..ee23e1fa Binary files /dev/null and b/extra_fonts/25px/hdf_4a.png differ diff --git a/extra_fonts/25px/hdf_4b.png b/extra_fonts/25px/hdf_4b.png new file mode 100644 index 00000000..c377503f Binary files /dev/null and b/extra_fonts/25px/hdf_4b.png differ diff --git a/extra_fonts/25px/hdf_4c.png b/extra_fonts/25px/hdf_4c.png new file mode 100644 index 00000000..e8eefacd Binary files /dev/null and b/extra_fonts/25px/hdf_4c.png differ diff --git a/extra_fonts/25px/hdf_4d.png b/extra_fonts/25px/hdf_4d.png new file mode 100644 index 00000000..876724cd Binary files /dev/null and b/extra_fonts/25px/hdf_4d.png differ diff --git a/extra_fonts/25px/hdf_4e.png b/extra_fonts/25px/hdf_4e.png new file mode 100644 index 00000000..147be4b8 Binary files /dev/null and b/extra_fonts/25px/hdf_4e.png differ diff --git a/extra_fonts/25px/hdf_4f.png b/extra_fonts/25px/hdf_4f.png new file mode 100644 index 00000000..cabd4df7 Binary files /dev/null and b/extra_fonts/25px/hdf_4f.png differ diff --git a/extra_fonts/25px/hdf_50.png b/extra_fonts/25px/hdf_50.png new file mode 100644 index 00000000..e3cfddd2 Binary files /dev/null and b/extra_fonts/25px/hdf_50.png differ diff --git a/extra_fonts/25px/hdf_51.png b/extra_fonts/25px/hdf_51.png new file mode 100644 index 00000000..6f101d76 Binary files /dev/null and b/extra_fonts/25px/hdf_51.png differ diff --git a/extra_fonts/25px/hdf_52.png b/extra_fonts/25px/hdf_52.png new file mode 100644 index 00000000..c1beb324 Binary files /dev/null and b/extra_fonts/25px/hdf_52.png differ diff --git a/extra_fonts/25px/hdf_53.png b/extra_fonts/25px/hdf_53.png new file mode 100644 index 00000000..602d65e7 Binary files /dev/null and b/extra_fonts/25px/hdf_53.png differ diff --git a/extra_fonts/25px/hdf_54.png b/extra_fonts/25px/hdf_54.png new file mode 100644 index 00000000..01ab880e Binary files /dev/null and b/extra_fonts/25px/hdf_54.png differ diff --git a/extra_fonts/25px/hdf_55.png b/extra_fonts/25px/hdf_55.png new file mode 100644 index 00000000..b4b60c48 Binary files /dev/null and b/extra_fonts/25px/hdf_55.png differ diff --git a/extra_fonts/25px/hdf_56.png b/extra_fonts/25px/hdf_56.png new file mode 100644 index 00000000..afb698d1 Binary files /dev/null and b/extra_fonts/25px/hdf_56.png differ diff --git a/extra_fonts/25px/hdf_57.png b/extra_fonts/25px/hdf_57.png new file mode 100644 index 00000000..98704450 Binary files /dev/null and b/extra_fonts/25px/hdf_57.png differ diff --git a/extra_fonts/25px/hdf_58.png b/extra_fonts/25px/hdf_58.png new file mode 100644 index 00000000..63d1d043 Binary files /dev/null and b/extra_fonts/25px/hdf_58.png differ diff --git a/extra_fonts/25px/hdf_59.png b/extra_fonts/25px/hdf_59.png new file mode 100644 index 00000000..38c401e4 Binary files /dev/null and b/extra_fonts/25px/hdf_59.png differ diff --git a/extra_fonts/25px/hdf_5a.png b/extra_fonts/25px/hdf_5a.png new file mode 100644 index 00000000..02619822 Binary files /dev/null and b/extra_fonts/25px/hdf_5a.png differ diff --git a/extra_fonts/25px/hdf_5b.png b/extra_fonts/25px/hdf_5b.png new file mode 100644 index 00000000..d1853fb7 Binary files /dev/null and b/extra_fonts/25px/hdf_5b.png differ diff --git a/extra_fonts/25px/hdf_5c.png b/extra_fonts/25px/hdf_5c.png new file mode 100644 index 00000000..22855260 Binary files /dev/null and b/extra_fonts/25px/hdf_5c.png differ diff --git a/extra_fonts/25px/hdf_5d.png b/extra_fonts/25px/hdf_5d.png new file mode 100644 index 00000000..3ca56354 Binary files /dev/null and b/extra_fonts/25px/hdf_5d.png differ diff --git a/extra_fonts/25px/hdf_5e.png b/extra_fonts/25px/hdf_5e.png new file mode 100644 index 00000000..8e9692f0 Binary files /dev/null and b/extra_fonts/25px/hdf_5e.png differ diff --git a/extra_fonts/25px/hdf_5f.png b/extra_fonts/25px/hdf_5f.png new file mode 100644 index 00000000..2d37b5c4 Binary files /dev/null and b/extra_fonts/25px/hdf_5f.png differ diff --git a/extra_fonts/25px/hdf_60.png b/extra_fonts/25px/hdf_60.png new file mode 100644 index 00000000..a8ffb74e Binary files /dev/null and b/extra_fonts/25px/hdf_60.png differ diff --git a/extra_fonts/25px/hdf_61.png b/extra_fonts/25px/hdf_61.png new file mode 100644 index 00000000..4340f4e6 Binary files /dev/null and b/extra_fonts/25px/hdf_61.png differ diff --git a/extra_fonts/25px/hdf_62.png b/extra_fonts/25px/hdf_62.png new file mode 100644 index 00000000..0aca0390 Binary files /dev/null and b/extra_fonts/25px/hdf_62.png differ diff --git a/extra_fonts/25px/hdf_63.png b/extra_fonts/25px/hdf_63.png new file mode 100644 index 00000000..c1548f9b Binary files /dev/null and b/extra_fonts/25px/hdf_63.png differ diff --git a/extra_fonts/25px/hdf_64.png b/extra_fonts/25px/hdf_64.png new file mode 100644 index 00000000..604cb49d Binary files /dev/null and b/extra_fonts/25px/hdf_64.png differ diff --git a/extra_fonts/25px/hdf_65.png b/extra_fonts/25px/hdf_65.png new file mode 100644 index 00000000..976d8867 Binary files /dev/null and b/extra_fonts/25px/hdf_65.png differ diff --git a/extra_fonts/25px/hdf_66.png b/extra_fonts/25px/hdf_66.png new file mode 100644 index 00000000..2f8b324a Binary files /dev/null and b/extra_fonts/25px/hdf_66.png differ diff --git a/extra_fonts/25px/hdf_67.png b/extra_fonts/25px/hdf_67.png new file mode 100644 index 00000000..b2a6c357 Binary files /dev/null and b/extra_fonts/25px/hdf_67.png differ diff --git a/extra_fonts/25px/hdf_68.png b/extra_fonts/25px/hdf_68.png new file mode 100644 index 00000000..1fb28c1b Binary files /dev/null and b/extra_fonts/25px/hdf_68.png differ diff --git a/extra_fonts/25px/hdf_69.png b/extra_fonts/25px/hdf_69.png new file mode 100644 index 00000000..68d1c66a Binary files /dev/null and b/extra_fonts/25px/hdf_69.png differ diff --git a/extra_fonts/25px/hdf_6a.png b/extra_fonts/25px/hdf_6a.png new file mode 100644 index 00000000..ab33190e Binary files /dev/null and b/extra_fonts/25px/hdf_6a.png differ diff --git a/extra_fonts/25px/hdf_6b.png b/extra_fonts/25px/hdf_6b.png new file mode 100644 index 00000000..a453dbe8 Binary files /dev/null and b/extra_fonts/25px/hdf_6b.png differ diff --git a/extra_fonts/25px/hdf_6c.png b/extra_fonts/25px/hdf_6c.png new file mode 100644 index 00000000..574d7c8d Binary files /dev/null and b/extra_fonts/25px/hdf_6c.png differ diff --git a/extra_fonts/25px/hdf_6d.png b/extra_fonts/25px/hdf_6d.png new file mode 100644 index 00000000..4fe983a4 Binary files /dev/null and b/extra_fonts/25px/hdf_6d.png differ diff --git a/extra_fonts/25px/hdf_6e.png b/extra_fonts/25px/hdf_6e.png new file mode 100644 index 00000000..3bdd847b Binary files /dev/null and b/extra_fonts/25px/hdf_6e.png differ diff --git a/extra_fonts/25px/hdf_6f.png b/extra_fonts/25px/hdf_6f.png new file mode 100644 index 00000000..fc4a9ed0 Binary files /dev/null and b/extra_fonts/25px/hdf_6f.png differ diff --git a/extra_fonts/25px/hdf_70.png b/extra_fonts/25px/hdf_70.png new file mode 100644 index 00000000..36dbbafb Binary files /dev/null and b/extra_fonts/25px/hdf_70.png differ diff --git a/extra_fonts/25px/hdf_71.png b/extra_fonts/25px/hdf_71.png new file mode 100644 index 00000000..8242d0de Binary files /dev/null and b/extra_fonts/25px/hdf_71.png differ diff --git a/extra_fonts/25px/hdf_72.png b/extra_fonts/25px/hdf_72.png new file mode 100644 index 00000000..aca6dffe Binary files /dev/null and b/extra_fonts/25px/hdf_72.png differ diff --git a/extra_fonts/25px/hdf_73.png b/extra_fonts/25px/hdf_73.png new file mode 100644 index 00000000..290b774c Binary files /dev/null and b/extra_fonts/25px/hdf_73.png differ diff --git a/extra_fonts/25px/hdf_74.png b/extra_fonts/25px/hdf_74.png new file mode 100644 index 00000000..f4bedc7e Binary files /dev/null and b/extra_fonts/25px/hdf_74.png differ diff --git a/extra_fonts/25px/hdf_75.png b/extra_fonts/25px/hdf_75.png new file mode 100644 index 00000000..37ef4b63 Binary files /dev/null and b/extra_fonts/25px/hdf_75.png differ diff --git a/extra_fonts/25px/hdf_76.png b/extra_fonts/25px/hdf_76.png new file mode 100644 index 00000000..451ddd06 Binary files /dev/null and b/extra_fonts/25px/hdf_76.png differ diff --git a/extra_fonts/25px/hdf_77.png b/extra_fonts/25px/hdf_77.png new file mode 100644 index 00000000..6dd6305d Binary files /dev/null and b/extra_fonts/25px/hdf_77.png differ diff --git a/extra_fonts/25px/hdf_78.png b/extra_fonts/25px/hdf_78.png new file mode 100644 index 00000000..4642b257 Binary files /dev/null and b/extra_fonts/25px/hdf_78.png differ diff --git a/extra_fonts/25px/hdf_79.png b/extra_fonts/25px/hdf_79.png new file mode 100644 index 00000000..3ade9dc0 Binary files /dev/null and b/extra_fonts/25px/hdf_79.png differ diff --git a/extra_fonts/25px/hdf_7a.png b/extra_fonts/25px/hdf_7a.png new file mode 100644 index 00000000..4b79e355 Binary files /dev/null and b/extra_fonts/25px/hdf_7a.png differ diff --git a/extra_fonts/25px/hdf_7b.png b/extra_fonts/25px/hdf_7b.png new file mode 100644 index 00000000..1920832d Binary files /dev/null and b/extra_fonts/25px/hdf_7b.png differ diff --git a/extra_fonts/25px/hdf_7c.png b/extra_fonts/25px/hdf_7c.png new file mode 100644 index 00000000..9f2e7f0a Binary files /dev/null and b/extra_fonts/25px/hdf_7c.png differ diff --git a/extra_fonts/25px/hdf_7d.png b/extra_fonts/25px/hdf_7d.png new file mode 100644 index 00000000..b3172560 Binary files /dev/null and b/extra_fonts/25px/hdf_7d.png differ diff --git a/extra_fonts/25px/hdf_7e.png b/extra_fonts/25px/hdf_7e.png new file mode 100644 index 00000000..a1b5e45f Binary files /dev/null and b/extra_fonts/25px/hdf_7e.png differ diff --git a/extra_fonts/34px/hdf_20.png b/extra_fonts/34px/hdf_20.png new file mode 100644 index 00000000..752949f7 Binary files /dev/null and b/extra_fonts/34px/hdf_20.png differ diff --git a/extra_fonts/34px/hdf_21.png b/extra_fonts/34px/hdf_21.png new file mode 100644 index 00000000..4d70f5c8 Binary files /dev/null and b/extra_fonts/34px/hdf_21.png differ diff --git a/extra_fonts/34px/hdf_22.png b/extra_fonts/34px/hdf_22.png new file mode 100644 index 00000000..214363e6 Binary files /dev/null and b/extra_fonts/34px/hdf_22.png differ diff --git a/extra_fonts/34px/hdf_23.png b/extra_fonts/34px/hdf_23.png new file mode 100644 index 00000000..ba2ae09e Binary files /dev/null and b/extra_fonts/34px/hdf_23.png differ diff --git a/extra_fonts/34px/hdf_24.png b/extra_fonts/34px/hdf_24.png new file mode 100644 index 00000000..09665b08 Binary files /dev/null and b/extra_fonts/34px/hdf_24.png differ diff --git a/extra_fonts/34px/hdf_25.png b/extra_fonts/34px/hdf_25.png new file mode 100644 index 00000000..31cd93fb Binary files /dev/null and b/extra_fonts/34px/hdf_25.png differ diff --git a/extra_fonts/34px/hdf_26.png b/extra_fonts/34px/hdf_26.png new file mode 100644 index 00000000..66838ee9 Binary files /dev/null and b/extra_fonts/34px/hdf_26.png differ diff --git a/extra_fonts/34px/hdf_27.png b/extra_fonts/34px/hdf_27.png new file mode 100644 index 00000000..3cc918dc Binary files /dev/null and b/extra_fonts/34px/hdf_27.png differ diff --git a/extra_fonts/34px/hdf_28.png b/extra_fonts/34px/hdf_28.png new file mode 100644 index 00000000..5fde8aaf Binary files /dev/null and b/extra_fonts/34px/hdf_28.png differ diff --git a/extra_fonts/34px/hdf_29.png b/extra_fonts/34px/hdf_29.png new file mode 100644 index 00000000..2f2f7acc Binary files /dev/null and b/extra_fonts/34px/hdf_29.png differ diff --git a/extra_fonts/34px/hdf_2a.png b/extra_fonts/34px/hdf_2a.png new file mode 100644 index 00000000..36d4b22b Binary files /dev/null and b/extra_fonts/34px/hdf_2a.png differ diff --git a/extra_fonts/34px/hdf_2b.png b/extra_fonts/34px/hdf_2b.png new file mode 100644 index 00000000..40ec7ce0 Binary files /dev/null and b/extra_fonts/34px/hdf_2b.png differ diff --git a/extra_fonts/34px/hdf_2c.png b/extra_fonts/34px/hdf_2c.png new file mode 100644 index 00000000..a2de0416 Binary files /dev/null and b/extra_fonts/34px/hdf_2c.png differ diff --git a/extra_fonts/34px/hdf_2d.png b/extra_fonts/34px/hdf_2d.png new file mode 100644 index 00000000..e980a2dd Binary files /dev/null and b/extra_fonts/34px/hdf_2d.png differ diff --git a/extra_fonts/34px/hdf_2e.png b/extra_fonts/34px/hdf_2e.png new file mode 100644 index 00000000..46ff3f90 Binary files /dev/null and b/extra_fonts/34px/hdf_2e.png differ diff --git a/extra_fonts/34px/hdf_2f.png b/extra_fonts/34px/hdf_2f.png new file mode 100644 index 00000000..285114a1 Binary files /dev/null and b/extra_fonts/34px/hdf_2f.png differ diff --git a/extra_fonts/34px/hdf_30.png b/extra_fonts/34px/hdf_30.png new file mode 100644 index 00000000..93bb7dc7 Binary files /dev/null and b/extra_fonts/34px/hdf_30.png differ diff --git a/extra_fonts/34px/hdf_31.png b/extra_fonts/34px/hdf_31.png new file mode 100644 index 00000000..18c7b2e7 Binary files /dev/null and b/extra_fonts/34px/hdf_31.png differ diff --git a/extra_fonts/34px/hdf_32.png b/extra_fonts/34px/hdf_32.png new file mode 100644 index 00000000..f59f9c0f Binary files /dev/null and b/extra_fonts/34px/hdf_32.png differ diff --git a/extra_fonts/34px/hdf_33.png b/extra_fonts/34px/hdf_33.png new file mode 100644 index 00000000..48530bb6 Binary files /dev/null and b/extra_fonts/34px/hdf_33.png differ diff --git a/extra_fonts/34px/hdf_34.png b/extra_fonts/34px/hdf_34.png new file mode 100644 index 00000000..40456e58 Binary files /dev/null and b/extra_fonts/34px/hdf_34.png differ diff --git a/extra_fonts/34px/hdf_35.png b/extra_fonts/34px/hdf_35.png new file mode 100644 index 00000000..6372710d Binary files /dev/null and b/extra_fonts/34px/hdf_35.png differ diff --git a/extra_fonts/34px/hdf_36.png b/extra_fonts/34px/hdf_36.png new file mode 100644 index 00000000..6c5aad90 Binary files /dev/null and b/extra_fonts/34px/hdf_36.png differ diff --git a/extra_fonts/34px/hdf_37.png b/extra_fonts/34px/hdf_37.png new file mode 100644 index 00000000..33b9a2dd Binary files /dev/null and b/extra_fonts/34px/hdf_37.png differ diff --git a/extra_fonts/34px/hdf_38.png b/extra_fonts/34px/hdf_38.png new file mode 100644 index 00000000..f4e6bd29 Binary files /dev/null and b/extra_fonts/34px/hdf_38.png differ diff --git a/extra_fonts/34px/hdf_39.png b/extra_fonts/34px/hdf_39.png new file mode 100644 index 00000000..13f01686 Binary files /dev/null and b/extra_fonts/34px/hdf_39.png differ diff --git a/extra_fonts/34px/hdf_3a.png b/extra_fonts/34px/hdf_3a.png new file mode 100644 index 00000000..7a57dbfa Binary files /dev/null and b/extra_fonts/34px/hdf_3a.png differ diff --git a/extra_fonts/34px/hdf_3b.png b/extra_fonts/34px/hdf_3b.png new file mode 100644 index 00000000..0d2802fc Binary files /dev/null and b/extra_fonts/34px/hdf_3b.png differ diff --git a/extra_fonts/34px/hdf_3c.png b/extra_fonts/34px/hdf_3c.png new file mode 100644 index 00000000..42023509 Binary files /dev/null and b/extra_fonts/34px/hdf_3c.png differ diff --git a/extra_fonts/34px/hdf_3d.png b/extra_fonts/34px/hdf_3d.png new file mode 100644 index 00000000..48a34ef7 Binary files /dev/null and b/extra_fonts/34px/hdf_3d.png differ diff --git a/extra_fonts/34px/hdf_3e.png b/extra_fonts/34px/hdf_3e.png new file mode 100644 index 00000000..1e8985fb Binary files /dev/null and b/extra_fonts/34px/hdf_3e.png differ diff --git a/extra_fonts/34px/hdf_3f.png b/extra_fonts/34px/hdf_3f.png new file mode 100644 index 00000000..29ab0bbe Binary files /dev/null and b/extra_fonts/34px/hdf_3f.png differ diff --git a/extra_fonts/34px/hdf_40.png b/extra_fonts/34px/hdf_40.png new file mode 100644 index 00000000..01c1d63b Binary files /dev/null and b/extra_fonts/34px/hdf_40.png differ diff --git a/extra_fonts/34px/hdf_41.png b/extra_fonts/34px/hdf_41.png new file mode 100644 index 00000000..b909b2c0 Binary files /dev/null and b/extra_fonts/34px/hdf_41.png differ diff --git a/extra_fonts/34px/hdf_42.png b/extra_fonts/34px/hdf_42.png new file mode 100644 index 00000000..73f412c7 Binary files /dev/null and b/extra_fonts/34px/hdf_42.png differ diff --git a/extra_fonts/34px/hdf_43.png b/extra_fonts/34px/hdf_43.png new file mode 100644 index 00000000..debeafe8 Binary files /dev/null and b/extra_fonts/34px/hdf_43.png differ diff --git a/extra_fonts/34px/hdf_44.png b/extra_fonts/34px/hdf_44.png new file mode 100644 index 00000000..3040791b Binary files /dev/null and b/extra_fonts/34px/hdf_44.png differ diff --git a/extra_fonts/34px/hdf_45.png b/extra_fonts/34px/hdf_45.png new file mode 100644 index 00000000..8238d84c Binary files /dev/null and b/extra_fonts/34px/hdf_45.png differ diff --git a/extra_fonts/34px/hdf_46.png b/extra_fonts/34px/hdf_46.png new file mode 100644 index 00000000..e651ddbd Binary files /dev/null and b/extra_fonts/34px/hdf_46.png differ diff --git a/extra_fonts/34px/hdf_47.png b/extra_fonts/34px/hdf_47.png new file mode 100644 index 00000000..f54a4bd5 Binary files /dev/null and b/extra_fonts/34px/hdf_47.png differ diff --git a/extra_fonts/34px/hdf_48.png b/extra_fonts/34px/hdf_48.png new file mode 100644 index 00000000..6071f315 Binary files /dev/null and b/extra_fonts/34px/hdf_48.png differ diff --git a/extra_fonts/34px/hdf_49.png b/extra_fonts/34px/hdf_49.png new file mode 100644 index 00000000..6867c5a4 Binary files /dev/null and b/extra_fonts/34px/hdf_49.png differ diff --git a/extra_fonts/34px/hdf_4a.png b/extra_fonts/34px/hdf_4a.png new file mode 100644 index 00000000..8a018f48 Binary files /dev/null and b/extra_fonts/34px/hdf_4a.png differ diff --git a/extra_fonts/34px/hdf_4b.png b/extra_fonts/34px/hdf_4b.png new file mode 100644 index 00000000..2cb66f6e Binary files /dev/null and b/extra_fonts/34px/hdf_4b.png differ diff --git a/extra_fonts/34px/hdf_4c.png b/extra_fonts/34px/hdf_4c.png new file mode 100644 index 00000000..aa7ee986 Binary files /dev/null and b/extra_fonts/34px/hdf_4c.png differ diff --git a/extra_fonts/34px/hdf_4d.png b/extra_fonts/34px/hdf_4d.png new file mode 100644 index 00000000..ff86a669 Binary files /dev/null and b/extra_fonts/34px/hdf_4d.png differ diff --git a/extra_fonts/34px/hdf_4e.png b/extra_fonts/34px/hdf_4e.png new file mode 100644 index 00000000..83ed5db9 Binary files /dev/null and b/extra_fonts/34px/hdf_4e.png differ diff --git a/extra_fonts/34px/hdf_4f.png b/extra_fonts/34px/hdf_4f.png new file mode 100644 index 00000000..3ed1bf45 Binary files /dev/null and b/extra_fonts/34px/hdf_4f.png differ diff --git a/extra_fonts/34px/hdf_50.png b/extra_fonts/34px/hdf_50.png new file mode 100644 index 00000000..5f69a4a6 Binary files /dev/null and b/extra_fonts/34px/hdf_50.png differ diff --git a/extra_fonts/34px/hdf_51.png b/extra_fonts/34px/hdf_51.png new file mode 100644 index 00000000..c24bb6dc Binary files /dev/null and b/extra_fonts/34px/hdf_51.png differ diff --git a/extra_fonts/34px/hdf_52.png b/extra_fonts/34px/hdf_52.png new file mode 100644 index 00000000..c0df1072 Binary files /dev/null and b/extra_fonts/34px/hdf_52.png differ diff --git a/extra_fonts/34px/hdf_53.png b/extra_fonts/34px/hdf_53.png new file mode 100644 index 00000000..7faf62c6 Binary files /dev/null and b/extra_fonts/34px/hdf_53.png differ diff --git a/extra_fonts/34px/hdf_54.png b/extra_fonts/34px/hdf_54.png new file mode 100644 index 00000000..2c55be02 Binary files /dev/null and b/extra_fonts/34px/hdf_54.png differ diff --git a/extra_fonts/34px/hdf_55.png b/extra_fonts/34px/hdf_55.png new file mode 100644 index 00000000..841bfe9c Binary files /dev/null and b/extra_fonts/34px/hdf_55.png differ diff --git a/extra_fonts/34px/hdf_56.png b/extra_fonts/34px/hdf_56.png new file mode 100644 index 00000000..8a3f509a Binary files /dev/null and b/extra_fonts/34px/hdf_56.png differ diff --git a/extra_fonts/34px/hdf_57.png b/extra_fonts/34px/hdf_57.png new file mode 100644 index 00000000..d3500c0d Binary files /dev/null and b/extra_fonts/34px/hdf_57.png differ diff --git a/extra_fonts/34px/hdf_58.png b/extra_fonts/34px/hdf_58.png new file mode 100644 index 00000000..234e90cb Binary files /dev/null and b/extra_fonts/34px/hdf_58.png differ diff --git a/extra_fonts/34px/hdf_59.png b/extra_fonts/34px/hdf_59.png new file mode 100644 index 00000000..d6a66eb3 Binary files /dev/null and b/extra_fonts/34px/hdf_59.png differ diff --git a/extra_fonts/34px/hdf_5a.png b/extra_fonts/34px/hdf_5a.png new file mode 100644 index 00000000..ff5fa4db Binary files /dev/null and b/extra_fonts/34px/hdf_5a.png differ diff --git a/extra_fonts/34px/hdf_5b.png b/extra_fonts/34px/hdf_5b.png new file mode 100644 index 00000000..6328f654 Binary files /dev/null and b/extra_fonts/34px/hdf_5b.png differ diff --git a/extra_fonts/34px/hdf_5c.png b/extra_fonts/34px/hdf_5c.png new file mode 100644 index 00000000..4f956aec Binary files /dev/null and b/extra_fonts/34px/hdf_5c.png differ diff --git a/extra_fonts/34px/hdf_5d.png b/extra_fonts/34px/hdf_5d.png new file mode 100644 index 00000000..0b7393c8 Binary files /dev/null and b/extra_fonts/34px/hdf_5d.png differ diff --git a/extra_fonts/34px/hdf_5e.png b/extra_fonts/34px/hdf_5e.png new file mode 100644 index 00000000..c70afe70 Binary files /dev/null and b/extra_fonts/34px/hdf_5e.png differ diff --git a/extra_fonts/34px/hdf_5f.png b/extra_fonts/34px/hdf_5f.png new file mode 100644 index 00000000..90e1a195 Binary files /dev/null and b/extra_fonts/34px/hdf_5f.png differ diff --git a/extra_fonts/34px/hdf_60.png b/extra_fonts/34px/hdf_60.png new file mode 100644 index 00000000..7c8e8ce7 Binary files /dev/null and b/extra_fonts/34px/hdf_60.png differ diff --git a/extra_fonts/34px/hdf_61.png b/extra_fonts/34px/hdf_61.png new file mode 100644 index 00000000..0c15292c Binary files /dev/null and b/extra_fonts/34px/hdf_61.png differ diff --git a/extra_fonts/34px/hdf_62.png b/extra_fonts/34px/hdf_62.png new file mode 100644 index 00000000..f9499bac Binary files /dev/null and b/extra_fonts/34px/hdf_62.png differ diff --git a/extra_fonts/34px/hdf_63.png b/extra_fonts/34px/hdf_63.png new file mode 100644 index 00000000..bb52b16d Binary files /dev/null and b/extra_fonts/34px/hdf_63.png differ diff --git a/extra_fonts/34px/hdf_64.png b/extra_fonts/34px/hdf_64.png new file mode 100644 index 00000000..85c003d0 Binary files /dev/null and b/extra_fonts/34px/hdf_64.png differ diff --git a/extra_fonts/34px/hdf_65.png b/extra_fonts/34px/hdf_65.png new file mode 100644 index 00000000..6b61c0f4 Binary files /dev/null and b/extra_fonts/34px/hdf_65.png differ diff --git a/extra_fonts/34px/hdf_66.png b/extra_fonts/34px/hdf_66.png new file mode 100644 index 00000000..9492ade4 Binary files /dev/null and b/extra_fonts/34px/hdf_66.png differ diff --git a/extra_fonts/34px/hdf_67.png b/extra_fonts/34px/hdf_67.png new file mode 100644 index 00000000..3b9279af Binary files /dev/null and b/extra_fonts/34px/hdf_67.png differ diff --git a/extra_fonts/34px/hdf_68.png b/extra_fonts/34px/hdf_68.png new file mode 100644 index 00000000..661a220c Binary files /dev/null and b/extra_fonts/34px/hdf_68.png differ diff --git a/extra_fonts/34px/hdf_69.png b/extra_fonts/34px/hdf_69.png new file mode 100644 index 00000000..e8ade54d Binary files /dev/null and b/extra_fonts/34px/hdf_69.png differ diff --git a/extra_fonts/34px/hdf_6a.png b/extra_fonts/34px/hdf_6a.png new file mode 100644 index 00000000..29db79c3 Binary files /dev/null and b/extra_fonts/34px/hdf_6a.png differ diff --git a/extra_fonts/34px/hdf_6b.png b/extra_fonts/34px/hdf_6b.png new file mode 100644 index 00000000..7aba84f0 Binary files /dev/null and b/extra_fonts/34px/hdf_6b.png differ diff --git a/extra_fonts/34px/hdf_6c.png b/extra_fonts/34px/hdf_6c.png new file mode 100644 index 00000000..95c9fb9c Binary files /dev/null and b/extra_fonts/34px/hdf_6c.png differ diff --git a/extra_fonts/34px/hdf_6d.png b/extra_fonts/34px/hdf_6d.png new file mode 100644 index 00000000..12b1d3b2 Binary files /dev/null and b/extra_fonts/34px/hdf_6d.png differ diff --git a/extra_fonts/34px/hdf_6e.png b/extra_fonts/34px/hdf_6e.png new file mode 100644 index 00000000..e928cbb9 Binary files /dev/null and b/extra_fonts/34px/hdf_6e.png differ diff --git a/extra_fonts/34px/hdf_6f.png b/extra_fonts/34px/hdf_6f.png new file mode 100644 index 00000000..41ac3ad9 Binary files /dev/null and b/extra_fonts/34px/hdf_6f.png differ diff --git a/extra_fonts/34px/hdf_70.png b/extra_fonts/34px/hdf_70.png new file mode 100644 index 00000000..d7da9f71 Binary files /dev/null and b/extra_fonts/34px/hdf_70.png differ diff --git a/extra_fonts/34px/hdf_71.png b/extra_fonts/34px/hdf_71.png new file mode 100644 index 00000000..13e76837 Binary files /dev/null and b/extra_fonts/34px/hdf_71.png differ diff --git a/extra_fonts/34px/hdf_72.png b/extra_fonts/34px/hdf_72.png new file mode 100644 index 00000000..d454518f Binary files /dev/null and b/extra_fonts/34px/hdf_72.png differ diff --git a/extra_fonts/34px/hdf_73.png b/extra_fonts/34px/hdf_73.png new file mode 100644 index 00000000..ff7fa9eb Binary files /dev/null and b/extra_fonts/34px/hdf_73.png differ diff --git a/extra_fonts/34px/hdf_74.png b/extra_fonts/34px/hdf_74.png new file mode 100644 index 00000000..020548fc Binary files /dev/null and b/extra_fonts/34px/hdf_74.png differ diff --git a/extra_fonts/34px/hdf_75.png b/extra_fonts/34px/hdf_75.png new file mode 100644 index 00000000..ac90b92d Binary files /dev/null and b/extra_fonts/34px/hdf_75.png differ diff --git a/extra_fonts/34px/hdf_76.png b/extra_fonts/34px/hdf_76.png new file mode 100644 index 00000000..cb6540b1 Binary files /dev/null and b/extra_fonts/34px/hdf_76.png differ diff --git a/extra_fonts/34px/hdf_77.png b/extra_fonts/34px/hdf_77.png new file mode 100644 index 00000000..073f892c Binary files /dev/null and b/extra_fonts/34px/hdf_77.png differ diff --git a/extra_fonts/34px/hdf_78.png b/extra_fonts/34px/hdf_78.png new file mode 100644 index 00000000..9a04f313 Binary files /dev/null and b/extra_fonts/34px/hdf_78.png differ diff --git a/extra_fonts/34px/hdf_79.png b/extra_fonts/34px/hdf_79.png new file mode 100644 index 00000000..96474982 Binary files /dev/null and b/extra_fonts/34px/hdf_79.png differ diff --git a/extra_fonts/34px/hdf_7a.png b/extra_fonts/34px/hdf_7a.png new file mode 100644 index 00000000..f727a04d Binary files /dev/null and b/extra_fonts/34px/hdf_7a.png differ diff --git a/extra_fonts/34px/hdf_7b.png b/extra_fonts/34px/hdf_7b.png new file mode 100644 index 00000000..2714a463 Binary files /dev/null and b/extra_fonts/34px/hdf_7b.png differ diff --git a/extra_fonts/34px/hdf_7c.png b/extra_fonts/34px/hdf_7c.png new file mode 100644 index 00000000..b4929309 Binary files /dev/null and b/extra_fonts/34px/hdf_7c.png differ diff --git a/extra_fonts/34px/hdf_7d.png b/extra_fonts/34px/hdf_7d.png new file mode 100644 index 00000000..0bb45a22 Binary files /dev/null and b/extra_fonts/34px/hdf_7d.png differ diff --git a/extra_fonts/34px/hdf_7e.png b/extra_fonts/34px/hdf_7e.png new file mode 100644 index 00000000..07559e67 Binary files /dev/null and b/extra_fonts/34px/hdf_7e.png differ diff --git a/fences.lua b/fences.lua index 7752f5ba..a7877b93 100644 --- a/fences.lua +++ b/fences.lua @@ -1,13 +1,6 @@ -- This file adds fences of various types --- Boilerplate to support localized strings if intllib mod is installed. -local S -if (minetest.get_modpath("intllib")) then - dofile(minetest.get_modpath("intllib").."/intllib.lua") - S = intllib.Getter(minetest.get_current_modname()) -else - S = function ( s ) return s end -end +local S = homedecor.gettext minetest.register_node("homedecor:fence_brass", { description = S("Brass Fence/railing"), @@ -448,6 +441,6 @@ minetest.register_node("homedecor:fence_chainlink_corner", { minetest.register_alias("homedecor:fence_wood_with_sign", "signs:sign_post") -homedecor_register_fence_with_sign("default:fence_wood", "signs:sign_post") -homedecor_register_fence_with_sign("homedecor:fence_brass", "homedecor:fence_brass_with_sign") -homedecor_register_fence_with_sign("homedecor:fence_wrought_iron", "homedecor:fence_wrought_iron_with_sign") +homedecor.register_fence_with_sign("default:fence_wood", "signs:sign_post") +homedecor.register_fence_with_sign("homedecor:fence_brass", "homedecor:fence_brass_with_sign") +homedecor.register_fence_with_sign("homedecor:fence_wrought_iron", "homedecor:fence_wrought_iron_with_sign") diff --git a/furnaces.lua b/furnaces.lua index bee71eb1..9fb0a8b9 100644 --- a/furnaces.lua +++ b/furnaces.lua @@ -1,13 +1,6 @@ -- This code supplies an oven/stove. Basically it's just a copy of the default furnace with different textures. --- Boilerplate to support localized strings if intllib mod is installed. -local S -if (minetest.get_modpath("intllib")) then - dofile(minetest.get_modpath("intllib").."/intllib.lua") - S = intllib.Getter(minetest.get_current_modname()) -else - S = function ( s ) return s end -end +local S = homedecor.gettext local function hacky_swap_node(pos,name) local node = minetest.get_node(pos) @@ -82,7 +75,7 @@ local function make_tiles(tiles, fmt, active) return tiles end -function homedecor_register_furnace(name, furnacedef) +function homedecor.register_furnace(name, furnacedef) local furnacedef = furnacedef @@ -249,7 +242,7 @@ function homedecor_register_furnace(name, furnacedef) minetest.register_node(name_active, def_active) minetest.register_abm({ - nodenames = {name, name_active}, + nodenames = {name, name_active, name.."_locked", name_active.."_locked"}, interval = 1.0, chance = 1, action = function(pos, node, active_object_count, active_object_count_wider) @@ -351,7 +344,7 @@ function homedecor_register_furnace(name, furnacedef) end -homedecor_register_furnace("homedecor:oven", { +homedecor.register_furnace("homedecor:oven", { description = "Oven", tile_format = "homedecor_oven_%s%s.png", output_slots = 4, @@ -359,7 +352,7 @@ homedecor_register_furnace("homedecor:oven", { cook_speed = 1.25, }) -homedecor_register_furnace("homedecor:microwave_oven", { +homedecor.register_furnace("homedecor:microwave_oven", { description = "Microwave Oven", tiles = { "homedecor_microwave_top.png", "homedecor_microwave_bottom.png", diff --git a/furniture_bathroom.lua b/furniture_bathroom.lua index 2c5657f1..80e4138f 100644 --- a/furniture_bathroom.lua +++ b/furniture_bathroom.lua @@ -1,6 +1,8 @@ +local S = homedecor.gettext + minetest.register_node("homedecor:toilet", { - description = "Toilet", + description = S("Toilet"), tiles = { "forniture_marble.png", "forniture_marble.png", "forniture_marble_s1.png", "forniture_marble_s1.png", @@ -69,7 +71,7 @@ minetest.register_node("homedecor:toilet_open", { --Sink minetest.register_node("homedecor:sink", { - description = "Sink", + description = S("Sink"), tiles = { "forniture_marble_top_sink.png", "forniture_marble.png", "forniture_marble_sb1.png", "forniture_marble_sb1.png", @@ -103,7 +105,7 @@ minetest.register_node("homedecor:sink", { --Taps minetest.register_node("homedecor:taps", { - description = "Taps", + description = S("Taps"), tiles = { "forniture_metal.png", "forniture_metal.png", "forniture_metal_s1.png", "forniture_metal_s1.png", @@ -138,7 +140,7 @@ minetest.register_node("homedecor:taps", { --Shower Tray minetest.register_node("homedecor:shower_tray", { - description = "Shower Tray", + description = S("Shower Tray"), tiles = { "forniture_marble_base_ducha_top.png", "forniture_marble_base_ducha_top.png", @@ -172,7 +174,7 @@ minetest.register_node("homedecor:shower_tray", { --Shower Head minetest.register_node("homedecor:shower_head", { - description = "Shower Head", + description = S("Shower Head"), tiles = { "forniture_metal.png", "forniture_metal.png", diff --git a/furniture_medieval.lua b/furniture_medieval.lua index 9eebd8cd..a2c7bc1d 100644 --- a/furniture_medieval.lua +++ b/furniture_medieval.lua @@ -1,6 +1,8 @@ +local S = homedecor.gettext + minetest.register_node("homedecor:bars", { - description = "Bars", + description = S("Bars"), tiles = { "forniture_black_metal.png", "forniture_black_metal.png", @@ -32,7 +34,7 @@ minetest.register_node("homedecor:bars", { --L Binding Bars minetest.register_node("homedecor:L_binding_bars", { - description = "Binding Bars", + description = S("Binding Bars"), tiles = { "forniture_black_metal.png", "forniture_black_metal.png", @@ -61,7 +63,7 @@ minetest.register_node("homedecor:L_binding_bars", { }) minetest.register_node("homedecor:chains", { - description = "Chains", + description = S("Chains"), tiles = { "forniture_black_metal.png", "forniture_black_metal.png", @@ -136,7 +138,7 @@ minetest.register_node("homedecor:chains", { }) minetest.register_node("homedecor:torch_wall", { - description = "Torch Wall", + description = S("Wall Torch"), drawtype = "nodebox", tiles = { "forniture_torch_wall_s.png", diff --git a/init.lua b/init.lua index 6a1d5f2f..f9497d02 100644 --- a/init.lua +++ b/init.lua @@ -11,90 +11,66 @@ -- License: LGPL 2.0 or higher -- -local DEBUG = 0 +homedecor = {} + +homedecor.disable_signs = minetest.setting_getbool("homedecor.disable_signs") +homedecor.debug = 0 + +homedecor.modpath = minetest.get_modpath("homedecor") +homedecor.intllib_modpath = minetest.get_modpath("intllib") -- Boilerplate to support localized strings if intllib mod is installed. local S -if (minetest.get_modpath("intllib")) then - dofile(minetest.get_modpath("intllib").."/intllib.lua") +if homedecor.intllib_modpath then + dofile(homedecor.intllib_modpath.."/intllib.lua") S = intllib.Getter(minetest.get_current_modname()) else S = function ( s ) return s end end - --- Various Functions +homedecor.gettext = S local dbg = function(s) - if DEBUG == 1 then + if homedecor.debug == 1 then print('[HomeDecor] ' .. s) end end -function homedecor_node_is_owned(pos, placer) - local ownername = false - if type(IsPlayerNodeOwner) == "function" then -- node_ownership mod - if HasOwner(pos, placer) then -- returns true if the node is owned - if not IsPlayerNodeOwner(pos, placer:get_player_name()) then - if type(getLastOwner) == "function" then -- ...is an old version - ownername = getLastOwner(pos) - elseif type(GetNodeOwnerName) == "function" then -- ...is a recent version - ownername = GetNodeOwnerName(pos) - else - ownername = S("someone") - end - end - end - - elseif type(isprotect)=="function" then -- glomie's protection mod - if not isprotect(5, pos, placer) then - ownername = S("someone") - end - elseif type(protector)=="table" and type(protector.can_dig)=="function" then -- Zeg9's protection mod - if not protector.can_dig(5, pos, placer) then - ownername = S("someone") - end - end - - if ownername ~= false then - minetest.chat_send_player( placer:get_player_name(), S("Sorry, %s owns that spot."):format(ownername) ) - return true - else - return false - end -end - if minetest.get_modpath("unified_inventory") or not minetest.setting_getbool("creative_mode") then - homedecor_expect_infinite_stacks = false + homedecor.expect_infinite_stacks = false else - homedecor_expect_infinite_stacks = true + homedecor.expect_infinite_stacks = true end -dofile(minetest.get_modpath("homedecor").."/misc_nodes.lua") -- the catch-all for all misc nodes -dofile(minetest.get_modpath("homedecor").."/tables.lua") -dofile(minetest.get_modpath("homedecor").."/electronics.lua") -dofile(minetest.get_modpath("homedecor").."/shutters.lua") -dofile(minetest.get_modpath("homedecor").."/shingles.lua") -dofile(minetest.get_modpath("homedecor").."/slopes.lua") +dofile(homedecor.modpath.."/ownership.lua") +dofile(homedecor.modpath.."/lib_6d.lua") -dofile(minetest.get_modpath("homedecor").."/door_models.lua") -dofile(minetest.get_modpath("homedecor").."/doors_and_gates.lua") +dofile(homedecor.modpath.."/misc_nodes.lua") -- the catch-all for all misc nodes +dofile(homedecor.modpath.."/tables.lua") +dofile(homedecor.modpath.."/electronics.lua") +dofile(homedecor.modpath.."/shutters.lua") +dofile(homedecor.modpath.."/shingles.lua") +dofile(homedecor.modpath.."/slopes.lua") -dofile(minetest.get_modpath("homedecor").."/signs_lib.lua") -dofile(minetest.get_modpath("homedecor").."/fences.lua") +dofile(homedecor.modpath.."/door_models.lua") +dofile(homedecor.modpath.."/doors_and_gates.lua") -dofile(minetest.get_modpath("homedecor").."/lighting.lua") -dofile(minetest.get_modpath("homedecor").."/kitchen_cabinet.lua") -dofile(minetest.get_modpath("homedecor").."/refrigerator.lua") -dofile(minetest.get_modpath("homedecor").."/furnaces.lua") -dofile(minetest.get_modpath("homedecor").."/nightstands.lua") +dofile(homedecor.modpath.."/signs_lib.lua") -dofile(minetest.get_modpath("homedecor").."/crafts.lua") +dofile(homedecor.modpath.."/fences.lua") -dofile(minetest.get_modpath("homedecor").."/furniture.lua") -dofile(minetest.get_modpath("homedecor").."/furniture_medieval.lua") -dofile(minetest.get_modpath("homedecor").."/furniture_bathroom.lua") -dofile(minetest.get_modpath("homedecor").."/furniture_recipes.lua") +dofile(homedecor.modpath.."/lighting.lua") +dofile(homedecor.modpath.."/kitchen_cabinet.lua") +dofile(homedecor.modpath.."/refrigerator.lua") +dofile(homedecor.modpath.."/furnaces.lua") +dofile(homedecor.modpath.."/nightstands.lua") -dofile(minetest.get_modpath("homedecor").."/locked.lua") +dofile(homedecor.modpath.."/crafts.lua") + +dofile(homedecor.modpath.."/furniture.lua") +dofile(homedecor.modpath.."/furniture_medieval.lua") +dofile(homedecor.modpath.."/furniture_bathroom.lua") +dofile(homedecor.modpath.."/furniture_recipes.lua") + +dofile(homedecor.modpath.."/locked.lua") print("[HomeDecor] "..S("Loaded!")) diff --git a/kitchen_cabinet.lua b/kitchen_cabinet.lua index 91b1a332..084d596d 100644 --- a/kitchen_cabinet.lua +++ b/kitchen_cabinet.lua @@ -1,13 +1,6 @@ -- This file supplies Kitchen cabinets and kitchen sink --- Boilerplate to support localized strings if intllib mod is installed. -local S -if (minetest.get_modpath("intllib")) then - dofile(minetest.get_modpath("intllib").."/intllib.lua") - S = intllib.Getter(minetest.get_current_modname()) -else - S = function ( s ) return s end -end +local S = homedecor.gettext minetest.register_node('homedecor:kitchen_cabinet', { description = S("Kitchen Cabinet"), diff --git a/lib_6d.lua b/lib_6d.lua new file mode 100644 index 00000000..1841bd94 --- /dev/null +++ b/lib_6d.lua @@ -0,0 +1,52 @@ +-- Simplified 6d facedir rotation/prediction library +-- by VanessaE +-- license: WTFPL + +lib_6d = {} + +local dirs1 = { 20, 23, 22, 21 } +local dirs2 = { 9, 18, 7, 12 } + +function lib_6d:rotate_and_place(itemstack, placer, pointed_thing, infinitestacks) + local node = minetest.get_node(pointed_thing.under) + if not minetest.registered_nodes[node.name] or not minetest.registered_nodes[node.name].on_rightclick then + + local above = pointed_thing.above + local under = pointed_thing.under + local pitch = placer:get_look_pitch() + local pname = minetest.get_node(under).name + local node = minetest.get_node(above) + local fdir = minetest.dir_to_facedir(placer:get_look_dir()) + local wield_name = itemstack:get_name() + + if not minetest.registered_nodes[pname] + or not minetest.registered_nodes[pname].on_rightclick then + + local iswall = (above.x ~= under.x) or (above.z ~= under.z) + local isceiling = (above.x == under.x) and (above.z == under.z) and (pitch > 0) + local pos1 = above + + if minetest.registered_nodes[pname]["buildable_to"] then + pos1 = under + iswall = false + end + + if not minetest.registered_nodes[minetest.get_node(pos1).name]["buildable_to"] then return end + + if iswall then + minetest.add_node(pos1, {name = wield_name, param2 = dirs2[fdir+1] }) -- place wall variant + elseif isceiling then + minetest.add_node(pos1, {name = wield_name, param2 = 20 }) -- place upside down variant + else + minetest.add_node(pos1, {name = wield_name, param2 = 0 }) -- place right side up + end + + if not infinitestacks then + itemstack:take_item() + return itemstack + end + end + else + minetest.registered_nodes[node.name].on_rightclick(pointed_thing.under, node, placer, itemstack) + end +end diff --git a/lighting.lua b/lighting.lua index f0b400ff..4fbf5d84 100644 --- a/lighting.lua +++ b/lighting.lua @@ -1,64 +1,7 @@ -- This file supplies glowlights --- Boilerplate to support localized strings if intllib mod is installed. -local S -if (minetest.get_modpath("intllib")) then - dofile(minetest.get_modpath("intllib").."/intllib.lua") - S = intllib.Getter(minetest.get_current_modname()) -else - S = function ( s ) return s end -end - -local dirs1 = { 20, 23, 22, 21 } -local dirs2 = { 9, 18, 7, 12 } - -function homedecor_rotate_and_place(itemstack, placer, pointed_thing) - if not homedecor_node_is_owned(pointed_thing.under, placer) - and not homedecor_node_is_owned(pointed_thing.above, placer) then - local node = minetest.get_node(pointed_thing.under) - if not minetest.registered_nodes[node.name] or not minetest.registered_nodes[node.name].on_rightclick then - - local above = pointed_thing.above - local under = pointed_thing.under - local pitch = placer:get_look_pitch() - local pname = minetest.get_node(under).name - local node = minetest.get_node(above) - local fdir = minetest.dir_to_facedir(placer:get_look_dir()) - local wield_name = itemstack:get_name() - - if not minetest.registered_nodes[pname] - or not minetest.registered_nodes[pname].on_rightclick then - - local iswall = (above.x ~= under.x) or (above.z ~= under.z) - local isceiling = (above.x == under.x) and (above.z == under.z) and (pitch > 0) - local pos1 = above - - if minetest.registered_nodes[pname]["buildable_to"] then - pos1 = under - iswall = false - end - - if not minetest.registered_nodes[minetest.get_node(pos1).name]["buildable_to"] then return end - - if iswall then - minetest.add_node(pos1, {name = wield_name, param2 = dirs2[fdir+1] }) -- place wall variant - elseif isceiling then - minetest.add_node(pos1, {name = wield_name, param2 = 20 }) -- place upside down variant - else - minetest.add_node(pos1, {name = wield_name, param2 = 0 }) -- place right side up - end - - if not homedecor_expect_infinite_stacks then - itemstack:take_item() - return itemstack - end - end - else - minetest.registered_nodes[node.name].on_rightclick(pointed_thing.under, node, placer, itemstack) - end - end -end +local S = homedecor.gettext local colors = {"yellow","white"} @@ -146,7 +89,10 @@ minetest.register_node('homedecor:glowlight_half_yellow', { sounds = default.node_sound_wood_defaults(), on_place = function(itemstack, placer, pointed_thing) - homedecor_rotate_and_place(itemstack, placer, pointed_thing) + if not homedecor:node_is_owned(pointed_thing.under, placer) + and not homedecor:node_is_owned(pointed_thing.above, placer) then + lib_6d:rotate_and_place(itemstack, placer, pointed_thing, homedecor.expect_infinite_stacks) + end return itemstack end }) @@ -179,7 +125,10 @@ minetest.register_node('homedecor:glowlight_quarter_yellow', { light_source = LIGHT_MAX-1, sounds = default.node_sound_wood_defaults(), on_place = function(itemstack, placer, pointed_thing) - homedecor_rotate_and_place(itemstack, placer, pointed_thing) + if not homedecor:node_is_owned(pointed_thing.under, placer) + and not homedecor:node_is_owned(pointed_thing.above, placer) then + lib_6d:rotate_and_place(itemstack, placer, pointed_thing, homedecor.expect_infinite_stacks) + end return itemstack end }) @@ -216,7 +165,10 @@ minetest.register_node('homedecor:glowlight_half_white', { light_source = LIGHT_MAX, sounds = default.node_sound_wood_defaults(), on_place = function(itemstack, placer, pointed_thing) - homedecor_rotate_and_place(itemstack, placer, pointed_thing) + if not homedecor:node_is_owned(pointed_thing.under, placer) + and not homedecor:node_is_owned(pointed_thing.above, placer) then + lib_6d:rotate_and_place(itemstack, placer, pointed_thing, homedecor.expect_infinite_stacks) + end return itemstack end }) @@ -249,7 +201,10 @@ minetest.register_node('homedecor:glowlight_quarter_white', { light_source = LIGHT_MAX-1, sounds = default.node_sound_wood_defaults(), on_place = function(itemstack, placer, pointed_thing) - homedecor_rotate_and_place(itemstack, placer, pointed_thing) + if not homedecor:node_is_owned(pointed_thing.under, placer) + and not homedecor:node_is_owned(pointed_thing.above, placer) then + lib_6d:rotate_and_place(itemstack, placer, pointed_thing, homedecor.expect_infinite_stacks) + end return itemstack end }) @@ -285,7 +240,10 @@ minetest.register_node('homedecor:glowlight_small_cube_yellow', { sounds = default.node_sound_wood_defaults(), on_place = function(itemstack, placer, pointed_thing) - homedecor_rotate_and_place(itemstack, placer, pointed_thing) + if not homedecor:node_is_owned(pointed_thing.under, placer) + and not homedecor:node_is_owned(pointed_thing.above, placer) then + lib_6d:rotate_and_place(itemstack, placer, pointed_thing, homedecor.expect_infinite_stacks) + end return itemstack end }) @@ -318,7 +276,10 @@ minetest.register_node('homedecor:glowlight_small_cube_white', { light_source = LIGHT_MAX-1, sounds = default.node_sound_wood_defaults(), on_place = function(itemstack, placer, pointed_thing) - homedecor_rotate_and_place(itemstack, placer, pointed_thing) + if not homedecor:node_is_owned(pointed_thing.under, placer) + and not homedecor:node_is_owned(pointed_thing.above, placer) then + lib_6d:rotate_and_place(itemstack, placer, pointed_thing, homedecor.expect_infinite_stacks) + end return itemstack end }) diff --git a/listnodes.sh b/listnodes.sh old mode 100755 new mode 100644 diff --git a/locale/es.txt b/locale/es.txt index 49ec8aef..0baac0ba 100644 --- a/locale/es.txt +++ b/locale/es.txt @@ -62,6 +62,19 @@ Wrought Iron Fence/railing = Cerca/Barandilla de Hierro Forjado Wrought Iron Fence/railing with sign = Cerca/Barandilla de Hierro Forjado con Letrero want to simply place the wielded item like usual. = solo se desea colocar el objeto empuñado normalmente. +### furniture_medieval.lua ### +Bars = Barras +Binding Bars = Barras de Unión +Chains = Cadenas +Wall Torch = Antorcha de Pared + +### furniture_bathroom.lua ### +Toilet = Inodoro +Sink = Lavabo +Taps = Grifo +Shower Tray = Piso de Ducha +Shower Head = Ducha + ### init.lua ### Loaded! = ¡Cargado! Asphalt Shingles = Tejas de Asfalto @@ -173,8 +186,9 @@ Not enough vertical space to place a refrigerator! = ¡No hay suficiente espacio Small CRT Television = Pequeña Televisión CRT ### signs_lib.lua ### -E: character map file not found = E: archivo de mapa de caracteres no encontrado -## 1: Full String, 2: pos in string, 3: current char at pos -W: unknown symbol in '%s' at %d (probably %s) = A: símbolo desconocido en '%s' posición %d (probablemente %s) %s wrote "%s" to sign at %s = %s ha escrito "%s" en el letrero en %s +Reading cached character database. = Leyendo base de datos de catacteres. +Font seems to have changed. Rebuilding cache. = La fuente parece haber cambiado. Reconstruyendo información guardada. +Could not find font line height in cached DB. Trying brute force. = No se pudo encontrar la altura de línea en la base de datos. Intentando con fuerza bruta. +Registered %s and %s = Registrados %s y %s signs loaded = letreros cargados diff --git a/locale/template.txt b/locale/template.txt index 7a82f3a3..fd1b64b5 100644 --- a/locale/template.txt +++ b/locale/template.txt @@ -68,6 +68,19 @@ Wrought Iron Fence/railing = Wrought Iron Fence/railing with sign = want to simply place the wielded item like usual. = +### furniture_medieval.lua ### +Bars = +Binding Bars = +Chains = +Wall Torch = + +### furniture_bathroom.lua ### +Toilet = +Sink = +Taps = +Shower Tray = +Shower Head = + ### init.lua ### Loaded! = Asphalt Shingles = @@ -177,8 +190,9 @@ Not enough vertical space to place a refrigerator! = Small CRT Television = ### signs_lib.lua ### -E: character map file not found = -## 1: Full String, 2: pos in string, 3: current char at pos -W: unknown symbol in '%s' at %d (probably %s) = %s wrote "%s" to sign at %s = +Reading cached character database. = +Font seems to have changed. Rebuilding cache. = +Could not find font line height in cached DB. Trying brute force. = +Registered %s and %s = signs loaded = diff --git a/locked.lua b/locked.lua index 33ace60c..f05b8426 100644 --- a/locked.lua +++ b/locked.lua @@ -7,14 +7,7 @@ -- License: LGPL -- --- Boilerplate to support localized strings if intllib mod is installed. -local S -if (minetest.get_modpath("intllib")) then - dofile(minetest.get_modpath("intllib").."/intllib.lua") - S = intllib.Getter(minetest.get_current_modname()) -else - S = function ( s ) return s end -end +local S = homedecor.gettext --[[ | create_locked ( name, infotext ) diff --git a/misc_nodes.lua b/misc_nodes.lua index 17dd36d6..34fce576 100644 --- a/misc_nodes.lua +++ b/misc_nodes.lua @@ -1,13 +1,6 @@ -- Various misc. nodes --- Boilerplate to support localized strings if intllib mod is installed. -local S -if (minetest.get_modpath("intllib")) then - dofile(minetest.get_modpath("intllib").."/intllib.lua") - S = intllib.Getter(minetest.get_current_modname()) -else - S = function ( s ) return s end -end +local S = homedecor.gettext minetest.register_node('homedecor:ceiling_paint', { description = S("Textured Ceiling Paint"), @@ -211,7 +204,7 @@ minetest.register_node("homedecor:curtain_"..color, { inventory_image = "homedecor_curtain_"..color..".png", wield_image = "homedecor_curtain_"..color..".png", drawtype = 'signlike', - sunlight_propagates = false, + sunlight_propagates = true, paramtype = "light", paramtype2 = "facedir", walkable = false, diff --git a/nightstands.lua b/nightstands.lua index c6c74a4d..96fba084 100644 --- a/nightstands.lua +++ b/nightstands.lua @@ -1,13 +1,6 @@ -- This file supplies nightstands --- Boilerplate to support localized strings if intllib mod is installed. -local S -if (minetest.get_modpath("intllib")) then - dofile(minetest.get_modpath("intllib").."/intllib.lua") - S = intllib.Getter(minetest.get_current_modname()) -else - S = function ( s ) return s end -end +local S = homedecor.gettext minetest.register_node('homedecor:nightstand_oak_one_drawer', { drawtype = "nodebox", diff --git a/ownership.lua b/ownership.lua new file mode 100644 index 00000000..a9ca82fa --- /dev/null +++ b/ownership.lua @@ -0,0 +1,35 @@ + +local S = homedecor.gettext + +function homedecor:node_is_owned(pos, placer) + local ownername = false + if type(IsPlayerNodeOwner) == "function" then -- node_ownership mod + if HasOwner(pos, placer) then -- returns true if the node is owned + if not IsPlayerNodeOwner(pos, placer:get_player_name()) then + if type(getLastOwner) == "function" then -- ...is an old version + ownername = getLastOwner(pos) + elseif type(GetNodeOwnerName) == "function" then -- ...is a recent version + ownername = GetNodeOwnerName(pos) + else + ownername = S("someone") + end + end + end + + elseif type(isprotect)=="function" then -- glomie's protection mod + if not isprotect(5, pos, placer) then + ownername = S("someone") + end + elseif type(protector)=="table" and type(protector.can_dig)=="function" then -- Zeg9's protection mod + if not protector.can_dig(5, pos, placer) then + ownername = S("someone") + end + end + + if ownername ~= false then + minetest.chat_send_player( placer:get_player_name(), S("Sorry, %s owns that spot."):format(ownername) ) + return true + else + return false + end +end diff --git a/refrigerator.lua b/refrigerator.lua index 23e5b89a..a2cffb85 100644 --- a/refrigerator.lua +++ b/refrigerator.lua @@ -1,13 +1,6 @@ -- This file supplies refrigerators --- Boilerplate to support localized strings if intllib mod is installed. -local S -if (minetest.get_modpath("intllib")) then - dofile(minetest.get_modpath("intllib").."/intllib.lua") - S = intllib.Getter(minetest.get_current_modname()) -else - S = function ( s ) return s end -end +local S = homedecor.gettext minetest.register_node('homedecor:refrigerator', { drawtype = "nodebox", diff --git a/shingles.lua b/shingles.lua index 4ac0cf4e..3f1acf7b 100644 --- a/shingles.lua +++ b/shingles.lua @@ -1,13 +1,6 @@ -- Various kidns of shingles --- Boilerplate to support localized strings if intllib mod is installed. -local S -if (minetest.get_modpath("intllib")) then - dofile(minetest.get_modpath("intllib").."/intllib.lua") - S = intllib.Getter(minetest.get_current_modname()) -else - S = function ( s ) return s end -end +local S = homedecor.gettext minetest.register_node("homedecor:skylight", { description = S("Glass Skylight"), diff --git a/shutters.lua b/shutters.lua index f6b2da1d..ded5a3d5 100644 --- a/shutters.lua +++ b/shutters.lua @@ -1,221 +1,43 @@ -- Various kinds of window shutters --- Boilerplate to support localized strings if intllib mod is installed. -local S -if (minetest.get_modpath("intllib")) then - dofile(minetest.get_modpath("intllib").."/intllib.lua") - S = intllib.Getter(minetest.get_current_modname()) -else - S = function ( s ) return s end +local S = homedecor.gettext + +local shutters = { + {"oak", "Unpainted oak"}, + {"mahogany", "Mahogany"}, + {"red", "Red"}, + {"yellow", "Yellow"}, + {"forest_green", "Forest green"}, + {"light_blue", "Light blue"}, + {"violet", "Violet"}, + {"black", "Black"}, + {"dark_grey", "Dark grey"}, + {"grey", "Grey"}, + {"white", "White"}, +} + +for i in ipairs(shutters) do + local name = shutters[i][1] + local desc = shutters[i][2] + + minetest.register_node("homedecor:shutter_"..name, { + description = S("Wooden Shutter ("..desc..")"), + tiles = { "homedecor_window_shutter_"..name..".png" }, + inventory_image = "homedecor_window_shutter_"..name..".png", + wield_image = "homedecor_window_shutter_"..name..".png", + drawtype = 'signlike', + sunlight_propagates = true, + paramtype = "light", + paramtype2 = "facedir", + walkable = false, + groups = { snappy = 3 }, + sounds = default.node_sound_wood_defaults(), + paramtype2 = 'wallmounted', + selection_box = { + type = "wallmounted", + --wall_side = = + }, + }) end -minetest.register_node('homedecor:shutter_black', { - description = S("Wooden Shutter (Black)"), - tiles = { 'homedecor_window_shutter_black.png' }, - inventory_image = 'homedecor_window_shutter_black.png', - wield_image = 'homedecor_window_shutter_black.png', - drawtype = 'signlike', - sunlight_propagates = false, - paramtype = "light", - paramtype2 = "facedir", - walkable = false, - groups = { snappy = 3 }, - sounds = default.node_sound_leaves_defaults(), - paramtype2 = 'wallmounted', - selection_box = { - type = "wallmounted", - --wall_side = = - }, -}) - -minetest.register_node('homedecor:shutter_mahogany', { - description = S("Wooden Shutter (Unpainted Mahogany)"), - tiles = { 'homedecor_window_shutter_mahogany.png' }, - inventory_image = 'homedecor_window_shutter_mahogany.png', - wield_image = 'homedecor_window_shutter_mahogany.png', - drawtype = 'signlike', - sunlight_propagates = false, - paramtype = "light", - paramtype2 = "facedir", - walkable = false, - groups = { snappy = 3 }, - sounds = default.node_sound_leaves_defaults(), - paramtype2 = 'wallmounted', - selection_box = { - type = "wallmounted", - --wall_side = = - }, -}) - -minetest.register_node('homedecor:shutter_oak', { - description = S("Wooden Shutter (Unpainted Oak)"), - tiles = { 'homedecor_window_shutter_oak.png' }, - inventory_image = 'homedecor_window_shutter_oak.png', - wield_image = 'homedecor_window_shutter_oak.png', - drawtype = 'signlike', - sunlight_propagates = false, - paramtype = "light", - paramtype2 = "facedir", - walkable = false, - groups = { snappy = 3 }, - sounds = default.node_sound_leaves_defaults(), - paramtype2 = 'wallmounted', - selection_box = { - type = "wallmounted", - --wall_side = = - }, -}) - -minetest.register_node('homedecor:shutter_dark_grey', { - description = S("Wooden Shutter (Dark Grey)"), - tiles = { 'homedecor_window_shutter_dark_grey.png' }, - inventory_image = 'homedecor_window_shutter_dark_grey.png', - wield_image = 'homedecor_window_shutter_dark_grey.png', - drawtype = 'signlike', - sunlight_propagates = false, - paramtype = "light", - paramtype2 = "facedir", - walkable = false, - groups = { snappy = 3 }, - sounds = default.node_sound_leaves_defaults(), - paramtype2 = 'wallmounted', - selection_box = { - type = "wallmounted", - --wall_side = = - }, -}) - -minetest.register_node('homedecor:shutter_forest_green', { - description = S("Wooden Shutter (Forest Green)"), - tiles = { 'homedecor_window_shutter_forest_green.png' }, - inventory_image = 'homedecor_window_shutter_forest_green.png', - wield_image = 'homedecor_window_shutter_forest_green.png', - drawtype = 'signlike', - sunlight_propagates = false, - paramtype = "light", - paramtype2 = "facedir", - walkable = false, - groups = { snappy = 3 }, - sounds = default.node_sound_leaves_defaults(), - paramtype2 = 'wallmounted', - selection_box = { - type = "wallmounted", - --wall_side = = - }, -}) - -minetest.register_node('homedecor:shutter_grey', { - description = S("Wooden Shutter (Grey)"), - tiles = { 'homedecor_window_shutter_grey.png' }, - inventory_image = 'homedecor_window_shutter_grey.png', - wield_image = 'homedecor_window_shutter_grey.png', - drawtype = 'signlike', - sunlight_propagates = false, - paramtype = "light", - paramtype2 = "facedir", - walkable = false, - groups = { snappy = 3 }, - sounds = default.node_sound_leaves_defaults(), - paramtype2 = 'wallmounted', - selection_box = { - type = "wallmounted", - --wall_side = = - }, -}) - -minetest.register_node('homedecor:shutter_light_blue', { - description = S("Wooden Shutter (Light Blue)"), - tiles = { 'homedecor_window_shutter_light_blue.png' }, - inventory_image = 'homedecor_window_shutter_light_blue.png', - wield_image = 'homedecor_window_shutter_light_blue.png', - drawtype = 'signlike', - sunlight_propagates = false, - paramtype = "light", - paramtype2 = "facedir", - walkable = false, - groups = { snappy = 3 }, - sounds = default.node_sound_leaves_defaults(), - paramtype2 = 'wallmounted', - selection_box = { - type = "wallmounted", - --wall_side = = - }, -}) - -minetest.register_node('homedecor:shutter_violet', { - description = S("Wooden Shutter (Violet)"), - tiles = { 'homedecor_window_shutter_violet.png' }, - inventory_image = 'homedecor_window_shutter_violet.png', - wield_image = 'homedecor_window_shutter_violet.png', - drawtype = 'signlike', - sunlight_propagates = false, - paramtype = "light", - paramtype2 = "facedir", - walkable = false, - groups = { snappy = 3 }, - sounds = default.node_sound_leaves_defaults(), - paramtype2 = 'wallmounted', - selection_box = { - type = "wallmounted", - --wall_side = = - }, -}) - -minetest.register_node('homedecor:shutter_red', { - description = S("Wooden Shutter (Red)"), - tiles = { 'homedecor_window_shutter_red.png' }, - inventory_image = 'homedecor_window_shutter_red.png', - wield_image = 'homedecor_window_shutter_red.png', - drawtype = 'signlike', - sunlight_propagates = false, - paramtype = "light", - paramtype2 = "facedir", - walkable = false, - groups = { snappy = 3 }, - sounds = default.node_sound_leaves_defaults(), - paramtype2 = 'wallmounted', - selection_box = { - type = "wallmounted", - --wall_side = = - }, -}) - -minetest.register_node('homedecor:shutter_white', { - description = S("Wooden Shutter (White)"), - tiles = { 'homedecor_window_shutter_white.png' }, - inventory_image = 'homedecor_window_shutter_white.png', - wield_image = 'homedecor_window_shutter_white.png', - drawtype = 'signlike', - sunlight_propagates = false, - paramtype = "light", - paramtype2 = "facedir", - walkable = false, - groups = { snappy = 3 }, - sounds = default.node_sound_leaves_defaults(), - paramtype2 = 'wallmounted', - selection_box = { - type = "wallmounted", - --wall_side = = - }, -}) - -minetest.register_node('homedecor:shutter_yellow', { - description = S("Wooden Shutter (Yellow)"), - tiles = { 'homedecor_window_shutter_yellow.png' }, - inventory_image = 'homedecor_window_shutter_yellow.png', - wield_image = 'homedecor_window_shutter_yellow.png', - drawtype = 'signlike', - sunlight_propagates = false, - paramtype = "light", - paramtype2 = "facedir", - walkable = false, - groups = { snappy = 3 }, - sounds = default.node_sound_leaves_defaults(), - paramtype2 = 'wallmounted', - selection_box = { - type = "wallmounted", - --wall_side = = - }, -}) - minetest.register_alias("homedecor:shutter_purple", "homedecor:shutter_violet") diff --git a/signs_lib.lua b/signs_lib.lua index 9e8f8431..9c4b449b 100644 --- a/signs_lib.lua +++ b/signs_lib.lua @@ -1,83 +1,361 @@ --- Font: 04.jp.org --- Boilerplate to support localized strings if intllib mod is installed. -local S -if (minetest.get_modpath("intllib")) then - dofile(minetest.get_modpath("intllib").."/intllib.lua") - S = intllib.Getter(minetest.get_current_modname()) -else - S = function ( s ) return s end +local S = homedecor.gettext + +-- CONSTANTS + +local MP = minetest.get_modpath("homedecor") + +-- Used by `build_char_db' to locate the file. +local FONT_FMT = "%s/hdf_%02x.png" + +-- Simple texture name for building text texture. +local FONT_FMT_SIMPLE = "hdf_%02x.png" + +-- Path to the textures. +local TP = MP.."/textures" + +local TEXT_SCALE = {x=0.8, y=0.5} + +-- Lots of overkill here. KISS advocates, go away, shoo! ;) -- kaeza + +local PNG_HDR = string.char(0x89, 0x50, 0x4E, 0x47, 0x0D, 0x0A, 0x1A, 0x0A) + +-- Read the image size from a PNG file. +-- Returns image_w, image_h. +-- Only the LSB is read from each field! +local function read_char_size(c) + local filename = FONT_FMT:format(TP, c) + local f = io.open(filename, "rb") + f:seek("set", 0x0) + local hdr = f:read(8) + if hdr ~= PNG_HDR then + f:close() + return + end + f:seek("set", 0x13) + local ws = f:read(1) + f:seek("set", 0x17) + local hs = f:read(1) + f:close() + return ws:byte(), hs:byte() end --- load characters map -local chars_file = io.open(minetest.get_modpath("homedecor").."/characters", "r") -local charmap = {} -local max_chars = 16 -if not chars_file then - print("[signs] "..S("E: character map file not found")) -else - while true do - local char = chars_file:read("*l") - if char == nil then - break - end - local img = chars_file:read("*l") - chars_file:read("*l") - charmap[char] = img - end +-- Set by build_char_db() +local LINE_HEIGHT +local SIGN_WIDTH + +-- Size of the canvas, in characters. +-- Please note that CHARS_PER_LINE is multiplied by the average character +-- width to get the total width of the canvas, so for proportional fonts, +-- either more or fewer characters may fit on a line. +local CHARS_PER_LINE = 30 +local NUMBER_OF_LINES = 6 + +-- Separation between lines. 1.0 means no separation (ypos offset by text +-- height), 2.0 is one "line" (ypos offset by two times text height), etc. +local LINE_SEP = 1.2 + +-- This holds the individual character widths. +-- Indexed by the actual character (e.g. charwidth["A"]) +local charwidth = { } + +-- File to cache the font size to. +local CHARDB_FILE = minetest.get_worldpath().."/homedecor_chardb" + +-- Returns true if any file differs from cached one. +local function check_random_chars() + for i = 1, 5 do + local c = math.random(32, 126) + local w, h = read_char_size(c) + + -- File is not a PNG... wut? + if not (w and h) then return true end + + local ch = string.char(c) + if (not charwidth[ch]) -- Char is not cached. + or (charwidth[ch] ~= w) -- Width differs. + or (LINE_HEIGHT and (LINE_HEIGHT ~= h)) -- Height differs + then + -- In any case, file is different; rebuild cache. + return true + end + end + -- OK, our superficial check passed. If the textures are messed up, + -- it's not our problem. + return false +end + +local function build_char_db() + + LINE_HEIGHT = nil + SIGN_WIDTH = nil + + -- To calculate average char width. + local total_width = 0 + local char_count = 0 + + -- Try to load cached data to avoid heavy disk I/O. + + local cdbf = io.open(CHARDB_FILE, "rt") + + if cdbf then + minetest.log("info", "[homedecor] "..S("Reading cached character database.")) + for line in cdbf:lines() do + local ch, w = line:match("(0x[0-9A-Fa-f]+)%s+([0-9][0-9]*)") + if ch and w then + local c = tonumber(ch) + w = tonumber(w) + if c and w then + if c == 0 then + LINE_HEIGHT = w + elseif (c >= 32) and (c < 127) then + charwidth[string.char(c)] = w + total_width = total_width + w + char_count = char_count + 1 + end + end + end + end + cdbf:close() + if LINE_HEIGHT then + -- Check some random characters to see if the file on disk differs + -- from the cached one. If so, then ditch cached data and rebuild + -- (font probably was changed). + if check_random_chars() then + LINE_HEIGHT = nil + minetest.log("info", "[homedecor] " + ..S("Font seems to have changed. Rebuilding cache.") + ) + end + else + minetest.log("warning", "[homedecor] " + ..S("Could not find font line height in cached DB. Trying brute force.") + ) + end + end + + if not LINE_HEIGHT then + -- OK, something went wrong... try brute force loading from texture files. + + charwidth = { } + + total_width = 0 + char_count = 0 + + for c = 32, 126 do + local w, h = read_char_size(c) + if w and h then + local ch = string.char(c) + charwidth[ch] = w + total_width = total_width + w + char_count = char_count + 1 + if not LINE_HEIGHT then LINE_HEIGHT = h end + end + end + + if not LINE_HEIGHT then + error("Could not find font line height.") + end + + end + + -- XXX: Is there a better way to calc this? + SIGN_WIDTH = math.floor((total_width / char_count) * CHARS_PER_LINE) + + -- Try to save cached list back to disk. + + local e -- Note: `cdbf' is already declared local above. + cdbf, e = io.open(CHARDB_FILE, "wt") + if not cdbf then + minetest.log("warning", "[homedecor] Could not save cached char DB: "..(e or "")) + return + end + + cdbf:write(("0x00 %d\n"):format(LINE_HEIGHT)) + for c = 32, 126 do + local w = charwidth[string.char(c)] + if w then + cdbf:write(("0x%02X %d\n"):format(c, w)) + end + end + cdbf:close() + end local signs = { - {delta = {x = 0, y = 0, z = 0.399}, yaw = 0}, - {delta = {x = 0.399, y = 0, z = 0}, yaw = math.pi / -2}, - {delta = {x = 0, y = 0, z = -0.399}, yaw = math.pi}, - {delta = {x = -0.399, y = 0, z = 0}, yaw = math.pi / 2}, + {delta = {x = 0, y = 0.15, z = 0.399}, yaw = 0}, + {delta = {x = 0.399, y = 0.15, z = 0 }, yaw = math.pi / -2}, + {delta = {x = 0, y = 0.15, z = -0.399}, yaw = math.pi}, + {delta = {x = -0.399, y = 0.15, z = 0 }, yaw = math.pi / 2}, } local signs_yard = { - {delta = {x = 0, y = 0, z = -0.05}, yaw = 0}, - {delta = {x = -0.05, y = 0, z = 0}, yaw = math.pi / -2}, - {delta = {x = 0, y = 0, z = 0.05}, yaw = math.pi}, - {delta = {x = 0.05, y = 0, z = 0}, yaw = math.pi / 2}, + {delta = {x = 0, y = 0.15, z = -0.05}, yaw = 0}, + {delta = {x = -0.05, y = 0.15, z = 0 }, yaw = math.pi / -2}, + {delta = {x = 0, y = 0.15, z = 0.05}, yaw = math.pi}, + {delta = {x = 0.05, y = 0.15, z = 0 }, yaw = math.pi / 2}, } local signs_post = { - {delta = {x = 0, y = 0, z = -0.226}, yaw = 0}, - {delta = {x = -0.226, y = 0, z = 0}, yaw = math.pi / -2}, - {delta = {x = 0, y = 0, z = 0.226}, yaw = math.pi}, - {delta = {x = 0.226, y = 0, z = 0}, yaw = math.pi / 2}, + {delta = {x = 0, y = 0.15, z = -0.226}, yaw = 0}, + {delta = {x = -0.226, y = 0.15, z = 0 }, yaw = math.pi / -2}, + {delta = {x = 0, y = 0.15, z = 0.226 }, yaw = math.pi}, + {delta = {x = 0.226, y = 0.15, z = 0 }, yaw = math.pi / 2}, } local sign_groups = {choppy=2, dig_immediate=2} local fences_with_sign = { } -homedecor_construct_sign = function(pos) +-- some local helper functions + +local function split_lines_and_words(text) + local lines = { } + local line = { } + for word in text:gmatch("%S+") do + if word == "|" then + table.insert(lines, line) + if #lines >= NUMBER_OF_LINES then break end + line = { } + elseif word == "\\|" then + table.insert(line, "|") + else + table.insert(line, word) + end + end + table.insert(lines, line) + return lines +end + +local math_max = math.max + +local function make_line_texture(line, lineno) + + local width = 0 + local maxw = 0 + + local words = { } + + -- We check which chars are available here. + for word_i, word in ipairs(line) do + local chars = { } + local ch_offs = 0 + for i = 1, #word do + local c = word:sub(i, i) + local w = charwidth[c] + if w then + width = width + w + 1 + if width >= (SIGN_WIDTH - charwidth[" "]) then + width = 0 + else + maxw = math_max(width, maxw) + end + table.insert(chars, { + off=ch_offs, + tex=FONT_FMT_SIMPLE:format(c:byte()) + }) + ch_offs = ch_offs + w + 1 + end + end + width = width + charwidth[" "] + 1 + maxw = math_max(width, maxw) + table.insert(words, { chars=chars, w=ch_offs }) + end + + -- Okay, we actually build the "line texture" here. + + local texture = { } + + local start_xpos = math.floor((SIGN_WIDTH - maxw) / 2) + + local xpos = start_xpos + local ypos = (LINE_HEIGHT * lineno) + + for word_i, word in ipairs(words) do + local xoffs = (xpos - start_xpos) + if (xoffs > 0) and ((xoffs + word.w) > maxw) then + xpos = start_xpos + ypos = ypos + (LINE_HEIGHT * LINE_SEP) + lineno = lineno + 1 + if lineno >= NUMBER_OF_LINES then break end + end + for ch_i, ch in ipairs(word.chars) do + table.insert(texture, (":%d,%d=%s"):format(xpos + ch.off, ypos, ch.tex)) + end + xpos = xpos + word.w + charwidth[" "] + end + + return table.concat(texture, ""), lineno +end + +local function copy ( t ) + local nt = { }; + for k, v in pairs(t) do + if type(v) == "table" then + nt[k] = copy(v) + else + nt[k] = v + end + end + return nt +end + +local function make_sign_texture(lines) + local texture = { ("[combine:%dx%d"):format(SIGN_WIDTH, LINE_HEIGHT * NUMBER_OF_LINES * LINE_SEP) } + local lineno = 0 + for i = 1, #lines do + if lineno >= NUMBER_OF_LINES then break end + local linetex, ln = make_line_texture(lines[i], lineno) + table.insert(texture, linetex) + lineno = ln + 1 + end + return table.concat(texture, "") +end + +local function set_obj_text(obj, text) + obj:set_properties({ + textures={make_sign_texture(split_lines_and_words(text))}, + visual_size = TEXT_SCALE, + }) +end + +homedecor.construct_sign = function(pos) local meta = minetest.get_meta(pos) meta:set_string("formspec", "field[text;;${text}]") meta:set_string("infotext", "") end -homedecor_destruct_sign = function(pos) +homedecor.destruct_sign = function(pos) local objects = minetest.get_objects_inside_radius(pos, 0.5) for _, v in ipairs(objects) do - if v:get_entity_name() == "signs:text" then + local e = v:get_luaentity() + if e and e.name == "signs:text" then v:remove() end end end -homedecor_update_sign = function(pos, fields) +local function make_infotext(text) + local lines = split_lines_and_words(text) + local lines2 = { } + for _, line in ipairs(lines) do + table.insert(lines2, table.concat(line, " ")) + end + return table.concat(lines2, "\n") +end + +homedecor.update_sign = function(pos, fields) local meta = minetest.get_meta(pos) if fields then - meta:set_string("infotext", table.concat(homedecor_create_lines(fields.text), "\n")) + meta:set_string("infotext", make_infotext(fields.text)) meta:set_string("text", fields.text) end local text = meta:get_string("text") local objects = minetest.get_objects_inside_radius(pos, 0.5) for _, v in ipairs(objects) do - if v:get_entity_name() == "signs:text" then - v:set_properties({textures={homedecor_generate_texture(homedecor_create_lines(text))}}) + local e = v:get_luaentity() + if e and e.name == "signs:text" then + set_obj_text(v, text) return end end @@ -100,113 +378,116 @@ homedecor_update_sign = function(pos, fields) text:setyaw(sign_info.yaw) end -minetest.register_node(":default:sign_wall", { - description = "Sign", - inventory_image = "default_sign_wall.png", - wield_image = "default_sign_wall.png", - node_placement_prediction = "", - paramtype = "light", - sunlight_propagates = true, - paramtype2 = "facedir", - drawtype = "nodebox", - node_box = {type = "fixed", fixed = {-0.45, -0.15, 0.4, 0.45, 0.45, 0.498}}, - selection_box = {type = "fixed", fixed = {-0.45, -0.15, 0.4, 0.45, 0.45, 0.498}}, - tiles = {"signs_top.png", "signs_bottom.png", "signs_side.png", "signs_side.png", "signs_back.png", "signs_front.png"}, - groups = sign_groups, +if not homedecor.disable_signs then + minetest.register_node(":default:sign_wall", { + description = "Sign", + inventory_image = "default_sign_wall.png", + wield_image = "default_sign_wall.png", + node_placement_prediction = "", + paramtype = "light", + sunlight_propagates = true, + paramtype2 = "facedir", + drawtype = "nodebox", + node_box = {type = "fixed", fixed = {-0.45, -0.15, 0.4, 0.45, 0.45, 0.498}}, + selection_box = {type = "fixed", fixed = {-0.45, -0.15, 0.4, 0.45, 0.45, 0.498}}, + tiles = {"signs_top.png", "signs_bottom.png", "signs_side.png", "signs_side.png", "signs_back.png", "signs_front.png"}, + groups = sign_groups, - on_place = function(itemstack, placer, pointed_thing) - local name - name = minetest.get_node(pointed_thing.under).name - if fences_with_sign[name] then - if homedecor_node_is_owned(pointed_thing.under, placer) then - return itemstack + on_place = function(itemstack, placer, pointed_thing) + local name + name = minetest.get_node(pointed_thing.under).name + if fences_with_sign[name] then + if homedecor:node_is_owned(pointed_thing.under, placer) then + return itemstack + end + else + name = minetest.get_node(pointed_thing.above).name + local def = minetest.registered_nodes[name] + if homedecor:node_is_owned(pointed_thing.above, placer) + or (not def.buildable_to) then + return itemstack + end end + + local node=minetest.get_node(pointed_thing.under) + + if minetest.registered_nodes[node.name] and minetest.registered_nodes[node.name].on_rightclick then + return minetest.registered_nodes[node.name].on_rightclick(pointed_thing.under, node, placer) else - name = minetest.get_node(pointed_thing.above).name - local def = minetest.registered_nodes[name] - if homedecor_node_is_owned(pointed_thing.above, placer) - or (not def.buildable_to) then - return itemstack + local above = pointed_thing.above + local under = pointed_thing.under + local dir = {x = under.x - above.x, + y = under.y - above.y, + z = under.z - above.z} + + local wdir = minetest.dir_to_wallmounted(dir) + + local placer_pos = placer:getpos() + if placer_pos then + dir = { + x = above.x - placer_pos.x, + y = above.y - placer_pos.y, + z = above.z - placer_pos.z + } end - end - local node=minetest.get_node(pointed_thing.under) + local fdir = minetest.dir_to_facedir(dir) - if minetest.registered_nodes[node.name] and minetest.registered_nodes[node.name].on_rightclick then - return minetest.registered_nodes[node.name].on_rightclick(pointed_thing.under, node, placer) - else - local above = pointed_thing.above - local under = pointed_thing.under - local dir = {x = under.x - above.x, - y = under.y - above.y, - z = under.z - above.z} + local sign_info + local pt_name = minetest.get_node(under).name + print(dump(pt_name)) - local wdir = minetest.dir_to_wallmounted(dir) + if fences_with_sign[pt_name] then + minetest.add_node(under, {name = fences_with_sign[pt_name], param2 = fdir}) + sign_info = signs_post[fdir + 1] - local placer_pos = placer:getpos() - if placer_pos then - dir = { - x = above.x - placer_pos.x, - y = above.y - placer_pos.y, - z = above.z - placer_pos.z - } - end + elseif wdir == 0 then + --how would you add sign to ceiling? + minetest.add_item(above, "default:sign_wall") + itemstack:take_item() + return itemstack + elseif wdir == 1 then + minetest.add_node(above, {name = "signs:sign_yard", param2 = fdir}) + sign_info = signs_yard[fdir + 1] + else + minetest.add_node(above, {name = "default:sign_wall", param2 = fdir}) + sign_info = signs[fdir + 1] + end - local fdir = minetest.dir_to_facedir(dir) + local text = minetest.add_entity({x = above.x + sign_info.delta.x, + y = above.y + sign_info.delta.y, + z = above.z + sign_info.delta.z}, "signs:text") + text:setyaw(sign_info.yaw) - local sign_info - local pt_name = minetest.get_node(under).name - print(dump(pt_name)) - - if fences_with_sign[pt_name] then - minetest.add_node(under, {name = fences_with_sign[pt_name], param2 = fdir}) - sign_info = signs_post[fdir + 1] - - elseif wdir == 0 then - --how would you add sign to ceiling? - minetest.add_item(above, "default:sign_wall") + + if not homedecor.expect_infinite_stacks then itemstack:take_item() - return itemstack - elseif wdir == 1 then - minetest.add_node(above, {name = "signs:sign_yard", param2 = fdir}) - sign_info = signs_yard[fdir + 1] - else - minetest.add_node(above, {name = "default:sign_wall", param2 = fdir}) - sign_info = signs[fdir + 1] + end + return itemstack end - - local text = minetest.add_entity({x = above.x + sign_info.delta.x, - y = above.y + sign_info.delta.y, - z = above.z + sign_info.delta.z}, "signs:text") - text:setyaw(sign_info.yaw) - - - if not homedecor_expect_infinite_stacks then - itemstack:take_item() - end - return itemstack - end - end, - on_construct = function(pos) - homedecor_construct_sign(pos) - end, - on_destruct = function(pos) - homedecor_destruct_sign(pos) - end, - on_receive_fields = function(pos, formname, fields, sender) - if fields then - print(S("%s wrote \"%s\" to sign at %s"):format( - (sender:get_player_name() or ""), - fields.text, - minetest.pos_to_string(pos) - )) - end - homedecor_update_sign(pos, fields) - end, - on_punch = function(pos, node, puncher) - homedecor_update_sign(pos) - end, -}) + end, + on_construct = function(pos) + homedecor.construct_sign(pos) + end, + on_destruct = function(pos) + homedecor.destruct_sign(pos) + end, + on_receive_fields = function(pos, formname, fields, sender) + if fields then + print(S("%s wrote \"%s\" to sign at %s"):format( + (sender:get_player_name() or ""), + fields.text, + minetest.pos_to_string(pos) + )) + end + if homedecor:node_is_owned(pos, sender) then return end + homedecor.update_sign(pos, fields) + end, + on_punch = function(pos, node, puncher) + homedecor.update_sign(pos) + end, + }) +end minetest.register_node(":signs:sign_yard", { paramtype = "light", @@ -223,10 +504,10 @@ minetest.register_node(":signs:sign_yard", { drop = "default:sign_wall", on_construct = function(pos) - homedecor_construct_sign(pos) + homedecor.construct_sign(pos) end, on_destruct = function(pos) - homedecor_destruct_sign(pos) + homedecor.destruct_sign(pos) end, on_receive_fields = function(pos, formname, fields, sender) if fields then @@ -236,11 +517,11 @@ minetest.register_node(":signs:sign_yard", { minetest.pos_to_string(pos) )) end - if homedecor_node_is_owned(pos, sender) then return end - homedecor_update_sign(pos, fields) + if homedecor:node_is_owned(pos, sender) then return end + homedecor.update_sign(pos, fields) end, on_punch = function(pos, node, puncher) - homedecor_update_sign(pos) + homedecor.update_sign(pos) end, }) @@ -281,141 +562,37 @@ minetest.register_node(":signs:sign_post", { }, }) +local signs_text_on_activate + +if not homedecor.disable_signs then + signs_text_on_activate = function(self) + local meta = minetest.get_meta(self.object:getpos()) + local text = meta:get_string("text") + set_obj_text(self.object, text) + end +else + signs_text_on_activate = function(self) + self.object:remove() + end +end + minetest.register_entity(":signs:text", { collisionbox = { 0, 0, 0, 0, 0, 0 }, visual = "upright_sprite", textures = {}, - on_activate = function(self) - local meta = minetest.get_meta(self.object:getpos()) - local text = meta:get_string("text") - self.object:set_properties({textures={homedecor_generate_texture(homedecor_create_lines(text))}}) - end + on_activate = signs_text_on_activate, }) --- CONSTANTS -local SIGN_WITH = 110 -local SIGN_PADDING = 8 +-- And the good stuff here! :-) -local LINE_LENGTH = 16 -local NUMBER_OF_LINES = 4 - -local LINE_HEIGHT = 14 -local CHAR_WIDTH = 5 - -homedecor_string_to_array = function(str) - local tab = {} - for i=1,string.len(str) do - table.insert(tab, string.sub(str, i,i)) - end - return tab -end - -homedecor_string_to_word_array = function(str) - local tab = {} - local current = 1 - tab[1] = "" - for _,char in ipairs(homedecor_string_to_array(str)) do - if char ~= " " then - tab[current] = tab[current]..char - else - current = current+1 - tab[current] = "" - end - end - return tab -end - -homedecor_create_lines = function(text) - local line = "" - local line_num = 1 - local tab = {} - for _,word in ipairs(homedecor_string_to_word_array(text)) do - if string.len(line)+string.len(word) < LINE_LENGTH and word ~= "|" then - if line ~= "" then - line = line.." "..word - else - line = word - end - else - table.insert(tab, line) - if word ~= "|" then - line = word - else - line = "" - end - line_num = line_num+1 - if line_num > NUMBER_OF_LINES then - return tab - end - end - end - table.insert(tab, line) - return tab -end - -homedecor_generate_texture = function(lines) - local texture = "[combine:"..SIGN_WITH.."x"..SIGN_WITH - local ypos = 12 - for i = 1, #lines do - texture = texture..homedecor_generate_line(lines[i], ypos) - ypos = ypos + LINE_HEIGHT - end - return texture -end - -homedecor_generate_line = function(s, ypos) - local i = 1 - local parsed = {} - local width = 0 - local chars = 0 - while chars < max_chars and i <= #s do - local file = nil - if charmap[s:sub(i, i)] ~= nil then - file = charmap[s:sub(i, i)] - i = i + 1 - elseif i < #s and charmap[s:sub(i, i + 1)] ~= nil then - file = charmap[s:sub(i, i + 1)] - i = i + 2 - else - print("[signs] W: unknown symbol in '"..s.."' at "..i.." (probably "..s:sub(i, i)..")") - i = i + 1 - end - if file ~= nil then - width = width + CHAR_WIDTH - table.insert(parsed, file) - chars = chars + 1 - end - end - width = width - 1 - - local texture = "" - local xpos = math.floor((SIGN_WITH - 2 * SIGN_PADDING - width) / 2 + SIGN_PADDING) - for i = 1, #parsed do - texture = texture..":"..xpos..","..ypos.."="..parsed[i]..".png" - xpos = xpos + CHAR_WIDTH + 1 - end - return texture -end - -local function copy ( t ) - local nt = { }; - for k, v in pairs(t) do - if type(v) == "table" then - nt[k] = copy(v) - else - nt[k] = v - end - end - return nt -end - -function homedecor_register_fence_with_sign(fencename, fencewithsignname) +function homedecor.register_fence_with_sign(fencename, fencewithsignname) local def = minetest.registered_nodes[fencename] local def_sign = minetest.registered_nodes[fencewithsignname] if not (def and def_sign) then - error("Attempt to register unknown node as fence") + minetest.log("warning", "[homedecor] Attempt to register unknown node as fence") + return end def = copy(def) def_sign = copy(def_sign) @@ -429,18 +606,18 @@ function homedecor_register_fence_with_sign(fencename, fencewithsignname) local fdir = minetest.dir_to_facedir(placer:get_look_dir()) if def_under and def_under.on_rightclick then return def_under.on_rightclick(pointed_thing.under, node_under, placer, itemstack) or itemstack - elseif (not homedecor_node_is_owned(pointed_thing.under, placer)) + elseif (not homedecor:node_is_owned(pointed_thing.under, placer)) and def_under.buildable_to then minetest.add_node(pointed_thing.under, {name = fencename, param2 = fdir}) - if not homedecor_expect_infinite_stacks then + if not homedecor.expect_infinite_stacks then itemstack:take_item() end placer:set_wielded_item(itemstack) return itemstack - elseif (not homedecor_node_is_owned(pointed_thing.above, placer)) + elseif (not homedecor:node_is_owned(pointed_thing.above, placer)) and def_above.buildable_to then minetest.add_node(pointed_thing.above, {name = fencename, param2 = fdir}) - if not homedecor_expect_infinite_stacks then + if not homedecor.expect_infinite_stacks then itemstack:take_item() end placer:set_wielded_item(itemstack) @@ -448,10 +625,10 @@ function homedecor_register_fence_with_sign(fencename, fencewithsignname) end end def_sign.on_construct = function(pos, ...) - homedecor_construct_sign(pos) + homedecor.construct_sign(pos) end def_sign.on_destruct = function(pos, ...) - homedecor_destruct_sign(pos) + homedecor.destruct_sign(pos) end def_sign.on_receive_fields = function(pos, formname, fields, sender, ...) if fields then @@ -461,11 +638,11 @@ function homedecor_register_fence_with_sign(fencename, fencewithsignname) minetest.pos_to_string(pos) )) end - if homedecor_node_is_owned(pos, sender) then return end - homedecor_update_sign(pos, fields) + if homedecor:node_is_owned(pos, sender) then return end + homedecor.update_sign(pos, fields) end def_sign.on_punch = function(pos, node, puncher, ...) - homedecor_update_sign(pos) + homedecor.update_sign(pos) end local fencename = fencename def_sign.after_dig_node = function(pos, node, ...) @@ -475,9 +652,11 @@ function homedecor_register_fence_with_sign(fencename, fencewithsignname) def_sign.drop = "default:sign_wall" minetest.register_node(":"..fencename, def) minetest.register_node(":"..fencewithsignname, def_sign) - print("Registered "..fencename.." and "..fencewithsignname) + print(S("Registered %s and %s"):format(fencename, fencewithsignname)) end +build_char_db() + if minetest.setting_get("log_mods") then minetest.log("action", S("signs loaded")) end diff --git a/slopes.lua b/slopes.lua index 84fc45cd..1436fab4 100644 --- a/slopes.lua +++ b/slopes.lua @@ -1,21 +1,14 @@ -- Various kinds of shingles --- Boilerplate to support localized strings if intllib mod is installed. -local S -if (minetest.get_modpath("intllib")) then - dofile(minetest.get_modpath("intllib").."/intllib.lua") - S = intllib.Getter(minetest.get_current_modname()) -else - S = function ( s ) return s end -end +local S = homedecor.gettext -- Corner shingle nodes, courtesy Bas080 -homedecor_detail_level = 16 +homedecor.detail_level = 16 -homedecor_register_outer_corner = function(modname, subname, groups, images, description) +homedecor.register_outer_corner = function(modname, subname, groups, images, description) local slopeboxedge = {} - local detail = homedecor_detail_level + local detail = homedecor.detail_level for i = 0, detail-1 do slopeboxedge[i+1]={-0.5, -0.5, (i/detail)-0.5, 0.5-(i/detail), (i/detail)-0.5+(1.25/detail), 0.5} end @@ -43,9 +36,9 @@ homedecor_register_outer_corner = function(modname, subname, groups, images, des }) end -homedecor_register_inner_corner = function(modname, subname, groups, images, description) +homedecor.register_inner_corner = function(modname, subname, groups, images, description) local slopeboxedge = {} - local detail = homedecor_detail_level + local detail = homedecor.detail_level for i = 0, detail-1 do slopeboxedge[i+1]={-0.5, -0.5, -0.5, 0.5-(i/detail), (i/detail)-0.5+(1.25/detail), 0.5} slopeboxedge[i+detail+1]={-0.5, -0.5, (i/detail)-0.5, 0.5, (i/detail)-0.5+(1.25/detail), 0.5} @@ -69,9 +62,9 @@ homedecor_register_inner_corner = function(modname, subname, groups, images, des }) end -homedecor_register_slope = function(modname, subname, recipeitem, groups, images, description) +homedecor.register_slope = function(modname, subname, recipeitem, groups, images, description) local slopeboxedge = {} - local detail = homedecor_detail_level + local detail = homedecor.detail_level for i = 0, detail-1 do slopeboxedge[i+1]={-0.5, -0.5, (i/detail)-0.5, 0.5, (i/detail)-0.5+(1.25/detail), 0.5} end @@ -127,8 +120,8 @@ homedecor_register_slope = function(modname, subname, recipeitem, groups, images minetest.register_craft({ output = modname..":shingle_outer_corner_"..subname.." 3", recipe = { - { "", modname..":shingles_side_"..subname, "" }, - { modname..":shingles_side_"..subname, "", modname..":shingles_side_"..subname }, + { "", modname..":shingle_side_"..subname, "" }, + { modname..":shingle_side_"..subname, "", modname..":shingle_side_"..subname }, } }) @@ -145,21 +138,21 @@ homedecor_register_slope = function(modname, subname, recipeitem, groups, images minetest.register_craft({ output = modname..":shingle_inner_corner_"..subname.." 3", recipe = { - {modname..":shingles_side_"..subname, modname..":shingles_side_"..subname}, - {"", modname..":shingles_side_"..subname} + {modname..":shingle_side_"..subname, modname..":shingle_side_"..subname}, + {"", modname..":shingle_side_"..subname} } }) -- convert between flat shingles and inner/outer corners minetest.register_craft({ type = "shapeless", - output = recipeitem.." 3", + output = recipeitem.." 1", recipe = { modname..":shingle_outer_corner_"..subname } }) minetest.register_craft({ type = "shapeless", - output = recipeitem.." 3", + output = recipeitem.." 1", recipe = { modname..":shingle_inner_corner_"..subname } }) end @@ -173,7 +166,7 @@ minetest.register_craft( { minetest.register_craft( { output = "homedecor:roof_tile_terracotta 8", - recipe = { + recipe = { { "homedecor:shingle_inner_corner_terracotta", "homedecor:shingle_inner_corner_terracotta" } } }) @@ -203,15 +196,15 @@ minetest.register_craft({ burntime = 30, }) -homedecor_register_roof = function(modname, subname, groups, images , description) - homedecor_register_outer_corner(modname, subname, groups, images, description) - homedecor_register_inner_corner(modname, subname, groups, images, description) +homedecor.register_roof = function(modname, subname, groups, images , description) + homedecor.register_outer_corner(modname, subname, groups, images, description) + homedecor.register_inner_corner(modname, subname, groups, images, description) end -- corners -homedecor_register_roof("homedecor", "wood", - { snappy = 3 }, +homedecor.register_roof("homedecor", "wood", + { snappy = 3 }, { "homedecor_shingles_wood_c_t.png", "homedecor_shingles_wood_c_x.png", @@ -219,12 +212,12 @@ homedecor_register_roof("homedecor", "wood", "homedecor_shingles_wood_c_x.png", "homedecor_shingles_wood_c_z.png", "homedecor_shingles_wood_c_z.png", - }, + }, "Wood Shingles" ) -homedecor_register_roof("homedecor", "asphalt", - { snappy = 3 }, +homedecor.register_roof("homedecor", "asphalt", + { snappy = 3 }, { "homedecor_shingles_asphalt_c_t.png", "homedecor_shingles_asphalt_c_x.png", @@ -232,12 +225,12 @@ homedecor_register_roof("homedecor", "asphalt", "homedecor_shingles_asphalt_c_x.png", "homedecor_shingles_asphalt_c_z.png", "homedecor_shingles_asphalt_c_z.png", - }, + }, "Asphalt Shingles" ) -homedecor_register_roof("homedecor", "terracotta", - { snappy = 3 }, +homedecor.register_roof("homedecor", "terracotta", + { snappy = 3 }, { "homedecor_shingles_terracotta_c_t.png", "homedecor_shingles_terracotta_c_x.png", @@ -251,9 +244,9 @@ homedecor_register_roof("homedecor", "terracotta", -- register just the slopes -homedecor_register_slope("homedecor", "wood", - "homedecor:shingles_wood", - { snappy = 3 }, +homedecor.register_slope("homedecor", "wood", + "homedecor:shingles_wood", + { snappy = 3 }, { "homedecor_shingles_wood_s_t.png", "homedecor_shingles_wood_s_z.png", @@ -261,13 +254,13 @@ homedecor_register_slope("homedecor", "wood", "homedecor_shingles_wood_s_z.png", "homedecor_shingles_wood_s_z.png", "homedecor_shingles_wood_s_z.png", - }, + }, "Wood Shingles" ) -homedecor_register_slope("homedecor", "asphalt", - "homedecor:shingles_asphalt", - { snappy = 3 }, +homedecor.register_slope("homedecor", "asphalt", + "homedecor:shingles_asphalt", + { snappy = 3 }, { "homedecor_shingles_asphalt_s_t.png", "homedecor_shingles_asphalt_s_z.png", @@ -275,13 +268,13 @@ homedecor_register_slope("homedecor", "asphalt", "homedecor_shingles_asphalt_s_z.png", "homedecor_shingles_asphalt_s_z.png", "homedecor_shingles_asphalt_s_z.png", - }, + }, "Asphalt Shingles" ) -homedecor_register_slope("homedecor", "terracotta", - "homedecor:shingles_terracotta", - { snappy = 3 }, +homedecor.register_slope("homedecor", "terracotta", + "homedecor:shingles_terracotta", + { snappy = 3 }, { "homedecor_shingles_terracotta_s_t.png", "homedecor_shingles_terracotta_s_z.png", diff --git a/tables.lua b/tables.lua index 0d0be4f7..fcdcac86 100644 --- a/tables.lua +++ b/tables.lua @@ -1,13 +1,6 @@ -- Various kinds of tables --- Boilerplate to support localized strings if intllib mod is installed. -local S -if (minetest.get_modpath("intllib")) then - dofile(minetest.get_modpath("intllib").."/intllib.lua") - S = intllib.Getter(minetest.get_current_modname()) -else - S = function ( s ) return s end -end +local S = homedecor.gettext materials = { {"glass","Glass"}, @@ -79,7 +72,7 @@ for i in ipairs(materials) do else minetest.add_node(above, {name = 'homedecor:'..m..'_table_small_square_b'}) end - if not homedecor_expect_infinite_stacks then + if not homedecor.expect_infinite_stacks then itemstack:take_item() return itemstack end @@ -207,7 +200,7 @@ for i in ipairs(materials) do else minetest.add_node(above, {name = 'homedecor:'..m..'_table_small_round_b'}) end - if not homedecor_expect_infinite_stacks then + if not homedecor.expect_infinite_stacks then itemstack:take_item() return itemstack end @@ -334,7 +327,7 @@ for i in ipairs(materials) do else minetest.add_node(above, {name = 'homedecor:'..m..'_table_large_b'}) end - if not homedecor_expect_infinite_stacks then + if not homedecor.expect_infinite_stacks then itemstack:take_item() return itemstack end diff --git a/textures/_0.png b/textures/_0.png deleted file mode 100644 index 4cde0513..00000000 Binary files a/textures/_0.png and /dev/null differ diff --git a/textures/_1.png b/textures/_1.png deleted file mode 100644 index 4c709bc9..00000000 Binary files a/textures/_1.png and /dev/null differ diff --git a/textures/_2.png b/textures/_2.png deleted file mode 100644 index 741bba03..00000000 Binary files a/textures/_2.png and /dev/null differ diff --git a/textures/_3.png b/textures/_3.png deleted file mode 100644 index 56c72641..00000000 Binary files a/textures/_3.png and /dev/null differ diff --git a/textures/_4.png b/textures/_4.png deleted file mode 100644 index f958039f..00000000 Binary files a/textures/_4.png and /dev/null differ diff --git a/textures/_5.png b/textures/_5.png deleted file mode 100644 index 9c97f557..00000000 Binary files a/textures/_5.png and /dev/null differ diff --git a/textures/_6.png b/textures/_6.png deleted file mode 100644 index f488057b..00000000 Binary files a/textures/_6.png and /dev/null differ diff --git a/textures/_7.png b/textures/_7.png deleted file mode 100644 index 1bc96a5e..00000000 Binary files a/textures/_7.png and /dev/null differ diff --git a/textures/_8.png b/textures/_8.png deleted file mode 100644 index ca574896..00000000 Binary files a/textures/_8.png and /dev/null differ diff --git a/textures/_9.png b/textures/_9.png deleted file mode 100644 index e690d467..00000000 Binary files a/textures/_9.png and /dev/null differ diff --git a/textures/_a.png b/textures/_a.png deleted file mode 100644 index 0d66eb40..00000000 Binary files a/textures/_a.png and /dev/null differ diff --git a/textures/_a_.png b/textures/_a_.png deleted file mode 100644 index eab424c4..00000000 Binary files a/textures/_a_.png and /dev/null differ diff --git a/textures/_am.png b/textures/_am.png deleted file mode 100644 index d187fe32..00000000 Binary files a/textures/_am.png and /dev/null differ diff --git a/textures/_ap.png b/textures/_ap.png deleted file mode 100644 index 4c44a616..00000000 Binary files a/textures/_ap.png and /dev/null differ diff --git a/textures/_as.png b/textures/_as.png deleted file mode 100644 index 3aa7a3e1..00000000 Binary files a/textures/_as.png and /dev/null differ diff --git a/textures/_at.png b/textures/_at.png deleted file mode 100644 index bdd84d2c..00000000 Binary files a/textures/_at.png and /dev/null differ diff --git a/textures/_b.png b/textures/_b.png deleted file mode 100644 index 8eb71d54..00000000 Binary files a/textures/_b.png and /dev/null differ diff --git a/textures/_b_.png b/textures/_b_.png deleted file mode 100644 index f3dc2074..00000000 Binary files a/textures/_b_.png and /dev/null differ diff --git a/textures/_bl.png b/textures/_bl.png deleted file mode 100644 index b2a03a24..00000000 Binary files a/textures/_bl.png and /dev/null differ diff --git a/textures/_br.png b/textures/_br.png deleted file mode 100644 index f845aad9..00000000 Binary files a/textures/_br.png and /dev/null differ diff --git a/textures/_c.png b/textures/_c.png deleted file mode 100644 index dabe702b..00000000 Binary files a/textures/_c.png and /dev/null differ diff --git a/textures/_c_.png b/textures/_c_.png deleted file mode 100644 index fea49cbb..00000000 Binary files a/textures/_c_.png and /dev/null differ diff --git a/textures/_ca.png b/textures/_ca.png deleted file mode 100644 index 7c5eabd9..00000000 Binary files a/textures/_ca.png and /dev/null differ diff --git a/textures/_cl.png b/textures/_cl.png deleted file mode 100644 index b8c269b6..00000000 Binary files a/textures/_cl.png and /dev/null differ diff --git a/textures/_cm.png b/textures/_cm.png deleted file mode 100644 index f637f4ab..00000000 Binary files a/textures/_cm.png and /dev/null differ diff --git a/textures/_co.png b/textures/_co.png deleted file mode 100644 index ae97df03..00000000 Binary files a/textures/_co.png and /dev/null differ diff --git a/textures/_cr.png b/textures/_cr.png deleted file mode 100644 index f23464d1..00000000 Binary files a/textures/_cr.png and /dev/null differ diff --git a/textures/_d.png b/textures/_d.png deleted file mode 100644 index 4ae78f2a..00000000 Binary files a/textures/_d.png and /dev/null differ diff --git a/textures/_d_.png b/textures/_d_.png deleted file mode 100644 index 33346ef3..00000000 Binary files a/textures/_d_.png and /dev/null differ diff --git a/textures/_dl.png b/textures/_dl.png deleted file mode 100644 index 21c6b3d8..00000000 Binary files a/textures/_dl.png and /dev/null differ diff --git a/textures/_dt.png b/textures/_dt.png deleted file mode 100644 index 271886fb..00000000 Binary files a/textures/_dt.png and /dev/null differ diff --git a/textures/_dv.png b/textures/_dv.png deleted file mode 100644 index 987804cc..00000000 Binary files a/textures/_dv.png and /dev/null differ diff --git a/textures/_e.png b/textures/_e.png deleted file mode 100644 index 25baf3d6..00000000 Binary files a/textures/_e.png and /dev/null differ diff --git a/textures/_e_.png b/textures/_e_.png deleted file mode 100644 index 140b24f1..00000000 Binary files a/textures/_e_.png and /dev/null differ diff --git a/textures/_eq.png b/textures/_eq.png deleted file mode 100644 index d4726873..00000000 Binary files a/textures/_eq.png and /dev/null differ diff --git a/textures/_ex.png b/textures/_ex.png deleted file mode 100644 index eb30a3f7..00000000 Binary files a/textures/_ex.png and /dev/null differ diff --git a/textures/_f.png b/textures/_f.png deleted file mode 100644 index b8c956e2..00000000 Binary files a/textures/_f.png and /dev/null differ diff --git a/textures/_f_.png b/textures/_f_.png deleted file mode 100644 index 02145d6e..00000000 Binary files a/textures/_f_.png and /dev/null differ diff --git a/textures/_g.png b/textures/_g.png deleted file mode 100644 index e809574b..00000000 Binary files a/textures/_g.png and /dev/null differ diff --git a/textures/_g_.png b/textures/_g_.png deleted file mode 100644 index 96621b16..00000000 Binary files a/textures/_g_.png and /dev/null differ diff --git a/textures/_gt.png b/textures/_gt.png deleted file mode 100644 index 4ce02e89..00000000 Binary files a/textures/_gt.png and /dev/null differ diff --git a/textures/_h.png b/textures/_h.png deleted file mode 100644 index f8719797..00000000 Binary files a/textures/_h.png and /dev/null differ diff --git a/textures/_h_.png b/textures/_h_.png deleted file mode 100644 index 8cf3fa4a..00000000 Binary files a/textures/_h_.png and /dev/null differ diff --git a/textures/_ha.png b/textures/_ha.png deleted file mode 100644 index 3eff069f..00000000 Binary files a/textures/_ha.png and /dev/null differ diff --git a/textures/_hs.png b/textures/_hs.png deleted file mode 100644 index 6f46e6e1..00000000 Binary files a/textures/_hs.png and /dev/null differ diff --git a/textures/_i.png b/textures/_i.png deleted file mode 100644 index 421a1bb7..00000000 Binary files a/textures/_i.png and /dev/null differ diff --git a/textures/_i_.png b/textures/_i_.png deleted file mode 100644 index d533cf9d..00000000 Binary files a/textures/_i_.png and /dev/null differ diff --git a/textures/_j.png b/textures/_j.png deleted file mode 100644 index 057d7eb0..00000000 Binary files a/textures/_j.png and /dev/null differ diff --git a/textures/_j_.png b/textures/_j_.png deleted file mode 100644 index f1f6cf50..00000000 Binary files a/textures/_j_.png and /dev/null differ diff --git a/textures/_k.png b/textures/_k.png deleted file mode 100644 index 564c593b..00000000 Binary files a/textures/_k.png and /dev/null differ diff --git a/textures/_k_.png b/textures/_k_.png deleted file mode 100644 index 72f8859b..00000000 Binary files a/textures/_k_.png and /dev/null differ diff --git a/textures/_l.png b/textures/_l.png deleted file mode 100644 index 7875ef9c..00000000 Binary files a/textures/_l.png and /dev/null differ diff --git a/textures/_l_.png b/textures/_l_.png deleted file mode 100644 index 05eccbc6..00000000 Binary files a/textures/_l_.png and /dev/null differ diff --git a/textures/_lt.png b/textures/_lt.png deleted file mode 100644 index 29bed046..00000000 Binary files a/textures/_lt.png and /dev/null differ diff --git a/textures/_m.png b/textures/_m.png deleted file mode 100644 index 58320aaf..00000000 Binary files a/textures/_m.png and /dev/null differ diff --git a/textures/_m_.png b/textures/_m_.png deleted file mode 100644 index 60e7c739..00000000 Binary files a/textures/_m_.png and /dev/null differ diff --git a/textures/_mn.png b/textures/_mn.png deleted file mode 100644 index 17541b2e..00000000 Binary files a/textures/_mn.png and /dev/null differ diff --git a/textures/_n.png b/textures/_n.png deleted file mode 100644 index 4322fa59..00000000 Binary files a/textures/_n.png and /dev/null differ diff --git a/textures/_n_.png b/textures/_n_.png deleted file mode 100644 index cfd43ba2..00000000 Binary files a/textures/_n_.png and /dev/null differ diff --git a/textures/_o.png b/textures/_o.png deleted file mode 100644 index 539c44ac..00000000 Binary files a/textures/_o.png and /dev/null differ diff --git a/textures/_o_.png b/textures/_o_.png deleted file mode 100644 index 931a003d..00000000 Binary files a/textures/_o_.png and /dev/null differ diff --git a/textures/_p.png b/textures/_p.png deleted file mode 100644 index 4f401394..00000000 Binary files a/textures/_p.png and /dev/null differ diff --git a/textures/_p_.png b/textures/_p_.png deleted file mode 100644 index 56abf2d2..00000000 Binary files a/textures/_p_.png and /dev/null differ diff --git a/textures/_pr.png b/textures/_pr.png deleted file mode 100644 index 0645e047..00000000 Binary files a/textures/_pr.png and /dev/null differ diff --git a/textures/_ps.png b/textures/_ps.png deleted file mode 100644 index 8d822abf..00000000 Binary files a/textures/_ps.png and /dev/null differ diff --git a/textures/_q.png b/textures/_q.png deleted file mode 100644 index f73c8359..00000000 Binary files a/textures/_q.png and /dev/null differ diff --git a/textures/_q_.png b/textures/_q_.png deleted file mode 100644 index 534924ed..00000000 Binary files a/textures/_q_.png and /dev/null differ diff --git a/textures/_qo.png b/textures/_qo.png deleted file mode 100644 index 21a6b3e8..00000000 Binary files a/textures/_qo.png and /dev/null differ diff --git a/textures/_qu.png b/textures/_qu.png deleted file mode 100644 index 69631311..00000000 Binary files a/textures/_qu.png and /dev/null differ diff --git a/textures/_r.png b/textures/_r.png deleted file mode 100644 index f30c9835..00000000 Binary files a/textures/_r.png and /dev/null differ diff --git a/textures/_r_.png b/textures/_r_.png deleted file mode 100644 index 7e63a20d..00000000 Binary files a/textures/_r_.png and /dev/null differ diff --git a/textures/_re.png b/textures/_re.png deleted file mode 100644 index abf907f5..00000000 Binary files a/textures/_re.png and /dev/null differ diff --git a/textures/_s.png b/textures/_s.png deleted file mode 100644 index 8564681a..00000000 Binary files a/textures/_s.png and /dev/null differ diff --git a/textures/_s_.png b/textures/_s_.png deleted file mode 100644 index a19b907a..00000000 Binary files a/textures/_s_.png and /dev/null differ diff --git a/textures/_sl.png b/textures/_sl.png deleted file mode 100644 index 49f213bd..00000000 Binary files a/textures/_sl.png and /dev/null differ diff --git a/textures/_sm.png b/textures/_sm.png deleted file mode 100644 index d6e4ab06..00000000 Binary files a/textures/_sm.png and /dev/null differ diff --git a/textures/_sp.png b/textures/_sp.png deleted file mode 100644 index 70d9b152..00000000 Binary files a/textures/_sp.png and /dev/null differ diff --git a/textures/_sr.png b/textures/_sr.png deleted file mode 100644 index 7d135186..00000000 Binary files a/textures/_sr.png and /dev/null differ diff --git a/textures/_t.png b/textures/_t.png deleted file mode 100644 index e965037a..00000000 Binary files a/textures/_t.png and /dev/null differ diff --git a/textures/_t_.png b/textures/_t_.png deleted file mode 100644 index 42cf212a..00000000 Binary files a/textures/_t_.png and /dev/null differ diff --git a/textures/_tl.png b/textures/_tl.png deleted file mode 100644 index 07443d38..00000000 Binary files a/textures/_tl.png and /dev/null differ diff --git a/textures/_u.png b/textures/_u.png deleted file mode 100644 index 348bc93b..00000000 Binary files a/textures/_u.png and /dev/null differ diff --git a/textures/_u_.png b/textures/_u_.png deleted file mode 100644 index 42be4ed9..00000000 Binary files a/textures/_u_.png and /dev/null differ diff --git a/textures/_un.png b/textures/_un.png deleted file mode 100644 index 1a1d6a93..00000000 Binary files a/textures/_un.png and /dev/null differ diff --git a/textures/_v.png b/textures/_v.png deleted file mode 100644 index bf70c3c0..00000000 Binary files a/textures/_v.png and /dev/null differ diff --git a/textures/_v_.png b/textures/_v_.png deleted file mode 100644 index abe633ed..00000000 Binary files a/textures/_v_.png and /dev/null differ diff --git a/textures/_vb.png b/textures/_vb.png deleted file mode 100644 index 6d2b7439..00000000 Binary files a/textures/_vb.png and /dev/null differ diff --git a/textures/_w.png b/textures/_w.png deleted file mode 100644 index 9011afa0..00000000 Binary files a/textures/_w.png and /dev/null differ diff --git a/textures/_w_.png b/textures/_w_.png deleted file mode 100644 index 327d947e..00000000 Binary files a/textures/_w_.png and /dev/null differ diff --git a/textures/_x.png b/textures/_x.png deleted file mode 100644 index 4fd3efff..00000000 Binary files a/textures/_x.png and /dev/null differ diff --git a/textures/_x_.png b/textures/_x_.png deleted file mode 100644 index 35fc3e40..00000000 Binary files a/textures/_x_.png and /dev/null differ diff --git a/textures/_y.png b/textures/_y.png deleted file mode 100644 index 9cd323df..00000000 Binary files a/textures/_y.png and /dev/null differ diff --git a/textures/_y_.png b/textures/_y_.png deleted file mode 100644 index 70cec732..00000000 Binary files a/textures/_y_.png and /dev/null differ diff --git a/textures/_z.png b/textures/_z.png deleted file mode 100644 index 160d9ccc..00000000 Binary files a/textures/_z.png and /dev/null differ diff --git a/textures/_z_.png b/textures/_z_.png deleted file mode 100644 index c0b83748..00000000 Binary files a/textures/_z_.png and /dev/null differ diff --git a/textures/hdf_20.png b/textures/hdf_20.png new file mode 100644 index 00000000..ccf056d2 Binary files /dev/null and b/textures/hdf_20.png differ diff --git a/textures/hdf_21.png b/textures/hdf_21.png new file mode 100644 index 00000000..bb60da98 Binary files /dev/null and b/textures/hdf_21.png differ diff --git a/textures/hdf_22.png b/textures/hdf_22.png new file mode 100644 index 00000000..e4f7fa97 Binary files /dev/null and b/textures/hdf_22.png differ diff --git a/textures/hdf_23.png b/textures/hdf_23.png new file mode 100644 index 00000000..09f5fbd9 Binary files /dev/null and b/textures/hdf_23.png differ diff --git a/textures/hdf_24.png b/textures/hdf_24.png new file mode 100644 index 00000000..9ce9de07 Binary files /dev/null and b/textures/hdf_24.png differ diff --git a/textures/hdf_25.png b/textures/hdf_25.png new file mode 100644 index 00000000..effd5156 Binary files /dev/null and b/textures/hdf_25.png differ diff --git a/textures/hdf_26.png b/textures/hdf_26.png new file mode 100644 index 00000000..d36c40e5 Binary files /dev/null and b/textures/hdf_26.png differ diff --git a/textures/hdf_27.png b/textures/hdf_27.png new file mode 100644 index 00000000..30dcfdd0 Binary files /dev/null and b/textures/hdf_27.png differ diff --git a/textures/hdf_28.png b/textures/hdf_28.png new file mode 100644 index 00000000..e50b3942 Binary files /dev/null and b/textures/hdf_28.png differ diff --git a/textures/hdf_29.png b/textures/hdf_29.png new file mode 100644 index 00000000..019551bb Binary files /dev/null and b/textures/hdf_29.png differ diff --git a/textures/hdf_2a.png b/textures/hdf_2a.png new file mode 100644 index 00000000..0481e537 Binary files /dev/null and b/textures/hdf_2a.png differ diff --git a/textures/hdf_2b.png b/textures/hdf_2b.png new file mode 100644 index 00000000..111cff5f Binary files /dev/null and b/textures/hdf_2b.png differ diff --git a/textures/hdf_2c.png b/textures/hdf_2c.png new file mode 100644 index 00000000..e2d86424 Binary files /dev/null and b/textures/hdf_2c.png differ diff --git a/textures/hdf_2d.png b/textures/hdf_2d.png new file mode 100644 index 00000000..e3fa218d Binary files /dev/null and b/textures/hdf_2d.png differ diff --git a/textures/hdf_2e.png b/textures/hdf_2e.png new file mode 100644 index 00000000..fb7df9b8 Binary files /dev/null and b/textures/hdf_2e.png differ diff --git a/textures/hdf_2f.png b/textures/hdf_2f.png new file mode 100644 index 00000000..41015155 Binary files /dev/null and b/textures/hdf_2f.png differ diff --git a/textures/hdf_30.png b/textures/hdf_30.png new file mode 100644 index 00000000..66fb225f Binary files /dev/null and b/textures/hdf_30.png differ diff --git a/textures/hdf_31.png b/textures/hdf_31.png new file mode 100644 index 00000000..3f179f71 Binary files /dev/null and b/textures/hdf_31.png differ diff --git a/textures/hdf_32.png b/textures/hdf_32.png new file mode 100644 index 00000000..bf63f29b Binary files /dev/null and b/textures/hdf_32.png differ diff --git a/textures/hdf_33.png b/textures/hdf_33.png new file mode 100644 index 00000000..bb761cac Binary files /dev/null and b/textures/hdf_33.png differ diff --git a/textures/hdf_34.png b/textures/hdf_34.png new file mode 100644 index 00000000..235269fd Binary files /dev/null and b/textures/hdf_34.png differ diff --git a/textures/hdf_35.png b/textures/hdf_35.png new file mode 100644 index 00000000..22ddf24d Binary files /dev/null and b/textures/hdf_35.png differ diff --git a/textures/hdf_36.png b/textures/hdf_36.png new file mode 100644 index 00000000..c4e8e715 Binary files /dev/null and b/textures/hdf_36.png differ diff --git a/textures/hdf_37.png b/textures/hdf_37.png new file mode 100644 index 00000000..f11b1fe6 Binary files /dev/null and b/textures/hdf_37.png differ diff --git a/textures/hdf_38.png b/textures/hdf_38.png new file mode 100644 index 00000000..ae1a843b Binary files /dev/null and b/textures/hdf_38.png differ diff --git a/textures/hdf_39.png b/textures/hdf_39.png new file mode 100644 index 00000000..b353cfb6 Binary files /dev/null and b/textures/hdf_39.png differ diff --git a/textures/hdf_3a.png b/textures/hdf_3a.png new file mode 100644 index 00000000..d5bff550 Binary files /dev/null and b/textures/hdf_3a.png differ diff --git a/textures/hdf_3b.png b/textures/hdf_3b.png new file mode 100644 index 00000000..a89efa9f Binary files /dev/null and b/textures/hdf_3b.png differ diff --git a/textures/hdf_3c.png b/textures/hdf_3c.png new file mode 100644 index 00000000..e6c507ee Binary files /dev/null and b/textures/hdf_3c.png differ diff --git a/textures/hdf_3d.png b/textures/hdf_3d.png new file mode 100644 index 00000000..5532d24f Binary files /dev/null and b/textures/hdf_3d.png differ diff --git a/textures/hdf_3e.png b/textures/hdf_3e.png new file mode 100644 index 00000000..8f0ce338 Binary files /dev/null and b/textures/hdf_3e.png differ diff --git a/textures/hdf_3f.png b/textures/hdf_3f.png new file mode 100644 index 00000000..69b76198 Binary files /dev/null and b/textures/hdf_3f.png differ diff --git a/textures/hdf_40.png b/textures/hdf_40.png new file mode 100644 index 00000000..838fd10d Binary files /dev/null and b/textures/hdf_40.png differ diff --git a/textures/hdf_41.png b/textures/hdf_41.png new file mode 100644 index 00000000..35e8c4fa Binary files /dev/null and b/textures/hdf_41.png differ diff --git a/textures/hdf_42.png b/textures/hdf_42.png new file mode 100644 index 00000000..c8433640 Binary files /dev/null and b/textures/hdf_42.png differ diff --git a/textures/hdf_43.png b/textures/hdf_43.png new file mode 100644 index 00000000..c6fafd09 Binary files /dev/null and b/textures/hdf_43.png differ diff --git a/textures/hdf_44.png b/textures/hdf_44.png new file mode 100644 index 00000000..81ebbe2a Binary files /dev/null and b/textures/hdf_44.png differ diff --git a/textures/hdf_45.png b/textures/hdf_45.png new file mode 100644 index 00000000..9a6b9019 Binary files /dev/null and b/textures/hdf_45.png differ diff --git a/textures/hdf_46.png b/textures/hdf_46.png new file mode 100644 index 00000000..68f05c53 Binary files /dev/null and b/textures/hdf_46.png differ diff --git a/textures/hdf_47.png b/textures/hdf_47.png new file mode 100644 index 00000000..1c897821 Binary files /dev/null and b/textures/hdf_47.png differ diff --git a/textures/hdf_48.png b/textures/hdf_48.png new file mode 100644 index 00000000..8e873e25 Binary files /dev/null and b/textures/hdf_48.png differ diff --git a/textures/hdf_49.png b/textures/hdf_49.png new file mode 100644 index 00000000..66a4e7bc Binary files /dev/null and b/textures/hdf_49.png differ diff --git a/textures/hdf_4a.png b/textures/hdf_4a.png new file mode 100644 index 00000000..5e27be11 Binary files /dev/null and b/textures/hdf_4a.png differ diff --git a/textures/hdf_4b.png b/textures/hdf_4b.png new file mode 100644 index 00000000..c0e0e285 Binary files /dev/null and b/textures/hdf_4b.png differ diff --git a/textures/hdf_4c.png b/textures/hdf_4c.png new file mode 100644 index 00000000..c93b69e9 Binary files /dev/null and b/textures/hdf_4c.png differ diff --git a/textures/hdf_4d.png b/textures/hdf_4d.png new file mode 100644 index 00000000..f6f9328c Binary files /dev/null and b/textures/hdf_4d.png differ diff --git a/textures/hdf_4e.png b/textures/hdf_4e.png new file mode 100644 index 00000000..d2f0123a Binary files /dev/null and b/textures/hdf_4e.png differ diff --git a/textures/hdf_4f.png b/textures/hdf_4f.png new file mode 100644 index 00000000..83eeadf4 Binary files /dev/null and b/textures/hdf_4f.png differ diff --git a/textures/hdf_50.png b/textures/hdf_50.png new file mode 100644 index 00000000..359b3eef Binary files /dev/null and b/textures/hdf_50.png differ diff --git a/textures/hdf_51.png b/textures/hdf_51.png new file mode 100644 index 00000000..0033b73b Binary files /dev/null and b/textures/hdf_51.png differ diff --git a/textures/hdf_52.png b/textures/hdf_52.png new file mode 100644 index 00000000..07c019ee Binary files /dev/null and b/textures/hdf_52.png differ diff --git a/textures/hdf_53.png b/textures/hdf_53.png new file mode 100644 index 00000000..5c719a6b Binary files /dev/null and b/textures/hdf_53.png differ diff --git a/textures/hdf_54.png b/textures/hdf_54.png new file mode 100644 index 00000000..a57eada2 Binary files /dev/null and b/textures/hdf_54.png differ diff --git a/textures/hdf_55.png b/textures/hdf_55.png new file mode 100644 index 00000000..85f843e1 Binary files /dev/null and b/textures/hdf_55.png differ diff --git a/textures/hdf_56.png b/textures/hdf_56.png new file mode 100644 index 00000000..ede2174b Binary files /dev/null and b/textures/hdf_56.png differ diff --git a/textures/hdf_57.png b/textures/hdf_57.png new file mode 100644 index 00000000..34ddccf8 Binary files /dev/null and b/textures/hdf_57.png differ diff --git a/textures/hdf_58.png b/textures/hdf_58.png new file mode 100644 index 00000000..44a11ba4 Binary files /dev/null and b/textures/hdf_58.png differ diff --git a/textures/hdf_59.png b/textures/hdf_59.png new file mode 100644 index 00000000..8e96ed26 Binary files /dev/null and b/textures/hdf_59.png differ diff --git a/textures/hdf_5a.png b/textures/hdf_5a.png new file mode 100644 index 00000000..ed052236 Binary files /dev/null and b/textures/hdf_5a.png differ diff --git a/textures/hdf_5b.png b/textures/hdf_5b.png new file mode 100644 index 00000000..c60f6400 Binary files /dev/null and b/textures/hdf_5b.png differ diff --git a/textures/hdf_5c.png b/textures/hdf_5c.png new file mode 100644 index 00000000..6acbcb58 Binary files /dev/null and b/textures/hdf_5c.png differ diff --git a/textures/hdf_5d.png b/textures/hdf_5d.png new file mode 100644 index 00000000..225450ae Binary files /dev/null and b/textures/hdf_5d.png differ diff --git a/textures/hdf_5e.png b/textures/hdf_5e.png new file mode 100644 index 00000000..b60f84bb Binary files /dev/null and b/textures/hdf_5e.png differ diff --git a/textures/hdf_5f.png b/textures/hdf_5f.png new file mode 100644 index 00000000..ff970f2e Binary files /dev/null and b/textures/hdf_5f.png differ diff --git a/textures/hdf_60.png b/textures/hdf_60.png new file mode 100644 index 00000000..c76b1b03 Binary files /dev/null and b/textures/hdf_60.png differ diff --git a/textures/hdf_61.png b/textures/hdf_61.png new file mode 100644 index 00000000..209cf87e Binary files /dev/null and b/textures/hdf_61.png differ diff --git a/textures/hdf_62.png b/textures/hdf_62.png new file mode 100644 index 00000000..62c2335e Binary files /dev/null and b/textures/hdf_62.png differ diff --git a/textures/hdf_63.png b/textures/hdf_63.png new file mode 100644 index 00000000..deb4e416 Binary files /dev/null and b/textures/hdf_63.png differ diff --git a/textures/hdf_64.png b/textures/hdf_64.png new file mode 100644 index 00000000..349935da Binary files /dev/null and b/textures/hdf_64.png differ diff --git a/textures/hdf_65.png b/textures/hdf_65.png new file mode 100644 index 00000000..71fd1c05 Binary files /dev/null and b/textures/hdf_65.png differ diff --git a/textures/hdf_66.png b/textures/hdf_66.png new file mode 100644 index 00000000..b111fd89 Binary files /dev/null and b/textures/hdf_66.png differ diff --git a/textures/hdf_67.png b/textures/hdf_67.png new file mode 100644 index 00000000..d46ac645 Binary files /dev/null and b/textures/hdf_67.png differ diff --git a/textures/hdf_68.png b/textures/hdf_68.png new file mode 100644 index 00000000..3aa9ac3a Binary files /dev/null and b/textures/hdf_68.png differ diff --git a/textures/hdf_69.png b/textures/hdf_69.png new file mode 100644 index 00000000..37c9efbd Binary files /dev/null and b/textures/hdf_69.png differ diff --git a/textures/hdf_6a.png b/textures/hdf_6a.png new file mode 100644 index 00000000..2ffa17fc Binary files /dev/null and b/textures/hdf_6a.png differ diff --git a/textures/hdf_6b.png b/textures/hdf_6b.png new file mode 100644 index 00000000..4fbfa3a3 Binary files /dev/null and b/textures/hdf_6b.png differ diff --git a/textures/hdf_6c.png b/textures/hdf_6c.png new file mode 100644 index 00000000..66a4e7bc Binary files /dev/null and b/textures/hdf_6c.png differ diff --git a/textures/hdf_6d.png b/textures/hdf_6d.png new file mode 100644 index 00000000..8476fd8f Binary files /dev/null and b/textures/hdf_6d.png differ diff --git a/textures/hdf_6e.png b/textures/hdf_6e.png new file mode 100644 index 00000000..59416e6f Binary files /dev/null and b/textures/hdf_6e.png differ diff --git a/textures/hdf_6f.png b/textures/hdf_6f.png new file mode 100644 index 00000000..f53d0c2b Binary files /dev/null and b/textures/hdf_6f.png differ diff --git a/textures/hdf_70.png b/textures/hdf_70.png new file mode 100644 index 00000000..02d47df1 Binary files /dev/null and b/textures/hdf_70.png differ diff --git a/textures/hdf_71.png b/textures/hdf_71.png new file mode 100644 index 00000000..5de62070 Binary files /dev/null and b/textures/hdf_71.png differ diff --git a/textures/hdf_72.png b/textures/hdf_72.png new file mode 100644 index 00000000..7d57396f Binary files /dev/null and b/textures/hdf_72.png differ diff --git a/textures/hdf_73.png b/textures/hdf_73.png new file mode 100644 index 00000000..f1508f03 Binary files /dev/null and b/textures/hdf_73.png differ diff --git a/textures/hdf_74.png b/textures/hdf_74.png new file mode 100644 index 00000000..079be08e Binary files /dev/null and b/textures/hdf_74.png differ diff --git a/textures/hdf_75.png b/textures/hdf_75.png new file mode 100644 index 00000000..a1a674de Binary files /dev/null and b/textures/hdf_75.png differ diff --git a/textures/hdf_76.png b/textures/hdf_76.png new file mode 100644 index 00000000..df9d81f6 Binary files /dev/null and b/textures/hdf_76.png differ diff --git a/textures/hdf_77.png b/textures/hdf_77.png new file mode 100644 index 00000000..ebd6907e Binary files /dev/null and b/textures/hdf_77.png differ diff --git a/textures/hdf_78.png b/textures/hdf_78.png new file mode 100644 index 00000000..040d256e Binary files /dev/null and b/textures/hdf_78.png differ diff --git a/textures/hdf_79.png b/textures/hdf_79.png new file mode 100644 index 00000000..f6bcdac7 Binary files /dev/null and b/textures/hdf_79.png differ diff --git a/textures/hdf_7a.png b/textures/hdf_7a.png new file mode 100644 index 00000000..b2a6f094 Binary files /dev/null and b/textures/hdf_7a.png differ diff --git a/textures/hdf_7b.png b/textures/hdf_7b.png new file mode 100644 index 00000000..a2b51ca1 Binary files /dev/null and b/textures/hdf_7b.png differ diff --git a/textures/hdf_7c.png b/textures/hdf_7c.png new file mode 100644 index 00000000..e30da05d Binary files /dev/null and b/textures/hdf_7c.png differ diff --git a/textures/hdf_7d.png b/textures/hdf_7d.png new file mode 100644 index 00000000..863eb9ee Binary files /dev/null and b/textures/hdf_7d.png differ diff --git a/textures/hdf_7e.png b/textures/hdf_7e.png new file mode 100644 index 00000000..6210ddfd Binary files /dev/null and b/textures/hdf_7e.png differ