From a5c9b9a92110164c78e5166e6595200189d37f73 Mon Sep 17 00:00:00 2001 From: Kiri Date: Sat, 2 Sep 2023 20:54:40 -0700 Subject: [PATCH] adding more stuff. --- source_data/Makefile | 256 +++++++++++++++++++++++++++++- source_data/jmpr_reticle.aseprite | Bin 0 -> 3350 bytes source_data/jmpra0.aseprite | Bin 0 -> 3346 bytes source_data/kit.aseprite | Bin 0 -> 3548 bytes source_data/povsprite.aseprite | Bin 0 -> 13076 bytes 5 files changed, 253 insertions(+), 3 deletions(-) create mode 100644 source_data/jmpr_reticle.aseprite create mode 100644 source_data/jmpra0.aseprite create mode 100644 source_data/kit.aseprite create mode 100644 source_data/povsprite.aseprite diff --git a/source_data/Makefile b/source_data/Makefile index 654f447..4ded0d5 100644 --- a/source_data/Makefile +++ b/source_data/Makefile @@ -1,3 +1,6 @@ +# ---------------------------------------------------------------------- +# Gretchen Counter + all : \ ../sprites/gretchencounter/kgcmb0.png \ ../sprites/gretchencounter/kgcma0.png \ @@ -91,9 +94,6 @@ all : \ --layer "brightmap" \ --frame-range 1,1 --save-as $@ - - - # Sounds ../sounds/kirigretchencounter_click.ogg : kirigretchencounter_click.wav ffmpeg -i $^ "-filter:a" "volume=1.0" $@ @@ -103,3 +103,253 @@ all : \ ../sounds/kirigretchencounter_onoff.ogg : on_off_switch.wav ffmpeg -i $^ "-filter:a" "volume=1.0" $@ + +# ---------------------------------------------------------------------- +# Jumper Cables + +all : \ + ../sprites/jumpercables/jmpka0.png \ + ../sprites/jumpercables/jmpra0.png \ + ../sprites/jumpercables/jmppa0.png \ + ../sprites/jumpercables/jmppb0.png \ + ../sprites/jumpercables/jmppc0.png \ + ../graphics/jumpercables/jmpr_reticle1.png \ + ../graphics/jumpercables/jmpr_reticle2.png \ + ../graphics/jumpercables/jmpr_reticle3.png \ + ../sprites/jumpercables/jmpia0.png \ + ../sprites/jumpercables/jmpib0.png \ + ../sprites/jumpercables/jmpic0.png \ + ../sprites/jumpercables/jmpid0.png \ + ../sprites/jumpercables/jmpie0.png \ + ../sprites/jumpercables/jmpif0.png \ + ../sprites/jumpercables/jmpig0.png \ + ../sprites/jumpercables/jmpja0.png \ + ../sprites/jumpercables/jmpjb0.png \ + ../sprites/jumpercables/jmpjc0.png \ + ../sprites/jumpercables/jmpjd0.png \ + ../sprites/jumpercables/jmpje0.png \ + ../sprites/jumpercables/jmpjf0.png \ + ../sprites/jumpercables/jmpjg0.png \ + letter_sprites_l \ + letter_sprites_r \ + brightmaps + +../sprites/jumpercables/jmpka0.png : kit.aseprite + aseprite -b $^ --save-as $@ + +../sprites/jumpercables/jmpra0.png : jmpra0.aseprite + aseprite -b $^ --save-as $@ + +# Base sprite with no numerical indicator, but anim frames (0,1,2) for +# status light. +../sprites/jumpercables/jmppa0.png ../sprites/jumpercables/jmppb0.png ../sprites/jumpercables/jmppc0.png : povsprite.aseprite + aseprite -b $^ \ + --ignore-layer "brightmap_display" \ + --ignore-layer "brightmap_leds" \ + --ignore-layer "numberindicatorl" \ + --ignore-layer "numberindicatorr" \ + --frame-range 0,2 --save-as $@ + + # Correct Aseprite's automatic naming to Doom's. (Number at the + # end is for rotations, letters are for frame numbers.) + mv ../sprites/jumpercables/jmppa1.png ../sprites/jumpercables/jmppb0.png + mv ../sprites/jumpercables/jmppa2.png ../sprites/jumpercables/jmppc0.png + +../graphics/jumpercables/jmpr_reticle1.png \ +../graphics/jumpercables/jmpr_reticle2.png \ +../graphics/jumpercables/jmpr_reticle3.png : jmpr_reticle.aseprite + aseprite -b $^ \ + --frame-range 0,2 --save-as $@ + +../sprites/jumpercables/jmpia0.png \ +../sprites/jumpercables/jmpib0.png \ +../sprites/jumpercables/jmpic0.png \ +../sprites/jumpercables/jmpid0.png \ +../sprites/jumpercables/jmpie0.png \ +../sprites/jumpercables/jmpif0.png \ +../sprites/jumpercables/jmpig0.png \ +../sprites/jumpercables/jmpja0.png \ +../sprites/jumpercables/jmpjb0.png \ +../sprites/jumpercables/jmpjc0.png \ +../sprites/jumpercables/jmpjd0.png \ +../sprites/jumpercables/jmpje0.png \ +../sprites/jumpercables/jmpjf0.png \ +../sprites/jumpercables/jmpjg0.png : povsprite.aseprite + + aseprite -b $^ \ + --layer "numberindicatorl" \ + --frame-range 0,6 --save-as ../sprites/jumpercables/jmpia.png + + aseprite -b $^ \ + --layer "numberindicatorr" \ + --frame-range 0,6 --save-as ../sprites/jumpercables/jmpja.png + + mv ../sprites/jumpercables/jmpia1.png ../sprites/jumpercables/jmpia0.png + mv ../sprites/jumpercables/jmpia2.png ../sprites/jumpercables/jmpib0.png + mv ../sprites/jumpercables/jmpia3.png ../sprites/jumpercables/jmpic0.png + mv ../sprites/jumpercables/jmpia4.png ../sprites/jumpercables/jmpid0.png + mv ../sprites/jumpercables/jmpia5.png ../sprites/jumpercables/jmpie0.png + mv ../sprites/jumpercables/jmpia6.png ../sprites/jumpercables/jmpif0.png + mv ../sprites/jumpercables/jmpia7.png ../sprites/jumpercables/jmpig0.png + mv ../sprites/jumpercables/jmpja1.png ../sprites/jumpercables/jmpja0.png + mv ../sprites/jumpercables/jmpja2.png ../sprites/jumpercables/jmpjb0.png + mv ../sprites/jumpercables/jmpja3.png ../sprites/jumpercables/jmpjc0.png + mv ../sprites/jumpercables/jmpja4.png ../sprites/jumpercables/jmpjd0.png + mv ../sprites/jumpercables/jmpja5.png ../sprites/jumpercables/jmpje0.png + mv ../sprites/jumpercables/jmpja6.png ../sprites/jumpercables/jmpjf0.png + mv ../sprites/jumpercables/jmpja7.png ../sprites/jumpercables/jmpjg0.png + + +letter_sprites_% : + + + aseprite -b povsprite.aseprite \ + --layer "numberindicator$*" \ + --frame-range 0,6 --save-as tmp.png + + convert tmp6.png \ + tmp3.png -composite \ + tmp5.png -composite \ + tmp4.png -composite \ + tmp2.png -composite \ + tmp1.png -composite \ + indic_$*_0.png + + convert tmp4.png \ + tmp5.png -composite \ + indic_$*_1.png + + convert tmp6.png \ + tmp7.png -composite \ + tmp3.png -composite \ + tmp5.png -composite \ + tmp2.png -composite \ + indic_$*_2.png + + convert tmp3.png \ + tmp4.png -composite \ + tmp5.png -composite \ + tmp6.png -composite \ + tmp7.png -composite \ + indic_$*_3.png + + convert tmp1.png \ + tmp4.png -composite \ + tmp5.png -composite \ + tmp7.png -composite \ + indic_$*_4.png + + convert tmp6.png \ + tmp7.png -composite \ + tmp3.png -composite \ + tmp4.png -composite \ + tmp1.png -composite \ + indic_$*_5.png + + convert tmp6.png \ + tmp7.png -composite \ + tmp3.png -composite \ + tmp4.png -composite \ + tmp1.png -composite \ + tmp2.png -composite \ + indic_$*_6.png + + convert tmp6.png \ + tmp5.png -composite \ + tmp4.png -composite \ + indic_$*_7.png + + convert tmp6.png \ + tmp7.png -composite \ + tmp3.png -composite \ + tmp5.png -composite \ + tmp4.png -composite \ + tmp2.png -composite \ + tmp1.png -composite \ + indic_$*_8.png + + convert tmp6.png \ + tmp7.png -composite \ + tmp3.png -composite \ + tmp5.png -composite \ + tmp4.png -composite \ + tmp1.png -composite \ + indic_$*_9.png + + convert tmp6.png \ + tmp7.png -composite \ + tmp5.png -composite \ + tmp4.png -composite \ + tmp2.png -composite \ + tmp1.png -composite \ + indic_$*_a.png + + convert tmp7.png \ + tmp3.png -composite \ + tmp4.png -composite \ + tmp2.png -composite \ + tmp1.png -composite \ + indic_$*_b.png + + convert tmp3.png \ + tmp1.png -composite \ + tmp2.png -composite \ + tmp6.png -composite \ + indic_$*_c.png + + convert tmp7.png \ + tmp3.png -composite \ + tmp4.png -composite \ + tmp2.png -composite \ + tmp5.png -composite \ + indic_$*_d.png + + convert tmp6.png \ + tmp7.png -composite \ + tmp3.png -composite \ + tmp2.png -composite \ + tmp1.png -composite \ + indic_$*_e.png + + convert tmp6.png \ + tmp7.png -composite \ + tmp2.png -composite \ + tmp1.png -composite \ + indic_$*_f.png + + mv indic_$*_0.png ../sprites/jumpercables/jmi$*a0.png + mv indic_$*_1.png ../sprites/jumpercables/jmi$*b0.png + mv indic_$*_2.png ../sprites/jumpercables/jmi$*c0.png + mv indic_$*_3.png ../sprites/jumpercables/jmi$*d0.png + mv indic_$*_4.png ../sprites/jumpercables/jmi$*e0.png + mv indic_$*_5.png ../sprites/jumpercables/jmi$*f0.png + mv indic_$*_6.png ../sprites/jumpercables/jmi$*g0.png + mv indic_$*_7.png ../sprites/jumpercables/jmi$*h0.png + mv indic_$*_8.png ../sprites/jumpercables/jmi$*i0.png + mv indic_$*_9.png ../sprites/jumpercables/jmi$*j0.png + mv indic_$*_a.png ../sprites/jumpercables/jmi$*k0.png + mv indic_$*_b.png ../sprites/jumpercables/jmi$*l0.png + mv indic_$*_c.png ../sprites/jumpercables/jmi$*m0.png + mv indic_$*_d.png ../sprites/jumpercables/jmi$*n0.png + mv indic_$*_e.png ../sprites/jumpercables/jmi$*o0.png + mv indic_$*_f.png ../sprites/jumpercables/jmi$*p0.png + +brightmaps : povsprite.aseprite + + aseprite -b $^ \ + --layer "brightmap_display" \ + --frame-range 0,0 --save-as brightmap_display.png + + aseprite -b $^ \ + --layer "brightmap_leds" \ + --frame-range 0,2 --save-as brightmap_leds.png + + composite brightmap_display.png brightmap_leds1.png -compose screen ../sprites/jumpercables/bright_jmpr_1.png + composite brightmap_display.png brightmap_leds2.png -compose screen ../sprites/jumpercables/bright_jmpr_2.png + composite brightmap_display.png brightmap_leds3.png -compose screen ../sprites/jumpercables/bright_jmpr_3.png + + rm brightmap_display.png + rm brightmap_leds?.png + + rm tmp?.png + diff --git a/source_data/jmpr_reticle.aseprite b/source_data/jmpr_reticle.aseprite new file mode 100644 index 0000000000000000000000000000000000000000..3a39d2756e8089b29b2d1c0211592132890006c7 GIT binary patch literal 3350 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 literal 0 HcmV?d00001 diff --git a/source_data/kit.aseprite b/source_data/kit.aseprite new file mode 100644 index 0000000000000000000000000000000000000000..b7cc458283b94e7d740ca7b73dad84bfb6ae576f GIT binary patch literal 3548 zcmcJRe^gXu9*3`~3o8)msFRV-6c#Ab7-(!zJLYI~7HwR{&U7N1qrkH6q+^Z+I;SR` zv!RmACK>9aXr!|%{>m{~MMFiy6%`AWU8!(W<9KinXSYqrmhL{^*V;IzbNX*Dhlk6( zci#8?zVG{a?tBubX_vP2)5dFNEn4fRX<7lleU5(pR|}-sg@w<$}o=1C8-fFefJm>KvMukdOck1_O+Vk!PZ!xVRX4JRay)>zJ?B zF;A_dQ>~+2tz))YN1ILR%~I=_ks*~@)H)_5Np*>89gB5o&C^u`i`re#)$D|M^>*mk zl?`*Mtk6~=Em#84kweDd%8@ZRZRyZqwZN)?d^T9@fC0BW zU+j`6iyZPyUUmw!XURBi=`v2AU!M1PrI#YN^pck^H9DMGFxxJlvZ_yISd%!{bua8} zljmFOWF!qC>35gU1VecSSZb3>y(yB=Te;TN9?)*{IDH?y~inPra2Zx-KKp^`N4RLDyyNbUjf~o)24vRT;txi?B3NXwQ<>v{_^f z8HuuLmIUdSIZ%{#$cmz@FZocE(Xy8n1duCc zMXNX!p<+{1ibs(s21TE^6LDfql!-5qC8k7^I1)i(N7RTHks?M!hqw?CVnGy$|BxT% zLwh(6;bA*ehv$$ShC^?-4Y6T0l!nic874zxI1GVdFVuy%kQT;5SGWpMVJQ@apO6z~ zLQ6OaAz>p_golt220}l$2k~GXl!I@O4W>aeI0nIB7u14RkP1dYC%6QWU=b98KadCJ zKpQv%VPFeUh3-WX7y>=u2E>3BL|C{8Z-DtWiO_ckE;K(lnty(LJNEnAW}9ch;#*Dh|Nis*?c2nJ zpT3>;)3?*7@TG2`StF~rY5M<$nWEjLmAt)bb=K-* zOFo$Q^o;ohr#>pU;or0E+XI%p-uR4y3$qt}wczU(qq{5fP|cW`?@pR{`QC^3_1ssv z-n8f30nf&h7fV*XbJRBcSGnsJJZ-;P9B){WxPJe`_F-czqn}A$Tb_D;>%pn>w#GlS zv#q9S%tsR=x%H>Q=bSh9Z+oOQ)%9ZPg<$gewWjX%#^@4z^Q?Eyo|}Ap*-}l2J-Fr=luLIhokt`T=Mpd zs~^0*VSH@=L(!Kk6H3mW(Dj|8Hw>Q|ivHuTuT5FEFLGh}cz5?mN3Z+kSM5ja@%oz6 z&Dytfj*OT&@(=G1OM2=>=lPA9anD{Kwfbi2`R)f6T@04o*!{cTtbg^*>hc%vT#~!& z&9wY$zt}tIfyw%%-c2_*r$q&K>>Y9RiG*!`+Z#8#|Glp*AGzYSJ;g_+4z|zPeQlX} zb?(mE&9A4dDcpWNZmem;vD_KPhJELr`|zc|8@@T4yRq)X^trVchqx!d`}~zB{(P`x z_xa^@fyD=}tUY>W>5N(59RJt2ZCmx;o-18--}(oZ8^1^%TmGCX{x&UE8`P)xXf2-N zCzibzcX)hk!@mnU%189>yf3+a=97aLZknBR*if2rd&=#@mTpb%fBmhr-LsxLF!9>; z?laYo&Pe*@Y5kK+V_unWZSp=;v`V$!UmHUEKTPdV%|PpgdEzQgmQ-(3Mv}{55K%K;bv9l zpB`6(8KA{!!}<&+mNefgRnwx6X5LKom%P91y_oabq=9qNe8-l&@sH0Ad>+o|Dlr*j JU7@&z{{`m9Av6F0 literal 0 HcmV?d00001 diff --git a/source_data/povsprite.aseprite b/source_data/povsprite.aseprite new file mode 100644 index 0000000000000000000000000000000000000000..739413329198a67e5f2d31eb077a4da42496808d GIT binary patch literal 13076 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 literal 0 HcmV?d00001