diff --git a/api.lua b/api.lua index 788cb2e..e323862 100644 --- a/api.lua +++ b/api.lua @@ -63,6 +63,20 @@ signs_lib.wall_fdir_to_back = { { 1, 0 }, } +signs_lib.fdir_flip_to_back = { + [0] = { 0, 2 }, + [1] = { 2, 0 }, + [2] = { 0, -2 }, + [3] = { -2, 0 } +} + +signs_lib.wall_fdir_flip_to_back = { + [2] = { 2, 0 }, + [3] = { -2, 0 }, + [4] = { 0, 2 }, + [5] = { 0, -2 }, +} + signs_lib.fdir_to_back_left = { [0] = { -1, 1 }, [1] = { 1, 1 }, @@ -114,6 +128,25 @@ signs_lib.rotate_facedir_simple = { [5] = 0 } +signs_lib.flip_facedir = { + [0] = 2, + [1] = 3, + [2] = 0, + [3] = 1, + [4] = 6, + [5] = 4, + [6] = 4 +} + +signs_lib.flip_walldir = { + [0] = 1, + [1] = 0, + [2] = 3, + [3] = 2, + [4] = 5, + [5] = 4 +} + -- Initialize character texture cache local ctexcache = {} @@ -205,30 +238,44 @@ function signs_lib.handle_rotation(pos, node, user, mode) local def = minetest.registered_items[node.name] if string.match(node.name, "_onpole") then - local newparam2 = signs_lib.rotate_walldir_simple[node.param2] or 4 - local t = signs_lib.wall_fdir_to_back_left + if not string.match(node.name, "_horiz") then + newparam2 = signs_lib.rotate_walldir_simple[node.param2] or 4 + local t = signs_lib.wall_fdir_to_back_left - if def.paramtype2 ~= "wallmounted" then - newparam2 = signs_lib.rotate_facedir_simple[node.param2] or 0 - t = signs_lib.fdir_to_back_left + if def.paramtype2 ~= "wallmounted" then + newparam2 = signs_lib.rotate_facedir_simple[node.param2] or 0 + t = signs_lib.fdir_to_back_left + end + + tpos = { + x = pos.x + t[node.param2][1], + y = pos.y, + z = pos.z + t[node.param2][2] + } + else + -- flip the sign to the other side of the horizontal pole + newparam2 = signs_lib.flip_walldir[node.param2] or 4 + local t = signs_lib.wall_fdir_flip_to_back + + if def.paramtype2 ~= "wallmounted" then + newparam2 = signs_lib.flip_facedir[node.param2] or 0 + t = signs_lib.fdir_flip_to_back + end + + tpos = { + x = pos.x + t[node.param2][1], + y = pos.y, + z = pos.z + t[node.param2][2] + } end - - tpos = { - x = pos.x + t[node.param2][1], - y = pos.y, - z = pos.z + t[node.param2][2] - } - local node2 = minetest.get_node(tpos) local def2 = minetest.registered_items[node2.name] if not def2 or not def2.buildable_to then return true end -- undefined, or not buildable_to. - minetest.set_node(tpos, {name = node.name, param2 = newparam2}) minetest.get_meta(tpos):from_table(minetest.get_meta(pos):to_table()) minetest.remove_node(pos) signs_lib.delete_objects(pos) - elseif string.match(node.name, "_hanging") or string.match(node.name, "yard") then minetest.swap_node(tpos, { name = node.name, param2 = signs_lib.rotate_facedir_simple[node.param2] or 0 }) elseif minetest.registered_items[node.name].paramtype2 == "wallmounted" then @@ -551,7 +598,11 @@ end local function make_widefont_nodename(name) if string.find(name, "_widefont") then return name end if string.find(name, "_onpole") then - return string.gsub(name, "_onpole", "_widefont_onpole") + if string.find(name, "_horiz") then + return string.gsub(name, "_onpole_horiz", "_widefont_onpole_horiz") + else + return string.gsub(name, "_onpole", "_widefont_onpole") + end elseif string.find(name, "_hanging") then return string.gsub(name, "_hanging", "_widefont_hanging") else @@ -701,20 +752,38 @@ function signs_lib.check_for_pole(pos, pointed_thing) local pdef = minetest.registered_items[pnode.name] if (signs_lib.allowed_poles[pnode.name] - or (pdef and pdef.drawtype == "fencelike") - or string.find(pnode.name, "default:fence_") - or string.find(pnode.name, "_post") - or string.find(pnode.name, "fencepost") - or string.find(pnode.name, "streets:streetlamp_basic_top") - or (pnode.name == "streets:bigpole" and pnode.param2 < 4) - or (pnode.name == "streets:bigpole" and pnode.param2 > 19 and pnode.param2 < 24) - ) - and - (pos.x ~= ppos.x or pos.z ~= ppos.z) then + or (pdef and pdef.drawtype == "fencelike") + or string.find(pnode.name, "default:fence_") + or string.find(pnode.name, "_post") + or string.find(pnode.name, "fencepost") + or string.find(pnode.name, "streets:streetlamp_basic_top") + or (pnode.name == "streets:bigpole" and pnode.param2 < 4) + or (pnode.name == "streets:bigpole" and pnode.param2 > 19 and pnode.param2 < 24) ) + and (pos.x ~= ppos.x or pos.z ~= ppos.z) then return true end end +function signs_lib.check_for_horizontal_pole(pos, pointed_thing) + local node = minetest.get_node(pos) + local def = minetest.registered_items[node.name] + local ppos = minetest.get_pointed_thing_position(pointed_thing) + local pnode = minetest.get_node(ppos) + if pnode.name == "streets:bigpole" then + if def.paramtype2 == "wallmounted" then + if ((node.param2 == 2 or node.param2 == 3) and (pnode.param2 > 3 and pnode.param2 < 12)) -- E/W + or ((node.param2 == 4 or node.param2 == 5) and (pnode.param2 > 11 and pnode.param2 < 20)) -- N/S + then return true + end + else + if ((node.param2 == 1 or node.param2 == 3) and (pnode.param2 > 3 and pnode.param2 < 12)) -- E/W + or ((node.param2 == 0 or node.param2 == 2) and (pnode.param2 > 11 and pnode.param2 < 20)) -- N/S + then return true + end + end + end +end + function signs_lib.check_for_ceiling(pointed_thing) if pointed_thing.above.x == pointed_thing.under.x and pointed_thing.above.z == pointed_thing.under.z @@ -738,7 +807,6 @@ function signs_lib.after_place_node(pos, placer, itemstack, pointed_thing, locke local ppos = minetest.get_pointed_thing_position(pointed_thing) local pnode = minetest.get_node(ppos) local pdef = minetest.registered_items[pnode.name] - if (def.allow_onpole ~= false) and signs_lib.check_for_pole(pos, pointed_thing) then local newparam2 local lookdir = minetest.yaw_to_dir(placer:get_look_horizontal()) @@ -749,6 +817,16 @@ function signs_lib.after_place_node(pos, placer, itemstack, pointed_thing, locke end local node = minetest.get_node(pos) minetest.swap_node(pos, {name = itemstack:get_name().."_onpole", param2 = newparam2}) + elseif def.allow_onpole_horizontal and signs_lib.check_for_horizontal_pole(pos, pointed_thing) then + local newparam2 + local lookdir = minetest.yaw_to_dir(placer:get_look_horizontal()) + if def.paramtype2 == "wallmounted" then + newparam2 = minetest.dir_to_wallmounted(lookdir) + else + newparam2 = minetest.dir_to_facedir(lookdir) + end + local node = minetest.get_node(pos) + minetest.swap_node(pos, {name = itemstack:get_name().."_onpole_horiz", param2 = newparam2}) elseif def.allow_hanging and signs_lib.check_for_ceiling(pointed_thing) then local newparam2 = minetest.dir_to_facedir(placer:get_look_dir()) local node = minetest.get_node(pos) @@ -832,9 +910,9 @@ local function register_sign(name, rdef) minetest.register_node(":"..name, def) table.insert(signs_lib.lbm_restore_nodes, name) - if rdef.allow_onpole ~= false then + local opdef = table.copy(def) - local opdef = table.copy(def) + if rdef.allow_onpole ~= false or rdef.allow_onpole_horizontal then local offset = 0.3125 if opdef.uses_slim_pole_mount then @@ -859,16 +937,32 @@ local function register_sign(name, rdef) end opdef.groups.not_in_creative_inventory = 1 - opdef.tiles[3] = "signs_lib_pole_mount.png" opdef.mesh = string.gsub(opdef.mesh, ".obj$", "_onpole.obj") if opdef.entity_info then opdef.entity_info.mesh = string.gsub(opdef.entity_info.mesh, ".obj$", "_onpole.obj") end + end + + -- setting one of item 3 or 4 to a texture and leaving the other "blank", + -- reveals either the vertical or horizontal pole mount part of the model + + if rdef.allow_onpole ~= false then + opdef.tiles[3] = "signs_lib_pole_mount.png" + opdef.tiles[4] = "signs_lib_blank.png" minetest.register_node(":"..name.."_onpole", opdef) table.insert(signs_lib.lbm_restore_nodes, name.."_onpole") end + local ophdef = table.copy(opdef) + + if rdef.allow_onpole_horizontal then + ophdef.tiles[3] = "signs_lib_blank.png" + ophdef.tiles[4] = "signs_lib_pole_mount.png" + minetest.register_node(":"..name.."_onpole_horiz", ophdef) + table.insert(signs_lib.lbm_restore_nodes, name.."_onpole_horiz") + end + if rdef.allow_hanging then local hdef = table.copy(def) diff --git a/models/signs_lib_standard_wall_sign_facedir_onpole.obj b/models/signs_lib_standard_wall_sign_facedir_onpole.obj index f3d9d47..23d54a7 100644 --- a/models/signs_lib_standard_wall_sign_facedir_onpole.obj +++ b/models/signs_lib_standard_wall_sign_facedir_onpole.obj @@ -73,6 +73,62 @@ v -0.164063 0.125000 1.125000 v 0.164062 0.125000 1.125000 v -0.164063 0.187500 1.125000 v 0.164062 0.187500 1.125000 +v 0.187500 -0.125000 0.812500 +v 0.187500 -0.125000 0.875000 +v -0.187500 -0.125000 0.812500 +v -0.187500 -0.125000 0.875000 +v -0.187500 0.125000 0.812500 +v 0.187500 0.125000 0.812500 +v 0.187500 0.125000 0.875000 +v -0.187500 0.125000 0.875000 +v 0.187500 -0.125000 1.125000 +v 0.187500 -0.125000 0.812500 +v 0.125000 -0.125000 1.125000 +v 0.125000 -0.125000 0.812500 +v 0.187500 -0.164063 1.125000 +v 0.187500 -0.164063 0.812500 +v 0.125000 -0.164063 1.125000 +v 0.125000 -0.164063 0.812500 +v -0.125000 -0.125000 1.125000 +v -0.125000 -0.125000 0.812500 +v -0.187500 -0.125000 1.125000 +v -0.187500 -0.125000 0.812500 +v -0.125000 -0.164063 1.125000 +v -0.125000 -0.164063 0.812500 +v -0.187500 -0.164063 1.125000 +v -0.187500 -0.164063 0.812500 +v 0.187500 0.164062 1.125000 +v 0.187500 0.164062 0.812500 +v 0.125000 0.164062 1.125000 +v 0.125000 0.164062 0.812500 +v 0.187500 0.125000 1.125000 +v 0.187500 0.125000 0.812500 +v 0.125000 0.125000 1.125000 +v 0.125000 0.125000 0.812500 +v -0.125000 0.164062 1.125000 +v -0.125000 0.164062 0.812500 +v -0.187500 0.164062 1.125000 +v -0.187500 0.164062 0.812500 +v -0.125000 0.125000 1.125000 +v -0.125000 0.125000 0.812500 +v -0.187500 0.125000 1.125000 +v -0.187500 0.125000 0.812500 +v 0.187500 -0.164063 1.164063 +v 0.187500 0.164062 1.164063 +v 0.125000 -0.164063 1.164063 +v 0.125000 0.164062 1.164063 +v 0.187500 -0.164063 1.125000 +v 0.187500 0.164062 1.125000 +v 0.125000 -0.164063 1.125000 +v 0.125000 0.164062 1.125000 +v -0.125000 -0.164063 1.164063 +v -0.125000 0.164062 1.164063 +v -0.187500 -0.164063 1.164063 +v -0.187500 0.164062 1.164063 +v -0.125000 -0.164063 1.125000 +v -0.125000 0.164062 1.125000 +v -0.187500 -0.164063 1.125000 +v -0.187500 0.164062 1.125000 vt 0.468750 0.812500 vt 0.031250 0.812500 vt 0.031250 0.187500 @@ -195,6 +251,110 @@ vt 0.453125 0.640625 vt 0.453125 0.593750 vt 0.312500 0.593750 vt 0.312500 0.640625 +vt 0.843750 0.507812 +vt 0.703125 0.507812 +vt 0.703125 0.093750 +vt 0.843750 0.093750 +vt 0.015625 0.507812 +vt 0.015625 0.093750 +vt 0.156250 0.093750 +vt 0.156250 0.507812 +vt 0.156250 0.031250 +vt 0.703125 0.031250 +vt 0.703125 0.578125 +vt 0.156250 0.578125 +vt 0.312500 0.640625 +vt 0.312500 0.992188 +vt 0.453125 0.992188 +vt 0.453125 0.640625 +vt 0.234375 0.640625 +vt 0.234375 0.992188 +vt 0.312500 0.992188 +vt 0.312500 0.640625 +vt 0.234375 0.640625 +vt 0.234375 0.992188 +vt 0.093750 0.992188 +vt 0.093750 0.640625 +vt 0.015625 0.992188 +vt 0.015625 0.640625 +vt 0.312500 0.640625 +vt 0.312500 0.992188 +vt 0.453125 0.992188 +vt 0.453125 0.640625 +vt 0.234375 0.640625 +vt 0.234375 0.992188 +vt 0.312500 0.992188 +vt 0.312500 0.640625 +vt 0.234375 0.640625 +vt 0.234375 0.992188 +vt 0.093750 0.992188 +vt 0.093750 0.640625 +vt 0.015625 0.992188 +vt 0.015625 0.640625 +vt 0.312500 0.640625 +vt 0.312500 0.992188 +vt 0.453125 0.992188 +vt 0.453125 0.640625 +vt 0.234375 0.640625 +vt 0.234375 0.992188 +vt 0.312500 0.992188 +vt 0.312500 0.640625 +vt 0.234375 0.640625 +vt 0.234375 0.992188 +vt 0.093750 0.992188 +vt 0.093750 0.640625 +vt 0.015625 0.992188 +vt 0.015625 0.640625 +vt 0.312500 0.640625 +vt 0.312500 0.992188 +vt 0.453125 0.992188 +vt 0.453125 0.640625 +vt 0.234375 0.640625 +vt 0.234375 0.992188 +vt 0.312500 0.992188 +vt 0.312500 0.640625 +vt 0.234375 0.640625 +vt 0.234375 0.992188 +vt 0.093750 0.992188 +vt 0.093750 0.640625 +vt 0.015625 0.992188 +vt 0.015625 0.640625 +vt 0.781250 0.664062 +vt 0.781250 0.992188 +vt 0.921875 0.992188 +vt 0.921875 0.664062 +vt 0.484375 0.664062 +vt 0.484375 0.992188 +vt 0.562500 0.992188 +vt 0.562500 0.664062 +vt 0.703125 0.992188 +vt 0.703125 0.664062 +vt 0.234375 0.593750 +vt 0.234375 0.640625 +vt 0.093750 0.640625 +vt 0.093750 0.593750 +vt 0.453125 0.640625 +vt 0.453125 0.593750 +vt 0.312500 0.593750 +vt 0.312500 0.640625 +vt 0.781250 0.664062 +vt 0.781250 0.992188 +vt 0.921875 0.992188 +vt 0.921875 0.664062 +vt 0.484375 0.664062 +vt 0.484375 0.992188 +vt 0.562500 0.992188 +vt 0.562500 0.664062 +vt 0.703125 0.992188 +vt 0.703125 0.664062 +vt 0.234375 0.593750 +vt 0.234375 0.640625 +vt 0.093750 0.640625 +vt 0.093750 0.593750 +vt 0.453125 0.640625 +vt 0.453125 0.593750 +vt 0.312500 0.593750 +vt 0.312500 0.640625 vn 0.0000 0.0000 -1.0000 vn 0.0000 0.0000 1.0000 vn 0.0000 -1.0000 0.0000 @@ -244,3 +404,37 @@ f 71/112/1 72/111/1 70/113/1 69/114/1 f 69/114/3 70/113/3 66/106/3 65/105/3 f 67/115/6 71/116/6 69/117/6 65/118/6 f 72/119/5 68/120/5 66/121/5 70/122/5 +g sign_on_pole.001_Cube.002_pole_mount_horizontal +f 73/123/3 74/124/3 76/125/3 75/126/3 +f 78/127/4 77/128/4 80/129/4 79/130/4 +f 76/125/6 80/129/6 77/131/6 75/132/6 +f 73/133/5 78/134/5 79/130/5 74/124/5 +f 74/124/2 79/130/2 80/129/2 76/125/2 +f 81/135/4 82/136/4 84/137/4 83/138/4 +f 83/139/6 84/140/6 88/141/6 87/142/6 +f 87/143/3 88/144/3 86/145/3 85/146/3 +f 85/146/5 86/145/5 82/147/5 81/148/5 +f 89/149/4 90/150/4 92/151/4 91/152/4 +f 91/153/6 92/154/6 96/155/6 95/156/6 +f 95/157/3 96/158/3 94/159/3 93/160/3 +f 93/160/5 94/159/5 90/161/5 89/162/5 +f 97/163/4 98/164/4 100/165/4 99/166/4 +f 99/167/6 100/168/6 104/169/6 103/170/6 +f 103/171/3 104/172/3 102/173/3 101/174/3 +f 101/174/5 102/173/5 98/175/5 97/176/5 +f 105/177/4 106/178/4 108/179/4 107/180/4 +f 107/181/6 108/182/6 112/183/6 111/184/6 +f 111/185/3 112/186/3 110/187/3 109/188/3 +f 109/188/5 110/187/5 106/189/5 105/190/5 +f 113/191/2 114/192/2 116/193/2 115/194/2 +f 115/195/6 116/196/6 120/197/6 119/198/6 +f 119/198/1 120/197/1 118/199/1 117/200/1 +f 117/200/5 118/199/5 114/192/5 113/191/5 +f 115/201/3 119/202/3 117/203/3 113/204/3 +f 120/205/4 116/206/4 114/207/4 118/208/4 +f 121/209/2 122/210/2 124/211/2 123/212/2 +f 123/213/6 124/214/6 128/215/6 127/216/6 +f 127/216/1 128/215/1 126/217/1 125/218/1 +f 125/218/5 126/217/5 122/210/5 121/209/5 +f 123/219/3 127/220/3 125/221/3 121/222/3 +f 128/223/4 124/224/4 122/225/4 126/226/4 diff --git a/models/signs_lib_standard_wall_sign_onpole.obj b/models/signs_lib_standard_wall_sign_onpole.obj index ac45fda..714c00a 100644 --- a/models/signs_lib_standard_wall_sign_onpole.obj +++ b/models/signs_lib_standard_wall_sign_onpole.obj @@ -1,6 +1,6 @@ -# Blender v2.79 (sub 0) OBJ File: 'basic_signs wooden wall sign.blend' +# Blender v2.79 (sub 0) OBJ File: 'basic_signs wooden sign.blend' # www.blender.org -o Cube.003_Cube +o sign_on_pole_Cube.002 v 0.437500 -0.812500 -0.312500 v 0.437500 -0.750000 -0.312500 v 0.437500 -0.812500 0.312500 @@ -17,40 +17,6 @@ v -0.437500 -0.812500 -0.312500 v -0.437500 -0.750000 -0.312500 v -0.437500 -0.812500 0.312500 v -0.437500 -0.750000 0.312500 -vt 0.468750 0.812500 -vt 0.031250 0.812500 -vt 0.031250 0.187500 -vt 0.468750 0.187500 -vt 0.531250 0.812500 -vt 0.968750 0.812500 -vt 0.968750 0.187500 -vt 0.531250 0.187500 -vt 0.234375 0.000000 -vt 0.234375 1.000000 -vt 0.015625 1.000000 -vt 0.015625 -0.000000 -vt 0.609375 -0.000000 -vt 0.609375 1.000000 -vt 0.390625 1.000000 -vt 0.390625 -0.000000 -vt 0.765625 0.000000 -vt 0.765625 1.000000 -vn 0.0000 1.0000 0.0000 -vn 0.0000 -1.0000 0.0000 -vn 0.0000 0.0000 -1.0000 -vn 0.0000 0.0000 1.0000 -vn 1.0000 0.0000 0.0000 -vn -1.0000 0.0000 0.0000 -g Cube.003_Cube_front-back -s off -f 8/1/1 4/2/1 2/3/1 6/4/1 -f 3/5/2 7/6/2 5/7/2 1/8/2 -g Cube.003_Cube_edges -f 13/9/3 14/10/3 10/11/3 9/12/3 -f 11/13/4 12/14/4 16/15/4 15/16/4 -f 11/13/5 9/17/5 10/18/5 12/14/5 -f 13/9/6 15/16/6 16/15/6 14/10/6 -o Cube.001 v -0.125000 -0.812500 -0.187500 v -0.125000 -0.875000 -0.187500 v -0.125000 -0.812500 0.187500 @@ -107,6 +73,184 @@ v -0.164063 -1.125000 0.125000 v 0.164062 -1.125000 0.125000 v -0.164063 -1.125000 0.187500 v 0.164062 -1.125000 0.187500 +v 0.187500 -0.812500 -0.125000 +v 0.187500 -0.875000 -0.125000 +v -0.187500 -0.812500 -0.125000 +v -0.187500 -0.875000 -0.125000 +v -0.187500 -0.812500 0.125000 +v 0.187500 -0.812500 0.125000 +v 0.187500 -0.875000 0.125000 +v -0.187500 -0.875000 0.125000 +v 0.187500 -1.125000 -0.125000 +v 0.187500 -0.812500 -0.125000 +v 0.125000 -1.125000 -0.125000 +v 0.125000 -0.812500 -0.125000 +v 0.187500 -1.125000 -0.164063 +v 0.187500 -0.812500 -0.164063 +v 0.125000 -1.125000 -0.164063 +v 0.125000 -0.812500 -0.164063 +v -0.125000 -1.125000 -0.125000 +v -0.125000 -0.812500 -0.125000 +v -0.187500 -1.125000 -0.125000 +v -0.187500 -0.812500 -0.125000 +v -0.125000 -1.125000 -0.164063 +v -0.125000 -0.812500 -0.164063 +v -0.187500 -1.125000 -0.164063 +v -0.187500 -0.812500 -0.164063 +v 0.187500 -1.125000 0.164062 +v 0.187500 -0.812500 0.164062 +v 0.125000 -1.125000 0.164062 +v 0.125000 -0.812500 0.164062 +v 0.187500 -1.125000 0.125000 +v 0.187500 -0.812500 0.125000 +v 0.125000 -1.125000 0.125000 +v 0.125000 -0.812500 0.125000 +v -0.125000 -1.125000 0.164062 +v -0.125000 -0.812500 0.164062 +v -0.187500 -1.125000 0.164062 +v -0.187500 -0.812500 0.164062 +v -0.125000 -1.125000 0.125000 +v -0.125000 -0.812500 0.125000 +v -0.187500 -1.125000 0.125000 +v -0.187500 -0.812500 0.125000 +v 0.187500 -1.164063 -0.164063 +v 0.187500 -1.164063 0.164062 +v 0.125000 -1.164063 -0.164063 +v 0.125000 -1.164063 0.164062 +v 0.187500 -1.125000 -0.164063 +v 0.187500 -1.125000 0.164062 +v 0.125000 -1.125000 -0.164063 +v 0.125000 -1.125000 0.164062 +v -0.125000 -1.164063 -0.164063 +v -0.125000 -1.164063 0.164062 +v -0.187500 -1.164063 -0.164063 +v -0.187500 -1.164063 0.164062 +v -0.125000 -1.125000 -0.164063 +v -0.125000 -1.125000 0.164062 +v -0.187500 -1.125000 -0.164063 +v -0.187500 -1.125000 0.164062 +vt 0.468750 0.812500 +vt 0.031250 0.812500 +vt 0.031250 0.187500 +vt 0.468750 0.187500 +vt 0.531250 0.812500 +vt 0.968750 0.812500 +vt 0.968750 0.187500 +vt 0.531250 0.187500 +vt 0.234375 0.000000 +vt 0.234375 1.000000 +vt 0.015625 1.000000 +vt 0.015625 -0.000000 +vt 0.609375 -0.000000 +vt 0.609375 1.000000 +vt 0.390625 1.000000 +vt 0.390625 -0.000000 +vt 0.765625 0.000000 +vt 0.765625 1.000000 +vt 0.843750 0.507812 +vt 0.703125 0.507812 +vt 0.703125 0.093750 +vt 0.843750 0.093750 +vt 0.015625 0.507812 +vt 0.015625 0.093750 +vt 0.156250 0.093750 +vt 0.156250 0.507812 +vt 0.156250 0.031250 +vt 0.703125 0.031250 +vt 0.703125 0.578125 +vt 0.156250 0.578125 +vt 0.312500 0.640625 +vt 0.312500 0.992188 +vt 0.453125 0.992188 +vt 0.453125 0.640625 +vt 0.234375 0.640625 +vt 0.234375 0.992188 +vt 0.312500 0.992188 +vt 0.312500 0.640625 +vt 0.234375 0.640625 +vt 0.234375 0.992188 +vt 0.093750 0.992188 +vt 0.093750 0.640625 +vt 0.015625 0.992188 +vt 0.015625 0.640625 +vt 0.312500 0.640625 +vt 0.312500 0.992188 +vt 0.453125 0.992188 +vt 0.453125 0.640625 +vt 0.234375 0.640625 +vt 0.234375 0.992188 +vt 0.312500 0.992188 +vt 0.312500 0.640625 +vt 0.234375 0.640625 +vt 0.234375 0.992188 +vt 0.093750 0.992188 +vt 0.093750 0.640625 +vt 0.015625 0.992188 +vt 0.015625 0.640625 +vt 0.312500 0.640625 +vt 0.312500 0.992188 +vt 0.453125 0.992188 +vt 0.453125 0.640625 +vt 0.234375 0.640625 +vt 0.234375 0.992188 +vt 0.312500 0.992188 +vt 0.312500 0.640625 +vt 0.234375 0.640625 +vt 0.234375 0.992188 +vt 0.093750 0.992188 +vt 0.093750 0.640625 +vt 0.015625 0.992188 +vt 0.015625 0.640625 +vt 0.312500 0.640625 +vt 0.312500 0.992188 +vt 0.453125 0.992188 +vt 0.453125 0.640625 +vt 0.234375 0.640625 +vt 0.234375 0.992188 +vt 0.312500 0.992188 +vt 0.312500 0.640625 +vt 0.234375 0.640625 +vt 0.234375 0.992188 +vt 0.093750 0.992188 +vt 0.093750 0.640625 +vt 0.015625 0.992188 +vt 0.015625 0.640625 +vt 0.781250 0.664062 +vt 0.781250 0.992188 +vt 0.921875 0.992188 +vt 0.921875 0.664062 +vt 0.484375 0.664062 +vt 0.484375 0.992188 +vt 0.562500 0.992188 +vt 0.562500 0.664062 +vt 0.703125 0.992188 +vt 0.703125 0.664062 +vt 0.234375 0.593750 +vt 0.234375 0.640625 +vt 0.093750 0.640625 +vt 0.093750 0.593750 +vt 0.453125 0.640625 +vt 0.453125 0.593750 +vt 0.312500 0.593750 +vt 0.312500 0.640625 +vt 0.781250 0.664062 +vt 0.781250 0.992188 +vt 0.921875 0.992188 +vt 0.921875 0.664062 +vt 0.484375 0.664062 +vt 0.484375 0.992188 +vt 0.562500 0.992188 +vt 0.562500 0.664062 +vt 0.703125 0.992188 +vt 0.703125 0.664062 +vt 0.234375 0.593750 +vt 0.234375 0.640625 +vt 0.093750 0.640625 +vt 0.093750 0.593750 +vt 0.453125 0.640625 +vt 0.453125 0.593750 +vt 0.312500 0.593750 +vt 0.312500 0.640625 vt 0.843750 0.507812 vt 0.703125 0.507812 vt 0.703125 0.093750 @@ -211,44 +355,86 @@ vt 0.453125 0.640625 vt 0.453125 0.593750 vt 0.312500 0.593750 vt 0.312500 0.640625 -vn -1.0000 0.0000 0.0000 -vn 1.0000 0.0000 0.0000 -vn 0.0000 -0.0000 1.0000 -vn 0.0000 0.0000 -1.0000 -vn 0.0000 -1.0000 -0.0000 vn 0.0000 1.0000 0.0000 -g Cube.001_Cube.001_pole_mount +vn 0.0000 -1.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 0.0000 1.0000 +vn 1.0000 0.0000 0.0000 +vn -1.0000 0.0000 0.0000 +g sign_on_pole_Cube.002_front-back s off -f 17/19/7 18/20/7 20/21/7 19/22/7 -f 22/23/8 21/24/8 24/25/8 23/26/8 -f 20/21/9 24/25/9 21/27/9 19/28/9 -f 17/29/10 22/30/10 23/26/10 18/20/10 -f 18/20/11 23/26/11 24/25/11 20/21/11 -f 25/31/8 26/32/8 28/33/8 27/34/8 -f 27/35/9 28/36/9 32/37/9 31/38/9 -f 31/39/7 32/40/7 30/41/7 29/42/7 -f 29/42/10 30/41/10 26/43/10 25/44/10 -f 33/45/8 34/46/8 36/47/8 35/48/8 -f 35/49/9 36/50/9 40/51/9 39/52/9 -f 39/53/7 40/54/7 38/55/7 37/56/7 -f 37/56/10 38/55/10 34/57/10 33/58/10 -f 41/59/8 42/60/8 44/61/8 43/62/8 -f 43/63/9 44/64/9 48/65/9 47/66/9 -f 47/67/7 48/68/7 46/69/7 45/70/7 -f 45/70/10 46/69/10 42/71/10 41/72/10 -f 49/73/8 50/74/8 52/75/8 51/76/8 -f 51/77/9 52/78/9 56/79/9 55/80/9 -f 55/81/7 56/82/7 54/83/7 53/84/7 -f 53/84/10 54/83/10 50/85/10 49/86/10 -f 57/87/11 58/88/11 60/89/11 59/90/11 -f 59/91/9 60/92/9 64/93/9 63/94/9 -f 63/94/12 64/93/12 62/95/12 61/96/12 -f 61/96/10 62/95/10 58/88/10 57/87/10 -f 59/97/7 63/98/7 61/99/7 57/100/7 -f 64/101/8 60/102/8 58/103/8 62/104/8 -f 65/105/11 66/106/11 68/107/11 67/108/11 -f 67/109/9 68/110/9 72/111/9 71/112/9 -f 71/112/12 72/111/12 70/113/12 69/114/12 -f 69/114/10 70/113/10 66/106/10 65/105/10 -f 67/115/7 71/116/7 69/117/7 65/118/7 -f 72/119/8 68/120/8 66/121/8 70/122/8 +f 8/1/1 4/2/1 2/3/1 6/4/1 +f 3/5/2 7/6/2 5/7/2 1/8/2 +g sign_on_pole_Cube.002_edges +f 13/9/3 14/10/3 10/11/3 9/12/3 +f 11/13/4 12/14/4 16/15/4 15/16/4 +f 11/13/5 9/17/5 10/18/5 12/14/5 +f 13/9/6 15/16/6 16/15/6 14/10/6 +g sign_on_pole_Cube.002_pole_mount +f 17/19/6 18/20/6 20/21/6 19/22/6 +f 22/23/5 21/24/5 24/25/5 23/26/5 +f 20/21/4 24/25/4 21/27/4 19/28/4 +f 17/29/3 22/30/3 23/26/3 18/20/3 +f 18/20/2 23/26/2 24/25/2 20/21/2 +f 25/31/5 26/32/5 28/33/5 27/34/5 +f 27/35/4 28/36/4 32/37/4 31/38/4 +f 31/39/6 32/40/6 30/41/6 29/42/6 +f 29/42/3 30/41/3 26/43/3 25/44/3 +f 33/45/5 34/46/5 36/47/5 35/48/5 +f 35/49/4 36/50/4 40/51/4 39/52/4 +f 39/53/6 40/54/6 38/55/6 37/56/6 +f 37/56/3 38/55/3 34/57/3 33/58/3 +f 41/59/5 42/60/5 44/61/5 43/62/5 +f 43/63/4 44/64/4 48/65/4 47/66/4 +f 47/67/6 48/68/6 46/69/6 45/70/6 +f 45/70/3 46/69/3 42/71/3 41/72/3 +f 49/73/5 50/74/5 52/75/5 51/76/5 +f 51/77/4 52/78/4 56/79/4 55/80/4 +f 55/81/6 56/82/6 54/83/6 53/84/6 +f 53/84/3 54/83/3 50/85/3 49/86/3 +f 57/87/2 58/88/2 60/89/2 59/90/2 +f 59/91/4 60/92/4 64/93/4 63/94/4 +f 63/94/1 64/93/1 62/95/1 61/96/1 +f 61/96/3 62/95/3 58/88/3 57/87/3 +f 59/97/6 63/98/6 61/99/6 57/100/6 +f 64/101/5 60/102/5 58/103/5 62/104/5 +f 65/105/2 66/106/2 68/107/2 67/108/2 +f 67/109/4 68/110/4 72/111/4 71/112/4 +f 71/112/1 72/111/1 70/113/1 69/114/1 +f 69/114/3 70/113/3 66/106/3 65/105/3 +f 67/115/6 71/116/6 69/117/6 65/118/6 +f 72/119/5 68/120/5 66/121/5 70/122/5 +g sign_on_pole_Cube.002_pole_mount_horizontal +f 73/123/3 74/124/3 76/125/3 75/126/3 +f 78/127/4 77/128/4 80/129/4 79/130/4 +f 76/125/6 80/129/6 77/131/6 75/132/6 +f 73/133/5 78/134/5 79/130/5 74/124/5 +f 74/124/2 79/130/2 80/129/2 76/125/2 +f 81/135/4 82/136/4 84/137/4 83/138/4 +f 83/139/6 84/140/6 88/141/6 87/142/6 +f 87/143/3 88/144/3 86/145/3 85/146/3 +f 85/146/5 86/145/5 82/147/5 81/148/5 +f 89/149/4 90/150/4 92/151/4 91/152/4 +f 91/153/6 92/154/6 96/155/6 95/156/6 +f 95/157/3 96/158/3 94/159/3 93/160/3 +f 93/160/5 94/159/5 90/161/5 89/162/5 +f 97/163/4 98/164/4 100/165/4 99/166/4 +f 99/167/6 100/168/6 104/169/6 103/170/6 +f 103/171/3 104/172/3 102/173/3 101/174/3 +f 101/174/5 102/173/5 98/175/5 97/176/5 +f 105/177/4 106/178/4 108/179/4 107/180/4 +f 107/181/6 108/182/6 112/183/6 111/184/6 +f 111/185/3 112/186/3 110/187/3 109/188/3 +f 109/188/5 110/187/5 106/189/5 105/190/5 +f 113/191/2 114/192/2 116/193/2 115/194/2 +f 115/195/6 116/196/6 120/197/6 119/198/6 +f 119/198/1 120/197/1 118/199/1 117/200/1 +f 117/200/5 118/199/5 114/192/5 113/191/5 +f 115/201/3 119/202/3 117/203/3 113/204/3 +f 120/205/4 116/206/4 114/207/4 118/208/4 +f 121/209/2 122/210/2 124/211/2 123/212/2 +f 123/213/6 124/214/6 128/215/6 127/216/6 +f 127/216/1 128/215/1 126/217/1 125/218/1 +f 125/218/5 126/217/5 122/210/5 121/209/5 +f 123/219/3 127/220/3 125/221/3 121/222/3 +f 128/223/4 124/224/4 122/225/4 126/226/4 diff --git a/standard_signs.lua b/standard_signs.lua index 8edef6f..7d961e9 100644 --- a/standard_signs.lua +++ b/standard_signs.lua @@ -9,7 +9,8 @@ signs_lib.register_sign("default:sign_wall_wood", { }, entity_info = "standard", allow_hanging = true, - allow_widefont = true + allow_widefont = true, + allow_onpole_horizontal = true }) signs_lib.register_sign("default:sign_wall_steel", { @@ -24,7 +25,8 @@ signs_lib.register_sign("default:sign_wall_steel", { locked = true, entity_info = "standard", allow_hanging = true, - allow_widefont = true + allow_widefont = true, + allow_onpole_horizontal = true }) minetest.register_alias("signs:sign_hanging", "default:sign_wall_wood_hanging") diff --git a/textures/signs_lib_blank.png b/textures/signs_lib_blank.png new file mode 100644 index 0000000..af367b9 Binary files /dev/null and b/textures/signs_lib_blank.png differ