Release 2017-08-26

This commit is contained in:
Pierre-Yves Rollo 2017-08-26 14:12:38 +02:00
parent d59c475162
commit c179f44ba4
74 changed files with 2778 additions and 324 deletions

@ -8,3 +8,25 @@ This modpack provides mods with dynamic display. Mods are :
- **signs**: A mod providing signs and direction signs displaying text; - **signs**: A mod providing signs and direction signs displaying text;
- **signs_road**: A mod providing road signs displaying text; - **signs_road**: A mod providing road signs displaying text;
- **steles**: A mod providing stone steles with text; - **steles**: A mod providing stone steles with text;
For more information, see the [forum topic](https://forum.minetest.net/viewtopic.php?f=11&t=13563) at the Minetest forums.
## Changelog
###2017-08-26
- Changed signs from wallmounted to facedir to improve textures and make it possible to use screwdriver.
**IMPORTANT** : Map will be updated to change to new nodes but inventory items will turn into "Unknown items" and have to be re-crafted.
- Intllib support added with french translation (whole modpack, thanks to fat115) ;
- Punch on nodes to update entity (signs, signs_road and steles). Usefull in case of /clearobjects ;
- Changed wooden direction sign textures (signs) ;
- Added back and side textures to all signs (road_signs) ;
- Added more sign types : White/yellow/green signs and direction signs (signs_road) ;

@ -8,4 +8,7 @@ This library's purpose is to ease creation of nodes with one or more displays on
**License**: LPGL **License**: LPGL
**API**: See API.md document please. **API**: See [API.md](https://github.com/pyrollo/display_modpack/blob/master/display_lib/API.md) document please.
For more information, see the [forum topic](https://forum.minetest.net/viewtopic.php?f=11&t=13563) at the Minetest forums.

@ -0,0 +1,2 @@
Code by Pierre-Yves Rollo (pyrollo)

@ -114,7 +114,6 @@ local function place_entities(pos)
local depth = clip_pos_prop(props.depth) local depth = clip_pos_prop(props.depth)
local height = clip_pos_prop(props.height) local height = clip_pos_prop(props.height)
local right = clip_pos_prop(props.right) local right = clip_pos_prop(props.right)
if not objrefs[entity_name] then if not objrefs[entity_name] then
objrefs[entity_name] = minetest.add_entity(pos, entity_name) objrefs[entity_name] = minetest.add_entity(pos, entity_name)
end end
@ -158,26 +157,30 @@ end
--- On_place callback for display_lib items. Does nothing more than preventing item --- On_place callback for display_lib items. Does nothing more than preventing item
--- from being placed on ceiling or ground --- from being placed on ceiling or ground
function display_lib.on_place(itemstack, placer, pointed_thing) function display_lib.on_place(itemstack, placer, pointed_thing)
local ndef = minetest.registered_nodes[itemstack.name] local ndef = itemstack:get_definition()
local above = pointed_thing.above local above = pointed_thing.above
local under = pointed_thing.under local under = pointed_thing.under
local dir = {x = under.x - above.x, local dir = {x = under.x - above.x,
y = under.y - above.y, y = under.y - above.y,
z = under.z - above.z} z = under.z - above.z}
if ndef and ndef.paramtype2 == "wallmounted" then if ndef then
local wdir = minetest.dir_to_wallmounted(dir) if ndef.paramtype2 == "wallmounted" then
if wdir == 0 or wdir == 1 then local wdir = minetest.dir_to_wallmounted(dir)
dir = placer:get_look_dir()
dir.y = 0 if wdir == 0 or wdir == 1 then
wdir = minetest.dir_to_wallmounted(dir) dir = placer:get_look_dir()
dir.y = 0
wdir = minetest.dir_to_wallmounted(dir)
end
return minetest.item_place(itemstack, placer, pointed_thing, wdir)
else
return minetest.item_place(itemstack, placer, pointed_thing, minetest.dir_to_facedir(dir))
end end
return minetest.item_place(itemstack, placer, pointed_thing, wdir)
else
return minetest.item_place(itemstack, placer, pointed_thing)
end end
end end
--- On_construct callback for display_lib items. Creates entities and update them. --- On_construct callback for display_lib items. Creates entities and update them.
@ -196,7 +199,7 @@ end
-- On_rotate (screwdriver) callback for display_lib items. Prevents axis rotation and reorients entities. -- On_rotate (screwdriver) callback for display_lib items. Prevents axis rotation and reorients entities.
function display_lib.on_rotate(pos, node, user, mode, new_param2) function display_lib.on_rotate(pos, node, user, mode, new_param2)
if mode ~= screwdriver.ROTATE_FACE then return false end if mode ~= 1 then return false end
local values = get_values(node) local values = get_values(node)

@ -8,7 +8,7 @@ This library for font display on entities (to be used with display_lib for sign
(Font taken from VanessaE's homedecor/signs_lib, originally under WTFPL) (Font taken from VanessaE's homedecor/signs_lib, originally under WTFPL)
**API**: See API.md document please. **API**: See [API.md](https://github.com/pyrollo/display_modpack/blob/master/font_lib/API.md) document please.
For more information, see the [forum topic](https://forum.minetest.net/viewtopic.php?f=11&t=13563) at the Minetest forums.

@ -1,2 +1,2 @@
Code by Pierre-Yves Rollo Code by Pierre-Yves Rollo (pyrollo)
Textures by Vanessa Ezekowitz Textures by Vanessa Ezekowitz (VanessaE)

@ -62,8 +62,7 @@ end
function font_lib.get_line_width(text) function font_lib.get_line_width(text)
local char local char
local width = 0 local width = 0
local p=0
p=0
while p < #text do while p < #text do
char, p = get_next_char(text, p) char, p = get_next_char(text, p)
@ -82,10 +81,8 @@ end
function font_lib.make_line_texture(text, texturew, x, y) function font_lib.make_line_texture(text, texturew, x, y)
local char local char
local texture = "" local texture = ""
local p=0
p=0
while p < #text do while p < #text do
char, p = get_next_char(text, p) char, p = get_next_char(text, p)

@ -2,6 +2,8 @@
This mod provides clocks that display real ingame time. This mod provides clocks that display real ingame time.
For more information, see the [forum topic](https://forum.minetest.net/viewtopic.php?f=11&t=13563) at the Minetest forums.
**Dependancies**: display_lib, default **Dependancies**: display_lib, default
**License**: Code under LGPL, textures under CC-BY-SA **License**: Code under LGPL, textures under CC-BY-SA

@ -0,0 +1,4 @@
Code, Textures and Models by Pierre-Yves Rollo (pyrollo)
intllib support (i18n) by fat115
intllib fallback code and tools by Diego Martínez (kaeza)

@ -19,11 +19,11 @@
--]] --]]
ontime_clocks = {} ontime_clocks = {}
ontime_clocks.path = minetest.get_modpath("ontime_clocks") ontime_clocks.name = minetest.get_current_modname()
ontime_clocks.path = minetest.get_modpath(ontime_clocks.name)
-- Load support for intllib. -- Load support for intllib.
local MP = minetest.get_modpath(minetest.get_current_modname()) local S, NS = dofile(ontime_clocks.path.."/intllib.lua")
local S, NS = dofile(MP.."/intllib.lua")
ontime_clocks.intllib = S ontime_clocks.intllib = S
dofile(ontime_clocks.path.."/common.lua") dofile(ontime_clocks.path.."/common.lua")

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-08-05 09:50+0200\n" "POT-Creation-Date: 2017-08-26 11:21+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"

@ -2,20 +2,14 @@
This mod provides various signs with text display. Text is locked if area is protected. This mod provides various signs with text display. Text is locked if area is protected.
For more information, see the [forum topic](https://forum.minetest.net/viewtopic.php?f=11&t=13563) at the Minetest forums.
**Dependancies**: default, display\_lib, font\_lib **Dependancies**: default, display\_lib, font\_lib
**License**: Code under LGPL, Textures and models under CC-BY-SA **License**: Code under LGPL, Textures and models under CC-BY-SA
## Recipes ## Recipes
**Sign** (overrides default sign)
W W W
W W W
- S -
W = Wooden Plank, S = Stick
**Poster** **Poster**
P P - P P -
@ -26,7 +20,7 @@ P = Paper
Poster displays only title, much more text can be read by right-clicking on it. Poster displays only title, much more text can be read by right-clicking on it.
**Wooden direction sigh** **Wooden direction sign**
W W W W W W
W W - W W -

@ -30,7 +30,7 @@ function signs.set_formspec(pos)
if maxlines == 1 then if maxlines == 1 then
formspec = "size[6,3]".. formspec = "size[6,3]"..
"field[0.5,0.7;5.5,1;display_text;"..F("Displayed text")..";${display_text}]".. "field[0.5,0.7;5.5,1;display_text;"..F("Text")..";${display_text}]"..
"button_exit[2,2;2,1;ok;"..F("Write").."]" "button_exit[2,2;2,1;ok;"..F("Write").."]"
else else
local extralabel = "" local extralabel = ""
@ -39,7 +39,7 @@ function signs.set_formspec(pos)
end end
formspec = "size[6,4]".. formspec = "size[6,4]"..
"textarea[0.5,0.7;5.5,2;display_text;"..F("Displayed text")..""..extralabel..";${display_text}]".. "textarea[0.5,0.7;5.5,2;display_text;"..F("Text")..""..extralabel..";${display_text}]"..
"button_exit[2,3;2,1;ok;"..F("Write").."]" "button_exit[2,3;2,1;ok;"..F("Write").."]"
end end
@ -50,7 +50,7 @@ end
function signs.on_receive_fields(pos, formname, fields, player) function signs.on_receive_fields(pos, formname, fields, player)
if not minetest.is_protected(pos, player:get_player_name()) then if not minetest.is_protected(pos, player:get_player_name()) then
local meta = minetest.get_meta(pos) local meta = minetest.get_meta(pos)
if fields and fields.ok then if fields and (fields.ok or fields.key_enter) then
meta:set_string("display_text", fields.display_text) meta:set_string("display_text", fields.display_text)
meta:set_string("infotext", "\""..fields.display_text.."\"") meta:set_string("infotext", "\""..fields.display_text.."\"")
display_lib.update_entities(pos) display_lib.update_entities(pos)
@ -61,63 +61,71 @@ end
-- On place callback for direction signs -- On place callback for direction signs
-- (chooses which sign according to look direction) -- (chooses which sign according to look direction)
function signs.on_place_direction(itemstack, placer, pointed_thing) function signs.on_place_direction(itemstack, placer, pointed_thing)
local above = pointed_thing.above local name = itemstack:get_name()
local under = pointed_thing.under local ndef = minetest.registered_nodes[name]
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 local bdir = {x = pointed_thing.under.x - pointed_thing.above.x,
wdir = minetest.dir_to_wallmounted({x=dir.x, y=0, z=dir.z}) y = pointed_thing.under.y - pointed_thing.above.y,
z = pointed_thing.under.z - pointed_thing.above.z}
local pdir = placer:get_look_dir()
local ndir, test
if ndef.paramtype2 == "facedir" then
if bdir.x == 0 and bdir.z == 0 then
-- Ceiling or floor pointed (facedir chosen from player dir)
ndir = minetest.dir_to_facedir({x=pdir.x, y=0, z=pdir.z})
else
-- Wall pointed
ndir = minetest.dir_to_facedir(bdir)
end
test = {[0]=-pdir.x, pdir.z, pdir.x, -pdir.z}
end
if ndef.paramtype2 == "wallmounted" then
ndir = minetest.dir_to_wallmounted(bdir)
if ndir == 0 or ndir == 1 then
-- Ceiling or floor
ndir = minetest.dir_to_wallmounted({x=pdir.x, y=0, z=pdir.z})
end
test = {0, pdir.z, -pdir.z, -pdir.x, pdir.x}
end end
local name = itemstack:get_name() -- Only for direction signs
if ndef.signs_other_dir then
-- Only for direction signs (ending with _right) if test[ndir] > 0 then
if name:sub(-string.len("_right")) == "_right" then itemstack:set_name(ndef.signs_other_dir)
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 end
itemstack = minetest.item_place(itemstack, placer, pointed_thing, wdir) itemstack = minetest.item_place(itemstack, placer, pointed_thing, ndir)
itemstack:set_name(name.."right") itemstack:set_name(name)
return itemstack return itemstack
else else
return minetest.item_place(itemstack, placer, pointed_thing, wdir) return minetest.item_place(itemstack, placer, pointed_thing, ndir)
end end
end end
-- Screwdriver is no more usable for switching direction as on_rotate -- Handles screwdriver rotation. Direction is affected for direction signs
-- callback is not called anymore for wallmounted nodes since function signs.on_rotate(pos, node, player, mode, new_param2)
-- minetest_game commit of 24 dec 2015. Now we use right click. if mode == 2 then
function signs.on_right_click_direction(pos, node, player, itemstack, pointed_thing) local ndef = minetest.registered_nodes[node.name]
if not minetest.is_protected(pos, player:get_player_name()) then if ndef.signs_other_dir then
local name minetest.swap_node(pos, {name = ndef.signs_other_dir,
if node.name:sub(-string.len("_right")) == "_right" then param1 = node.param1, param2 = node.param2})
name = node.name:sub(1, -string.len("_right")).."left" display_lib.update_entities(pos)
end end
if node.name:sub(-string.len("_left")) == "_left" then else
name = node.name:sub(1, -string.len("_left")).."right" display_lib.on_rotate(pos, node, user, mode, new_param2)
end end
return false;
if name then
minetest.swap_node(pos, {name = name, param1 = node.param1, param2 = node.param2})
end
end
return itemstack
end end
-- Generic callback for show_formspec displayed formspecs -- Generic callback for show_formspec displayed formspecs of "sign" mod
minetest.register_on_player_receive_fields(function(player, formname, fields) minetest.register_on_player_receive_fields(function(player, formname, fields)
local found, _, mod, node_name, pos = formname:find("([%w_]+):([%w_]+)@(.+)") local found, _, mod, node_name, pos = formname:find("([%w_]+):([%w_]+)@(.+)")
if found then if found then
if mod ~= 'signs' then return end if mod ~= 'signs' then return end
@ -134,24 +142,20 @@ function signs.register_sign(mod, name, model)
local fields = { local fields = {
sunlight_propagates = true, sunlight_propagates = true,
paramtype = "light", paramtype = "light",
paramtype2 = "wallmounted", paramtype2 = "facedir",
drawtype = "nodebox", drawtype = "nodebox",
node_box = { node_box = {
type = "wallmounted", type = "fixed",
wall_side = {-0.5, -model.height/2, -model.width/2, fixed = {-model.width/2, -model.height/2, 0.5,
-0.5 + model.depth, model.height/2, model.width/2}, model.width/2, model.height/2, 0.5 - model.depth},
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=2, dig_immediate=2, attached_node=1}, groups = {choppy=2, dig_immediate=2},
sounds = default.node_sound_defaults(), sounds = default.node_sound_defaults(),
display_entities = { display_entities = {
["signs:text"] = { ["signs:text"] = {
on_display_update = font_lib.on_display_update, on_display_update = font_lib.on_display_update,
depth = 0.499 - model.depth, depth = 0.499 - model.depth,
size = { x = 1, y = 1 }, size = { x = model.width, y = model.height },
resolution = { x = 64, y = 64 }, resolution = { x = 64, y = 64 },
maxlines = 1, maxlines = 1,
}, },
@ -163,7 +167,9 @@ function signs.register_sign(mod, name, model)
display_lib.on_construct(pos) display_lib.on_construct(pos)
end, end,
on_destruct = display_lib.on_destruct, on_destruct = display_lib.on_destruct,
on_receive_fields = signs.on_receive_fields, on_rotate = signs.on_rotate,
on_receive_fields = signs.on_receive_fields,
on_punch = function(pos, node, player, pointed_thing) display_lib.update_entities(pos) end,
} }
-- Node fields override -- Node fields override

55
signs/compatibility.lua Normal file

@ -0,0 +1,55 @@
--[[
signs mod for Minetest - Various signs with text displayed on
(c) Pierre-Yves Rollo
This file is part of signs.
signs is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
signs is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with signs. If not, see <http://www.gnu.org/licenses/>.
--]]
-- Wallmounted to facedir conversion
local wallmounted_to_facedir = {
[0]=1, -- Should not happend with signs
[1]=1, -- Should not happend with signs
[2]=1,
[3]=3,
[4]=0,
[5]=2
}
-- Nodes conversions
local convert_nodes = {
['signs:wooden_right'] = 'signs:wooden_right_sign',
['signs:wooden_left'] = 'signs:wooden_left_sign',
['signs:poster'] = 'signs:paper_poster'
}
local function compatibility_check(pos, node)
-- Old wallmounted modes to new facedir nodes conversion
node.name = convert_nodes[node.name]
if node.name then
node.param2 = wallmounted_to_facedir[node.param2]
display_lib.on_destruct(pos)
minetest.swap_node(pos, node)
display_lib.on_construct(pos)
end
end
minetest.register_lbm({ name = "signs:conpatibility_1",
nodenames = {"signs:wooden_right", "signs:wooden_left", "signs:poster"},
action = compatibility_check,
})

@ -1,2 +1,4 @@
Code and Models by Pierre-Yves Rollo Code, Textures and Models by Pierre-Yves Rollo (pyrollo)
Textures by Pierre-Yves Rollo, except signs_default.png and signs_default_inventory.png by Kilbith intllib support (i18n) by fat115
intllib fallback code and tools by Diego Martínez (kaeza)

@ -1,5 +1,4 @@
default default
intllib?
display_lib display_lib
font_lib font_lib
homedecor?
intllib?

@ -19,13 +19,18 @@
--]] --]]
signs = {} signs = {}
signs.path = minetest.get_modpath("signs") signs.name = minetest.get_current_modname()
signs.path = minetest.get_modpath(signs.name)
-- Load support for intllib. -- Load support for intllib.
local MP = minetest.get_modpath(minetest.get_current_modname()) local S, NS = dofile(signs.path.."/intllib.lua")
local S, NS = dofile(MP.."/intllib.lua")
signs.intllib = S signs.intllib = S
dofile(signs.path.."/common.lua") dofile(signs.path.."/common.lua")
dofile(signs.path.."/nodes.lua") dofile(signs.path.."/nodes.lua")
dofile(signs.path.."/crafts.lua") dofile(signs.path.."/crafts.lua")
dofile(signs.path.."/compatibility.lua")

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: \n" "Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-08-05 10:06+0200\n" "POT-Creation-Date: 2017-08-26 13:20+0200\n"
"PO-Revision-Date: 2017-05-08 07:08+0200\n" "PO-Revision-Date: 2017-05-08 07:08+0200\n"
"Last-Translator: Peppy <peppy@twang-factory.com>\n" "Last-Translator: Peppy <peppy@twang-factory.com>\n"
"Language-Team: \n" "Language-Team: \n"
@ -17,9 +17,9 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 1.8.12\n" "X-Generator: Poedit 1.8.12\n"
#: common.lua #: common.lua nodes.lua
msgid "Displayed text" msgid "Text"
msgstr "Texte affiché" msgstr "Texte"
#: common.lua nodes.lua #: common.lua nodes.lua
msgid "Write" msgid "Write"
@ -34,10 +34,6 @@ msgstr " (uniquement les %s premières lignes)"
msgid "Title" msgid "Title"
msgstr "Titre" msgstr "Titre"
#: nodes.lua
msgid "Text"
msgstr "Texte"
#: nodes.lua #: nodes.lua
msgid "Close" msgid "Close"
msgstr "Fermer" msgstr "Fermer"
@ -48,8 +44,11 @@ msgstr "(Clic-droit pour afficher le texte entier)"
#: nodes.lua #: nodes.lua
msgid "Wooden direction sign" msgid "Wooden direction sign"
msgstr "Panneau indicateur en bois" msgstr "Panneau de direction en bois"
#: nodes.lua #: nodes.lua
msgid "Poster" msgid "Poster"
msgstr "Affiche" msgstr "Affiche"
#~ msgid "Textd"
#~ msgstr "Texte"

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-08-05 10:06+0200\n" "POT-Creation-Date: 2017-08-26 13:20+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -17,8 +17,8 @@ msgstr ""
"Content-Type: text/plain; charset=CHARSET\n" "Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
#: common.lua #: common.lua nodes.lua
msgid "Displayed text" msgid "Text"
msgstr "" msgstr ""
#: common.lua nodes.lua #: common.lua nodes.lua
@ -34,10 +34,6 @@ msgstr ""
msgid "Title" msgid "Title"
msgstr "" msgstr ""
#: nodes.lua
msgid "Text"
msgstr ""
#: nodes.lua #: nodes.lua
msgid "Close" msgid "Close"
msgstr "" msgstr ""

@ -1,17 +1,17 @@
# Blender v2.69 (sub 0) OBJ File: 'signs_dir_left.blend' # Blender v2.76 (sub 0) OBJ File: 'signs_dir_right.blend'
# www.blender.org # www.blender.org
mtllib signs_dir_left.mtl mtllib signs_dir_right.mtl
o Plane o Plane
v -0.437500 -0.500000 -0.218750 v -0.500000 0.218750 0.437500
v -0.437500 -0.500000 0.218750 v -0.500000 -0.218750 0.437500
v 0.312500 -0.500000 -0.218750 v 0.250000 0.218750 0.437500
v 0.312500 -0.500000 0.218750 v 0.250000 -0.218750 0.437500
v 0.500000 -0.500000 0.000000 v 0.437500 -0.000000 0.437500
v -0.437500 -0.437500 -0.218750 v -0.500000 0.218750 0.500000
v -0.437500 -0.437500 0.218750 v -0.500000 -0.218750 0.500000
v 0.312500 -0.437500 -0.218750 v 0.250000 0.218750 0.500000
v 0.312500 -0.437500 0.218750 v 0.250000 -0.218750 0.500000
v 0.500000 -0.437500 0.000000 v 0.437500 -0.000000 0.500000
vt 0.062500 0.500000 vt 0.062500 0.500000
vt 0.062500 0.937500 vt 0.062500 0.937500
vt 0.812500 0.937500 vt 0.812500 0.937500
@ -33,12 +33,19 @@ vt 0.062500 0.312500
vt 0.000000 0.000000 vt 0.000000 0.000000
vt 0.000000 0.500000 vt 0.000000 0.500000
vt 0.000000 0.937500 vt 0.000000 0.937500
vn 0.000000 0.000000 -1.000000
vn 0.000000 0.000000 1.000000
vn 0.759300 0.650800 0.000000
vn 0.000000 1.000000 0.000000
vn -0.000000 -1.000000 0.000000
vn 0.759300 -0.650800 -0.000000
vn -1.000000 0.000000 0.000000
usemtl None usemtl None
s off s off
f 2/1 1/2 3/3 5/4 4/5 f 2/1/1 1/2/1 3/3/1 5/4/1 4/5/1
f 7/6 9/7 10/8 8/9 6/10 f 7/6/2 9/7/2 10/8/2 8/9/2 6/10/2
f 3/11 8/12 10/13 5/14 f 3/11/3 8/12/3 10/13/3 5/14/3
f 1/2 6/15 8/16 3/3 f 1/2/4 6/15/4 8/16/4 3/3/4
f 4/5 9/7 7/6 2/1 f 4/5/5 9/7/5 7/6/5 2/1/5
f 5/17 10/18 9/10 4/19 f 5/17/6 10/18/6 9/10/6 4/19/6
f 2/1 7/20 6/21 1/2 f 2/1/7 7/20/7 6/21/7 1/2/7

@ -1,17 +1,17 @@
# Blender v2.76 (sub 0) OBJ File: 'signs_dir_right2.blend' # Blender v2.76 (sub 0) OBJ File: 'signs_dir_left.blend'
# www.blender.org # www.blender.org
mtllib signs_dir_right.mtl mtllib signs_dir_left.mtl
o Plane o Plane
v 0.437500 -0.437500 -0.218750 v 0.500000 -0.218750 0.437500
v 0.437500 -0.437500 0.218750 v 0.500000 0.218750 0.437500
v -0.312500 -0.437500 -0.218750 v -0.250000 -0.218750 0.437500
v -0.312500 -0.437500 0.218750 v -0.250000 0.218750 0.437500
v -0.500000 -0.437500 0.000000 v -0.437500 -0.000000 0.437500
v 0.437500 -0.500000 -0.218750 v 0.500000 -0.218750 0.500000
v 0.437500 -0.500000 0.218750 v 0.500000 0.218750 0.500000
v -0.312500 -0.500000 -0.218750 v -0.250000 -0.218750 0.500000
v -0.312500 -0.500000 0.218750 v -0.250000 0.218750 0.500000
v -0.500000 -0.500000 0.000000 v -0.437500 -0.000000 0.500000
vt 0.062500 0.500000 vt 0.062500 0.500000
vt 0.062500 0.937500 vt 0.062500 0.937500
vt 0.812500 0.937500 vt 0.812500 0.937500
@ -33,13 +33,13 @@ vt 0.062500 0.312500
vt 0.000000 0.000000 vt 0.000000 0.000000
vt 0.000000 0.500000 vt 0.000000 0.500000
vt 0.000000 0.937500 vt 0.000000 0.937500
vn 0.000000 1.000000 0.000000 vn -0.000000 0.000000 -1.000000
vn -0.000000 -1.000000 -0.000000 vn 0.000000 -0.000000 1.000000
vn -0.759300 0.000000 -0.650800 vn -0.759300 -0.650800 -0.000000
vn -0.000000 -0.000000 -1.000000 vn 0.000000 -1.000000 -0.000000
vn 0.000000 0.000000 1.000000 vn -0.000000 1.000000 0.000000
vn -0.759300 0.000000 0.650800 vn -0.759300 0.650800 0.000000
vn 1.000000 0.000000 -0.000000 vn 1.000000 0.000000 0.000000
usemtl None usemtl None
s off s off
f 2/1/1 1/2/1 3/3/1 5/4/1 4/5/1 f 2/1/1 1/2/1 3/3/1 5/4/1 4/5/1

@ -22,17 +22,20 @@ local S = signs.intllib
local F = function(...) return minetest.formspec_escape(S(...)) end local F = function(...) return minetest.formspec_escape(S(...)) end
-- Poster specific formspec -- Poster specific formspec
local function on_rightclick_poster(pos, node, player) local function on_rightclick_poster(pos, node, player, itemstack, pointed_thing)
local formspec local formspec
local meta = minetest.get_meta(pos) local meta = minetest.get_meta(pos)
if not minetest.is_protected(pos, player:get_player_name()) then if not minetest.is_protected(pos, player:get_player_name()) then
formspec = formspec =
"size[6.5,7.5]".. "size[6.5,7.5]"..
"field[0.5,0.7;6,1;display_text;"..F("Title")..";"..minetest.formspec_escape(meta:get_string("display_text")).."]".. "field[0.5,0.7;6,1;display_text;"..F("Title")..";"..
"textarea[0.5,1.7;6,6;text;"..F("Text")..";"..minetest.formspec_escape(meta:get_string("text")).."]".. minetest.formspec_escape(meta:get_string("display_text")).."]"..
"textarea[0.5,1.7;6,6;text;"..F("Text")..";"..
minetest.formspec_escape(meta:get_string("text")).."]"..
"button_exit[2,7;2,1;ok;"..F("Write").."]" "button_exit[2,7;2,1;ok;"..F("Write").."]"
minetest.show_formspec(player:get_player_name(), minetest.show_formspec(player:get_player_name(),
"signs:poster@"..minetest.pos_to_string(pos), node.name.."@"..minetest.pos_to_string(pos),
formspec) formspec)
else else
formspec = "size[8,9]".. formspec = "size[8,9]"..
@ -45,14 +48,14 @@ local function on_rightclick_poster(pos, node, player)
"", "",
formspec) formspec)
end end
return itemstack
end end
-- Poster specific on_receive_fields callback -- Poster specific on_receive_fields callback
local function on_receive_fields_poster(pos, formname, fields, player) local function on_receive_fields_poster(pos, formname, fields, player)
local meta = minetest.get_meta(pos) local meta = minetest.get_meta(pos)
if not minetest.is_protected(pos, player:get_player_name()) then if not minetest.is_protected(pos, player:get_player_name()) then
if fields and fields.ok then if fields and (fields.ok or fields.key_enter) then
meta:set_string("display_text", fields.display_text) meta:set_string("display_text", fields.display_text)
meta:set_string("text", fields.text) meta:set_string("text", fields.text)
meta:set_string("infotext", "\""..fields.display_text meta:set_string("infotext", "\""..fields.display_text
@ -67,66 +70,55 @@ display_lib.register_display_entity("signs:text")
-- Sign models and registration -- Sign models and registration
local models = { local models = {
wooden_right={ wooden_right_sign = {
depth=1/16,
width = 14/16,
height = 7/16,
entity_fields = {
size = { x = 12/16, y = 5/16 },
resolution = { x = 112, y = 64 },
maxlines = 2,
color="#000",
},
node_fields = {
description=S("Wooden direction sign"),
tiles={"signs_wooden_direction.png"},
inventory_image="signs_wooden_inventory.png",
on_place=signs.on_place_direction,
on_rightclick = signs.on_right_click_direction,
drawtype = "mesh",
mesh = "signs_dir_right.obj",
selection_box = { type="wallmounted",
wall_side = {-0.5, -7/32, -7/16, -7/16, 7/32, 0.5},
wall_bottom = {-0.5, -0.5, -0.5, 0.5, -7/16, 0.5},
wall_top = {-0.5, 0.5, -0.5, 0.5, 7/16, 0.5}},
collision_box = { type="wallmounted",
wall_side = {-0.5, -7/32, -7/16, -7/16, 7/32, 0.5},
wall_bottom = {-0.5, -0.5, -0.5, 0.5, -7/16, 0.5},
wall_top = {-0.5, 0.5, -0.5, 0.5, 7/16, 0.5}},
},
},
wooden_left={
depth = 1/16, depth = 1/16,
width = 14/16, width = 14/16,
height = 7/16, height = 7/16,
entity_fields = { entity_fields = {
size = { x = 12/16, y = 5/16 }, right = -3/32,
size = { x = 12/16, y = 6/16 },
resolution = { x = 112, y = 64 }, resolution = { x = 112, y = 64 },
maxlines = 2, maxlines = 2,
color="#000", color="#000",
}, },
node_fields = { node_fields = {
description=S("Wooden direction sign"), description = S("Wooden direction sign"),
tiles={"signs_wooden_direction.png"}, tiles = { "signs_wooden_direction.png" },
inventory_image="signs_wooden_inventory.png", inventory_image = "signs_wooden_inventory.png",
on_place=signs.on_place_direction, signs_other_dir = 'signs:wooden_left_sign',
on_rightclick = signs.on_right_click_direction, on_place = signs.on_place_direction,
drawtype = "mesh", drawtype = "mesh",
mesh = "signs_dir_left.obj", mesh = "signs_dir_right.obj",
selection_box = { type="wallmounted", selection_box = { type="fixed", fixed = {-0.5, -7/32, 0.5, 7/16, 7/32, 7/16}},
wall_side = {-0.5, -7/32, -0.5, -7/16, 7/32, 7/16}, collision_box = { type="fixed", fixed = {-0,5, -7/32, 0.5, 7/16, 7/32, 7/16}},
wall_bottom = {-0.5, -0.5, -0.5, 0.5, -7/16, 0.5},
wall_top = {-0.5, 0.5, -0.5, 0.5, 7/16, 0.5}},
collision_box = { type="wallmounted",
wall_side = {-0.5, -7/32, -0.5, -7/16, 7/32, 7/16},
wall_bottom = {-0.5, -0.5, -0.5, 0.5, -7/16, 0.5},
wall_top = {-0.5, 0.5, -0.5, 0.5, 7/16, 0.5}},
groups={not_in_creative_inventory=1},
drop="signs:wooden_right",
}, },
}, },
poster={ wooden_left_sign = {
depth=1/32, depth = 1/16,
width = 14/16,
height = 7/16,
entity_fields = {
right = 3/32,
size = { x = 12/16, y = 6/16 },
resolution = { x = 112, y = 64 },
maxlines = 2,
color = "#000",
},
node_fields = {
description = S("Wooden direction sign"),
tiles = { "signs_wooden_direction.png" },
inventory_image = "signs_wooden_inventory.png",
signs_other_dir = 'signs:wooden_right_sign',
drawtype = "mesh",
mesh = "signs_dir_left.obj",
selection_box = { type="fixed", fixed = {-7/16, -7/32, 0.5, 0.5, 7/32, 7/16}},
collision_box = { type="fixed", fixed = {-7/16, -7/32, 0.5, 0.5, 7/32, 7/16}},
groups = { not_in_creative_inventory = 1 },
drop = "signs:wooden_right_sign",
},
},
paper_poster = {
depth = 1/32,
width = 26/32, width = 26/32,
height = 30/32, height = 30/32,
entity_fields = { entity_fields = {
@ -136,39 +128,21 @@ local models = {
valign="top", valign="top",
}, },
node_fields = { node_fields = {
description=S("Poster"), description = S("Poster"),
tiles={"signs_poster.png"}, tiles = { "signs_poster_sides.png", "signs_poster_sides.png",
inventory_image="signs_poster_inventory.png", "signs_poster_sides.png", "signs_poster_sides.png",
on_construct=display_lib.on_construct, "signs_poster_sides.png", "signs_poster.png" },
on_rightclick=on_rightclick_poster, inventory_image = "signs_poster_inventory.png",
on_receive_fields=on_receive_fields_poster, on_construct = display_lib.on_construct,
on_rightclick = on_rightclick_poster,
on_receive_fields = on_receive_fields_poster,
}, },
}, },
} }
-- Node registration
for name, model in pairs(models) for name, model in pairs(models)
do do
signs.register_sign("signs", name, model) signs.register_sign("signs", name, model)
end end
if minetest.get_modpath("homedecor") then
print ("["..minetest.get_current_modname().."] homedecor mod is present, not overriding default:sign.")
else
-- Override default sign
signs.register_sign(":default", "sign_wall", {
depth = 1/16,
width = 14/16,
height = 10/16,
entity_fields = {
size = { x = 12/16, y = 8/16 },
resolution = { x = 144, y = 64 },
maxlines = 3,
color="#000",
},
node_fields = {
description="Sign",
tiles={"signs_default.png"},
inventory_image="signs_default_inventory.png",
},
})
end

@ -0,0 +1,128 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="32px"
height="32px"
id="svg2985"
version="1.1"
inkscape:version="0.48.4 r9939"
sodipodi:docname="black_direction.svg"
inkscape:export-filename="/home/pyrollo/dev/minetest-mods/signs/textures/signs_black_inventory.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90">
<defs
id="defs2987" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="11.197802"
inkscape:cx="19.873986"
inkscape:cy="24.450401"
inkscape:current-layer="layer1"
showgrid="true"
inkscape:grid-bbox="true"
inkscape:document-units="px"
inkscape:window-width="1239"
inkscape:window-height="776"
inkscape:window-x="41"
inkscape:window-y="24"
inkscape:window-maximized="1">
<inkscape:grid
type="xygrid"
id="grid2993"
empspacing="2"
visible="true"
enabled="true"
snapvisiblegridlinesonly="true"
spacingx="0.5px"
spacingy="0.5px"
color="#ff0000"
opacity="0.1254902" />
</sodipodi:namedview>
<metadata
id="metadata2990">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
id="layer1"
inkscape:label="Fond"
inkscape:groupmode="layer"
style="display:none">
<rect
style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.30000001;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect3110-2"
width="32"
height="32"
x="0"
y="0"
rx="0"
ry="0" />
</g>
<g
inkscape:groupmode="layer"
id="layer5"
inkscape:label="Fond inv">
<rect
style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.30000000999999998;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect3110"
width="32"
height="16"
x="0"
y="8"
rx="0"
ry="0" />
<rect
style="display:inline;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.30000000999999998;marker:none;visibility:visible;overflow:visible;enable-background:accumulate"
id="rect3767"
width="30"
height="14"
x="1"
y="9"
ry="2"
rx="2" />
</g>
<g
inkscape:groupmode="layer"
id="layer2"
inkscape:label="Left"
style="display:none">
<path
style="fill:#ffffff;fill-opacity:1;stroke:none;display:inline"
d="m 2,16 6,-6 0,3 22,0 0,6 -22,0 0,3 z"
id="path2997-1"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccccc" />
</g>
<g
inkscape:groupmode="layer"
id="layer3"
inkscape:label="Right"
style="display:inline">
<path
style="fill:#ffffff;fill-opacity:1;stroke:none;display:inline"
d="m 30,16 -6,-6 0,3 -22,0 0,6 22,0 0,3 z"
id="path2997"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccccc" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.8 KiB

139
signs/svg/blue_street.svg Normal file

@ -0,0 +1,139 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="32px"
height="32px"
id="svg2985"
version="1.1"
inkscape:version="0.48.4 r9939"
sodipodi:docname="dessin.svg"
inkscape:export-filename="/home/pyrollo/dev/minetest-mods/signs/textures/signs_blue_street_inv.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90">
<defs
id="defs2987" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="11.197802"
inkscape:cx="-5.016165"
inkscape:cy="21.417081"
inkscape:current-layer="layer1"
showgrid="true"
inkscape:grid-bbox="true"
inkscape:document-units="px"
borderlayer="true"
inkscape:window-width="1239"
inkscape:window-height="776"
inkscape:window-x="41"
inkscape:window-y="24"
inkscape:window-maximized="1">
<inkscape:grid
type="xygrid"
id="grid2993"
empspacing="2"
visible="true"
enabled="true"
snapvisiblegridlinesonly="true"
spacingx="0.5px"
spacingy="0.5px"
color="#ff5000"
opacity="0.1254902" />
</sodipodi:namedview>
<metadata
id="metadata2990">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
id="layer1"
inkscape:label="Inv"
inkscape:groupmode="layer"
style="display:inline">
<rect
style="color:#000000;fill:#000040;fill-opacity:1;fill-rule:nonzero;stroke:#ff0000;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect2995"
width="28"
height="24"
x="2"
y="4"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90" />
<path
style="display:inline;fill:none;stroke:#ffffff;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 3.5,8.5 0,15 c 1.5,0 3,1.5 3,3 l 19,0 c 0,-1.5 1.5,-3 3,-3 l 0,-15 c -1.5,0 -3,-1.5 -3,-3 l -19,0 c 0,1.5 -1.5,3 -3,3 z"
id="path3018"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccccccc" />
<path
sodipodi:type="arc"
style="display:inline;color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#ff0000;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;overflow:visible;enable-background:accumulate"
id="path3010"
sodipodi:cx="2"
sodipodi:cy="6"
sodipodi:rx="1"
sodipodi:ry="1"
d="M 3,6 A 1,1 0 1 1 1,6 1,1 0 1 1 3,6 z"
transform="translate(2,0)" />
<path
sodipodi:type="arc"
style="display:inline;color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#ff0000;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;overflow:visible;enable-background:accumulate"
id="path3012"
sodipodi:cx="30"
sodipodi:cy="6"
sodipodi:rx="1"
sodipodi:ry="1"
d="m 31,6 a 1,1 0 1 1 -2,0 1,1 0 1 1 2,0 z"
transform="translate(-2,0)" />
<path
sodipodi:type="arc"
style="display:inline;color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#ff0000;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;overflow:visible;enable-background:accumulate"
id="path3014"
sodipodi:cx="2"
sodipodi:cy="26"
sodipodi:rx="1"
sodipodi:ry="1"
d="m 3,26 a 1,1 0 1 1 -2,0 1,1 0 1 1 2,0 z"
transform="translate(2,0)" />
<path
sodipodi:type="arc"
style="display:inline;color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#ff0000;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;overflow:visible;enable-background:accumulate"
id="path3016"
sodipodi:cx="30"
sodipodi:cy="26"
sodipodi:rx="1"
sodipodi:ry="1"
d="m 31,26 a 1,1 0 1 1 -2,0 1,1 0 1 1 2,0 z"
transform="translate(-2,0)" />
</g>
<g
inkscape:groupmode="layer"
id="layer2"
inkscape:label="Tour"
style="display:inline">
<path
style="color:#000000;fill:#000040;fill-opacity:1;fill-rule:nonzero;stroke:#ff0000;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
d="M 0,0 0,32 32,32 32,0 0,0 z M 2,4 30,4 30,28 2,28 2,4 z"
id="rect2995-0"
inkscape:connector-curvature="0" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 5.6 KiB

104
signs/svg/green_street.svg Normal file

@ -0,0 +1,104 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="32px"
height="32px"
id="svg2985"
version="1.1"
inkscape:version="0.48.4 r9939"
sodipodi:docname="green_street.svg"
inkscape:export-filename="/home/pyrollo/dev/minetest-mods/signs/textures/signs_green_street.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90">
<defs
id="defs2987" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="11.197802"
inkscape:cx="18.489786"
inkscape:cy="10.161883"
inkscape:current-layer="layer5"
showgrid="true"
inkscape:grid-bbox="true"
inkscape:document-units="px"
inkscape:window-width="1239"
inkscape:window-height="776"
inkscape:window-x="41"
inkscape:window-y="24"
inkscape:window-maximized="1">
<inkscape:grid
type="xygrid"
id="grid2993"
empspacing="2"
visible="true"
enabled="true"
snapvisiblegridlinesonly="true"
spacingx="0.5px"
spacingy="0.5px"
color="#ff0000"
opacity="0.1254902" />
</sodipodi:namedview>
<metadata
id="metadata2990">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
id="layer1"
inkscape:label="Fond"
inkscape:groupmode="layer"
style="display:inline">
<rect
style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.30000001;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect3110-2"
width="32"
height="32"
x="0"
y="0"
rx="0"
ry="0" />
</g>
<g
inkscape:groupmode="layer"
id="layer5"
inkscape:label="Fond inv">
<rect
style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.30000001;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect3110"
width="32"
height="12"
x="0"
y="10"
rx="0"
ry="0" />
<rect
style="color:#000000;fill:#008040;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.30000001;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect3767"
width="30"
height="10"
x="1"
y="11"
ry="2"
rx="2" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.1 KiB

435
signs/svg/poster.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 1.7 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 554 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 617 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 203 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 619 B

After

Width:  |  Height:  |  Size: 816 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 606 B

@ -2,6 +2,8 @@
This mod provides road signs with text display. Text is locked if area is protected. This mod provides road signs with text display. Text is locked if area is protected.
For more information, see the [forum topic](https://forum.minetest.net/viewtopic.php?f=11&t=13563) at the Minetest forums.
**Dependancies**: default, display\_lib, font\_lib, signs **Dependancies**: default, display\_lib, font\_lib, signs
**License**: Code under LGPL, texture under CC-BY-SA **License**: Code under LGPL, texture under CC-BY-SA
@ -10,19 +12,19 @@ This mod provides road signs with text display. Text is locked if area is protec
**Blue Street Sign** **Blue Street Sign**
B W S B W -
S S S S S S
- - - - - -
B = Blue Dye, W = White Dye, S = Steel Ingot B = Blue Dye, W = White Dye, S = Steel Ingot
**Green Street Sign** **Red and White Street Sign**
G W S W R -
S S S S S S
- - - - - -
G = Green Dye, W = White Dye, S = Steel Ingot W = White Dye, R = Red Dye, S = Steel Ingot
**Black direction sign** **Black direction sign**
@ -32,3 +34,33 @@ G = Green Dye, W = White Dye, S = Steel Ingot
B = Black Dye, W = White Dye, S = Steel Ingot B = Black Dye, W = White Dye, S = Steel Ingot
**White Signs**
Two kinds of signs, normal and direction signs :
W B - W B S
S S S S S -
- - - - - -
W = White Dye, B = Black Dye, S = Steel Ingot
**Green Signs**
Two kinds of signs, normal and direction signs :
G W - G W S
S S S S S -
- - - - - -
G = Green Dye, W = White Dye, S = Steel Ingot
**Yellow Signs**
Two kinds of signs, normal and direction signs :
Y B - Y B S
S S S S S -
- - - - - -
Y = Yellow Dye, B = Black Dye, S = Steel Ingot

@ -0,0 +1,58 @@
--[[
signs mod for Minetest - Various signs with text displayed on
(c) Pierre-Yves Rollo
This file is part of signs.
signs is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
signs is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with signs. If not, see <http://www.gnu.org/licenses/>.
--]]
-- Wallmounted to facedir conversion
local wallmounted_to_facedir = {
[0]=1, -- Should not happend with signs
[1]=1, -- Should not happend with signs
[2]=1,
[3]=3,
[4]=0,
[5]=2
}
-- Nodes conversions
local convert_nodes = {
['signs_road:blue_street'] = 'signs_road:blue_street_sign',
['signs_road:green_street'] = 'signs_road:green_street_sign',
['signs_road:black_right'] = 'signs_road:black_right_sign',
['signs_road:black_left'] = 'signs_road:black_left_sign',
['signs_road:green_right'] = 'signs_road:green_right_sign',
['signs_road:green_left'] = 'signs_road:green_left_sign'
}
local function compatibility_check(pos, node)
-- Old wallmounted modes to new facedir nodes conversion
node.name = convert_nodes[node.name]
if node.name then
node.param2 = wallmounted_to_facedir[node.param2]
display_lib.on_destruct(pos)
minetest.swap_node(pos, node)
display_lib.on_construct(pos)
end
end
minetest.register_lbm({ name = "signs_road:conpatibility_1",
nodenames = {'signs_road:blue_street', 'signs_road:green_street', 'signs_road:black_right',
'signs_road:black_left', 'signs_road:green_right', 'signs_road:green_left'},
action = compatibility_check,
})

@ -1 +1,4 @@
Code, Textures and Models by Pierre-Yves Rollo Code, Textures and Models by Pierre-Yves Rollo (pyrollo)
intllib support (i18n) by fat115
intllib fallback code and tools by Diego Martínez (kaeza)

@ -20,25 +20,53 @@
--]] --]]
minetest.register_craft({ minetest.register_craft({
output = 'signs_road:blue_street', output = 'signs_road:blue_street_sign 2',
recipe = { recipe = {
{'dye:blue', 'dye:white', 'default:steel_ingot'}, {'dye:blue', 'dye:white', ''},
{'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'}, {'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'},
{'', '', ''}, {'', '', ''},
} }
}) })
minetest.register_craft({ minetest.register_craft({
output = 'signs_road:green_street', output = 'signs_road:red_street_sign 2',
recipe = { recipe = {
{'dye:green', 'dye:white', 'default:steel_ingot'}, {'dye:white', 'dye:red', ''},
{'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'}, {'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'},
{'', '', ''}, {'', '', ''},
} }
}) })
minetest.register_craft({ minetest.register_craft({
output = 'signs_road:black_right', output = 'signs_road:white_street_sign 2',
recipe = {
{'dye:white', 'dye:black', ''},
{'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'},
{'', '', ''},
}
})
minetest.register_craft({
output = 'signs_road:green_street_sign 2',
recipe = {
{'dye:green', 'dye:white', ''},
{'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'},
{'', '', ''},
}
})
minetest.register_craft({
output = 'signs_road:yellow_street_sign 2',
recipe = {
{'dye:yellow', 'dye:black', ''},
{'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'},
{'', '', ''},
}
})
minetest.register_craft({
output = 'signs_road:black_right_sign 2',
recipe = { recipe = {
{'dye:black', 'dye:white', 'default:steel_ingot'}, {'dye:black', 'dye:white', 'default:steel_ingot'},
{'default:steel_ingot', 'default:steel_ingot', ''}, {'default:steel_ingot', 'default:steel_ingot', ''},
@ -46,3 +74,30 @@ minetest.register_craft({
} }
}) })
minetest.register_craft({
output = 'signs_road:green_right_sign 2',
recipe = {
{'dye:green', 'dye:white', 'default:steel_ingot'},
{'default:steel_ingot', 'default:steel_ingot', ''},
{'', '', ''},
}
})
minetest.register_craft({
output = 'signs_road:yellow_right_sign 2',
recipe = {
{'dye:yellow', 'dye:white', 'default:steel_ingot'},
{'default:steel_ingot', 'default:steel_ingot', ''},
{'', '', ''},
}
})
minetest.register_craft({
output = 'signs_road:white_right_sign 2',
recipe = {
{'dye:white', 'dye:black', 'default:steel_ingot'},
{'default:steel_ingot', 'default:steel_ingot', ''},
{'', '', ''},
}
})

@ -1,6 +1,6 @@
default default
intllib?
dye dye
display_lib display_lib
font_lib font_lib
signs signs
intllib?

@ -20,12 +20,18 @@
--]] --]]
signs_road = {} signs_road = {}
signs_road.path = minetest.get_modpath("signs_road") signs_road.name = minetest.get_current_modname()
signs_road.path = minetest.get_modpath(signs_road.name)
-- Load support for intllib. -- Load support for intllib.
local MP = minetest.get_modpath(minetest.get_current_modname()) local S, NS = dofile(signs_road.path.."/intllib.lua")
local S, NS = dofile(MP.."/intllib.lua")
signs_road.intllib = S signs_road.intllib = S
dofile(signs_road.path.."/nodes.lua") dofile(signs_road.path.."/nodes.lua")
dofile(signs_road.path.."/crafts.lua") dofile(signs_road.path.."/crafts.lua")
dofile(signs_road.path.."/compatibility.lua")

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: \n" "Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-08-05 09:50+0200\n" "POT-Creation-Date: 2017-08-26 11:26+0200\n"
"PO-Revision-Date: 2017-05-08 06:40+0200\n" "PO-Revision-Date: 2017-05-08 06:40+0200\n"
"Last-Translator: Peppy <peppy@twang-factory.com>\n" "Last-Translator: Peppy <peppy@twang-factory.com>\n"
"Language-Team: \n" "Language-Team: \n"
@ -22,14 +22,35 @@ msgstr ""
msgid "Blue street sign" msgid "Blue street sign"
msgstr "Plaque de rue bleue" msgstr "Plaque de rue bleue"
#: nodes.lua
msgid "Red and white town sign"
msgstr "Panneau de ville rouge et blanc"
#: nodes.lua
msgid "White street sign"
msgstr "Panneau blanc"
#: nodes.lua #: nodes.lua
msgid "Green street sign" msgid "Green street sign"
msgstr "Plaque de rue verte" msgstr "Panneau vert"
#: nodes.lua
msgid "Yellow street sign"
msgstr "Panneau jaune"
#: nodes.lua #: nodes.lua
msgid "Black direction sign" msgid "Black direction sign"
msgstr "Panneau indicateur noir" msgstr "Panneau de direction noir"
#: nodes.lua #: nodes.lua
msgid "Green direction sign" msgid "Green direction sign"
msgstr "Panneau indicateur vert" msgstr "Panneau de direction vert"
#: nodes.lua
msgid "Yellow direction sign"
msgstr "Panneau de direction jaune"
#: nodes.lua
msgid "White direction sign"
msgstr "Panneau de direction blanc"

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-08-05 09:50+0200\n" "POT-Creation-Date: 2017-08-26 11:28+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -21,10 +21,22 @@ msgstr ""
msgid "Blue street sign" msgid "Blue street sign"
msgstr "" msgstr ""
#: nodes.lua
msgid "Red and white town sign"
msgstr ""
#: nodes.lua
msgid "White street sign"
msgstr ""
#: nodes.lua #: nodes.lua
msgid "Green street sign" msgid "Green street sign"
msgstr "" msgstr ""
#: nodes.lua
msgid "Yellow street sign"
msgstr ""
#: nodes.lua #: nodes.lua
msgid "Black direction sign" msgid "Black direction sign"
msgstr "" msgstr ""
@ -32,3 +44,11 @@ msgstr ""
#: nodes.lua #: nodes.lua
msgid "Green direction sign" msgid "Green direction sign"
msgstr "" msgstr ""
#: nodes.lua
msgid "Yellow direction sign"
msgstr ""
#: nodes.lua
msgid "White direction sign"
msgstr ""

@ -22,134 +22,290 @@
local S = signs_road.intllib local S = signs_road.intllib
local models = { local models = {
blue_street={ blue_street_sign = {
depth = 1/16, depth = 1/16,
width = 14/16, width = 14/16,
height = 12/16, height = 12/16,
entity_fields = { entity_fields = {
resolution = { x = 144, y = 64 }, resolution = { x = 144, y = 64 },
maxlines = 3, maxlines = 3,
color="#fff", color = "#fff",
}, },
node_fields = { node_fields = {
description=S("Blue street sign"), description = S("Blue street sign"),
tiles={"signs_blue_street.png"}, tiles = { "signs_road_sides.png", "signs_road_sides.png",
inventory_image="signs_blue_street_inventory.png", "signs_road_sides.png", "signs_road_sides.png",
"signs_road_sides.png", "signs_road_blue.png" },
inventory_image = "signs_road_blue.png",
}, },
}, },
green_street={ red_street_sign = {
depth = 1/32, depth = 1/16,
width = 1, width = 1,
height = 6/16, height = 7/16,
entity_fields = { entity_fields = {
resolution = { x = 96, y = 64 }, resolution = { x = 96, y = 64 },
maxlines = 1, maxlines = 1,
color="#fff", color = "#000",
}, },
node_fields = { node_fields = {
description=S("Green street sign"), description = S("Red and white town sign"),
tiles={"signs_green_street.png"}, tiles = { "signs_road_sides.png", "signs_road_sides.png",
inventory_image="signs_green_street_inventory.png", "signs_road_sides.png", "signs_road_sides.png",
"signs_road_sides.png", "signs_road_red_white.png" },
inventory_image="signs_road_red_white.png",
}, },
}, },
black_right={ white_street_sign = {
depth = 1/16,
width = 1,
height = 7/16,
entity_fields = {
resolution = { x = 96, y = 64 },
maxlines = 2,
color = "#000",
},
node_fields = {
description = S("White street sign"),
tiles = { "signs_road_sides.png", "signs_road_sides.png",
"signs_road_sides.png", "signs_road_sides.png",
"signs_road_sides.png", "signs_road_white.png" },
inventory_image = "signs_road_white.png",
},
},
green_street_sign = {
depth = 1/16,
width = 1,
height = 7/16,
entity_fields = {
resolution = { x = 96, y = 64 },
maxlines = 2,
color = "#fff",
},
node_fields = {
description = S("Green street sign"),
tiles = { "signs_road_sides.png", "signs_road_sides.png",
"signs_road_sides.png", "signs_road_sides.png",
"signs_road_sides.png", "signs_road_green.png" },
inventory_image = "signs_road_green.png",
},
},
yellow_street_sign = {
depth = 1/16,
width = 1,
height = 7/16,
entity_fields = {
resolution = { x = 96, y = 64 },
maxlines = 2,
color = "#000",
},
node_fields = {
description = S("Yellow street sign"),
tiles = { "signs_road_sides.png", "signs_road_sides.png",
"signs_road_sides.png", "signs_road_sides.png",
"signs_road_sides.png", "signs_road_yellow.png" },
inventory_image="signs_road_yellow.png",
},
},
black_right_sign = {
depth = 1/32,
width = 1,
height = 0.5,
entity_fields = {
resolution = { x = 96, y = 64 },
maxlines = 1,
color = "#000",
},
node_fields = {
description = S("Black direction sign"),
tiles = { "signs_road_sides.png", "signs_road_sides.png",
"signs_road_sides.png", "signs_road_sides.png",
"signs_road_sides.png", "signs_road_black_dir_right.png" },
inventory_image = "signs_road_black_dir_inventory.png",
signs_other_dir = "signs_road:black_left_sign",
on_place = signs.on_place_direction,
on_rightclick = signs.on_right_click_direction,
},
},
black_left_sign = {
depth = 1/32, depth = 1/32,
width = 1, width = 1,
height = 0.5, height = 0.5,
entity_fields = { entity_fields = {
resolution = { x = 96, y = 64 }, resolution = { x = 96, y = 64 },
maxlines = 1, maxlines = 1,
color="#000", color = "#000",
}, },
node_fields = { node_fields = {
description=S("Black direction sign"), description = S("Black direction sign"),
tiles={"signs_black_right.png"}, tiles = { "signs_road_sides.png", "signs_road_sides.png",
inventory_image="signs_black_inventory.png", "signs_road_sides.png", "signs_road_sides.png",
on_place=signs.on_place_direction, "signs_road_sides.png", "signs_road_black_dir_left.png" },
on_rightclick=signs.on_right_click_direction, inventory_image = "signs_road_black_dir_inventory.png",
signs_other_dir = "signs_road:black_right_sign",
groups = { not_in_creative_inventory = 1 },
drop = "signs_road:black_right_sign",
on_place = signs.on_place_direction,
on_rightclick = signs.on_right_click_direction,
}, },
}, },
black_left={
depth = 1/32, green_right_sign = {
width = 1,
height = 0.5,
entity_fields = {
resolution = { x = 96, y = 64 },
maxlines = 1,
color="#000",
},
node_fields = {
description=S("Black direction sign"),
tiles={"signs_black_left.png"},
inventory_image="signs_black_inventory.png",
groups={not_in_creative_inventory=1},
drop="signs_road:black_right",
on_place=signs.on_place_direction,
on_rightclick=signs.on_right_click_direction,
},
},
green_right={
depth = 1/16, depth = 1/16,
width = 14/16, width = 14/16,
height = 7/16, height = 7/16,
entity_fields = { entity_fields = {
right = -3/32,
size = { x = 12/16, y = 6/16 }, size = { x = 12/16, y = 6/16 },
resolution = { x = 112, y = 64 }, resolution = { x = 112, y = 64 },
maxlines = 2, maxlines = 2,
color="#fff", color = "#fff",
}, },
node_fields = { node_fields = {
description=S("Green direction sign"), description = S("Green direction sign"),
tiles={"signs_green_direction.png"}, tiles = { "signs_road_green_direction.png" },
inventory_image="signs_green_dir_inventory.png", inventory_image = "signs_road_green_dir_inventory.png",
on_place=signs.on_place_direction, signs_other_dir = "signs_road:green_left_sign",
on_place = signs.on_place_direction,
on_rightclick = signs.on_right_click_direction, on_rightclick = signs.on_right_click_direction,
drawtype = "mesh", drawtype = "mesh",
mesh = "signs_dir_right.obj", mesh = "signs_dir_right.obj",
selection_box = { type="wallmounted", selection_box = { type = "fixed", fixed = { -0.5, -7/32, 0.5, 7/16, 7/32, 7/16 } },
wall_side = {-0.5, -7/32, -7/16, -7/16, 7/32, 0.5}, collision_box = { type = "fixed", fixed = { -0,5, -7/32, 0.5, 7/16, 7/32, 7/16 } },
wall_bottom = {-0.5, -0.5, -0.5, 0.5, -7/16, 0.5},
wall_top = {-0.5, 0.5, -0.5, 0.5, 7/16, 0.5}},
collision_box = { type="wallmounted",
wall_side = {-0.5, -7/32, -7/16, -7/16, 7/32, 0.5},
wall_bottom = {-0.5, -0.5, -0.5, 0.5, -7/16, 0.5},
wall_top = {-0.5, 0.5, -0.5, 0.5, 7/16, 0.5}},
}, },
}, },
green_left={ green_left_sign = {
depth = 1/16, depth = 1/16,
width = 14/16, width = 14/16,
height = 7/16, height = 7/16,
entity_fields = { entity_fields = {
right = 3/32,
size = { x = 12/16, y = 6/16 }, size = { x = 12/16, y = 6/16 },
resolution = { x = 112, y = 64 }, resolution = { x = 112, y = 64 },
maxlines = 2, maxlines = 2,
color="#fff", color="#fff",
}, },
node_fields = { node_fields = {
description=S("Green direction sign"), description = S("Green direction sign"),
tiles={"signs_green_direction.png"}, tiles = { "signs_road_green_direction.png" },
inventory_image="signs_green_dir_inventory.png", inventory_image = "signs_road_green_dir_inventory.png",
signs_other_dir = "signs_road:green_right_sign",
on_place = signs.on_place_direction,
on_rightclick = signs.on_right_click_direction,
drawtype = "mesh",
mesh = "signs_dir_left.obj",
selection_box = { type = "fixed", fixed = { -7/16, -7/32, 0.5, 0.5, 7/32, 7/16 } },
collision_box = { type = "fixed", fixed = { -7/16, -7/32, 0.5, 0.5, 7/32, 7/16 } },
groups = { not_in_creative_inventory = 1 },
drop = "signs_road:green_right_sign",
},
},
yellow_right_sign = {
depth = 1/16,
width = 14/16,
height = 7/16,
entity_fields = {
right = -3/32,
size = { x = 12/16, y = 6/16 },
resolution = { x = 112, y = 64 },
maxlines = 2,
color = "#000",
},
node_fields = {
description = S("Yellow direction sign"),
tiles = { "signs_road_yellow_direction.png" },
inventory_image = "signs_road_yellow_dir_inventory.png",
signs_other_dir = "signs_road:yellow_left_sign",
on_place = signs.on_place_direction,
on_rightclick = signs.on_right_click_direction,
drawtype = "mesh",
mesh = "signs_dir_right.obj",
selection_box = { type = "fixed", fixed = { -0.5, -7/32, 0.5, 7/16, 7/32, 7/16 } },
collision_box = { type = "fixed", fixed = { -0,5, -7/32, 0.5, 7/16, 7/32, 7/16 } },
},
},
yellow_left_sign = {
depth = 1/16,
width = 14/16,
height = 7/16,
entity_fields = {
right = 3/32,
size = { x = 12/16, y = 6/16 },
resolution = { x = 112, y = 64 },
maxlines = 2,
color = "#000",
},
node_fields = {
description = S("Yellow direction sign"),
tiles = { "signs_road_yellow_direction.png" },
inventory_image = "signs_road_yellow_dir_inventory.png",
signs_other_dir = "signs_road:yellow_right_sign",
on_place = signs.on_place_direction,
on_rightclick = signs.on_right_click_direction,
drawtype = "mesh",
mesh = "signs_dir_left.obj",
selection_box = { type = "fixed", fixed = { -7/16, -7/32, 0.5, 0.5, 7/32, 7/16 } },
collision_box = { type = "fixed", fixed = { -7/16, -7/32, 0.5, 0.5, 7/32, 7/16 } },
groups = { not_in_creative_inventory = 1 },
drop = "signs_road:yellow_left_sign",
},
},
white_right_sign = {
depth = 1/16,
width = 14/16,
height = 7/16,
entity_fields = {
right = -3/32,
size = { x = 12/16, y = 6/16 },
resolution = { x = 112, y = 64 },
maxlines = 2,
color = "#000",
},
node_fields = {
description = S("White direction sign"),
tiles = { "signs_road_white_direction.png" },
inventory_image = "signs_road_white_dir_inventory.png",
signs_other_dir = "signs_road:white_left_sign",
on_place = signs.on_place_direction,
on_rightclick = signs.on_right_click_direction,
drawtype = "mesh",
mesh = "signs_dir_right.obj",
selection_box = { type = "fixed", fixed = { -0.5, -7/32, 0.5, 7/16, 7/32, 7/16 } },
collision_box = { type = "fixed", fixed = { -0,5, -7/32, 0.5, 7/16, 7/32, 7/16 } },
},
},
white_left_sign = {
depth = 1/16,
width = 14/16,
height = 7/16,
entity_fields = {
right = 3/32,
size = { x = 12/16, y = 6/16 },
resolution = { x = 112, y = 64 },
maxlines = 2,
color = "#000",
},
node_fields = {
description = S("White direction sign"),
tiles = { "signs_road_white_direction.png" },
inventory_image = "signs_road_white_dir_inventory.png",
signs_other_dir = "signs_road:white_right_sign",
on_place=signs.on_place_direction, on_place=signs.on_place_direction,
on_rightclick = signs.on_right_click_direction, on_rightclick = signs.on_right_click_direction,
drawtype = "mesh", drawtype = "mesh",
mesh = "signs_dir_left.obj", mesh = "signs_dir_left.obj",
selection_box = { type="wallmounted", selection_box = { type = "fixed", fixed = { -7/16, -7/32, 0.5, 0.5, 7/32, 7/16 } },
wall_side = {-0.5, -7/32, -0.5, -7/16, 7/32, 7/16}, collision_box = { type = "fixed", fixed = { -7/16, -7/32, 0.5, 0.5, 7/32, 7/16 } },
wall_bottom = {-0.5, -0.5, -0.5, 0.5, -7/16, 0.5}, groups = { not_in_creative_inventory = 1 },
wall_top = {-0.5, 0.5, -0.5, 0.5, 7/16, 0.5}}, drop = "signs_road:white_right_sign",
collision_box = { type="wallmounted",
wall_side = {-0.5, -7/32, -0.5, -7/16, 7/32, 7/16},
wall_bottom = {-0.5, -0.5, -0.5, 0.5, -7/16, 0.5},
wall_top = {-0.5, 0.5, -0.5, 0.5, 7/16, 0.5}},
groups={not_in_creative_inventory=1},
drop="signs_road:green_right",
}, },
}, },
} }
-- Node registration
for name, model in pairs(models) for name, model in pairs(models)
do do
signs.register_sign("signs_road", name, model) signs.register_sign("signs_road", name, model)
end end

@ -0,0 +1,108 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="32px"
height="32px"
id="svg2985"
version="1.1"
inkscape:version="0.91 r13725"
sodipodi:docname="green_street.svg"
inkscape:export-filename="/home/pyrollo/dev/minetest-mods/signs/textures/signs_green_street.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90">
<defs
id="defs2987" />
<sodipodi:namedview
id="base"
pagecolor="#d2d038"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:zoom="15.836083"
inkscape:cx="8.8574553"
inkscape:cy="17.483424"
inkscape:current-layer="layer1"
showgrid="true"
inkscape:grid-bbox="true"
inkscape:document-units="px"
inkscape:window-width="1325"
inkscape:window-height="744"
inkscape:window-x="41"
inkscape:window-y="24"
inkscape:window-maximized="1">
<inkscape:grid
type="xygrid"
id="grid2993"
empspacing="2"
visible="true"
enabled="true"
snapvisiblegridlinesonly="true"
spacingx="0.5px"
spacingy="0.5px"
color="#ff0000"
opacity="0.1254902" />
</sodipodi:namedview>
<metadata
id="metadata2990">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
id="layer1"
inkscape:label="Fond"
inkscape:groupmode="layer"
style="display:none">
<rect
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#999999;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.30000001;marker:none;enable-background:accumulate"
id="rect3110-2"
width="32"
height="32"
x="0"
y="0"
rx="0"
ry="0"
inkscape:export-filename="/home/pyrollo/dev/minetest-mods/display_modpack/signs_road/textures/signs_road_green_inventory.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90" />
</g>
<g
inkscape:groupmode="layer"
id="layer5"
inkscape:label="Fond inv"
style="display:inline">
<rect
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.30000001;marker:none;enable-background:accumulate"
id="rect3110"
width="32"
height="14"
x="0"
y="9"
rx="0"
ry="0" />
<rect
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#008040;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.30000001;marker:none;enable-background:accumulate"
id="rect3767"
width="30"
height="12"
x="1"
y="10"
ry="2.4000001"
rx="2" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.3 KiB

@ -0,0 +1,128 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="32px"
height="32px"
id="svg2985"
version="1.1"
inkscape:version="0.48.4 r9939"
sodipodi:docname="black_direction.svg"
inkscape:export-filename="/home/pyrollo/dev/minetest-mods/signs/textures/signs_black_inventory.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90">
<defs
id="defs2987" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="11.197802"
inkscape:cx="19.873986"
inkscape:cy="24.450401"
inkscape:current-layer="layer1"
showgrid="true"
inkscape:grid-bbox="true"
inkscape:document-units="px"
inkscape:window-width="1239"
inkscape:window-height="776"
inkscape:window-x="41"
inkscape:window-y="24"
inkscape:window-maximized="1">
<inkscape:grid
type="xygrid"
id="grid2993"
empspacing="2"
visible="true"
enabled="true"
snapvisiblegridlinesonly="true"
spacingx="0.5px"
spacingy="0.5px"
color="#ff0000"
opacity="0.1254902" />
</sodipodi:namedview>
<metadata
id="metadata2990">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
id="layer1"
inkscape:label="Fond"
inkscape:groupmode="layer"
style="display:none">
<rect
style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.30000001;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect3110-2"
width="32"
height="32"
x="0"
y="0"
rx="0"
ry="0" />
</g>
<g
inkscape:groupmode="layer"
id="layer5"
inkscape:label="Fond inv">
<rect
style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.30000000999999998;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect3110"
width="32"
height="16"
x="0"
y="8"
rx="0"
ry="0" />
<rect
style="display:inline;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.30000000999999998;marker:none;visibility:visible;overflow:visible;enable-background:accumulate"
id="rect3767"
width="30"
height="14"
x="1"
y="9"
ry="2"
rx="2" />
</g>
<g
inkscape:groupmode="layer"
id="layer2"
inkscape:label="Left"
style="display:none">
<path
style="fill:#ffffff;fill-opacity:1;stroke:none;display:inline"
d="m 2,16 6,-6 0,3 22,0 0,6 -22,0 0,3 z"
id="path2997-1"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccccc" />
</g>
<g
inkscape:groupmode="layer"
id="layer3"
inkscape:label="Right"
style="display:inline">
<path
style="fill:#ffffff;fill-opacity:1;stroke:none;display:inline"
d="m 30,16 -6,-6 0,3 -22,0 0,6 22,0 0,3 z"
id="path2997"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccccc" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.8 KiB

@ -0,0 +1,139 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="32px"
height="32px"
id="svg2985"
version="1.1"
inkscape:version="0.48.4 r9939"
sodipodi:docname="dessin.svg"
inkscape:export-filename="/home/pyrollo/dev/minetest-mods/signs/textures/signs_blue_street_inv.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90">
<defs
id="defs2987" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="11.197802"
inkscape:cx="-5.016165"
inkscape:cy="21.417081"
inkscape:current-layer="layer1"
showgrid="true"
inkscape:grid-bbox="true"
inkscape:document-units="px"
borderlayer="true"
inkscape:window-width="1239"
inkscape:window-height="776"
inkscape:window-x="41"
inkscape:window-y="24"
inkscape:window-maximized="1">
<inkscape:grid
type="xygrid"
id="grid2993"
empspacing="2"
visible="true"
enabled="true"
snapvisiblegridlinesonly="true"
spacingx="0.5px"
spacingy="0.5px"
color="#ff5000"
opacity="0.1254902" />
</sodipodi:namedview>
<metadata
id="metadata2990">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
id="layer1"
inkscape:label="Inv"
inkscape:groupmode="layer"
style="display:inline">
<rect
style="color:#000000;fill:#000040;fill-opacity:1;fill-rule:nonzero;stroke:#ff0000;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect2995"
width="28"
height="24"
x="2"
y="4"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90" />
<path
style="display:inline;fill:none;stroke:#ffffff;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 3.5,8.5 0,15 c 1.5,0 3,1.5 3,3 l 19,0 c 0,-1.5 1.5,-3 3,-3 l 0,-15 c -1.5,0 -3,-1.5 -3,-3 l -19,0 c 0,1.5 -1.5,3 -3,3 z"
id="path3018"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccccccc" />
<path
sodipodi:type="arc"
style="display:inline;color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#ff0000;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;overflow:visible;enable-background:accumulate"
id="path3010"
sodipodi:cx="2"
sodipodi:cy="6"
sodipodi:rx="1"
sodipodi:ry="1"
d="M 3,6 A 1,1 0 1 1 1,6 1,1 0 1 1 3,6 z"
transform="translate(2,0)" />
<path
sodipodi:type="arc"
style="display:inline;color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#ff0000;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;overflow:visible;enable-background:accumulate"
id="path3012"
sodipodi:cx="30"
sodipodi:cy="6"
sodipodi:rx="1"
sodipodi:ry="1"
d="m 31,6 a 1,1 0 1 1 -2,0 1,1 0 1 1 2,0 z"
transform="translate(-2,0)" />
<path
sodipodi:type="arc"
style="display:inline;color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#ff0000;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;overflow:visible;enable-background:accumulate"
id="path3014"
sodipodi:cx="2"
sodipodi:cy="26"
sodipodi:rx="1"
sodipodi:ry="1"
d="m 3,26 a 1,1 0 1 1 -2,0 1,1 0 1 1 2,0 z"
transform="translate(2,0)" />
<path
sodipodi:type="arc"
style="display:inline;color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#ff0000;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;overflow:visible;enable-background:accumulate"
id="path3016"
sodipodi:cx="30"
sodipodi:cy="26"
sodipodi:rx="1"
sodipodi:ry="1"
d="m 31,26 a 1,1 0 1 1 -2,0 1,1 0 1 1 2,0 z"
transform="translate(-2,0)" />
</g>
<g
inkscape:groupmode="layer"
id="layer2"
inkscape:label="Tour"
style="display:inline">
<path
style="color:#000000;fill:#000040;fill-opacity:1;fill-rule:nonzero;stroke:#ff0000;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
d="M 0,0 0,32 32,32 32,0 0,0 z M 2,4 30,4 30,28 2,28 2,4 z"
id="rect2995-0"
inkscape:connector-curvature="0" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 5.6 KiB

@ -0,0 +1,168 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="32"
height="32"
viewBox="0 0 32 32"
id="svg2"
version="1.1"
inkscape:version="0.91 r13725"
sodipodi:docname="signs_green_direction.svg"
inkscape:export-filename="/home/pyrollo/dev/minetest-mods/display_modpack/signs_road/textures/signs_green_direction.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90">
<defs
id="defs4" />
<sodipodi:namedview
id="base"
pagecolor="#e8e285"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:zoom="15.839192"
inkscape:cx="11.800709"
inkscape:cy="20.241354"
inkscape:document-units="px"
inkscape:current-layer="layer2"
showgrid="true"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
units="px"
inkscape:window-width="1325"
inkscape:window-height="744"
inkscape:window-x="41"
inkscape:window-y="24"
inkscape:window-maximized="1">
<inkscape:grid
type="xygrid"
id="grid4147" />
</sodipodi:namedview>
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:groupmode="layer"
id="layer2"
inkscape:label="Texture"
style="display:inline">
<rect
transform="translate(-14.285706,-286.07651)"
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.98000004;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#999999;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.30000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
id="rect4192"
width="32"
height="32"
x="14.285706"
y="286.07651" />
<path
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.30000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 2,18 0,14 30,0 0,-10 -2,0 0,-4 -28,0 z"
id="rect4164-7"
inkscape:connector-curvature="0" />
<path
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.30000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 2,2 0,14 28,0 0,-4 2,0 L 32,2 2,2 Z"
id="rect4164"
inkscape:connector-curvature="0" />
<path
style="fill:#008040;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 3,3 22,0 4,6 -4,6 -22,0 z"
id="path4234"
inkscape:connector-curvature="0" />
<path
style="fill:#008040;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 3,19 22,0 4,6 -4,6 -22,0 z"
id="path4234-5"
inkscape:connector-curvature="0" />
</g>
<g
inkscape:groupmode="layer"
id="layer3"
inkscape:label="Inventory"
style="display:none">
<path
style="display:inline;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 2,10 0,14 24,0 6,-7 -6,-7 z"
id="path4212-3"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccc" />
<path
style="display:inline;fill:#008040;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 3,11 22,0 4,6 -4,6 -22,0 z"
id="path4234-5-5"
inkscape:connector-curvature="0" />
</g>
<g
inkscape:label="Guides"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-14.285706,-286.07651)"
style="display:none">
<rect
style="fill:none;stroke:#ff00ff;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect4149"
width="1.9999995"
height="13.999997"
x="14.285706"
y="288.07651" />
<rect
style="fill:none;stroke:#ff00ff;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect4149-3"
width="2.0000005"
height="10.000003"
x="44.285706"
y="298.07651" />
<rect
style="fill:none;stroke:#ff00ff;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect4149-3-6"
width="24"
height="1.9999976"
x="16.285706"
y="302.07651" />
<rect
style="fill:none;stroke:#ff00ff;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect4149-3-7"
width="2.0000005"
height="10.000003"
x="14.285706"
y="308.07651" />
<rect
style="fill:none;stroke:#ff00ff;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect4149-3-5"
width="24"
height="2.0000024"
x="16.285706"
y="286.07651" />
<path
style="fill:none;fill-rule:evenodd;stroke:#ff00ff;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 16.285706,288.07651 24,0 6,7 -6,7 -24,0 z"
id="path4193"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccc" />
<path
style="fill:none;fill-rule:evenodd;stroke:#ff00ff;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 16.285706,304.07651 0,14 24,0 6,-7 -6,-7 z"
id="path4212"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccc" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 7.5 KiB

@ -0,0 +1,172 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="32"
height="32"
viewBox="0 0 32 32"
id="svg2"
version="1.1"
inkscape:version="0.91 r13725"
sodipodi:docname="signs_road_black_direction.svg"
inkscape:export-filename="/home/pyrollo/dev/minetest-mods/display_modpack/signs_road/textures/signs_road_black_dir_inventory.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90">
<defs
id="defs4" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:zoom="7.919596"
inkscape:cx="0.60099162"
inkscape:cy="14.877077"
inkscape:document-units="px"
inkscape:current-layer="layer3"
showgrid="true"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
units="px"
inkscape:window-width="1325"
inkscape:window-height="744"
inkscape:window-x="41"
inkscape:window-y="24"
inkscape:window-maximized="1">
<inkscape:grid
type="xygrid"
id="grid4147" />
</sodipodi:namedview>
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Guides"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-14.285706,-286.07651)"
style="display:none"
sodipodi:insensitive="true">
<rect
style="fill:none;stroke:#ff00ff;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect4149"
width="1.9999995"
height="13.999997"
x="14.285706"
y="288.07651" />
<rect
style="fill:none;stroke:#ff00ff;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect4149-3"
width="2.0000005"
height="10.000003"
x="44.285706"
y="298.07651" />
<rect
style="fill:none;stroke:#ff00ff;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect4149-3-6"
width="24"
height="1.9999976"
x="16.285706"
y="302.07651" />
<rect
style="fill:none;stroke:#ff00ff;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect4149-3-7"
width="2.0000005"
height="10.000003"
x="14.285706"
y="308.07651" />
<rect
style="fill:none;stroke:#ff00ff;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect4149-3-5"
width="24"
height="2.0000024"
x="16.285706"
y="286.07651" />
<path
style="fill:none;fill-rule:evenodd;stroke:#ff00ff;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 16.285706,288.07651 24,0 6,7 -6,7 -24,0 z"
id="path4193"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccc" />
<path
style="fill:none;fill-rule:evenodd;stroke:#ff00ff;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 16.285706,304.07651 0,14 24,0 6,-7 -6,-7 z"
id="path4212"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccc" />
</g>
<g
inkscape:groupmode="layer"
id="layer3"
inkscape:label="Inventory"
style="display:none">
<path
style="display:inline;fill:#000000;fill-rule:evenodd;stroke:none;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 1,10 24,0 6,7 -6,7 -24,0 z"
id="path4193-3-3"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccc" />
<path
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 2,11 22,0 4,6 -4,6 -22,0 z"
id="path4234-6"
inkscape:connector-curvature="0" />
</g>
<g
inkscape:groupmode="layer"
id="layer2"
inkscape:label="Texture"
style="display:inline">
<rect
style="fill:#808080;stroke:none;stroke-width:2;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect4147"
width="32"
height="32"
x="0"
y="0" />
<path
transform="translate(-14.285706,-286.07651)"
style="display:inline;fill:#000000;fill-rule:evenodd;stroke:none;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 16.285706,288.07651 24,0 6,7 -6,7 -24,0 z"
id="path4193-3"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccc" />
<path
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 3,3 22,0 4,6 -4,6 -22,0 z"
id="path4234"
inkscape:connector-curvature="0" />
<path
transform="translate(-14.285706,-286.07651)"
style="display:inline;fill:#000000;fill-rule:evenodd;stroke:none;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 16.285706,304.07651 0,14 24,0 6,-7 -6,-7 z"
id="path4212-6"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccc" />
<path
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 3,19 22,0 4,6 -4,6 -22,0 z"
id="path4234-5"
inkscape:connector-curvature="0" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 6.5 KiB

@ -0,0 +1,123 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="32px"
height="32px"
id="svg2985"
version="1.1"
inkscape:version="0.91 r13725"
sodipodi:docname="signs_road_red.svg"
inkscape:export-filename="/home/pyrollo/dev/minetest-mods/display_modpack/signs_road/textures/signs_road_red_inventory.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90">
<defs
id="defs2987" />
<sodipodi:namedview
id="base"
pagecolor="#f9f6c0"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:zoom="11.197802"
inkscape:cx="11.734227"
inkscape:cy="23.110862"
inkscape:current-layer="layer5"
showgrid="true"
inkscape:grid-bbox="true"
inkscape:document-units="px"
inkscape:window-width="1325"
inkscape:window-height="744"
inkscape:window-x="41"
inkscape:window-y="24"
inkscape:window-maximized="1">
<inkscape:grid
type="xygrid"
id="grid2993"
empspacing="2"
visible="true"
enabled="true"
snapvisiblegridlinesonly="true"
spacingx="0.5px"
spacingy="0.5px"
color="#ff0000"
opacity="0.1254902" />
</sodipodi:namedview>
<metadata
id="metadata2990">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
id="layer1"
inkscape:label="Texture"
inkscape:groupmode="layer"
style="display:none">
<rect
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.30000001;marker:none;enable-background:accumulate"
id="rect3110-2"
width="32"
height="32"
x="0"
y="0"
rx="0"
ry="0" />
<rect
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.30000001;marker:none;enable-background:accumulate"
id="rect3110"
width="32"
height="14"
x="0"
y="9"
rx="0"
ry="0" />
<rect
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#ff0000;stroke-width:1.02928686;stroke-miterlimit:4;stroke-dasharray:none;marker:none;enable-background:accumulate"
id="rect3767"
width="28.970713"
height="10.970714"
x="1.5146434"
y="10.514644"
ry="2.1941426"
rx="1.9313809" />
</g>
<g
inkscape:groupmode="layer"
id="layer5"
inkscape:label="Inventory"
style="display:inline">
<rect
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.30000001;marker:none;enable-background:accumulate"
id="rect3110-7"
width="32"
height="14"
x="0"
y="9"
rx="0"
ry="0" />
<rect
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#ff0000;stroke-width:1.02928686;stroke-miterlimit:4;stroke-dasharray:none;marker:none;enable-background:accumulate"
id="rect3767-5"
width="28.970713"
height="10.970714"
x="1.5146434"
y="10.514644"
ry="2.1941426"
rx="1.9313809" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 4.0 KiB

@ -0,0 +1,168 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="32"
height="32"
viewBox="0 0 32 32"
id="svg2"
version="1.1"
inkscape:version="0.91 r13725"
sodipodi:docname="signs_yellow_direction.svg"
inkscape:export-filename="/home/pyrollo/dev/minetest-mods/display_modpack/signs_road/textures/signs_road_yellow_direction.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90">
<defs
id="defs4" />
<sodipodi:namedview
id="base"
pagecolor="#e8e285"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:zoom="15.839192"
inkscape:cx="12.242651"
inkscape:cy="20.241354"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="true"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
units="px"
inkscape:window-width="1325"
inkscape:window-height="744"
inkscape:window-x="41"
inkscape:window-y="24"
inkscape:window-maximized="1">
<inkscape:grid
type="xygrid"
id="grid4147" />
</sodipodi:namedview>
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:groupmode="layer"
id="layer2"
inkscape:label="Texture"
style="display:inline">
<rect
transform="translate(-14.285706,-286.07651)"
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.98000004;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#999999;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.30000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
id="rect4192"
width="32"
height="32"
x="14.285706"
y="286.07651" />
<path
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.30000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 2,18 0,14 30,0 0,-10 -2,0 0,-4 -28,0 z"
id="rect4164-7"
inkscape:connector-curvature="0" />
<path
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.30000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 2,2 0,14 28,0 0,-4 2,0 L 32,2 2,2 Z"
id="rect4164"
inkscape:connector-curvature="0" />
<path
style="fill:#fbdf00;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 3,3 22,0 4,6 -4,6 -22,0 z"
id="path4234"
inkscape:connector-curvature="0" />
<path
style="fill:#fbdf00;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 3,19 22,0 4,6 -4,6 -22,0 z"
id="path4234-5"
inkscape:connector-curvature="0" />
</g>
<g
inkscape:groupmode="layer"
id="layer3"
inkscape:label="Inventory"
style="display:none">
<path
style="display:inline;fill:#000000;fill-rule:evenodd;stroke:none;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 2,10 0,14 24,0 6,-7 -6,-7 z"
id="path4212-3"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccc" />
<path
style="display:inline;fill:#fbdf00;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 3,11 22,0 4,6 -4,6 -22,0 z"
id="path4234-5-5"
inkscape:connector-curvature="0" />
</g>
<g
inkscape:label="Guides"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-14.285706,-286.07651)"
style="display:none">
<rect
style="fill:none;stroke:#ff00ff;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect4149"
width="1.9999995"
height="13.999997"
x="14.285706"
y="288.07651" />
<rect
style="fill:none;stroke:#ff00ff;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect4149-3"
width="2.0000005"
height="10.000003"
x="44.285706"
y="298.07651" />
<rect
style="fill:none;stroke:#ff00ff;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect4149-3-6"
width="24"
height="1.9999976"
x="16.285706"
y="302.07651" />
<rect
style="fill:none;stroke:#ff00ff;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect4149-3-7"
width="2.0000005"
height="10.000003"
x="14.285706"
y="308.07651" />
<rect
style="fill:none;stroke:#ff00ff;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect4149-3-5"
width="24"
height="2.0000024"
x="16.285706"
y="286.07651" />
<path
style="fill:none;fill-rule:evenodd;stroke:#ff00ff;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 16.285706,288.07651 24,0 6,7 -6,7 -24,0 z"
id="path4193"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccc" />
<path
style="fill:none;fill-rule:evenodd;stroke:#ff00ff;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 16.285706,304.07651 0,14 24,0 6,-7 -6,-7 z"
id="path4212"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccc" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 7.5 KiB

@ -0,0 +1,110 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="32px"
height="32px"
id="svg2985"
version="1.1"
inkscape:version="0.92.1 r15371"
sodipodi:docname="white_street.svg"
inkscape:export-filename="/home/pyrollo/dev/minetest-mods/display_modpack/signs_road/textures/signs_road_yellow_inventory.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90">
<defs
id="defs2987" />
<sodipodi:namedview
id="base"
pagecolor="#d2d038"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:zoom="15.836083"
inkscape:cx="-5.5084709"
inkscape:cy="17.483424"
inkscape:current-layer="layer5"
showgrid="true"
inkscape:grid-bbox="true"
inkscape:document-units="px"
inkscape:window-width="1325"
inkscape:window-height="744"
inkscape:window-x="41"
inkscape:window-y="24"
inkscape:window-maximized="1">
<inkscape:grid
type="xygrid"
id="grid2993"
empspacing="2"
visible="true"
enabled="true"
snapvisiblegridlinesonly="true"
spacingx="0.5"
spacingy="0.5"
color="#ff0000"
opacity="0.1254902"
originx="0"
originy="0" />
</sodipodi:namedview>
<metadata
id="metadata2990">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
id="layer1"
inkscape:label="Fond"
inkscape:groupmode="layer"
style="display:none">
<rect
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#999999;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.30000001;marker:none;enable-background:accumulate"
id="rect3110-2"
width="32"
height="32"
x="0"
y="0"
rx="0"
ry="0"
inkscape:export-filename="/home/pyrollo/dev/minetest-mods/display_modpack/signs_road/textures/signs_road_green_inventory.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90" />
</g>
<g
inkscape:groupmode="layer"
id="layer5"
inkscape:label="Fond inv"
style="display:inline">
<rect
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.30000001;marker:none;enable-background:accumulate"
id="rect3110"
width="32"
height="14"
x="0"
y="9"
rx="0"
ry="0" />
<rect
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.30000001;marker:none;enable-background:accumulate"
id="rect3767"
width="30"
height="12"
x="1"
y="10"
ry="2.4000001"
rx="2" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.4 KiB

@ -0,0 +1,108 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="32px"
height="32px"
id="svg2985"
version="1.1"
inkscape:version="0.91 r13725"
sodipodi:docname="yellow_street.svg"
inkscape:export-filename="/home/pyrollo/dev/minetest-mods/display_modpack/signs_road/textures/signs_road_yellow_inventory.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90">
<defs
id="defs2987" />
<sodipodi:namedview
id="base"
pagecolor="#d2d038"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:zoom="15.836083"
inkscape:cx="8.8574553"
inkscape:cy="17.483424"
inkscape:current-layer="layer5"
showgrid="true"
inkscape:grid-bbox="true"
inkscape:document-units="px"
inkscape:window-width="1325"
inkscape:window-height="744"
inkscape:window-x="41"
inkscape:window-y="24"
inkscape:window-maximized="1">
<inkscape:grid
type="xygrid"
id="grid2993"
empspacing="2"
visible="true"
enabled="true"
snapvisiblegridlinesonly="true"
spacingx="0.5px"
spacingy="0.5px"
color="#ff0000"
opacity="0.1254902" />
</sodipodi:namedview>
<metadata
id="metadata2990">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
id="layer1"
inkscape:label="Fond"
inkscape:groupmode="layer"
style="display:none">
<rect
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#999999;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.30000001;marker:none;enable-background:accumulate"
id="rect3110-2"
width="32"
height="32"
x="0"
y="0"
rx="0"
ry="0"
inkscape:export-filename="/home/pyrollo/dev/minetest-mods/display_modpack/signs_road/textures/signs_road_green_inventory.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90" />
</g>
<g
inkscape:groupmode="layer"
id="layer5"
inkscape:label="Fond inv"
style="display:inline">
<rect
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.30000001;marker:none;enable-background:accumulate"
id="rect3110"
width="32"
height="14"
x="0"
y="9"
rx="0"
ry="0" />
<rect
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#fbdf00;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.30000001;marker:none;enable-background:accumulate"
id="rect3767"
width="30"
height="12"
x="1"
y="10"
ry="2.4000001"
rx="2" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 472 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 313 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 270 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 274 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 279 B

Before

Width:  |  Height:  |  Size: 265 B

After

Width:  |  Height:  |  Size: 265 B

Before

Width:  |  Height:  |  Size: 263 B

After

Width:  |  Height:  |  Size: 263 B

Before

Width:  |  Height:  |  Size: 258 B

After

Width:  |  Height:  |  Size: 258 B

Before

Width:  |  Height:  |  Size: 436 B

After

Width:  |  Height:  |  Size: 436 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 305 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 379 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 302 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 374 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 267 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 289 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 287 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 342 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

@ -2,6 +2,8 @@
This mod provides stone steles with text display. Text is locked if area is protected. This mod provides stone steles with text display. Text is locked if area is protected.
For more information, see the [forum topic](https://forum.minetest.net/viewtopic.php?f=11&t=13563) at the Minetest forums.
**Dependancies**: default, display\_lib, font\_lib, technic? **Dependancies**: default, display\_lib, font\_lib, technic?
(Technic adds marble and granite steles) (Technic adds marble and granite steles)

@ -19,11 +19,11 @@
--]] --]]
steles = {} steles = {}
steles.path = minetest.get_modpath("steles") steles.name = minetest.get_current_modname()
steles.path = minetest.get_modpath(steles.name)
-- Load support for intllib. -- Load support for intllib.
local MP = minetest.get_modpath(minetest.get_current_modname()) local S, NS = dofile(steles.path.."/intllib.lua")
local S, NS = dofile(MP.."/intllib.lua")
steles.intllib = S steles.intllib = S
dofile(steles.path.."/config.lua") dofile(steles.path.."/config.lua")

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-08-05 10:06+0200\n" "POT-Creation-Date: 2017-08-26 11:29+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"

@ -87,6 +87,7 @@ for i, material in ipairs(steles.materials) do
end end
end end
end, end,
on_punch = function(pos, node, player, pointed_thing) display_lib.update_entities(pos) end,
}) })
end end
end end