From 4abc2aba8cc6e6401e007eeab91e4e3c6ee81125 Mon Sep 17 00:00:00 2001 From: Anuken Date: Fri, 18 Jul 2025 13:57:07 -0400 Subject: [PATCH] Character overlay block --- .../character-overlay/character-overlay.png | Bin 0 -> 173 bytes .../character-overlay/character-overlay0.png | Bin 0 -> 173 bytes .../character-overlay/character-overlay1.png | Bin 0 -> 225 bytes .../character-overlay/character-overlay10.png | Bin 0 -> 202 bytes .../character-overlay/character-overlay11.png | Bin 0 -> 101 bytes .../character-overlay/character-overlay12.png | Bin 0 -> 175 bytes .../character-overlay/character-overlay13.png | Bin 0 -> 227 bytes .../character-overlay/character-overlay14.png | Bin 0 -> 205 bytes .../character-overlay/character-overlay15.png | Bin 0 -> 174 bytes .../character-overlay/character-overlay16.png | Bin 0 -> 298 bytes .../character-overlay/character-overlay17.png | Bin 0 -> 201 bytes .../character-overlay/character-overlay18.png | Bin 0 -> 186 bytes .../character-overlay/character-overlay19.png | Bin 0 -> 102 bytes .../character-overlay/character-overlay2.png | Bin 0 -> 174 bytes .../character-overlay/character-overlay20.png | Bin 0 -> 165 bytes .../character-overlay/character-overlay21.png | Bin 0 -> 237 bytes .../character-overlay/character-overlay22.png | Bin 0 -> 167 bytes .../character-overlay/character-overlay23.png | Bin 0 -> 249 bytes .../character-overlay/character-overlay24.png | Bin 0 -> 243 bytes .../character-overlay/character-overlay25.png | Bin 0 -> 194 bytes .../character-overlay/character-overlay26.png | Bin 0 -> 105 bytes .../character-overlay/character-overlay27.png | Bin 0 -> 191 bytes .../character-overlay/character-overlay28.png | Bin 0 -> 267 bytes .../character-overlay/character-overlay29.png | Bin 0 -> 234 bytes .../character-overlay/character-overlay3.png | Bin 0 -> 172 bytes .../character-overlay/character-overlay30.png | Bin 0 -> 145 bytes .../character-overlay/character-overlay31.png | Bin 0 -> 178 bytes .../character-overlay/character-overlay32.png | Bin 0 -> 161 bytes .../character-overlay/character-overlay33.png | Bin 0 -> 362 bytes .../character-overlay/character-overlay34.png | Bin 0 -> 187 bytes .../character-overlay/character-overlay35.png | Bin 0 -> 208 bytes .../character-overlay/character-overlay36.png | Bin 0 -> 85 bytes .../character-overlay/character-overlay37.png | Bin 0 -> 83 bytes .../character-overlay/character-overlay38.png | Bin 0 -> 170 bytes .../character-overlay/character-overlay39.png | Bin 0 -> 72 bytes .../character-overlay/character-overlay4.png | Bin 0 -> 107 bytes .../character-overlay/character-overlay40.png | Bin 0 -> 84 bytes .../character-overlay/character-overlay41.png | Bin 0 -> 100 bytes .../character-overlay/character-overlay42.png | Bin 0 -> 84 bytes .../character-overlay/character-overlay43.png | Bin 0 -> 156 bytes .../character-overlay/character-overlay44.png | Bin 0 -> 159 bytes .../character-overlay/character-overlay45.png | Bin 0 -> 92 bytes .../character-overlay/character-overlay46.png | Bin 0 -> 93 bytes .../character-overlay/character-overlay47.png | Bin 0 -> 167 bytes .../character-overlay/character-overlay48.png | Bin 0 -> 173 bytes .../character-overlay/character-overlay49.png | Bin 0 -> 208 bytes .../character-overlay/character-overlay5.png | Bin 0 -> 106 bytes .../character-overlay/character-overlay50.png | Bin 0 -> 200 bytes .../character-overlay/character-overlay51.png | Bin 0 -> 74 bytes .../character-overlay/character-overlay52.png | Bin 0 -> 153 bytes .../character-overlay/character-overlay53.png | Bin 0 -> 179 bytes .../character-overlay/character-overlay54.png | Bin 0 -> 156 bytes .../character-overlay/character-overlay55.png | Bin 0 -> 125 bytes .../character-overlay/character-overlay56.png | Bin 0 -> 75 bytes .../character-overlay/character-overlay57.png | Bin 0 -> 311 bytes .../character-overlay/character-overlay58.png | Bin 0 -> 99 bytes .../character-overlay/character-overlay59.png | Bin 0 -> 89 bytes .../character-overlay/character-overlay6.png | Bin 0 -> 183 bytes .../character-overlay/character-overlay60.png | Bin 0 -> 118 bytes .../character-overlay/character-overlay61.png | Bin 0 -> 77 bytes .../character-overlay/character-overlay62.png | Bin 0 -> 262 bytes .../character-overlay/character-overlay63.png | Bin 0 -> 192 bytes .../character-overlay/character-overlay7.png | Bin 0 -> 105 bytes .../character-overlay/character-overlay8.png | Bin 0 -> 105 bytes .../character-overlay/character-overlay9.png | Bin 0 -> 161 bytes core/assets/icons/icons.properties | 1 + core/src/mindustry/content/Blocks.java | 5 ++ core/src/mindustry/world/Block.java | 2 +- .../world/blocks/ConstructBlock.java | 2 +- .../blocks/environment/CharacterOverlay.java | 54 ++++++++++++++++++ .../blocks/environment/ColoredFloor.java | 2 +- .../world/blocks/environment/ColoredWall.java | 2 +- .../world/blocks/environment/RemoveOre.java | 2 +- .../world/blocks/environment/RemoveWall.java | 2 +- 74 files changed, 66 insertions(+), 6 deletions(-) create mode 100644 core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay.png create mode 100644 core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay0.png create mode 100644 core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay1.png create mode 100644 core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay10.png create mode 100644 core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay11.png create mode 100644 core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay12.png create mode 100644 core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay13.png create mode 100644 core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay14.png create mode 100644 core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay15.png create mode 100644 core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay16.png create mode 100644 core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay17.png create mode 100644 core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay18.png create mode 100644 core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay19.png create mode 100644 core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay2.png create mode 100644 core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay20.png create mode 100644 core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay21.png create mode 100644 core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay22.png create mode 100644 core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay23.png create mode 100644 core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay24.png create mode 100644 core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay25.png create mode 100644 core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay26.png create mode 100644 core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay27.png create mode 100644 core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay28.png create mode 100644 core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay29.png create mode 100644 core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay3.png create mode 100644 core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay30.png create mode 100644 core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay31.png create mode 100644 core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay32.png create mode 100644 core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay33.png create mode 100644 core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay34.png create mode 100644 core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay35.png create mode 100644 core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay36.png create mode 100644 core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay37.png create mode 100644 core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay38.png create mode 100644 core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay39.png create mode 100644 core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay4.png create mode 100644 core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay40.png create mode 100644 core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay41.png create mode 100644 core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay42.png create mode 100644 core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay43.png create mode 100644 core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay44.png create mode 100644 core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay45.png create mode 100644 core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay46.png create mode 100644 core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay47.png create mode 100644 core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay48.png create mode 100644 core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay49.png create mode 100644 core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay5.png create mode 100644 core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay50.png create mode 100644 core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay51.png create mode 100644 core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay52.png create mode 100644 core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay53.png create mode 100644 core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay54.png create mode 100644 core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay55.png create mode 100644 core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay56.png create mode 100644 core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay57.png create mode 100644 core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay58.png create mode 100644 core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay59.png create mode 100644 core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay6.png create mode 100644 core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay60.png create mode 100644 core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay61.png create mode 100644 core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay62.png create mode 100644 core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay63.png create mode 100644 core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay7.png create mode 100644 core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay8.png create mode 100644 core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay9.png create mode 100644 core/src/mindustry/world/blocks/environment/CharacterOverlay.java diff --git a/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay.png b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay.png new file mode 100644 index 0000000000000000000000000000000000000000..5a9c7dbf458765f738ff0b63647282a8deed529a GIT binary patch literal 173 zcmeAS@N?(olHy`uVBq!ia0vp^G9b*s1|*Ak?@s|zC7v#hAr*7pUJm4HP~d5JXzN+> zKYP{Pgj9fud`ym?)z2WiqB{!#!g9g6kMFtY1bR5C~d&J z`U1-@PKl?9N@Z$|FQ>1)G0!jm$n%K~<_%L{q!x%QHvDjWK^2?SkGc=P+w&JR`dZJd W2-$y3%k>P zKYP{Pgj9fud`ym?)z2WiqB{!#!g9g6kMFtY1bR5C~d&J z`U1-@PKl?9N@Z$|FQ>1)G0!jm$n%K~<_%L{q!x%QHvDjWK^2?SkGc=P+w&JR`dZJd W2-$y3%k>P-h zk$O(=u?)dkG366dPl#Swb0dTKRcTzovigghS61KDc(uv?no(fjbRUsY%b4q%F9=@A zGzs{4&FG@e?b%P2Qmc(3+nSd|Pc`(A{2|4-->gjM-VfpXj`|kCRvE4L9JoywfmRtj ZWAl5rxt%eCcN);m44$rjF6*2UngG`7TPgqm literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay10.png b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay10.png new file mode 100644 index 0000000000000000000000000000000000000000..141d0fb7069b1c8a3692619c10735decdba8e610 GIT binary patch literal 202 zcmeAS@N?(olHy`uVBq!ia0vp^G9b*s1|*Ak?@s|z6FprVLn`JZ|LB)Dn9%uA$|CFG ziq;nqbLWXkF@ChKip+37ptCCKg=@qT^g z-2UDl=^ z-qlT;c=>m|JQpB-BSFJ#-#6XHKbyWzmbkR@NO|+Z_LFvhPI~hyO_p+5Bo%W-p(woB zBcwSes$Aft?{9H|%)JMtE9*>h4JGXKQ{|s>ZF}P5^*eL5!xyh}xy#qGt-ZXfVOnOa zLy5}s{g-z&zVLaM^1qz(#supxtziPPR}_AQG`n8D){wED?d;{MhGm(y4qJkoUpVu| boomp3vnWEfKA!tC(A5l{u6{1-oD!MK^B)T*fpf#``6u_$V| zOvP;e7r3bjw!=8({99}fFWy)+V6*3%3!Wq6-^h9_@PsWo6J08}&cMcAngT-Z7}!la zw?!(Lie62w>|AbZgP!>zf=72Qr+LHoi-_6SQo)j;ELigb-rH7Gq1(2P()#rz)8Y+Onsju{TdNzO3JBLFGjgVE_OC07*qoM6N<$g2E(yyZ`_I literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay17.png b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay17.png new file mode 100644 index 0000000000000000000000000000000000000000..223dd714f767d89e85aa92f53eca9210936aaa80 GIT binary patch literal 201 zcmeAS@N?(olHy`uVBq!ia0vp^G9b*s1|*Ak?@s|z6FglULn`LHz3R=?V8Fw2Va<`| zt_2nB`Z=r3J9-mdI++|T(Rg$q=l6p7Q+C8`yI?luQjp^ZAzfatYa*@$!HCQzed_cQ*m`nIN><_jwAY%|5!&Rt?ozK}0yC}L4uG&wNZD$DWg z?bk&CtK08q2cGs^?6lVXb_3f|VW~B*?e8!)+9lR%cJ(F$-NxYQ>gTe~DWM4flp0JP literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay18.png b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay18.png new file mode 100644 index 0000000000000000000000000000000000000000..7c4d0498553981282e7af0fb4e23d9fcf991a9f4 GIT binary patch literal 186 zcmeAS@N?(olHy`uVBq!ia0vp^G9b*s1|*Ak?@s|zjh-%!Ar*7pUbW?FFyLu>$QR^d z)A-$fTKJ0k*}*=oUE7=;X7OwPeK2>vs(`bL+N#H9K~X(h@2qM)y5P8&?;Ad+4Gd9v zZV8NY0wNd|PChU(TVwCD>z)Z_FE%H93*FF^+935;T4qAR`L{wGvQi};7YfB#=Sei) kyWFaHfPERS+Kl%MH_Te6$y_}#3+NaIPgg&ebxsLQ00wMEG5`Po literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay19.png b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay19.png new file mode 100644 index 0000000000000000000000000000000000000000..00d204f712df402d48e84bcfba0b1c1db13885f2 GIT binary patch literal 102 zcmeAS@N?(olHy`uVBq!ia0vp^G9b*s1|*Ak?@s|zx}GkMAr*7po;}FPz`((5_&q)< z{DWfCq(il{PdsH6s9<_y_KBH=snJ0};0L45B$rx&Q%hc&12r;uy85}Sb4q9e0181J AkpKVy literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay2.png b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay2.png new file mode 100644 index 0000000000000000000000000000000000000000..60483ff5803ef7352d1b9fb374a4016d2f43178a GIT binary patch literal 174 zcmeAS@N?(olHy`uVBq!ia0vp^G9b*s1|*Ak?@s|zrJgR1Ar*7pUbE&pV8FwC!Dr!@ zf7jnUXUj5@Xp;8OoTkQYvS0C7A!9(y_G{crD%Kbo@|V3yNmAB0$TKC8O-}2KLuS~6 zySpCSp54EjDO=?mE6-6OAA^G|%O|ck`}v8_pZ%%)hCfFpEPC90DL;tc>%z?!LH>W) Yk3ISO^1lrI+&u5vRnv2X||I5gC=S28@7{BY*0{6+)jS?&&B zU5{~=@*HRL;mJ$iFVuTgC?t&m5{GMHE3nH$h$)sg(8R)H<7p6%I$E!#@tf2u7Xg~uR z@V~%k0_>3k{PRc7RfiTC00000NkvXXu0mjf+F)FC literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay22.png b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay22.png new file mode 100644 index 0000000000000000000000000000000000000000..0bdb340968929e482e1917dec26f2ac82efec8ca GIT binary patch literal 167 zcmeAS@N?(olHy`uVBq!ia0vp^G9b*s1|*Ak?@s|zd7dtgAr*7pUUuYaP!MTJJTD-4 z@$Y(ptsN^~#H}y9=yqzJKeM>;hxbSF7yCUbKDJ0)NX27%Y`q6=kgtM^;R?)^ukRiiiXAx%*f$n~juPkYE#XKRu1fY+pRtYQwpt))e@UNk{1O&}xr!|X@PW2$4z#6;w zh=P1=T;0?{@)QuV)tx8F0j_<3D9m^VZWuTKH}e&8@7tM~00000NkvXXu0mjf{G@0? literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay24.png b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay24.png new file mode 100644 index 0000000000000000000000000000000000000000..7950a087436f4a8ceaef93483ac7828ecb1a1363 GIT binary patch literal 243 zcmVH^~IB@?ceU#F`3o!KY`2&mA52h t7FCL&|3nsRR4HJIHDlDWQOicCWdMV+M8gu-t(pJ;002ovPDHLkV1fh}Tl4?` literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay25.png b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay25.png new file mode 100644 index 0000000000000000000000000000000000000000..a3c57307a604877110723f7d9c2d568a5a6ba3e6 GIT binary patch literal 194 zcmeAS@N?(olHy`uVBq!ia0vp^G9b*s1|*Ak?@s|zot`d^Ar*7pUdrWaP~d4u^bc~` zu4}@zD>dGHgDZ!k(CsUM4-)L}9_H54wprD{`iFH!Qo81bR@)_9>Rc?F4_#9VH8{3+ zd6M$-SC!1%rW>pUFE5Oi$Wd_Wj&Eh19Gd7bdDAQ2J*&)=t|c!JSRolI%37R|`~Lmx swWruOhZi2yV|yg#=FiCeqxJ(!hi$~-i3$%LfR1ADboFyt=akR{088LRDgXcg literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay26.png b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay26.png new file mode 100644 index 0000000000000000000000000000000000000000..222f1101b69d81eff0312e7b3a9d2543aee18566 GIT binary patch literal 105 zcmeAS@N?(olHy`uVBq!ia0vp^G9b*s1|*Ak?@s|z2A(dCAr*6yfB4%TaNtRk*jjMq zkYb{uX2q35f!yx8G9doMEXCM^D_R$e@zrrN3Rs;y9OJlJ52%;H)78&qol`;+0D^lT A9{>OV literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay27.png b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay27.png new file mode 100644 index 0000000000000000000000000000000000000000..0ad359a4016c6e8e26adf7a606b3a9de99a58671 GIT binary patch literal 191 zcmeAS@N?(olHy`uVBq!ia0vp^G9b*s1|*Ak?@s|zZJsWUAr*7pUa{qBFyLu>$fqQC z@b~@G(m%FaUJL2m6167b)5L|1Hvsf9sb=JirNd^h4&5kMXBnz||a?BOl@$>VkqxUj6 q->7cXU+_aeg->KYSJ(x+9n2mDt@V!DNB#j_#Ng@b=d#Wzp$P!qXG>}T literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay28.png b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay28.png new file mode 100644 index 0000000000000000000000000000000000000000..66247afac4830bb69a3f6ab3cf06d55918f2c984 GIT binary patch literal 267 zcmV+m0rdWfP)%YreaT1$5TywM<JDszmxs=`rD>{o2rSD!ajS=0&h=OrB>dQpz#;Ic)A_`ZI(~d$! zQ%7_YB8p#=riBms%t0zxv!i>p#f%;h6ykS!6gy k3v}NCF5o=CU-ZY|0AA@aY%TFQ!~g&Q07*qoM6N<$f|P+=6aWAK literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay3.png b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay3.png new file mode 100644 index 0000000000000000000000000000000000000000..2470376813d488be6aed0c7977771d13a9b3a797 GIT binary patch literal 172 zcmeAS@N?(olHy`uVBq!ia0vp^G9b*s1|*Ak?@s|z#hxyXAr*7pUNhusFc5ILxc12J z`^FcgkIZ%I6c91|y;^pL*?JC@WL>@8VZoMtqw{LC9 ci<=P)+V%^hei`0+0dxd|r>mdKI;Vst05a-EYXATM literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay32.png b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay32.png new file mode 100644 index 0000000000000000000000000000000000000000..d4ec76b6b0f9105bb87a8387d505044903ff5a52 GIT binary patch literal 161 zcmeAS@N?(olHy`uVBq!ia0vp^G9b*s1|*Ak?@s|z8J;eVAr*7pUN+=9V8G)XIC*#L zrD${YY-5uNnrm}z3T$|AK7Z1kgOgc=?=XGQI9Pk|(&~E;9M*}ZuqwK6uM%Wgq7bhj zJM)^;gnK`wlmt)Q`Lsl*h4Y`&8ik$=2jQj$c4kKhsVNJje=w-{JhO;XEm;Aylfl!~ K&t;ucLK6UA9XPlE literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay33.png b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay33.png new file mode 100644 index 0000000000000000000000000000000000000000..52ac59e9f137e8fcad8c7c281311e4b461fbe3c0 GIT binary patch literal 362 zcmV-w0hRuVP)%d)crs>Z_U*E7 z|K#u9%qN-H8Ak}=7+RLSiT^XV?C)@*m{k}!ZWObTP1#^B6myVG>o7NpImu=aP71|% zvRQz)38I(|z-?k^CoF#nODn{FXQ7<&E@1E>n~MPV2)L!fbz*oD63xDUs4aV(RTnJ? zJdQL>aETdRE0*ueHD-isK`?dJzsA!XA3S7&Aw?UUVMHM#8{B7xA$c8!E9)MxU@5dS zva~?JLmloC3z{Ke=#<#&b2~w=0fUzaD6~Pq1B6{-@E8%U68piCreN?u406Q9Yb?o! z!0Y9y-l0k0pXaWAfpg+B#qxbJx$rO41ash1gJFc@#EmHQ31F!$tPs@q5&!@I07*qo IM6N<$f+Yu+LjV8( literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay34.png b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay34.png new file mode 100644 index 0000000000000000000000000000000000000000..dbfe5c1a0d368e12cb6d2aa3d5d31451d98f1c59 GIT binary patch literal 187 zcmeAS@N?(olHy`uVBq!ia0vp^G9b*s1|*Ak?@s|zO`a}}Ar*7pUUTGXP!MQ+7}-+N z@~(c}F2{Azev3O6sIi&x^T_|P{us?EWE?zgqR#jCJmsq2vlBx@gsWY)Ze(&z;Pg_^ zS;TVWPt*fF-59&MQSaVdWZu{M=@_H^eHL{KwiOrmALQj+cj+qALg!{N&Rz3c9UJ8) lb1=H`FsjWki%3`}y<|`K&rdt!TY;`&@O1TaS?83{1OR+8L%IL} literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay35.png b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay35.png new file mode 100644 index 0000000000000000000000000000000000000000..b9aba5ba4f19a4b9fcf7ceba3ca8949a9d932e76 GIT binary patch literal 208 zcmeAS@N?(olHy`uVBq!ia0vp^vOp}u!3HGfp5L+xNKN;2aSW-L^Y+?l-UbC8wgf-E z0}MOxMd$?oZ)P~`h+;qGEbRvVNtDnm{ Hr-UW|z2i+k literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay36.png b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay36.png new file mode 100644 index 0000000000000000000000000000000000000000..824b5ecbd57ddc5c1645c66c9e2488858c2c664a GIT binary patch literal 85 zcmeAS@N?(olHy`uVBq!ia0vp^qCm{Y!3HD`u!WxkQZk+{jv*Cul7IBe8$38zVcIKY jmGxr9!o_VtM*|ohUNmC&lRbX}sE)zY)z4*}Q$iB}U2ho9 literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay37.png b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay37.png new file mode 100644 index 0000000000000000000000000000000000000000..56c75ecbea0c09d73663dfbc56a9c7547ba7ceac GIT binary patch literal 83 zcmeAS@N?(olHy`uVBq!ia0vp^>_9BT!3HGPIxp=8Qc|8Sjv*Cul7IBG8}xYf>3GhW hVRW+b0~fCf<01W4?nOiT71x>De$$XK{C@`lk9^W1%e;8&p02!cu~fLasIOf&Gszj^(@z3 UZ8*MvBhYdNPgg&ebxsLQ0OI&U#sB~S literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay39.png b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay39.png new file mode 100644 index 0000000000000000000000000000000000000000..137b74e5c3c5286c49cc1533a896247d2e882b95 GIT binary patch literal 72 zcmeAS@N?(olHy`uVBq!ia0vp^>>$j+1|*LJgz11dQo-Qq>gTe~DWM4f?;sF2 literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay4.png b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay4.png new file mode 100644 index 0000000000000000000000000000000000000000..beb408c1e788e5a2507a508cf8b9fbeef906449c GIT binary patch literal 107 zcmeAS@N?(olHy`uVBq!ia0vp^G9b*s1|*Ak?@s|zMxHK?Ar*6yfB2^#FvxniqSg7H z6I<5fK<<;Qi^ck)EP8Zh{z=yVi1sK2%QoM4VlbC2)RL2)9|+XV;OXk;vd$@?2>|uB BAb|h? literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay40.png b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay40.png new file mode 100644 index 0000000000000000000000000000000000000000..c6f0afde33a5416cdcc2405c780de484d7d41241 GIT binary patch literal 84 zcmeAS@N?(olHy`uVBq!ia0vp^+(697!3HFMCO(@Aq@+Dv978JRB>(vTzy5B$664_& iNhU{MRD>7?b}>GE;O4Wqs*we#jKR~@&t;ucLK6U)j~Vm; literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay41.png b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay41.png new file mode 100644 index 0000000000000000000000000000000000000000..42c5f79fba7a1c23ecede1b655c0e503d67f6ae7 GIT binary patch literal 100 zcmeAS@N?(olHy`uVBq!ia0vp^+(0bD!3HF^*SoR;DQ!;|$B>FS$v^)8w`Z0*#(6=s yPfJazU&}2#rd>bh;^E2=!%dGIXZ>K`oy3r~+&McuZ_iesHU>{uKbLh*2~7auKOQLn literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay42.png b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay42.png new file mode 100644 index 0000000000000000000000000000000000000000..82a60429967798d278c7155b49b98669312a21a3 GIT binary patch literal 84 zcmeAS@N?(olHy`uVBq!ia0vp^>_9BT!3HGPIxp=8QqrC-jv*Cul7IBG8}L|q&Z!6~ iVo?3)cJsnS7KTpE)rJ21UFw0#7(8A5T-G@yGywnw{T4I; literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay43.png b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay43.png new file mode 100644 index 0000000000000000000000000000000000000000..647e892e9b1344e11d400619ec5115efd85999b5 GIT binary patch literal 156 zcmeAS@N?(olHy`uVBq!ia0vp^+(0bD!3HF^*SoR;sbo(V$B>FSZ?8CV9Z=w5IWVWD ztbR@WjjpK|%x2~EwXzk>c0DS(N?ei_H3JRxTsj^?!Pc)06XMRbd( zQAFLJ!a2X*T~WBJZT}}#&OOmAA*@k6LT_g5frRqfxjHcgf)y{4Vu02$c)I$ztaD0e F0s#5FSZ!d4;YcSwo30QV) z{kQJ5`wN`f-I}H)n`}Ip`(BKTDZ#y_eOcxcxypn6t)hIbJiD2i(;JU24mg-+GW%J| z#-*Vf{``16<6mC$OQoq{Q;yC(D*Ggom*Y`_`k4*Q+A<5CGF259a6Z`gS^{VzgQu&X J%Q~loCIG(mJ=FjJ literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay45.png b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay45.png new file mode 100644 index 0000000000000000000000000000000000000000..92d3445a059b962f159a6a7014114fad5661c868 GIT binary patch literal 92 zcmeAS@N?(olHy`uVBq!ia0vp^+(0bD!3HF^*SoR;DP>O=$B>FS$v^yURwPS=`ZOi6 qrP!>h2r-NmQEpy1Dfq<_2?nm)J=2ZK{_FuNXYh3Ob6Mw<&;$UsYZ+ny literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay46.png b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay46.png new file mode 100644 index 0000000000000000000000000000000000000000..f317416479f7b41f53cb0eb2983b8d9a55ed661d GIT binary patch literal 93 zcmeAS@N?(olHy`uVBq!ia0vp^+(0bD!3HF^*SoR;DHTr_$B>FS$v^)8ufJQb#CUi` rlF88*6(Jv2B;C@MQ|YW>%+ zzMac07UroOVbf`uRP&Sb$-)c83suw9lKqc;KC#zqOM%q79W17LhdZMS9*OlBv~aXv zIL!2&PpqP+_V_)~H4kMZ6c`RO{4FR};CXSFb%SI?_R@y0(@GBfJ{j_Wxp?3D)>}Uk R&jW2{@O1TaS?83{1OQPlK*s<8 literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay48.png b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay48.png new file mode 100644 index 0000000000000000000000000000000000000000..0beecd35ef6842badce27b7a792e77d0e80a2aa7 GIT binary patch literal 173 zcmeAS@N?(olHy`uVBq!ia0vp^{6H+k!3HE-=Cy!0C7v#hAr*7xUJB$opuoZQfbRn1 zw_Vl8@^(nG`XxHeoGJB(Ke^6+Z5YFXgt!gYKcDxNlt09}NjGFej%v_?hry1=LuTE4 z7|VEY_Wj5RF`o;~I};k?e0FX*{~_rs!{rOjXRZC6V{~~He^#5#^L6fYE;y3t@sq*e X|N8Eus&~|Y_A_|8`njxgN@xNAhu}fL literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay49.png b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay49.png new file mode 100644 index 0000000000000000000000000000000000000000..1ac7f7e4393a4713cfb134109b4d7867477896d4 GIT binary patch literal 208 zcmeAS@N?(olHy`uVBq!ia0vp^q9Dw{1|(OCFP#RYrhB?LhE&WsJH?x;!9c)yw@Ci7 zj(b6_9}B|18@jS+uKmj;TXEaG)kK-0gG1}mq|P@N)Vhy^OQ~%1oUEdjx#@_?S-Yd2 zs_%G0#6;s9+dcd@O_+D($B!nxmu_s+RYIgLn=LQ-`*`Vl%M(6U83&hmd<|SG>A6^6 z^WFS9ulkq&ikF5kXmQN+&f2y7qPLUY{_m4k9DAVGTzZnVv?oyYZ+*>Lpc5H9UHx3v IIVCg!0D4qX6#xJL literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay5.png b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay5.png new file mode 100644 index 0000000000000000000000000000000000000000..8a81bdb30612df97ee4af0e2f1a64222fc69a538 GIT binary patch literal 106 zcmeAS@N?(olHy`uVBq!ia0vp^G9b*s1|*Ak?@s|zhMq2tAr*6yfB2^#FvxniqSg7H z6I<5fKyG(knO|a)xZQMRwiZZ4Tl_Kpx1x2iSW*H*cKy9|U+$zg0W~vty85}Sb4q9e E0ML3Nng9R* literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay50.png b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay50.png new file mode 100644 index 0000000000000000000000000000000000000000..3503ef30132e4bcc34d1d0cf07e77a8c55bd49f5 GIT binary patch literal 200 zcmeAS@N?(olHy`uVBq!ia0vp^q9Dw{1|(OCFP#RY`aNA7Ln`K6onp<`pdjF)*=v4T zV((I^-tyor$8X*cP^g)H$TRMD+Z!gQn>!CMRb611*j3=s?VYsbq^jkm1kUy=XCj?f zt@13*P&1L9HSx)$Sz8iVq$_qTSvQGOW=@dox5@8RgC_ALux|H%GWpUsYlGGAm!>?8 zpFZDulCzh7znCZY*?&uQIz4+#G&(1$dHckjc@U^tmGtc&&}j^wu6{1-oD!M WtV@uu+dB&=$>8bg=d#Wzp$PySZxK%b literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay52.png b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay52.png new file mode 100644 index 0000000000000000000000000000000000000000..65e736dd7494ef1f3faa97cd96ba80656a9fece4 GIT binary patch literal 153 zcmeAS@N?(olHy`uVBq!ia0vp^d_XM2!3HD)!}=V7RD!3AV@SoEx0g5aGAQym2QEwa z@94KitWQbE>ENbVVNF^6{fk^(n5$)5Mizha^>%)06 z2N>_vn>m_KxFN@+$~E=UAJMnX<=QpvEVC4p4wiJ?Jz{8)5y)~TkS9chRn*nd_2ZNa zre)J!PqWW7jcTrC&iz!jfcY=~ttIPSrpvu}$T&ShsP`o$FR;A#cET`>fN0 e-BZi#J^eG*pUyjKA6E}_1%s!npUXO@geCwkqC;x{ literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay54.png b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay54.png new file mode 100644 index 0000000000000000000000000000000000000000..5a5d3b9e9413e1c6f400c1184701a941a6b72045 GIT binary patch literal 156 zcmeAS@N?(olHy`uVBq!ia0vp^d_XM2!3HD)!}=V7RI;awV@SoEx0g?IGAQu4928M} zxnE$TsV%F^rrGBs9WNaIAP{OM-?XgeM*FSS$p=LrG%hGxwM`>DH*np(*+F01mcFWf zQS!C*<*M?XD_5}xhkofetksk#S~q*eDTTF09{caKr^x)WPRcXB6LlGA9fPN literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay55.png b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay55.png new file mode 100644 index 0000000000000000000000000000000000000000..f537d8c6f5c11c2e6a10fced9af527d890e46eaa GIT binary patch literal 125 zcmeAS@N?(olHy`uVBq!ia0vp^(m>3~!3HD`p9((;q+C2*978JRtUYVU$DqK&binS; zjvuzQ!n-VjGdyo_h%+>mG^DH7En@a+jt$^?)1vXh;d!a$0_MMOLmb679pF-F4)tKt Y-=GosJkvA%Ezmp$Pgg&ebxsLQ0BM9Lm;e9( literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay56.png b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay56.png new file mode 100644 index 0000000000000000000000000000000000000000..be3cc1d7effce3a30b37a373f52dbae6c50dc459 GIT binary patch literal 75 zcmeAS@N?(olHy`uVBq!ia0vp^qCm{f!3HFsbFzUbAx{^_kcv6UKm3^w7-YTRFcV?8 XaMSa$@dx&1pe%!@tDnm{r-UW|7@iUF literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay57.png b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay57.png new file mode 100644 index 0000000000000000000000000000000000000000..32d3d680172a3681389d8a5fcf6b05b0ccd665e1 GIT binary patch literal 311 zcmV-70m%M|P)Pi7=~eD3>6hMt+6*@0tz;uVFM~=&`OtJ2v%SO2B5aHvM`GOMM(^SFxmlsiygj&Wn_R2ETIETu?Y4_7Gn=+KMW#gkkCR1Ed!K(6EhpmJ;mh1QZYfGXV_0<9zsfa+0mW7r8m>Qei?-sI{-Iq0a@R4~w;g{5G>dhu=t zpjlWsko>{Jk|G|~^ w^9KT*-J2GMurF@wD{*f3dn9jK!Xd%MupmduTBl;odY~=_Pgg&ebxsLQ0QaFCQ2+n{ literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay59.png b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay59.png new file mode 100644 index 0000000000000000000000000000000000000000..03277509b879264fd68a6aee04f37ebf704c70a3 GIT binary patch literal 89 zcmeAS@N?(olHy`uVBq!ia0vp^q9Dw{1|(OCFP#RY6g*uVLn`JZ|L|u%V375K!+grC niYpf;=4o6#xMHF5%>ah3>)u?K(wDsks%7wW^>bP0l+XkK?KT_p literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay6.png b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay6.png new file mode 100644 index 0000000000000000000000000000000000000000..db2fc20ced98d8f6ee0513a2d4fc7f8dc5e8bcb5 GIT binary patch literal 183 zcmeAS@N?(olHy`uVBq!ia0vp^G9b*s1|*Ak?@s|zb)GJcAr*7pUUTGXP!M1Z2)}qp zxa5CxX=BdYte_-^HV276^SSK*d=-{0XzF0Oy!DGnfX+4rL+&sg#f@T161XlIu=0y7 zQ!uqHnEw0JTa(?lncE%bv&7DP!1AAW7vE>Ag5>6%CPoJzu2lHTyllNh$d=lSAAVVm hT)#{%T?qZpB>1mj1^2nE44_LGJYD@<);T3K0RVW(L&E?7 literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay60.png b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay60.png new file mode 100644 index 0000000000000000000000000000000000000000..e0e37e22c76a9aef725431d6d1b46db8f43488eb GIT binary patch literal 118 zcmeAS@N?(olHy`uVBq!ia0vp^G9b*s1|*Ak?@s|zww^AIAr*6yfBgS%&n$F|UE)K+ zqOTLz7G80x5xXSX6J?S0@WO_IAL)Mrx!rYT*6O$B>FS$v^zl4;W-UT+!Nm a&xzq!C$F68`)#s7c?M5cKbLh*2~7ZNi4+I` literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay62.png b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay62.png new file mode 100644 index 0000000000000000000000000000000000000000..aca39f727a0a795e697bc118e7bdf385ceba0e86 GIT binary patch literal 262 zcmeAS@N?(olHy`uVBq!ia0vp^G9b*s1|*Ak?@s|zXFXjULn`JZ|L{*gV3752MXU3@ zL$(2?A%_)`%ox3&uE$xji1VsARbFTR7pv!I9@IzNH%Q0)lio}QPN>^$dt$MWVR9Na54DZ)#sY%s5Fc;`f z*w`bWcH2qPNN4d0Cr%@s$qSAgdjH>0nA`3Q<5lNvts(3R+?^+zuQ25&EE2Q`nd0-X^JEhc(nM3$EW7%+IF}bP|K7tDnm{r-UW|3O7g+ literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay7.png b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay7.png new file mode 100644 index 0000000000000000000000000000000000000000..a5ff3420b80808a621c1a491b853319ec69b930c GIT binary patch literal 105 zcmeAS@N?(olHy`uVBq!ia0vp^G9b*s1|*Ak?@s|z2A(dCAr*6yfAq^6Oz8Y5Ws&u8 zMeAa*z9^4q0}#{s{-KBSKf3G6Y%REQC^18kA?YiB&&tXyW}sdMPgg&ebxsLQ0RKQD AasU7T literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay8.png b/core/assets-raw/sprites/blocks/environment/character-overlay/character-overlay8.png new file mode 100644 index 0000000000000000000000000000000000000000..9deaa88014174c56f08ae4dbee4c6caa9315ac19 GIT binary patch literal 105 zcmeAS@N?(olHy`uVBq!ia0vp^G9b*s1|*Ak?@s|z2A(dCAr*6yfB2^#FvxniqSg73 zQ<7om8Of~$R}KYoyX(qqE$E2y2nWkG-*;k|Ii0`f$}{C%K)no}u6{1-oD!M<+9*Zz*eZloTux~|)l{h2I4wekT1_p6~3~b&% zz2VJ^!n;2oHg;Z>yCw8ADd2zXdiME8t1d9@P4s`T{Q9+|N!%S#$`7TE8bg K=d#Wzp$P!-ygLs7 literal 0 HcmV?d00001 diff --git a/core/assets/icons/icons.properties b/core/assets/icons/icons.properties index 6ec07cd35a..ae1535fa97 100755 --- a/core/assets/icons/icons.properties +++ b/core/assets/icons/icons.properties @@ -614,3 +614,4 @@ 63068=colored-wall|block-colored-wall-ui 63067=crux-floor-11|block-crux-floor-11-ui 63066=crux-floor-12|block-crux-floor-12-ui +63065=character-overlay|block-character-overlay-ui diff --git a/core/src/mindustry/content/Blocks.java b/core/src/mindustry/content/Blocks.java index 2399dedf31..91ec7fcd03 100644 --- a/core/src/mindustry/content/Blocks.java +++ b/core/src/mindustry/content/Blocks.java @@ -68,6 +68,7 @@ public class Blocks{ //colored coloredFloor, coloredWall, + characterOverlay, pebbles, tendrils, @@ -912,6 +913,10 @@ public class Blocks{ autotile = true; }}; + characterOverlay = new CharacterOverlay("character-overlay"){{ + color = Pal.metalGrayDark; + }}; + Seq.with(metalFloor, metalFloorDamaged, metalFloor2, metalFloor3, metalFloor4, metalFloor5, darkPanel1, darkPanel2, darkPanel3, darkPanel4, darkPanel5, darkPanel6) .each(b -> b.asFloor().wall = darkMetal); diff --git a/core/src/mindustry/world/Block.java b/core/src/mindustry/world/Block.java index 3692214102..dbc4a6945d 100644 --- a/core/src/mindustry/world/Block.java +++ b/core/src/mindustry/world/Block.java @@ -961,7 +961,7 @@ public class Block extends UnlockableContent implements Senseable{ } /** Called when building of this block ends. */ - public void placeEnded(Tile tile, @Nullable Unit builder, @Nullable Object config){ + public void placeEnded(Tile tile, @Nullable Unit builder, int rotation, @Nullable Object config){ } diff --git a/core/src/mindustry/world/blocks/ConstructBlock.java b/core/src/mindustry/world/blocks/ConstructBlock.java index 9a10dcbe3d..fab1ac1171 100644 --- a/core/src/mindustry/world/blocks/ConstructBlock.java +++ b/core/src/mindustry/world/blocks/ConstructBlock.java @@ -112,7 +112,7 @@ public class ConstructBlock extends Block{ if(shouldPlay()) block.placeSound.at(tile, block.placePitchChange ? calcPitch(true) : 1f); } - block.placeEnded(tile, builder, config); + block.placeEnded(tile, builder, rotation, config); Events.fire(new BlockBuildEndEvent(tile, builder, team, false, config)); } diff --git a/core/src/mindustry/world/blocks/environment/CharacterOverlay.java b/core/src/mindustry/world/blocks/environment/CharacterOverlay.java new file mode 100644 index 0000000000..c57bd0de36 --- /dev/null +++ b/core/src/mindustry/world/blocks/environment/CharacterOverlay.java @@ -0,0 +1,54 @@ +package mindustry.world.blocks.environment; + +import arc.graphics.*; +import arc.graphics.g2d.*; +import arc.util.*; +import mindustry.annotations.Annotations.*; +import mindustry.gen.*; +import mindustry.world.*; + +public class CharacterOverlay extends OverlayFloor{ + /** This is a reduced character set! It is not ASCII! */ + public static final String chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890\"!?.,;:()[]{}<>|/@\\^-%+=#_&~"; + + public @Load(value = "character-overlay#", length = 64) TextureRegion[] letterRegions; + public Color color = Color.white; + + public CharacterOverlay(String name){ + super(name); + saveData = true; + variants = 0; + rotate = true; + drawArrow = false; + } + + @Override + public void drawBase(Tile tile){ + Draw.color(color); + int letterChar = CharOverlayData.character(tile.overlayData); + Draw.rect(letterRegions[letterChar], tile.worldx(), tile.worldy(), CharOverlayData.rotation(tile.overlayData) * 90f); + Draw.color(); + } + + @Override + public void placeEnded(Tile tile, @Nullable Unit builder, int rotation, @Nullable Object config){ + byte data = 0; + if(config instanceof Integer i){ + data = i.byteValue(); + } + tile.overlayData = CharOverlayData.get(data, (byte)rotation); + } + + public static byte charToData(char c){ + int index = chars.indexOf(Character.toUpperCase(c)); + return index == -1 ? 0 : (byte)index; + } + + @Struct + class CharOverlayDataStruct{ + @StructField(6) + byte character; + @StructField(2) + byte rotation; + } +} diff --git a/core/src/mindustry/world/blocks/environment/ColoredFloor.java b/core/src/mindustry/world/blocks/environment/ColoredFloor.java index e850405e72..0b8dff8bba 100644 --- a/core/src/mindustry/world/blocks/environment/ColoredFloor.java +++ b/core/src/mindustry/world/blocks/environment/ColoredFloor.java @@ -140,7 +140,7 @@ public class ColoredFloor extends Floor{ } @Override - public void placeEnded(Tile tile, @Nullable Unit builder, @Nullable Object config){ + public void placeEnded(Tile tile, @Nullable Unit builder, int rotation, @Nullable Object config){ //config is assumed to be an integer RGBA color if(config instanceof Integer i){ tile.extraData = i; diff --git a/core/src/mindustry/world/blocks/environment/ColoredWall.java b/core/src/mindustry/world/blocks/environment/ColoredWall.java index 1d48e25ec3..268daa4306 100644 --- a/core/src/mindustry/world/blocks/environment/ColoredWall.java +++ b/core/src/mindustry/world/blocks/environment/ColoredWall.java @@ -46,7 +46,7 @@ public class ColoredWall extends StaticWall{ } @Override - public void placeEnded(Tile tile, @Nullable Unit builder, @Nullable Object config){ + public void placeEnded(Tile tile, @Nullable Unit builder, int rotation, @Nullable Object config){ //config is assumed to be an integer RGBA color if(config instanceof Integer i){ tile.extraData = i; diff --git a/core/src/mindustry/world/blocks/environment/RemoveOre.java b/core/src/mindustry/world/blocks/environment/RemoveOre.java index 88904f8aaa..d0a0229a6f 100644 --- a/core/src/mindustry/world/blocks/environment/RemoveOre.java +++ b/core/src/mindustry/world/blocks/environment/RemoveOre.java @@ -44,7 +44,7 @@ public class RemoveOre extends OverlayFloor{ } @Override - public void placeEnded(Tile tile, @Nullable Unit builder, Object config){ + public void placeEnded(Tile tile, @Nullable Unit builder, int rotation, Object config){ tile.setOverlay(Blocks.air); } diff --git a/core/src/mindustry/world/blocks/environment/RemoveWall.java b/core/src/mindustry/world/blocks/environment/RemoveWall.java index 69bd0bcb34..df3a8eec7d 100644 --- a/core/src/mindustry/world/blocks/environment/RemoveWall.java +++ b/core/src/mindustry/world/blocks/environment/RemoveWall.java @@ -43,7 +43,7 @@ public class RemoveWall extends Block{ } @Override - public void placeEnded(Tile tile, @Nullable Unit builder, Object config){ + public void placeEnded(Tile tile, @Nullable Unit builder, int rotation, Object config){ tile.setBlock(Blocks.air); if(tile.overlay().wallOre){ tile.setOverlay(Blocks.air);