From d87ff6531c3a0c1a91aecfe58d87e920d1a77b7c Mon Sep 17 00:00:00 2001 From: Haze Weathers Date: Fri, 8 Sep 2023 22:10:26 -0400 Subject: [PATCH] STG-2600 redraw --- graphics/enemy/boss/stg2600_head.png | Bin 635 -> 0 bytes graphics/enemy/boss/stg2600_head_broken.png | Bin 694 -> 0 bytes graphics/enemy/boss/stg2600_head_cracked.png | Bin 685 -> 0 bytes .../boss/stg2600_head_cracked.png.import | 35 -- graphics/enemy/boss/stg2600_leg.png | Bin 730 -> 0 bytes .../{stg2600_beam.png => stg_2600/beam.png} | Bin graphics/enemy/boss/stg_2600/beam.png.import | 35 ++ .../enemy/boss/stg_2600/beam_gradient.png | Bin 0 -> 4371 bytes .../boss/stg_2600/beam_gradient.png.import | 35 ++ graphics/enemy/boss/stg_2600/bold_large.xcf | Bin 0 -> 1463 bytes graphics/enemy/boss/stg_2600/bolt_large.png | Bin 0 -> 846 bytes .../bolt_large.png.import} | 6 +- graphics/enemy/boss/stg_2600/bolt_large.xcf | Bin 0 -> 3881 bytes graphics/enemy/boss/stg_2600/bolt_medium.png | Bin 0 -> 4633 bytes .../bolt_medium.png.import} | 6 +- graphics/enemy/boss/stg_2600/bolt_medium.xcf | Bin 0 -> 6359 bytes graphics/enemy/boss/stg_2600/bolt_small.xcf | Bin 0 -> 1086 bytes graphics/enemy/boss/stg_2600/foot.png | Bin 0 -> 4720 bytes .../foot.png.import} | 6 +- graphics/enemy/boss/stg_2600/foot.xcf | Bin 0 -> 9948 bytes graphics/enemy/boss/stg_2600/head_broken.png | Bin 0 -> 2173 bytes .../head_broken.png.import} | 6 +- graphics/enemy/boss/stg_2600/head_cracked.png | Bin 0 -> 2166 bytes .../boss/stg_2600/head_cracked.png.import | 35 ++ graphics/enemy/boss/stg_2600/head_intact.png | Bin 0 -> 1804 bytes .../boss/stg_2600/head_intact.png.import | 35 ++ graphics/enemy/boss/stg_2600/leg.png | Bin 0 -> 7281 bytes graphics/enemy/boss/stg_2600/leg.png.import | 35 ++ graphics/enemy/boss/stg_2600/mech_body.xcf | Bin 0 -> 23081 bytes objects/enemy/2600_bullet.tscn | 1 - objects/enemy/boss/2600.gd | 24 +- objects/enemy/boss/2600.tscn | 477 ++++++++++++------ scripts/sprite_ext.gd | 41 ++ shaders/beam_cycle.gdshader | 10 + 34 files changed, 584 insertions(+), 203 deletions(-) delete mode 100644 graphics/enemy/boss/stg2600_head.png delete mode 100644 graphics/enemy/boss/stg2600_head_broken.png delete mode 100644 graphics/enemy/boss/stg2600_head_cracked.png delete mode 100644 graphics/enemy/boss/stg2600_head_cracked.png.import delete mode 100644 graphics/enemy/boss/stg2600_leg.png rename graphics/enemy/boss/{stg2600_beam.png => stg_2600/beam.png} (100%) create mode 100644 graphics/enemy/boss/stg_2600/beam.png.import create mode 100644 graphics/enemy/boss/stg_2600/beam_gradient.png create mode 100644 graphics/enemy/boss/stg_2600/beam_gradient.png.import create mode 100644 graphics/enemy/boss/stg_2600/bold_large.xcf create mode 100644 graphics/enemy/boss/stg_2600/bolt_large.png rename graphics/enemy/boss/{stg2600_beam.png.import => stg_2600/bolt_large.png.import} (69%) create mode 100644 graphics/enemy/boss/stg_2600/bolt_large.xcf create mode 100644 graphics/enemy/boss/stg_2600/bolt_medium.png rename graphics/enemy/boss/{stg2600_head.png.import => stg_2600/bolt_medium.png.import} (68%) create mode 100644 graphics/enemy/boss/stg_2600/bolt_medium.xcf create mode 100644 graphics/enemy/boss/stg_2600/bolt_small.xcf create mode 100644 graphics/enemy/boss/stg_2600/foot.png rename graphics/enemy/boss/{stg2600_leg.png.import => stg_2600/foot.png.import} (69%) create mode 100644 graphics/enemy/boss/stg_2600/foot.xcf create mode 100644 graphics/enemy/boss/stg_2600/head_broken.png rename graphics/enemy/boss/{stg2600_head_broken.png.import => stg_2600/head_broken.png.import} (67%) create mode 100644 graphics/enemy/boss/stg_2600/head_cracked.png create mode 100644 graphics/enemy/boss/stg_2600/head_cracked.png.import create mode 100644 graphics/enemy/boss/stg_2600/head_intact.png create mode 100644 graphics/enemy/boss/stg_2600/head_intact.png.import create mode 100644 graphics/enemy/boss/stg_2600/leg.png create mode 100644 graphics/enemy/boss/stg_2600/leg.png.import create mode 100644 graphics/enemy/boss/stg_2600/mech_body.xcf create mode 100644 scripts/sprite_ext.gd create mode 100644 shaders/beam_cycle.gdshader diff --git a/graphics/enemy/boss/stg2600_head.png b/graphics/enemy/boss/stg2600_head.png deleted file mode 100644 index c206bd35c9b6172b57d1504fffd28b73d727b8b7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 635 zcmV->0)+jEP)Px#1ZP1_K>z@;j|==^1poj57*I@9MF0Q*p3wg|HbK3<+nSrS|NsAfev$wH04xs{ zQ~&?~2y{|TQ~&?}|NsC00N#VWSpWb432;bRa{vGi!T27NoK$*t`@o>-cxc;z0$eDtdewE|=_dy=d1=Izr-34I~!dDxnc8 zQp{^5G8=`6m8ghgxs!xR%avB7q=aTNr5PzIWKzWt+r2VH#pWzgI*_tr%}iIcnN{gQ zDim!dQ<{-x1+BEFLcx^HSJ2G8N+0rvl}@BekvG{5iZt_iN-y%SG^a)BM(Py)YVL2v zv(W2YQe0Ih5-NSEYeYij@L$OJ@9fs7a)R(B17gb9n)^`U+N?m43A07Xc3`-6I8;Ox zF519_{qC}5eWfZkR3ufxp@oO!csGOI!cY#bedpKrz3vnr))HLeMw7x&4nD_3QHBS~ zJ>!~&YllNQL8-oqyCQ}nbD2y*|9ZoyC)VzlllNkC9g4^M)!_Hoz8Ae)JGy!?K3671 z|G#{aV%N*ND>(T#D1wMG_ajDIfdYoxhDVNnRk&?@3{fR~k4;Fb%wr7EvoFD%VZ?{! z$fU}$pg6{5v1f;br#>iPJbD?az#tNp1+z6y!6g`tpd`Wb10t0uAldT3u%zbs`~|-Z VPts2=1yle4002ovPDHLkV1gESAPoQj diff --git a/graphics/enemy/boss/stg2600_head_broken.png b/graphics/enemy/boss/stg2600_head_broken.png deleted file mode 100644 index e3d98ab01d5d979eadae5879c9b8fe16c60adcd5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 694 zcmV;n0!jUeP)Px#1ZP1_K>z@;j|==^1poj57*I@9MF0Q*p3wg|HbK3<+nSrS5fKr7ev$wH02@B0 zGynhq2y{|TQ~&?}|NsC00N#VWSpWb432;bRa{vGi!TjTc*sl8wv=xl$544f4$K6yyMhU zWX02z%Gd8rhNL}ZjY#R3r-<>kMS^Y`q#BIN{PU+EyF^!0g^QLHygph&{B zDcT#8^Px#1ZP1_K>z@;j|==^1poj58&FJCMF0Q*p3wg|HbK3<+nSrS|Ns9H5fOfVk^lez zOTXYL00009bW%=J|NsC0|NsC008>wR5&!@I32;bRa{vGi!Tsokpo|HaKsE(kuBfY_OKde+(CgB%0ux?#O0^ur91D+><&s1v5o z6JFEKb8c}NKw#d2moOEH&n)Wr0+#9xr3L8|c{xW*gTpM$dLS$3V9~MiDTHw804e$2 z5(}{;Ro+{YW@n+qQaA`qcR?Jq($XraSzVAd4&fpG0KI8Y0l z7T7p;mo3|oYO&xTx5QJ6U)lNYf_`GCgL^+r+jXy<($|)PEp9YZ40Z4v6N_qiqU@R0 z6t10yI?>|3i@OkqN}kme7SyjFM4eb$Zd2A`V;z&HM0$ zWU>3@w_7mzKVT7wSe|{vXeqEj!)?Qn^WQAoHXf6xCH{^*KyG$t#KCIg2@pr8Q4Dn$wUJv+5=%qWnI4k81GW! TDc97O00000NkvXXu0mjfhm$J8 diff --git a/graphics/enemy/boss/stg2600_head_cracked.png.import b/graphics/enemy/boss/stg2600_head_cracked.png.import deleted file mode 100644 index 3c0a32d..0000000 --- a/graphics/enemy/boss/stg2600_head_cracked.png.import +++ /dev/null @@ -1,35 +0,0 @@ -[remap] - -importer="texture" -type="StreamTexture" -path="res://.import/stg2600_head_cracked.png-ce070313d82d80420ae671eda2d5fa7b.stex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://graphics/enemy/boss/stg2600_head_cracked.png" -dest_files=[ "res://.import/stg2600_head_cracked.png-ce070313d82d80420ae671eda2d5fa7b.stex" ] - -[params] - -compress/mode=0 -compress/lossy_quality=0.7 -compress/hdr_mode=0 -compress/bptc_ldr=0 -compress/normal_map=0 -flags/repeat=0 -flags/filter=false -flags/mipmaps=false -flags/anisotropic=false -flags/srgb=2 -process/fix_alpha_border=true -process/premult_alpha=false -process/HDR_as_SRGB=false -process/invert_color=false -process/normal_map_invert_y=false -stream=false -size_limit=0 -detect_3d=true -svg/scale=1.0 diff --git a/graphics/enemy/boss/stg2600_leg.png b/graphics/enemy/boss/stg2600_leg.png deleted file mode 100644 index dfb190c45f52ee1c85ebb034b82f3f9369c02e8f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 730 zcmV<00ww*4P)Px#1ZP1_K>z@;j|==^1poj55>QN3MF0Q*I5t6=o3y>Y+kSqM0001(*{dc1000Jb zQchF<|NsC00JFcOzW@LL32;bRa{vGi!TbbeYuMp~zTL)$gQAa)#OjxRrxdWefi8<=q z({hDO9r*Nsk2|&w9A+GttSHAn?RdwzjQE`64fohQ(a~~aE|K2T+sKa4bhdCao7-5aE`vDC`dgv zFS;;fj*Jz@!J1>R@N*7KD`y7fc+36+)5?{>I7S(i1Jg>CK{$pPj04k3oe_78GYAK! zl_n$Xm}JBqm{!`1sAHB9c3@iRGJ=k2M%006rO${t<{3c;rWKPBa@=IZ9GEUFIhqW6 zCanX{`~VmL)t|Bp7O;>_7&@Gd^oWszP>dYzK6-@j@U}@~TnDFc9i+l@unNaPE3AW8 z7{`L*>*)A88q8YxH;(i7!U65jUkn%qafkliD0mLM6~;JLz_7CKziLNqwqa!Z_W%F@ M07*qoM6N<$f;Epk`~Uy| diff --git a/graphics/enemy/boss/stg2600_beam.png b/graphics/enemy/boss/stg_2600/beam.png similarity index 100% rename from graphics/enemy/boss/stg2600_beam.png rename to graphics/enemy/boss/stg_2600/beam.png diff --git a/graphics/enemy/boss/stg_2600/beam.png.import b/graphics/enemy/boss/stg_2600/beam.png.import new file mode 100644 index 0000000..9ae197a --- /dev/null +++ b/graphics/enemy/boss/stg_2600/beam.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/beam.png-a6465ac769ebb2c528af0b787f682930.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://graphics/enemy/boss/stg_2600/beam.png" +dest_files=[ "res://.import/beam.png-a6465ac769ebb2c528af0b787f682930.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=1 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/graphics/enemy/boss/stg_2600/beam_gradient.png b/graphics/enemy/boss/stg_2600/beam_gradient.png new file mode 100644 index 0000000000000000000000000000000000000000..4be40f80a29951c18d3e49fc8fd37c727d10a30d GIT binary patch literal 4371 zcmeHKYj6|S6_(o&1(}D(wEi5$q!)!LUt_!fw0dNhFfFmSVFVJTt%*_tcZ%{_3W|Ch)iwE34q` zL<9br|R5&v~Zr@R4^;oV?KS z^1!DJH;%UH_9Xl8`Ok;9{pCN{)9(iwuGVyJ$B@T0y2PrYkM11FTva~wFXp|b6Bz^c zu7kf%dL3R-`hHh?e3Pr2V+xV^McXeW6lSkVX^l2#?8-QF?eMAP_CH=pEAi~k@Ych3 z?OC(h5*PGejomzcQQ3X_@WtOs27TB9dUAtP&AKz2s_%gkY z=uBw*4c%?A%Ql_sHE!Md=e_zPDQ}wz!x6WUCC%dwxnQH#( zVD#cE@rgO1O<#P~!2N@+aldeWb*xptdgX%5id$RCRhkf{kmTMcwH~rSd#8Y`9*5{(fr!M z2OY!xkvGbT*t;dNPQ^m}J=U;j-1@wpc-WyL-GdwcWsyN(~`4mN!m+qgG1 zuJ%g%+3?2FyF1@ovgMPmeb&p(57oQ#JNhIlt{92 zqCtZ6(mdp(-Aup;-#*g@Lkwkv9U7~`8Z^-!rZ^U&OJi%w$e5QjP;gGREGvow0zb_Y zP}J`WaCp=Ri@Z2^7tAOOi4fjvge$Bz$i#+dNG(^(6-YspsZzn&GAJuVxp2F=aFhak z8DS642XPdQL?ZGCCTBx#RB136P=yLrsStobxat5;M3DfuRG=8)Fw-0vVuC!w1|Wfx zaI#_E2*aQq8jH^#v|7jM1Kg+zKo2xZ1W~12f%^UEWDkxnr~)LT0e!0nR|e)XYNt6i z93tt0DmuU~olHTIL$S0;lktpq>{Q$~=UX@e2EV5W_;~s(pZpI%Jy@1$LkUZm> z5Nk?oLW`KruA!#Xs(r8GE zRFg`PiX!nsHsmM3a58?vO{2kpTWk;n$Mb9!Bdn4uCM-4|!MlKi5njy%!qJI_GR9Ar z@`RwKQfpAFR7$l@jVYAiKLIMILma3?fm5lFV`{NQ7#18P1B4}nIt2ux9pr+WLNvj% zp)!{B8DSwLNbnqQwu0$I5j;0k@2N{K7fIHpFxT`>vIQjDwmf1!oR z17(d2c`?I*{;NgP$c!qbD@VRYK7EWhl^{r*6gWYSq`(nXG$qCfxJH^t4-s(FVD%U+ z*D*WuEv2B<>a>`WA`u;_7fONFfTAEt#HCj_X{A<8YH7_>c8+!N5h6tAxq*&AD^Q-I zR#1jGP(PlEj(BKc6o6oe!hn2JFmyCwR9G{{GR{K3p-Gkqn6$_MzY!Z)yuezBjxUCz znhDF!cla9}i|?=pKt0pRwDg^kYeueVDKIVYOm)r3H7y0E1)iy{|C?O0iQ^O<0K1?F zI4qr~-dYO|T2DGlip=7XOLE_IW(Rni9V}kYNhI^ygey)zt8^JKN_mU5KsqpccH9%N z)Rcc3m{RzH3f{!}gEh3-bJ%#lfTQlzTEMHs39KGpH zcr5_8defvQGLP;4=Vs4ye`r_t-A&CI{CH(f60&}H`0Iby6?Qhfl2n<#qG$WV&G7l| TW$9Z%?-EPF8uN+#EkFA&hEOe< literal 0 HcmV?d00001 diff --git a/graphics/enemy/boss/stg_2600/beam_gradient.png.import b/graphics/enemy/boss/stg_2600/beam_gradient.png.import new file mode 100644 index 0000000..6137a04 --- /dev/null +++ b/graphics/enemy/boss/stg_2600/beam_gradient.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/beam_gradient.png-1b75c5d23d16832372548a1c5c3edb0d.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://graphics/enemy/boss/stg_2600/beam_gradient.png" +dest_files=[ "res://.import/beam_gradient.png-1b75c5d23d16832372548a1c5c3edb0d.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=1 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/graphics/enemy/boss/stg_2600/bold_large.xcf b/graphics/enemy/boss/stg_2600/bold_large.xcf new file mode 100644 index 0000000000000000000000000000000000000000..8e19af63912109d434f8e5576fb6ba0988833a57 GIT binary patch literal 1463 zcmZvb%We}%6oyZ??Z&r`(;?192B~2NDOp5{H>KXq)UZHEAn^*uag0$CBimfE2|PoP zSad%EEPHFugZLF@H*2T(s^dl-iLy?e|F6sG`l{W-(fPaZQ~xylaNO+*EnJ7y--v*4 z9J>2N^`C$Ldu#)}O_T|j*eU2X`hUV7Qu?SrK0hB^%Y~=Gt15#J&qV zZrcMQ*Y$!93%XIz&4Ts|x`npS%iBGKt!wK)S!y4%e|h zulw~ka}2rP^YKG5Q7tx6AggFTZ^j$q&V76{^P6!UAKeI|0LQKH5^x-7P81-BDBktc2XDsGEh zmw^685GL|tH(JTnRYMwaDKg?-*|RqyN6J@w;^7>DQPmQoU{s4mGl6m8<6*>aCNM4n zJdF751ja=h594Atfl)2?urMYts!p;}FeWe(UeZz?xsn8`QpovuzRvD53dRIRwU34| zdx%jxiKAeohf!^jVWhtigi(Itsx@O$QW+y>Z>V34C>V7uH5x{}TsBh}mp&dw{ALQ{ zGQh)#-%ep%w(&47cT*Vkat{k*3Zw3%D-B}`BjKej?U5^Kpeu!(kLT;`KBHkwVbuF* z7_)~My^}f`MtT_a78yqR8$lTDr>G?Eom69?b#a|#%taq&fx=Xm_S-)Lju#3 z`=%~!QqDK literal 0 HcmV?d00001 diff --git a/graphics/enemy/boss/stg_2600/bolt_large.png b/graphics/enemy/boss/stg_2600/bolt_large.png new file mode 100644 index 0000000000000000000000000000000000000000..302db84a39d6adb7f212073aaa37affaf94af8e1 GIT binary patch literal 846 zcmV-U1F`&xP)EX>4Tx04R}tkv&MmKpe$i(~2KdMC_pAkfA!Yi;6hbDionYs1;guFuC*#nlvOS zE{=k0!NHHks)LKOt`4q(Aou~|>f)s6A|?JWDYS_7;J6>}?mh0_0YbgZG%FATG~G5+ ziMW`_u8Q5S=tTg77(qm4mN6$uNpu`v_we!cF3PhypZjz4t2v7SK9M-a4AUmwAfDN@ z4bJ<-Ay$-C;&bANNf#u3C`-Nh*&JNvC_t@XllgM#9>v_DPPEV zta9Gstd*;*c~AbrU`}6I<~q$WB(R7jND!f*iW17O5v5fp#X^eq;~o5?u3sXTLaq`R zITlcX2HEw4|H1EWt^CxamlTWxT`!LFF%ER^0*#vEd>=bb;{@U#SDLpQP7X zTKEVU*aj}HTbi;5TgF?we|o2010qNS#tmY z4#EHc4#EKyC`y0;000McNliru=LrNBDleJ#S`PpK02y>eSad^gZEa<4bO1wgWnpw> zWFU8GbZ8()Nlj2!fese{00AaRL_t(o!|hkQ4Z<)Kbe^(A3?7$QeVyBxm2)3()MMmL-71}FmJ6vQ_E=n9du#%LtKLUGU7X_r#CZ7}=OC1NsSDA2 z0R~V?CGT#9T8Cx9TsaoXsVai&fEe&)K@bYa5!XWDs4Q@6p?n`uaPVNC-wJ7Vgy z({`AoPWZxRK0?%mHDJ#JAu<9>UD8Y_Ezj6AM4kyHPEd*#`CovI){@wh9au~L^`K%Wl;Z{|p`)R&M4JvIBoI{8$?$ozyT*<EKoEFrgCne2*K3t}xIwfDaL?F|uZ*;mfjmvdV-caT4j z)-JFc+lTx6{eu&HWz)TX)ZaSk?*yL>PxgWjKK$roiOk!r!~Lz@{>JXnaHrV)_1)u> z=TG{<@!^x<&b_(2gWc`JCx=JDU8^>Zb{}sA5A5IOJ;IOwCcGKgKM6lOe!8_iJlG93 zAK*Qo@p5P5lY`+&Fg)1a>mSP#hl9a!|0J;cr|is}-7IIG8qSxQrN*WEqKN7FeI=BP>MgMi1O4WdUA!j6SqRB+bAGH7FpK1S+;6ap5nzZg+#fQn z)C+b_3+q8H!bxp^Yk08Ne}<{#m6Y*+;x{DEDh%m~pXIiO& z@<%N-KQi5>DvcV68M)nta!0Mi?araw=(=)7e&Td%_&&aeUrD@fg|#YcWo(Dp?N)5W zkqA4SZrMhiu7@x2QXUsy;%*+V=W*wT@7~y7x{GZ ztig^hV>`^29U`!kI#$CD>#&0_aoDlz;>$kRvGIByhn*Q8c4qd&&P+bovGD>Ac8J3c zv&-2e>SY;-$k}1X)&e`WHrTPX!VcA2cC=+j=j@DOXKZ@BJL85nW4FhsF!6RB4>vkTMO*i+N4IQ6?Uk;1Pji%-Q(RE z&-VuEk@8JbEt&>0r#hyN)YOXckg8fU6{M`zO$l+;ZQ~$DJw!6w&12Vp6mtLJ`XbaI^zYk6eJWtjk zq!Dg5LDmQ_95rbLS($DJX$5HmX#sit!6Caxt1*IHqz%eP{Q+vy1%2#0vi{EZ-+hHH z{*}UfWxAmFmqyOaX#A3CI|s}nc^5RN|5YergqydS?6{{)R8LIgtE=ezyqVlm?s*Hp zY5jTLUiaL`uUUVI?r_gL_dX8ptqHBd=B7VA~D|LF>P>rM%8ReeJ z*&C6g%BQQUisvY54C|>0sWH5`Xr|P7(ZZ)j{CWDsz3}m=5r2t3bT2yi)OfK%H(rMq ztGLpV)EKU(S0Od#Em=+5VHLZQ`XRrw6J4wq`{X$jX6zsv$#W*oJ`5&a!=^?H zV&Y}(#MH=4jqw7S8kw&ZhKczZjjz<%8TY75F*Tma*&8u6o^g+O4h`BczG|CW|KS^A V)C=d`$@k-*z8$y7=##mw{sf*%-ar5V literal 0 HcmV?d00001 diff --git a/graphics/enemy/boss/stg_2600/bolt_medium.png b/graphics/enemy/boss/stg_2600/bolt_medium.png new file mode 100644 index 0000000000000000000000000000000000000000..2e35b22c4d8774ab4e510bd4a1dab8fb46bcb0cc GIT binary patch literal 4633 zcmeHKdsGu=79V^7qEg$XiY}HItrVBZOp+laQvw2skV+5*1fMvWnZQV1CIbW)Xn|D` zU9DC@sK>|FM^#L9mDXx~fQl7uv7%MiDisvaDu^h;!a~0Zh}i8pdpu|RA30|xGxxjq zcklh(``z=+%E*Y&kuKw0AP5?%3RBDi|EIv^?(7Ke#Rs1#A;{rxOh`ziDkOwwG8?sw zj)oxX=8Sdnu+vjL&c;{ec}6Q9ZmaotJ6^IXPx|8&x9!27zdbh@{rc(fB5abkU`=*X zY3bUtdvjJDvbox_d2J3g4{CNa@Zar1ybtF-`}v4xQ=`1`wnOmoi`ZXA4aROsqE;T+ zbl#SC>x%{@l;a+x(B=!hR4UdZ{`uqPXM&1D_|^`~(|xj44gu?=$5KmsvJ>x|BC;T+&G`Z2QQZwCoVoyb%uzk@{a%3 zT5P^uQ@n9saoUWovPBW`bL#N#gp&^Bz8f}b`?kEdDh|B4Gsf#|a9(Te_|DI4@%(~d z+gt9k(UDn>H=gBmmo^#pcV5|1;I?}30%T2#(3Nc(^!K9LbkFxAYKJ@y92~p!Lj0b= zhqmsxHg|5Dv-@>Nfo)#VKb__`LZ@de*Hzf=?)JXha;jr&M$~BcqeK7w<2Sd9I;0uU zNnQUG#|>nmw|#hS()fKHclOmlSaLOpo|(? zVAY#Iy&%Xx&}t&cB%0-E=mf?f=QkZY$>%YYoFD6}M%AVeI*|!mYNn%>MnscKlSmoG z4-9bex8eXmPqPHis@EATxK+-#1O^W)T!ybz$6*p0V=^n}^T9grMSOabTHOb4u=KJ3_&}_L2@wiVM6XBsTUc0S z3IOR1=yxqF(P<_cnMGTS$!3yPrqBjvEhfLGxwE<;u7 z$UX~>f&@lyvReVNU(sY4?Mt#=iH%#ar_(-Nqn`iOd|1vwJ0W`2|^^%NG1KCR0a!67)Y9f0^kA$ z;7By2(3kL&!V(GL2OvlZtPzVSSR#{2Q4+&wQtaCgVuqOkT}kNrN5w%=07^>x3WZV; z3Hym9A{Y~q7%bz0qhwM_MEX(^2}#3QpU)iL(1#N*jF z1x}DXDOiXUnzF|UuzHrrM8c3jgXz)Rt}o=w@3exiP=-XoE;%`^zH)Mcaj|>biFbk2sVc5$VH+KHOUvDk`Ko0l1nAlzKtneOBWUUMR z>Zk3yA72nQ%xd}R%0ahz5grra@h)4bc_)3m3_Cx1MR=?yWd=< zuHPH;kG+z}8RbCdY=Pj&+6CX2Bo^&cpP$o$)X#OEa3<<>~sz4uHeS1;ZvUkd!?^!sZ^LlfA zncvNiH#I-M7h4d26pH>+PT`Q7DPafWw8%c?)Y30kCLO!ko#rU_I=zMbJUy}_>&foQ z*!!Q&`gED=bhIIHEz!8IP`-T67~hwgPl=E(}@ukXSuKzBkaWrV^OyeRuuqzu)# literal 0 HcmV?d00001 diff --git a/graphics/enemy/boss/stg2600_head.png.import b/graphics/enemy/boss/stg_2600/bolt_medium.png.import similarity index 68% rename from graphics/enemy/boss/stg2600_head.png.import rename to graphics/enemy/boss/stg_2600/bolt_medium.png.import index ebb6434..fc3b685 100644 --- a/graphics/enemy/boss/stg2600_head.png.import +++ b/graphics/enemy/boss/stg_2600/bolt_medium.png.import @@ -2,15 +2,15 @@ importer="texture" type="StreamTexture" -path="res://.import/stg2600_head.png-7f6eac4b8ce6ce153476551d67bc94ab.stex" +path="res://.import/bolt_medium.png-c18f34f796165752e94c6e28216b7e6e.stex" metadata={ "vram_texture": false } [deps] -source_file="res://graphics/enemy/boss/stg2600_head.png" -dest_files=[ "res://.import/stg2600_head.png-7f6eac4b8ce6ce153476551d67bc94ab.stex" ] +source_file="res://graphics/enemy/boss/stg_2600/bolt_medium.png" +dest_files=[ "res://.import/bolt_medium.png-c18f34f796165752e94c6e28216b7e6e.stex" ] [params] diff --git a/graphics/enemy/boss/stg_2600/bolt_medium.xcf b/graphics/enemy/boss/stg_2600/bolt_medium.xcf new file mode 100644 index 0000000000000000000000000000000000000000..c1d3f4adc1e9317251a6f963c96da728488dc65e GIT binary patch literal 6359 zcmds*&u<(_700W8%+Gdv#!j3>inE!;fU**i;zhE|CB)i61PMla*+0PRI9`j`PTK}H zr=S*p0S6A#H^iPmoO+Ja;s9LdhJ^ZrgoHS7g23V(Pw(edbvYd=ySB1u#cm~U-mCXs zz4xu|dRJ~f-QVf0-l6y8gqd+&+aemM3$v z&D!XD@(gr)s{X7RMR8@puRuUsmCGQ8{Br)M_jwtgDK#2h~bG4_{Hmu%X=b z8)~{f9FCS%vF;9w(e(@RWi#xCaz{^{Un`9!15Ktfm1J20%RrNXCId~TR3;=0G#O|z z&}a^t3^WO7)hWkuAlTLawM5bNKx`p;4kuTv3=R6~QRSkgX zUn-)mD?+sA6@z$xF582EDch@V4|49Pw3ci~w%OU2#n8HC4RC8iY~8c^n`{mtJHb@8 zh3*T&5RJ<^pA)Tgv{{4&^%1|%xojmfHNIrjDp;?haHxxbokBJf!ko#T3Pw-WzZID? zGG|lS0tj6Z5;P1+$ec~3qs=0ancwGJwvCy}$Si6VtdW_0q*x2s6=dTe%$ZE)w9K57 zIiJesp3oH`MZ=Jk%=uJ0+AIQ@`F+l1i>(G41SKbuE=e2Mp@u!|^1Wegpb>Wt$JR2tXgONHvgWCsCF5KWR z)~jMe4E}5Nolz~C^`q{{kDUJ8=vg$1Mx!X|NBw>{a-t9E>P|44ipdpcw;zmV5d%FV zxM&KfCE9xA_uJU&{pRSDSe}fi(Wyrb47ywI*Xg2fp!cIzzh=5k^e3btW4rH}9C)?* zzQ}$Q^j#x3Wn74h7oFbi-wpdyBAJ9CF14uB@1$n7sh(~6EJ~v^ zEoYlDTe@bp=~PU1w&^TlAhQ+WY_`(Tv&F`2(^F#E*X zUGxp~e%u<=Ot*>tgfwJq4?L3tuhzg9*^h&PYXpaUrH3ES4IGf3Oyc{D3vuz{)BA(_ z;b2N6lQ6`k7Iy}nqNZkr>K4A5FaE;~MlJ@0>J*MTp~Jthmy|drIOI2pzR{3#Ia(xt8K3ZL<+!4QySltZip55}rt{G=I*`1d4&)#&Ko{p`oLk26%D56= z@<=|(+XRE)kc}h++f4y#k;|-F1vp%H!(mjd`tO9`BgPJmztadF-5#T&~8>nAgf_#)Z3_a2$?8a?-gtFNQLb z7po)jVs&K6AekhiWEKR)P_Xc7@n~@A-~?5knSuDaP$Yr{qq@1yW9Hd;C zy&S(B|D16-<8$I*cezSCIY>Dzxp0>gl*3U=PEr@=MJgjfsw06^N0tndNis@iK_F*B z4@?0b4K6F3&;;ohtEj`bH;?46hF{9djcbe2@TI?3`nGt>!oE^_i4E128&*H%4_@on zRb$9X9CGR&HdSX>R|`X5T^f3jtCoh&r;uCv`HW$QWqe4SfOw7JO*Q2&SZjn&2%iu> zA$&skgzyRB6T&Bi|3o6Z_9HywI*bpA6A-VFNcc40Abd*rl<+CxQ^Kc&PYItAJ|+Ao z65+KU;ThLqd`O&tc#V`*f41&JHWE1)EUQm zaSHi>pY6qZKd!FM@{hCjrJi>dkXT=oTX=Qx0sGp|1$^1;*`!>k*M4gaaBD-n_D8GN M3so;C{nEYSV_U|R?*IS* literal 0 HcmV?d00001 diff --git a/graphics/enemy/boss/stg_2600/bolt_small.xcf b/graphics/enemy/boss/stg_2600/bolt_small.xcf new file mode 100644 index 0000000000000000000000000000000000000000..94dbe849a1e6ba428092ae7aa25834b7d66b162a GIT binary patch literal 1086 zcmZuvOODe(5N&rHoDUHL1Xe7XpOjfdN>0FHEFmPY<_5@m<7rZ{K}5r^-p$nk>RN z8pi8nN;&HOHAu6~JQC?@o=i_WgIPRT%~xwNC~3HkFG4XY*Z36Wi~p3zqFhwINw305 zvW&%egx%(7S8ax$mq{j)<>WF->5bKFmPVN<`z^hf$IbN3Ryd!mO)cxYrL*Wb*;elWzbv%|F-AyS=T84v(ERKn;Yq|M$Y9nm$}P$ z?n&b}m;>JVl0&qm<2x32nW(X^)IzRUjRQuN1|m9_`&D6-XEMYj5orZ(8>78tge)>NgfR?5fP+p5a8 zFdDW6*V{rDuq`}o0-P4S3p8wtwsr!X_P`x|7cf?I^)1mMO>M9(T42~>T2u1?r!BM& muy}ye2D%a8tgLA~);2Ed8qRvg0Sx;H>@`Q;McqT6%l-jQ3F}k< literal 0 HcmV?d00001 diff --git a/graphics/enemy/boss/stg_2600/foot.png b/graphics/enemy/boss/stg_2600/foot.png new file mode 100644 index 0000000000000000000000000000000000000000..d8146da0036845cc975a87500cb772338ee510d8 GIT binary patch literal 4720 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 literal 0 HcmV?d00001 diff --git a/graphics/enemy/boss/stg_2600/head_broken.png b/graphics/enemy/boss/stg_2600/head_broken.png new file mode 100644 index 0000000000000000000000000000000000000000..8eb45d6af3160f7af00728fbdf3146a51e1b6cd6 GIT binary patch literal 2173 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 oH!-8s95Lr4rl2ghzlFqG= 1.0: + _time -= 1.0 + # posmod to loop around + frame = posmod(frame + int(sign(fps)), hframes * vframes) + if frame == stop_at_frame: + stopped = true + if ping_pong and frame == 0: + fps = -fps diff --git a/shaders/beam_cycle.gdshader b/shaders/beam_cycle.gdshader new file mode 100644 index 0000000..e05f3ef --- /dev/null +++ b/shaders/beam_cycle.gdshader @@ -0,0 +1,10 @@ +shader_type canvas_item; +render_mode blend_add; + +uniform float cycle_speed = 1.0; +uniform sampler2D gradient; + +void fragment() { + COLOR = texture(TEXTURE, UV); + COLOR *= texture(gradient, vec2(TIME * cycle_speed, 0.0)); +} \ No newline at end of file