aboutsummaryrefslogtreecommitdiff
path: root/signs
diff options
context:
space:
mode:
authorPierre-Yves Rollo <dev@pyrollo.com>2015-11-11 14:26:39 +0100
committerPierre-Yves Rollo <dev@pyrollo.com>2015-11-11 14:26:39 +0100
commitd44bf53ea20136221d605e139f2b58328b68ce9c (patch)
tree4f747301de219c9743b19efe536f340af90ce5ff /signs
downloaddisplay_modpack-d44bf53ea20136221d605e139f2b58328b68ce9c.tar.gz
display_modpack-d44bf53ea20136221d605e139f2b58328b68ce9c.tar.bz2
display_modpack-d44bf53ea20136221d605e139f2b58328b68ce9c.zip
First commit
Diffstat (limited to 'signs')
-rw-r--r--signs/LICENSE.txt13
-rw-r--r--signs/README.md52
-rw-r--r--signs/common.lua217
-rw-r--r--signs/crafts.lua45
-rw-r--r--signs/depends.txt3
-rw-r--r--signs/font.lua63
-rw-r--r--signs/init.lua15
-rw-r--r--signs/nodes.lua203
-rw-r--r--signs/textures/signs_20.pngbin0 -> 232 bytes
-rw-r--r--signs/textures/signs_21.pngbin0 -> 241 bytes
-rw-r--r--signs/textures/signs_22.pngbin0 -> 235 bytes
-rw-r--r--signs/textures/signs_23.pngbin0 -> 244 bytes
-rw-r--r--signs/textures/signs_24.pngbin0 -> 247 bytes
-rw-r--r--signs/textures/signs_25.pngbin0 -> 247 bytes
-rw-r--r--signs/textures/signs_26.pngbin0 -> 246 bytes
-rw-r--r--signs/textures/signs_27.pngbin0 -> 238 bytes
-rw-r--r--signs/textures/signs_28.pngbin0 -> 242 bytes
-rw-r--r--signs/textures/signs_29.pngbin0 -> 241 bytes
-rw-r--r--signs/textures/signs_2a.pngbin0 -> 238 bytes
-rw-r--r--signs/textures/signs_2b.pngbin0 -> 241 bytes
-rw-r--r--signs/textures/signs_2c.pngbin0 -> 238 bytes
-rw-r--r--signs/textures/signs_2d.pngbin0 -> 237 bytes
-rw-r--r--signs/textures/signs_2e.pngbin0 -> 236 bytes
-rw-r--r--signs/textures/signs_2f.pngbin0 -> 244 bytes
-rw-r--r--signs/textures/signs_30.pngbin0 -> 239 bytes
-rw-r--r--signs/textures/signs_31.pngbin0 -> 239 bytes
-rw-r--r--signs/textures/signs_32.pngbin0 -> 247 bytes
-rw-r--r--signs/textures/signs_33.pngbin0 -> 246 bytes
-rw-r--r--signs/textures/signs_34.pngbin0 -> 247 bytes
-rw-r--r--signs/textures/signs_35.pngbin0 -> 247 bytes
-rw-r--r--signs/textures/signs_36.pngbin0 -> 244 bytes
-rw-r--r--signs/textures/signs_37.pngbin0 -> 242 bytes
-rw-r--r--signs/textures/signs_38.pngbin0 -> 240 bytes
-rw-r--r--signs/textures/signs_39.pngbin0 -> 243 bytes
-rw-r--r--signs/textures/signs_3a.pngbin0 -> 237 bytes
-rw-r--r--signs/textures/signs_3b.pngbin0 -> 240 bytes
-rw-r--r--signs/textures/signs_3c.pngbin0 -> 245 bytes
-rw-r--r--signs/textures/signs_3d.pngbin0 -> 236 bytes
-rw-r--r--signs/textures/signs_3e.pngbin0 -> 245 bytes
-rw-r--r--signs/textures/signs_3f.pngbin0 -> 243 bytes
-rw-r--r--signs/textures/signs_40.pngbin0 -> 259 bytes
-rw-r--r--signs/textures/signs_41.pngbin0 -> 243 bytes
-rw-r--r--signs/textures/signs_42.pngbin0 -> 240 bytes
-rw-r--r--signs/textures/signs_43.pngbin0 -> 246 bytes
-rw-r--r--signs/textures/signs_44.pngbin0 -> 242 bytes
-rw-r--r--signs/textures/signs_45.pngbin0 -> 240 bytes
-rw-r--r--signs/textures/signs_46.pngbin0 -> 241 bytes
-rw-r--r--signs/textures/signs_47.pngbin0 -> 247 bytes
-rw-r--r--signs/textures/signs_48.pngbin0 -> 240 bytes
-rw-r--r--signs/textures/signs_49.pngbin0 -> 236 bytes
-rw-r--r--signs/textures/signs_4a.pngbin0 -> 240 bytes
-rw-r--r--signs/textures/signs_4b.pngbin0 -> 246 bytes
-rw-r--r--signs/textures/signs_4c.pngbin0 -> 238 bytes
-rw-r--r--signs/textures/signs_4d.pngbin0 -> 249 bytes
-rw-r--r--signs/textures/signs_4e.pngbin0 -> 243 bytes
-rw-r--r--signs/textures/signs_4f.pngbin0 -> 243 bytes
-rw-r--r--signs/textures/signs_50.pngbin0 -> 241 bytes
-rw-r--r--signs/textures/signs_51.pngbin0 -> 244 bytes
-rw-r--r--signs/textures/signs_52.pngbin0 -> 238 bytes
-rw-r--r--signs/textures/signs_53.pngbin0 -> 247 bytes
-rw-r--r--signs/textures/signs_54.pngbin0 -> 237 bytes
-rw-r--r--signs/textures/signs_55.pngbin0 -> 238 bytes
-rw-r--r--signs/textures/signs_56.pngbin0 -> 243 bytes
-rw-r--r--signs/textures/signs_57.pngbin0 -> 246 bytes
-rw-r--r--signs/textures/signs_58.pngbin0 -> 245 bytes
-rw-r--r--signs/textures/signs_59.pngbin0 -> 244 bytes
-rw-r--r--signs/textures/signs_5a.pngbin0 -> 248 bytes
-rw-r--r--signs/textures/signs_5b.pngbin0 -> 234 bytes
-rw-r--r--signs/textures/signs_5c.pngbin0 -> 244 bytes
-rw-r--r--signs/textures/signs_5d.pngbin0 -> 234 bytes
-rw-r--r--signs/textures/signs_5e.pngbin0 -> 238 bytes
-rw-r--r--signs/textures/signs_5f.pngbin0 -> 233 bytes
-rw-r--r--signs/textures/signs_60.pngbin0 -> 234 bytes
-rw-r--r--signs/textures/signs_61.pngbin0 -> 245 bytes
-rw-r--r--signs/textures/signs_62.pngbin0 -> 242 bytes
-rw-r--r--signs/textures/signs_63.pngbin0 -> 244 bytes
-rw-r--r--signs/textures/signs_64.pngbin0 -> 243 bytes
-rw-r--r--signs/textures/signs_65.pngbin0 -> 245 bytes
-rw-r--r--signs/textures/signs_66.pngbin0 -> 240 bytes
-rw-r--r--signs/textures/signs_67.pngbin0 -> 243 bytes
-rw-r--r--signs/textures/signs_68.pngbin0 -> 240 bytes
-rw-r--r--signs/textures/signs_69.pngbin0 -> 239 bytes
-rw-r--r--signs/textures/signs_6a.pngbin0 -> 236 bytes
-rw-r--r--signs/textures/signs_6b.pngbin0 -> 246 bytes
-rw-r--r--signs/textures/signs_6c.pngbin0 -> 236 bytes
-rw-r--r--signs/textures/signs_6d.pngbin0 -> 241 bytes
-rw-r--r--signs/textures/signs_6e.pngbin0 -> 239 bytes
-rw-r--r--signs/textures/signs_6f.pngbin0 -> 241 bytes
-rw-r--r--signs/textures/signs_70.pngbin0 -> 242 bytes
-rw-r--r--signs/textures/signs_71.pngbin0 -> 243 bytes
-rw-r--r--signs/textures/signs_72.pngbin0 -> 241 bytes
-rw-r--r--signs/textures/signs_73.pngbin0 -> 242 bytes
-rw-r--r--signs/textures/signs_74.pngbin0 -> 243 bytes
-rw-r--r--signs/textures/signs_75.pngbin0 -> 239 bytes
-rw-r--r--signs/textures/signs_76.pngbin0 -> 244 bytes
-rw-r--r--signs/textures/signs_77.pngbin0 -> 240 bytes
-rw-r--r--signs/textures/signs_78.pngbin0 -> 244 bytes
-rw-r--r--signs/textures/signs_79.pngbin0 -> 241 bytes
-rw-r--r--signs/textures/signs_7a.pngbin0 -> 246 bytes
-rw-r--r--signs/textures/signs_7b.pngbin0 -> 239 bytes
-rw-r--r--signs/textures/signs_7c.pngbin0 -> 232 bytes
-rw-r--r--signs/textures/signs_7d.pngbin0 -> 239 bytes
-rw-r--r--signs/textures/signs_7e.pngbin0 -> 239 bytes
-rw-r--r--signs/textures/signs_black_inventory.pngbin0 -> 265 bytes
-rw-r--r--signs/textures/signs_black_left.pngbin0 -> 263 bytes
-rw-r--r--signs/textures/signs_black_right.pngbin0 -> 258 bytes
-rw-r--r--signs/textures/signs_blue_street.pngbin0 -> 436 bytes
-rw-r--r--signs/textures/signs_blue_street_inventory.pngbin0 -> 472 bytes
-rw-r--r--signs/textures/signs_green_street.pngbin0 -> 274 bytes
-rw-r--r--signs/textures/signs_green_street_inventory.pngbin0 -> 279 bytes
-rw-r--r--signs/textures/signs_poster.pngbin0 -> 1600 bytes
-rw-r--r--signs/textures/signs_poster_inventory.pngbin0 -> 1582 bytes
-rw-r--r--signs/textures/signs_wooden_inventory.pngbin0 -> 1289 bytes
-rw-r--r--signs/textures/signs_wooden_left.pngbin0 -> 2559 bytes
-rw-r--r--signs/textures/signs_wooden_right.pngbin0 -> 2562 bytes
115 files changed, 611 insertions, 0 deletions
diff --git a/signs/LICENSE.txt b/signs/LICENSE.txt
new file mode 100644
index 0000000..bc06764
--- /dev/null
+++ b/signs/LICENSE.txt
@@ -0,0 +1,13 @@
+ DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
+ Version 2, December 2004
+
+Copyright (C) 2004 Sam Hocevar <sam@hocevar.net>
+
+Everyone is permitted to copy and distribute verbatim or modified
+copies of this license document, and changing it is allowed as long
+as the name is changed.
+
+ DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. You just DO WHAT THE FUCK YOU WANT TO.
diff --git a/signs/README.md b/signs/README.md
new file mode 100644
index 0000000..586dbff
--- /dev/null
+++ b/signs/README.md
@@ -0,0 +1,52 @@
+# Signs
+
+This mod provides various signs with text display. Text is locked if area is protected.
+
+**Dependancies**: display_lib, default
+
+**License**: WTFPL
+
+## Recipes
+
+**Blue Street Sign**
+
+ B W S
+ S S S
+ - - -
+
+B = Blue Dye, W = White Dye, S = Steel Ingot
+
+**Green Street Sign**
+
+ G W S
+ S S S
+ - - -
+
+G = Green Dye, W = White Dye, S = Steel Ingot
+
+**Poster**
+
+ P P -
+ P P -
+ P P -
+
+P = Paper
+
+Poster displays only title, much more text can be read by right-clicking on it.
+
+**Wooden direction sigh**
+
+ W W W
+ W W -
+ - - -
+
+W = Wooden Plank (group)
+
+**Black direction sign**
+
+ B W S
+ S S -
+ - - -
+
+B = Black Dye, W = White Dye, S = Steel Ingot
+
diff --git a/signs/common.lua b/signs/common.lua
new file mode 100644
index 0000000..0433223
--- /dev/null
+++ b/signs/common.lua
@@ -0,0 +1,217 @@
+local font = {}
+signs.font_height = 10
+
+-- Get png width, suposing png width is less than 256 (it is the case for all font textures)
+local function get_png_width(filename)
+ local file=assert(io.open(filename,"rb"))
+ -- All font png are smaller than 256x256 --> read only last byte
+ file:seek("set",19)
+ local w = file:read(1)
+ file:close()
+ return w:byte()
+end
+
+-- Computes line width for a given font height and text
+function signs.get_line_width(text)
+ local char
+ local width = 0
+
+ for p=1,#text
+ do
+ char = text:sub(p,p):byte()
+ if font[char] then
+ width = width + font[char].width
+ end
+ end
+
+ return width
+end
+
+--- Builds texture part for a text line
+-- @param text Text to be rendered
+-- @param x Starting x position in texture
+-- @param width Width of the texture (extra text is not rendered)
+-- @param y Vertical position of the line in texture
+-- @return Texture string
+function signs.make_line_texture(text, x, width, y)
+ local char
+
+ local texture = ""
+
+ for p=1,#text
+ do
+ char = text:sub(p,p):byte()
+ if font[char] then
+ -- Add image only if it is visible (at least partly)
+ if x + font[char].width >= 0 and x <= width then
+ texture = texture..string.format(":%d,%d=%s", x, y, font[char].filename)
+ end
+ x = x + font[char].width
+ end
+ end
+ return texture
+end
+
+local function split_lines(text, maxlines)
+ local splits = text:split("\n")
+ if maxlines then
+ local lines = {}
+ for num = 1,maxlines do
+ lines[num] = splits[num]
+ end
+ return lines
+ else
+ return splits
+ end
+end
+
+function signs.on_display_update(pos, objref)
+ local meta = minetest.get_meta(pos)
+ local text = meta:get_string("display_text")
+
+ local ndef = minetest.registered_nodes[minetest.get_node(pos).name]
+ if ndef and ndef.sign_model then
+ local model = signs.sign_models[ndef.sign_model]
+ local lines = split_lines(text, model.maxlines)
+
+ local texturew = model.width/model.xscale
+ local textureh = model.height/model.yscale
+
+ local texture = ""
+
+ local y
+ if model.valing == "top" then
+ y = signs.font_height / 2
+ else
+ y = (textureh - signs.font_height * #lines) / 2 + 1
+ end
+
+ for _, line in pairs(lines) do
+ texture = texture..signs.make_line_texture(line,
+ (texturew - signs.get_line_width(line)) / 2,
+ texturew, y)
+ y = y + signs.font_height
+ end
+
+ local texture = string.format("[combine:%dx%d", texturew, textureh)..texture
+ if model.color then texture = texture.."^[colorize:"..model.color end
+
+ objref:set_properties({ textures={texture}, visual_size = {x=model.width, y=model.height}})
+ end
+end
+
+function signs.set_formspec(pos)
+ local meta = minetest.get_meta(pos)
+ local ndef = minetest.registered_nodes[minetest.get_node(pos).name]
+ if ndef and ndef.sign_model then
+ local model = signs.sign_models[ndef.sign_model]
+ local formspec
+
+ if model.maxlines == 1 then
+ formspec = "size[6,3]"..
+ "field[0.5,0.7;5.5,1;display_text;Displayed text;${display_text}]"..
+ "button_exit[2,2;2,1;ok;Write]"
+ else
+ local extralabel = ""
+ if model.maxlines then
+ extralabel = " (first "..model.maxlines.." lines only)"
+ end
+
+ formspec = "size[6,4]"..
+ "textarea[0.5,0.7;5.5,2;display_text;Displayed text"..extralabel..";${display_text}]"..
+ "button_exit[2,3;2,1;ok;Write]"
+ end
+
+ meta:set_string("formspec", formspec)
+ end
+end
+
+function signs.on_receive_fields(pos, formname, fields, player)
+ if not minetest.is_protected(pos, player:get_player_name()) then
+ local meta = minetest.get_meta(pos)
+ if fields and fields.ok then
+ meta:set_string("display_text", fields.display_text)
+ meta:set_string("infotext", "\""..fields.display_text.."\"")
+ display_lib.update_entities(pos)
+ end
+ end
+end
+
+-- On place callback for direction signs
+-- (chooses which sign according to look direction)
+function signs.on_place_direction(itemstack, placer, pointed_thing)
+ local above = pointed_thing.above
+ local under = pointed_thing.under
+ local wdir = minetest.dir_to_wallmounted(
+ {x = under.x - above.x,
+ y = under.y - above.y,
+ z = under.z - above.z})
+
+ local dir = placer:get_look_dir()
+
+ if wdir == 0 or wdir == 1 then
+ wdir = minetest.dir_to_wallmounted({x=dir.x, y=0, z=dir.z})
+ end
+
+ local name = itemstack:get_name()
+
+ -- Only for direction signs (ending with _right)
+ if name:sub(-string.len("_right")) == "_right" then
+ name = name:sub(1, -string.len("_right"))
+
+ local test = {0, dir.z, -dir.z, -dir.x, dir.x}
+ if test[wdir] > 0 then
+ itemstack:set_name(name.."left")
+ end
+ itemstack = minetest.item_place(itemstack, placer, pointed_thing, wdir)
+ itemstack:set_name(name.."right")
+
+ return itemstack
+ else
+ return minetest.item_place(itemstack, placer, pointed_thing, wdir)
+ end
+end
+
+-- On_rotate (screwdriver) callback for direction signs
+function signs.on_rotate_direction(pos, node, user, mode, new_param2)
+ if mode == screwdriver.ROTATE_AXIS then
+ local name
+ if node.name:sub(-string.len("_right")) == "_right" then
+ name = node.name:sub(1, -string.len("_right")).."left"
+ end
+ if node.name:sub(-string.len("_left")) == "_left" then
+ name = node.name:sub(1, -string.len("_left")).."right"
+ end
+
+ if name then
+ minetest.swap_node(pos, {name = name, param1 = node.param1, param2 = node.param2})
+ end
+ return false
+ else
+ return display_lib.on_rotate(pos, node, user, mode, new_param2)
+ end
+end
+
+-- Populate fonts table
+local w, filename
+for charnum=32,126 do
+ filename = string.format("signs_%02x.png", charnum)
+ w = get_png_width(signs.path.."/textures/"..filename)
+ font[charnum] = {filename=filename, width=w}
+end
+
+-- Generic callback for show_formspec displayed formspecs
+minetest.register_on_player_receive_fields(function(player, formname, fields)
+ local found, mod, node_name, pos
+ found, _, mod, node_name, pos = formname:find("([%w_]+):([%w_]+)@(.+)")
+
+ if found then
+ if mod ~= 'signs' then return end
+
+ local ndef = minetest.registered_nodes[mod..":"..node_name]
+
+ if ndef and ndef.on_receive_fields then
+ ndef.on_receive_fields(minetest.string_to_pos(pos), formname, fields, player)
+ end
+ end
+end)
diff --git a/signs/crafts.lua b/signs/crafts.lua
new file mode 100644
index 0000000..16b873d
--- /dev/null
+++ b/signs/crafts.lua
@@ -0,0 +1,45 @@
+minetest.register_craft({
+ output = 'signs:blue_street',
+ recipe = {
+ {'dye:blue', 'dye:white', 'default:steel_ingot'},
+ {'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'},
+ {'', '', ''},
+ }
+})
+
+minetest.register_craft({
+ output = 'signs:green_street',
+ recipe = {
+ {'dye:green', 'dye:white', 'default:steel_ingot'},
+ {'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'},
+ {'', '', ''},
+ }
+})
+
+minetest.register_craft({
+ output = 'signs:wooden_right',
+ recipe = {
+ {'group:wood', 'group:wood', 'group:wood'},
+ {'group:wood', 'group:wood', ''},
+ {'', '', ''},
+ }
+})
+
+minetest.register_craft({
+ output = 'signs:black_right',
+ recipe = {
+ {'dye:black', 'dye:white', 'default:steel_ingot'},
+ {'default:steel_ingot', 'default:steel_ingot', ''},
+ {'', '', ''},
+ }
+})
+
+minetest.register_craft({
+ output = 'signs:poster',
+ recipe = {
+ {'default:paper', 'default:paper', ''},
+ {'default:paper', 'default:paper', ''},
+ {'default:paper', 'default:paper', ''},
+ }
+})
+
diff --git a/signs/depends.txt b/signs/depends.txt
new file mode 100644
index 0000000..c1feb90
--- /dev/null
+++ b/signs/depends.txt
@@ -0,0 +1,3 @@
+default
+display_lib
+
diff --git a/signs/font.lua b/signs/font.lua
new file mode 100644
index 0000000..2da6611
--- /dev/null
+++ b/signs/font.lua
@@ -0,0 +1,63 @@
+
+local font = {}
+signs.font_height = 10
+
+-- Get png width, suposing png width is less than 256 (it is the case for all font textures)
+local function get_png_width(filename)
+ local file=assert(io.open(filename,"rb"))
+ -- All font png are smaller than 256x256 --> read only last byte
+ file:seek("set",19)
+ local w = file:read(1)
+ file:close()
+ return w:byte()
+end
+
+-- Computes line width for a given font height and text
+function signs.get_line_width(text)
+ local char
+ local width = 0
+
+ for p=1,#text
+ do
+ char = text:sub(p,p):byte()
+ if font[char] then
+ width = width + font[char].width
+ end
+ end
+
+ return width
+end
+
+--- Builds texture part for a text line
+-- @param text Text to be rendered
+-- @param x Starting x position in texture
+-- @param width Width of the texture (extra text is not rendered)
+-- @param y Vertical position of the line in texture
+-- @return Texture string
+function signs.make_line_texture(text, x, width, y)
+ local char
+
+ local texture = ""
+
+ for p=1,#text
+ do
+ char = text:sub(p,p):byte()
+ if font[char] then
+ -- Add image only if it is visible (at least partly)
+ if x + font[char].width >= 0 and x <= width then
+ texture = texture..string.format(":%d,%d=%s", x, y, font[char].filename)
+ end
+ x = x + font[char].width
+ end
+ end
+ return texture
+end
+
+-- Populate fonts table
+local w, filename
+for charnum=32,126 do
+ filename = string.format("signs_%02x.png", charnum)
+ w = get_png_width(signs.path.."/textures/"..filename)
+ font[charnum] = {filename=filename, width=w}
+end
+
diff --git a/signs/init.lua b/signs/init.lua
new file mode 100644
index 0000000..81d3a5b
--- /dev/null
+++ b/signs/init.lua
@@ -0,0 +1,15 @@
+-- Signs mod by P.Y. Rollo
+--
+-- License: WTFPL
+
+signs = {}
+signs.path = minetest.get_modpath("signs")
+
+dofile(signs.path.."/common.lua")
+dofile(signs.path.."/nodes.lua")
+dofile(signs.path.."/crafts.lua")
+
+
+
+
+
diff --git a/signs/nodes.lua b/signs/nodes.lua
new file mode 100644
index 0000000..77d8925
--- /dev/null
+++ b/signs/nodes.lua
@@ -0,0 +1,203 @@
+-- Poster specific formspec
+local function on_rightclick_poster(pos, node, player)
+ local formspec
+ local meta = minetest.get_meta(pos)
+ if not minetest.is_protected(pos, player:get_player_name()) then
+ formspec =
+ "size[6.5,7.5]"..
+ "field[0.5,0.7;6,1;display_text;Title;"..minetest.formspec_escape(meta:get_string("display_text")).."]"..
+ "textarea[0.5,1.7;6,6;text;Text;"..minetest.formspec_escape(meta:get_string("text")).."]"..
+ "button_exit[2,7;2,1;ok;Write]"
+ minetest.show_formspec(player:get_player_name(),
+ "signs:poster@"..minetest.pos_to_string(pos),
+ formspec)
+ else
+ formspec = "size[8,9]"..
+ "size[6.5,7.5]"..
+ "label[0.5,0;"..minetest.formspec_escape(meta:get_string("display_text")).."]"..
+ "textarea[0.5,1;6,7;;"..minetest.formspec_escape(meta:get_string("text"))..";]"..
+ "bgcolor[#111]"..
+ "button_exit[2,7;2,1;ok;Close]"
+ minetest.show_formspec(player:get_player_name(),
+ "",
+ formspec)
+ end
+
+end
+
+-- Poster specific on_receive_fields callback
+local function on_receive_fields_poster(pos, formname, fields, player)
+ local meta = minetest.get_meta(pos)
+ if not minetest.is_protected(pos, player:get_player_name()) then
+ if fields and fields.ok then
+ meta:set_string("display_text", fields.display_text)
+ meta:set_string("text", fields.text)
+ meta:set_string("infotext", "\""..fields.display_text
+ .."\"\n(right-click to read more text)")
+ display_lib.update_entities(pos)
+ end
+ end
+end
+
+signs.sign_models = {
+ blue_street={
+ depth=1/16,
+ width=14/16,
+ height=12/16,
+ color="#fff",
+ maxlines = 3,
+ xscale = 1/144,
+ yscale = 1/64,
+ fields = {
+ description="Blue street sign",
+ tiles={"signs_blue_street.png"},
+ inventory_image="signs_blue_street_inventory.png",
+ },
+ },
+ green_street={
+ depth=1/32,
+ width=1,
+ height=6/16,
+ color="#fff",
+ maxlines = 1,
+ xscale = 1/96,
+ yscale = 1/64,
+ fields = {
+ description="Green street sign",
+ tiles={"signs_green_street.png"},
+ inventory_image="signs_green_street_inventory.png",
+ },
+ },
+ wooden_right={
+ depth=1/16,
+ width=14/16,
+ height=7/16,
+ color="#000",
+ maxlines = 2,
+ xscale = 1/112,
+ yscale = 1/64,
+ fields = {
+ description="Wooden direction sign",
+ tiles={"signs_wooden_right.png"},
+ inventory_image="signs_wooden_inventory.png",
+ on_place=signs.on_place_direction,
+ on_rotate=signs.on_rotate_direction,
+
+ },
+ },
+ wooden_left={
+ depth=1/16,
+ width=14/16,
+ height=7/16,
+ color="#000",
+ maxlines = 2,
+ xscale = 1/112,
+ yscale = 1/64,
+ fields = {
+ description="Wooden direction sign",
+ tiles={"signs_wooden_left.png"},
+ inventory_image="signs_wooden_inventory.png",
+ groups={choppy=1,oddly_breakable_by_hand=1,not_in_creative_inventory=1},
+ drop="signs:wooden_right",
+ on_place=signs.on_place_direction,
+ on_rotate=signs.on_rotate_direction,
+ },
+ },
+ black_right={
+ depth=1/32,
+ width=1,
+ height=0.5,
+ color="#000",
+ maxlines = 1,
+ xscale = 1/96,
+ yscale = 1/64,
+ fields = {
+ description="Black direction sign",
+ tiles={"signs_black_right.png"},
+ inventory_image="signs_black_inventory.png",
+ on_place=signs.on_place_direction,
+ on_rotate=signs.on_rotate_direction,
+ },
+ },
+ black_left={
+ depth=1/32,
+ width=1,
+ height=0.5,
+ color="#000",
+ maxlines = 1,
+ xscale = 1/96,
+ yscale = 1/64,
+ fields = {
+ description="Black direction sign",
+ tiles={"signs_black_left.png"},
+ inventory_image="signs_black_inventory.png",
+ groups={choppy=1,oddly_breakable_by_hand=1,not_in_creative_inventory=1},
+ drop="signs:black_right",
+ on_place=signs.on_place_direction,
+ on_rotate=signs.on_rotate_direction,
+ },
+ },
+ poster={
+ depth=1/32,
+ width=26/32,
+ height=30/32,
+ color="#000",
+ valing="top",
+ maxlines = 1,
+ xscale = 1/144,
+ yscale = 1/64,
+ fields = {
+ description="Poster",
+ tiles={"signs_poster.png"},
+ inventory_image="signs_poster_inventory.png",
+ on_construct=display_lib.on_construct,
+ on_rightclick=on_rightclick_poster,
+ on_receive_fields=on_receive_fields_poster,
+ },
+ },
+}
+
+display_lib.register_display_entity("signs:text")
+
+for model_name, model in pairs(signs.sign_models)
+do
+ local fields = {
+ sunlight_propagates = true,
+ paramtype = "light",
+ paramtype2 = "wallmounted",
+ drawtype = "nodebox",
+ node_box = {
+ type = "wallmounted",
+ wall_side = {-0.5, -model.height/2, -model.width/2,
+ -0.5 + model.depth, model.height/2, model.width/2},
+ wall_bottom = {-model.width/2, -0.5, -model.height/2,
+ model.width/2, -0.5 + model.depth, model.height/2},
+ wall_top = {-model.width/2, 0.5, -model.height/2,
+ model.width/2, 0.5 - model.depth, model.height/2},
+ },
+ groups = {choppy=1,oddly_breakable_by_hand=1},
+ sign_model = model_name,
+ display_entities = {
+ ["signs:text"] = {
+ depth = model.depth-0.499,
+ on_display_update = signs.on_display_update },
+ },
+ on_place = display_lib.on_place,
+ on_construct = function(pos)
+ signs.set_formspec(pos)
+ display_lib.on_construct(pos)
+ end,
+ on_destruct = display_lib.on_destruct,
+ on_rotate = display_lib.on_rotate,
+ on_receive_fields = signs.on_receive_fields,
+ }
+
+ for key, value in pairs(model.fields) do
+ fields[key] = value
+ end
+
+ if not fields.wield_image then fields.wield_image = fields.inventory_image end
+
+ minetest.register_node("signs:"..model_name, fields)
+end
+
diff --git a/signs/textures/signs_20.png b/signs/textures/signs_20.png
new file mode 100644
index 0000000..43df9d1
--- /dev/null
+++ b/signs/textures/signs_20.png
Binary files differ
diff --git a/signs/textures/signs_21.png b/signs/textures/signs_21.png
new file mode 100644
index 0000000..b927105
--- /dev/null
+++ b/signs/textures/signs_21.png
Binary files differ
diff --git a/signs/textures/signs_22.png b/signs/textures/signs_22.png
new file mode 100644
index 0000000..fae7109
--- /dev/null
+++ b/signs/textures/signs_22.png
Binary files differ
diff --git a/signs/textures/signs_23.png b/signs/textures/signs_23.png
new file mode 100644
index 0000000..0995756
--- /dev/null
+++ b/signs/textures/signs_23.png
Binary files differ
diff --git a/signs/textures/signs_24.png b/signs/textures/signs_24.png
new file mode 100644
index 0000000..18b37d9
--- /dev/null
+++ b/signs/textures/signs_24.png
Binary files differ
diff --git a/signs/textures/signs_25.png b/signs/textures/signs_25.png
new file mode 100644
index 0000000..83737d3
--- /dev/null
+++ b/signs/textures/signs_25.png
Binary files differ
diff --git a/signs/textures/signs_26.png b/signs/textures/signs_26.png
new file mode 100644
index 0000000..94357c4
--- /dev/null
+++ b/signs/textures/signs_26.png
Binary files differ
diff --git a/signs/textures/signs_27.png b/signs/textures/signs_27.png
new file mode 100644
index 0000000..cd4426c
--- /dev/null
+++ b/signs/textures/signs_27.png
Binary files differ
diff --git a/signs/textures/signs_28.png b/signs/textures/signs_28.png
new file mode 100644
index 0000000..66fd16e
--- /dev/null
+++ b/signs/textures/signs_28.png
Binary files differ
diff --git a/signs/textures/signs_29.png b/signs/textures/signs_29.png
new file mode 100644
index 0000000..324d1d2
--- /dev/null
+++ b/signs/textures/signs_29.png
Binary files differ
diff --git a/signs/textures/signs_2a.png b/signs/textures/signs_2a.png
new file mode 100644
index 0000000..27bafea
--- /dev/null
+++ b/signs/textures/signs_2a.png
Binary files differ
diff --git a/signs/textures/signs_2b.png b/signs/textures/signs_2b.png
new file mode 100644
index 0000000..28a8c7f
--- /dev/null
+++ b/signs/textures/signs_2b.png
Binary files differ
diff --git a/signs/textures/signs_2c.png b/signs/textures/signs_2c.png
new file mode 100644
index 0000000..16bf1e4
--- /dev/null
+++ b/signs/textures/signs_2c.png
Binary files differ
diff --git a/signs/textures/signs_2d.png b/signs/textures/signs_2d.png
new file mode 100644
index 0000000..b555ad6
--- /dev/null
+++ b/signs/textures/signs_2d.png
Binary files differ
diff --git a/signs/textures/signs_2e.png b/signs/textures/signs_2e.png
new file mode 100644
index 0000000..cdfa677
--- /dev/null
+++ b/signs/textures/signs_2e.png
Binary files differ
diff --git a/signs/textures/signs_2f.png b/signs/textures/signs_2f.png
new file mode 100644
index 0000000..e76fdf4
--- /dev/null
+++ b/signs/textures/signs_2f.png
Binary files differ
diff --git a/signs/textures/signs_30.png b/signs/textures/signs_30.png
new file mode 100644
index 0000000..5a57af3
--- /dev/null
+++ b/signs/textures/signs_30.png
Binary files differ
diff --git a/signs/textures/signs_31.png b/signs/textures/signs_31.png
new file mode 100644
index 0000000..3b8ebf0
--- /dev/null
+++ b/signs/textures/signs_31.png
Binary files differ
diff --git a/signs/textures/signs_32.png b/signs/textures/signs_32.png
new file mode 100644
index 0000000..9a869a8
--- /dev/null
+++ b/signs/textures/signs_32.png
Binary files differ
diff --git a/signs/textures/signs_33.png b/signs/textures/signs_33.png
new file mode 100644
index 0000000..0bbaf59
--- /dev/null
+++ b/signs/textures/signs_33.png
Binary files differ
diff --git a/signs/textures/signs_34.png b/signs/textures/signs_34.png
new file mode 100644
index 0000000..f6dfe63
--- /dev/null
+++ b/signs/textures/signs_34.png
Binary files differ
diff --git a/signs/textures/signs_35.png b/signs/textures/signs_35.png
new file mode 100644
index 0000000..71a9883
--- /dev/null
+++ b/signs/textures/signs_35.png
Binary files differ
diff --git a/signs/textures/signs_36.png b/signs/textures/signs_36.png
new file mode 100644
index 0000000..6553bed
--- /dev/null
+++ b/signs/textures/signs_36.png
Binary files differ
diff --git a/signs/textures/signs_37.png b/signs/textures/signs_37.png
new file mode 100644
index 0000000..53b9541
--- /dev/null
+++ b/signs/textures/signs_37.png
Binary files differ
diff --git a/signs/textures/signs_38.png b/signs/textures/signs_38.png
new file mode 100644
index 0000000..0933814
--- /dev/null
+++ b/signs/textures/signs_38.png
Binary files differ
diff --git a/signs/textures/signs_39.png b/signs/textures/signs_39.png
new file mode 100644
index 0000000..94dae88
--- /dev/null
+++ b/signs/textures/signs_39.png
Binary files differ
diff --git a/signs/textures/signs_3a.png b/signs/textures/signs_3a.png
new file mode 100644
index 0000000..09b4793
--- /dev/null
+++ b/signs/textures/signs_3a.png
Binary files differ
diff --git a/signs/textures/signs_3b.png b/signs/textures/signs_3b.png
new file mode 100644
index 0000000..8f9076b
--- /dev/null
+++ b/signs/textures/signs_3b.png
Binary files differ
diff --git a/signs/textures/signs_3c.png b/signs/textures/signs_3c.png
new file mode 100644
index 0000000..a5313c9
--- /dev/null
+++ b/signs/textures/signs_3c.png
Binary files differ
diff --git a/signs/textures/signs_3d.png b/signs/textures/signs_3d.png
new file mode 100644
index 0000000..153c272
--- /dev/null
+++ b/signs/textures/signs_3d.png
Binary files differ
diff --git a/signs/textures/signs_3e.png b/signs/textures/signs_3e.png
new file mode 100644
index 0000000..ced7868
--- /dev/null
+++ b/signs/textures/signs_3e.png
Binary files differ
diff --git a/signs/textures/signs_3f.png b/signs/textures/signs_3f.png
new file mode 100644
index 0000000..3dfc73b
--- /dev/null
+++ b/signs/textures/signs_3f.png
Binary files differ
diff --git a/signs/textures/signs_40.png b/signs/textures/signs_40.png
new file mode 100644
index 0000000..65dc19f
--- /dev/null
+++ b/signs/textures/signs_40.png
Binary files differ
diff --git a/signs/textures/signs_41.png b/signs/textures/signs_41.png
new file mode 100644
index 0000000..0d74cdb
--- /dev/null
+++ b/signs/textures/signs_41.png
Binary files differ
diff --git a/signs/textures/signs_42.png b/signs/textures/signs_42.png
new file mode 100644
index 0000000..7432e5f
--- /dev/null
+++ b/signs/textures/signs_42.png
Binary files differ
diff --git a/signs/textures/signs_43.png b/signs/textures/signs_43.png
new file mode 100644
index 0000000..5a2e165
--- /dev/null
+++ b/signs/textures/signs_43.png
Binary files differ
diff --git a/signs/textures/signs_44.png b/signs/textures/signs_44.png
new file mode 100644
index 0000000..f2c4d07
--- /dev/null
+++ b/signs/textures/signs_44.png
Binary files differ
diff --git a/signs/textures/signs_45.png b/signs/textures/signs_45.png
new file mode 100644
index 0000000..de77e41
--- /dev/null
+++ b/signs/textures/signs_45.png
Binary files differ
diff --git a/signs/textures/signs_46.png b/signs/textures/signs_46.png
new file mode 100644
index 0000000..a19af77
--- /dev/null
+++ b/signs/textures/signs_46.png
Binary files differ
diff --git a/signs/textures/signs_47.png b/signs/textures/signs_47.png
new file mode 100644
index 0000000..30c6818
--- /dev/null
+++ b/signs/textures/signs_47.png
Binary files differ
diff --git a/signs/textures/signs_48.png b/signs/textures/signs_48.png
new file mode 100644
index 0000000..e49cee4
--- /dev/null
+++ b/signs/textures/signs_48.png
Binary files differ
diff --git a/signs/textures/signs_49.png b/signs/textures/signs_49.png
new file mode 100644
index 0000000..534500b
--- /dev/null
+++ b/signs/textures/signs_49.png
Binary files differ
diff --git a/signs/textures/signs_4a.png b/signs/textures/signs_4a.png
new file mode 100644
index 0000000..5575e6d
--- /dev/null
+++ b/signs/textures/signs_4a.png
Binary files differ
diff --git a/signs/textures/signs_4b.png b/signs/textures/signs_4b.png
new file mode 100644
index 0000000..0afb35d
--- /dev/null
+++ b/signs/textures/signs_4b.png
Binary files differ
diff --git a/signs/textures/signs_4c.png b/signs/textures/signs_4c.png
new file mode 100644
index 0000000..99af40d
--- /dev/null
+++ b/signs/textures/signs_4c.png
Binary files differ
diff --git a/signs/textures/signs_4d.png b/signs/textures/signs_4d.png
new file mode 100644
index 0000000..14648ed
--- /dev/null
+++ b/signs/textures/signs_4d.png
Binary files differ
diff --git a/signs/textures/signs_4e.png b/signs/textures/signs_4e.png
new file mode 100644
index 0000000..57abfbb
--- /dev/null
+++ b/signs/textures/signs_4e.png
Binary files differ
diff --git a/signs/textures/signs_4f.png b/signs/textures/signs_4f.png
new file mode 100644
index 0000000..06e0c8d
--- /dev/null
+++ b/signs/textures/signs_4f.png
Binary files differ
diff --git a/signs/textures/signs_50.png b/signs/textures/signs_50.png
new file mode 100644
index 0000000..fba27a0
--- /dev/null
+++ b/signs/textures/signs_50.png
Binary files differ
diff --git a/signs/textures/signs_51.png b/signs/textures/signs_51.png
new file mode 100644
index 0000000..081e272
--- /dev/null
+++ b/signs/textures/signs_51.png
Binary files differ
diff --git a/signs/textures/signs_52.png b/signs/textures/signs_52.png
new file mode 100644
index 0000000..12fe421
--- /dev/null
+++ b/signs/textures/signs_52.png
Binary files differ
diff --git a/signs/textures/signs_53.png b/signs/textures/signs_53.png
new file mode 100644
index 0000000..7e1bbe0
--- /dev/null
+++ b/signs/textures/signs_53.png
Binary files differ
diff --git a/signs/textures/signs_54.png b/signs/textures/signs_54.png
new file mode 100644
index 0000000..f50a8b8
--- /dev/null
+++ b/signs/textures/signs_54.png
Binary files differ
diff --git a/signs/textures/signs_55.png b/signs/textures/signs_55.png
new file mode 100644
index 0000000..4682223
--- /dev/null
+++ b/signs/textures/signs_55.png
Binary files differ
diff --git a/signs/textures/signs_56.png b/signs/textures/signs_56.png
new file mode 100644
index 0000000..c8a55c4
--- /dev/null
+++ b/signs/textures/signs_56.png
Binary files differ
diff --git a/signs/textures/signs_57.png b/signs/textures/signs_57.png
new file mode 100644
index 0000000..419191c
--- /dev/null
+++ b/signs/textures/signs_57.png
Binary files differ
diff --git a/signs/textures/signs_58.png b/signs/textures/signs_58.png
new file mode 100644
index 0000000..1175a0e
--- /dev/null
+++ b/signs/textures/signs_58.png
Binary files differ
diff --git a/signs/textures/signs_59.png b/signs/textures/signs_59.png
new file mode 100644
index 0000000..9a52397
--- /dev/null
+++ b/signs/textures/signs_59.png
Binary files differ
diff --git a/signs/textures/signs_5a.png b/signs/textures/signs_5a.png
new file mode 100644
index 0000000..64c1c4f
--- /dev/null
+++ b/signs/textures/signs_5a.png
Binary files differ
diff --git a/signs/textures/signs_5b.png b/signs/textures/signs_5b.png
new file mode 100644
index 0000000..c360403
--- /dev/null
+++ b/signs/textures/signs_5b.png
Binary files differ
diff --git a/signs/textures/signs_5c.png b/signs/textures/signs_5c.png
new file mode 100644
index 0000000..08cf8b6
--- /dev/null
+++ b/signs/textures/signs_5c.png
Binary files differ
diff --git a/signs/textures/signs_5d.png b/signs/textures/signs_5d.png
new file mode 100644
index 0000000..2309ee8
--- /dev/null
+++ b/signs/textures/signs_5d.png
Binary files differ
diff --git a/signs/textures/signs_5e.png b/signs/textures/signs_5e.png
new file mode 100644
index 0000000..60a1dbd
--- /dev/null
+++ b/signs/textures/signs_5e.png
Binary files differ
diff --git a/signs/textures/signs_5f.png b/signs/textures/signs_5f.png
new file mode 100644
index 0000000..e7a4d90
--- /dev/null
+++ b/signs/textures/signs_5f.png
Binary files differ
diff --git a/signs/textures/signs_60.png b/signs/textures/signs_60.png
new file mode 100644
index 0000000..cd2b1ef
--- /dev/null
+++ b/signs/textures/signs_60.png
Binary files differ
diff --git a/signs/textures/signs_61.png b/signs/textures/signs_61.png
new file mode 100644
index 0000000..874433d
--- /dev/null
+++ b/signs/textures/signs_61.png
Binary files differ
diff --git a/signs/textures/signs_62.png b/signs/textures/signs_62.png
new file mode 100644
index 0000000..f29b709
--- /dev/null
+++ b/signs/textures/signs_62.png
Binary files differ
diff --git a/signs/textures/signs_63.png b/signs/textures/signs_63.png
new file mode 100644
index 0000000..6d46292
--- /dev/null
+++ b/signs/textures/signs_63.png
Binary files differ
diff --git a/signs/textures/signs_64.png b/signs/textures/signs_64.png
new file mode 100644
index 0000000..30e4497
--- /dev/null
+++ b/signs/textures/signs_64.png
Binary files differ
diff --git a/signs/textures/signs_65.png b/signs/textures/signs_65.png
new file mode 100644
index 0000000..8644032
--- /dev/null
+++ b/signs/textures/signs_65.png
Binary files differ
diff --git a/signs/textures/signs_66.png b/signs/textures/signs_66.png
new file mode 100644
index 0000000..5d4f4b9
--- /dev/null
+++ b/signs/textures/signs_66.png
Binary files differ
diff --git a/signs/textures/signs_67.png b/signs/textures/signs_67.png
new file mode 100644
index 0000000..990e8e3
--- /dev/null
+++ b/signs/textures/signs_67.png
Binary files differ
diff --git a/signs/textures/signs_68.png b/signs/textures/signs_68.png
new file mode 100644
index 0000000..6b936aa
--- /dev/null
+++ b/signs/textures/signs_68.png
Binary files differ
diff --git a/signs/textures/signs_69.png b/signs/textures/signs_69.png
new file mode 100644
index 0000000..3251e2e
--- /dev/null
+++ b/signs/textures/signs_69.png
Binary files differ
diff --git a/signs/textures/signs_6a.png b/signs/textures/signs_6a.png
new file mode 100644
index 0000000..1e0082c
--- /dev/null
+++ b/signs/textures/signs_6a.png
Binary files differ
diff --git a/signs/textures/signs_6b.png b/signs/textures/signs_6b.png
new file mode 100644
index 0000000..788c3df
--- /dev/null
+++ b/signs/textures/signs_6b.png
Binary files differ
diff --git a/signs/textures/signs_6c.png b/signs/textures/signs_6c.png
new file mode 100644
index 0000000..534500b
--- /dev/null
+++ b/signs/textures/signs_6c.png
Binary files differ
diff --git a/signs/textures/signs_6d.png b/signs/textures/signs_6d.png
new file mode 100644
index 0000000..fca6d31
--- /dev/null
+++ b/signs/textures/signs_6d.png
Binary files differ
diff --git a/signs/textures/signs_6e.png b/signs/textures/signs_6e.png
new file mode 100644
index 0000000..10930a1
--- /dev/null
+++ b/signs/textures/signs_6e.png
Binary files differ
diff --git a/signs/textures/signs_6f.png b/signs/textures/signs_6f.png
new file mode 100644
index 0000000..f4aef64
--- /dev/null
+++ b/signs/textures/signs_6f.png
Binary files differ
diff --git a/signs/textures/signs_70.png b/signs/textures/signs_70.png
new file mode 100644
index 0000000..dac5f79
--- /dev/null
+++ b/signs/textures/signs_70.png
Binary files differ
diff --git a/signs/textures/signs_71.png b/signs/textures/signs_71.png
new file mode 100644
index 0000000..cc31972
--- /dev/null
+++ b/signs/textures/signs_71.png
Binary files differ
diff --git a/signs/textures/signs_72.png b/signs/textures/signs_72.png
new file mode 100644
index 0000000..d8dbcee
--- /dev/null
+++ b/signs/textures/signs_72.png
Binary files differ
diff --git a/signs/textures/signs_73.png b/signs/textures/signs_73.png
new file mode 100644
index 0000000..60911df
--- /dev/null
+++ b/signs/textures/signs_73.png
Binary files differ
diff --git a/signs/textures/signs_74.png b/signs/textures/signs_74.png
new file mode 100644
index 0000000..079e2f1
--- /dev/null
+++ b/signs/textures/signs_74.png
Binary files differ
diff --git a/signs/textures/signs_75.png b/signs/textures/signs_75.png
new file mode 100644
index 0000000..c86aaad
--- /dev/null
+++ b/signs/textures/signs_75.png
Binary files differ
diff --git a/signs/textures/signs_76.png b/signs/textures/signs_76.png
new file mode 100644
index 0000000..5101584
--- /dev/null
+++ b/signs/textures/signs_76.png
Binary files differ
diff --git a/signs/textures/signs_77.png b/signs/textures/signs_77.png
new file mode 100644
index 0000000..d2bdb98
--- /dev/null
+++ b/signs/textures/signs_77.png
Binary files differ
diff --git a/signs/textures/signs_78.png b/signs/textures/signs_78.png
new file mode 100644
index 0000000..20927d9
--- /dev/null
+++ b/signs/textures/signs_78.png
Binary files differ
diff --git a/signs/textures/signs_79.png b/signs/textures/signs_79.png
new file mode 100644
index 0000000..15a76a7
--- /dev/null
+++ b/signs/textures/signs_79.png
Binary files differ
diff --git a/signs/textures/signs_7a.png b/signs/textures/signs_7a.png
new file mode 100644
index 0000000..43a1f05
--- /dev/null
+++ b/signs/textures/signs_7a.png
Binary files differ
diff --git a/signs/textures/signs_7b.png b/signs/textures/signs_7b.png
new file mode 100644
index 0000000..08c27a1
--- /dev/null
+++ b/signs/textures/signs_7b.png
Binary files differ
diff --git a/signs/textures/signs_7c.png b/signs/textures/signs_7c.png
new file mode 100644
index 0000000..db5bdb3
--- /dev/null
+++ b/signs/textures/signs_7c.png
Binary files differ
diff --git a/signs/textures/signs_7d.png b/signs/textures/signs_7d.png
new file mode 100644
index 0000000..52a64af
--- /dev/null
+++ b/signs/textures/signs_7d.png
Binary files differ
diff --git a/signs/textures/signs_7e.png b/signs/textures/signs_7e.png
new file mode 100644
index 0000000..8a9a865
--- /dev/null
+++ b/signs/textures/signs_7e.png
Binary files differ
diff --git a/signs/textures/signs_black_inventory.png b/signs/textures/signs_black_inventory.png
new file mode 100644
index 0000000..4b10ee3
--- /dev/null
+++ b/signs/textures/signs_black_inventory.png
Binary files differ
diff --git a/signs/textures/signs_black_left.png b/signs/textures/signs_black_left.png
new file mode 100644
index 0000000..8837dcb
--- /dev/null
+++ b/signs/textures/signs_black_left.png
Binary files differ
diff --git a/signs/textures/signs_black_right.png b/signs/textures/signs_black_right.png
new file mode 100644
index 0000000..0951da0
--- /dev/null
+++ b/signs/textures/signs_black_right.png
Binary files differ
diff --git a/signs/textures/signs_blue_street.png b/signs/textures/signs_blue_street.png
new file mode 100644
index 0000000..540a390
--- /dev/null
+++ b/signs/textures/signs_blue_street.png
Binary files differ
diff --git a/signs/textures/signs_blue_street_inventory.png b/signs/textures/signs_blue_street_inventory.png
new file mode 100644
index 0000000..a702669
--- /dev/null
+++ b/signs/textures/signs_blue_street_inventory.png
Binary files differ
diff --git a/signs/textures/signs_green_street.png b/signs/textures/signs_green_street.png
new file mode 100644
index 0000000..b5c653d
--- /dev/null
+++ b/signs/textures/signs_green_street.png
Binary files differ
diff --git a/signs/textures/signs_green_street_inventory.png b/signs/textures/signs_green_street_inventory.png
new file mode 100644
index 0000000..6c2a52c
--- /dev/null
+++ b/signs/textures/signs_green_street_inventory.png
Binary files differ
diff --git a/signs/textures/signs_poster.png b/signs/textures/signs_poster.png
new file mode 100644
index 0000000..92a3144
--- /dev/null
+++ b/signs/textures/signs_poster.png
Binary files differ
diff --git a/signs/textures/signs_poster_inventory.png b/signs/textures/signs_poster_inventory.png
new file mode 100644
index 0000000..e73a85b
--- /dev/null
+++ b/signs/textures/signs_poster_inventory.png
Binary files differ
diff --git a/signs/textures/signs_wooden_inventory.png b/signs/textures/signs_wooden_inventory.png
new file mode 100644
index 0000000..e93ebe2
--- /dev/null
+++ b/signs/textures/signs_wooden_inventory.png
Binary files differ
diff --git a/signs/textures/signs_wooden_left.png b/signs/textures/signs_wooden_left.png
new file mode 100644
index 0000000..a3b6600
--- /dev/null
+++ b/signs/textures/signs_wooden_left.png
Binary files differ
diff --git a/signs/textures/signs_wooden_right.png b/signs/textures/signs_wooden_right.png
new file mode 100644
index 0000000..8d62376
--- /dev/null
+++ b/signs/textures/signs_wooden_right.png
Binary files differ