diff --git a/characters b/characters new file mode 100644 index 00000000..83d65050 --- /dev/null +++ b/characters @@ -0,0 +1,279 @@ +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 +; +_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 69490e1a..b4b03471 100644 --- a/crafts.lua +++ b/crafts.lua @@ -1321,6 +1321,29 @@ minetest.register_craft( { }, }) +-- the version of brass/wrought iron fences with signs attached + + +minetest.register_craft( { + type = "shapeless", + output = 'homedecor:fence_brass_with_sign', + recipe = { + 'homedecor:fence_brass', + 'default:sign_wall', + }, +}) + +minetest.register_craft( { + type = "shapeless", + output = 'homedecor:fence_wrought_iron_with_sign', + recipe = { + 'homedecor:fence_wrought_iron', + 'default:sign_wall', + }, +}) + +-- other types of fences/gates + minetest.register_craft( { output = "homedecor:fence_picket 6", recipe = { diff --git a/fences.lua b/fences.lua index faa2ca2d..d9bd7cfd 100644 --- a/fences.lua +++ b/fences.lua @@ -1,39 +1,148 @@ -- This file adds fences of various types minetest.register_node("homedecor:fence_brass", { - description = "Brass Fence/railing", - drawtype = "fencelike", - tiles = {"homedecor_tile_brass.png"}, - inventory_image = "homedecor_fence_brass.png", - wield_image = "homedecor_pole_brass.png", - paramtype = "light", - is_ground_content = true, - selection_box = { - type = "fixed", - fixed = {-1/7, -1/2, -1/7, 1/7, 1/2, 1/7}, - }, - groups = {snappy=3}, - sounds = default.node_sound_wood_defaults(), + description = "Brass Fence/railing", + drawtype = "fencelike", + tiles = {"homedecor_tile_brass.png"}, + inventory_image = "homedecor_fence_brass.png", + wield_image = "homedecor_pole_brass.png", + paramtype = "light", + selection_box = { + type = "fixed", + fixed = {-1/7, -1/2, -1/7, 1/7, 1/2, 1/7}, + }, + groups = {snappy=3}, + sounds = default.node_sound_wood_defaults(), walkable = true, }) + minetest.register_node("homedecor:fence_wrought_iron", { - description = "Wrought Iron Fence/railing", - drawtype = "fencelike", - tiles = {"homedecor_tile_wrought_iron.png"}, - inventory_image = "homedecor_fence_wrought_iron.png", - wield_image = "homedecor_pole_wrought_iron.png", - paramtype = "light", - is_ground_content = true, - selection_box = { - type = "fixed", - fixed = {-1/7, -1/2, -1/7, 1/7, 1/2, 1/7}, - }, - groups = {snappy=3}, - sounds = default.node_sound_wood_defaults(), + description = "Wrought Iron Fence/railing", + drawtype = "fencelike", + tiles = {"homedecor_tile_wrought_iron.png"}, + inventory_image = "homedecor_fence_wrought_iron.png", + wield_image = "homedecor_pole_wrought_iron.png", + paramtype = "light", + selection_box = { + type = "fixed", + fixed = {-1/7, -1/2, -1/7, 1/7, 1/2, 1/7}, + }, + groups = {snappy=3}, + sounds = default.node_sound_wood_defaults(), walkable = true, }) +-- brass/wrought iron with signs: + +minetest.register_node("homedecor:fence_brass_with_sign", { + description = "Brass Fence/railing with sign", + drawtype = "nodebox", + tiles = { + "homedecor_sign_brass_post_top.png", + "homedecor_sign_brass_post_bottom.png", + "homedecor_sign_brass_post_side.png", + "homedecor_sign_brass_post_side.png", + "homedecor_sign_brass_post_back.png", + "homedecor_sign_brass_post_front.png", + }, + inventory_image = "homedecor_sign_brass_post.png", + wield_image = "homedecor_sign_brass_post.png", + paramtype = "light", + paramtype2 = "facedir", + node_box = { + type = "fixed", + fixed = { + { -0.125, -0.5, -0.125, 0.125, 0.5, 0.125 }, + { -0.45, -0.1875, -0.225, 0.45, 0.4375, -0.125 }, + } + }, + selection_box = { + type = "fixed", + fixed = { + { -0.125, -0.5, -0.125, 0.125, 0.5, 0.125 }, + { -0.45, -0.1875, -0.225, 0.45, 0.4375, -0.125 }, + } + }, + groups = {snappy=3}, + sounds = default.node_sound_wood_defaults(), + walkable = true, + drop = { + max_items = 2, + items = { + { items = { "default:sign_wall" }}, + { items = { "homedecor:fence_brass" }}, + }, + }, + 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) + homedecor_update_sign(pos, fields) + end, + on_punch = function(pos, node, puncher) + homedecor_update_sign(pos) + end, +}) + +minetest.register_node("homedecor:fence_wrought_iron_with_sign", { + description = "Wrought Iron Fence/railing with sign", + drawtype = "nodebox", + tiles = { + "homedecor_sign_wrought_iron_post_top.png", + "homedecor_sign_wrought_iron_post_bottom.png", + "homedecor_sign_wrought_iron_post_side.png", + "homedecor_sign_wrought_iron_post_side.png", + "homedecor_sign_wrought_iron_post_back.png", + "homedecor_sign_wrought_iron_post_front.png", + }, + inventory_image = "homedecor_sign_wrought_iron_post.png", + wield_image = "homedecor_sign_wrought_iron_post.png", + paramtype = "light", + paramtype2 = "facedir", + node_box = { + type = "fixed", + fixed = { + { -0.125, -0.5, -0.125, 0.125, 0.5, 0.125 }, + { -0.45, -0.1875, -0.225, 0.45, 0.4375, -0.125 }, + } + }, + selection_box = { + type = "fixed", + fixed = { + { -0.125, -0.5, -0.125, 0.125, 0.5, 0.125 }, + { -0.45, -0.1875, -0.225, 0.45, 0.4375, -0.125 }, + } + }, + groups = {snappy=3}, + sounds = default.node_sound_wood_defaults(), + walkable = true, + drop = { + max_items = 2, + items = { + { items = { "default:sign_wall" }}, + { items = { "homedecor:fence_wrought_iron" }}, + }, + }, + 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) + homedecor_update_sign(pos, fields) + end, + on_punch = function(pos, node, puncher) + homedecor_update_sign(pos) + end, +}) + +-- other types of fences + minetest.register_node("homedecor:fence_picket", { drawtype = "nodebox", description = "Unpainted Picket Fence", diff --git a/init.lua b/init.lua index cd92d191..20e91f41 100644 --- a/init.lua +++ b/init.lua @@ -793,8 +793,10 @@ end dofile(minetest.get_modpath("homedecor").."/door_models.lua") dofile(minetest.get_modpath("homedecor").."/door_nodes.lua") -dofile(minetest.get_modpath("homedecor").."/lighting.lua") +dofile(minetest.get_modpath("homedecor").."/signs_lib.lua") dofile(minetest.get_modpath("homedecor").."/fences.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").."/oven.lua") diff --git a/signs_lib.lua b/signs_lib.lua new file mode 100644 index 00000000..873df969 --- /dev/null +++ b/signs_lib.lua @@ -0,0 +1,191 @@ +-- This code was borrowed from Pilzadam's rework of thexyz's signs mod + +-- Font: 04.jp.org + +-- 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("[homedecor] 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 +end + +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}, +} + +homedecor_construct_sign = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_string("formspec", "field[text;;${text}]") + meta:set_string("infotext", "") +end + +homedecor_destruct_sign = function(pos) + local objects = minetest.env:get_objects_inside_radius(pos, 0.5) + for _, v in ipairs(objects) do + if v:get_entity_name() == "homedecor:sign_text" then + v:remove() + end + end +end + +homedecor_update_sign = function(pos, fields) + local meta = minetest.env:get_meta(pos) + meta:set_string("infotext", "") + if fields then + meta:set_string("text", fields.text) + end + local text = meta:get_string("text") + local objects = minetest.env:get_objects_inside_radius(pos, 0.5) + for _, v in ipairs(objects) do + if v:get_entity_name() == "homedecor:sign_text" then + v:set_properties({textures={homedecor_generate_texture(homedecor_create_lines(text))}}) + return + end + end + + -- if there is no entity + local sign_info + if minetest.env:get_node(pos).name == "homedecor:fence_brass_with_sign" + or minetest.env:get_node(pos).name == "homedecor:fence_wrought_iron_with_sign" then + sign_info = signs_post[minetest.env:get_node(pos).param2 + 1] + end + if sign_info == nil then + return + end + local text = minetest.env:add_entity({x = pos.x + sign_info.delta.x, + y = pos.y + sign_info.delta.y, + z = pos.z + sign_info.delta.z}, "homedecor:sign_text") + text:setyaw(sign_info.yaw) +end + +minetest.register_entity("homedecor:sign_text", { + collisionbox = { 0, 0, 0, 0, 0, 0 }, + visual = "upright_sprite", + textures = {}, + + on_activate = function(self) + local meta = minetest.env:get_meta(self.object:getpos()) + local text = meta:get_string("text") + self.object:set_properties({textures={homedecor_generate_texture(homedecor_create_lines(text))}}) + end +}) + +-- CONSTANTS +local SIGN_WITH = 110 +local SIGN_PADDING = 8 + +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("[homedecor] 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 + diff --git a/textures/_0.png b/textures/_0.png new file mode 100644 index 00000000..b0308799 Binary files /dev/null and b/textures/_0.png differ diff --git a/textures/_1.png b/textures/_1.png new file mode 100644 index 00000000..ae28369c Binary files /dev/null and b/textures/_1.png differ diff --git a/textures/_2.png b/textures/_2.png new file mode 100644 index 00000000..7375c680 Binary files /dev/null and b/textures/_2.png differ diff --git a/textures/_3.png b/textures/_3.png new file mode 100644 index 00000000..d7248116 Binary files /dev/null and b/textures/_3.png differ diff --git a/textures/_4.png b/textures/_4.png new file mode 100644 index 00000000..0fff433c Binary files /dev/null and b/textures/_4.png differ diff --git a/textures/_5.png b/textures/_5.png new file mode 100644 index 00000000..43010df0 Binary files /dev/null and b/textures/_5.png differ diff --git a/textures/_6.png b/textures/_6.png new file mode 100644 index 00000000..1eba38ca Binary files /dev/null and b/textures/_6.png differ diff --git a/textures/_7.png b/textures/_7.png new file mode 100644 index 00000000..dbcd2d18 Binary files /dev/null and b/textures/_7.png differ diff --git a/textures/_8.png b/textures/_8.png new file mode 100644 index 00000000..edf6ef52 Binary files /dev/null and b/textures/_8.png differ diff --git a/textures/_9.png b/textures/_9.png new file mode 100644 index 00000000..c276c11a Binary files /dev/null and b/textures/_9.png differ diff --git a/textures/_a.png b/textures/_a.png new file mode 100644 index 00000000..8f3f59ce Binary files /dev/null and b/textures/_a.png differ diff --git a/textures/_a_.png b/textures/_a_.png new file mode 100644 index 00000000..4da193c4 Binary files /dev/null and b/textures/_a_.png differ diff --git a/textures/_am.png b/textures/_am.png new file mode 100644 index 00000000..75d0287b Binary files /dev/null and b/textures/_am.png differ diff --git a/textures/_ap.png b/textures/_ap.png new file mode 100644 index 00000000..5dd3325e Binary files /dev/null and b/textures/_ap.png differ diff --git a/textures/_as.png b/textures/_as.png new file mode 100644 index 00000000..3c7a25a0 Binary files /dev/null and b/textures/_as.png differ diff --git a/textures/_at.png b/textures/_at.png new file mode 100644 index 00000000..4f9841cd Binary files /dev/null and b/textures/_at.png differ diff --git a/textures/_b.png b/textures/_b.png new file mode 100644 index 00000000..baf4eaa9 Binary files /dev/null and b/textures/_b.png differ diff --git a/textures/_b_.png b/textures/_b_.png new file mode 100644 index 00000000..b00a3783 Binary files /dev/null and b/textures/_b_.png differ diff --git a/textures/_bl.png b/textures/_bl.png new file mode 100644 index 00000000..546ca4e3 Binary files /dev/null and b/textures/_bl.png differ diff --git a/textures/_br.png b/textures/_br.png new file mode 100644 index 00000000..5700fa61 Binary files /dev/null and b/textures/_br.png differ diff --git a/textures/_c.png b/textures/_c.png new file mode 100644 index 00000000..eedd6391 Binary files /dev/null and b/textures/_c.png differ diff --git a/textures/_c_.png b/textures/_c_.png new file mode 100644 index 00000000..cab6518a Binary files /dev/null and b/textures/_c_.png differ diff --git a/textures/_ca.png b/textures/_ca.png new file mode 100644 index 00000000..d359c88d Binary files /dev/null and b/textures/_ca.png differ diff --git a/textures/_cl.png b/textures/_cl.png new file mode 100644 index 00000000..55396b94 Binary files /dev/null and b/textures/_cl.png differ diff --git a/textures/_cm.png b/textures/_cm.png new file mode 100644 index 00000000..28beedf3 Binary files /dev/null and b/textures/_cm.png differ diff --git a/textures/_cr.png b/textures/_cr.png new file mode 100644 index 00000000..ac466a95 Binary files /dev/null and b/textures/_cr.png differ diff --git a/textures/_d.png b/textures/_d.png new file mode 100644 index 00000000..a5f06997 Binary files /dev/null and b/textures/_d.png differ diff --git a/textures/_d_.png b/textures/_d_.png new file mode 100644 index 00000000..9a0e3ed5 Binary files /dev/null and b/textures/_d_.png differ diff --git a/textures/_dl.png b/textures/_dl.png new file mode 100644 index 00000000..72184adc Binary files /dev/null and b/textures/_dl.png differ diff --git a/textures/_dt.png b/textures/_dt.png new file mode 100644 index 00000000..61c1e4a4 Binary files /dev/null and b/textures/_dt.png differ diff --git a/textures/_dv.png b/textures/_dv.png new file mode 100644 index 00000000..996d7cd7 Binary files /dev/null and b/textures/_dv.png differ diff --git a/textures/_e.png b/textures/_e.png new file mode 100644 index 00000000..29e32e68 Binary files /dev/null and b/textures/_e.png differ diff --git a/textures/_e_.png b/textures/_e_.png new file mode 100644 index 00000000..c7f19c12 Binary files /dev/null and b/textures/_e_.png differ diff --git a/textures/_eq.png b/textures/_eq.png new file mode 100644 index 00000000..daf84241 Binary files /dev/null and b/textures/_eq.png differ diff --git a/textures/_ex.png b/textures/_ex.png new file mode 100644 index 00000000..b5da8e94 Binary files /dev/null and b/textures/_ex.png differ diff --git a/textures/_f.png b/textures/_f.png new file mode 100644 index 00000000..68359126 Binary files /dev/null and b/textures/_f.png differ diff --git a/textures/_f_.png b/textures/_f_.png new file mode 100644 index 00000000..3698ed25 Binary files /dev/null and b/textures/_f_.png differ diff --git a/textures/_g.png b/textures/_g.png new file mode 100644 index 00000000..5a85cde2 Binary files /dev/null and b/textures/_g.png differ diff --git a/textures/_g_.png b/textures/_g_.png new file mode 100644 index 00000000..cc7bbc54 Binary files /dev/null and b/textures/_g_.png differ diff --git a/textures/_gt.png b/textures/_gt.png new file mode 100644 index 00000000..f30855a7 Binary files /dev/null and b/textures/_gt.png differ diff --git a/textures/_h.png b/textures/_h.png new file mode 100644 index 00000000..1a66a9e5 Binary files /dev/null and b/textures/_h.png differ diff --git a/textures/_h_.png b/textures/_h_.png new file mode 100644 index 00000000..87beafcb Binary files /dev/null and b/textures/_h_.png differ diff --git a/textures/_ha.png b/textures/_ha.png new file mode 100644 index 00000000..4618ced4 Binary files /dev/null and b/textures/_ha.png differ diff --git a/textures/_hs.png b/textures/_hs.png new file mode 100644 index 00000000..6f12becb Binary files /dev/null and b/textures/_hs.png differ diff --git a/textures/_i.png b/textures/_i.png new file mode 100644 index 00000000..f0011425 Binary files /dev/null and b/textures/_i.png differ diff --git a/textures/_i_.png b/textures/_i_.png new file mode 100644 index 00000000..fc658b85 Binary files /dev/null and b/textures/_i_.png differ diff --git a/textures/_j.png b/textures/_j.png new file mode 100644 index 00000000..87d2f26d Binary files /dev/null and b/textures/_j.png differ diff --git a/textures/_j_.png b/textures/_j_.png new file mode 100644 index 00000000..c0d9ac20 Binary files /dev/null and b/textures/_j_.png differ diff --git a/textures/_k.png b/textures/_k.png new file mode 100644 index 00000000..34f93368 Binary files /dev/null and b/textures/_k.png differ diff --git a/textures/_k_.png b/textures/_k_.png new file mode 100644 index 00000000..86b623d1 Binary files /dev/null and b/textures/_k_.png differ diff --git a/textures/_l.png b/textures/_l.png new file mode 100644 index 00000000..defe7ec8 Binary files /dev/null and b/textures/_l.png differ diff --git a/textures/_l_.png b/textures/_l_.png new file mode 100644 index 00000000..3fe1de2f Binary files /dev/null and b/textures/_l_.png differ diff --git a/textures/_lt.png b/textures/_lt.png new file mode 100644 index 00000000..ec7219d2 Binary files /dev/null and b/textures/_lt.png differ diff --git a/textures/_m.png b/textures/_m.png new file mode 100644 index 00000000..e0fe0398 Binary files /dev/null and b/textures/_m.png differ diff --git a/textures/_m_.png b/textures/_m_.png new file mode 100644 index 00000000..9164da6a Binary files /dev/null and b/textures/_m_.png differ diff --git a/textures/_mn.png b/textures/_mn.png new file mode 100644 index 00000000..935a2fee Binary files /dev/null and b/textures/_mn.png differ diff --git a/textures/_n.png b/textures/_n.png new file mode 100644 index 00000000..ac10fd94 Binary files /dev/null and b/textures/_n.png differ diff --git a/textures/_n_.png b/textures/_n_.png new file mode 100644 index 00000000..d4355c12 Binary files /dev/null and b/textures/_n_.png differ diff --git a/textures/_o.png b/textures/_o.png new file mode 100644 index 00000000..080e99d2 Binary files /dev/null and b/textures/_o.png differ diff --git a/textures/_o_.png b/textures/_o_.png new file mode 100644 index 00000000..2d190519 Binary files /dev/null and b/textures/_o_.png differ diff --git a/textures/_p.png b/textures/_p.png new file mode 100644 index 00000000..30509590 Binary files /dev/null and b/textures/_p.png differ diff --git a/textures/_p_.png b/textures/_p_.png new file mode 100644 index 00000000..0cca0110 Binary files /dev/null and b/textures/_p_.png differ diff --git a/textures/_pr.png b/textures/_pr.png new file mode 100644 index 00000000..b835141e Binary files /dev/null and b/textures/_pr.png differ diff --git a/textures/_ps.png b/textures/_ps.png new file mode 100644 index 00000000..1f4b5c11 Binary files /dev/null and b/textures/_ps.png differ diff --git a/textures/_q.png b/textures/_q.png new file mode 100644 index 00000000..945b6cf0 Binary files /dev/null and b/textures/_q.png differ diff --git a/textures/_q_.png b/textures/_q_.png new file mode 100644 index 00000000..f3bf455a Binary files /dev/null and b/textures/_q_.png differ diff --git a/textures/_qo.png b/textures/_qo.png new file mode 100644 index 00000000..5d261e34 Binary files /dev/null and b/textures/_qo.png differ diff --git a/textures/_qu.png b/textures/_qu.png new file mode 100644 index 00000000..5eb597a5 Binary files /dev/null and b/textures/_qu.png differ diff --git a/textures/_r.png b/textures/_r.png new file mode 100644 index 00000000..39e9fce5 Binary files /dev/null and b/textures/_r.png differ diff --git a/textures/_r_.png b/textures/_r_.png new file mode 100644 index 00000000..6c71c1e1 Binary files /dev/null and b/textures/_r_.png differ diff --git a/textures/_re.png b/textures/_re.png new file mode 100644 index 00000000..16148371 Binary files /dev/null and b/textures/_re.png differ diff --git a/textures/_s.png b/textures/_s.png new file mode 100644 index 00000000..a0ada1ac Binary files /dev/null and b/textures/_s.png differ diff --git a/textures/_s_.png b/textures/_s_.png new file mode 100644 index 00000000..9b018bbd Binary files /dev/null and b/textures/_s_.png differ diff --git a/textures/_sl.png b/textures/_sl.png new file mode 100644 index 00000000..08c95477 Binary files /dev/null and b/textures/_sl.png differ diff --git a/textures/_sm.png b/textures/_sm.png new file mode 100644 index 00000000..385c64fe Binary files /dev/null and b/textures/_sm.png differ diff --git a/textures/_sp.png b/textures/_sp.png new file mode 100644 index 00000000..4f38a354 Binary files /dev/null and b/textures/_sp.png differ diff --git a/textures/_sr.png b/textures/_sr.png new file mode 100644 index 00000000..bc9c0a24 Binary files /dev/null and b/textures/_sr.png differ diff --git a/textures/_t.png b/textures/_t.png new file mode 100644 index 00000000..c55731a0 Binary files /dev/null and b/textures/_t.png differ diff --git a/textures/_t_.png b/textures/_t_.png new file mode 100644 index 00000000..773e666c Binary files /dev/null and b/textures/_t_.png differ diff --git a/textures/_tl.png b/textures/_tl.png new file mode 100644 index 00000000..059fe681 Binary files /dev/null and b/textures/_tl.png differ diff --git a/textures/_u.png b/textures/_u.png new file mode 100644 index 00000000..98bf8e69 Binary files /dev/null and b/textures/_u.png differ diff --git a/textures/_u_.png b/textures/_u_.png new file mode 100644 index 00000000..35ce9154 Binary files /dev/null and b/textures/_u_.png differ diff --git a/textures/_un.png b/textures/_un.png new file mode 100644 index 00000000..01f547ad Binary files /dev/null and b/textures/_un.png differ diff --git a/textures/_v.png b/textures/_v.png new file mode 100644 index 00000000..b692d118 Binary files /dev/null and b/textures/_v.png differ diff --git a/textures/_v_.png b/textures/_v_.png new file mode 100644 index 00000000..8049771b Binary files /dev/null and b/textures/_v_.png differ diff --git a/textures/_vb.png b/textures/_vb.png new file mode 100644 index 00000000..7fed7dc5 Binary files /dev/null and b/textures/_vb.png differ diff --git a/textures/_w.png b/textures/_w.png new file mode 100644 index 00000000..6a58b07e Binary files /dev/null and b/textures/_w.png differ diff --git a/textures/_w_.png b/textures/_w_.png new file mode 100644 index 00000000..64904dec Binary files /dev/null and b/textures/_w_.png differ diff --git a/textures/_x.png b/textures/_x.png new file mode 100644 index 00000000..b769e136 Binary files /dev/null and b/textures/_x.png differ diff --git a/textures/_x_.png b/textures/_x_.png new file mode 100644 index 00000000..2f6d0671 Binary files /dev/null and b/textures/_x_.png differ diff --git a/textures/_y.png b/textures/_y.png new file mode 100644 index 00000000..777b55e5 Binary files /dev/null and b/textures/_y.png differ diff --git a/textures/_y_.png b/textures/_y_.png new file mode 100644 index 00000000..0c40de91 Binary files /dev/null and b/textures/_y_.png differ diff --git a/textures/_z.png b/textures/_z.png new file mode 100644 index 00000000..ae010fe1 Binary files /dev/null and b/textures/_z.png differ diff --git a/textures/_z_.png b/textures/_z_.png new file mode 100644 index 00000000..1c3e0539 Binary files /dev/null and b/textures/_z_.png differ diff --git a/textures/homedecor_sign_brass_post.png b/textures/homedecor_sign_brass_post.png new file mode 100644 index 00000000..3f80a8fe Binary files /dev/null and b/textures/homedecor_sign_brass_post.png differ diff --git a/textures/homedecor_sign_brass_post_back.png b/textures/homedecor_sign_brass_post_back.png new file mode 100644 index 00000000..17f656a6 Binary files /dev/null and b/textures/homedecor_sign_brass_post_back.png differ diff --git a/textures/homedecor_sign_brass_post_bottom.png b/textures/homedecor_sign_brass_post_bottom.png new file mode 100644 index 00000000..45c2e53c Binary files /dev/null and b/textures/homedecor_sign_brass_post_bottom.png differ diff --git a/textures/homedecor_sign_brass_post_front.png b/textures/homedecor_sign_brass_post_front.png new file mode 100644 index 00000000..e21175ba Binary files /dev/null and b/textures/homedecor_sign_brass_post_front.png differ diff --git a/textures/homedecor_sign_brass_post_side.png b/textures/homedecor_sign_brass_post_side.png new file mode 100644 index 00000000..b988831c Binary files /dev/null and b/textures/homedecor_sign_brass_post_side.png differ diff --git a/textures/homedecor_sign_brass_post_top.png b/textures/homedecor_sign_brass_post_top.png new file mode 100644 index 00000000..45c2e53c Binary files /dev/null and b/textures/homedecor_sign_brass_post_top.png differ diff --git a/textures/homedecor_sign_wrought_iron_post.png b/textures/homedecor_sign_wrought_iron_post.png new file mode 100644 index 00000000..68cfd45e Binary files /dev/null and b/textures/homedecor_sign_wrought_iron_post.png differ diff --git a/textures/homedecor_sign_wrought_iron_post_back.png b/textures/homedecor_sign_wrought_iron_post_back.png new file mode 100644 index 00000000..26781a0b Binary files /dev/null and b/textures/homedecor_sign_wrought_iron_post_back.png differ diff --git a/textures/homedecor_sign_wrought_iron_post_bottom.png b/textures/homedecor_sign_wrought_iron_post_bottom.png new file mode 100644 index 00000000..054ecd05 Binary files /dev/null and b/textures/homedecor_sign_wrought_iron_post_bottom.png differ diff --git a/textures/homedecor_sign_wrought_iron_post_front.png b/textures/homedecor_sign_wrought_iron_post_front.png new file mode 100644 index 00000000..89106619 Binary files /dev/null and b/textures/homedecor_sign_wrought_iron_post_front.png differ diff --git a/textures/homedecor_sign_wrought_iron_post_side.png b/textures/homedecor_sign_wrought_iron_post_side.png new file mode 100644 index 00000000..f995980c Binary files /dev/null and b/textures/homedecor_sign_wrought_iron_post_side.png differ diff --git a/textures/homedecor_sign_wrought_iron_post_top.png b/textures/homedecor_sign_wrought_iron_post_top.png new file mode 100644 index 00000000..054ecd05 Binary files /dev/null and b/textures/homedecor_sign_wrought_iron_post_top.png differ