From 794f157d7d6b65df4cf3882742872d6829eaa235 Mon Sep 17 00:00:00 2001 From: darkrose Date: Mon, 26 Jun 2017 00:06:43 +1000 Subject: [PATCH] transform metanodeboxes with facedir nodes --- data/textures/chests_meta_bottom.png | Bin 351 -> 352 bytes data/textures/chests_meta_top.png | Bin 377 -> 393 bytes src/content_mapblock.cpp | 4 ++++ src/content_mapnode_special.cpp | 8 ++++---- src/nodemeta/content_nodemeta_storage.cpp | 12 ++++++------ 5 files changed, 14 insertions(+), 10 deletions(-) diff --git a/data/textures/chests_meta_bottom.png b/data/textures/chests_meta_bottom.png index 171b781c916d3b822773223f8863ce1d9aef3eb9..c18bbfc74962242d14352f5bc9277da2313de09a 100644 GIT binary patch delta 282 zcmV+#0p!$N(D`glSoP} zy|s8NKtXqYxA*{mv`1X_NDFRb4RJ#59r5V{DLW*T}tKviR?~KD{ARQmk(h%_liSKN#YwL<|;b9nIT> gWGvz0e&&F0OcP8=YGZRB^#A|>07*qoM6N<$f(GAx8~^|S delta 281 zcmV+!0p|YT0^b6VPk##nG29>mYXATM@kvBMR9M69*DFp0Q4odUzwW*Lm{&+hfCV5> z>|o3+07-(yB2X*>5*#>|zyeSN!!9s9#0b&?0rd2Jp)sUe5JFO)t;)$sxe^8_&kk_j zOt`v1DW#NBN-3rOoxz{c^~pT{G~YkJ fACzhS`T}2HWfDcf(W@+K00000NkvXXu0mjfA$xra diff --git a/data/textures/chests_meta_top.png b/data/textures/chests_meta_top.png index 2c97fc00665098079ce289da851720d33e5f61ea..184c2883c69c81136bbddf43a685a83d426646bb 100644 GIT binary patch delta 323 zcmV-J0lfbC0*M2VPk#;rG_#roP5=M_8%ab#R9M69*RM)MK^TYO_nVocv#YS;Vh|P) z3?{*1@eWLOlffY91=uZGMHU2uH()Y~>;+gXT695d;<_NKo)*NDlFfzEucf<~n!V;DZJf)&n8f1HyrGL7n>;SXaM2W_|^zhwJ zsHcRXCM?aOZ2>5fFQHHc{=Q!}iz<6DJ-8xZnV4S?rv?%NGHNu%)V;Vui{wVKx4w9# zDcYUV1B8m~;T9qB_}2lFI!wzFW(?`W2ehxN=Bf_>s2y#hvuScWL~4TS_Q+0d#z~Dg z0ATWX1ONPu_dE)B)**_bD2k#eilS&-l|Lr8=lelcw+VL_e?z}#Ydfcvn(Dt_;0FhT VT61WvmZ$ovPDHLkV1h>plpFv6 delta 307 zcmV-30nGl11Nj1wPk##n8wZ=qy#N3K3rR#lR9M69(Y;CoQ4ogV_xxmcLlOewAEprm ztppn{z|ul&#md4;ybBxCrx7f?6KhFhFKE;vg>IomSa#1jV`X8tSx}qvl*7#MF{7B% z`1)Mb&IxjV^P~P<+dUnrdG=|dD2k#eilQir{+Vhzm=5;|lYbc@X#CY};{c|~Q2X)_ zTlDdZZS-1~*5)ei?&)s=WEaPXvAFyb^getNodeBoxes(n); if (boxes.size() > 0) { + + boxes = transformNodeBox(n, boxes); + for (int i = 0; i < 6; i++) { // Handles facedir rotation for textures tiles[i] = getMetaTile(n,p,tile_dirs[i],selected); } + meshgen_build_nodebox(data,p,n,selected,boxes,tiles); } diff --git a/src/content_mapnode_special.cpp b/src/content_mapnode_special.cpp index 7399055..d698848 100644 --- a/src/content_mapnode_special.cpp +++ b/src/content_mapnode_special.cpp @@ -1090,10 +1090,10 @@ void content_mapnode_special(bool repeat) f->setTexture(5, "wood.png^chests_front.png"); // Z- f->setMetaTexture(0,"chests_meta_top.png"); f->setMetaTexture(1,"chests_meta_bottom.png"); - f->setMetaTexture(2,"chests_meta_side.png^[transformFX"); - f->setMetaTexture(3,"chests_meta_side.png"); - f->setMetaTexture(4,"chests_meta_lock.png"); - f->setMetaTexture(5,"chests_meta_exo.png"); + f->setMetaTexture(2,"chests_meta_side.png"); + f->setMetaTexture(3,"chests_meta_side.png^[transformFX"); + f->setMetaTexture(4,"chests_meta_exo.png"); + f->setMetaTexture(5,"chests_meta_lock.png"); f->param_type = CPT_LIGHT; f->param2_type = CPT_FACEDIR_SIMPLE; f->light_propagates = true; diff --git a/src/nodemeta/content_nodemeta_storage.cpp b/src/nodemeta/content_nodemeta_storage.cpp index 8aec8eb..5084157 100644 --- a/src/nodemeta/content_nodemeta_storage.cpp +++ b/src/nodemeta/content_nodemeta_storage.cpp @@ -302,23 +302,23 @@ std::vector ChestNodeMetadata::getNodeBoxes(MapNode &n) if (m_is_locked) { boxes.push_back(NodeBox( - v3s16(0,180,0),aabb3f(-0.125*BS,-0.3125*BS,-0.5*BS,0.125*BS,-0.125*BS,-0.4375*BS) + aabb3f(-0.125*BS,-0.3125*BS,-0.5*BS,0.125*BS,-0.125*BS,-0.4375*BS) )); boxes.push_back(NodeBox( - v3s16(0,180,0),aabb3f(0.0625*BS,-0.125*BS,-0.5*BS,0.09375*BS,0.0,-0.4375*BS) + aabb3f(0.0625*BS,-0.125*BS,-0.5*BS,0.09375*BS,0.0,-0.4375*BS) )); boxes.push_back(NodeBox( - v3s16(0,180,0),aabb3f(-0.09375*BS,-0.125*BS,-0.5*BS,-0.0625*BS,0.0,-0.4375*BS) + aabb3f(-0.09375*BS,-0.125*BS,-0.5*BS,-0.0625*BS,0.0,-0.4375*BS) )); }else if (m_is_exo) { boxes.push_back(NodeBox( - aabb3f(-0.125*BS,-0.3125*BS,0.4375*BS,0.125*BS,-0.1875*BS,0.5*BS) + v3s16(0,180,0),aabb3f(-0.125*BS,-0.3125*BS,0.4375*BS,0.125*BS,-0.1875*BS,0.5*BS) )); boxes.push_back(NodeBox( - aabb3f(-0.0625*BS,-0.375*BS,0.4375*BS,0.0625*BS,-0.3125*BS,0.5*BS) + v3s16(0,180,0),aabb3f(-0.0625*BS,-0.375*BS,0.4375*BS,0.0625*BS,-0.3125*BS,0.5*BS) )); boxes.push_back(NodeBox( - aabb3f(-0.0625*BS,-0.1875*BS,0.4375*BS,0.0625*BS,-0.125*BS,0.5*BS) + v3s16(0,180,0),aabb3f(-0.0625*BS,-0.1875*BS,0.4375*BS,0.0625*BS,-0.125*BS,0.5*BS) )); }