From 7c22478618d7cdaa1544e09859cc3a2b1e6a5e7b Mon Sep 17 00:00:00 2001 From: Anuken Date: Sun, 30 Jan 2022 17:10:04 -0500 Subject: [PATCH] Multi-tread support for tanks --- .../assets-raw/sprites/units/conquer-cell.png | Bin 0 -> 2048 bytes .../assets-raw/sprites/units/conquer-glow.png | Bin 0 -> 18617 bytes .../sprites/units/conquer-test1.png | Bin 0 -> 7150 bytes .../sprites/units/conquer-treads.png | Bin 0 -> 704 bytes .../assets-raw/sprites/units/conquer.aseprite | Bin 10632 -> 10772 bytes core/assets-raw/sprites/units/conquer.png | Bin 3709 -> 6711 bytes core/assets/icons/icons.properties | 1 + core/assets/logicids.dat | Bin 3950 -> 3959 bytes core/src/mindustry/content/UnitTypes.java | 19 ++++++++-- .../src/mindustry/entities/comp/TankComp.java | 5 +-- .../mindustry/entities/units/UnitDecal.java | 1 + core/src/mindustry/type/UnitType.java | 32 ++++++++++------- gradle.properties | 2 +- tools/src/mindustry/tools/Generators.java | 33 ++++++++++-------- 14 files changed, 62 insertions(+), 31 deletions(-) create mode 100644 core/assets-raw/sprites/units/conquer-cell.png create mode 100644 core/assets-raw/sprites/units/conquer-glow.png create mode 100644 core/assets-raw/sprites/units/conquer-test1.png create mode 100644 core/assets-raw/sprites/units/conquer-treads.png diff --git a/core/assets-raw/sprites/units/conquer-cell.png b/core/assets-raw/sprites/units/conquer-cell.png new file mode 100644 index 0000000000000000000000000000000000000000..b42c07d4dff6dfb05278d288dc767659396d7c3b GIT binary patch literal 2048 zcmeAS@N?(olHy`uVBq!ia0y~yV0aF~9Bd2>3{Sr}DljlGFct^7J29*~C-ahlfqj>! zi(^Q|oVRzQ%WhkUIRx%rK53py*1yv;U9xoE^+%*mo3-Eodq;KS-v5&Qu z=Q9uu0-k?Aems52+Y9%q-%B6JKE2@I@9XjH*WavqTfomPa_5%u-H994-QxTH)BnA+ zL*z?=FP}dbUtgH{^11AzV`}FXcs=~{udAS}Kl2e)#$HoMAP4(f1#=&n$!s*G0TDD1U3SR_~_v%UaF&e#>*mqTA+8DVy^B z`}efsQnfQ{Z-;Ka{QvLk>#y!_ud$Bow>)>k`1zr0=kC0^xOdCl&576k{Jv&Ue*gZo zaVpa23sA!+zDJSwg37K_havCpIJ4nj4!q;Yq;b&F?}!p_H%vnpMJBymi*0Ox$U<2 z=pSpZSB1a7Q9Zx6YR|W9!*8oUUYFBI|EsV`^Zl1=%AcYZtesbwrJQM4cYdSy<9ykJ zXCz*flv{Ys;9swlX$cnO{&G8{+$?Ga|5A^468oRuSo)Fm*Krf|mTzs9%eM-=>stK$ zhHCU{!^@tFG#~ZIJUeXEvHS50%d$=fb&EB&(rHuXmb#d#FHN&MGWXHUV&AvM&qDV% zJinjy-1O8$U;f}@mYCS{8Bp*uBcRh8Gq-wyA#PFe7*F-1`^(d3dFl z8x#v<+?-IzWh~yfPFn9=IQQ4MhwE;i+P?XpuHm@U^_1`NYsp)N=WqL*n7q}!$okyZGoQ27k`rGGobD@@{Ty@LrDkR2 z+vMYx=WVVVbLRi{^SV*kXMFxQ&)-rW(>c05CwKA4Jb&Nce?C0EB$>VA?bTmb))b~W z%URjz-?;TXO@{OG!fTb`XRFUjrJLW8)v}$WC+7%lYMf{QkIqXFMADirrgg_B(9nEmUurIo;uOn{D)Nl`}i~&U~Ku^-RVOi&n|` z4%c~Qmm7Q*c=6wRzw)%Wd@keV+VRb4^>=6fn)&(EYUdWo!&6^R`1@+%mO`%L7^c6< zsdEm=%y$sp_iWFn@>z#^)_*g7(Xs!xPibN@ru~}fqH%(^2-gL8wD>|`B>!HoHS08+&PEl+~#Rq))PEq&)#17j30Bq|Mbbt zT-18P`Q@5-pCj+QNY8P$FTNI6rs^{->wEi)>0euWgJ;Y!bXuVJSVS%Sgj~iBi`J7< zjo78M{1PuYU2`~mMAIkgltji1i)Dlk?j3|4vMK>R0pp_{J?V~ekoSI!Gcm-T*rXK;O6@UPf-k?ig3pVq9IX?a2O@tdzb zJMY{}KCaJN6~1HrvG{-0r+?ls%3g5!=*`~&-~Rsn``5DL()?)lD5>O^eF9_dPtb91z|H#c)-vzq&f>(k!8=ti#1_S^zTq860z;oSMWl|5%ON23n&-p`jAr!{gJ^KlEhtT&Kn zk?QXjVCwkR*PXFFJxor~+WJ%F&hXES=M886>5H><{%WPTMdd=BPmTK4_P)J!Q#Ywx zu=A;6ua3X`br(mX=YsFWP8yB7@8$UF$njbiKD1sx<4fP3)E-^6eVcbPiKf}9**9Ek zISUTSG_!KP%2;qnrrnkEP2cuB zPGdc8;h577t&+2kdMVyWLMseD zZ%puf%Na7mGIGn2EGE&kI5EAQYeDuLl|B%);1COPnbu(NkG-T|&$+{&re%S|Jzf1= J);T3K0RT<9{7e7< literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/units/conquer-glow.png b/core/assets-raw/sprites/units/conquer-glow.png new file mode 100644 index 0000000000000000000000000000000000000000..294453e5dd8ee6bd4af626710188e1453161b1ba GIT binary patch literal 18617 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
    ^q(z9Qc}zJ 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 AR{#J2 literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/units/conquer-test1.png b/core/assets-raw/sprites/units/conquer-test1.png new file mode 100644 index 0000000000000000000000000000000000000000..544bfc7456a36f9e3c4c9cac2d28bd8241d65574 GIT binary patch literal 7150 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 literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/units/conquer.aseprite b/core/assets-raw/sprites/units/conquer.aseprite index 4387c51df790bbc202ec979f146fc71f702bcacc..f15725ad959a9d5614780a642418268db8779966 100644 GIT binary patch delta 1760 zcmeAOo)W?&qBW7Jj(3VC1H-S6d<-cJ3=Dh|drw8lGcYi)C@?V~z<&k?26hIY#LCnn z1w$FIG(wVr0VK`Bker&6gI}xB=3>UP-1Q5X85md<7#SoOgc$zAt=Z0So}psS+dCU` zV;u!p99tDD&p0&{1^jy$uV4tMF#Q$gJGX?__Iq!ya@>1z>E2h>F}tpE*ZuqTqo)3A z`2A<~M5%w}tM@ka{^Lt);{x)FGS~l-o1XWzscN!!_0{h?N>+$$d`^}0I;zv2=$xcLkW3=?hj>JOBE`F;NW`S*WTzyIA-)tvSC*X}KQ z!}Ay9=B~dYoe_Oo`zzbkWA^p6HFeMLhnsy_g2#{r-w~RqyNfm%hbe)l`qw-B*u&ojs}iVeDKqgKY*?~VO*jH3^p+;=1F-JXc_(lc_q z*K4SI=}+5PSv|jS(#A<|S(6Rd#(cePy*hXOvn89Sd;DMj?D&>RZyAdX_td+jEh^Zg z+ctTHxQi{1{={4Jo~6Wl=xbZvymom_j`!QAEB(H;e%Lf?a<1*gQ`$U?=7vUCUi&Gge!J^R*Sp^*xE4QCkG?srDsBGMi1W7nt6#mmyf){wwegV} zdu<8zX~*UFFE`GvYo3}b8*i-qe9G5DYwBn2)SBC~E_mwv+`UIn?F>6IME^Jl zlUKhEO@E;qmbO*n*}oF)HP5F;w3az|fxE{{&!mlv9Ha(1f!Hl?r- z)2j5=GmN|Lt!jNGc$m}5d!kHrvFP6RMQ+okZ;#se<;3mJ9?LeBhFJtwuUzrAnpf<7 z;F9|nZ6<$^R^vMVm_xn1G^+le`(y-8By z999Nz20x@CGmt?GRAf#*&2`v-hvoBs`8&aiwwz9dJ@U6=Z(eiCU#Vui<+^D3_wU8G z-T&%ozq^@#yf0&Yki8gx;r?UJ1=)WiY|j7IweipMwii49xQ_pP^X<$1M`!P}KQ#Mc z-RIbmPC|X2sX#eII%*O!z2$zU`)gblTyZ8N8bl z&Caw{ZO@s(tGr|F1%qAElNZ0*9(?#--|C&N4;3l`?}U}!+WAnL|KQD?5AB05_TLnE zyW-XHyd6=;#pM0<&EEH}eG#6dJa2vN{oA1z-=B1|i~nVJD)gei>5|u+e{&2qt_T0R zIfZv(+#5|PrP`2WGnc9r$1^%={%d^xWWRO(+0*~8)S2o35B_~K>QDWX$hnySGXH$S delta 1629 zcmbOd(h6qp$h;6F%&AvrZCXY)qJ zv)uKSEDQ{+3XBY*3_=Y5nPBSnGMs0qnDh41LEZpQ0cXcePD<>b_}lj?y}O?u6|HK? zc-y{i&+F&w@7Krq+&z8&m7ZQniR<2*Q*B@Ct^4w2SJi6o=xebtuU>_Ib-P}+X7`S3 z*SlZUuFH)mFI>A`{Oa$R+Z*0Jii+1?^?hgkw#2(fx9*Dzd0(7+cvp9J?cNplp5JOK z6~F$gDsb=lt-P=G)_wiDsA_(;^tITS*RNf_+FdupYa(d|)>GX?(hRIe^YpLqyJx3f zvHrXE-6O9r-+k*_cXexDyl?(j^p)N^m-_o(!dL9xA@sNQa{NN-D5$5{j=1;vKPC5t z)}MSHxqAPT&ugy6f2zFpO8=)#_Sfk(^S1u-wmTp7S9N~++JBSIZw^COR!^il>M7HN zrExGl(N3&>$74`R{@1^kMjgsT5OHRt}U z#-7Qm@ARI#ao(AF8UG`LsLqv-FxXS%G`zRqPUd_BzaUno{MxZ!6^IRqeX+Vy>tW`-`g8 zVyoPF)L-bN&W-u15w;*a1QnI l(y06T&Xa4UB^awWPm?~z&MjyDBchcRR3$KPPFJpD1pu|qtvLVy diff --git a/core/assets-raw/sprites/units/conquer.png b/core/assets-raw/sprites/units/conquer.png index 08e61695848b106760e2d2b737f2137534b39c1d..4561798974663d3a29a5d89b843e43abdc57644f 100644 GIT binary patch literal 6711 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 diff --git a/core/assets/icons/icons.properties b/core/assets/icons/icons.properties index 71b7f7ee54..c4469beb0b 100755 --- a/core/assets/icons/icons.properties +++ b/core/assets/icons/icons.properties @@ -517,3 +517,4 @@ 63186=red-stone-boulder|block-red-stone-boulder-ui 63185=red-diamond-wall|block-red-diamond-wall-ui 63184=crystal-orbs|block-crystal-orbs-ui +63183=conquer|unit-conquer-ui diff --git a/core/assets/logicids.dat b/core/assets/logicids.dat index 673775f2dca07f3a593961abdb65943492f017ef..ca952ad4a23ee204d803a7be7c12255b502e371c 100644 GIT binary patch delta 28 kcmaDS_g!wo1s+Dd%@=v17&+LJ^YaQzQ;Rlh@wqSp0HhZR1ONa4 delta 19 bcmew^_fBrZ1s+D-%@=v17&n{nIWqzPRICR8 diff --git a/core/src/mindustry/content/UnitTypes.java b/core/src/mindustry/content/UnitTypes.java index 99befc6099..fd0ea4072d 100644 --- a/core/src/mindustry/content/UnitTypes.java +++ b/core/src/mindustry/content/UnitTypes.java @@ -11,6 +11,7 @@ import mindustry.entities.*; import mindustry.entities.abilities.*; import mindustry.entities.bullet.*; import mindustry.entities.effect.*; +import mindustry.entities.units.*; import mindustry.gen.*; import mindustry.graphics.*; import mindustry.type.*; @@ -72,7 +73,7 @@ public class UnitTypes{ public static @EntityDef({Unitc.class, BuildingTetherc.class, Payloadc.class}) UnitType manifold, assemblyDrone; //tank - public static @EntityDef({Unitc.class, Tankc.class}) UnitType vanquish; + public static @EntityDef({Unitc.class, Tankc.class}) UnitType vanquish, conquer; //endregion @@ -2436,7 +2437,7 @@ public class UnitTypes{ health = 9000; armor = 20f; areaDamage = 12f; - treadRect = new Rect(22f, 16f, 28f, 130f); + treadRects = new Rect[]{new Rect(22, 16, 28, 130)}; weapons.add(new Weapon("vanquish-weapon"){{ layerOffset = 0.0001f; @@ -2499,6 +2500,20 @@ public class UnitTypes{ } }}; + conquer = new TankUnitType("conquer"){{ + hitSize = 44f; + treadPullOffset = 1; + speed = 0.48f; + health = 20000; + armor = 25f; + areaDamage = 22f; + rotateSpeed = 0.9f; + treadRects = new Rect[]{new Rect(27, 152, 56, 73), new Rect(24, 51, 29, 17), new Rect(59, 18, 39, 19)}; + decals.add(new UnitDecal("conquer-glow", 0, 0, 0, -1, Pal.turretHeat.cpy()){{ + blending = Blending.additive; + }}); + }}; + //endregion //region erekir - mech diff --git a/core/src/mindustry/entities/comp/TankComp.java b/core/src/mindustry/entities/comp/TankComp.java index 4c6c0f25da..b28b9ffca6 100644 --- a/core/src/mindustry/entities/comp/TankComp.java +++ b/core/src/mindustry/entities/comp/TankComp.java @@ -32,9 +32,10 @@ abstract class TankComp implements Posc, Flyingc, Hitboxc, Unitc, ElevationMovec //dust if(walked && !headless){ treadEffectTime += Time.delta; - if(treadEffectTime >= 6f){ + if(treadEffectTime >= 6f && type.treadRects.length > 0){ var treadRegion = type.treadRegion; - var treadRect = type.treadRect; + //first rect should always be at the back + var treadRect = type.treadRects[0]; float xOffset = (treadRegion.width/2f - (treadRect.x + treadRect.width/2f)) / 4f; float yOffset = (treadRegion.height/2f - (treadRect.y + treadRect.height/2f)) / 4f; diff --git a/core/src/mindustry/entities/units/UnitDecal.java b/core/src/mindustry/entities/units/UnitDecal.java index 62a12e3c29..bd0b3c72ae 100644 --- a/core/src/mindustry/entities/units/UnitDecal.java +++ b/core/src/mindustry/entities/units/UnitDecal.java @@ -9,6 +9,7 @@ public class UnitDecal{ public float x, y, rotation; public float layer = Layer.flyingUnit + 1f; public float xScale = 1f, yScale = 1f; + public Blending blending = Blending.normal; public Color color = Color.white; public UnitDecal(String region, float x, float y, float rotation, float layer, Color color){ diff --git a/core/src/mindustry/type/UnitType.java b/core/src/mindustry/type/UnitType.java index e3ca36dd56..38127c0ae3 100644 --- a/core/src/mindustry/type/UnitType.java +++ b/core/src/mindustry/type/UnitType.java @@ -119,7 +119,7 @@ public class UnitType extends UnlockableContent{ public boolean mechStepParticles = false; public Color mechLegColor = Pal.darkMetal; - public Rect treadRect = new Rect(); + public Rect[] treadRects = {}; public int treadFrames = 18; public int treadPullOffset = 0; @@ -176,7 +176,8 @@ public class UnitType extends UnlockableContent{ public Seq weapons = new Seq<>(); public TextureRegion baseRegion, legRegion, region, shadowRegion, cellRegion, softShadowRegion, jointRegion, footRegion, legBaseRegion, baseJointRegion, outlineRegion, treadRegion; - public TextureRegion[] wreckRegions, segmentRegions, segmentOutlineRegions, treadRegions; + public TextureRegion[] wreckRegions, segmentRegions, segmentOutlineRegions; + public TextureRegion[][] treadRegions; protected float buildTime = -1f; protected @Nullable ItemStack[] totalRequirements, cachedRequirements, firstRequirements; @@ -524,9 +525,11 @@ public class UnitType extends UnlockableContent{ footRegion = Core.atlas.find(name + "-foot"); treadRegion = Core.atlas.find(name + "-treads"); if(treadRegion.found()){ - treadRegions = new TextureRegion[treadFrames]; - for(int i = 0; i < treadFrames; i++){ - treadRegions[i] = Core.atlas.find(name + "-treads" + i); + treadRegions = new TextureRegion[treadRects.length][treadFrames]; + for(int r = 0; r < treadRects.length; r++){ + for(int i = 0; i < treadFrames; i++){ + treadRegions[r][i] = Core.atlas.find(name + "-treads" + r + "-" + i); + } } } legBaseRegion = Core.atlas.find(name + "-leg-base", name + "-leg"); @@ -767,10 +770,12 @@ public class UnitType extends UnlockableContent{ if(decals.size > 0){ float base = unit.rotation - 90; for(var d : decals){ - Draw.z(d.layer); + Draw.blend(d.blending); + Draw.z(d.layer <= 0f ? z : d.layer); Draw.scl(d.xScale, d.yScale); Draw.color(d.color); Draw.rect(d.region, unit.x + Angles.trnsx(base, d.x, d.y), unit.y + Angles.trnsy(base, d.x, d.y), base + d.rotation); + Draw.blend(); } Draw.reset(); Draw.z(z); @@ -995,13 +1000,16 @@ public class UnitType extends UnlockableContent{ if(treadRegion.found()){ int frame = (int)(unit.treadTime()) % treadFrames; - var region = treadRegions[frame]; - float xOffset = treadRegion.width/2f - (treadRect.x + treadRect.width/2f); - float yOffset = treadRegion.height/2f - (treadRect.y + treadRect.height/2f); + for(int i = 0; i < treadRects.length; i ++){ + var region = treadRegions[i][frame]; + var treadRect = treadRects[i]; + float xOffset = treadRegion.width/2f - (treadRect.x + treadRect.width/2f); + float yOffset = treadRegion.height/2f - (treadRect.y + treadRect.height/2f); - for(int i : Mathf.signs){ - Tmp.v1.set(xOffset * i, yOffset).rotate(unit.rotation - 90); - Draw.rect(region, unit.x + Tmp.v1.x / 4f, unit.y + Tmp.v1.y / 4f, treadRect.width / 4f, region.height / 4f, unit.rotation - 90); + for(int side : Mathf.signs){ + Tmp.v1.set(xOffset * side, yOffset).rotate(unit.rotation - 90); + Draw.rect(region, unit.x + Tmp.v1.x / 4f, unit.y + Tmp.v1.y / 4f, treadRect.width / 4f, region.height / 4f, unit.rotation - 90); + } } } } diff --git a/gradle.properties b/gradle.properties index 0039eeffea..5df4495ded 100644 --- a/gradle.properties +++ b/gradle.properties @@ -24,4 +24,4 @@ android.useAndroidX=true #used for slow jitpack builds; TODO see if this actually works org.gradle.internal.http.socketTimeout=100000 org.gradle.internal.http.connectionTimeout=100000 -archash=a066e32504 +archash=16d2626649 diff --git a/tools/src/mindustry/tools/Generators.java b/tools/src/mindustry/tools/Generators.java index 592c311826..77d182c8c4 100644 --- a/tools/src/mindustry/tools/Generators.java +++ b/tools/src/mindustry/tools/Generators.java @@ -521,22 +521,27 @@ public class Generators{ //generate tank animation if(sample instanceof Tankc){ Pixmap pix = get(type.treadRegion); - //slice is always 1 pixel wide - Pixmap slice = pix.crop((int)type.treadRect.x, (int)type.treadRect.y, 1, (int)type.treadRect.height); - int frames = type.treadFrames; - for(int i = 0; i < frames; i++){ - int pullOffset = type.treadPullOffset; - Pixmap frame = new Pixmap(slice.width, slice.height); - for(int y = 0; y < slice.height; y++){ - int idx = y + i; - if(idx >= slice.height){ - idx -= slice.height; - idx += pullOffset; - } - frame.setRaw(0, y, slice.getRaw(0, idx)); + for(int r = 0; r < type.treadRects.length; r++){ + Rect treadRect = type.treadRects[r]; + //slice is always 1 pixel wide + Pixmap slice = pix.crop((int)treadRect.x, (int)treadRect.y, 1, (int)treadRect.height); + int frames = type.treadFrames; + for(int i = 0; i < frames; i++){ + int pullOffset = type.treadPullOffset; + Pixmap frame = new Pixmap(slice.width, slice.height); + for(int y = 0; y < slice.height; y++){ + int idx = y + i; + if(idx >= slice.height){ + idx -= slice.height; + idx += pullOffset; + idx = Mathf.mod(idx, slice.height); + } + + frame.setRaw(0, y, slice.getRaw(0, idx)); + } + save(frame, type.name + "-treads" + r + "-" + i); } - save(frame, type.name + "-treads" + i); } }