From 42fb6b7a722ccfe71301cdfcdcb41a8286042398 Mon Sep 17 00:00:00 2001 From: Anuken Date: Sat, 23 Aug 2025 17:04:40 -0400 Subject: [PATCH] New environmental metal wall blocks --- .../blocks/environment/grate-detailed.png | Bin 359 -> 0 bytes .../environment/metal-tiles-13-autotile.png | Bin 0 -> 1560 bytes .../environment/metal-tiles-13-mid-2.png | Bin 0 -> 121 bytes .../environment/metal-tiles-13-mid-3.png | Bin 0 -> 214 bytes .../environment/metal-tiles-13-mid-4.png | Bin 0 -> 196 bytes .../environment/metal-tiles-13-mid-5.png | Bin 0 -> 165 bytes .../environment/metal-tiles-13-mid-6.png | Bin 0 -> 211 bytes .../environment/metal-wall-1-autotile.png | Bin 0 -> 1892 bytes .../blocks/environment/metal-wall-1-mid-2.png | Bin 0 -> 120 bytes .../blocks/environment/metal-wall-1.png | Bin 0 -> 341 bytes .../environment/metal-wall-2-autotile.png | Bin 0 -> 1844 bytes .../blocks/environment/metal-wall-2-mid-2.png | Bin 0 -> 120 bytes .../blocks/environment/metal-wall-2.png | Bin 0 -> 301 bytes .../environment/metal-wall-3-autotile.png | Bin 0 -> 1195 bytes .../blocks/environment/metal-wall-3.png | Bin 0 -> 280 bytes core/assets/icons/icons.properties | 4 +++ core/src/mindustry/content/Blocks.java | 24 +++++++++++++++++- .../src/mindustry/content/ErekirTechTree.java | 2 +- core/src/mindustry/logic/LExecutor.java | 4 +-- .../world/blocks/environment/StaticWall.java | 21 +++++++++++++-- 20 files changed, 49 insertions(+), 6 deletions(-) delete mode 100644 core/assets-raw/sprites/blocks/environment/grate-detailed.png create mode 100644 core/assets-raw/sprites/blocks/environment/metal-tiles-13-autotile.png create mode 100644 core/assets-raw/sprites/blocks/environment/metal-tiles-13-mid-2.png create mode 100644 core/assets-raw/sprites/blocks/environment/metal-tiles-13-mid-3.png create mode 100644 core/assets-raw/sprites/blocks/environment/metal-tiles-13-mid-4.png create mode 100644 core/assets-raw/sprites/blocks/environment/metal-tiles-13-mid-5.png create mode 100644 core/assets-raw/sprites/blocks/environment/metal-tiles-13-mid-6.png create mode 100644 core/assets-raw/sprites/blocks/environment/metal-wall-1-autotile.png create mode 100644 core/assets-raw/sprites/blocks/environment/metal-wall-1-mid-2.png create mode 100644 core/assets-raw/sprites/blocks/environment/metal-wall-1.png create mode 100644 core/assets-raw/sprites/blocks/environment/metal-wall-2-autotile.png create mode 100644 core/assets-raw/sprites/blocks/environment/metal-wall-2-mid-2.png create mode 100644 core/assets-raw/sprites/blocks/environment/metal-wall-2.png create mode 100644 core/assets-raw/sprites/blocks/environment/metal-wall-3-autotile.png create mode 100644 core/assets-raw/sprites/blocks/environment/metal-wall-3.png diff --git a/core/assets-raw/sprites/blocks/environment/grate-detailed.png b/core/assets-raw/sprites/blocks/environment/grate-detailed.png deleted file mode 100644 index b295bc8169c05ef29126fafe6f4013e16db8168b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 359 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}jKx9jP7LeL$-HD>U{v&U zaSVxQJsNH;)?^?s=Sd-pT*<<3k&Cu&i)*@ecvbrZzxm|{wDwHUQLJCqY%ufWrrn-5 zK3?!=2-wbRrKs?+%4XrByxB)TzyEA{%=t&mzJQa898be{6?5L*m}}E^{(IC;mhvBJ zvn$kHb~J`eOy0!x>vQJE#(dG1PbWF{9KTp7Yf|&0t#Q($w#G}37!K%Nzb&# z$Jz!BX3e8}d6$T>H+WrJoIf{s_d~IG-=J*y6RcWIuDk(iO*}`wabIPTZu@@3M>Yb!9^K zXU~ZTu5sjWF1aCVUhkME>}NUQGRsYNE5)ATy?oK~3x1sY-gK$_sQuH1i8+&}D;F>@ PFfe$!`njxgN@xNAMoXBU diff --git a/core/assets-raw/sprites/blocks/environment/metal-tiles-13-autotile.png b/core/assets-raw/sprites/blocks/environment/metal-tiles-13-autotile.png new file mode 100644 index 0000000000000000000000000000000000000000..f4be2711e4c990debbe300c8f1fe0570bb445604 GIT binary patch literal 1560 zcmeAS@N?(olHy`uVBq!ia0y~yU}ykg4mJh`hQoG=rx_R+7>k44ofy`glX=O&z{-@0xS7L#&PM`d)@BHM2g+&dB_$WSqjdfN61T;Ny~ufvd}>x*U1M zxQAKg=7))03!ENDuW8w|pJ@-%(wlD|gZRNY9&fsjFKoQ<>l*GW2Fy?Jqa(B%V+=Q$QwDmOgqVVK1%?(pT$ zok_B_&2l^&xh`CN@%!d7_fTg3gzKGL!t!^;uCF87O4TjVHq0jsmEwzt4ZujW&LHh!?9dj76 zr&}zI_%V6w$NUwS5AL3O!|~VToged0Tt0Zy?@fl|kH@w84JzlBL>{FjTqfa&_X9}{vvhcX|!~BYg!DbGvoN({AHMVlAj_nV% zkXn{`;8pMXjqbI_{%*?PoXIxhru)~JXBiUBvbD39J^+QLF;m7ljs=#*COrrH_Bpa{ zNN$L`dG`1h_rpe;Ca<5+y5NQOEu~izEH6)YzO^_pJm8+>6UP!6fsX11jrMT$WUV=O z&bqA3e2}L;!6?9uVOBX?sQTZ(42ScL_5`t)**koFzf)sN;b)JIMp=IOzKO@qYpcF1 z65HTqzR9Zh^~{sapAx5TX_A}1;F_afHAC(?$=1z9Ho`i_dv3EQdS}hI<@mxi!|mZ6 zk+)t-1$z})5*>p3Tv#ss`NO5OA%b0zTS3b~MlgdvJw$*}>Ut?dW`c&2!`w3~uT*e^ z>~5TR{ZQ)7mQ{V(ZWEr*xp64$%dC#0nmON3FS2dUDD_a?q`qU5{>O5oCKi|9UVC>= zW!lN^puOJe;zx&@6~BM{__NKV>6PBj(#}oYYq(cUJo=qkLC?}ba4NrmBy)@WtKW=9 zXO}NFYEnv0&{epkV36h78(sFrXiaFW&U^M9GR!G#wd(%im*PZsCrQa1e!^k~DqI8| ziV-CZGDjxNiG%%1P;UC~OM4h@|c*MHh&g= z)U)7)xLL_I|I9t2>FYOFy8Zo>!FADdvE-ZdyZgkRGrQcsEPht+UpGrZncZD0jw}9w zF1AYRRyZFJbGTw#duPpqjw+Y#1AkHimae%oche+Y&;3FYbHn#rr%ra-z2VihaHa5g zVR7FtHg)9@OdVGLWcP}k(cC=i#SL4BE390zq7UtPm6-VbZ{7c|%`PTv7Ew1>m8e8{ zPx&u4r8?e0tnB0e5QY=3y=R_3HopD+z?V9PT*&umOr;Y zp~$}B%gl}ay6vBGZvJLu<9Qj*#2$?jIR6+O|DT$F)^yrs1_lNOPgg&ebxsLQ0G$N# A8~^|S literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/environment/metal-tiles-13-mid-2.png b/core/assets-raw/sprites/blocks/environment/metal-tiles-13-mid-2.png new file mode 100644 index 0000000000000000000000000000000000000000..5e4723b32dfd071c660f58b52981e8f0c92dc855 GIT binary patch literal 121 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}jKx9jP7LeL$-HD>U@-P{ zaSVxQeS6N3k->oD$bsd@Zi)VH>f)K!-57KCx_$TDvz81fz+n>4P8}w8UXgj1K;oXR KelF{r5}E)S_aGAh literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/environment/metal-tiles-13-mid-3.png b/core/assets-raw/sprites/blocks/environment/metal-tiles-13-mid-3.png new file mode 100644 index 0000000000000000000000000000000000000000..3597de2df3f27c8ca84dccad1c790bc4010a6820 GIT binary patch literal 214 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}jKx9jP7LeL$-HD>V3^?P z;usRq`gV#pUxNXM%f*VmDv{k^|EX^fzqr-+hs%a!r8m10eiV5swS zaSVxQeS2*;Z-W63OF;7s7LQ>;*pxd;vJkPxENUuFuwA&s5)H9{GLH(fu7?N<}ZAE zm|0ddX!a$tE!xd;k>mP&10lorYAO%R8`!1H#Uj0P7w%zTU|{fc^>bP0l+XkKjp{|R literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/environment/metal-tiles-13-mid-5.png b/core/assets-raw/sprites/blocks/environment/metal-tiles-13-mid-5.png new file mode 100644 index 0000000000000000000000000000000000000000..4e0319f689a943f2b6925667ac43d71fad77b2ae GIT binary patch literal 165 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}jKx9jP7LeL$-HD>V2Jm0 zaSVxQP2N)e;m>)4hK5W9UHQ@jE12D64PG?_viDdeTw&zl;o;GlBBh|O?mlH#d%s+w zsQd>339za*=7LnmT^0=UpPH02D4v#F5hx^-%xPy}B=m3vGuu{X2GKbF`Jq>Kd}3f= OVDNPHb6Mw<&;$Uf&oO@h literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/environment/metal-tiles-13-mid-6.png b/core/assets-raw/sprites/blocks/environment/metal-tiles-13-mid-6.png new file mode 100644 index 0000000000000000000000000000000000000000..50f26e45163083be9a02812062d0657b9cebf4d8 GIT binary patch literal 211 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}jKx9jP7LeL$-HD>VCeO9 zaSVxQeLM9uZ-W7kGjmd(5m(I3dZt|*F@lq#SIftA{+MM}StOKt>)T_ag=wjU>;(+Q zn_DZlv@s;7_k6f(+%~0DA#~5t`zj8;g=Xw58G&<7s>(aDFSs^AbaPq$N!ba^2gIh_ zh*a9iT*PpL=^MjUuXhd14h@ReK5%#Ba92489ABY+WQX$$hW(5?7;~6q1+Tpdo5jGu Oz~JfX=d#Wzp$PyJJ4;^x literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/environment/metal-wall-1-autotile.png b/core/assets-raw/sprites/blocks/environment/metal-wall-1-autotile.png new file mode 100644 index 0000000000000000000000000000000000000000..0473c9d9a2a09346e6938227494737b7295ab284 GIT binary patch literal 1892 zcmeAS@N?(olHy`uVBq!ia0y~yU}ykg4mJh`hQoG=rx_R+7>k44ofy`glX=O&z%J+M z;uumf=WVQKo~$KLs9jMf!@b)dl=hzS-Sob?Y+d4wYGzBfO~2-PMKZU$2dRE!-1|aB zNb^-~mQv*Wef9spUq5_!`lOD7zki<>%KU%(_G|CT`u~#44!rBw_CJ?Rwak6V-+W_@ zi5;8&zx`qF*%aY&H!#+V$ju zltR$Hu=ZJh-D~H5l|A|Y%lYg1`&S&Q_Ik6e@X4(OrkwWweh2<7KKbPPmyE4%^%zaJ zSlxPQWqF8g&eMj)?A;8?s$~j}ExhlRGjR(|;B*L0N)n66ZZ;V=C?zZ=z zO={%#z|FQ#*-zFwzo=s9dmy%_$ylfSL6E=0#g$JP-(9GBIFWBja>Cmij+xG(PE6-# zZ*OncPZP9M_Q*MZ@!%6Bj#8JIoD;9#owRhus`WpVR!BK?*4zHV5A{ zR5i#2N6%Z38qhyMue0Z>+`a^s1v^$6bGivPC^WYAO!Z(;WJvGbHMt?H;`IWLl|7*z z1)bL&`d2)-daX?B4yS_crHUu4Z#@1cES`7-0+AE&?nNss7pT))Re^)+_+H8l_+4t`SZ`wLBeVz;N89zqB z^8aCzx4e2H{yJG<7R!`>7bb80^kn)TE&gL2dr8 z@5;7oj3(@PBs3vz%ktv|oDcTg2~7NWDB|*QE#^+6jUDm(+#C5W$u)c~GH-gyy;#h+ zM)WBUFXy3G%v&COJhWn}>Eo;GQ)?SetF#r|idSUL6pPW)`r&ocHQX_dHNOuMs(q(b z+A5O1-L_VVF>jnTtGv~5ktBEYIj--j2OjqxG-iJJisL48#6H7}TW>fx7*+JHKk9W< zZvH)G?wGt3ba7(QxmJK+$O`iZ-W(_s?B%R{D;9_edLeja@!^5MsqH=B+XE8cXO zXWqKnw{B-t)(rI>j;hl(tl>{6<5&2|a_3+Fh6zhw3Ww$gM9VXLI>>R>df(9_SH5gi zo5K<%~x3o1`k=ZoB%MYCki^wR^}{lyy9mW z#ILfCv!|qSv%)2|<1e(%34Y|+#QtLK(n;s1#S3n}`Cx{mu5WL;E@KGunjQ}60P{^k zLYuxb%$oBrR3MR=lT+hGot>Pa!rQHD!rC)_rfx9%ZYLi<*;b1GJMTj8hOqXK1#!=p zSh<|mZ|RNfXNbBf@^b@|;EJ*p`xZSFzc9~1T4c4BxPGXTm4$NDzmNCbCpKu+?_g0e zsHmx0x9jmmp#)v~e5SbqwLW<#{h2J1+=NsZ=NL+JPGVr3(aGZ3py1+eaNqO8&aKuy zKNN2L+n!Or#d^`(`q_@1cLg*5|NqVaDt~YOU+1EA?EfTnq$zZG-iX}S{`cn1gD?J+_{CqcoAAl@ z`1{2FX*LZe_IsBd(YnyH|LQhT{)TP!t97+4Mdr?`QFZCR?`5a0qH~KQutV;@$ydg6 zUJ9QsuWx(tvHdE0hGw8x+~?>HIs2e}9Sm##e2EpXty}VkhvTNqBh?2zQ_X6XUHauU zFO?PpxIhoGtn^y|%$cGg4kbu-59- tF9zWR)PP(!zu*7QL7uOSUYbwM*GiS%oAXI_DFXuogQu&X%Q~loCIG+SUFQG* literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/environment/metal-wall-1-mid-2.png b/core/assets-raw/sprites/blocks/environment/metal-wall-1-mid-2.png new file mode 100644 index 0000000000000000000000000000000000000000..3d29baa5377aff129c314849f85469ead0aa0220 GIT binary patch literal 120 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}jKx9jP7LeL$-HD>U@-D@ zaSVxQeS6N3k->oD$bscbH$Un(ol4j#aU%444qx^3Vg?k@pz>3&hso!ip8yL;+|$+1 JWt~$(69C!VA58!N literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/environment/metal-wall-1.png b/core/assets-raw/sprites/blocks/environment/metal-wall-1.png new file mode 100644 index 0000000000000000000000000000000000000000..1134307291b80cdf066866cb7a91c1df425a9a21 GIT binary patch literal 341 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}jKx9jP7LeL$-HD>VC467 zaSVxQJvz;r?~s9ji@Ml!2QU6b4U=Xsd44JIQuHZ9r_{`+Yv%rKuoc}{@GbM(^u$?q zzb)b}dMC!F9og}fnW15xfa2d5tb#9``8y`aZ)w|6(Ei$pnIWS*W8spyr3DR6OBRT^ zFDdV0uxxRiv^$4uQr`FD58s@*Ws}hp{nhUxqxXkP^;v!)!46A3+tapmGX#bIVRm}M z(7N#M!?}`K4Khr}%t{#xShHFU82h6aY)P&usk3d%jvQE zz!A+24m%ijI8AoQC_nL`YG3(VZd0q(otH%l{5(`W+p{Dyo4pl|m3u{qMt^m6nEt~b3MGp8ppx#gK6o*t*NsjE*)ZEU|{fc^>bP0l+XkKhHr}` literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/environment/metal-wall-2-autotile.png b/core/assets-raw/sprites/blocks/environment/metal-wall-2-autotile.png new file mode 100644 index 0000000000000000000000000000000000000000..6dd740a885c8acb8e27ba54807023bd859e28066 GIT binary patch literal 1844 zcmeAS@N?(olHy`uVBq!ia0y~yU}ykg4mJh`hQoG=rx_R+7>k44ofy`glX=O&!1m75 z#WAE}&f8euysHj8a`Se$EZv@el~rdaXZ1VI>nm>6s`fFiUNGTY|Npl$KdLKE{ia&> z=Dnp{`kR_x|Nb7I|NHMkm6{L#{_U=~_5a(qUqSco*YDQcV7=#UefNSR?>=n#uiGTV zY5)8Fx&NL*KMo!KH$U5JN>GfjFvq&Ku66n%*S`ICXqYA>k(Q+$fBC4=>}{JEum6+y zx&4~_xrZFuF~&V#&%IR*cNXvaYk1s*vmn&ToAG6F)yb{;w686tG!E|DSHNI{@w6Bhl=>ciWYub@I+ncT>FXlZVkp&4>P9n$TZ(GjlS`? zuKve+dC>%>DJlo;E8??#?LwD7(_PSd&+2Pky+m7F*P<&0>lC#YeLi1*_!gHaBVT|r zIYb%Pcsf)*a8^CYbME?zmPPrDVJZ)7-X5Nm!1mlZCE&^AB8FU{h-;tI zi|YKvLhFh}KYaUjsdP)YpFrR=_qPtOqT2kKg>3@n>Sz9*$9Fi|VNwI%JM;KM-;`w? zEFC5>@UPr(ext1m`(-Bq_PF1SN)1j--==No_;5>bi_r;|it5_Jou)3gYYx@Qz32UO z`M|C7VH0B5iwnyBtWi<0=e0==F}~1HzGD8>hv6Mh8LZcegca6J^kXVlIOugwUut#3 zRL>2wKA+AxeW1l=62oj|&JC867-l=qVYv2{!MozRoQXmZht-0of8xH?mUSHsD}28) z?vg+^gWS36Hrv==dpK-dd!mLxL&+-slZ=K$mzhhT(S!5@1y!`+Et=TgH{#SoKzt`Bsqs(xna<9;bo~MbOYJt5g z6z=ZPGE!oD^kAlk!p&Cc+Ls+tg2BwkHs1Qprqa{<)}bjcxO-R08aD>s=f!;+o1V!u zt(d6beQ>t(79kDJ7v^c-@)wvJG3E4WF)sL?>E$H8Q*D9eB-1P*k9T}_AAWpU<0O&S zIho7nnBDHr-67=$Q#3X^Y+}~j^tn5we8W*4MsJT2g~;=)3tZeTXe}tSw&+Owm~ety zpjpmuT3w^-d$E|^zF$jH&$4G|hX0Nfny6N{eZgI+YnyeycrH0n(;%oc`M{x{vm_=q zJpNQvvcQtw9+C+{u&;CqW`oKjfp;(2{%v~s< zI3-(xN&B6qfa-x$=j=B~aUR;<=6b|SML?6K(&B$q{)ZVs+niz*acQZ78aHT|9+PWtEPWiKl|) z&L<2r7_Obmua&#pcx0;UQJ?c1KCc-V>74-YMr5%*M5^&l}to zbSa(nREDYRU;cXickBC(*F59-oOp5C{TSZJwUr#l-)~WNT))ggG4UOTl0uTof>W&S z4fj+g%$-x8Ai}vt(RGV|{QjEXmwzn|TREL+jb2<)_KUk>b$|aX)v8vBPjTtF_VG$_ z<;k^;lZ8EE*sJXvmVDiEy-%T!cgMn6#kK-J7pPoVy{OH0`}8~ap6~Twn0o&#qmuKg zPwB14mp{+4c=wb+?9<`CE?LE0hu3ddC7kf|`8)^bh^w3ipC&UL>u_sQX<$~GsKEJv z<-N=^g@ez-%4Te6-2ONJ-ouRYirfFi96Rqm%=}+(=`iVlc-*)D`kX%Cl2Sg5(UU1Y z;`aV1u60v+H+p%dZ?itR|JHmjj%!;!7z>-mFI!T&?&eeZZ`bEdyH_i5L^sUC#I=am zVE3P_3t-Q!odI^Rw^ zY-gPiW7OZ5x7<2D%}ZGS`Z~ibhQdiE7eb*EiAwMx@iT(lMd#`_7ZB%M-tKT){jz-lPH>(ns4^^GY&+f!kWt`Z1 zU*7J|WEM^K1N-(yaRu&+jk~^{u}H|`HLG{x)Yth!4xgTKUs>L@`b7U8nb5iX2W*dX zeOh_WKE-=YQ9{P3O?!o_P2jm^H%jKE6%VlklVbd=AE2<9!qqY-GQ7A zD|v+))dJCq_uKML`ZGx=DRE9h3VL~VYsEt~4MAQ%xz7kX6s^0yTAG1@fx*+&&t;uc GLK6VS$6_e} literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/environment/metal-wall-2-mid-2.png b/core/assets-raw/sprites/blocks/environment/metal-wall-2-mid-2.png new file mode 100644 index 0000000000000000000000000000000000000000..3d29baa5377aff129c314849f85469ead0aa0220 GIT binary patch literal 120 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}jKx9jP7LeL$-HD>U@-D@ zaSVxQeS6N3k->oD$bscbH$Un(ol4j#aU%444qx^3Vg?k@pz>3&hso!ip8yL;+|$+1 JWt~$(69C!VA58!N literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/environment/metal-wall-2.png b/core/assets-raw/sprites/blocks/environment/metal-wall-2.png new file mode 100644 index 0000000000000000000000000000000000000000..695f64d42b068852dd1005a023457d28f717b7b0 GIT binary patch literal 301 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}jKx9jP7LeL$-HD>V0iB7 z;usRq`gWQj-(dwF*ZKhcK+Wpad~a{ePISoh9v9uR?x|quSLP)X&z-Q={x-vR`o)au zY2RkVT;@wW*|}2lgriS?BGs%Uu3DF&q%LQ7pV>dXZr}0|Nttr>mdKI;Vst E0HFDF_W%F@ literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/environment/metal-wall-3-autotile.png b/core/assets-raw/sprites/blocks/environment/metal-wall-3-autotile.png new file mode 100644 index 0000000000000000000000000000000000000000..605044775fb0adf32545e14ef123dfd44c45ce07 GIT binary patch literal 1195 zcmeAS@N?(olHy`uVBq!ia0y~yU}ykg4mJh`hQoG=rx_R+7>k44ofy`glX=O&z>@0e z;uumf=j~j_peF`AuFhTF0avRv#Lg7u9jbe08MB!CTkKK88KKLZJd%!X)3L0|XXl$Z zvCewit+01-@&9XL_4t`@6zs0$oAyuM{@(h-Z@*<;YkU#$yZ+0C&KD8C>c3pz-0=Co z#eYV@8%YoU7yjgSN$}48e?Px8NrLV2&6iTueHY(ld*9CfcYV|UWR@A_hc0^vsQwTR z`ak{FeUSqb{W64ge+X;-zrJDrFOG<^MbkFQEMluq`m}%A-`(;0`}eDe+u7NM8%nTd zHr)HSuXCOCtNN9H@47pzD_qgN?EhpYg&*58e%FUHu-u;}_V4~2mSsKq>guOoFWx>q z=vBSuB1?uj;w%C(ECO@R+As(oF!K7$u=L;hS?mp;n;4p!8JafFWdBjI|D9d?n(H_3 z-S*b}x_`=(>jx*e_pZO_{YQW6{2CU8rkW~&#tgm&j!z%;m_F7uG~RI#jDB6T_Af)w z@Afdp9+u~iKNtxJ&goub!=Plrf6{lM@V#p{@7>;-XwMMB$jHLZ$kJZS*lXb`$8e6F ziQ~Y%cM2>8MM2Srk5o3OUVEMM{%x@d-z2X$-fxP`0%l4bJpZwNtM5VH5>UkW_$HQ_z3$x11{A_%i3;kbb9X z?%Tb8iz);DKDoYWza`U$llse5SYre>^`%{TXB1)zLeF^=2-stTwNvZ zIMwpNJ%RmhEf3DWe;dj2$cACc#~)wz{PLOhjB(4G$(%VY*C#SCnjBfoA>fd_r;~wE z;(;g2O?Kx6Jg?8ZNcmrvUB>Zt!-_njEZM=4llk`l)zk-DTvnJ`-~HX*cPnCdcz0yU+5d{Jr~XIRo_u-y-OdInFO?sa zIY0NOePBPyt?cFE@ZogCul;2o*ge$@z85-tcs=2i#I$eCzZkqg$)n*H!@-4i4h1Xt z7hGA_TQ%3g?x$gbkc142fXqGd1uT^eFPOl2LFVf(hLumBT(k9>zHn#pv{|R`fB4F% z#D2djeQITG!-<3Q?_b`{5%P*z;LrQ--*lK>F`G2~VmSEGN=TuhtwMy6DWk_+P=SHj mrnBJ}gImP=?K9r|XD-;S`XcbB!A%AR1_n=8KbLh*2~7Zf&n2<| literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/environment/metal-wall-3.png b/core/assets-raw/sprites/blocks/environment/metal-wall-3.png new file mode 100644 index 0000000000000000000000000000000000000000..8cec03f8b9867afc9d49d0177e74ee4ed60350b7 GIT binary patch literal 280 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}jKx9jP7LeL$-HD>V7TPz z;usRq`gWQjU$X&^tG(d#6-VxMEtIVm{uU>7uvuMlbcpU{9+Y4V*Jik68vPS?4y(S*FZuWSj7| z@y@K^ndu7{J8UOJdCgJzy&#HhNqtzTw?gBJca0(~U7X1RS+N350lCh6PPKdi9FrZN iIH%|@77}3iz&z1AYrC5C3r7Y91_n=8KbLh*2~7a;?QB*6 literal 0 HcmV?d00001 diff --git a/core/assets/icons/icons.properties b/core/assets/icons/icons.properties index f5b01fd205..a9ed6ad37a 100755 --- a/core/assets/icons/icons.properties +++ b/core/assets/icons/icons.properties @@ -618,3 +618,7 @@ 63064=character-overlay-white|block-character-overlay-white-ui 63063=rune-overlay-crux|block-rune-overlay-crux-ui 63062=rune-overlay|block-rune-overlay-ui +63061=metal-wall-1|block-metal-wall-1-ui +63060=metal-wall-2|block-metal-wall-2-ui +63059=metal-tiles-13|block-metal-tiles-13-ui +63058=metal-wall-3|block-metal-wall-3-ui diff --git a/core/src/mindustry/content/Blocks.java b/core/src/mindustry/content/Blocks.java index eadd6bd72e..368b65d835 100644 --- a/core/src/mindustry/content/Blocks.java +++ b/core/src/mindustry/content/Blocks.java @@ -63,7 +63,9 @@ public class Blocks{ //old metal floors darkPanel1, darkPanel2, darkPanel3, darkPanel4, darkPanel5, darkPanel6, darkMetal, //new metal floors - metalTiles1, metalTiles2, metalTiles3, metalTiles4, metalTiles5, metalTiles6, metalTiles7, metalTiles8, metalTiles9, metalTiles10, metalTiles11, metalTiles12, + metalTiles1, metalTiles2, metalTiles3, metalTiles4, metalTiles5, metalTiles6, metalTiles7, metalTiles8, metalTiles9, metalTiles10, metalTiles11, metalTiles12, metalTiles13, + //new metal walls + metalWall1, metalWall2, metalWall3, metalWall4, //colored coloredFloor, coloredWall, @@ -908,6 +910,26 @@ public class Blocks{ lightColor = Team.crux.color.cpy().a(0.3f); }}; + metalTiles13 = new Floor("metal-tiles-13"){{ + autotile = true; + drawEdgeOut = false; + drawEdgeIn = false; + autotileMidVariants = 6; + }}; + + metalWall1 = new StaticWall("metal-wall-1"){{ + autotile = true; + }}; + + metalWall2 = new StaticWall("metal-wall-2"){{ + autotile = true; + autotileMidVariants = 2; + }}; + + metalWall3 = new StaticWall("metal-wall-3"){{ + autotile = true; + }}; + coloredFloor = new ColoredFloor("colored-floor"){{ autotile = true; drawEdgeOut = false; diff --git a/core/src/mindustry/content/ErekirTechTree.java b/core/src/mindustry/content/ErekirTechTree.java index 162131bbab..c28ad6875f 100644 --- a/core/src/mindustry/content/ErekirTechTree.java +++ b/core/src/mindustry/content/ErekirTechTree.java @@ -388,7 +388,7 @@ public class ErekirTechTree{ node(basin, Seq.with(new SectorComplete(atlas)), () -> { node(marsh, Seq.with(new SectorComplete(basin)), () -> { node(ravine, Seq.with(new SectorComplete(marsh), new Research(Liquids.slag)), () -> { - node(caldera, Seq.with(new SectorComplete(peaks), new Research(heatRedirector)), () -> { + node(caldera, Seq.with(new SectorComplete(peaks), new SectorComplete(ravine), new Research(heatRedirector)), () -> { node(stronghold, Seq.with(new SectorComplete(caldera), new Research(coreCitadel)), () -> { node(crevice, Seq.with(new SectorComplete(stronghold)), () -> { node(siege, Seq.with(new SectorComplete(crevice)), () -> { diff --git a/core/src/mindustry/logic/LExecutor.java b/core/src/mindustry/logic/LExecutor.java index 7f88186d38..ab2bbe6fcc 100644 --- a/core/src/mindustry/logic/LExecutor.java +++ b/core/src/mindustry/logic/LExecutor.java @@ -57,11 +57,11 @@ public class LExecutor{ public IntSet linkIds = new IntSet(); public Team team = Team.derelict; public boolean privileged = false; + //maps variable name to index in vars; lazily initialized + protected @Nullable ObjectIntMap nameMap; //yes, this is a minor memory leak, but it's probably not significant enough to matter protected static IntFloatMap unitTimeouts = new IntFloatMap(); - //lookup variable by name, lazy init. - protected @Nullable ObjectIntMap nameMap; static{ Events.on(ResetEvent.class, e -> unitTimeouts.clear()); diff --git a/core/src/mindustry/world/blocks/environment/StaticWall.java b/core/src/mindustry/world/blocks/environment/StaticWall.java index fd48bf0c58..06b7be64bc 100644 --- a/core/src/mindustry/world/blocks/environment/StaticWall.java +++ b/core/src/mindustry/world/blocks/environment/StaticWall.java @@ -18,8 +18,10 @@ public class StaticWall extends Prop{ public TextureRegion[][] split; /** If true, this wall uses autotiling; variants are not supported. See https://github.com/GglLfr/tile-gen*/ public boolean autotile; + /** If >1, the middle region of the autotile has random variants. */ + public int autotileMidVariants = 1; - protected TextureRegion[] autotileRegions; + protected TextureRegion[] autotileRegions, autotileMidRegions; public StaticWall(String name){ super(name); @@ -46,7 +48,11 @@ public class StaticWall extends Prop{ } } - Draw.rect(autotileRegions[TileBitmask.values[bits]], tile.worldx(), tile.worldy()); + int bit = TileBitmask.values[bits]; + + TextureRegion region = bit == 13 && autotileMidVariants > 1 ? autotileMidRegions[variant(tile.x, tile.y, autotileMidRegions.length)] : autotileRegions[bit]; + + Draw.rect(region, tile.worldx(), tile.worldy()); }else{ int rx = tile.x / 2 * 2; int ry = tile.y / 2 * 2; @@ -66,6 +72,10 @@ public class StaticWall extends Prop{ } } + public int variant(int x, int y, int max){ + return Mathf.randomSeed(Point2.pack(x, y), 0, Math.max(0, max - 1)); + } + public boolean checkAutotileSame(Tile tile, @Nullable Tile other){ return other != null && other.block() == this; } @@ -85,6 +95,13 @@ public class StaticWall extends Prop{ if(autotile){ autotileRegions = TileBitmask.load(name); + + if(autotileMidVariants > 1){ + autotileMidRegions = new TextureRegion[autotileMidVariants]; + for(int i = 0; i < autotileMidVariants; i++){ + autotileMidRegions[i] = Core.atlas.find(i == 0 ? name + "-13" : name + "-mid-" + (i + 1)); + } + } } }