From f9b6e3c0a622cdac340cd590a5000be2537969cf Mon Sep 17 00:00:00 2001 From: Anuken Date: Fri, 11 Jul 2025 19:07:31 -0400 Subject: [PATCH] More tile progress --- .../environment/crux-floor-1-flat-autotile.png | Bin 0 -> 1521 bytes .../blocks/environment/crux-floor-3-autotile.png | Bin 0 -> 1094 bytes .../blocks/environment/crux-floor-4-autotile.png | Bin 0 -> 1147 bytes .../sprites/blocks/environment/pipes.png | Bin 0 -> 296 bytes core/assets/icons/icons.properties | 1 + core/src/mindustry/content/Blocks.java | 9 ++++++++- tools/src/mindustry/tools/Generators.java | 5 +++-- 7 files changed, 12 insertions(+), 3 deletions(-) create mode 100644 core/assets-raw/sprites/blocks/environment/crux-floor-1-flat-autotile.png create mode 100644 core/assets-raw/sprites/blocks/environment/crux-floor-3-autotile.png create mode 100644 core/assets-raw/sprites/blocks/environment/crux-floor-4-autotile.png create mode 100644 core/assets-raw/sprites/blocks/environment/pipes.png diff --git a/core/assets-raw/sprites/blocks/environment/crux-floor-1-flat-autotile.png b/core/assets-raw/sprites/blocks/environment/crux-floor-1-flat-autotile.png new file mode 100644 index 0000000000000000000000000000000000000000..a5bbed72ead6be4eefa69de8b8f2b53518185a61 GIT binary patch literal 1521 zcmeAS@N?(olHy`uVBq!ia0y~yU}ykg4mJh`hQoG=rx_R+7>k44ofy`glX=O&z`EMg z#WAE}&fB@ZdAAJ&TBj~>*SIxzv)(SBqW{cWY+d$vPq5yiE!w5*b@<`qKlKic+cx|) zF+MNidh+n@`Sx=E^<1OgZRKBZVJXjqIYtgerx;FZGOIl2{@NP9zkYTR1OIgI@6~bZ zu4^7|dh+)x@2|@K^Zx(;`*qG=$sZGwz9wPNieLl<#`xq{uwj+Bj%e=iC&3|5Dik>aJ;L)48!gECDFY>&Y9?M$L z-Mk;%N&m#vtrpI+9$qHo6xhlHRR8m)&&!v1bnm; z>QNH>f5Gd4nWg^q*X{NiYi1^d&CyLeZofz5&aXBXvx8#q)g;UgTzs0OBJ6Rr^U8uF z?_Z@&*v7eKrr>^UW}Q@~ia+moHca7Muw3SZ%7&w7mUz#0&^{-oA?)DRu=j~ejQWMH z&8$w-|2UkGT>C_aN!juJbNd**H%~H;-fR;7Kka34Lx=J~xj6SGJ?4VccgIA^f3>{B$9P5PF&UBFK(|av)!1LU_>T6HjjT)Z>hg5$#cD_z2W6Ito%KI&^ z&C_{RtCV5#fBVP(KfhLgFV*69T>B_OmeanNOyj7X9ujk)GjtQ!qGr#)#GfGaH5DBt=Udx$ZPdpQzsH9wb zzl*D5R?C@Rcc(WBPM#1se=DDWE~n5h51%jWA0k+CYgN>KF<0m`ZL5DJ8573cktOdP zbA^8^-FZ;?KH}S#?{@Vnekvz^Y+vzKCM#FPL1g}KxwGfP?pj{y;{4Wk_|>_EtNt>k zy;+fYlqFi{jf~dUn`&izSIrIz&bqt5-{GkJmgEy<%X@CC6sq~p53NPgDy zfPUr1Z!Z?ylV{kwcv+}$#(SBnmd<|+9&2VDF#7P1;Z}-yW9L7HTT?in9nY_O9-yt( zvCDZ?_grV)*#~~_>&PqP+q%h5Ah$gv+`2tVlJnaKE1?~?Ekh2mh&{?#cu)Sop}tvh zJ_g)h|1pS_UD=Ywv~sR4o(V42$RWD4V?U^Xyk$>{^fpD*YC z?{?4s`o8)0-tx7~xzWr^{=MWVi2kD*$h}pt_Q_$B?WPW|CLL zyJBw3CG!jN3f@9SujkKWGE!08Y?sL=V9PlZls8Uzo>+6gR8+u}bLQ9g)6b=!QBqUf zY?m#o5GADYW#WqO><{Ex%0S6!!I#-=4u4E4`QIvKybgAJR-aYR(C<3o+VX!v-^I-T zGTMkZde4vkBWnJaQAga-yMD_L?W^(&X1Ljk&OsEZ%Xucusb4UWoz4HrpFIo=3=E#G KelF{r5}E+tWx0s} literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/environment/crux-floor-3-autotile.png b/core/assets-raw/sprites/blocks/environment/crux-floor-3-autotile.png new file mode 100644 index 0000000000000000000000000000000000000000..5a30bd7107e32977c4c9d7b64ae8f3aeead44a22 GIT binary patch literal 1094 zcmeAS@N?(olHy`uVBq!ia0y~yU}ykg4mJh`hQoG=rx_R+7>k44ofy`glX=O&z{23^ z;uumf=k1)`fijLFt~a-ScoLA%$-&{^xuQ$tgu^zb32Q?%R2MRcG^RK{JTaNQZ$a6% z-On%ke6O|szGb_2?%eI~@6MY0GV$EIfA7BiT(e={zdymhE6J?@v9)xGw+P zd~yD~rEmXD|8Y~ihPu|LJS>RMF+}>fihO16ry$vi5EIpKs6Da=@6SxtPJ}fq2ssm4Le}KWcy8JngVu z&Ej*nb)%ne!L$B6*4-utXWCclA6UqF?oXt7^R{~|>HpR+Y|&%d*Jp3dpxfQB{;@un z!)m1muYYtiUs%NP!>TTn;TlLfUbexsyWr9KpYLO{Kin5>xTSQ(IpDK$>w~+DD|DS~ zSxoJ{IKns`as^*0uJ|eFv>{x4pv{oDVSMS$tN0M9u_j>dS7Ns}E) zg&%x>n!cXt&a4M#^yAp9Ob^bq-^Ksn5=;8OCvFp*h3EX-T*kEhUdz0iuZPW#|G61` zFj}f)>ndN~y7h@fRpuHEz2WF0+f=(nDO$8%xxe%Ap z6Mitxlat#mwouN=|KI!g|C7E~eX~D){ud+1!C!x3KF5dm|C|0}_wU`epI;X@{Xa1% z%Cz15$KRi4|1g-wv(?qt6$!n#!IED0P3yo~&U1err7j2-p7V3@Zw5Wzf@l7DES8`Y zldWFx+PB~t|2Iay>tD}Seu_J*=AC&pXWty7{}sjQSu3)??>};0jk44ofy`glX=O&z+&p@ z;uumf=j~j_qT2>MuCcy-6Fkd4Dc)LlJNNv(Zvr3nX5LwN*F^H_#N0_tKN%nHjg{%& z$5T65LFLf=eYO8TKDRi}e&IujmF$#{^W)~n^Z75I{Dx)I;=cb+9;$3w+ykN<#Q$gh zWLLYesN?_LTb>T`UX%9D`xt+De%O7^%mWN34>FwmIe|H*>CS?AzmKzTPTqQCzsvp% z7K?M6U$!?|RUO-3!F7Nos_N)|Ep`xnWWN>X5tgVmkK^aC%$x6WGJE@vzn`yP{a^p@ zSL)ZVTeD_H)u&9_^DQ#^>)C0Ix~gZq8SVa@PSBSv)@8{0yJE&Q#;PkDt7jhwvRCpA zK49vl=al;)OK(k-y;KO(;PM-tkj}A$fz*;v)>F*%h;=MO9z?-lD_4 zL-fJD$Zb*gxi6^%)CyktB{#u`@pxq&|GuOZp|7i*%$Tm!?OtPCuyvpKlGP25ZSJo* z{yy?Pvq;mVW<~_MyoYPYH-n?9I@j;q`{KS{ZOs?wK89E6LRWuH<1s$)>2~@@-!-;v zQTMfH^8`q>Z2jK5ha;=@e9kHsz3f-IIlKuawfs5rn6}+9+`MAF`?c>4C-*Xx`rd7> zyE5BVF`O}hoy~&}hWs`&E?Qr|I9c?+;?x6i3--s>7t21#o$Px0u4VV%pK)J8bFP}7 zWQ>|ykzN1q-q*D^7U|~-T&(h`V!q+n%;EgEBxt>9}_7^h` zSZ_Y(Uq-f<)u|nfSAKuK`fHw{Hp^BPXOOAy88i77+?&7t+V_T=91GS=UG2T=3wy(c zgoY<@bU|K0;|sgP{C^DdzJy+oSJ<#m^b32z0{N+F%oTe$vi^4Dyc63ub=uC`tN)$& z&6quZuj_oP2EpT%)9f^_tmC9l_N$@cdJ|XS$MzFLgVsU&5!&fVFYum@?MJCAb zfY6+)G77Jl`vf&SFH{}-A2VMtL1F!Q{Yx!XzVggGZkbJ6e=)ELERf@z7Qi9&Q1$$- z-SssS!qXX}>KT~dp12@?z{6VW3wy?u?YHLNKlQWHey-ma_JBok zvKQqKFbeuMF!pq&G0AbiZ?N)QVt?S=0(*uMW@Z(3W|j7T49y?Er5Gq5aJceY?*;z@ shJ3XH3`{mN8=NL^l+OFQ?7z6cZBAo`-@B_A7#J8lUHx3vIVCg!06Vi6O8@`> literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/environment/pipes.png b/core/assets-raw/sprites/blocks/environment/pipes.png new file mode 100644 index 0000000000000000000000000000000000000000..25962a405b4537e81cc4b093d49f49e579e19492 GIT binary patch literal 296 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}jKx9jP7LeL$-HD>V0h%| z;usRq`gZzh-opw!ZN5`2PiVZ|>iy)_%%arJn8|^MlwO_`?JD@tEEf96UTK59ulTyUf4=EF&Vouv|KN^ zwoUJxNTY~SOXSyiX9PE_VlHX;&$dBip%#Owf?hZK)sIDfrlN)|HzzVI?F;8#RKXh3 zQGCwi`oUMMLWk$<)vWn!B2s!dH#S6;zxBOV=x+{>ptaM!Nt`xbn0o1RoL*7+?MWvsx?c&ooNZ0DzYHoVpj>=n#!l0uKhZ}}L=z`(%Z>FVdQ&MBb@0QhWp Ap#T5? literal 0 HcmV?d00001 diff --git a/core/assets/icons/icons.properties b/core/assets/icons/icons.properties index b63ed7edf8..461b780be5 100755 --- a/core/assets/icons/icons.properties +++ b/core/assets/icons/icons.properties @@ -603,3 +603,4 @@ 63079=crux-floor-1|block-crux-floor-1-ui 63078=crux-floor-2|block-crux-floor-2-ui 63077=crux-floor-3|block-crux-floor-3-ui +63076=crux-floor-4|block-crux-floor-4-ui diff --git a/core/src/mindustry/content/Blocks.java b/core/src/mindustry/content/Blocks.java index ad0c194adb..d2136d8652 100644 --- a/core/src/mindustry/content/Blocks.java +++ b/core/src/mindustry/content/Blocks.java @@ -59,7 +59,7 @@ public class Blocks{ shaleBoulder, sandBoulder, daciteBoulder, boulder, snowBoulder, basaltBoulder, carbonBoulder, ferricBoulder, beryllicBoulder, yellowStoneBoulder, arkyicBoulder, crystalCluster, vibrantCrystalCluster, crystalBlocks, crystalOrbs, crystallineBoulder, redIceBoulder, rhyoliteBoulder, redStoneBoulder, metalFloor, metalFloorDamaged, metalFloor2, metalFloor3, metalFloor4, metalFloor5, basalt, magmarock, hotrock, snowWall, saltWall, - darkPanel1, darkPanel2, darkPanel3, darkPanel4, darkPanel5, darkPanel6, darkMetal, cruxFloor1, cruxFloor2, cruxFloor3, + darkPanel1, darkPanel2, darkPanel3, darkPanel4, darkPanel5, darkPanel6, darkMetal, cruxFloor1, cruxFloor2, cruxFloor3, cruxFloor4, pebbles, tendrils, //ores @@ -833,6 +833,13 @@ public class Blocks{ drawEdgeIn = false; }}; + cruxFloor4 = new Floor("crux-floor-4"){{ + autotile = true; + emitLight = true; + drawEdgeOut = false; + drawEdgeIn = false; + }}; + Seq.with(metalFloor, metalFloorDamaged, metalFloor2, metalFloor3, metalFloor4, metalFloor5, darkPanel1, darkPanel2, darkPanel3, darkPanel4, darkPanel5, darkPanel6) .each(b -> b.asFloor().wall = darkMetal); diff --git a/tools/src/mindustry/tools/Generators.java b/tools/src/mindustry/tools/Generators.java index a7c46b41e6..4c5a847e6d 100644 --- a/tools/src/mindustry/tools/Generators.java +++ b/tools/src/mindustry/tools/Generators.java @@ -89,8 +89,9 @@ public class Generators{ if(!iconPath.exists()){ //save the bottom right region as the "main" sprite for previews Pixmap out = new Pixmap(basePath); - Pixmap cropped = out.crop(96, 96, 32, 32); + Pixmap cropped = out.crop(32, 32, 32, 32); iconPath.writePng(cropped); + iconPath.parent().parent().parent().child("editor").child("editor-" + block.name + ".png").writePng(cropped); out.dispose(); gens.put(block, cropped); } @@ -830,7 +831,7 @@ public class Generators{ generate("edges", () -> { content.blocks().each(b -> b instanceof Floor && !(b instanceof OverlayFloor) && !b.isAir(), floor -> { - if(has(floor.name + "-edge") || floor.blendGroup != floor){ + if(has(floor.name + "-edge") || floor.blendGroup != floor || (!floor.drawEdgeOut)){ return; }