From f003f4e6b2198b9f57d31af7d0ccdd828acbc601 Mon Sep 17 00:00:00 2001 From: Vanessa Ezekowitz Date: Sun, 12 Apr 2015 20:33:34 -0400 Subject: [PATCH] Make default and locked wooden signs old-style wallmounted instead of using 6d facedir Caveat: this breaks worlds that used signs_lib, in the sense that many (if not most) default and wooden locked wall signs in areas that were affected by signs_lib will have to be fixed using the screwdriver. The intent of this commit is to make signs_lib behave the same way default signs always have in the past, instead of forcing 6dfacedir on everyone. This sucks, but it had to be done sooner or later. when this mod was first written, wallmounted nodeboxes weren't possible. This change ONLY affects the default wooden wall signs and locked wooden wall signs. Metal signs, yard signs, signs on fenceposts, and hanging signs are not affected. --- signs_lib/init.lua | 55 ++++++++++++------ signs_lib/textures/signs_bottom_locked.png | Bin 100 -> 0 bytes signs_lib/textures/signs_front_locked.png | Bin 357 -> 0 bytes signs_lib/textures/signs_locked_inv.png | Bin 374 -> 453 bytes signs_lib/textures/signs_side_locked.png | Bin 122 -> 0 bytes signs_lib/textures/signs_top_locked.png | Bin 100 -> 0 bytes signs_lib/textures/signs_wall_sign.png | Bin 0 -> 608 bytes signs_lib/textures/signs_wall_sign_locked.png | Bin 0 -> 643 bytes 8 files changed, 36 insertions(+), 19 deletions(-) delete mode 100644 signs_lib/textures/signs_bottom_locked.png delete mode 100644 signs_lib/textures/signs_front_locked.png delete mode 100644 signs_lib/textures/signs_side_locked.png delete mode 100644 signs_lib/textures/signs_top_locked.png create mode 100644 signs_lib/textures/signs_wall_sign.png create mode 100644 signs_lib/textures/signs_wall_sign_locked.png diff --git a/signs_lib/init.lua b/signs_lib/init.lua index f573848f..920845af 100644 --- a/signs_lib/init.lua +++ b/signs_lib/init.lua @@ -14,7 +14,24 @@ signs_lib = {} signs_lib.modpath = minetest.get_modpath("signs_lib") -signs_lib.wall_sign_model = { +signs_lib.regular_wall_sign_model = { + nodebox = { + type = "wallmounted", + wall_side = { -0.5, -0.25, -0.4375, -0.4375, 0.375, 0.4375 }, + wall_bottom = { -0.4375, -0.5, -0.25, 0.4375, -0.4375, 0.375 }, + wall_top = { -0.4375, 0.4375, -0.375, 0.4375, 0.5, 0.25 } + }, + textpos = { + nil, + nil, + {delta = {x = 0.43, y = 0.07, z = 0 }, yaw = math.pi / -2}, + {delta = {x = -0.43, y = 0.07, z = 0 }, yaw = math.pi / 2}, + {delta = {x = 0, y = 0.07, z = 0.43 }, yaw = 0}, + {delta = {x = 0, y = 0.07, z = -0.43 }, yaw = math.pi}, + } +} + +signs_lib.metal_wall_sign_model = { nodebox = { type = "fixed", fixed = {-0.4375, -0.25, 0.4375, 0.4375, 0.375, 0.5} @@ -536,7 +553,11 @@ signs_lib.update_sign = function(pos, fields, owner) elseif signnode.name == "signs:sign_hanging" then sign_info = signs_lib.hanging_sign_model.textpos[minetest.get_node(pos).param2 + 1] elseif string.find(signnode.name, "sign_wall") then - sign_info = signs_lib.wall_sign_model.textpos[minetest.get_node(pos).param2 + 1] + if signnode.name == "default:sign_wall" then + sign_info = signs_lib.regular_wall_sign_model.textpos[minetest.get_node(pos).param2 + 1] + else + sign_info = signs_lib.metal_wall_sign_model.textpos[minetest.get_node(pos).param2 + 1] + end else -- ...it must be a sign on a fence post. sign_info = signs_lib.sign_post_model.textpos[minetest.get_node(pos).param2 + 1] end @@ -607,8 +628,11 @@ function signs_lib.determine_sign_type(itemstack, placer, pointed_thing, locked) minetest.add_node(above, {name = "signs:sign_hanging", param2 = fdir}) elseif wdir == 1 and signname == "default:sign_wall" then minetest.add_node(above, {name = "signs:sign_yard", param2 = fdir}) - else -- it must be a wooden or metal wall sign. + elseif signname ~= "default:sign_wall" then -- it must be a metal wall sign. minetest.add_node(above, {name = signname, param2 = fdir}) + else -- it must be a default or locked wooden wall sign + minetest.add_node(above, {name = signname, param2 = wdir }) -- note it's wallmounted here! + print(dump(wdir)) if locked then local meta = minetest.get_meta(above) local owner = placer:get_player_name() @@ -649,12 +673,12 @@ minetest.register_node(":default:sign_wall", { inventory_image = "default_sign_wall.png", wield_image = "default_sign_wall.png", node_placement_prediction = "", - paramtype = "light", sunlight_propagates = true, - paramtype2 = "facedir", + paramtype = "light", + paramtype2 = "wallmounted", drawtype = "nodebox", - node_box = signs_lib.wall_sign_model.nodebox, - tiles = {"signs_top.png", "signs_bottom.png", "signs_side.png", "signs_side.png", "signs_back.png", "signs_front.png"}, + node_box = signs_lib.regular_wall_sign_model.nodebox, + tiles = {"signs_wall_sign.png"}, groups = sign_groups, on_place = function(itemstack, placer, pointed_thing) @@ -770,19 +794,12 @@ minetest.register_node(":locked_sign:sign_wall_locked", { inventory_image = "signs_locked_inv.png", wield_image = "signs_locked_inv.png", node_placement_prediction = "", - paramtype = "light", sunlight_propagates = true, - paramtype2 = "facedir", + paramtype = "light", + paramtype2 = "wallmounted", drawtype = "nodebox", - node_box = signs_lib.wall_sign_model.nodebox, - tiles = { - "signs_top_locked.png", - "signs_bottom_locked.png", - "signs_side_locked.png", - "signs_side.png", - "signs_back.png", - "signs_front_locked.png" - }, + node_box = signs_lib.regular_wall_sign_model.nodebox, + tiles = { "signs_wall_sign_locked.png" }, groups = sign_groups, on_place = function(itemstack, placer, pointed_thing) return signs_lib.determine_sign_type(itemstack, placer, pointed_thing, true) @@ -829,7 +846,7 @@ for _, color in ipairs(sign_colors) do sunlight_propagates = true, paramtype2 = "facedir", drawtype = "nodebox", - node_box = signs_lib.wall_sign_model.nodebox, + node_box = signs_lib.metal_wall_sign_model.nodebox, tiles = { "signs_metal_tb.png", "signs_metal_tb.png", diff --git a/signs_lib/textures/signs_bottom_locked.png b/signs_lib/textures/signs_bottom_locked.png deleted file mode 100644 index f90a9d83bf5d46336c0c1887ca43c8f1cede3aee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 100 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx*Bp9q_EZ7UAv^`xMLnJOIpD6nDnfvr9FMftg x4s(t=$TuYBMg&?3wCqe{%oJEQ+4{m-R)%X6#XZxW9o`1g?&<31vd$@?2>=SI9*h70 diff --git a/signs_lib/textures/signs_front_locked.png b/signs_lib/textures/signs_front_locked.png deleted file mode 100644 index c638e5cf416b2e393ed463894bc023e3c5f3d718..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 357 zcmV-r0h<1aP)ZWOmqM$vPrpXOuS+Zv%BXaJk$n5?s_mw)b_akV zY;)7R+``J%6IkoD12Is;9JM4#+&~DaHj|28S5F2UUsH>7d4+S-f*|xtA0%$ew8d0a z z6uH55UC1{a4#hoCTb2dyDE82GID~V21pLL%@~?&;|Dw${B|cD^00000NkvXXu0mjf DnY@`P diff --git a/signs_lib/textures/signs_locked_inv.png b/signs_lib/textures/signs_locked_inv.png index 3c0554ab67cc5535b19992bb5621f44c3d34a518..b87a35591f943a6dbe8d67ad65e066616dfcbf66 100644 GIT binary patch delta 427 zcmV;c0aX6>0>uN6B!7%aL_t(I%iWSoirYXChQDs9_3~pTix}cn0tWdgxt!18Z4MDI z1TPX|$N@YChau?Edbi}xVqz(Cgrs&qRrS?RRlz?W0${h>*{Z4tf&eKc0Cye7FC<`9r7&2GO&Dj^I}sv+y)5LK-2Z4Iw#A-1W41Am2|1ff@m>EawDA28M+dLOWT>z zRTOx%ogs>X3D7hR(ZdR*6vh~4j{yjYbz5qk5G_|ABuXi=UuUA_iu3u$1Te;M<3`)m zUrX|hOQLDeNaJgJal7u8l*u3otmJtAUu(Y+N z>npGUN(g*k(e)KiPuT=GolYDM2Ylb>i{}BLwZ`{-wj|pvT5F!4f4+Jotu_Bi{04NV V%vvcl4p;yH002ovPDHLkV1fmT!({*f delta 347 zcmV-h0i^!L1NH)tB!4|gL_t(I%iUAKPJ=)c><{(UQ^OBv6pA$v3?)rW>%{|iV*wF0 zQrf187h?r&kfwA!@PlJ_{e)^{3qu`Tsq?l_J#Sglq_y?;}X=>XreAu_KgIIqz| zo9LWrZxa=orlApm-%4f!e0nO%*uwVV4BJPe(G};72vHP)EUr+!T(gzTM{M2Ahpc7J zsm{5gDAK_9eUyt4%H$H|lgV!1CAP%$Lg<{g+wDI?{3mOD9`*U?x-Ja}A?&GwAi&4H ziPY~iP=nW-<5YdyeSGb+zxzGG4a1NI%jJ?Cc3l^F)MtaFpxxyA%<1Gv43YD0w<`_C t<1x$B>2#Pt!MSbQ?8$h&t{=#M^aG=HQ-P*Qv=0CP002ovPDHLkV1l(FueksK diff --git a/signs_lib/textures/signs_side_locked.png b/signs_lib/textures/signs_side_locked.png deleted file mode 100644 index 8025a833d4a18e6fa31e49ec7f0b0b16f18443ff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 122 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx*Bp9q_EZ7UA96eneLnJOIuSjEP&XPDQz>>&v zkTphuXF4Cp-Gc&bi7i*1UsU<%rp#are#N=a_94?p0jqh8hnE^i-nk}J#=c9JLCIZe Tw!4FuF33<%S3j3^P6EW x4l!pP2sd%F6$taD0e0ssjp9m)Uz diff --git a/signs_lib/textures/signs_wall_sign.png b/signs_lib/textures/signs_wall_sign.png new file mode 100644 index 0000000000000000000000000000000000000000..284fb8b5a4d3622b4293719c6570ff91520145a6 GIT binary patch literal 608 zcmV-m0-ybfP)8vG3Xy z_pKSn;n;WMZG65L%{e~(^gey)@&AlAc$YsOHXf&-bi=o= zZ(|VRC6iMe-?(cVl>9aZ<+*E{@87PuWSwWaT>bg(j(y9-r?Vxb<6#4Ui6gMCbn@l- zVqd2`&qVw|)v6kXNs?3I zS=jnG`I1W!WV$Tjd|O8NaLmefSE;_ zT^mmKsBT;d7n{_SzI>yPz<*e(oFAx2`Bpxy}=a{q2Gonj5S_m@{fNk5v)3PWTC7u_4cAT;-xiO|Fib@qx zI3|>3Y0|+)qX_^)S!*F2TQw$;S(*}K3i`@6flIF30nQRGLFKMteez%iz zdAHjw77M=H?T*Le_4V~&Ft~AD08+}qU~qnZE~Pvkf8n2`lmNJt^5yv3ljn*MH3~$M z6=C2tjbikD5oiP;1fJ^@wLU&n062irIO4YMw{$XbK?tKP&GVD-|1F)2C#|6d;8~Vg zTiXu0GFF#hloA3U9QxW+j0;_vp4$##81l=@%dbVLjKbeM#Bm(Q@oKdaLMWvGFvf%s d3aZ*{{s0|bOezY$kaPe5002ovPDHLkV1g*eFRTCn literal 0 HcmV?d00001