From fb2b2666613be18ea1fcf2e7438404ed534194ce Mon Sep 17 00:00:00 2001 From: Anuke Date: Sun, 6 Mar 2022 13:03:14 -0500 Subject: [PATCH] Block Drawer cleanup --- .../production/cryofluid-mixer-bottom.png | Bin 1290 -> 223 bytes .../production/cryofluid-mixer-liquid.png | Bin 144 -> 0 bytes .../blocks/production/cryofluid-mixer-top.png | Bin 304 -> 0 bytes .../blocks/production/cryofluid-mixer.png | Bin 0 -> 1365 bytes .../production/plastanium-compressor-top.png | Bin 290 -> 382 bytes core/assets/icons/icons.properties | 1 + core/src/mindustry/content/Blocks.java | 47 +++++++++----- core/src/mindustry/content/Bullets.java | 5 ++ core/src/mindustry/mod/ClassMap.java | 13 ++-- core/src/mindustry/mod/ContentParser.java | 4 ++ core/src/mindustry/type/UnitType.java | 3 +- .../mindustry/type/weapons/BuildWeapon.java | 2 + .../blocks/defense/turrets/ItemTurret.java | 7 +- .../blocks/defense/turrets/PayloadTurret.java | 4 +- .../mindustry/world/draw/DrawAnimation.java | 49 -------------- ...{DrawArcSmelter.java => DrawArcSmelt.java} | 21 +----- core/src/mindustry/world/draw/DrawCells.java | 11 +--- .../mindustry/world/draw/DrawCultivator.java | 12 +--- core/src/mindustry/world/draw/DrawFade.java | 25 ++++++++ .../draw/{DrawSmelter.java => DrawFlame.java} | 9 ++- core/src/mindustry/world/draw/DrawFrames.java | 34 ++++++++++ core/src/mindustry/world/draw/DrawGlow.java | 26 -------- core/src/mindustry/world/draw/DrawLiquid.java | 59 ----------------- .../world/draw/DrawLiquidRegion.java | 11 ++-- core/src/mindustry/world/draw/DrawMixer.java | 60 ------------------ .../src/mindustry/world/draw/DrawRotator.java | 43 ------------- .../mindustry/world/draw/DrawTurbines.java | 7 +- core/src/mindustry/world/draw/DrawWeave.java | 13 +--- tools/src/mindustry/tools/ImagePacker.java | 3 + 29 files changed, 132 insertions(+), 337 deletions(-) delete mode 100644 core/assets-raw/sprites/blocks/production/cryofluid-mixer-liquid.png delete mode 100644 core/assets-raw/sprites/blocks/production/cryofluid-mixer-top.png create mode 100644 core/assets-raw/sprites/blocks/production/cryofluid-mixer.png delete mode 100644 core/src/mindustry/world/draw/DrawAnimation.java rename core/src/mindustry/world/draw/{DrawArcSmelter.java => DrawArcSmelt.java} (75%) create mode 100644 core/src/mindustry/world/draw/DrawFade.java rename core/src/mindustry/world/draw/{DrawSmelter.java => DrawFlame.java} (89%) create mode 100644 core/src/mindustry/world/draw/DrawFrames.java delete mode 100644 core/src/mindustry/world/draw/DrawGlow.java delete mode 100644 core/src/mindustry/world/draw/DrawLiquid.java delete mode 100644 core/src/mindustry/world/draw/DrawMixer.java delete mode 100644 core/src/mindustry/world/draw/DrawRotator.java diff --git a/core/assets-raw/sprites/blocks/production/cryofluid-mixer-bottom.png b/core/assets-raw/sprites/blocks/production/cryofluid-mixer-bottom.png index 8b07e080d3d551ee7a127d9cb6458fa9c6708220..e05f72e92ce1a7155e5fd12e70285b5e366fc01d 100644 GIT binary patch literal 223 zcmeAS@N?(olHy`uVBq!ia0y~yU~m9o4mJh`hEk44ofy`glX=O&z%bL( z#WAE}&f5!)f(H~B4j4Gd*?e4|dg4TKZ&TcJyYJHW+e#X)F~}}3bzslny}%g7OegLw a<{n3;bf3HDk1;SXFnGH9xvXagfo&Za*Sd`I3eerNr{CgCrqFsFk1 zvGNCrW1GttvHQC{Q4JF^Yh#``-?U{#xy_p1y|$rOL+{!?{xLUU+45!k^H;52y*oQS zZhvL<<}JILb`_NDocHz5twV_m=Utc~%ja%kZ@Km@t0l`THGYQ8^$Zu>1ZOGm{}E)! zn9kulk-ees|M>z7CWaj|7Kk3Peg5IiQMQ|TxepDbgjGJxx2u`=tKQ(n>R;+dcijBY z^tnYQpTqij)e&dm)N)B8r^bsStKXGCVO9a#m6jF`G2~Nn{W$Wmi(ykvjzoPQDh{_Ov7Nx1?HTg8_@l zv7MTm`cg~#I7ABB4cR=7IWJZXn`pSCLt!Gjh+%_K-rWBC`){*v$gg@Pap2lFzo)-` zp45~U4*Jy6#eSrx;QLMnOU3zY?;_6$C)HbWl+Kr73R8WpAip_LHfxSW4$p`u0Jept0wh{aM+ z{i*l3lmQSOLK1YbxXK(@zUue-O8-ZVXGpOmOH+clvnpSx&G+QOY^urc1JH^i2B4= z+BL!ZUZe0rC5Kbzv;z7$!aiwQ-?~`Ln5DHatFfVz<4VZRt$UO2S!{Is{dscmr@I?x zsIFrT>Y8feXe63fpM0!HLu$1~GV6sLOLI-99j5A{nJp7sc6@&F^4Prk#JY9O@z?FI z$iDu%OQL_h*7f6$wZBx|-T(Go?a}Y^`$No}zb|Kz?O$(Tzuf-r`>(rReBHI<_k({| zzABYA1^LW4rm<_`rX4j64@>vx2TeR?zf$;0SpKw#wBuSKUDr9YUVkX6cR8UrKlqTi z=z*yA<-Ut*4n=(m%9^Luq{)`?u>8vV5D8(6NB_dNO*aInPVp?qx>^o=)219g5uM5 zktg|WK?%CcJ_##nS}w|2GVN7x^7)C*2eh2{Dqqe@S$*Zb=naVpn-^@Hbp6h0&8g4B zCNda&{&e-8@1|7cE$pjH=b7`c{ndP*`KI7X(W;o|oFy+fdpRaJt~)y>XD2L4kwC z@prydwZV)I^UDX{@?T?OU|?X#2y0(-yk2nOESG+H$%T5Ia`tLX3``sf4G5z9g1$hUX0q(l{~)fXtDnm{r-UW|60|C& diff --git a/core/assets-raw/sprites/blocks/production/cryofluid-mixer-top.png b/core/assets-raw/sprites/blocks/production/cryofluid-mixer-top.png deleted file mode 100644 index 3bb5abe3cb0cdd186e106f788411790fb6cc6241..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 304 zcmeAS@N?(olHy`uVBq!ia0y~yU~m9o4mJh`hEk44ofy`glX=O&!0^h` z#WAE}&f6Oo`3@=Yv_5?Fd%tm4fU5qn!nxqecL5! z@)_0I3y~k27jbTX!x$cRwlnCNXvMUdETK%(Sku%TCp9c|5?aD*aM|4P9)oeNuv4B5 z*Dj;NP~kiIR+>+~+!6IXaf8)w{fqfrJvU_UNE>J`vahMFU9y7ZOjm(-)A9?Ad~(09 z&3bTm&I{87ZBF*mdKI;Vst0132s AmjD0& diff --git a/core/assets-raw/sprites/blocks/production/cryofluid-mixer.png b/core/assets-raw/sprites/blocks/production/cryofluid-mixer.png new file mode 100644 index 0000000000000000000000000000000000000000..563dd8f2fd6b6dbdd22e65d4fb09555265c50a1a GIT binary patch literal 1365 zcmeAS@N?(olHy`uVBq!ia0y~yU~m9o4mJh`hEk44ofy`glX=O&z{>CG z;uumf=WO)GJP|{ITDv|bP64Y-#RVdQyOi$mJGeW9{9)iV^=kdWV#gf#nKz_k!hDOM zIRRWQLVT`*7xY~pJ@|aCCq3uA+WK9$zgGRd*PDLq+nnm}|D1Pk+t{~n!}rgH7eCM5 zUasBSaxB9x{z1Y2>U@0-#S7+@3=)h7QbiIuJ{_3JaNwy>qQ)l%1HS!do^vxaeCLdE z{8KFFKR=d1Y43q<-n6;(Ju5L^#`A5D;?YuH;tHlVvP& z_$w49xaP^${rlL}o!l9+k6$W|68xq1-m%j_?bb$*pKUjDZhd4=yj`JJbVPOX)DzLQ z;t4aD9zG}*RzG{7sMi18j}WE+#ZBkmT;$5qx%E+%^@CchGmG!d%%j`^L5J&~-m!b_jz>A``ox%r*85*9()r@8A$rIbEP1 z_hwu9yLTISSLg)n;{U+>&Ej#yQS~GL4s1%e{rl&SD@=WS^E{Fb6u3=Nlg(oX#c%@dXoFJ}r zTxd!8^0Kx^U)_##7AXZhS-R4A3da?uF7M|nx21?&_`%{k`mcYmakC3Z5#nAt0J9zJD36z1BJDATHN2R8qt4;!I7bJ zg<`zMCYEQFLOa{nEn$#qa*k+HOJ*tg$`UiXk3nSP%^a_1f1D$mRG3_QZqHbFYaPdd ziOcP(GcH}+SHtx6-IZ%GI){EnDU{0|;B9Gi{ysf_;hfj!EZx^~tmV)Sb#svXDRGIx zTX!K_C4W9=a;MGKi4$(6u=ughir6(v*U@|4tu<4#rrj`DVf*+o%gL=Q-to7J88gef zMI5~EDZ95AtGH^YzCYM`K~Nz*UG&9qp*2s6%eLHoZJr+fKwXcB$Sxl17btf#A#p^D%-o0=_O&Gr<$ zeI-%vU$>h5nu)N^^y711pMGjMEA7+%yS@28zCPc#>imsAnvT;?C&%nwWq&t+7U!(A zrq|o^*2Sz3QunyZ&UEE~_(|TW*5%~}_MZK&T9AQPIP7@Tu2EU;->GXx60eOtxi!`v=3Y2c z>6%wTwrn!bRDO+>hozZrS-Ek&(g;}0;Wb&|saoL5x!Qbc@)MN&&f0cPIM10BFJLG9 z-SaAY)ssIHoBo^+;9GMvB+*Gl)jdRh=h9zSil2yV=n8O(+okq3^!0zPHT)Wp7a~q( zznePcRPkz$h8z4Zgl`2uoi%%lVcO=GU0=VHTHI=U>ajQNY*5b)AvQsU_6q?@U-TR} eCn~!9V0T*JUn#n`GZx^prw85kHXJY5_^D(1YMeNd=bfyZUK-~a#9Z#$pv*{a2P zOy$JBWcHJJs~RL2oHz;}d_B5quIN$a6So31Q;pYcnX5XT{l;(e>(7?FT~irz^QWNq z;d$Ht%t{YQP`Fm1n!+=osM~PCBHyO=$^(Xs4K|!{&lsPxFuYZ%ub9QoB*bvUw{o`O zUgj_*G253P;=TzvaVWOv+>EX5-4`_ZmH6AUTdhvEx&6P-fAik8Eg4@|e`hgXf46$e zO1Z}Q+>`He?wxhCdBK*$9Op7@O$?lb&Sm9vou9+Potr4{w&{TTgH?UDhVm@#M)8KT z+1yRyUtU}%$Fg}A`>!n@Q$1pCoz!@yz4*0yi-6OKvnK--3~M`mR;^v5*|lU-ZAIe3 zCE*KJdZ#Yen`UQy_U^X>EFTQT_XY}1Ygqd6go;mn#;M*l$DeU17Jp{DYX5^NlJE2k Q1_lNOPgg&ebxsLQ0HgS%A^-pY delta 262 zcmeyzw1{bfO8rYu7srr_TW@C^pK*7>itI{Cr<;i}S055FG@eVxOSb2v0hhc%?{t7!*EeOS}ia0$tM zT8gVQyLj^Ne)*Es&&a^Q&{kA`@7mkWS0?p`S9|U-$$rxsKCz&_@|KN|!RD5<-E6L$ zXT^2Bgm&f56j3RO-*{Fh@kE_rl*1R%jyjgb`w#wb)7U54C*LN~4l;~w!L1ZiUU^N& z+G{U_?3|oZuP10Pl)4vmX#c~tDsy=Al@|)>1vy-~9>FX6QQ(ps^8ue41|@+59nFh< Sr!p`wFnGH9xvX 0f && flameColor.a > 0.001f){ Lines.stroke(circleStroke * build.warmup()); @@ -52,17 +45,5 @@ public class DrawArcSmelter extends DrawBlock{ Draw.blend(); Draw.reset(); } - - if(drawRegion) Draw.rect(build.block.region, build.x, build.y); - } - - @Override - public void load(Block block){ - bottom = Core.atlas.find(block.name + "-bottom"); - } - - @Override - public TextureRegion[] icons(Block block){ - return new TextureRegion[]{bottom, block.region}; } } diff --git a/core/src/mindustry/world/draw/DrawCells.java b/core/src/mindustry/world/draw/DrawCells.java index e3f182711f..9b08604c72 100644 --- a/core/src/mindustry/world/draw/DrawCells.java +++ b/core/src/mindustry/world/draw/DrawCells.java @@ -10,16 +10,13 @@ import mindustry.graphics.*; import mindustry.world.*; public class DrawCells extends DrawBlock{ - public TextureRegion bottom, middle; + public TextureRegion middle; public Color color = Color.white.cpy(), particleColorFrom = Color.black.cpy(), particleColorTo = Color.black.cpy(); public int particles = 12; public float range = 4f, recurrence = 6f, radius = 3f, lifetime = 60f; @Override public void draw(Building build){ - - Draw.rect(bottom, build.x, build.y); - Drawf.liquid(middle, build.x, build.y, build.warmup(), color); if(build.warmup() > 0.001f){ @@ -46,12 +43,6 @@ public class DrawCells extends DrawBlock{ @Override public void load(Block block){ - bottom = Core.atlas.find(block.name + "-bottom"); middle = Core.atlas.find(block.name + "-middle"); } - - @Override - public TextureRegion[] icons(Block block){ - return new TextureRegion[]{bottom, block.region}; - } } diff --git a/core/src/mindustry/world/draw/DrawCultivator.java b/core/src/mindustry/world/draw/DrawCultivator.java index b357120929..e52c2b3d27 100644 --- a/core/src/mindustry/world/draw/DrawCultivator.java +++ b/core/src/mindustry/world/draw/DrawCultivator.java @@ -8,7 +8,7 @@ import mindustry.gen.*; import mindustry.graphics.*; import mindustry.world.*; -public class DrawCultivator extends DrawBlock{ +public class DrawCultivator extends DrawPartial{ public Color plantColor = Color.valueOf("5541b1"); public Color plantColorLight = Color.valueOf("7457ce"); public Color bottomColor = Color.valueOf("474747"); @@ -18,12 +18,9 @@ public class DrawCultivator extends DrawBlock{ public float recurrence = 6f, radius = 3f; public TextureRegion middle; - public TextureRegion top; @Override public void draw(Building build){ - Draw.rect(build.block.region, build.x, build.y); - Drawf.liquid(middle, build.x, build.y, build.warmup(), plantColor); Draw.color(bottomColor, plantColorLight, build.warmup()); @@ -40,17 +37,10 @@ public class DrawCultivator extends DrawBlock{ } Draw.color(); - Draw.rect(top, build.x, build.y); } @Override public void load(Block block){ middle = Core.atlas.find(block.name + "-middle"); - top = Core.atlas.find(block.name + "-top"); - } - - @Override - public TextureRegion[] icons(Block block){ - return new TextureRegion[]{block.region, top}; } } diff --git a/core/src/mindustry/world/draw/DrawFade.java b/core/src/mindustry/world/draw/DrawFade.java new file mode 100644 index 0000000000..1b9798babf --- /dev/null +++ b/core/src/mindustry/world/draw/DrawFade.java @@ -0,0 +1,25 @@ +package mindustry.world.draw; + +import arc.*; +import arc.graphics.g2d.*; +import arc.math.*; +import mindustry.gen.*; +import mindustry.world.*; + +public class DrawFade extends DrawBlock{ + public String suffix = "-top"; + public float alpha = 0.6f, scale = 3f; + public TextureRegion region; + + @Override + public void draw(Building build){ + Draw.alpha(Mathf.absin(build.totalProgress(), scale, alpha) * build.warmup()); + Draw.rect(region, build.x, build.y); + Draw.reset(); + } + + @Override + public void load(Block block){ + region = Core.atlas.find(block.name + suffix); + } +} diff --git a/core/src/mindustry/world/draw/DrawSmelter.java b/core/src/mindustry/world/draw/DrawFlame.java similarity index 89% rename from core/src/mindustry/world/draw/DrawSmelter.java rename to core/src/mindustry/world/draw/DrawFlame.java index e71d966c9f..05c408b30a 100644 --- a/core/src/mindustry/world/draw/DrawSmelter.java +++ b/core/src/mindustry/world/draw/DrawFlame.java @@ -9,16 +9,17 @@ import mindustry.gen.*; import mindustry.graphics.*; import mindustry.world.*; -public class DrawSmelter extends DrawBlock{ +//TODO remake/remove +public class DrawFlame extends DrawPartial{ public Color flameColor = Color.valueOf("ffc999"); public TextureRegion top; public float lightRadius = 60f, lightAlpha = 0.65f, lightSinScl = 10f, lightSinMag = 5; public float flameRadius = 3f, flameRadiusIn = 1.9f, flameRadiusScl = 5f, flameRadiusMag = 2f, flameRadiusInMag = 1f; - public DrawSmelter(){ + public DrawFlame(){ } - public DrawSmelter(Color flameColor){ + public DrawFlame(Color flameColor){ this.flameColor = flameColor; } @@ -30,8 +31,6 @@ public class DrawSmelter extends DrawBlock{ @Override public void draw(Building build){ - Draw.rect(build.block.region, build.x, build.y, build.block.rotate ? build.rotdeg() : 0); - if(build.warmup() > 0f && flameColor.a > 0.001f){ float g = 0.3f; float r = 0.06f; diff --git a/core/src/mindustry/world/draw/DrawFrames.java b/core/src/mindustry/world/draw/DrawFrames.java new file mode 100644 index 0000000000..f760488beb --- /dev/null +++ b/core/src/mindustry/world/draw/DrawFrames.java @@ -0,0 +1,34 @@ +package mindustry.world.draw; + +import arc.*; +import arc.graphics.g2d.*; +import arc.math.*; +import mindustry.gen.*; +import mindustry.world.*; + +public class DrawFrames extends DrawPartial{ + /** Number of frames to draw. */ + public int frames = 3; + /** Ticks between frames. */ + public float interval = 5f; + /** If true, frames wil alternate back and forth in a sine wave. */ + public boolean sine = true; + public TextureRegion[] regions; + + @Override + public void draw(Building build){ + Draw.rect( + sine ? + regions[(int)Mathf.absin(build.totalProgress(), interval, frames - 0.001f)] : + regions[(int)((build.totalProgress() / interval) % frames)], + build.x, build.y); + } + + @Override + public void load(Block block){ + regions = new TextureRegion[frames]; + for(int i = 0; i < frames; i++){ + regions[i] = Core.atlas.find(block.name + "-frame" + i); + } + } +} diff --git a/core/src/mindustry/world/draw/DrawGlow.java b/core/src/mindustry/world/draw/DrawGlow.java deleted file mode 100644 index 1b91a4f6c7..0000000000 --- a/core/src/mindustry/world/draw/DrawGlow.java +++ /dev/null @@ -1,26 +0,0 @@ -package mindustry.world.draw; - -import arc.*; -import arc.graphics.g2d.*; -import arc.math.*; -import mindustry.gen.*; -import mindustry.world.*; - -public class DrawGlow extends DrawBlock{ - public String suffix = "-top"; - public float glowAmount = 0.9f, glowScale = 3f; - public TextureRegion top; - - @Override - public void draw(Building build){ - Draw.rect(build.block.region, build.x, build.y); - Draw.alpha(Mathf.absin(build.totalProgress(), glowScale, glowAmount) * build.warmup()); - Draw.rect(top, build.x, build.y); - Draw.reset(); - } - - @Override - public void load(Block block){ - top = Core.atlas.find(block.name + suffix); - } -} diff --git a/core/src/mindustry/world/draw/DrawLiquid.java b/core/src/mindustry/world/draw/DrawLiquid.java deleted file mode 100644 index b27dc93a26..0000000000 --- a/core/src/mindustry/world/draw/DrawLiquid.java +++ /dev/null @@ -1,59 +0,0 @@ -package mindustry.world.draw; - -import arc.*; -import arc.graphics.g2d.*; -import arc.util.*; -import mindustry.gen.*; -import mindustry.graphics.*; -import mindustry.type.*; -import mindustry.world.*; -import mindustry.world.blocks.production.*; - -public class DrawLiquid extends DrawBlock{ - public @Nullable Liquid liquidDrawn; - public TextureRegion inLiquid, liquid, top; - public boolean useOutputSprite = false; - - public DrawLiquid(){ - } - - public DrawLiquid(boolean useOutputSprite){ - this.useOutputSprite = useOutputSprite; - } - - @Override - public void draw(Building build){ - Draw.rect(build.block.region, build.x, build.y); - GenericCrafter type = (GenericCrafter)build.block; - - if((inLiquid.found() || useOutputSprite) && liquidDrawn != null){ - Drawf.liquid(useOutputSprite ? liquid : inLiquid, build.x, build.y, - build.liquids.get(liquidDrawn) / type.liquidCapacity, - liquidDrawn.color - ); - } - - if(type.outputLiquid != null && build.liquids.get(type.outputLiquid.liquid) > 0){ - Drawf.liquid(liquid, build.x, build.y, - build.liquids.get(type.outputLiquid.liquid) / type.liquidCapacity, - type.outputLiquid.liquid.color - ); - } - - if(top.found()) Draw.rect(top, build.x, build.y); - } - - @Override - public void load(Block block){ - expectCrafter(block); - - top = Core.atlas.find(block.name + "-top"); - liquid = Core.atlas.find(block.name + "-liquid"); - inLiquid = Core.atlas.find(block.name + "-input-liquid"); - } - - @Override - public TextureRegion[] icons(Block block){ - return top.found() ? new TextureRegion[]{block.region, top} : new TextureRegion[]{block.region}; - } -} diff --git a/core/src/mindustry/world/draw/DrawLiquidRegion.java b/core/src/mindustry/world/draw/DrawLiquidRegion.java index 94c7e4a1ee..9a5ea09b5a 100644 --- a/core/src/mindustry/world/draw/DrawLiquidRegion.java +++ b/core/src/mindustry/world/draw/DrawLiquidRegion.java @@ -24,17 +24,18 @@ public class DrawLiquidRegion extends DrawPartial{ @Override public void draw(Building build){ - if(!build.block.hasLiquids) return; - Liquid drawn = drawLiquid != null ? drawLiquid : build.liquids.current(); Drawf.liquid(liquid, build.x, build.y, - build.liquids.get(drawn) / build.block.liquidCapacity, - Tmp.c1.set(drawn.color).a(drawn.color.a * alpha) + build.liquids.get(drawn) / build.block.liquidCapacity * alpha, + drawn.color ); } - @Override public void load(Block block){ + if(!block.hasLiquids){ + throw new RuntimeException("Block '" + block + "' has a DrawLiquidRegion, but hasLiquids is false! Make sure it is true."); + } + liquid = Core.atlas.find(block.name + suffix); } } diff --git a/core/src/mindustry/world/draw/DrawMixer.java b/core/src/mindustry/world/draw/DrawMixer.java deleted file mode 100644 index e1d1b38c59..0000000000 --- a/core/src/mindustry/world/draw/DrawMixer.java +++ /dev/null @@ -1,60 +0,0 @@ -package mindustry.world.draw; - -import arc.*; -import arc.graphics.g2d.*; -import arc.util.*; -import mindustry.gen.*; -import mindustry.graphics.*; -import mindustry.type.*; -import mindustry.world.*; -import mindustry.world.blocks.production.*; - -public class DrawMixer extends DrawBlock{ - public @Nullable Liquid liquidDrawn; - public TextureRegion inLiquid, liquid, top, bottom; - public boolean useOutputSprite; - - public DrawMixer(){ - } - - public DrawMixer(boolean useOutputSprite){ - this.useOutputSprite = useOutputSprite; - } - - @Override - public void draw(Building build){ - GenericCrafter crafter = (GenericCrafter)build.block; - float rotation = build.block.rotate ? build.rotdeg() : 0; - Draw.rect(bottom, build.x, build.y, rotation); - - if((inLiquid.found() || useOutputSprite) && liquidDrawn != null){ - Drawf.liquid(useOutputSprite ? liquid : inLiquid, build.x, build.y, - build.liquids.get(liquidDrawn) / build.block.liquidCapacity, - liquidDrawn.color - ); - } - - if(crafter.outputLiquid != null && build.liquids.get(crafter.outputLiquid.liquid) > 0.001f){ - var liq = crafter.outputLiquid.liquid; - - Drawf.liquid(liquid, build.x, build.y, build.liquids.get(liq) / crafter.liquidCapacity, liq.color); - } - - Draw.rect(top, build.x, build.y, rotation); - } - - @Override - public void load(Block block){ - expectCrafter(block); - - inLiquid = Core.atlas.find(block.name + "-input-liquid"); - liquid = Core.atlas.find(block.name + "-liquid"); - top = Core.atlas.find(block.name + "-top"); - bottom = Core.atlas.find(block.name + "-bottom"); - } - - @Override - public TextureRegion[] icons(Block block){ - return new TextureRegion[]{bottom, top}; - } -} diff --git a/core/src/mindustry/world/draw/DrawRotator.java b/core/src/mindustry/world/draw/DrawRotator.java deleted file mode 100644 index 54aed56bd4..0000000000 --- a/core/src/mindustry/world/draw/DrawRotator.java +++ /dev/null @@ -1,43 +0,0 @@ -package mindustry.world.draw; - -import arc.*; -import arc.graphics.g2d.*; -import mindustry.gen.*; -import mindustry.graphics.*; -import mindustry.world.*; - -public class DrawRotator extends DrawBlock{ - public TextureRegion rotator, top; - public boolean drawSpinSprite = false; - public float spinSpeed = 2f; - - public DrawRotator(boolean drawSpinSprite, float spinSpeed){ - this.drawSpinSprite = drawSpinSprite; - this.spinSpeed = spinSpeed; - } - - public DrawRotator(){ - } - - @Override - public void draw(Building build){ - Draw.rect(build.block.region, build.x, build.y); - if(drawSpinSprite){ - Drawf.spinSprite(rotator, build.x, build.y, build.totalProgress() * spinSpeed); - }else{ - Draw.rect(rotator, build.x, build.y, build.totalProgress() * spinSpeed); - } - if(top.found()) Draw.rect(top, build.x, build.y); - } - - @Override - public void load(Block block){ - rotator = Core.atlas.find(block.name + "-rotator"); - top = Core.atlas.find(block.name + "-top"); - } - - @Override - public TextureRegion[] icons(Block block){ - return top.found() ? new TextureRegion[]{block.region, rotator, top} : new TextureRegion[]{block.region, rotator}; - } -} diff --git a/core/src/mindustry/world/draw/DrawTurbines.java b/core/src/mindustry/world/draw/DrawTurbines.java index 1224bc9a06..0214c044f3 100644 --- a/core/src/mindustry/world/draw/DrawTurbines.java +++ b/core/src/mindustry/world/draw/DrawTurbines.java @@ -7,16 +7,11 @@ import mindustry.entities.units.*; import mindustry.gen.*; import mindustry.world.*; -public class DrawTurbines extends DrawBlock{ +public class DrawTurbines extends DrawPartial{ public TextureRegion[] turbines = new TextureRegion[2]; public TextureRegion cap; public float turbineSpeed = 2f; - @Override - public void drawPlan(Block block, BuildPlan plan, Eachable list){ - - } - @Override public void draw(Building build){ float totalTime = build.totalProgress(); diff --git a/core/src/mindustry/world/draw/DrawWeave.java b/core/src/mindustry/world/draw/DrawWeave.java index a4a127c893..7b4ac96f27 100644 --- a/core/src/mindustry/world/draw/DrawWeave.java +++ b/core/src/mindustry/world/draw/DrawWeave.java @@ -8,12 +8,11 @@ import mindustry.gen.*; import mindustry.graphics.*; import mindustry.world.*; -public class DrawWeave extends DrawBlock{ - public TextureRegion weave, bottom; +public class DrawWeave extends DrawPartial{ + public TextureRegion weave; @Override public void draw(Building build){ - Draw.rect(bottom, build.x, build.y); Draw.rect(weave, build.x, build.y, build.totalProgress()); Draw.color(Pal.accent); @@ -26,18 +25,10 @@ public class DrawWeave extends DrawBlock{ build.block.size * Vars.tilesize / 2f); Draw.reset(); - - Draw.rect(build.block.region, build.x, build.y); } @Override public void load(Block block){ weave = Core.atlas.find(block.name + "-weave"); - bottom = Core.atlas.find(block.name + "-bottom"); - } - - @Override - public TextureRegion[] icons(Block block){ - return new TextureRegion[]{bottom, weave, block.region}; } } diff --git a/tools/src/mindustry/tools/ImagePacker.java b/tools/src/mindustry/tools/ImagePacker.java index 68a06a2f66..56139032a3 100644 --- a/tools/src/mindustry/tools/ImagePacker.java +++ b/tools/src/mindustry/tools/ImagePacker.java @@ -6,6 +6,7 @@ import arc.graphics.*; import arc.graphics.g2d.*; import arc.graphics.g2d.TextureAtlas.*; import arc.math.geom.*; +import arc.mock.*; import arc.struct.*; import arc.util.*; import arc.util.Log.*; @@ -27,9 +28,11 @@ public class ImagePacker{ //makes PNG loading slightly faster ArcNativesLoader.load(); + Core.settings = new MockSettings(); Log.logger = new NoopLogHandler(); Vars.content = new ContentLoader(); Vars.content.createBaseContent(); + Vars.content.init(); Log.logger = new DefaultLogHandler(); Fi.get("../../../assets-raw/sprites_out").walk(path -> {