From 361a239d3e58321d4973b544f0bf9adcede47d94 Mon Sep 17 00:00:00 2001 From: MX <10697207+xMasterX@users.noreply.github.com> Date: Thu, 15 Sep 2022 04:42:17 +0300 Subject: [PATCH] add some games, make DOOM somewhat playable --- applications/plugins/doom/README.md | 68 + applications/plugins/doom/application.fam | 15 + applications/plugins/doom/assets/door2.png | Bin 0 -> 31942 bytes applications/plugins/doom/assets/door_inv.png | Bin 0 -> 1068 bytes applications/plugins/doom/assets/fire_inv.png | Bin 0 -> 583 bytes .../plugins/doom/assets/fireball_inv.png | Bin 0 -> 418 bytes .../plugins/doom/assets/fireball_mask_inv.png | Bin 0 -> 388 bytes .../plugins/doom/assets/gradient_inv.png | Bin 0 -> 1037 bytes applications/plugins/doom/assets/gun_inv.png | Bin 0 -> 1050 bytes .../plugins/doom/assets/gun_mask_inv.png | Bin 0 -> 847 bytes applications/plugins/doom/assets/imp_inv.png | Bin 0 -> 903 bytes .../plugins/doom/assets/imp_mask_inv.png | Bin 0 -> 958 bytes .../plugins/doom/assets/intro-screen.png | Bin 0 -> 2154 bytes applications/plugins/doom/assets/item_inv.png | Bin 0 -> 417 bytes .../plugins/doom/assets/item_mask_inv.png | Bin 0 -> 383 bytes .../plugins/doom/assets/screenshot-imp2.jpg | Bin 0 -> 2160250 bytes .../plugins/doom/assets/screenshot-intro2.jpg | Bin 0 -> 2362783 bytes .../doom/assets/screenshot-medkit2.jpg | Bin 0 -> 2162491 bytes .../plugins/doom/assets/screenshot-start2.jpg | Bin 0 -> 2383868 bytes .../plugins/doom/assets/screenshot1.png | Bin 0 -> 1487 bytes .../plugins/doom/assets/screenshot2.png | Bin 0 -> 1705 bytes .../plugins/doom/assets/screenshot3.png | Bin 0 -> 1629 bytes .../plugins/doom/compiled/assets_icons.c | 403 ++++++ .../plugins/doom/compiled/assets_icons.h | 114 ++ applications/plugins/doom/constants.h | 91 ++ applications/plugins/doom/display.h | 282 +++++ applications/plugins/doom/doom.c | 1105 +++++++++++++++++ applications/plugins/doom/doom_10px.png | Bin 0 -> 8669 bytes .../plugins/doom/doom_music_player_worker.c | 499 ++++++++ .../plugins/doom/doom_music_player_worker.h | 44 + applications/plugins/doom/entities.c | 42 + applications/plugins/doom/entities.h | 56 + applications/plugins/doom/level.h | 188 +++ applications/plugins/doom/sound.h | 35 + applications/plugins/doom/types.c | 33 + applications/plugins/doom/types.h | 36 + .../plugins/flappy_bird/application.fam | 12 + applications/plugins/flappy_bird/bird.h | 54 + .../plugins/flappy_bird/flappy_10px.png | Bin 0 -> 8746 bytes .../plugins/flappy_bird/flappy_bird.c | 357 ++++++ .../plugins/music_player/application.fam | 2 +- .../music_player/music_player_worker.h | 8 + .../scene/subbrute_scene_entrypoint.c | 6 +- applications/plugins/zombiez/application.fam | 12 + applications/plugins/zombiez/zombie_10px.png | Bin 0 -> 8741 bytes applications/plugins/zombiez/zombiez.c | 400 ++++++ applications/plugins/zombiez/zombiez.h | 62 + applications/services/gui/canvas.c | 17 + applications/services/gui/canvas.h | 8 + firmware/targets/f7/api_symbols.csv | 5 +- site_scons/fbt/appmanifest.py | 1 - 51 files changed, 3948 insertions(+), 7 deletions(-) create mode 100644 applications/plugins/doom/README.md create mode 100644 applications/plugins/doom/application.fam create mode 100644 applications/plugins/doom/assets/door2.png create mode 100644 applications/plugins/doom/assets/door_inv.png create mode 100644 applications/plugins/doom/assets/fire_inv.png create mode 100644 applications/plugins/doom/assets/fireball_inv.png create mode 100644 applications/plugins/doom/assets/fireball_mask_inv.png create mode 100644 applications/plugins/doom/assets/gradient_inv.png create mode 100644 applications/plugins/doom/assets/gun_inv.png create mode 100644 applications/plugins/doom/assets/gun_mask_inv.png create mode 100644 applications/plugins/doom/assets/imp_inv.png create mode 100644 applications/plugins/doom/assets/imp_mask_inv.png create mode 100644 applications/plugins/doom/assets/intro-screen.png create mode 100644 applications/plugins/doom/assets/item_inv.png create mode 100644 applications/plugins/doom/assets/item_mask_inv.png create mode 100644 applications/plugins/doom/assets/screenshot-imp2.jpg create mode 100644 applications/plugins/doom/assets/screenshot-intro2.jpg create mode 100644 applications/plugins/doom/assets/screenshot-medkit2.jpg create mode 100644 applications/plugins/doom/assets/screenshot-start2.jpg create mode 100644 applications/plugins/doom/assets/screenshot1.png create mode 100644 applications/plugins/doom/assets/screenshot2.png create mode 100644 applications/plugins/doom/assets/screenshot3.png create mode 100644 applications/plugins/doom/compiled/assets_icons.c create mode 100644 applications/plugins/doom/compiled/assets_icons.h create mode 100644 applications/plugins/doom/constants.h create mode 100644 applications/plugins/doom/display.h create mode 100644 applications/plugins/doom/doom.c create mode 100644 applications/plugins/doom/doom_10px.png create mode 100644 applications/plugins/doom/doom_music_player_worker.c create mode 100644 applications/plugins/doom/doom_music_player_worker.h create mode 100644 applications/plugins/doom/entities.c create mode 100644 applications/plugins/doom/entities.h create mode 100644 applications/plugins/doom/level.h create mode 100644 applications/plugins/doom/sound.h create mode 100644 applications/plugins/doom/types.c create mode 100644 applications/plugins/doom/types.h create mode 100644 applications/plugins/flappy_bird/application.fam create mode 100644 applications/plugins/flappy_bird/bird.h create mode 100644 applications/plugins/flappy_bird/flappy_10px.png create mode 100644 applications/plugins/flappy_bird/flappy_bird.c create mode 100644 applications/plugins/zombiez/application.fam create mode 100644 applications/plugins/zombiez/zombie_10px.png create mode 100644 applications/plugins/zombiez/zombiez.c create mode 100644 applications/plugins/zombiez/zombiez.h diff --git a/applications/plugins/doom/README.md b/applications/plugins/doom/README.md new file mode 100644 index 000000000..d43b7ab1a --- /dev/null +++ b/applications/plugins/doom/README.md @@ -0,0 +1,68 @@ +# Doom Flipper Zero edition + +

X+P!futhQ*f5`_PXU-K4fsO4DFun0JF*ZV-DO2j2x(qHb2{RybwP z*|L9@hZZJ5fulwT$EZ+^vCGdt9xG)v8jcfUSG6NZ9+g^=i4oGZQeNFm)+d_?9h;-7 zp}r8!Mx$ml(l_23zrzKd_{?Ev2WM{)8YBK}BS47dwh`oJ#f3?`5*`*3NQwHq)nJXT zaJ5`pXN{tMQPWx0!dsahimW5@A%)0GjtYTP16^ujy|E8Y8KrzOdAFN*7aaP+*^NJ$CcX3uLPgizH*1%zl7l{2XUJ6>iNLost|sy^_cL9ecK-BI@*8t? z9(*l2dBaF1mLHokeifvZiHek`R{Dnxlaidh>YVyTs$C}Ekdf3pF`N_rt)Uu%u&%7@ zN7h9L` C%wVT^)Q9U5dbi{FtQFOg;bOn7~@Da{dlCH8OPMCU+WSNli zGy94>N!@;rQ>JAlAp+!X;@#fiE+RveKZdwSO-AB4UZ39joteGQNVK71*F(v8**xZc z3d6QD`MAvb;M!fXWtCp}3EGDHBqJF2ygefj6GohSU$L$ZiEOi1$}%8in}RB)_s82Q zs1iLMC#qu*OGb+qMD)Hm&-WecPQ;2)lB?<}ty3nGsY;sS=2)b(-dCbzyO%X6sJ)J= zn)W8H%8HO-bLb6)2jfjDR|VIu_w<*85CuM#*L>GJjQ!6Iw#&wprfsg{pYkxvS|boB zcQMhU@@m)?6OrXI{kr;PbJk(%kh+3)Q);16ePA zE`cg^l$^}Hx8}L)x&(y*`Sv+uAwNg|nV+Y5+!_8kn*$2kCMDPPAcjrcwe`Lc*ZTwI zNeXl=#=yPNM>h9i3(b#jB$PT9D4gIuf?6CbAR60rdb~y>myLMNZ|ol&45EGt^&hF) zC=WFfQ+Z !|imKP*qBK{xeAPl?v3mImDfPe5-t_3C&UEJi6yu?@)3M}CxLj-C>{ z3rZ$N&-pEZ7L~h18_Qzmln5+zsmFcts YTpiBV-S8l8m%7`N-JB#J!S& zPSHk}Fb#%bJm?6fGh2c7hAPK_8GO@I%#*%Iumoh)|6PRLiJHv~I6^5^{aqORnvi1# zVmoj=t!Yo!%g;mVsg-8%4{WZIbiYdu6etyQ2#Wl#XtMdVR4l00oAz3^6pv6)d9=d5 ztFRe=MRpU2XhOXWF9N0Y__CAp`dtkq$Z~lJ?MP73M*#})FhbAtWugZxT)m! Uz)Lnpe*Jk#Gii=3tHff6D(!rZi<(l9Ku?c&Su_0Tr0D=#}1@N?(yF7E!x znwgoculze)@gE>>EWrPs3b9gqwH_dI{Y*A`?8yH+x2p-R_MEWegboRGx}N2)ksj5D zL&%&<*YbyJvfRwQ*CQ>abIMAs7PTMH?mFyb$`diGn31mt`uGVcW(FFZGV_HWoT(m_ zx9A=}^@9hrKPUQ|H{tIwzpjg={t`Iht5-6vqgYUq0FbdYTMrAn#7x?8ct=KNDae=% zg8WYx_e!QUY{~EKsy}}v#q?67sBGmx-8-6JCs~}u+QzP_UR!mx*y}+Y!;5`{Jk`)K z86Ivc6t=PK8==_bL8wva65sh=SEK7bAF~jo#63E-VS{k1?ZlrqdH&$sY5_|S0;%;n zHCC^--i>r}+Qo(bopv%3jjWN2#&sTNBE}VjK~Td~b92VP$EABa cnv-HPn|Q zAn4F2KFXT5jsI~Xp?BO|$vR$6djteE)VK)>DvOpBx2uuA;t#8_GL_C)ZnTHMG3Ag# z{Ab+HhW+opeq4n|(ouE^!=Ae96ZMh*1tLd}9AlS!E%kJRu_$YA2FJL;B4oPda|7j( zZ7xm5Nv~kP=R<}U0^6_5hBFR;n|bF>9=jXEVt*#CB}8CocuF5!E~v`-(uYs!ZGr&% zms|vDO9?~QFw619!*L=g>}`wirNcC2>Z_D+!y;N^`R8ki7`LL=2KYfvD-)mp262|x z-7j~FJoFuEOO!vVpAW=J) }@^cl^B4x-iuB_H! zQBN`SB>1i${P=|e*1zf*jo&$%_OZC0ch}&bgqCGRSn4$|*w~ww+}i{~S|R0*61?y3 z`5UM`ule&RyPCS_rGkls&)Z2!H^5AJEuK$G!u0(MlfaIPJ=@4asi*7-FKgaU^>3gc zJ3QO=jnr~!Qr18F;>aHGhNrdxv;5FLN|jYChk8UIwG-YRu_0mh2JJd~d3^~!Nm}## zl7_3NqyBn(G)DmRB&y7b(l1IaRcTz9>XZLAB+CtLyL2E54olB|H!rvz>t+_Xes(f- zXVjRY;<@Ss*&?8vKJ~yl;Mxog4(`tpusq&FaRL*1^yQyA<$Iid=7xq~gT&>@5cA2X zK= ? @PI{BVbQ}owTC@h*E=a;(s>`E^&K0D)5|_=F=x~ zE^e=u-9iwn_|Mz^w-fdcFOvx2MA+!mkHifJjThtqZ9wK=UOjH9-iXI5yp$>n$|ui| zluR+0^u%>YMW1L|JD&x-THhqFvVKw-tFHp15$xL`?z0;C{{1@%zkt9KrWA@1do4v# zi#39~UD_woy@FB%&xElQ{4Y<#fsOu?EQtSYY9ZkfYrqKhgO3%7>a@x|M1R1$OG!zY zcb$EPUQ#wmtXc6g+f+`j7~))pale`>mx`EZ0=Wq0uv-c?W=(possqL{h=lJv^YQQ7 zXx;R8_gPEXpR}M0ezR!G1jhF|BF{k{p6ucxxO5Th0dQpVjeSS_*Ug&yknD9ulgABJ z-^7|k@(-3;!7iba+uJRo(7)%jQc_YNYUGvjC_?xD+pUg=3!QoV4HFc2)R)uAaQf?l z(quh`Wm1>^C{5|VuhgPwXcpS1;K9Ub^&&{#-=jnEYKlXonNsj)D Px&=1D|BR9Hu)S5dOuAPfU?|04%Fk}Pc4ysvI&`gRinwj|3=Z>_ENU!VTH#UGd3 zb)7%gnr-yKNY+w3z4x}}YJK#E`@N4NOsvy2t;cVCd*a%R`+638XfG_%vpBjbo_%Ot zfP)c0?+yR3IsV7SWArv>0>?GI@!G&)5zu+CQeSf-yPYJya;KXIBbA6LjJ-~Kd=OYL z{-NQQm%h_K0d9+V-yh-d*T=zeMa?MAUA?t_ZNXcFm9Tu|4Tx6W*}Nr#iicQ!>seHs zQGs4ixe*Z85qLq$`tajBJ93A>$9Z-^zCjp6p;M04R_c|d9`R)D@&!YUdVgr0Q@Xkbh *n@r7m zV~9h-N1Sa9 fwwpJTSIBbq-WJKEH+#>uMUt(4>yVGp-EHK`p8pSdqad3)vTIb1(1Qn0t8b7 zACAWc<>oS3vZmm)AR+l@09zj;MM%Z}T6M}6)D$SID0dY^6cVbts4FSEs}hZ_yZ8;N zKQq>4a5lD)Rd+Mw)ri<7-{6@ZFC!unrMqs*tnZ^gqwH9UI@f$!3nxf!)LP3NWTJY$ z&IAnLx7xx7JY1X)(U>`46p>kY7hPZM*$EGQgd@vaq8FT*=2VpB8K%PND5sgTQDL)Q zddj(voeT+8&0M`8A9CB?9PjZ=sPw*qDpdj}BxJ{O79Q+|)h3JIxSt&DILw)uzyT|# zcP*zN)9XF1RrB0qS|Det9NaYz^d?KSiqs(4`H*42BF{Jn5dS BgWm;K07 zanyR0o`=xd(NY5`yHESz#kk`IB|1;Zo%0wI$}V?LnuI$zM&RSg@!DD;W#K2gcfg(* zL{5A3gF60uDBT?_xDubEt@+Z75Wo}TxLuQ`6T#Ptu!roFVy ~W8MBoVNGzZ$#h8x1okhryh}G5J(v$cgE&T@5w9 zp9shm3p01I#$-S`V%jcxGQ`(YN%U6buRQN7g#wLafLz>_*9=rl%!v1)cW Px%0ZBwbR7gv0RRNOYFbD(h|DRlQBMI3gxlE^ZY79aGoK;m(5s@*T&mUnM7-t)E zUD;<}XZkgF6-;gnZuIVJy_QhyT_2}*KLNmNR>}Ho{09h}I%eh~oOj|kfV@Q|J_u0Q z>qlnz{>zNbt%}UQ&M{)wj+Kiv0h9vioS0||O_2j!*O#!&q=SXuY-$4U$U;vOAONk$ zBw g|JFXck1F zcul&wx5%jdcTW)r4Q~Y QT3y1UF^{fPc&7QG=-q-IDuMvc zSq#lPORXc5vRx|EV>Ekr%pVOmk3z587qkC;s; $ZA63VEav?mgk&&x4=x7I#($kpc`U$`L<8@`~h8ed*#6S0Q VrOV0%#})tp002ovPDHLkV1nA-0CWHV literal 0 HcmV?d00001 diff --git a/applications/plugins/doom/assets/fireball_inv.png b/applications/plugins/doom/assets/fireball_inv.png new file mode 100644 index 0000000000000000000000000000000000000000..b046288f8c413683b93d1bc87b189ead18d3ca61 GIT binary patch literal 418 zcmV;T0bTxyP) Px$TuDShR5(vvQwx$qAq;|e|05fAAZp)ir&H^X06{7rfCK Px$K1oDDR5(v zv)oMR{m9$RNiQOO*jUe+8Igc>{b3fOcn$K4ciEAxcMX140 zU9ncU-o_?x1F`~{rar@ZO6$11r*P1%9=-xZRcZO7lEgVQf2B0@$^Dhs2v)(n#@*ib zUs2|K*VKBotG4%7_E=J;8j;VvHkE-BGS6r{f}its!oN1R6P3|UFTZi*h=mcg#k=-+ zwTW#Y*)p?XX+0|XF+}Si(W>5Ks`D0xq7!zeAJ!U3llxt0bwPx&$4Nv%R9HuaSKG3LAPl4U|DUX!Nz+R}caATsD3GQ}%i6*<))>Qv@h2`k;Ic8+ z>L05Q_?8REylp-vV#4AYaX*&DgvA9g2Pmw!_mN&UF=7~#iO#>s1!`cM+Kccmo(bny z2>Ya9Ap_&iJzqok;6Y&twMyd_!oH2LSwvcLT0Gc#7T7yDW7?EN#U}~gN$gdUERY@= z$#9r_q147&Jk|b!65#pYhBzgZ%05lj?UGmEwv_G?BOQYup~>*oa$a4?BaNP|KJ$ z$HPyV|3D@PJ_TKgQQ|baNRTHYuUa_}VCS`-lJ1;DN-myZ&stFTzgLCsDr~gj#x*X) zs7NMae#%}p=UC4}(=8hYB#_WsNUed*oG*;+-vxFr?1-3>-Cw`S!8FebvyeG;Vs6>% zs6L0tTv+Z-#Nsc3fJ*Zim2E|Y@kFc$y3A05@BypTt`U8r4tzzj>WTvrM-YhQy^r7h zz0|~rM@*cHbP?TCfv~+of;jAaKWoe@V^2gjZXgRz(j(%9XC-l|aatJiW&8{akw CyNlTMZ5J~x#aqMz}6QS7^IyhMlM1Y+YiLvWqSlpEu z9Bjp+E!@T9@qU1^oQtyTesF-DD=g;%utTAzN4m9v$SdR=Rz2mNlSNG8g&-__{^3UD z1jIh;rW?V&zbpeO0;agaQo^Z3SU_C(RR@kq?cS&dpGD+z66=NQBE+=S0~Y*IZu6Hw zbkm*HZlhj6*#)Bs4?p|pg0`OdB<9C>f7Mj1%Da5kbXJ5uh*fgYeL>vEGK)Z `1Ns%zNqr=L?7J41$AemSHl_d2HF*nB>2XM4y?jewx(B$t-4V zC)Hdan?_p}v0gO=@4aH>NVwLsz?fp&5**HsaX!_vlc>_Yz )*IztAa@GYilLPxksXpvnOWd0LwB(Tq(QJp-O!U$}%2|=iF7s0UA-^4V zl* Zr1Q+r_I%1byu6DpOcDR;((hvY{^MPLxNQ6Z0;=fK=sOc~00000NkvXX Hu0mjfATIzz literal 0 HcmV?d00001 diff --git a/applications/plugins/doom/assets/gun_inv.png b/applications/plugins/doom/assets/gun_inv.png new file mode 100644 index 0000000000000000000000000000000000000000..e2ec052952905c92e9d11e523da71d6fa0dc96d0 GIT binary patch literal 1050 zcmV+#1m*jQP) Px&)Ja4^R9HuSS6P;XFbGWa{zvX)UQrZF)bXcnH4&% XG zxSurjND72jtxpw*2SGZmbd0UUC}|;~l;8}*Jp}dCOa@~RBvX%aH|Y@&Zc0FbwG`l( z*)?n_1w$pvgROet^QeIC9!xxu$4js4vaI)FRzWr;6axC9Z_%%8#vnk%D5We(B2`*N z%pf0#X@x5=iS>-oRkHS&7s$Grchp?x=E{Gp%k==(FIEBM!T|z8Xr~;NKYc<3Rd&1- z&-~{D#lq5=joq6LXjNkX$qkXy&B)$|=gWU9I766gFHqsbiZWX0+Su&bTLnP4mD2kv zqY*LGKux42*ZKtqj(7}HK(JaR5Rx(e6pwt~oUbaSHZZRMeIR$JJ^?GO-GuH(LWKlR ziP@60GMt8Or 7!M=PdW+hzya!2uRW_Tk)hbxQB3 zm2E7eaZ_q_lB6rn;fORJzNkTv7LXw%e!2#{OL1L_bNpNtQb$EKC0V P#0=)r?xCkQQv$4@l@X)8Ua2&=s{-J)o-M zG$VCUJ;QEz$OyWvn^MPz^=cRi%yU#T$cjz(8WK>b$$0lrL6KOLz?lnH#~5bhrW4jf zP_?y!9KE6T4 Ilzc% zw+e#gtN&p<<~^peXH{}yPAlicwABlUi{?D4bXvn{8G8n28=iM*<*r%5Wpjjcstz)m zl%fLNvq_>}?)-1TI{Op J7D#Mmuj`9Ndvs8Sb3E{57n zDyD?;U62* tlm^lE z@p5*;biy8hoX(_YjRR%o2u7lEFcGjgLoc{1(fpfH&S=tZb3tLw dWm{30${fF3)eHO#PWcmEuEzIV4s=NAlL)anbfTQ00> Px&2}wjjR9HuiR|}FQDG1cs`yY8_g5)D0`nqDGr&}#Zk_4x5Ow=Tfn!N7Suh>>$U#`jI+9|ndvfF?>BIE??1hV!v70pQHc z)_<*r`F)~ZcOBd|8R4Y`4;FTi0g*D$BPg(0t6yIo&8lGmP)_Tz3X26FQgCH~*uWSc z=bHbiohOpQ1f0h_xHB4a5ivkLa8CvR{CX}aKmsZV(~XJno`p?)w!cY^9RRDoH95!l zn}dWFilez`(Tq(d9T0_on)|-$3oS-e>`LK9FcC^7m*LSU^lYF%MY#LoQGi-1sXa0S zwHdzqfU?2)zXY^{`2#(>>2fMm)N2v7`U-4t)4`cb1ti}E$nF<9psEJ)G(4y6ec~}F z?SeV2ZLJ{sLthZ7K-lw|29ZYmW8_-zJ=ib(!uBNvnSx0yORIvghlv*xk5-{t=(-V{ z>SWlHYKt?LqH+XxXhfm)OUWs ~tLq&szShj>&&f|`3%{0Skx7JiSl`Krao3`v*Lebsus z5rphbzg|ZE(3MORHVu>WaLw}ERuW9OhP4sFOG*A3p+U>Mf3@3s8F ezfyskIi z2q|;-r|yL>ClnvI;yM3ozH8chws)`%ppve0< Px&K}keGR9HuiS66n#FbEX({f``xH*_R+6MrOYTLqXROw5}X(^`wyBEsKA`A6@U zUirH`tpgS>UZmsgd3$Z^=u2F*h?)H^Ht}(Fp_n`T7&n<7`ZH`vn${J7udhWYRVfwl z0@0(3Fz?9dTcEXuHn9ev;YHwA2K7BJqGzFa57F9tTSk4-3||kCgad(cNBRIhn1Ic7 z4oeUk%uiXFTCzGuG4~f9Tm*0?d_&luNanm3(Q6PK71Z#Yk{6Agh_rdL@peo&1fh&s zjL|BSMNm!W@F%Tw85Nud2(psX2FN_fY*GRVF%|{h2ne7)<-UM(R^ 3Tacz|>R zN6YwNs=}c&F(#B0)j?3UPWXzAZ$5AUA98z*RE}h9_9!giu>tsikRnZcHak%gnh`n{ zX>`e1b^e%L8Q|~57r>QAD|0!iprpzm4WQXi5GfbLa1{|G2ll_F0+(>*i{zeWr^Z|E zgOPZa5GZ-vBELFX9a?NPWQ6<#a`%JJYabO5@P;71E4nJ)*#KgSD#YgoSFvqqGn9Q^ zX|)}kgBxE7mS%V}475{KC zb__AJL9=6;&o~Lgat#ligk!b?)Y)#9Jo&yY_|Pk=v0B(_R`RZb40@o<*cUazmPwU} z-f)f0jRtTY$Ek#7EEc;z3*Wc6#rxULf|jp4qLQwq39~v|va@UP#Pq* B^f{dp3h~Y@ES;bq^$<3!ap3nNdRM9#J^X(qF*6TLn?vH*a+=!$3a-`cp zuza)PkqW6 |w`v1TOMfFx0E{|W~vbOm5#O%T)P{z26lwlR0p+a$x Nmy6#;7$N4aw2h9g&x&2MO{H6~<7Do>g dFGoSH`3t~`RjZcOFsT3l002ovPDHLkV1mi>ol5`! literal 0 HcmV?d00001 diff --git a/applications/plugins/doom/assets/imp_mask_inv.png b/applications/plugins/doom/assets/imp_mask_inv.png new file mode 100644 index 0000000000000000000000000000000000000000..70e99127021de388624f3dd9b187cf77ba77a4a9 GIT binary patch literal 958 zcmV;v13~ Px&cu7P-R9HuSSKF53FbK2L|NrEgIpQjCI(gWgx-JM1f^3l^vi6$Kbt1T-|E#s= zw>aPSwSN_V>i_M7U-Prw{gVZ@*3i|RH{*eE;8Cx#fscIvoCv-u=z8-l%ATYBJZs^n z8nP@klaG7TY<275N|vlGI{ B7j#TL`iK;_n0Ohzdhj$vMm&j7m|mpFt^-qz2mq`ljv>nrqz|V&93t^n)nb(a z+FKUr)m;v<8vxuI^3^$~&Lh?8I;cU(3L4FbBMWSj`f31}j$6M}y))qxNF!xcM&!8V z7s;O_ObkIX?s+OT^ t6dz<@ zYO;YCUErv66p#R+)q>Gu61H;WJr|p>;pf$DMOy v?Pj996g?P^#cv@FqHSZ)r *CQsL?Mo#nk9GyG58R8j8*r9HzRvjJJ(O^^UR3o>%Z;4i z01;_)ML{Y+POCOqjR!xJ&>|=U0F{6!5G*2bZn(VfUA`Onm}WW5XeUjH 2x#nI<^ zDsW;qlP$_)bHIr9-{U*seP#4S&6=SDh|u^_?T9m@(wmjgnx=$7vVpgCMu>~8VJ|d7@tjmrY)BFcv*N^%jeAI z9(S$Jl!rv444)jA*QOscC?(g{cE#!Y$O})RM%=p=6K_T~>9BzKmP6~sEBUCby$$ot zrSXaSHhV+?gcK;@xJ9FDZrnVJ(}};D4IQ3UAWT7pn3nRj`qyeU=Ko7P%#D|&v?neu zw;$1aL69zX#?rMK?QF4c|GE!&(V9wK^EsKV^&e9FtL>_2zgmKa(e(LKz9w1frKYzX gF`dV0wzJ*-13?RLuaP50!vFvP07*qoM6N<$g7sC)xc~qF literal 0 HcmV?d00001 diff --git a/applications/plugins/doom/assets/intro-screen.png b/applications/plugins/doom/assets/intro-screen.png new file mode 100644 index 0000000000000000000000000000000000000000..e46d6fdc33dfc0df6e716a5d8e20aa9e4b889fc5 GIT binary patch literal 2154 zcmb_eX;4#F7`+i3mR7WGQ51A!L}m~~7{EjciU^3BAhH-BfJ#J73l7MVKuD^Nw3Ve6 z+-U+8kR=2mWGK)8LNy>u+z3!0K@oz95`k cd2LpVA0a#+ZMF8_pL*N|V#W+};55Ok_VD;yx3vu1iY6Ae~8xQ*K3rR0} zKSt;u@mR6+seM;ceXH{pnT&D~W9snrYRj&lJ2#CbGcI=AAmSIDciH_Clcm?_k$~Jf zgFyh*3IIw>!CnUhSP=-o<(2>au_CbrH{RE(Ulh;``h|&%cc_rNN*n(?jttHGpi?pS z_sDRXXp0;Gd@KMxXbIT-5~*~jR0`Oy(8v1B!RA6^SzC=?-y&8w*Imh&KzWn3&YoHP z>*BK4O?qkaxL_UP3sVx}nePz~|3mo?7e83}LFg}!y;eXfXG$LPu&w-E1>bxr^0~?J zIAJt*fH`ndC~9)TvWZL;0oxkpr1(wfw&e5TpQus5)sWgcOt3dKVxnwP>BPtzo@=`A zH6ofLL`27wypE`eGTc{V;)>wdrDcAZ9Srsweq!bO{;HB%mJRc1f#$+r3yNTMi~v^P z_PG$x+AK!1k5cPxCsJ%DrzDnZckx7uk+BZ=#QJ*sNJ3}LEwdo1m8Wgn$=q_0;JugL zJjI}dC|PLRz7!idK@?ig+R1C8X@-WT)lPm|OHNkH3svH{8a{Q4o%;*CV61kO&rMrS zUv-YpQ5{`Jwl&<41wA|UVC_>1Tuu(2WXj!08>GzQBu_`&&Y-fdq351xl>ze7h(~vP zcsysJ3tT-`)FtAizLOayOm)PNCfziRnPGBXgG@95v(Srv;B?KR>s*n>LN^*l6SB#` zE*Xgps SM18(=BWODnz|!nJtQ1P z z_5Os`vAoj5RW20C`JBud*5b<31Wz4cc0=5u);atCig#B;bEG|udv1C?&ptlf zIh0Z)P02WI!=dzB8sbgA?5 gx{MBDZ_ zN7ASx^Mv<4<-8upU%1fWzURA{0A=%jz2Cr2h|*Jt!yeUGubytwU=GWTlf>B9LvF1c zoI5L2)`|>t?^BTF6=3b{P;m_2ttR@?nNq{E7Uv_6(3)<+{rr!qQoRIj;7xqflz^Sp z$;xW)LS>@KgyL0-XtR0He*%tJ$sP-TiAx)Zi=0}P85mhDQO(n|#uRUWrFeK%di`Y{ z8F!4A`0z>ckP<(j)8_pl5?7#MIV%q8v3B34Ho?jwM}zOxhEaEfMoC1}l4|vnDI`Ro zGP9t7n%nrQjCI?3%g&(elcC1z5QkOeTFnd2P$H#VAJ@X3@1kIMeA?^Qh)#%gw~ZJ! z^BWr#P6;Rh&QapvauX6Z*X8tt#y$MS3k*-;aCp7k#|pAM(ROc%=fGb7nF4}rND+v^ z=@4 dQi^DK-d18nS6v3&uJ0a#PB9X_X$cK#$=*j?g_oggp zhcNP+eq%k|-KLYIBr|AJZ$%ksocf$S1jQ)BbVGBM_|94 jH%n#aPz34p^I?mPjk77PVySM+Ou1Y94%TgLJ zFbl^wOZB5Z-s3iqe)AHUB0)QGj}9_DE2qsgw9-6?(#DSbhT|c Px$TS-JgR5(vvlR=ilFbG4zzWn?i9i9J84VPV1IB-K`K_yat)(O- QlmOga zJcUeW-+4eq^5!_L3I>co#H6D@-Fq@Gn5U|$pc$D=iWXwP#Rg XbmN z!Ol3RV=c+~qxeIAHU&iYiIqDJY#W456*H4TJdPM$`C1G1+>=xN(V)8`bA>J?7zJLT zwCR$dSMW1lFoQ4y55-(At3JAWMw35?8yG-sfrL{nA=Q6mV9y*JI@WsJc>0K$oQMH7 zs~g7w=ADoIMiY-^qDp-jqy %@=lKjIo1Au(bcOqG3xw1N zLS}{AKCpdZ#b&&bYh`@{<9jwE5urerI%u&>ZD_JupU=lOe&F^G&Qc%EoG8hD00000 LNkvXXu0mjfdm*rZ literal 0 HcmV?d00001 diff --git a/applications/plugins/doom/assets/item_mask_inv.png b/applications/plugins/doom/assets/item_mask_inv.png new file mode 100644 index 0000000000000000000000000000000000000000..a0bde9c76401a4cf074f8a59a18b41eafddfeaed GIT binary patch literal 383 zcmV-_0f7FAP) Px$IY~r8R5(v%Q(2M)F$hxM{g2!-1!$70>5tw_5P>9kg|A;`ATmPt4EQx7p=V|U zkkQ>PWJY!aEM#%@S! 7@&THPIX|_8;8ZRA;17FOMC zLsO^Fs5(@29W`x2f+$Xz^DYqFI6OZN zhp|NZoMrTG#r*gqj0@5k3B0BPA0mg1V8$_xroxmn=XD(1WS$>q!k8g Svb zD}(Edd2@D8z?f ~@E{`*4)fl@m?&l>7Q(@mi6ClVoFGjQ{xBxW=3}I)s4$fMlMTkQ zxongz0{`d7XSoPsN%=oA3>9o-yvPE^%DL+>B$)nf%rZX~hU={Vb{*w#9wd%91s`7= z|1TMYRH|zH$7@`I5EJ-*e12Zc{1FZWD}4T5_vf3F)6mk=R0Tu-`*E8@NKj;CSfqrG zKRr0gPeDRI$}co3EYd4FKHN`2M RSH!@n?hBCqZW;#2}8K5LZwi(;iCymrchNiC@K^U4GNX22`5?<4Rwl! z7CDVZ19@$2ikc>crb5xwqG)SU)YK{Js&EQ&H2gzV)27hi3KcBFd^n?OP&8C2+FEd# zN&%xZxI>zv!d3D%D5HWED!K!PX*4y8mKueoMx|)N8I?v+g&TioQne`RU 912hm 6LV z)hL=Eg4m%Xcn1z>P$>{KWQc~~zzEU+5}*rWrb4a|7Ztdu0z=fNPSM85;eal|O+*_G zs-RB=;e
KGqbP$SL3eGCtfR0Vy23LdFsuv&AtsNx*(RC_KZ zR4_!vTX0T=G$D_W9tbO>8Ddm}i>L&10q#K95DkJ1$ijUpIE|R2BbX=T7{G*>fO*7? zrV3tRo-{y%HUdm0g-j&OMQ30>o&x(Y378!u528a(2DHe~QMWq!sY?0)ZUXvLEjX$p zRxkl{K`=;R5={V|6hWc@$H6;91sp}xFmeP7>jRSjsFF!Q9pC_Jn9l%|8Pb5903Jhj zkrFU~YhVE^lO+YN;S|Uf1OY*#F+ffeON<8003sk`uy~Pa7%rSrfhm}7BrWn^ldOxm z%+kPX^1cd03_3wjn}R^2-&ksZ2n}nKGz~|%hMuB_kWi>=vPFRZngB2O3dvLlF@%f+ z7fd4*z$q+0suo0mUIBpUlC}zJLt(%S{lnZr;Xwdo8bCeHf@;u2pWrgq2#TYppb7;c z7YMW#1uo73g#3rfgb=_7D)1U~V4%ow5Qm)703Zl!&Qq`n>7_zKAU()5Y!)yRdxbhE z0A!JESQOY!u+UHfBE}lP@UYUrZKN*=8m1Lkf~AJ@K?0G2jA7@55qSrW&`wCILMH(y zAVj1JDT=2sjqDLP0nU-&Q1;*q {(U9BdJ$jAofQS%ABqov&k;Isw#Y6n)DYgr+h(w+1hNv8Z zgT8}#K- SN^2mt #RHTOMvJ!K19NdLfoX6;b{;Z6Saxt5k%S%w?Uih27!?u# zm`x@UNig5ev0*?KFvaK@wlzct1jwp^1qx~t-B!h=itLZjB7poLfvXGrf!lM@q8orK zCI(swpaIcgt>Yh97!WBPJ2!@l>7FMJoPlf5HOTIUS-~`5 zIA93t7upzH#bkrGRH#XkGq~De&=3k)MvyT;2qMNBf}V!*7(dvD1G)eLAWtq~h%|iQ zD!Cv+TZeohr67HXFO(nviJ5@QU yv`KoZgqBq!G=>@Z*gTN;FfVc !2I%!(IXjMA8Ja2i*itanpv26Vy4jRqSd|%2;~Xx4 !OAuz+-#L #=Vj*MYlU)cb;@%4T z1O^09p~HAengge?kz&un)fQO@Ly}rxge-5cj?{%@<5meQVQL@%l!Lq?WYCqs2BL&i z1Fta*IFeA|Qvlcl!b2dy3X%q>8M%R5wz>6mZjnYXNqoT$xv(JwhzU4~4neR$O#}+E z1`I=6pbFpx&@c$h6nUVMJEA$H$P^%Lzdy};DrRA9~AS_#?2#U4;1y9t0uT1F0G zU0_QGTo6oj5~9O>Gk(xGT*2HzmJmfygKYy74 %8;BUcQ%l2gcf8mX^;xA2Z_dB24P`e!WIwpg?YzTggZ|R8rnLTg?U&C zB*Bol819@mXb5=&CgB1GM=}=_0Y$J1F@Ca~z&S`XS%aW`E@QavV2{Q2f*WZ#gYp6) zz!$> LX4q yky8i*D1f}6k01{|z@`Mmky2RCxB>!4As|Er zPB3C*5vaheFV026f?~7@$wvRdIS|JWItY`&3N~sOVs(QUKIY-J1IPo@(GmOrX`wqq ztsshM0^J}>hV*-mc(B5NC~y_-K_qhp4)(zmxp+Zwf;ln(aE_!qpn|z3mka~~0{|mf zB2aLk2R 82#kR^K?X}4WU$8~=OH^JNHD~W20#loAuzHbf-5is9ET6cLur8q2!e!w-0{HX z7qCMXfeq9L<$}S$8Sdh7ae@5d2 +Kl|B!E78OSFttU8!PZp2_04aT8 oo*`RK-4w6-qXa`E=oK3;sYd$qfSJ756uw5}W~S$b!N$L++!0 zxJQEDfq)Ol0mufnFLFgiVE_X73U~k<*hc`s`J_Sw;09=%TXdi~pxc-XoDAVZ;K&qA zA+8&cbc~qXt|EKjHim&NAnS2H*u&{?fqce+nkMTQMX;SAB#=_Xfm{%fvZw)W!8EcP z0WqNfkg{M3aK=7|+b7&bVNn6vxU)pOfKa&lkr@L8z*!K(-Qb+nxdb3`kQCAra^FMl zxFNmdgDv %0X*Cklj|r_7`8p29(X}MV52Dj8g7s{z$9!m;Og9? z6kJAXU;{!fpfDf@3NS;sQN}#X-2id`?I2CKF9a%J(}Xi}s|IF41$u`b!F?=a9AZlW zQEWlb`jL9DR>R-eH?a;Ni%@=0h=4Hi94sK^vG3w4LsFM~ipA{;)GCr3z?|FhfIOVT zWDFP_MT1CT5*?rgT!qYn8Qj-`W*Fi64wu1;xnJ0U(>MtkfvEy?AQWUAmLxci@<3*B7!NCZR-LI$mP z4WR`}k;ov|;0{bi7XTq-CX7htg8{G!9w1zx96Z3D3C=*k03_K_kpNid01BB<3?FMA z{DUGvmmmQoouTlcrGS6fhrtH$4 +$Cb$k*Vq}0GN<%u~fZii#5JMP4 zV312th!J9O01ZJGh$B15bqpv4XBaek2r41PSa*OB?&aX|2k%2 BQ`yC|(EK@b{c@Fo-0C*r7wA ze;|&^u&V(gxR$~JZoniA8xe*vCW*{H28xIP;JDx;kO1`@5cAt~tP}DvW$t%5FmZ05 zj#D9pFbfj|UZHJ39kYYxQ74ifn tA7eXX4GDHRh05l*I=*Kk* znl>s#hd~j!oIp5arsuWdE*XoLe9FLQ9$bP!4dMkh$lsNcYdT^EUd`D6tUv}a!;XUb zu^!+QyAr6vtu8==@?aPNgKY=4D9kfL46~7^m|ctr6NMQ@gdug%h9N+N9c4*E&fO#_ z1l0({gLQRo#{!zMFJS9|N *vWvRpzH5W2nhnTCi#dnU?z5Zki(7zv?4!P z?&urD0Bi&?Pz!eEwUSRF=qlQUW`)th34{dKux H2!Vdw#ZKz_fjdg%T1j86D zX%K8ep}`V`T0n+eLEt{-0T*281z6+&BksD%H56F@1|c?b)dP*>@;bM)Bc;fN0^Nap zV4Qe~)C^FA4;T=#5ATELxCmgE!>gD{AU|ja;4s4&2?Rw3iz%7=0M@uIMHFBb@E_Yc zu!)Kko_i_=uH$wK!X$SaP@|9!YzvrCOaitFEMxQ&p#%*89l7q3=+DuO!~- GkDLpLSygUBFH5D0FhFy}}ieE0@^h%ovLS8%b#+`z^WM8FQoB7_f<1O6Zv z0AOrUm@7Dv=wi{rDX1VT1;z+JwngY#a1U|Auz;n=e@HwO63j)M&`r1n>nce;I78cW z8xgPw(Ll8!E@bM-M;)>U%stQmCa4_nga!e#F#BW|0L#btCJBNg83jOKu>lZ>6v(l5g4P5OW7o&RKwd!XkP))gkSiD|hb4?R$u2|wBM8I>V4(wG58NR;0jLL@ zaFqaA$Pi=)1BX2Q%?suWV#D%8{$gfe0%VJf2}>DnLJ5Ez(jCsQW{`ViTSHku2Ia9S z0Y~5p*h0#p0F))pfGFSuK}9 1)N;J$R!dmo7*#>b?p0y3gC#$ zLM#w2l3pr6Pi%A8d2x}$)e7SWdF%p6KZF5ujr$Y043ve*n053U*KIt71CkM-BBO-M z ~ zvCroc+Yy#L*=ry?>@YADtzqZEdIts|Ti_nn0bBr#$&C$q0! cmoL} za|pc@zyQ6-AfPb$9E!aO8H$Ak 71z-vc(Q)jNWUs`+ z0!siBfPf5xJ3tTg2QH92ARh+ja*m O%>oM%w#&Hwz(jNu!XkG{ID=fJ z=UfBapmxY7Mo<7s$VLU1$X~Z$`sUb-JqMseuaOXV1Ph=TT*OTukPaOEyTOI0HdTDT zkzwu)H+&6^VSXG5Z;vs;dyDvDoTVJR$u|EEBfeF}`fp=_`7z2dFwW_*19`^z@rk8y z1Af@a|7QRFZA*OZ4J^(+CDst^tgLLTEbMG-Y#bcyoZS2ixVgBvm+~!M#J^lvOmw-h zhzLbWX$3_>K~h9SR#Q$v1>#l{TcNF|MblMMRimL21`ZAmZZ2-21q*~|;v(X(?fQTD zGuuJ%vJ;UE5Ud2j$jiXQ%P@PD5CcD1;N4JsJ#_vDUU6h*VP#|I;N${ Mvhayh4Othjqq9jw@Y9lWkFrY|HC-049~hTX^^Q#8;1paUv{YDH zW`(Sryqda(rk1wO8e #|6A22RH?#)Lu(ZU}$7y|IY$T`TrEzzXJOwt|tUH z69XiViI>nP4mwvlRR|qVb`vIqj&mB?O9*ack-6itF+a3-d!Xkl&gRos+Kx-43h|HM zpVGSUr1H%srT&S40eW+