From da3f690e4d13ee519c3bdaddebced30555e58c8b Mon Sep 17 00:00:00 2001 From: darkrose Date: Wed, 19 Jul 2017 18:33:33 +1000 Subject: [PATCH] farm improvements pt1 --- data/textures/dirt.png | Bin 650 -> 1987 bytes data/textures/farm_seeds.png | Bin 0 -> 329 bytes data/textures/farm_seeds_beetroot.png | Bin 451 -> 801 bytes data/textures/farm_seeds_carrot.png | Bin 427 -> 881 bytes data/textures/farm_seeds_central.png | Bin 0 -> 325 bytes data/textures/farm_seeds_cotton.png | Bin 396 -> 763 bytes data/textures/farm_seeds_grape.png | Bin 421 -> 830 bytes data/textures/farm_seeds_melon.png | Bin 394 -> 784 bytes data/textures/farm_seeds_potato.png | Bin 409 -> 899 bytes data/textures/farm_seeds_pumpkin.png | Bin 403 -> 890 bytes data/textures/farm_seeds_tea.png | Bin 506 -> 888 bytes data/textures/farm_seeds_wheat.png | Bin 403 -> 878 bytes data/textures/farm_wheat.png | Bin 596 -> 2743 bytes src/content_mapblock.cpp | 114 ++++++++++++++++++++++++++ src/content_mapblock.h | 1 + src/content_mapnode_farm.cpp | 53 +++++++----- src/mapblock_mesh.cpp | 3 + src/mapnode.h | 1 + src/selection_mesh.cpp | 3 + 19 files changed, 153 insertions(+), 22 deletions(-) create mode 100644 data/textures/farm_seeds.png create mode 100644 data/textures/farm_seeds_central.png diff --git a/data/textures/dirt.png b/data/textures/dirt.png index 9dfa4518a4f4253628fab7ae3a7d8578226db498..4b57329f25f63f3d0bb1b4a674380a65a315e805 100644 GIT binary patch literal 1987 zcmV;!2R!(RP)Px#32;bRa{vGf6951U69E94oEQKA00(qQO+^Rc2NMPy50eFYm;e9=RY^oaR9M4J zms^tLI*vq-gAXYpv+7zeq1Q3{-%gu#-OLC*NO*rRXQsa-qhuf+?hZiz^UuxWguVlU z-asLa6QTeUUT@f*LJnFhjM4c0S7+Rnt;6)-o)?if$36M`PxASIA~OuvfDqIQPV;&} z-yj0wuLtxeP~rIiBQn?JIp8vsBErkapMOIMVT;nl-i1=g!V-DIwuw@J5Z3_KD-mFe z1YX}iXMdkSLN)YS$%NyE+Tc7zlh`)^(VF=Emxv}DVqW69go_ZOTg(*43(g5Mm$Q-x zt$;!xiO*la4RshQ@VQs6IjONcz7J7%7zuk94UxH`E{J&wsyGHXgW7`Q5L*$m37^0Y zVpLO~1#XM?Ik|ui>`h!hPHY>rCSLD_kupTxMIyE;R&G`%-cyva zoHSry|5!L0)BO4n#$Xr&`X=HY%gDw0F%j=fVM&H+X7$?n6UuJEw(N^7Qn8tK-Wv4D%y{6Nwf;@ z0kw-tU@Efmk?M84L*MGiaNcr-?n`gqceN0#O@iK!2=2zlVv8b$JePU&4LW z*A`RaH3bT433@B+TcOki!gH9{wM0h_wtZpbu?P1hilD}-Xx(92#0HjlpU`(vBZ3GP zrP`|Jtin@NiN1?oMG~|Y+!H(@x;any_%LHGEg{A0TSVkivj*1WNqGcx(u69(L8zzo<$1Fo?sDn!me)$G&UMMTYo z6M@3iRvM))@08*^#MT28>8ahc}>ppX(Zzz&|j3bnxN zCFp_fglW=A*+IqBLgl*F<@-}Og6k5s2a2HAzy#+T_FdS?oXNf?@2|P|J|O2(y-cxx zik-l7$#m2pNAm2+#A^h#iHLRHnifM*v~!8wC) z;bSj6`VUJaO2E9eaP>p!R=pIWnyFiz0!UHC}=f!eu(21<1oFMKQGgJl9}W+Ns^`{?&N(W=Vj{qx`~%~e2C)|bz8mQ zdahwjMzFQO1Lh_^p5i#bm;xN9v6E{g!C=ND$Am~`n)_VO>YRZ1 zKESu=h#-gp^Gy1lSh=R7E{G-BcP`+%fUh-rrI!QIpiJY##GFWz>pd7=Wez7(UNpR~ zWFYc_c?nms6>ti+B+uk>5bMpL5a=@Q&$SW8#6*x0F&q*UuGv_dzNotar z%sWA*w`F6d$pLjFD{JGnP75?aY2N*PSKw*M{*D2?SHjBX=QS} z2X#;0Z9LB@69T>*NFu>JoI~wQzFAQ5TAD>W*xsF8>$y|3*it$VetG4$r ztsBdXF*(oV`(DVWC8e5~$#I&IYf7^HvmLGaj|uVd%jAS{LRNU)iyozzVCl7|@o6;8 zHOz7T)V3!m*SnKSQf88eQJPlFwwcER?#pC>^V_6huWL4p*8%Ty(PF$80Pp$ZL|s6t zbvcwj-rq7B1}C1AaH29P#nk7DRB6KNf4thYFi{~I4B+GUnjJ~t_ilWz<)N}Bo?h3~ z`+A$_Lo1aMIn4H9VkD9nu`;1MIj+@oxS&6b6aKv5v6;NrU3st3{C8t002ovPDHLkV1nRmvq%5{ delta 633 zcmV-<0*3v=4~hjdiBL{Q4GJ0x0000DNk~Le0000G0000G2m$~A0FaSrHUIzs24YJ` zL;(K){{a7>y{D6rE*^j00uB)kIR3Z%H~;_w7fD1xR47v|l3Q=uKoo@c$;OphBoGEu z1#?kUAc6*>1OsC26k&o9cR4YQ2x$>*s=oE1zrWwwecRnLXJ*cv715}$>6v3&+jouS zZSM8n@~Zmwv$4F%_*Kob^`N0qjbx!$RPQ1hs0M2HWo^+)y|{mQ3Ls{k3>3bt(E!D> zo0m0X-7>^e$5^+Gy=y@>EGrJbn~jF%{K|l0Qqh+!!?m?=men@x z`j$SfXz2e}@XEYEAvS%pU)BAJ0!=#^Jje@W31is!=G#codGrd4ZZ>G71VcY`(q7!N zx=HV)#poEA_pN{5+pFiUfh@#_X>HL=p)cNM&E2T7?&n|)+V4;EdN{IoL*uw8kyp8Xi5gPweOP>Ps zlGw%pGIS_QRDnSu6r!x3{SxXj7G?DPAjeK9C7lSKgGPVQRDyzV7;!f+-FR8im&(j3 zAKU^uDppxY^y!&9CAEh?n>IZVQ&`{SD8Lk68>GoQ2(R^lPRy(Z#jjpX{0%#ab&^iD zo8*|-{XE)7O>#A-ga;H}?e100p4XZBG}+kch)?CvN0AWFXM?Uu#F{#1^rI zda<34&rD|v>+Tje%R2RLbJ6EY=5mI`A&E0CYF0_x>?@P)`dz1G?oq@oz3URg zZKfLaQd_1Qj#>A@^N-3Ld872m;fh5^>Hl1-5Gjkkg_7ngef3Z7-LjEA>TZ(oGtLd` zJaak&?=Y{Kzn{Uu*yHHK=QDRV9Xo$i|AF2@$%zKqzf6=8Y^Qo}u`X&zopr0A6)^KmY&$ literal 0 HcmV?d00001 diff --git a/data/textures/farm_seeds_beetroot.png b/data/textures/farm_seeds_beetroot.png index 364b824bb49b6a5c83fc44bfa8f1f27cdb107171..2c23eb0de9ee23e24fb7b56d41a9a2992eb1a8a8 100644 GIT binary patch literal 801 zcmV++1K#|JP)Px#32;bRa{vGf6951U69E94oEQKA00(qQO+^Rc2NMSvEL6;-*#H0nvq?ljR9M69 zR#8Y(Q5gQtZRbwb-CZ-<%;^yELB{4{UA7*Q#70Fy$q=!SP}H|Q6uktIP!Hlu^b+eq zdMhv%5kmG56uqeo-&A_>B_q)c(;Vj7P7in6z1Mrknw!$YKDcoIbN=)H|2hBn|K|Wz z{Et|+b?D@cXSX$DKkmge@@i{xU%t5g23h;@{=uGtL@ARfWvH)F20I-HQp$pqG5|n} zpy;VE@~H2h{g{es>}C+8lw|-Uc#df1cGAlKr8?mIZveoWLwEH7;Xzy9R&|K##gkt%3D3VhiG zAw)4!0s`Msj02EZ`AJ~nK+*)PBnvG95OxCH4M2lMH|^-}G+xK{^bi%UMORAXfC`^y zUKk&<+X4tCxg5P>HU`D-QtKPU`{Q|eVmOY8;dq5wrQ0IcyOBN!Zyl5Qrv# zy{D6rE*^j00uK-X8Yc(N!vFvQP)S5VR5;6>Q^88ZKoFfTXj*#dO$uH; z<>1MaP>(sp&8{(^Ui}9@qe_)(OrwpprD_jFswu$`G^j^^XU!~0+C`yh9}KfI^JbWx zodqa}7u$eohr&u2pA&e!CJ=Nf_%>Uu$ivw#j9R34!e^g>?;3x_$o`c9p*w3WzGE?OpmoE#;-iA`bZ5V>&NH${OW2wYN_yBx5+ z=vHnya438a&Be*_JrnoB`-MGA_(IQuw+<1{hw+6Np6c*)AwL@q7Z+%0Y_lznTHV8Wdz0LWqzpiY`J2BUrj92qhF5Woc<8n(j`Ax9;xiy=7b7 zqJv*}hu_S+ncw{8^ZU)frv690f3sB>?5}q(>DuP5-qG1Jd5h~>%d%c4Gd#;PnlO{(-XsS<$Q>9}21In)@i1G;|m^dGOIL>=+d&+r9R`X$u7wFq6` zk`GYu`6W2B;qx*8t(PCfmjSoSDu*xVcgg+?D71y_5<5eUs-(oO?d)*9e_`I1fm~V! za${$}=~YDaiv->7J!O75R3>G(6E)rhasAYhi1R$T@qzKD3(*&>zvVM+A9Hybb9n(6 zYE(5w!lUpz1DQ!7Mk=;NU-(l)F`pWWHKW+BeTp$i9cPwI?QiyezS;Xj9oZ?N6I@N1!J?ZL6nmUe?R?@m8{uQKj8an@ceJrPDROr+%ydkL1>a#Qut7Ugan*j z^8&?!@Cjs0X=o8tzS<(lNCfYkp*!nr6*KonjQ>fKn6CPfz_FGO+^)@zfq^hhKJPXU zb51IxD_S}hr~w~Bd!5SbqxWoY(C#_kOV9bng=zO1`rTfbKo_IbP!kw0fzW)K30fXB_~0s~+QN zQl&+JV?IMHuYMs}5wWFVG>tZEA$Lrt3;N%irm;nUJOu&aP#Fsz8zjg9CAS z5t*p;bPkD2KAyFP-R)mj%vqVW1$Mr$aRy4;3Mg$W2u)u0D~M{_Owca3PEc;0FlE5N f#HKd2sepa~Q|AAl#H#@rE2M#RSAfmzI%a}Q_k+yOG;+|)FKaf36PSPNIc}2AbOpuBGyX&WVBRN{XY+*$&5DZ33R1 zG%0jqVOcE>Vyxur(5c?QFCd4{uMMIH_i_u-6(3Pt!cj&Q}{XE)7O>#A-ga;m(exzmzhAJ>z*!-ArXg@6C_v{Cy4Yk1sZU<9n^qv z9Q0nK|M2Hcp3xCzDSXx`jKef~ZX<7OrhAWF++vwq5hn^>sgTe~ HDWM4f^DlF! literal 0 HcmV?d00001 diff --git a/data/textures/farm_seeds_cotton.png b/data/textures/farm_seeds_cotton.png index 40e11d2fc6701fc1b68ce98f066c484574966020..de2301a678375f8f52cd96d1d1695ca093710d28 100644 GIT binary patch delta 734 zcmV<40wMj31N#LbiBL{Q4GJ0x0000DNk~Le0000W0000W2nGNE0CReJ^pPPef8hrc z2O|k1dY`5M00NCkL_t(o!|hg0XcJKo{$5NGVuv3X(&;ZVlU+<`;-;2;NG(`nuFOVd7Cm*T0g?VkMbXSEaTJziU9SD*GbG8YkYE2w`I)B!Q4q`Z3xf zJ-%Mn#oNv$Y&(~f1-H!@0p0IDc+|Lvye#0hNg4_AfSswU0sSuUbt=!U4&x&JutO~b z5II7?SU@TS)KG+8I}qyve?~okht({*#-sZ0(fVC;HMM3?12y*X{k(pey{uH;AP)q% zDhDO+r@lp`$I~)im`r0~GHueR^s-Xl+ZoM?SKm0)d-t`_)FeD;J_I@mx`T}coheF_ zlq2M?2z1Py1OUvRdWO;S!&Prq4t(Ru2ms)8^rbSsZ=N8ny{xW?e+RE$=xU7yYw$af7Y+M$_gb)^IOvQj&Ylaahm{uTYGu+ z%kdr)nfN(*O6Iq!1lU8`eeoXstK5_}^m9P21P@OLI0mp1!qFHLnfBG&2E&X96-F9(;jw{JM;X961a*a=IGOXrgUxYg^TR0fh}2o(Wts Qu>b%707*qoM6N<$f^U9M?EnA( delta 364 zcmV-y0h9jw1&jkBiBL{Q4GJ0x0000DNk~Le0000G0000G2nGNE03Y-JVUZy#f8GHb z3nn4mdQwUN00ACJL_t(I%dJygOT#b}J^!($$;SSc$`rMB)z!H%=N^VkJBp=fQ6Ht0 zeo*>DVsD`=5pi{RAP+e?=W=p$19ZfrWnwep*bA!@hNnvgf6U=oV!tAH#|KyrS$D(R zRKRo0Zes7kMBr?rMK=PgGX~Gre|f^^Lf~bhaI|?i=Xjs>;5*wUMQ$w|>*lcL))vRc zW_sah+HVSUf$y-++P{I~h1Ysy-{$z3_jjA4ThZK$?iWl34HvirJdarOe007O^CJWI zr~0!|b7_G76*M2O?hhlq92%G%8o!#U`|COt{fqEQNlTw3NfH^yu~cV)LXf7Z%(6_j z`?4%$Q4~@Wk${AGo;OS7+eJK?N!Mz%B1F)^_t<2vs!B_sCi(&!+PcP+*BxsB0000< KMNUMnLSTYXqND-< diff --git a/data/textures/farm_seeds_grape.png b/data/textures/farm_seeds_grape.png index 9f6e8d704ab7bbbb77867bce065721e4c9841428..8599037e199d1126e27f38211b4cfcedcea39de6 100644 GIT binary patch delta 801 zcmV++1K#|l1HJ|!iBL{Q4GJ0x0000DNk~Le0000W0000W2nGNE0CReJ^pPPef8hrc z2OT511WgS900PiSL_t(o!|j$&NK{c2#((d1Q=4?A5mGT7L=0q_ndhir8&S+G3JOHT zKtf4(E{ZlmB;-QeM4PZhvq;Hr^I*oHx&zaU2_? zg&z#ex%a$tzI*O>&U<@p`c+VcHwlRaO!exO|HK}n{+e{i@}(1c5B z!X?R0F&3*b@Cvu|3bzEHAl2{-LHnb|ediG|JvO)T3b))wGM==knD#dO#{bJ%u=opr zj=L`ts{u{8j8pHR=oENthFxk$6D~=qT|e2ShOoG8L;17~<;SmqanFo0f99Dso!&c< zD>YxP3?(sMG^4cNxEeLin}>5uzFm!-u;H;k;`(sQD8ntIW{reaVYdd-lMKJg)3FmT zG#9hbT&x?#cKs*9i}dv7MnrqfKFFGV(AdaIF|IEP0VNulojV^ZomCiKicdri3v6yf zMzU^C{e&OCgZKaB%2bRlf5<-xUqMARg2Vy$Y@Sq68K0X_5GsmaLBDmBfiGKo`gwg0e|?hjUHK~l$=!JX z^qhS`-NlN)>L_D@Zo2iX7JzeA19*j7s;G?Ae^a*mBx>}AI~YoYCQF1Sxt1NZjZ1_k zsmVMX4Fn0)o&n&VJDq462-8F&G%!*#uaKm|z|6n;2c4fXbJ3x+v>(1?`ISuee~F58CBvKFZU45j7B| fi6b202m$;7CTre6+f{5$00000NkvXXu0mjfOJH&G delta 389 zcmV;00eb$v2BiZbiBL{Q4GJ0x0000DNk~Le0000G0000G2nGNE03Y-JVUZy#f8GHb z3n&MX^!hmf00B2iL_t(I%dJz}O2a@DJijJ_Hxz`p*;oQT_~0D`LGVLVs;DuIHrCdv zMPp4(2!^0Ree`$M%z`E>Vq6gVuphn!wpvlKablTtSm z*45%9<9v%#XfxF~ZC0c~8AJ{%t^FGiFF92sM>eOocBOxDdTz*b;e2t!lw9nZ^jKr^ z`mo;@?H!G-_tk4db1^{w3e3l|`@=|gsv5PnwO@(L_t(o!|j$|NK=tX>qUcw%thaLoDAR%OL_0Wq!_z-CHA_NMe*)%Kv&fCLp+x2$uw5=&U z>mzrCEFyuZ|@&)8G=@o zpjD-$K+`q*pvW#EaB6nD(EqUWufvEv698C4P>5Vtc?F+ha{XmPP+ABguI+u@ zkY_){a?1g;x8%$*sBvp@y+_*BdjL=_cNqNkjhE9mUY-R9iXDPthrU{|e>IiZnyO2} z?-2bruBLVK>cKoyufOjfuj5hNR6o%($wbejzAC#D_>%)(t7g|!yno=u?m8B`>!eWU zk&j|5(vzF(rt+$1j8)H=wsE{*-vrW=Fv;{2PQk=dW+V#PVRHw3HYv~igdf|f`+t08 zCS|IaIw*HQd|R%QPBKA!e_Q1!@Nq?;SP*f6nvsJFC$#vXtrSY_hHYP0v-vqSeb-#? zo6nE~yYTt_uz8t7c5o`P9jjf59JIJIl`n~QMN{%fZ7y|c$HudK_NVFD$Sc($RF01TgcPTR%Ce}r~2)lIjaw#up8 zJgRlkIltiDJXl1IKUT@IUn|*r|C0ZJIFJm`8UWz#X)ozGVBkcySD-_cS75ck=-lD` zDb)^!sT~aKDIBz_1Z2;*xRz*f$*FmJYgT`_J($Bx!Y*w}1`-L_j~MORgN7E(T^oj7 zu&@Dhn}XFHc^!xKNlzH*3~|0KpjR$$r7`viBEH=8U}T`0$Ut>UZan*f3+{!K+)y-4 lL(#M;2MnCZBab{1_znCE#%*$%yzc-2002ovPDHLkV1i`SXr_JWjs=00A6HL_t(I%dJz}P69C$oPSU*UZTd!7p>h^!f&ZTqpZs+D?(6tAO>Bs zakJ5l^2qO$J&i(Zh*aVvedu&%a(a3SSmN1pF>G)wh5i}C%N0Z1(gGU6XS~bfAl;{MS-uO>2hyFzX@ZgUu;l+TSpA6JhRy)&U0bm;e9(07*qo IM6N<$f>wc{@c;k- diff --git a/data/textures/farm_seeds_potato.png b/data/textures/farm_seeds_potato.png index c41b51b42ac03ea7a885db23b3010688aef6252f..804819f5a44a7dca3175fe4aaf7f1e7318f980b1 100644 GIT binary patch delta 871 zcmV-t1DO1o1A_-4iBL{Q4GJ0x0000DNk~Le0000W0000W2nGNE0CReJ^pPPef8hrc z2N@tlVcD|)00R|CL_t(o!|j$|NK;W9$3Mr-KP;WiN}^Iq3dGDp1civoilT=CDe<91 zD{-b#B8W5U!3U9GI6>RY46Ou12$2$!u$KaR85A_=#ixqW46_nbx6{LQcU!x{m?{_Y&;(x@uf5Zbp_GD*ufbYxIn*sJ%`gBBlMMX+7>Djfvn}s%O zt!%T_N;bv$ocYN(Y!>OTStJ14<7u%qH0#gi@(FgD`` zz~k}2v5oNgCjbpK_g7W}T2ZoREo3G7>>QIqG{>YwcC;wyyH$f}R1Kzue@}pHlk)h% zVY4Wtyd-i=kYiHQuSH;6u7QJ>)`uog)a=&uk6dsva={6Jy}3@&h<_G-*FaK?FM9_z zgx0`#X*K{Gs&&4IUw?&p4*+?$m2rFV3>DRJsvhjcGgRD-Mu3FX{|4Z& zae~7}rE6Z9dl$I4FlG4}cva_8UNVf}nu7IyUDBZA>C`&av_)@$!W7!~o|ORQmm9^3 z9)XucWz7wNQLkJ))7rP_QY9J@f!s5xM9;W+-Z15JPR?o0JuQE6Ppp^*avL+rZOl~d x{do^KlsKl^`x0F2OK@pwAV?FdSj8$9@C&Q33k|a>*hByT002ovPDHLkV1kMcm(l2=Ila9F(8QBv!n8%AhJ~+f3dk?@YXAExEVJnEWHxM&aO$^&4nGcIL*1xqA<0I zYRm^^X`qAHA==u%0pq3DYUJ3au=30Mi+P{Pd*S_(UPW?=TY;Arks7NZVLm!Ykipa2iP$3~Nn#NYDov%Z**t?m93 X=n=2fe9c<{00000NkvXXu0mjfA>pi8 diff --git a/data/textures/farm_seeds_pumpkin.png b/data/textures/farm_seeds_pumpkin.png index 13b29280d297e2e9159fbd4734806fcda72ece06..35f0ff59d89f490b239a4fc2e65b648086fc85b5 100644 GIT binary patch delta 862 zcmV-k1EKtr1NsIbiBL{Q4GJ0x0000DNk~Le0000W0000W2nGNE0CReJ^pPPef8hrc z2N(nY9hrat00Rt3L_t(o!|j$$NK{c2$A5PmO(q>1Q;|NTq#(>RM9_^`W)wjMec_^c zjiifE2O|O@a^XVSL_%tdik|OfA529Q6hzdfg>423656<`DEq+d154-K7H@nr(>$F< zr)c3H9=vnTz3=|-dH-|ng$4YNe|VL%Db60dcr?cM=|q2wJ-Y7uoYr#8m1OSYlYci0 zs@ft|wMDWlGvcf(K-2wF)BO^FHCd=?i`29>89lf2^ua$~$C+@%PlM?Nlq&%d6PpMD zU>F8$FN6<20O&e)Ikg(F+a(*9Kv_=2uJo8hD?R4Uwl&0kxAk5zt@nzPe3);cG>J+NRC=uR+Ywk@BeB(}03Sf2KY14ZcoU|G#&~NP;RTUL1L!{zx(<+|?)ne7-(`(}4&H zWKw155GVuJ1xwN)I2IQ!@YOM@K8l|wZE`wgAc5VjZ|U7pI6L$AjTM#-qVe+SpnaN) zT#)57%dylQ<`CKI$hzAEd;!b8)*Rqkb09^nvdD$1wn(y^vE31PfAJ_gc5GP=cGdD{ zop2WTIxh*9mxa?WXB?*;KO~V7ML8?xMPO0?DgXx84zO=)ZP*(`@dgFJ;q!X{SYLMw zP4`QI1MmG?!U%+A<82@cH@# zZl`(he78SEB}QsBP<60~^obBpy2c~Uu}Ryp-n%zN$}~{bG+jzncd2F9R$pgJ&ZuSA oWDir5J#4FiI87{I0SgG@7lFhI6uM}Hg#Z8m07*qoM6N<$f)uxkv;Y7A delta 371 zcmV-(0gV3o29pCJiBL{Q4GJ0x0000DNk~Le0000G0000G2nGNE03Y-JVUZy#f8GHb z3n(xtNnbVq00AXQL_t(I%dJygOT$1Aoc|av7fb(z;EST@iwM5@Q9olE+Za=-tx%$|G-m}j zb|ogBFbn5VLl>xn#22--e*@dgI%dm>C-Kp5%s1yZjy@O9mxfKvr9l%fZK1D^`MKyH zSQwm`*T&&;f&LZTkJsRbl^(V%^!BY^&7A(Y=!)+myQ*}{M{>Ffb+iIiN!{O% RaG?MI002ovPDHLkV1jt+oMm2VB$byp|85qX zZbdlVieN{E?ySzi)ujqomns0*lZn%l?85v0YV3LymdUYH~Z z=xcuMIj{dz*Z>9*6ngT%^ixM+^$7-f4m_!t0M(C zM+y=rK$%_pMZndiYN=l%QErEFdpP|@1a?p(2He_K*|7XWzs{1SO3 zTI9j?_qiHn(R?;dBsYp9VCmfjz`)*zoH}+m&;*5iIe}M7Zi@I}R#c;1@+!~5}E_Dr5+$pBwGEQ;WK78;oN3&)vCN{B&5PkwZ}!)ILsJwUi?*^2FNYM$$RzDife|;s{kww zJiz&;VLx5x)PCAtTyhux8!oXG4T2)7S|1T<$&w5kWVK8$oomOvRwQue^XpHF9-BE zKEF$rn~D&NdjQ0Y$G?i^Q;VX<@&DhdhZ)0x?>?{cR;rKeY~PFKqilj-e}uocLSdy^ zG6k@^?2@@W7ZJg2?@*6j02rQ*iVcLhu~P*wIN2#8LTda>)dIdubjXK~5o{nR4Kt%B z3SeZWTPk-!b<~K$2GVdoG3o#qnu^NTZ(Z_q?9sVy8J>>T_`%6e8Jeo!?*WRTrv|aZ RPT&9l002ovPDHLkV1m&r+!O!+ diff --git a/data/textures/farm_seeds_wheat.png b/data/textures/farm_seeds_wheat.png index 1aab8fe60e4676bb02c0f7fa08e196dbe80766e4..f3e308545438c1945e5c5a2b1d7566cea1304f94 100644 GIT binary patch delta 850 zcmV-Y1Fig%1MUVPiBL{Q4GJ0x0000DNk~Le0000W0000W2nGNE0CReJ^pPPef8hrc z2OK-IbL1KT00RI?L_t(o!|j$$NEBfh$A9m*t{>?-vyeEmBq0T2rXhkIG{p>~4uMn{ zNGK%>vSiUEh=e>ymxw@&kf0!;5JH3uI@Be?KJca$gmh?kP18g(OkLj&v+hT;vaN2> z!9UF5|Gw|M&)5HXW?&2dBR=QUe^~hJoeNQGGnad!_+;Ua4cSsQ>ZJ4emA{(>-K|R9 ztxAma@M3K)hDVczN0R{T%0hRm(r63vAUdu${jnWe+!ITy7#>Zs3chhgMC~mG02?wO z;cy;&{Ru$l#rw(CfbLeqQLka23MDyVUan!ZX_9iyjI6%Va<6Bo0MAfCf8rYOzY)Us zlBnp7N+FF(MMgT|dyVKgb#&c(9$%ec^vPU&gN-)=G1rIBjxc<7#B`udGc^*Kh2J&c zw1+iPvpv4ysg^RPTFOjPrkRh;nxtE&7i02yZIF3wFuakM9xmTH4v6)fS*yA4ts)qn zPE17knXt49xoIXJUx4o`f1&z!9~qC+1qIto?-at9B+|n5c8LQ1+p_|jf(Qs?LT#uB zeDCc7H5Eo?EZe!wwM^c9W_?cva~fH-l~p8g%rimvk-P*n5P=V``eLU!KNGTSW;+%; zfL=#)d|51k!qT0?@bn9>)(=2Ukb%eK5P}Om71KduktHcr+1uaM8e9Ne+UsOJ z4Old>(Go<$`!QW$e^+3@`|tjgO0N}BdaWo*!n#|PdaEh{>KxP5In1efe))6s%O`gv zQ3FK|7@LFKH1uN`62RX#FZdC#7_1KC>i2a*<(~?kHyr0MH5@t c!WM$~1?NHXg{SBjX#fBK07*qoM6N<$g3CRB&j0`b delta 371 zcmV-(0gV3c29pCJiBL{Q4GJ0x0000DNk~Le0000G0000G2nGNE03Y-JVUZy#f8GHb z3nl=O6G9XK00AXQL_t(I%dL~$PQpMCh36gX{y=ywHE4j^7N`h8;eseqvY~0TQLl`z zGtTS<-8DuQ;z@eZ>CEZ3GqV7JdX6P*Qw1k!btPbPBfyLm6tOpN}F#pf$09UCk24(w84$H(6fYJL&H;@Te@ zHWg(LNj}0we+?0we<8q#Q}y^acLJX7kU5-p6UIxJ#R#d;>YUrU)D( RruzT@002ovPDHLkV1o9Oo{j(j diff --git a/data/textures/farm_wheat.png b/data/textures/farm_wheat.png index 58257bb9c042f7ebaa82b8b35883a1fc4b805710..7972234897b3c77c6263e34e71dae9d86771e6a7 100644 GIT binary patch literal 2743 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 delta 579 zcmV-J0=)gV71RVXiBL{Q4GJ0x0000DNk~Le0000G0000G2nGNE03Y-JVE_OC24YJ` zL;#8ad;mEB`wDQ8E*^j00uB);A2im5djJ3cC23SxbVF}#ZDnqB0096100^0LE=o-- zNlj5G&n(GMaQE~L001|g1>zGna18(e0kBC#K~y-)byH1C0$~vL2StYr`m`Vt%EE}W z&w~aYjI2xGy;HxSOAr*1T4t$WA1Z$A`mwquY$_yc)*%Xn=+u8PrhQ-AZO65NVRxRH zecpLzp4I7oEgv)jah=LKvGl1P>KPlVp(b)0@KWA}d}szG8Sf~HS>Ff<(K$@e`34J{$kbv#OY8~ zduBZS=!2rvrI>ScY=O1YQ-r8R!yY~8MOY<%sJgn7kajz<_%R-0 ztKx!2da*k}@oGYoAb+1a{(j#DF=f>f6fVa=lyr`^BehKkh@jMXIXsEtAD0z5x**2G RJpcdz07(Z$PDHLkV1n37^3wnS diff --git a/src/content_mapblock.cpp b/src/content_mapblock.cpp index 94e62bd..92f8a4f 100644 --- a/src/content_mapblock.cpp +++ b/src/content_mapblock.cpp @@ -2498,6 +2498,120 @@ void meshgen_plantlike_fern(MeshMakeData *data, v3s16 p, MapNode &n, SelectedNod } } +void meshgen_croplike(MeshMakeData *data, v3s16 p, MapNode &n, SelectedNode &selected) +{ + ContentFeatures *f = &content_features(n); + TileSpec tile = getNodeTile(n,p,v3s16(0,1,0),selected); + v3f offset(0,0,0); + if (data->m_vmanip.getNodeRO(data->m_blockpos_nodes + p + v3s16(0,-1,0)).getContent() == CONTENT_FLOWER_POT) + offset = v3f(0,-0.25*data->m_BS,0); + + f32 v0 = 0.; + f32 v1 = 1.; + f32 h = 0.5; + + if (f->plantlike_tiled) { + if (f->param2_type == CPT_PLANTGROWTH && n.param2 != 0 && !f->plantgrowth_on_trellis) { + h = (0.0625*(float)n.param2); + if (data->m_vmanip.getNodeRO(data->m_blockpos_nodes + p + v3s16(0,-1,0)).getContent() != n.getContent()) { + v0 = (1.0-h)/2; + }else{ + v0 = ((1.0-h)/2)+0.25; + v1 = 0.75; + } + h -= 0.5; + }else if (data->m_vmanip.getNodeRO(data->m_blockpos_nodes + p + v3s16(0,-1,0)).getContent() != n.getContent()) { + v0 = 0.5; + }else if (data->m_vmanip.getNodeRO(data->m_blockpos_nodes + p + v3s16(0,1,0)).getContent() != n.getContent()) { + v1 = 0.5; + }else{ + v0 = 0.25; + v1 = 0.75; + } + }else if (f->param2_type == CPT_PLANTGROWTH) { + if (n.param2 != 0 && !f->plantgrowth_on_trellis) { + h = (0.0625*(float)n.param2); + v0 = (1.0-h); + h -= 0.5; + } + } + + v3f pos = offset+intToFloat(p,BS); + + if (selected.is_coloured || selected.has_crack) { + //for (u32 j=0; j<2; j++) { + //video::S3DVertex vertices[4] = { + //video::S3DVertex(-0.5*BS,-0.5*BS,0., 0,0,0, video::SColor(255,255,255,255), 0.,v1), + //video::S3DVertex( 0.5*BS,-0.5*BS,0., 0,0,0, video::SColor(255,255,255,255), 1.,v1), + //video::S3DVertex( 0.5*BS, h*BS,0., 0,0,0, video::SColor(255,255,255,255), 1.,v0), + //video::S3DVertex(-0.5*BS, h*BS,0., 0,0,0, video::SColor(255,255,255,255), 0.,v0) + //}; + + //s16 angle = 45; + //if (j == 1) + //angle = -45; + + //for (u16 i=0; i<4; i++) { + //vertices[i].Pos.rotateXZBy(angle); + //vertices[i].TCoords *= tile.texture.size; + //vertices[i].TCoords += tile.texture.pos; + //} + + //u16 indices[] = {0,1,2,2,3,0}; + //std::vector colours; + //if (selected.is_coloured) { + //meshgen_selected_lights(colours,255,4); + //}else{ + //meshgen_lights(data,n,p,colours,255,v3s16(0,0,0),4,vertices); + //} + + //for (u16 i=0; i<4; i++) { + //vertices[i].Pos += pos; + //vertices[i].Pos.X += 0.005; + //} + + //data->append(tile, vertices, 4, indices, 6, colours); + + //for (u16 i=0; i<4; i++) { + //vertices[i].Pos.X -= 0.01; + //} + + //data->append(tile, vertices, 4, indices, 6, colours); + //} + }else{ + for (u32 j=0; j<4; j++) { + video::S3DVertex vertices[4] = { + video::S3DVertex(-0.5*BS,-0.5*BS,-0.25*BS, 0,0,0, video::SColor(255,255,255,255), 0.,v1), + video::S3DVertex( 0.5*BS,-0.5*BS,-0.25*BS, 0,0,0, video::SColor(255,255,255,255), 1.,v1), + video::S3DVertex( 0.5*BS, h*BS,-0.25*BS, 0,0,0, video::SColor(255,255,255,255), 1.,v0), + video::S3DVertex(-0.5*BS, h*BS,-0.25*BS, 0,0,0, video::SColor(255,255,255,255), 0.,v0) + }; + + s16 angle = j*90; + + for (u16 i=0; i<4; i++) { + vertices[i].Pos.rotateXZBy(angle); + vertices[i].TCoords *= tile.texture.size; + vertices[i].TCoords += tile.texture.pos; + } + + u16 indices[] = {0,1,2,2,3,0}; + std::vector colours; + if (selected.is_coloured) { + meshgen_selected_lights(colours,255,4); + }else{ + meshgen_lights(data,n,p,colours,255,v3s16(0,0,0),4,vertices); + } + + for (u16 i=0; i<4; i++) { + vertices[i].Pos += pos; + } + + data->append(tile, vertices, 4, indices, 6, colours); + } + } +} + void meshgen_liquid(MeshMakeData *data, v3s16 p, MapNode &n, SelectedNode &selected) { ContentFeatures *f = &content_features(n); diff --git a/src/content_mapblock.h b/src/content_mapblock.h index b21141d..0b4586a 100644 --- a/src/content_mapblock.h +++ b/src/content_mapblock.h @@ -37,6 +37,7 @@ void meshgen_dirtlike(MeshMakeData *data, v3s16 p, MapNode &n, SelectedNode &sel void meshgen_raillike(MeshMakeData *data, v3s16 p, MapNode &n, SelectedNode &selected); void meshgen_plantlike(MeshMakeData *data, v3s16 p, MapNode &n, SelectedNode &selected); void meshgen_plantlike_fern(MeshMakeData *data, v3s16 p, MapNode &n, SelectedNode &selected); +void meshgen_croplike(MeshMakeData *data, v3s16 p, MapNode &n, SelectedNode &selected); void meshgen_liquid(MeshMakeData *data, v3s16 p, MapNode &n, SelectedNode &selected); void meshgen_liquid_source(MeshMakeData *data, v3s16 p, MapNode &n, SelectedNode &selected); void meshgen_nodebox(MeshMakeData *data, v3s16 p, MapNode &n, SelectedNode &selected, bool meta); diff --git a/src/content_mapnode_farm.cpp b/src/content_mapnode_farm.cpp index c5c00b6..a762d71 100644 --- a/src/content_mapnode_farm.cpp +++ b/src/content_mapnode_farm.cpp @@ -36,8 +36,9 @@ void content_mapnode_farm(bool repeat) i = CONTENT_FARM_DIRT; f = &content_features(i); f->description = gettext("Farm Dirt"); - f->setAllTextures("dirt.png"); - f->setInventoryTextureCube("dirt.png","dirt.png","dirt.png"); + f->setAllTextures("mud.png"); + f->setTexture(0,"dirt.png"); + f->setInventoryTextureCube("dirt.png","mud.png","mud.png"); f->draw_type = CDT_CUBELIKE; f->is_ground_content = true; f->dug_item = std::string("MaterialItem2 ")+itos(CONTENT_MUD)+" 1"; @@ -87,8 +88,9 @@ void content_mapnode_farm(bool repeat) i = CONTENT_SEEDS_WHEAT; f = &content_features(i); f->description = gettext("Wheat Seeds"); - f->setAllTextures("farm_seeds_wheat.png"); - f->draw_type = CDT_PLANTLIKE; + f->setAllTextures("farm_seeds.png"); + f->setInventoryTexture("farm_seeds_wheat.png"); + f->draw_type = CDT_CROPLIKE; f->param_type = CPT_LIGHT; f->setAllTextureFlags(0); f->walkable = false; @@ -107,7 +109,8 @@ void content_mapnode_farm(bool repeat) i = CONTENT_SEEDS_MELON; f = &content_features(i); f->description = gettext("Melon Seeds"); - f->setAllTextures("farm_seeds_melon.png"); + f->setAllTextures("farm_seeds_central.png"); + f->setInventoryTexture("farm_seeds_melon.png"); f->draw_type = CDT_PLANTLIKE; f->param_type = CPT_LIGHT; f->setAllTextureFlags(0); @@ -129,7 +132,8 @@ void content_mapnode_farm(bool repeat) i = CONTENT_SEEDS_PUMPKIN; f = &content_features(i); f->description = gettext("Pumpkin Seeds"); - f->setAllTextures("farm_seeds_pumpkin.png"); + f->setAllTextures("farm_seeds_central.png"); + f->setInventoryTexture("farm_seeds_pumpkin.png"); f->draw_type = CDT_PLANTLIKE; f->param_type = CPT_LIGHT; f->setAllTextureFlags(0); @@ -151,8 +155,9 @@ void content_mapnode_farm(bool repeat) i = CONTENT_SEEDS_POTATO; f = &content_features(i); f->description = gettext("Potato Seeds"); - f->setAllTextures("farm_seeds_potato.png"); - f->draw_type = CDT_PLANTLIKE; + f->setAllTextures("farm_seeds.png"); + f->setInventoryTexture("farm_seeds_potato.png"); + f->draw_type = CDT_CROPLIKE; f->param_type = CPT_LIGHT; f->setAllTextureFlags(0); f->walkable = false; @@ -173,8 +178,9 @@ void content_mapnode_farm(bool repeat) i = CONTENT_SEEDS_CARROT; f = &content_features(i); f->description = gettext("Carrot Seeds"); - f->setAllTextures("farm_seeds_carrot.png"); - f->draw_type = CDT_PLANTLIKE; + f->setAllTextures("farm_seeds.png"); + f->setInventoryTexture("farm_seeds_carrot.png"); + f->draw_type = CDT_CROPLIKE; f->param_type = CPT_LIGHT; f->setAllTextureFlags(0); f->walkable = false; @@ -195,8 +201,9 @@ void content_mapnode_farm(bool repeat) i = CONTENT_SEEDS_BEETROOT; f = &content_features(i); f->description = gettext("Beetroot Seeds"); - f->setAllTextures("farm_seeds_beetroot.png"); - f->draw_type = CDT_PLANTLIKE; + f->setAllTextures("farm_seeds.png"); + f->setInventoryTexture("farm_seeds_beetroot.png"); + f->draw_type = CDT_CROPLIKE; f->param_type = CPT_LIGHT; f->setAllTextureFlags(0); f->walkable = false; @@ -217,8 +224,9 @@ void content_mapnode_farm(bool repeat) i = CONTENT_SEEDS_GRAPE; f = &content_features(i); f->description = gettext("Grape Seeds"); - f->setAllTextures("farm_seeds_grape.png"); - f->draw_type = CDT_PLANTLIKE; + f->setAllTextures("farm_seeds.png"); + f->setInventoryTexture("farm_seeds_grape.png"); + f->draw_type = CDT_CROPLIKE; f->param_type = CPT_LIGHT; f->setAllTextureFlags(0); f->walkable = false; @@ -239,8 +247,9 @@ void content_mapnode_farm(bool repeat) i = CONTENT_SEEDS_COTTON; f = &content_features(i); f->description = gettext("Cotton Seeds"); - f->setAllTextures("farm_seeds_cotton.png"); - f->draw_type = CDT_PLANTLIKE; + f->setAllTextures("farm_seeds.png"); + f->setInventoryTexture("farm_seeds_cotton.png"); + f->draw_type = CDT_CROPLIKE; f->param_type = CPT_LIGHT; f->setAllTextureFlags(0); f->walkable = false; @@ -260,7 +269,7 @@ void content_mapnode_farm(bool repeat) f = &content_features(i); f->description = gettext("Wheat"); f->setAllTextures("farm_wheat.png"); - f->draw_type = CDT_PLANTLIKE; + f->draw_type = CDT_CROPLIKE; f->param_type = CPT_LIGHT; f->param2_type = CPT_PLANTGROWTH; f->setAllTextureFlags(0); @@ -342,7 +351,7 @@ void content_mapnode_farm(bool repeat) f = &content_features(i); f->description = gettext("Potato"); f->setAllTextures("farm_potato.png"); - f->draw_type = CDT_PLANTLIKE; + f->draw_type = CDT_CROPLIKE; f->param_type = CPT_LIGHT; f->param2_type = CPT_PLANTGROWTH; f->setAllTextureFlags(0); @@ -362,7 +371,7 @@ void content_mapnode_farm(bool repeat) f = &content_features(i); f->description = gettext("Carrot"); f->setAllTextures("farm_carrot.png"); - f->draw_type = CDT_PLANTLIKE; + f->draw_type = CDT_CROPLIKE; f->param_type = CPT_LIGHT; f->param2_type = CPT_PLANTGROWTH; f->setAllTextureFlags(0); @@ -382,7 +391,7 @@ void content_mapnode_farm(bool repeat) f = &content_features(i); f->description = gettext("Beetroot"); f->setAllTextures("farm_beetroot.png"); - f->draw_type = CDT_PLANTLIKE; + f->draw_type = CDT_CROPLIKE; f->param_type = CPT_LIGHT; f->param2_type = CPT_PLANTGROWTH; f->setAllTextureFlags(0); @@ -402,7 +411,7 @@ void content_mapnode_farm(bool repeat) f = &content_features(i); f->description = gettext("Grape"); f->setAllTextures("farm_grapevine.png"); - f->draw_type = CDT_PLANTLIKE; + f->draw_type = CDT_CROPLIKE; f->param_type = CPT_LIGHT; f->param2_type = CPT_PLANTGROWTH; f->setAllTextureFlags(0); @@ -423,7 +432,7 @@ void content_mapnode_farm(bool repeat) f = &content_features(i); f->description = gettext("Cotton"); f->setAllTextures("farm_cotton.png"); - f->draw_type = CDT_PLANTLIKE; + f->draw_type = CDT_CROPLIKE; f->param_type = CPT_LIGHT; f->param2_type = CPT_PLANTGROWTH; f->setAllTextureFlags(0); diff --git a/src/mapblock_mesh.cpp b/src/mapblock_mesh.cpp index 1444f11..d3b1e0f 100644 --- a/src/mapblock_mesh.cpp +++ b/src/mapblock_mesh.cpp @@ -606,6 +606,9 @@ void MapBlockMesh::generate(MeshMakeData *data, v3s16 camera_offset, JMutex *mut case CDT_PLANTLIKE_FERN: meshgen_plantlike_fern(data,p,n,selected); break; + case CDT_CROPLIKE: + meshgen_croplike(data,p,n,selected); + break; case CDT_LIQUID: meshgen_liquid(data,p,n,selected); break; diff --git a/src/mapnode.h b/src/mapnode.h index 8f3fa35..a89657f 100644 --- a/src/mapnode.h +++ b/src/mapnode.h @@ -105,6 +105,7 @@ enum ContentDrawType CDT_RAILLIKE, CDT_PLANTLIKE, CDT_PLANTLIKE_FERN, + CDT_CROPLIKE, CDT_MELONLIKE, CDT_LIQUID, CDT_LIQUID_SOURCE, diff --git a/src/selection_mesh.cpp b/src/selection_mesh.cpp index dd5dbeb..83174fc 100644 --- a/src/selection_mesh.cpp +++ b/src/selection_mesh.cpp @@ -239,6 +239,9 @@ void SelectionMesh::generate(MeshMakeData *data) case CDT_PLANTLIKE_FERN: meshgen_plantlike_fern(data,p,n,selected); break; + case CDT_CROPLIKE: + meshgen_croplike(data,p,n,selected); + break; case CDT_LIQUID: meshgen_liquid(data,p,n,selected); break;