From b6d6934aa9a941dfc797fee9b3c846fcb05d6827 Mon Sep 17 00:00:00 2001 From: Bye <bye@byecorps.com> Date: Fri, 9 Sep 2022 17:59:16 +0100 Subject: [PATCH] we're closenpx serve! --- Sprite-0002.aseprite | Bin 836 -> 0 bytes Sprite-0003.aseprite | Bin 575 -> 0 bytes Sprite-0004.aseprite | Bin 806 -> 0 bytes Sprite-0005.aseprite | Bin 801 -> 0 bytes Sprite-0006.aseprite | Bin 594 -> 0 bytes aimerthing.aseprite | Bin 618 -> 0 bytes arrow.png | Bin 160 -> 0 bytes bkg.aseprite | Bin 1467 -> 0 bytes bkg.png | Bin 661 -> 0 bytes boringaptwalltopcorner.aseprite | Bin 791 -> 0 bytes byemclogo.png | Bin 205 -> 0 bytes crazyabackground_a.aseprite | Bin 1338 -> 0 bytes crazyabackground_a.png | Bin 554 -> 0 bytes crazyabackground_a_big.png | Bin 1949 -> 0 bytes cursor.aseprite | Bin 808 -> 0 bytes favicon.aseprite | Bin 1707 -> 0 bytes flor.png | Bin 175 -> 0 bytes game.js | 180 ++++++++------- gun.aseprite | Bin 924 -> 0 bytes hamster.aseprite | Bin 3826 -> 0 bytes hamsterx2.aseprite | Bin 3826 -> 0 bytes human.aseprite | Bin 1458 -> 0 bytes lettermaker.html | 127 ----------- lettertester.html | 390 -------------------------------- logothing.aseprite | Bin 1736 -> 0 bytes minify.py | 5 + nesex.aseprite | Bin 883 -> 0 bytes t.aseprite | Bin 4452 -> 0 bytes t.js | 0 testbanner.png | Bin 2613 -> 0 bytes 30 files changed, 106 insertions(+), 596 deletions(-) delete mode 100644 Sprite-0002.aseprite delete mode 100644 Sprite-0003.aseprite delete mode 100644 Sprite-0004.aseprite delete mode 100644 Sprite-0005.aseprite delete mode 100644 Sprite-0006.aseprite delete mode 100644 aimerthing.aseprite delete mode 100644 arrow.png delete mode 100644 bkg.aseprite delete mode 100644 bkg.png delete mode 100644 boringaptwalltopcorner.aseprite delete mode 100644 byemclogo.png delete mode 100644 crazyabackground_a.aseprite delete mode 100644 crazyabackground_a.png delete mode 100644 crazyabackground_a_big.png delete mode 100644 cursor.aseprite delete mode 100644 favicon.aseprite delete mode 100644 flor.png delete mode 100644 gun.aseprite delete mode 100644 hamster.aseprite delete mode 100644 hamsterx2.aseprite delete mode 100644 human.aseprite delete mode 100644 lettermaker.html delete mode 100644 lettertester.html delete mode 100644 logothing.aseprite create mode 100644 minify.py delete mode 100644 nesex.aseprite delete mode 100644 t.aseprite delete mode 100644 t.js delete mode 100644 testbanner.png diff --git a/Sprite-0002.aseprite b/Sprite-0002.aseprite deleted file mode 100644 index 93fd6ecdd02a30c2a3f0d3841aa8706cbc523340..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 836 zcmZ=^W?*=*l$n8(frmkXfsuiMA%y`MC@?UB1R0nZn2?33#%5+>VEFZs4QwkL0|SE? z0|NuQ0@z9<J8m&BFi0vWKt<%CG=$pcrT?FS;YOLue+GtES62OJV0f~u=syF)j{JcC z3=Adqmj4+T>@|%3Gce54Fa^n4gH(PmQ~J-q@Nb<7h<u*-pMfFyxbJ@k2D?s={|pRj zF;4#(7$j}%{xdKL`E~whU|^W~@;?KE&Wo@A85sWm|NozX;lSxT{}~v%XK(q>zz~($ z@t=Xg$|Vh?R~uyhe+CdKA)@-9fg!^p=RX6()&P*2Z>3fL85mw{pZ1@D;ZSSl|11Uu z1{P4bE9~>qzftD$>dLAo%Zhg72b9=b+G`li(=dHv?ee`$>EAk&f6o(>kNetndZ@)X zN!r*6`E@c(eF<{W|NjS0-|3#cB`UMS$|X$=WWS4qh-!vK&enjAZ>3c)wog0MnkfUa zNr4#>XkZfLEfxl+{FF*ua&C#qsfi2>46M+g{|`?Dp!8BP$2vyw&wm3EV}-`U9*-3M z)HmO*FEOln)M9XfOGHZAF0j|@@uB^nKAk9Hwl&;lP%9?QU1rU3_>k-|_LGeU%u);t zN_!sPE@S{D0Y-2V07X2tEY$FEd{-kT&3){~lZ%W#x*qZz%|{rPeR#Yy0L?-N96sb^ ssF;(S;J~WBs`Y=f0W)8NPP?zHVbYE>?VXdg{d;7$1TZsXv?weG03Ki9+yDRo diff --git a/Sprite-0003.aseprite b/Sprite-0003.aseprite deleted file mode 100644 index b65de37d3b9d813d56ef935f98a6336788bdd8bd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 575 zcmcC#Vqkc%l#zjlfrmkXfsuiMA%y`Ms4*~t1Q`Sv1dxTP#@^4!!0_uM3)of`1_lN( z1_lOp1+bM!cKl;tV31T$gNmp^X*l&C%=*v3@PBRce+GtTLk1B0|Ns9C4Bw9|{m;Nq z{oeqjrWqujx@0zp&F~MTrnTii1H%+6tN#oP&lo_m|DPZI&%khQPV0XLhL&v2{|pS# zhSC2S7?x%m{%2rFSqd_<yXW4228Q6E9+3D_koiGDK_GLcO!?2i@DEH*o&q-iKS=gJ z#IFA!^Z$Wusr3Z0|NjTsYo)>TpMfC|Ec@RHB+i(84CKO=HjoSNG5oJ#U|?VY#SJt7 z{;y32dGY`M??;wa|2JT0W=LH!n}Olq|JIf%R#qT?JU@DFPHRiHX0&1S(rm+&rT@Eo z?ga<+EM2-ZC@5&klqvtFOaVC%<hp<V|1<n!U;w%3zm=5+6UZS>42;Rg7+Tu?-(!#m X*{#3~4qylYavD2>Phw?ik%A!r6g8re diff --git a/Sprite-0004.aseprite b/Sprite-0004.aseprite deleted file mode 100644 index 0e43844fc4a8e88e78d92f2405987ffeef5dba94..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 806 zcmY#mW?*=*l#zj*fs;XjfsuiMA%y`MSTHbx1Q`Sv1dxTP#$Lw6!0_uME7(?61_lN( z1_lOp1+bM!c4RR!Fi0v`Kt;@<G@SYmX8mVisI08~&%m%~(W3th3<iNs{}~t@CmsIJ zz>s+PF-ZLXXOMWJ<9`MQ&qbO485jy5PXddd{?EW*k;?!QUnKw%{|r*I=rhP1i%gJs z;35z?>otfx{TXDkXC#Q-)deD7Usm|f!0`Vw$h1mFkjUXe5cwah>;G+#Ig1QHB98+> z<o`+okowcR{xdLa5&*GpJ0^le5;uX!U9bN$Fw9Z_`Q^4F$o-!a|Nm!Tc)STjCJKN| zo8$=c%c4S%$YHR!1_Q`6M@NuIU=xU3v<pNkFo4W-O#BTBheaTfNtZz+B&;@V0?EF9 z4YKk7|Ns9tF)%Q&fYJdpuq!Jo7cE+35ZL56>2TuZ$BX`dHb`{zT$EY(c+#T(r!8_B zJXZ-6es)~+d67jXL*OEYS+5yRe{S-OWa#Q*0ENouNtKQapukwf@c;IrMFtF@0H`$h ze|py@0Rxby6F2?e^?H^<<!#5qpA-K--t<3FV9_MU&x;EGAKvs|gJGAW<Nv^>|BH70 zS76xWnD{$!(f>)8|5sL4ZrZd7<m&(b<v}i1U<M}v2mwkC><m7Mm8nGvhOP_@46F)J z2_^{508Z`|bCMGp8vbt=|J$C(rqZC(r^lcA-+eLXtHbH{A3L=De<3m5VyOf}WnHZw E0OzO=_5c6? diff --git a/Sprite-0005.aseprite b/Sprite-0005.aseprite deleted file mode 100644 index 5cb09cbc05f461edfa2ab95d399534edb62462c7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 801 zcmY#nW?*=*l#xLJ3>g_17*ZIJfdvC2NRUB*K>%5pYV3tf3=F?MvVv`8Wnf?sV_;xl zR{&dyWJeYw1B0Z31ysZwO2euDVAg*IhRVvy{|pR^7A^YEz+e#A^q+yjanj-c3=D~v zAA`jIe+G#sI{s&1@LZJnpMjz9@g%VL>HiE27P$-{@l^sK@y{SNi#~(QvB(682QC7U zvtEP9)1N^mdq#rTU0opZ^<{<s3=IE2gG{S*1c@9j1d;#2y8hn=nX||MB=R^AME<Wd z0I5H{>pug-CIJxpwqqhlBykgn-1YiD1H&u@kY8>)g53W(@&A7YhR2&gWTF7bv`LO2 zzbq;Qi5v!tYcPOJb94lW1U7-lMY}+x0t3iQ$Hd>Da99KqnRFRMLc(g(CXnpw*B~4J z|NsAg69WSS3j-qq12nKJD=QZ*T4WH|<T&YY;^oJS{(m+|bo5-5S@?L;qW`BYav3~V z2^4;IT=aR7MJ7YwB8FM78BTw0@{DBY>S6$e%I8Uyjtro{Sj6!E_M$}w44?q0H28md z*Cqi2kf#$j{onO^mO|xi$HSi!|3BXJKT%-OB*)K-3jZJ8^k0Kvm!sqVz^4C;cKugi z*yNb_J8{wfNtgduR#tA>v<c+u|NrGdE>>U$CjkfnN)GG{K8cm7MGA%v3=9mc3JeU4 z42%r_nIH-n7~~k_7%JwxJ<G_;z`((*@O%0`-8**{GI%bxeDt+yZ`}Ipw?8rc*ZKP3 GRSW<KgAeEc diff --git a/Sprite-0006.aseprite b/Sprite-0006.aseprite deleted file mode 100644 index 2ef4231749dbc96b4de014745a931b1e2ed27292..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 594 zcmWGyVqkc%l#xMzL4ZMlfsuiMA%y`MC@?UB1i|vi;?!baVq{?W^^p~9D=Py7gBSw? z1G@s)N+c_8F)%PlDkwlj<e@Z#+UKSJpMl{<nah6$hF4cs{byi!vaIMo1H+E|fd32( zCH9v885ry}jQ%q)%+oLh$y$R{elJt{&%p3+oe7A1p7@`EA^EuPe+CA-PLKZ#3~Dh> z{}~u0ZS4LtFbMf|{%2rdnELWR1B1?sum2es{{R2~pMl}P={x@!7`kU~`Om-*mD%y1 zfx*fp4Ww5aWd45!5Gf&|`k#Rz!y@ND1H;w;keY9$RsR_nUTmNCpMl{}Yv%tf1_lNe zP`E4X^U}Xj=JM*wswc~ecH{??*jw6b7|qi#ePZqMy-exfI+K6T6O)ho+I4!U#W+dY z*a`V{GE995a?$_)2TtGVp1mb1v%|_IO$}tfi-d@3hDFZSfR1maRWG(rJJgy93N;o5 zW=NocNszbL8GI5eQ;QS~JsB7nSfL^Op9w6_zyOZ+iaFh<-u#enWslyu<l$8Hmdv&C iD*l{uU3JU0{%61CzvRX8ssGtm*ROnA&!85d-3<U6Nuh-R diff --git a/aimerthing.aseprite b/aimerthing.aseprite deleted file mode 100644 index d95566ff057d94048a55e57cc294124be4c7c5dc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 618 zcmc~|Vqkc%l#xMzL4ZMlfsuiMA%y`MC@?UB1Q|FOIFN;@#(u@f!0_uME7(?61_lN( z1_lOp1+bM!cHClMV31T$fQraNX*l(tfk8>Z<Ua$0tA@>g28J|C!~YBn{bAPs85r&t zs{LnRxVa$hKLf+N!?XS~F#P^x_Md@a=F@=x3=CQO4E{4Pm`}<3&%ofFssEpWA;??h zKLdl2jpcs^27CLG{|pQU2~GbQ7^3qY{%2rFp8fwn14I1TC;u53PT&6XpMl~3e~`%R zwcGzQFtpUQ|7T#x%*y)Dzz`W0^q+yD%&F@?1H&34Baj=ylm9a?T(8~*a@%yT{|pRW z`3C>97#J8>K;aJZoRWfxtA<UQrD1=V_5DJ%n+ww39iH|3liAFt0a^PD%%|jeXX*!e zs~Fi>+S`{HBs4|mJxrecKmP0!kX!!$pS^Z_OI>?rR#s$KP?=NL8Y82d;mOylclA&A z>dH3&g&K<jGd$2382*F8n!zWrGPOv-Fp+_QffeKk1_p-zOfXfTWKl6EIpF|rUYq)V z_Cy=64^531_8&X(!k%OCYj?5Z%coEH`{T@l5PM68G<K`Do2_zUN0O4h24B{1R{W#s QY5yWY<B2>&4)c;;04V9HCjbBd diff --git a/arrow.png b/arrow.png deleted file mode 100644 index af1a7bea4b90adc0fb999fb9062b34c88d7e87f3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 160 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s77>k44ofy`glX=O&z!2r> z;uvDl`*gxa-UbIA=G-G3H|r0c=X3w+u}8xrV?u%CN%7m4_Ooobw{80bBL!pq34isj z1$X31D;Tfl@eFdgqP?bQ>meU$!A);3nKu}+&AsdAaNCA4_j7qEgY6=F-7OkXaSRL$ N44$rjF6*2UngC8?Hw6Fy diff --git a/bkg.aseprite b/bkg.aseprite deleted file mode 100644 index 563b90219f2f574817bd30001852452e4e3cb5c9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1467 zcmdnZ%E0hoDI<dd7&0<2Fr+Xb0}BR5kRXEqg8;HH)!5do3=F?Ma)NE;WME(rV_;xl zR{&dyWJeYw1B0Z31ysZwN<*lB|NsAIV1SSd7A*MBzz`G^^q+xY-?hL085lC>{rS(p zAm=srKLZ1!RN#LGhBIeC>O0#(q=osO{|pTL{HgyL815bciL5IFkr5g@{xdKrvnBs$ zV0d-l=YIx<bGaY?Gcc4YPWjKkV8-nIpMl}i!TbLi7#<XC`p>}7q8#&|fx&@A?LPy< z$K!|oGceq%DfrL8(4?pGpMk-iljT1H!;1^6{xdL~m}vK(fg#_X;Xea|kuZq7c?;yW zWy@9nGcW`OfkfmLK;+3s^Zqk1H15*)&%j`q3=-ki0+D;3t^3cwkbK1LKLdkQHtT-| z1_phQ_?D-~|1&Uz9IXA%z`&QO2NKug`p>|y_5PFp3=CnL5Bz6f5QxbDiL2@UXJA;l za^-&p1{)h2kO%|F1O^6%|C<;X7+4q>85k`7{r~^(|NjLG76b(a?Ys6jbKW00uepp; zfoIPA?`;2XVZMi-KlSdB|Le;BM`-L&W=no`;ODvAkEM!J%$U7D9lZabU{i~7j020> z$K!|Y)f6=8sn~O}ytuIH#6-J%dyv;}-kQ5?xoTh#gS-O6$w%`VcWD?VGjMA$?0L2> z`G}iTHY<ZZ!<MJVLk`yRW$H2Lac#Z-By95mftU;iHQkjfSK8RvK;mB><YEOT2nS4p zJjBl6lUSKrq+ke<W(G?@2xMs^{L;ptq{gZM)d#l&lvyg~ygkgw$-uzFvha0$)$5NM z5wWXQt$Ou^{p069dUlKq46M*p{2xu*+$jfnoeX)Lw<imJOKz%95xd5~$;s)u@$VgH z)?aI9J-PYrYt^3h8{eJ3UH<o9{{H{Zp9NKKKDK7}+m*#ntaqk=dzE$O=C=2@?ILgg z>@B@jZoJx3nE$xqSNGqGc<%i56n~z6{qeJxPYS1U9zScSGN<F7Z`#V|mt{|CpPT&T zZlUC&nL)NocmjA&>X>Z5(!TEbkxQAbU)29}=zFR~$*q0Y621Cmr@LtRa@Sw`J}OiR z?3D>W^>B;X$NEd_ZZ6JuoxIxZ^0D$&(~{TidHLtH(Gm%(`Q|^Bi?`Z&#@*XA!)9*H z`gdXX7W|sr6ZCAA`Ke21cb<KA!*bq|`BOB5!hgPhGH3PtAIp6%RK}d|<gV1e6XR9= z$;>or?ibfDN<C5Wrk|I7Wn3n*<d8Zz^dP~89(r3R-{d`Pz~gM~cl}IM?7Fl54Nd|p z-Itms-1xZg!>5l``{dKD&uuK*I&a?YZ?8S7%lECb<O|>ZdH<Jp-&Z_)XY=&A#r5h~ z-=$~W)<?Y$oOSpo_qt#`8Me^&wDeD#Z!1ff+pVa4YL!@W&sU=JyR=?be64o;WFNsh zcV$m)JiOXw=8vVnN_T0VwW{m%%koVu{kn2`^#4h>zN~p{R_OcpZrRh)Lvz>V7VOxw zTuSX`LHVoblKhOtscYYF`Qe@?{HO1;8MBG>O0_34Uke^R+vI7o+H!%-t{lJrr4m7P zE1#EdepI6NPhfv0-?lsIF}L>!_MLKmq<fP0>BL_i_uS^H&%1xr-FBXl`)2p=cAq-g F3jl9AEad<I diff --git a/bkg.png b/bkg.png deleted file mode 100644 index c340d9c47979438c06b19873b83a77ff70f4b1be..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 661 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}jKx9jP7LeL$-HD>VDk5L zaSVxQog2QpkjYRWHcuv2kgJ1Z9rM$7jW;+=EtCU!OB~!7c^1BGnBl;vI$<93?~|*a zdRkSc+lWmn`<`j<zw7G1Jv0A`JgNFEqP?_IyRhWZyp22gs&Bo^s=s$emz}4hG|IZA z<HX0h1q$txoORD^Fm1EF(7U+$=KJLnu6?X8t(^1h^;=_Z;o>`7#?}qI=H0hmeX=<F zX3Ac^!j899)8}l~h}bK_m{!nvfV1a%R`X5SzVFRHG(BWujh0<ZUaRs>@~Ca{t!9n~ z-#^x!I9BERWIMM>R&~?7kQaM(zSnVax^ywHZTs~2MV!{QXAvsr4gKCNpKz5`sqHT_ zn?v`}w^h?cvivrNH@5^Y%RU&SbSd}9wHr284(qpe-SmH`&a{i6be_)2BNvx4ZFOC> zIAiW+k)+xNqtz+ha-VPTZ&<68>ToGGq4Pu;i;U6BhuxF>Rx!^0{(sy3pywaHhuykk zbc0!7k$>OE1?ncu*KYVTr#Q^W>-3IWmwcA_%#3#o+${AvMoXhkGHlS=8onjX=*17s zlmiDFrp=j=;u2EzGecq5+lc93#NIDbkK~lOtsL}DrAk)ca7FK{%4qpp8&AZicwKq7 z{DPn3YsbLLsqG5|H{@HW6_$K)Y`p*N?}=l##E(e|Zz~GdHYk%eiVo{?y>a^Uuf@(w z?tBm1BtEh3|J6$epGltGb|WO^;B>)c+lCc$Cl#_(xGc|FA<D^<bA7kVSphM{(=#qy z%-mS&w4dAL*1djV>6t;&%l$X^um2voI4Y`U@6oVHj-RXE{>+{KV#mIl^JeXvntw~m W_;=(-wId7+3=E#GelF{r5}E*^&o<%! diff --git a/boringaptwalltopcorner.aseprite b/boringaptwalltopcorner.aseprite deleted file mode 100644 index ca73affbf65908e7f499131325e503b76c685b2c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 791 zcmWe<W?*=*l#xMzL4ZMlfsuiMA%y`MSTHbx1i|vi;?!bKXJTOZ^^p~9D=Py7gBSw? z1G@s)N+c_?7#SEO6)d14=1>|={RgxDGcZ(ER{m#TShQ%-e+CAFz^4BU433iy|7T!G zy!;p>{{J&bJkjw#1B2(H%>N7wg^wqJ#ZUidV6ez#0Ew>>0EvGFsaf<HWR689NIY;6 zh@ABrM4tW(GTAc{#O~?>k*_Z+{AXbJ{~2Ujr6Wk>a3P5N57zbnHprYs1|X5gfgtjK zr2$C&>0SRB7&Zxj*tZ=MK_ZEpK;*91{}~u&DS-TP+Y#jc&x!y4GcY{f1R@g!K&DM{ z1o>rAAxPvfSX_evWSXNRNF=ZcL@wF|A{7`wW;!PR28F{SkjSLVAQBQ*n>K-DU%v*~ z`2YX^|C<;X7+65*02<hpm6eMYEiwpfa-4KH@$%zE|34cfI(jb3EPOm^(f`vHxeT7G z1PVVpF8aL4B9kF-5yPz445vRgc}6mHbuoZK<@2OUM+Q(}EMoY7d(k2T22cQ08vH-K zYm<Nh$kU0N{_lD{OQG_%<KfSV{~vGqpD3_slH=z^h5rw4`me#T%hB<FVAKCayZ$RM zY;sKeow(@#q|5&+D=Rl`+5~d-|NrtJ7b`G>lK_MOB?oo}pTx@4A_YS;1_lOJ1*ilQ ngk}II=ZZPEw`5-a@4L7{g!$v^>+3y_E&kQMt&U-aX4EnOE`<wb diff --git a/byemclogo.png b/byemclogo.png deleted file mode 100644 index 77c6c94bf87712c1e8102172e70401ae8cc8eee2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 205 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}jKx9jP7LeL$-HD>U}*Pr zaSVxQeLLkW?*Rpl)~zqy-aWM7duZ|Qq0g6;NBluizI*n(Pf_8Q6EJ0CU^tNYM#sTr z%hm~7bJj)+?VQlITc%d{^u^8TeuoP^*|sbT6HpI$vHP0Dq+RO*eGjx=>4^+pa7{=0 zg|K+hmsfu2I_n?!Za#Wo`rYD>Yu6`Cd-Gnauik}$fuZj+L&GVvvbP`3PhwzTVDNPH Kb6Mw<&;$T2GE)@* diff --git a/crazyabackground_a.aseprite b/crazyabackground_a.aseprite deleted file mode 100644 index 7d6bb68e7198b85f8eec01d573f37e60ea12b8dc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1338 zcmcCwWng%)l#xLJ3>g_17*ZIJfg%GVNRUB*K>%5pYV2Js3=F?M@`G*VXJB9uV_;xl zR{&dyWXA&r1_nt5MW~1Zl!jCP85oolO#U-4xN6w^XJAOPH2lxN&>v>~pMl|iq1t~2 zhMNo0{xdMVJ3Q+@1H<o6X8#!&W<Cx0&%lti&)`1;gZY%a{|pS?nfm`37=pZ2{xdKb z*;xK(V6e9@`Om;$kkIs>fgw8Y;eQ5(<k|oKGcd%Tee$1y;q>i4{}~wm{|AZ8Uc3E2 z14Bz)`+o+8%&e^c3=ENBLH`*T%AC6XGcc?%G6K0FJo!HZ!}aQ2Ah%8T`p>}7l@GFA z@OAwETm}XP76wKJ29Ot(6ii$-Y|<<Z`@^j77pmP{koNBItlyu^W<Cwb+Gk)sCC@uk zKge6f$i~v%zQiD*DLU_A^6dZdXP<yv^#A|twcA_j+B37VBEy2poVwN+8Qly|zFxhn zf4Wy!zJcKDczKXz3e51(V_^6X3Umga#LCnn1w;JOCita|@JpNFmo`P0=0b6ru{i?+ z11mK4|1-fn07|+QbKV|i<YZvrVOjV(zUuWyjfmJ)t5&`G!v68|AH5}DZICpDp>5h} z-UA9e&XU`1m$8;*`tN1+5I(+6Yr+mz`_IN((ze&lxqg{lb!F9(G}hazV^78zO1u&5 zKDo_i!_8^zX4Ta<<n}#ttW=*mbIF;Mr?Z#TOrBalX@%G!=P+esxvg!2vR@>t7KfL% z+w9^ov)-Q;89Vp>yq*7Q_fOoKVRoz8=>3#RdC78S?M6-OUa%V>e!_6$1xLOH1s<2c zyjPujS-)SHI-6-*YnexhM~vX}zX4v=eVgOXU*B0Ke?D%@+nZ-M>Hfa?ZFcjfYPnl- zrV6<?KZIAe`_DGZy|pE?{-~R|hwx2<O#-~LCf-cAdoJTco}1a3JXe!7d29a2e{H*U zj@R6KrRgTHV<0I6!!gqw`5Fv3SbjF?fBFAWu*&G8!`jn&1shc2OwQ<RHJddv_jujC z>73jTR~frhtm0WS`{aTd*0UUUKGWzvd&a={PW;W8?`AG8o*%Mn@4YPZ(*bkz1CQO_ z9c(aR-$flA=9kV!F7uUNpEeS?uXg&yo%@R=m5v%&-SyEe-~0Pz{JW~}_rJ|9-xu~Y z;7{|4JNN#s;W7Tl8vj?&(h}@q76wiRAqIqt`55>ZD&{07BqZ#ZT=dJHxszcDdz<^$ zzE`q*RgNYMymO0dt-u;t!D$Jh5uT)Y85lU27r1Zi|NHrl9G{ud?G>w5ty(W{wQ+?H E06fB+v;Y7A diff --git a/crazyabackground_a.png b/crazyabackground_a.png deleted file mode 100644 index fb947fdeb7958abfbc47fc4db70a62abcdaf7334..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 554 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}jKx9jP7LeL$-HD>V0_}~ z;usRqx^~*ayu%JWZU3L}YW4PrJ`r8C??A-TO^+UVCOb1vRr3uFj9mKY;l{m3r-XAz zX}(b|N%-{k{Ly`%mzur`-MIh1%<aO~pP!6=|7p8Xx%WWYey-<lKejA;KVkE}%)|MW z^B%9OyT`~Ne?Fdhf7F7cH(PAyxgA`7z|t<Bk3s9qba7rizo-w<2ULZ(vOPC;e(W>l zfaIwpt+i}6Gc{T_7pkp_EEkV!4CS8HvGPNNi@*ZQ%IrlV=RUf}9$1#DvaU1xfx{Kn zo$ZpB%yn<weW+#O5Iez0SD5F0+&r~|=U=z#Gtb)0cHY-Vck()(BYri0XF0jgJy&9k znsBAy(w|4yBeOHl9<=PZ(lnLxZ2#ZaKNR)n+~2FJbahdYnR+7EIrA$~8<)6dXaA{s z;Cnyz?xKaf%WEd+Y?Qi_6<92<(U|=&Zoi{+RO_S0{BNr_loigoGe?5sLrv3Gg+H~| zx%5<>?sgQJKmWhg)Z6%U{N0W{AGRN_7N4WrxB6V;B-br2E}PiAxcU}u+Qs~M>g^`) zJ7wiRgcbh2TKg?XP)vql)xU?OTlk+mI8eW<c)jv==dc<2`l{y7A0$oVIM=iFK%3_b zp@*4Ur*QD<iG6E~{$_bU=19c+X9w*Bx<4E$Rtoa&v}DgSOwqBpt)JSuW$uYXUB4I@ P7#KWV{an^LB{Ts5=THNe diff --git a/crazyabackground_a_big.png b/crazyabackground_a_big.png deleted file mode 100644 index d7a709174d66dc7a88575cf3451f9614d1d69f1c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1949 zcmeAS@N?(olHy`uVBq!ia0y~yU~~Xs4mJh`hO-lvu3}(dU@Q)DcVbv~PUa;81ADlq zi(^Q|oVRxkyFwxv+AglT>FBIJnTKs}>oHy*wHcDq{4*pwIhYS8q^L<q&)&(sQn$pU zbD{T)n+^x>EL-<C?*98ZJ65dQ7GHbk!QXw4AD-M?&(FMWUyXF-%@X@K8`-M6r}@v< ze^R%6e|PzN=k>dHTK|3Gf9PR>#htr%@;()(|F7NtYoG1^=kHg(|Nisq^_B0<Z|g_b zGc>H_P?(_F;4qDWDUyjJg%g=0>pop!aoEo0+LDKcvyYyr6qB2N^Y@~x)kiyok(Ht7 z;Z&GlTFYsa^}hT_e^lzi4O2t^{SDhW&wcGCi9#lpO)LT@gd7yS85(sM(Kyp8)lTGy zDNm1l`hBggP1^0>Nk=$wDrONlAr;s3=5ODRz4iM7tK$RS{QcY;^|UJTXjr$PI(7>n zR==(&-8Ju*&xF9}yMp^qF(s^aJ(eRTcjx#U!k*f6O7`Pw9WI;0kBwHxoHt#3y&Hcp z>|rT%|5LeIM`T-6&z*h$cbq(5YHRPed4Iki_TYwu<F$_;p4_~W-c%5mYnb%#U~SIV zzXf;$PRFq<?S1#ewRZPko?X50`rSKo>prPJwEI?PYt4umrw~g(u{}+p|4LZ-jq_%^ zKFm0q^u(w-zM`jyfK6iCPs#o+H{Tw7KR+bbaMP(nCyX5#{<ULCJ5YO6PbhCaCHp(t zRybwbUVXQ3`#5gB`fQ2UUB_2n{(3<u<(sjb#d+D^&wKUU+{7hU+a#yFzkWJrbA3GC z=*_O+G&+^^WKZb38}hLMclQ0a`1-u>)~oMxbEnqtU)xi6e-4(U2T2*;42^4EdQS-4 zYJDz!bH$FHR-X1|VFdv-oRL*(V^e9ig(Wieqe0fx`{k=!kDtAp`Re!Ezwb9*eQv$C z()7!&oAv#n7I=Mo*n2|YyBqfB4?RxI`TBisZplN#+xPzO+l)VqE`u{>^8G`P3pa7> zI-^A(DQ>+flrqKooBrlgvcDI{)m7Mi{k!kqx3U+do7Ydj8B_lpzhyhqo7QalFeCSU z`J3}`6+OTH{CcfsU#`8CaE?iOSUB^d^`r0qe!4|g*!ZoEsmGu6KL{N;^w=oc_H)AO z``_2w*WG>cJgVZ&>3amT%&QXHuQL@E>)3odn$+_9#;dBCXYm#uv-YuU{7^9m6ck@} zmCxVz|A~LmyrU-$-}wDK_si$I`~F*eu_BbtimE<mz2Hs1f6;b!>+!=IByLU*-IpI8 zzt6YU9<SEd72ki)51!AtNtC<4-LU%OhO17AQ;&AE9#6%eHbF)HLe&#m<#XQO)#C2I znbkdU?YxznP91uDynDIx`eM9Uw{5z@VjZ`0n?F=Yh$%l`yXnIW`~hSYH+Nn8G=;_g zkN;Z{DyA$Z*B_i~XjHZL&0k5m&Gz#N6?~FgPbH<iFMspdAZ+J9P*QvKyLZ;z=D@`S zO6TlfLMd0mx&^uU`Pxh8d2armUh!rwUdz79TSecQ>X5G(%fP_E;OXk;vd$@?2>=CW B{bK+C diff --git a/cursor.aseprite b/cursor.aseprite deleted file mode 100644 index c770b6a9dc2399e64bd5520c1ebdc6207a4afee0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 808 zcmdO3W?*=*l#zjxfs;XjfsuiMA%y`MSTHbx1Q`Sv1dxTP#$Lh1!0_uME7(?61_lN( z1_lOp1+bM!c4RR!Fi0v`Kt;@<G=%#1|Nnmm1_-%e!Giw`3_(Fb{}~weUHki=fgy9= zpZ^RDa$a-)GcYhp1^#DXICBQ1zOx-fTA1(o&%nUXpZcGH;qDQT$htBR8KJS`KLdj@ zTk?MfhF1rE{%2q~m;3QQ14F6el>ZD2X3XCI85lkty#Jqp;X%Qs{|pQ*$}#^L7#vvC z{xdLqJbvgu1H-+Vg8vK*O?oQ-85rz2S^hIHytuIHKLf*wiFW@P81n5I{xdKb34_R+ zw?J-Nwp{f;14CdCNJL%%M4o&!?>_@W<1UT=3=D?JAQ5gY5V_~sy8jFe$w%D&GcZVH zv;JpbV9*DNZ+UwBKLbO^!P@@}41Ae-AaOme{|pRU??3s^z!0|iz<&k?ftU=CxSH;N z28NX@SN>;Uu(7cLi7<dnU|?YQzlni?fd!NfEdKrf|L_0*1q&7g1qJQ9_BV6hA33kN zj8cJT&iwCe|8HTwho3+7?velN%Kk@a>`-P)es$pIx!jMXic`#(y+0ki|Da$~i*k$u zi`vKIhwjxBH0i0>bF#d+u<FD_yL@|)*KgjMyKK2?U=V}60>jBi^BQ+)7$!4tYccG3 zwl4XIn^ZO{gFeHSr^iDM*79ZQG3aq^z5gU^^8taF3<fpbl`B`;*w{egUmoOQ1!f2b zOoBYb&ft?+nOdY^=+3~vz^VWiXZX(qp&1xB7&sUz=KTKt|NsB`j2Voa4L{7x%rqn- fd3V|D{Pl4rbF%Oz?pR*4${A8KWEh@)DxCrV)syqP diff --git a/favicon.aseprite b/favicon.aseprite deleted file mode 100644 index 2d148083edd8d75b94c32f6b338c0d85d4b51266..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1707 zcmZ3@#=!7kDI<dd7&0<2Fr+Xb14{-*kRXEqg8;HH)!5o>3=F?Ma)NE;WME(rV_;xl zR{&dyWJdub1B0Z3B~-)$O2euDVAg*IhRVvy{|pR^7A^YEz+e#A^q+yjanj-c3=D~v zAA`jIe+G#sI{s&1@LZJnpMjz9@g%VL>HiE27P$-{@l^sK@y{SNi#~(QvB(682QC7U zvtEP9)1N^mdq#rTU0opZ^<{<s3=IE2gG{S*1c@9j1d;#2y8hn=nX||MB=R^AME<Wd z0I5H{>pug-CIJxpwqqhlBykgn-1YiD1H&u@kY8>)g53W(@&A7YhR2&gWTF7bv`LO2 zzbq;Qi5v!tYcPOJb94lW1U7-lMY}+x0t3iQ$Hd>Da99KqnRFRMLc(g(CXnpw*B~4J z{|AX*U7h)VD+2=q3j-qq12o7hD=QZ*T4WH|<T&YY;^oJS{(m+|bo5-5S@?L;qW`BY zav3~V2^4;IT=aR7MJ7YwB8FM78BTw0@{DBY>S6$e&F4v#jtrn6S;X-F_M$}w44`1B zH28md*Cqi2kk=D8{onO^mO|xi$HSi!|3BXJKT%-OB*)K-3jZJ8^k0Kvm!sqVz^4C; zcKugi*yNb_J8{wfNtgduR#tA>v<c+)|NpP9&Xfl^T7emy79a#DU9dCwBvz&tDH!9I zHo`A$xQBs(fmH!&EE9xg0Oy&CId89f^EDZWxINsfrNne8=vTttfCS0?+Z#(7+9q~# zlouSk|Dz<l(QZnBx#jer?^1SC0{bU4onPscs3FCp`ZZ>i37ey5Z=h6<>C$OZ-GR|Q zijNI$s=9C0-KG4q>F?biroS)d-{{{L`E$DP@4Tn#{~!J~{-OE%;`tl>b#-F#c|Wq` z>wccRF1^ooUHnG*+Mlxf?VHx$=;!~C9l!s#ej%g4g?g~tL3xUU;Xjhw1sN*lT%Bad z$DqK${PTZ!Ws8-?Dh+j)*#@2#OG2+Ml2-M-C-?H!!#$^#?~eWx*#C9@)!)4Tbl3Z( zUyfD!snR~PrpkVjZnys?4dK+!YiCcWne)k3&NW4OvcIuZ;1T2ZZ|?sTEqy)xwg(d^ z=$IH7890%wmt){(sF+hb<#~{ZqeyG5sjl}@AC`jwTALEf1Ooy?47!^ZXgIbWnq%<b zvrm-#GF$U6W#@B@gG>MUd_5B$e|O*W`~M6tTXx7e_9>}ntI0dLO(-_qe7<_q$F`Gd z6SGhF9A2`0w%Xp?I&(ayDNo+xaxJ>``<Em4Z>#-leY4H?IYUJI1iL2|Mhy2fpYRmz zi+d8s_MWRqb|>dMnH}G~?}#U?Q<7$U$2VjD#Ql#SRoy6-Em`-ob=S$`uhg=+_P?$= zymJ}<gvu1dN5*e<T{Aj4o8kNN9Y)uSb?2XUKe)D8T622L@}pPhdCE8b6j_sgD)f4a z@qy6rXHnOMx5nx1G@G!kXuZ{Sz3DOH2cp8(?NW<oe7ElS*5bGP1=)|hic{C^TDDp4 zyJt$!j!Q8!SFih6*09>=*{baH4b!t@H*-Fn^ji1F-H$t7&03=o9{c$F3H2Yf&Kc|K z=V%xAcWU2#D5tmc(mNl`a<`bv)hC>f?6Px@)BL`6$1(Yd`U!t8-2FJ?Oz8C*ivzix z+GnTUy)v~-y>?A;Y*$xxNZH+&rKx%Qza4qW5FVRZKErzT?!)UgSzo*Q&BbY*{E@9i z`<Nfin$KIH9^-FNer{*k->@y}aopy0&tq2axVH69=b5io6L(%Kz4tgv{Zh=&`>(v_ zMx2x_n>!=^(!7k5?|#fZ5mU6)cB9H}=XI_1lV69=%vQZ#_Q>^mXXNd#`~T0q-&y^& l{!e7gOTO@;wXZV{l<qq6)v9p)zwPU;bcWvfzu>aXCjgqfyQTmD diff --git a/flor.png b/flor.png deleted file mode 100644 index 43994096e654327fd5069110a1a5ebae7b11e219..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 175 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}jKx9jP7LeL$-HD>V94}z zaSVxQP2RK5=9N9O)CGf&4iE2JY-Wz-yviVa)<>?CVPeC_|8HF-G8^V49B@v!!l<+5 z%wvOw^)Zqk1SCoiWLO%!V(2Mqn3v1Q*5)X{w3tsqm)%X)A+WkZD)m@H`+*hAZl@aq c*%=rF@>C>W%iL~ZU|?YIboFyt=akR{09t=J)c^nh diff --git a/game.js b/game.js index b26a15c..0bdc46f 100644 --- a/game.js +++ b/game.js @@ -1,16 +1,14 @@ -/* +/* For js13k 2022 Theme: death */ // CONFIG - -const fontStack = '"Comic Sans MS"'; let id = 0; const pi = Math.PI; -let o = {showFPS:true} -let pause = 0 -var gPar = (key) => { +let pause = 0; +let lPrefix = "bye_dbh_" // this is for JS13K's shared localStorage +const gPar = (key) => { // Address of the current window let address = window.location.search @@ -21,6 +19,33 @@ var gPar = (key) => { // Returning the respected value associated // with the provided key return parameterList.get(key) +}; + +let getStore = (o) => { + return localStorage.getItem(o); +} +let setStore = (o, v, ops={}) => { + if (ops.c) { // compression + v = lzs.compress(v); + } + localStorage.setItem(`${lPrefix}${o}`, `${v}`); +} +let o = { +} + +for (let i of Object.keys(localStorage)) { + console.log(i) + if (i.startsWith(`${lPrefix}o_`)) { + switch(getStore(i)) { + case "true": + o[i.slice(10)] = 1 + break; + case "false": + o[i.slice(10)] = 0 + break; + } + break; + } } const customLv = gPar("lv"); @@ -53,7 +78,7 @@ class Canvas { this.mousePos.x = ((evt.clientX - rect.left) * scaleX) + this.camera.x; this.mousePos.y = ((evt.clientY - rect.top) * scaleY) + this.camera.y; - + return { x: (evt.clientX - rect.left) * scaleX, // scale mouse coordinates after they have y: (evt.clientY - rect.top) * scaleY // been adjusted to be relative to element @@ -85,7 +110,7 @@ class Canvas { this.ctx.restore(); // console.log(`${x}, ${y}, ${w}, ${h}, ${cropX}, ${cropY}, ${cropW}, ${cropH}`); } - + drawImage(img, x, y, w, h, direction=0) { // alias for drawImg this.drawImg(img, x, y, w, h, direction); @@ -110,14 +135,14 @@ class Canvas { string = string.toUpperCase(); let chars = string.split(""); // console.log(chars); - + let charWidth = 7 let charOff = 0; // check if there's an odd number of chars if (chars.length % 2 == 1) { charOff = 1 } - let strLength = (chars.length * charWidth - charOff) * scalex; + let strLength = (chars.length * charWidth - charOff) * scalex; let charHeight = 7 let strHeight = (charHeight * scaley); @@ -126,10 +151,6 @@ class Canvas { } switch(align) { - case "start": - case "left": - x = x; - break; case "center": case "middle": x = x - strLength/2; @@ -140,9 +161,6 @@ class Canvas { break; } switch(vAliign) { - case "top": - y = y; - break; case "middle": case "center": y = y - strHeight/2; @@ -152,13 +170,13 @@ class Canvas { break; } - + let charI = 0; let nextOffset = (7 * scalex); let lastWasFull = false; - + for (let char of chars) { - + this.ctx.fillStyle = color; let row = 0; let col = 0; @@ -169,7 +187,7 @@ class Canvas { offset -= (0.5 * scalex); lastWasFull = false; } - + if(ops.shortFullStop) { if(char == ".") { lastWasFull = true; @@ -306,8 +324,8 @@ class Room { } // INIT CANVAS -var fI = fntINDEX; // in letters.js -var c = new Canvas('gameCanvas'); +let fI = fntINDEX; // in letters.js +let c = new Canvas('gameCanvas'); // check if the canvas is supported if(!c.ctx) { alert("Your browser does not support the canvas element"); @@ -335,7 +353,7 @@ let dPM = _=>{ c.dT("Death By Hamster", c.w / 2, c.h / 2 - 40, 2, 2, "white", "middle"); // Load images -var images = { +let images = { "mouse": { "ingame": "./aimerthing.png", "cursor": "./cursor.png" @@ -353,19 +371,19 @@ var images = { } }; -var loader = new Room("loader"); -var loadingText = "Loading..."; -var loadingError = 0; +let loader = new Room("loader"); +let loadingText = "Loading..."; +let loadingError = 0; loader.drawGUI = () => { c.dT(loadingText, c.w / 2, c.h / 2, 2, 2, "white", "middle"); if (loadingError) { c.dT(loadingErrorText, c.w / 2, c.h / 2 + 20, 1, 1, "red", "middle"); } } -var rooms = []; +let rooms = []; -var loadedImages = 0; -var totalImages = 0; +let loadedImages = 0; +let totalImages = 0; // count the total number of images to load for (let key in images) { @@ -380,11 +398,11 @@ loadingText = `Loading images (${loadedImages} / ${totalImages})` // after all images are loaded, and no errors occured, start the game -for (var key in images) { - for (var subkey in images[key]) { - +for (let key in images) { + for (let subkey in images[key]) { + // attempt to load the image - var IMG = new Image(); + let IMG = new Image(); IMG.addEventListener('load', () => { loadedImages++; loadingText = `Loading images (${loadedImages} / ${totalImages})` @@ -403,22 +421,17 @@ for (var key in images) { // add the image to the images object images[key][subkey] = IMG; - + // draw the loading text by drawing a rectangle over the previous text, and drawing the new text loadingText = `Loading images (${loadedImages} / ${totalImages})` - + } } let levels = [ - { - name: "Tutorial", - data: "NrCMBoIJgXXNLgMx2AVkQFlRXqrgAMy+R4s8BxoqmZhqGED8GVjyRHdL64AbF1bgMvDAHYhwQQA4p0EvAhJFCOiiUDVESRoSSK+yDi01NbE4MMQMem8c10za8qgCc5V5pXXOzhc6SxNjCBCEIcnbgcuE64LHgHglyaCYeqZqSGQgeUXK+ggmgwSbFIqXE-GkCJnJV8IKC2YKS9dIi8ahZ5fCtNb3RDu0egYle7WWGkmV6tp3CdOEEkuIcoMprBHqCoCp6BLvzwAcq2Sf9x5Aqq5RX0aSHbqSSMs+JXeDTvHKHxZuQYkguEBZT+whGgJ+vAgclemjkT3hn2qNwQZVRuB0pQgbUxRzx2VwYVKBFxkAIhPJyM0oAIcLRBERaIgTLx9NBxHZYy5HlZAPeMCAA" - }, - { - name: "First Floor", - data:"NrCsBoGZwBgXXMALLWCzgIxsRATDsAJzgF7qYEry7gQ0YBshEA7C+ABwckMSYwOmbAwKDMFKFknRyibAQnys05QvRVVwTXO2pdzSoQFZBuxYo1YyVo5EnCoD9WuxLgb8ZJLvsJXX5OaoL2ytyhHuDsEdgQMeDM8fiS7AFcpBQozGn8koYpWtjcvlLxBPHYEWJBeigR7ChI6BAQTbTMbRgNzemdECR9puCDjp2ORp2G0J2K0KC20IxWgjOo84jVSxtY0Kw9Rpz7RfuCh7QkZxjcl2xcPRA3Ko8EjyiP0I-Ml8Uf6OynyyiMmGkioDhBajooKhyjmkhQ60ii3hCRRe1hQOUBHRkQIW0i2HxbkxkRaeRhkXYiKKFMC1KG9McjIIzNRamxzhJni5QyJ4BIfJIOJpwvSfPY4p5zGFgmYfIg8q5KEcSzgQA" - }, + /*tutorial*/ "NrCMBoIJgXXNLgMx2AVkQFlRXqrgAMy+R4s8BxoqmZhqGED8GVjyRHdL64AbF1bgMvDAHYhwQQA4p0EvAhJFCOiiUDVESRoSSK+yDi01NbE4MMQMem8c10za8qgCc5V5pXXOzhc6SxNjCBCEIcnbgcuE64LHgHglyaCYeqZqSGQgeUXK+ggmgwSbFIqXE-GkCJnJV8IKC2YKS9dIi8ahZ5fCtNb3RDu0egYle7WWGkmV6tp3CdOEEkuIcoMprBHqCoCp6BLvzwAcq2Sf9x5Aqq5RX0aSHbqSSMs+JXeDTvHKHxZuQYkguEBZT+whGgJ+vAgclemjkT3hn2qNwQZVRuB0pQgbUxRzx2VwYVKBFxkAIhPJyM0oAIcLRBERaIgTLx9NBxHZYy5HlZAPeMCAA", + /* lv 2 */ "NrCsBoGZwBgXXMALLWCzgIxsRATDsAJzgF7qYEry7gQ0YBshEA7C+ABwckMSYwOmbAwKDMFKFknRyibAQnys05QvRVVwTXO2pdzSoQFZBuxYo1YyVo5EnCoD9WuxLgb8ZJLvsJXX5OaoL2ytyhHuDsEdgQMeDM8fiS7AFcpBQozGn8koYpWtjcvlLxBPHYEWJBeigR7ChI6BAQTbTMbRgNzemdECR9puCDjp2ORp2G0J2K0KC20IxWgjOo84jVSxtY0Kw9Rpz7RfuCh7QkZxjcl2xcPRA3Ko8EjyiP0I-Ml8Uf6OynyyiMmGkioDhBajooKhyjmkhQ60ii3hCRRe1hQOUBHRkQIW0i2HxbkxkRaeRhkXYiKKFMC1KG9McjIIzNRamxzhJni5QyJ4BIfJIOJpwvSfPY4p5zGFgmYfIg8q5KEcSzgQA", + /* lv 3 */ "NrCMBoCZwFgXXGcBmcBWBTX0dCPg91MiA2E8CAdkwlRsTRXAA5Mno3ErLXapiiCNHJCBDMDGaiwwlBWiQFlTFOgAGds02NY4HcCZMDTUvq0tzunifABOK4crrHTUBFugNW0Kk9SDM1BjTB4pAiNYLTMI8DD+HgxEenAZdzi+XSkuJyYc00zCDIl8OP4pNJdTcsEkI34zJKQzNNSysSYS5lB+VCVdVGRMGPkxNRqejpUhKqh+JiGxM0XmuaXppB5JzbWdlYhLfdZdg42IB23zk-tRpFAXI-vrp8vKCFf0x6r+L3a7itoLlAUiaeSiugcsSeUPwPmgBCC2AovlqKJRMjcqHyb0Kbk4Phc2Ic2MsOVOTVOXUsrQcFJuNL+7xcJSBLla6XZ1B+Im5qJxdJRXWBfzc2UwlmChTwnWR1VwlHq8slBGlu1VK1V2wuwl5H0UvMegx+fWNZ0oUg+Uke4zEwoI70s-SKoB4TrwWx+Ep+F2RPEeh29tyCkORtNClAcGKgbK0kAgUcgPLEib5KftUGgRxTTo4eH4kCB4bjZuLFItDidwhclejtyr4KQBdR1dhybo+Z1iEdqBkZkgqG2ihN8v7tyHDfHoMolgIW3iiAtNmGUA8PksngctibBgt8jgQA" ] hamsterRef = { @@ -449,7 +462,7 @@ hamsterRef = { } } -var levelRef = { +let levelRef = { "file": images.level.tileset, "default": { "x": 0, @@ -532,11 +545,11 @@ for (let tile of levelRef.tiles) { } console.debug(images) -var targFPS = 60; -var frame = 0; +let targFPS = 60; +let frame = 0; -var menu = new Room("menu"); +let menu = new Room("menu"); menu.s = 0 menu.o = [ @@ -613,12 +626,13 @@ menu.keyDown = (key) => { } } -var gameRoom = new Room("Game"); +let gameRoom = new Room("Game"); let lvlS = new Room("Level Select") lvlS.s = 0 lvlS.o = levels gameRoom.humans = 0 -var player = new Entity("Player", 0,0); +gameRoom.li = 0 +let player = new Entity("Player", 0,0); player.speed = 0; player.maxSpeed = 20; player.direction = 0; @@ -629,6 +643,7 @@ player.y = 0; player.w = player.crop.w*2; player.h = player.crop.h*2; gameRoom.o = [{t:"Next Level",a:_=>{lvlS.s += 1; lvlS.keyDown("Space"); gameRoom.tutorial=0}}, {t:"Level Select",a:_=>{setRoom(4)}}, {t:"Menu", a:_=>{setRoom(1)}}] + gameRoom.s = 0 gameRoom.pseo = [{t:"Back to Menu", a:_=>{setRoom(1)}},{t:"Level Select",a:_=>{setRoom(4)}}] gameRoom.pses = 0 @@ -641,10 +656,10 @@ player.step = _=> { // check that the player won't go into a wall on the next step, and if so, stop. player.checkpoints = []; for (let i = 0; i < 9; i++) { - + let carCx = player.x + player.w/2; let carCy = player.y + player.h/2; - + let pointOx = 0; let pointOy = 0; switch (i) { @@ -719,7 +734,7 @@ player.draw = _=> { let carCx = player.x + player.w/2; let carCy = player.y + player.h/2; - + // get gunx and guny by moving backwards (gunOx and gunOy) from the center of the car in this.direction let gunx = carCx - gunOx * Math.cos(player.direction * pi / 180) - gunOy * Math.sin(player.direction * pi / 180); let guny = carCy - gunOx * Math.sin(player.direction * pi / 180) + gunOy * Math.cos(player.direction * pi / 180); @@ -742,7 +757,7 @@ player.draw = _=> { } -} +} player.shoot = () => { // shoot a bullet @@ -751,7 +766,7 @@ player.shoot = () => { bullet.direction = player.aim; bullet.w = 2; bullet.h = 2; - + bullet.step = () => { // for each step, check if it's path intersects with any other entity for (let i = 0; i < cRoom.objects.length; i++) { @@ -822,6 +837,8 @@ gameRoom.keyDown = (key) => { for (let tile of gameRoom.level) { if (levelRef.tiles[tile[0]].type == "vent" && tile[1] == x && tile[2] == y) { for (let tile of gameRoom.level) if (levelRef.tiles[tile[0]].type == "vent" && !(tile[1] == x) && !(tile[2] == y)) { + console.log (x,y) + console.log(tile[1], tile[2]) player.x = tile[1]*64; player.y = tile[2]*64+16; player.speed = 0; @@ -922,10 +939,15 @@ gameRoom.checkwall = (tx,ty) => { } gameRoom.start = () =>{ + if (customLv) { gameRoom.level = customLv } - gameRoom.level = JSON.parse(lzs.decompressFromEncodedURIComponent(gameRoom.level)) + + if (gameRoom.li) { + gameRoom.level = JSON.parse(lzs.decompressFromEncodedURIComponent(levels[gameRoom.li - 1])) + } + gameRoom.finish = 0; gameRoom.objects = []; @@ -1001,6 +1023,9 @@ gameRoom.start = () =>{ } gameRoom.step = _=> { + if (lvlS.s+1 >= lvlS.o.length) { + gameRoom.o[0] = {t:"you killed them all!", a:_=>{alert("well done!!!")}} + } if (!pause&&!gameRoom.finish) { if (gameRoom.humans <= 0){ gameRoom.tutorial = 0; @@ -1194,7 +1219,7 @@ lvlS.keyDown = (key) => { } } if (key == "Space" || key == "Enter") { - gameRoom.level = lvlS.o[lvlS.s].data; + gameRoom.li = lvlS.s+1; if (lvlS.s === 0){ gameRoom.tutorial = 1; } @@ -1206,12 +1231,12 @@ lvlS.keyDown = (key) => { } } -var options = new Room("Settings") +let options = new Room("Settings") options.s = 0 options.ops = o; options.o = [{ "t": "Show FPS", - "a": _=>{ o.showFPS = !o.showFPS; localStorage.setItem('dbh_showFPS', o.showFPS); }, + "a": _=>{ o.showFPS = !o.showFPS; setStore("o_showFPS", o.showFPS) }, "v": "showFPS" }, { "t": "Menu", @@ -1262,13 +1287,13 @@ rooms.push(gameRoom); rooms.push(editor); rooms.push(lvlS); rooms.push(options) -var roomI = !gPar("goto") ? 0 : gPar("goto"); +let roomI = !gPar("goto") ? 0 : gPar("goto"); -var cRoom = rooms[roomI]; +let cRoom = rooms[roomI]; -var keysPressed = {}; -var keysLastPressed = {}; +let keysPressed = {}; +let keysLastPressed = {}; document.addEventListener('keydown', (e) => { keysPressed[e.code] = true; @@ -1278,12 +1303,12 @@ document.addEventListener('keyup', (e) => { keysLastPressed[e.code] = false; } ); -var lastTime = 0; +let lastTime = 0; -var mse = {x: 0, y: 0}; -var lastClick = {x: 0, y: 0}; -var leftclicked = false; -var rightclicked = false +let mse = {x: 0, y: 0}; +let lastClick = {x: 0, y: 0}; +let leftclicked = false; +let rightclicked = false c.c.addEventListener('mousemove', (e) => { mse = c.getMousePos(e); @@ -1320,15 +1345,15 @@ window.onwheel = (e)=>{ } try { -cRoom.start(); + cRoom.start(); - var gameLoop = setInterval(() => { + setInterval(() => { c.tW = c.c.offsetWidth; c.tH = c.c.offsetHeight; c.scale = c.tW / c.w; frame++; c.fill(cRoom.background); - + for (let key in keysPressed) { if (keysPressed[key]) { if (!keysLastPressed[key]) { @@ -1343,18 +1368,15 @@ cRoom.start(); cRoom.click(lastClick.x, lastClick.y); leftclicked = 0; } - + cRoom.step(); cRoom.draw(); - cRoom.drawGUI(); - - /* BEDUG INFO */ + cRoom.drawGUI(); + if (o.showFPS){ c.dT(`FPS:${Math.round(1000 / (Date.now() - lastTime))}`, 0+c.camera.x, 0+c.camera.y, 1, 1, "#fafafa", "left", "top"); } - - switch (cRoom.name) { case "menu": case "Editor": @@ -1365,9 +1387,9 @@ cRoom.start(); break; } lastTime = Date.now(); - + } , 1000/targFPS); // 60 fps - + } catch (error) { c.fill("#1c1c1c"); c.dT("Death By Hamster", c.w / 2, c.h / 2 - 40, 2, 2, "white", "middle"); diff --git a/gun.aseprite b/gun.aseprite deleted file mode 100644 index e44ecd49fb980b4433cf9127689b9d2254901156..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 924 zcmbQk%)szqDI<dr12cmH10w?iLka^juw!5Z2{H&U2p|hnjV;5>!0_uMJJ?os1_lN( z1_lOp1+bM!cJwhaFi0xcK}Bq#G@SYmX8mVisI08~&%m%~(W3th3<iNs{}~t@CmsIJ zz>s+PF-ZLXXOMWJ<9`MQ&qbO485jy5PXddd{?EW*k;?!QUnKw%{|r*I=rhP1i%gJs z;35z?>otfx{TXDkXC#Q-)deD7Usm|f!0`Vw$h1mFkjUXe5cwah>;G+#Ig1QHB98+> z<o`+okowcR{xdLa5&*GpJ0^le5;uX!U9bN$Fw9Z_`Q^4F$o-!a|Nm!Tc)STjCJKN| zo8$=c%c4S%$YHR!1_Q`6M@NuIU=xU3v<pNkFo4W-O#BTBheaTfNtZz+B&;@V0?EF9 z4YKk7e~`FMK-7N*hS1Q^{|pSJrKSHF7!>5?|1&U1OH2P}U=R=x_<w|ffq?~-R-h45 zSy{Pg(ISJuCdWyK6E8nr^#8L#qNC@c%)-Z$7X3eMk;~w@N}%ww<D$=tEHW7a7ctCw z&2aj2lV>DDR~G{)<UUWTbYuVp*dm7iw-+rkU;qVDrNRHxyEX|JfC46Q)BjzsXDL+P zc0Bw!@&DsZ{}TlkO>+FasPO;cP5(6*b~!r!4{Z9sXxD!QhE0x%zY`bzpLF?uWo6~2 zO`AYI`~Tl2ASyI8w6wHTL0(>3T3SFrKpx}=1!i!<fe@fX#LnQ8SeaU+V1!@VP>+Fu zfmMNl0hD6@GePu&!i1TjVvewYzz_X~HpvEtSe`aU-4b3l3$SWN1`Y-W283!Z29WCH ggaf=REG+*HXRuaQ&XG{zKU~q{Y{<{>a)RJh0D=G@7XSbN diff --git a/hamster.aseprite b/hamster.aseprite deleted file mode 100644 index 60740508b37dc1023ff0c9c38dbf2b14fda0c339..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3826 zcmeyw$H4GlDGP%Fg8+j910w?iLka^juw!5Z2{H&U2p|hnjort_!0_v%6xdcN1_lN( z1_lOp1+bM!cJwhaFi0xcK}Bq#G@SYmX8mVisI08~&%m%~(W3th3<iNs{}~t@CmsIJ zz>s+PF-ZLXXOMWJ<9`MQ&qbO485jy5PXddd{?EW*k;?!QUnKw%{|r*I=rhP1i%gJs z;35z?>otfx{TXDkXC#Q-)deD7Usm|f!0`Vw$h1mFkjUXe5cwah>;G+#Ig1QHB98+> z<o`+okowcR{xdLa5&*GpJ0^le5;uX!U9bN$Fw9Z_`Q^4F$o-!a|Nm!Tc)STjCJKN| zo8$=c%c4S%$YHR!1_Q`6M@NuIU=xU3v<pNkFo4W-O#BTBheaTfNtZz+B&;@V0?EF9 z4YKk7e~`FMK-7N*hS1Q^{|pSJrKSHF7!>5?|1&U1OH2P}VDR$t`hSFhfq?~-R-h45 zSy{Pg(ISJuCdWyK6E8nr^#8L#qNC@c%)-Z$7X3eMk;~w@N}%ww<D$=tEHW7a7ctCw z&2aj2lV>DDR~G{)<UUWTbYuVp*dm7iw-+rkU;qVDrNRHxyEX|JfC46Q)BjzsXDL+P zc0Bw!@&DsZ{}TlkO>+FasPO;cP5(6*b~!r!4{Z9sXxD!QhE0x%zY`bzpLF?uWo6~2 zO`AYI`~Tl2ASyI8w6wHTL0(>3TH4FYOB&<{1!j;hz=;P!Ff%wO7Rf-R7~qni^u@y9 zl%G;5hgFV^!6!34qoi0Ct1K%+aB5;nF)m|W^7D)2v1(*z@X1V0%_~lYNi)J-1adAr zgGXX+aY-tYZYGd80|O|DF|afEBvz&tDH!5%b4Y1XQEG`2)M`|-xfsGT^HPeFi&9hb z5Wa#K&kQ!6mBBqHvA7uKGzJD_Np=R0{G623B70n(_Q_Arw`X8rU<GG&Muz_o-3$y2 z3JiP<6?2jk5)y8xBz&k>FgVO`%eKq?qlVnk#T5x39j-Ad>}D)E6sMI4*3QHLayUY} zJXHGv{ffW8zSaw{ZOpe;`^TPGb@Q)0N5Z$}H+Q#W3dg=}yXo(5f0&_YM}JeG!JUH+ z&o(ydMYFB)Svq~LK|_u{!#%&WVrQ@g%nX7IOi1oyW8i_hkAs)@Z$Iz!Y15JtW>lo6 zs&c8R^z}&=-01eMS#XD$VauH9mU&<!SioU}aHBMX0N98Hd@I(h`NMz6;NK$G?thPi z{k3+yo$*6n`dHfa|E@g$CuU|bRo!akb0|Atu=cGK>*9nB3{}f3tDdGt-E3Xmqs0C| ztDJM{-YX18u4pnyi6;n~fo)?2kw^|^W?*BenDhI;yr_YJ!GW6#7cMN=*0jea%+!E^ zVOxQ%k^@M+0y~2c12d8?76ulEiaF6K2R_sb3fS|d{5a3R@?V?R;Y+>1U;Dz#^(Ft5 zOujNasFzE31ncKuU}IoK($5CA6%>scy1IY+dn6|u*|TTQ0f|UCwKlzWZ<*PaJQi<Q z85TLZZZ!ZKz{Mbj<^V2+iaE1Oe*XXOX>zQubHC>!<zxmajaC(XuzGF=QIvRL1;@)~ z&W>OC&8)@?8W(D{^)W^$sXo;KE9YU5Wnf2g9}@!;L&cocYu5aU=RCsWz_5tXL4w_W z5fi93;sV!3Tnr2h6eiIGu+@Z<=zsORU;Kx@Z2E04aNrI5&E1*8wFFb>zNgvJqbYR6 zrO<`cO`-8*rO?~FEMK-rr`g;7<zYVY(2mRPU;#Vx%;RjkawJz6O^qu%#IR{EgUgbf zm!k=EG=YLs7^p!{RxM9#0!6FkSsANt@ot_!uda>pNr61;;)ET|jc1aXW4G~y%=FT? UPGq<l$B@FC;W(N=M_d900G!i9!~g&Q diff --git a/hamsterx2.aseprite b/hamsterx2.aseprite deleted file mode 100644 index ac661480b21bbeedb42f3ef66ca228d5eee98e71..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3826 zcmeyw$H4GlDGP%Fg8+j910w?iLka^juw!5Z2{H&U2p|hnjort_!0_v%6xdcN1_lN( z1_lOp1+bM!cJwhaFi0xcK}Bq#G@SYmX8mVisI08~&%m%~(W3th3<iNs{}~t@CmsIJ zz>s+PF-ZLXXOMWJ<9`MQ&qbO485jy5PXddd{?EW*k;?!QUnKw%{|r*I=rhP1i%gJs z;35z?>otfx{TXDkXC#Q-)deD7Usm|f!0`Vw$h1mFkjUXe5cwah>;G+#Ig1QHB98+> z<o`+okowcR{xdLa5&*GpJ0^le5;uX!U9bN$Fw9Z_`Q^4F$o-!a|Nm!Tc)STjCJKN| zo8$=c%c4S%$YHR!1_Q`6M@NuIU=xU3v<pNkFo4W-O#BTBheaTfNtZz+B&;@V0?EF9 z4YKk7e~`FMK-7N*hS1Q^{|pSJrKSHF7!>5?|1&U1OH2P}VDR$t`hSFhfq?~-R-h45 zSy{Pg(ISJuCdWyK6E8nr^#8L#qNC@c%)-Z$7X3eMk;~w@N}%ww<D$=tEHW7a7ctCw z&2aj2lV>DDR~G{)<UUWTbYuVp*dm7iw-+rkU;qVDrNRHxyEX|JfC46Q)BjzsXDL+P zc0Bw!@&DsZ{}TlkO>+FasPO;cP5(6*b~!r!4{Z9sXxD!QhE0x%zY`bzpLF?uWo6~2 zO`AYI`~Tl2ASyI8w6wHTL0(>3TH4FYOB&<{1!a&gz=;P!Ff%wO7Ri96m>C%0lA!d( z!r+vjQYnX3j*Y=5Gd-iESQe`+D?@N<Vo5PBV_ov|i{!CtWM}ZnOis-!PK8M`!d(P% zE<1xqVs3FsDw1v{kT?SaD2Xw!Gx#J{rWPp};&O9HX;D#Xi4xRmRI|Al!ZY(yij#{{ zQ}YnMf*8*XHlCHiJtwia80Itv24qQg29Nxll++@7T%PvHPtUh!U|?VcXLUw~{}9~_ z3=9ekd<+$Hk`odVZm1-Ds8=vJ%y7%L%l)H<+|k7q2_GG<F)Hk4EIAaXl?c|(!~k+Q zLc2Uv`vU!nzrViL3$Sg>w^sYdo>+DBuRKS>x8^r@w`2;(zHPhd?{9yYp=d{cQ=q|} zgAUI&HtI#Qt@2qqeXc=6jy}UZzqDd!um#Kvf(%SZ?qg%%fx3@_m-lZ!@APTYk`iWA zq^7EJsj2k!NfzAb_O4lQhnZo^oavT%U?W(-VS{j^G=l)xhy{Er)~xx%f5_n9BG>MJ zkAwZScD$YOLtgq=+V%ggJpU(VW-(RWYUOh%J7BQ(trY9xgbfT;%PXs%rbgXtUEQO^ z{y?jobL!qJ3`eeLGDwLh2%CXzV+D~&4rXRxW2l((`@g)Xfq}t+n+q2%EZEkx$0p3w zfPrCKfvu7QNWB6(gAfBVk}eho7KVyB(J2Q$)C&sO^QHVa&%p9uo7dq>y})1l!prp~ z|CCI=GCZi4OLqk8=U`xCU`5i;2DTLxjT*YTfBSnRCmh+cXU_qNNIA7Oy>@Sz*_J#O zZ&(=?Il68&02{!?Acp1uE{2LZvrB&d|L<vXtgmyw=Og801}TkJ6@9RJZU#}5cwq&{ z%Vy4wU-`|f#tRx3YPIz-MkuL1)d4H#VUT5DM{*w%0~15VoYiaA{E6p0!sEcOh|xiU z-F^`hs5asP*G60n3=9+|(FCy7gp=rh^}JvFhrVq3Z7*=(4g1aAnZmUMQ|P{@+0vsa zbi}35h15-<@nogY+q^7awn(Sh+y3QYKJn0w%k5wRJM+xrY`bzKR~Su=D?7xnX)lAz zlAM>L33N1pf>Ri%K~GjKPiz83tL0f4t8Vdbo<Fayjqyo=JnQ0w9nFnrl9^+-@r2Cu W(zi}zxEaTg!kghZnm|Wf0tEmYaYN() diff --git a/human.aseprite b/human.aseprite deleted file mode 100644 index 4b248e6d50e11cc31e02db5d5a91a78c38019268..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1458 zcmdnQ%E0hoDKmo<g8+j910w?iLka^jaAsfx2{H&U2p|hnjlF`If#KIj4zR5p3=9ln z3=9nH3ScXd>{!Fdz#ysM3>9&L(s1fOnDw85p|Y~_KLf*}MT`D3Fc<_j{byisoOJj< z14H8F#~|_lpF!e@j{g}LJQrpDXJ9CNJP9m*`ac7MMJ@wKe3bx5{4+?+qR$|6EHXjj zfr~)otk)p&^k<OCo{=DSR~LwUeOci@1H=E%Ak!)xK_Z6>LF9k1uK%||<}5M*i98Mj zk^d_VK<ZEL`p>|yNdUyY?U)D>N!$b?cfJ14z%WYz<d@ryAoqVx{QsYU;qfLAnJ54< zZIUC%FN+F6B8S1^8Vn%Q934R-flVNC(Jm0FzyLDSG4VGj92S8@CS3-Rkg(dc2_*aa zHOR*Q|3Tt50a5=M7(zos|1&U@mX`i!U{H{k|Iff6EiL_@fuYt;_CEtdwgD)VUMzC{ z&%kh4)Z#w_!wbFO{|pQlIrRTuW?*1o0i`5pbX8VXE?Tt6Ah5}C(&5C*j~D&_Y>?>a zxhS*n@uWrnPg~?Nc&-vC{Oq{s^CF8(hQLJ(vtBct{@mml$<Wos01DU7lPVn<K*70) z;s5PLiwqb*L0D<<|Mad+0tTR9OWgE-*XvmdmA4%ae@^`Wc+>wxfkl%XKQAi$e|Xb> z4TfEgj{gIj{x90~Ux8thW8&|`MgJ#V{$E*HxoOiTkiY-`w+V;}4Gk?VEme@0mzI{U zwUf;@5O}f3`LL+P3%%fr9QyJgFDWpCQyGK+r8ss5pTx@4A_X%Us5EM-Wnu70O-zBw zF@Qn@tQVveA{WHKz`&{i5@cog&jg}DSc-v-p<+&QLP7#Z%#jcBvc?k_)Ak-SVNVn5 zU^}UtT=b^lW;5^MH-}aIv#Vdcl+U`&JZZVR6$68#*YdSdU=x`bSQ!|QOa$d!kckKQ z;&h7s_4gEND6i-jDZX$eG4-)g^Mt)W?l`WBD>2r%=)dmX!zOmCKPxBJd6+hb{bZkS zx#J2W!;u4Ap_dpy`IHHqPeD#~1=|F2FLt+A{QdQ{K4(UwOT&2?fnM$jS^Rp%3Ez5e zIq$MnsH|GT%)mCqJfIeA2uaROp4`9~S3S|tL$_;h)xrPzMK79<b{;hNs!`^Av}37b zm4gY7aJD&*@@v_X5@Pe7ymIZUFZ!}*xnj|mNl9#adrzc2IQ-%j<Bt>D>vy2}$OG&c z+&;RYlJG%ZI!!_Ffib(w{tMj4x;(eCPq#Gq?e<pjuG|D0+e?fLCptDROaPlhlBbx} yrspa&h$kC2Pnga5vsLKtlUK5O6$=i}k1;;s`TNJ0Am#rLjM=AKF{JKcbOiu~e%`_W diff --git a/lettermaker.html b/lettermaker.html deleted file mode 100644 index 0b068d3..0000000 --- a/lettermaker.html +++ /dev/null @@ -1,127 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> -<head> - <meta charset="UTF-8"> - <meta http-equiv="X-UA-Compatible" content="IE=edge"> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> - <title>Font maker</title> - <style> - input[type="checkbox"] { - all: unset; - display: inline-block; - border: 1px solid #ccc; - width: 20px; - height: 20px; - - /* No padding */ - padding: 0; - margin: 0; - vertical-align: middle; - } - - input[type="checkbox"]:checked { - background-color: rgb(0, 0, 0); - } - - input[type="checkbox"]:focus { - outline: none; - } - </style> -</head> -<body> - - <div id="inputbox"> - <!-- 16x16 grid of checkboxes --> - </div> - - <pre id="output"> - - </pre> - - <canvas id="renderedOutput"> - Your browser doesn't support canvas. - </canvas> - - <script> - var drawing = document.getElementById("inputbox"); - var routput = document.getElementById("renderedOutput"); - var ctx = routput.getContext("2d"); - - chkNum = 0; - - for (var i = 0; i < 8; i++) { - for (var j = 0; j < 8; j++) { - var checkbox = document.createElement("input"); - chkNum++; - checkbox.type = "checkbox"; - checkbox.id = chkNum; - checkbox.addEventListener("change", function() { - updateOutput(); - }); - drawing.appendChild(checkbox); - } - drawing.appendChild(document.createElement("br")); - } - - var output = document.getElementById("output"); - var outputText = ""; - var listOfBoxes = []; - - var updateOutput = () => { - listOfBoxes = []; - // for each row of checkboxes, give it its own array in the listOfBoxes array - for (var i = 0; i < 8; i++) { - listOfBoxes.push([]); - for (var j = 0; j < 8; j++) { - var chk = document.getElementById(i * 8 + j + 1); - if (chk.checked) { - listOfBoxes[i].push(1); - } else { - listOfBoxes[i].push(0); - } - } - } - - // run through each item in the listOfBoxes array and remove leading zeros - for (var i = 0; i < listOfBoxes.length; i++) { - var row = listOfBoxes[i]; - // run through the array backwards - for (var j = row.length - 1; j >= 0; j--) { - // if it's a 0, remove it - if (row[j] == 0) { - row.splice(j, 1); - } else { - // if it's a 1, stop removing - break; - } - } - } - - // output the listOfBoxes array to the output textarea, row by row - outputText = "const fntCHAR = [\n"; - for (var i = 0; i < listOfBoxes.length; i++) { - outputText += " ["; - for (var j = 0; j < listOfBoxes[i].length; j++) { - if (listOfBoxes[i][j] == 1) { - outputText += "1"; - } else { - outputText += ""; - } - if (j != listOfBoxes[i].length - 1) { - outputText += ", "; - } - } - outputText += "],\n"; - } - outputText += "];\n"; - output.innerHTML = outputText; - - } - - updateOutput(); - - - </script> - -</body> -</html> \ No newline at end of file diff --git a/lettertester.html b/lettertester.html deleted file mode 100644 index 09d2336..0000000 --- a/lettertester.html +++ /dev/null @@ -1,390 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> -<head> - <meta charset="UTF-8"> - <meta http-equiv="X-UA-Compatible" content="IE=edge"> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> - <title>Font tester</title> -</head> -<body> - <canvas id="cvs" width="1000"> - Your browser doesn't support canvas. - </canvas> - <input type="text" id="txtinput"> - <script> - // Inspired by https://github.com/PaulBGD/PixelFont - - -const fntA = [ - [, , 1, 1, 1, 1], - [, 1, 1, , , 1, 1], - [, 1, 1, , , 1, 1], - [, 1, 1, , , 1, 1], - [, 1, 1, 1, 1, 1, 1], - [, 1, 1, , , 1, 1], - [, 1, 1, , , 1, 1], -]; - -const fntB = [ - [, 1, 1, 1, 1, 1], - [, 1, 1, , , 1, 1], - [, 1, 1, , , 1, 1], - [, 1, 1, 1, 1, 1], - [, 1, 1, , , 1, 1], - [, 1, 1, , , 1, 1], - [, 1, 1, 1, 1, 1], - -]; - -const fntC = [ - [, , 1, 1, 1, 1], - [, 1, 1, , , 1, 1], - [, 1, 1], - [, 1, 1], - [, 1, 1], - [, 1, 1, , , 1, 1], - [, , 1, 1, 1, 1] - -]; - -const fntD = [ - [, 1, 1, 1, 1, 1], - [, 1, 1, , , 1, 1], - [, 1, 1, , , 1, 1], - [, 1, 1, , , 1, 1], - [, 1, 1, , , 1, 1], - [, 1, 1, , , 1, 1], - [, 1, 1, 1, 1, 1] - -]; - -const fntE = [ - - [, , 1, 1, 1, 1, 1], - [, 1, 1, 1, 1, 1, 1], - [, 1, 1], - [, 1, 1, 1, 1, 1], - [, 1, 1], - [, 1, 1, 1, 1, 1, 1], - [, , 1, 1, 1, 1, 1], - -]; - -const fntF = [ - - [, , 1, 1, 1, 1, 1], - [, 1, 1, 1, 1, 1, 1], - [, 1, 1], - [, 1, 1, 1, 1, 1], - [, 1, 1], - [, 1, 1], - [, 1, 1], - -]; - -const fntG = [ - [, , 1, 1, 1, 1, 1], - [, 1, 1, 1, 1, 1, 1], , - [, 1, 1], - [, 1, 1, , 1, 1, 1], - [, 1, 1, , , 1, 1], - [, 1, 1, 1, 1, 1, 1], - [, , 1, 1, 1, 1] - -]; - -const fntH = [ - [, 1, 1, , , 1, 1], - [, 1, 1, , , 1, 1], - [, 1, 1, , , 1, 1], - [, 1, 1,1,1, 1, 1], - [, 1, 1, , , 1, 1], - [, 1, 1, , , 1, 1], - [, 1, 1, , , 1, 1], - -]; - -const fntI = [ - - [, 1, 1, 1, 1, 1, 1], - [, , , 1, 1], - [, , , 1, 1], - [, , , 1, 1], - [, , , 1, 1], - [, , , 1, 1], - [, 1, 1, 1, 1, 1, 1], -]; - -const fntJ = [ - - [, , 1, 1, 1, 1, 1], - [, , , , , 1, 1], - [, , , , , 1, 1], - [, , , , , 1, 1], - [, , , , , 1, 1], - [, 1, 1, , , 1, 1], - [, , 1, 1, 1, 1], - - ]; - - const fntK = [ - - [, 1, 1, , , 1], - [, 1, 1, , , 1], - [, 1, 1, , 1], - [, 1, 1, 1], - [, 1, 1, , 1], - [, 1, 1, , , 1], - [, 1, 1, , , 1], - - ]; - - const fntL = [ - - [, 1, 1], - [, 1, 1], - [, 1, 1], - [, 1, 1], - [, 1, 1], - [, 1, 1, 1, 1, 1, 1], - [, 1, 1, 1, 1, 1, 1], - - ]; - - const fntM = [ - - [, 1, 1, , , , 1], - [, 1, 1, 1, , 1, 1], - [, 1, 1, , 1, , 1], - [, 1, 1, , , , 1], - [, 1, 1, , , , 1], - [, 1, 1, , , , 1], - [, 1, 1, , , , 1], - - ]; - - const fntN = [ - - [, 1, 1, , , , 1], - [, 1, 1, , , , 1], - [, 1, 1, 1, , , 1], - [, 1, 1, 1, 1, , 1], - [, 1, 1, , 1, 1, 1], - [, 1, 1, , , 1, 1], - [, 1, 1, , , , 1], - - ]; - - const fntO = [ - - [, , 1, 1, 1, 1], - [, 1, 1, , , 1, 1], - [, 1, 1, , , 1, 1], - [, 1, 1, , , 1, 1], - [, 1, 1, , , 1, 1], - [, 1, 1, , , 1, 1], - [, , 1, 1, 1, 1], - - ]; - - const fntP = [ - [, 1, 1, 1, 1, 1], - [, 1, 1, , , 1, 1], - [, 1, 1, , , 1, 1], - [, 1, 1, 1, 1, 1], - [, 1, 1], - [, 1, 1], - [, 1, 1], - - ]; - - const fntQ = [ - - [, , 1, 1, 1, 1], - [, 1, 1, , , 1, 1], - [, 1, 1, , , 1, 1], - [, 1, 1, , , 1, 1], - [, 1, 1, , 1, 1, 1], - [, 1, 1, , , 1, 1], - [, , 1, 1, 1, 1, , 1], - - ]; - - const fntR = [ - - [, 1, 1, 1, 1, 1], - [, 1, 1, , , 1, 1], - [, 1, 1, , , 1, 1], - [, 1, 1, 1, 1, 1], - [, 1, 1, , , 1, 1], - [, 1, 1, , , 1, 1], - [, 1, 1, , , 1, 1], - - ]; - - const fntS = [ - - [, , 1, 1, 1, 1], - [, 1, 1, , , , 1], - [, 1, 1], - [, , 1, 1, 1, 1], - [, , , , , , 1], - [, 1, 1, , , , 1], - [, , 1, 1, 1, 1], - - ]; - - const fntT = [ - - [, 1, 1, 1, 1, 1, 1], - [, 1, 1, 1, 1, 1, 1], - [, , , 1, 1], - [, , , 1, 1], - [, , , 1, 1], - [, , , 1, 1], - [, , , 1, 1], - - ]; - - const fntU = [ - - [, 1, 1, , , 1, 1], - [, 1, 1, , , 1, 1], - [, 1, 1, , , 1, 1], - [, 1, 1, , , 1, 1], - [, 1, 1, , , 1, 1], - [, 1, 1, 1, 1, 1, 1], - [, , 1, 1, 1, 1], - - ]; - - const fntV = [ - - [, 1, 1, , , , 1], - [, 1, 1, , , , 1], - [, 1, 1, , , , 1], - [, 1, 1, , , , 1], - [, 1, 1, , , , 1], - [, , 1, 1, , 1], - [, , , 1, 1], - - ]; - - const fntW = [ - - [, 1, 1, , , , 1], - [, 1, 1, , , , 1], - [, 1, 1, , , , 1], - [, 1, 1, , 1, , 1], - [, 1, 1, , 1, , 1], - [, 1, 1, , 1, , 1], - [, , , 1, , 1], - - ]; - - const fntX = [ - - [, 1, , , , , 1], - [, 1, 1, , , 1, 1], - [, , 1, 1, 1, 1], - [, , , 1, 1], - [, , 1, 1, 1, 1], - [, 1, 1, , , 1, 1], - [, 1, , , , , 1], - - ]; - - const fntY = [ - - [, 1, 1, , , 1, 1], - [, 1, 1, , , 1, 1], - [, 1, 1, , , 1, 1], - [, , 1, 1, 1, 1, 1], - [, , , , , 1, 1], - [, 1, 1, , , 1, 1], - [, , 1, 1, 1, 1], - - ]; - - const fntZ = [ - - [1, 1, 1, 1, 1, 1], - [, , , , , 1, 1], - [, , , , 1, 1], - [, , , 1, 1], - [, , 1, 1], - [, 1, 1], - [, 1, 1, 1, 1, 1, 1], , - - ]; - - const fntTalt = [ - - [, 1, 1, 1, 1, 1, 1], - [, 1, 1, , , 1, 1], - [, 1, 1, , , 1, 1], - [, 1, 1, , , 1, 1], - [, 1, 1, , , 1, 1], - [, 1, 1, , , 1, 1], - [, 1, 1, , , 1, 1], - - ]; - - const fntINDEX = { - 'A': fntA, 'B': fntB, 'C': fntC, 'D': fntD, 'E': fntE, 'F': fntF, - 'G': fntG, 'H': fntH, 'I': fntI, 'J': fntJ, 'K': fntK, 'L': fntL, - 'M': fntM, 'N': fntN, 'O': fntO, 'P': fntP, 'Q': fntQ, 'R': fntR, - 'S': fntS, 'T': fntT, 'U': fntU, 'V': fntV, 'W': fntW, 'X': fntX, - 'Y': fntY, 'Z': fntZ, '1': fntTalt -} - - - </script> - <script> - - console.log(fntINDEX); - - var canvas = document.getElementById("cvs"); - var ctx = canvas.getContext("2d"); - var text = ""; - var txtinput = document.getElementById("txtinput"); - text = txtinput.value; - var letters = fntINDEX; - var size = 6; - - txtinput.addEventListener("keyup", function(event) { - var needed = []; - text = text.toUpperCase(); // because I only did uppercase letters - for (var i = 0; i < text.length; i++) { - var letter = letters[ text.charAt(i)]; - if (letter) { // because there's letters I didn't do - needed.push(letter); - } - } - - ctx.fillStyle = 'black'; - var currX = 0; - for (i = 0; i < needed.length; i++) { - letter = needed[i]; - var currY = 0; - var addX = 0; - for (var y = 0; y < letter.length; y++) { - var row = letter[y]; - for (var x = 0; x < row.length; x++) { - if (row[x]) { - ctx.fillRect(currX + x * size, currY, size, size); - } - } - addX = Math.max(addX, row.length * size); - currY += size; - } - currX += size + addX; - - needed.splice(i) - } - }); - - - </script> -</body> -</html> \ No newline at end of file diff --git a/logothing.aseprite b/logothing.aseprite deleted file mode 100644 index 0c66fb8255c05c564d53efac9e0c22f30bfc6378..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1736 zcmX@X#=!7kDI<d`gA#)R10w?iLka^juw-Ba2{H&U2p|hnjqSn4!0_uMFW6RI1_lN( z1_lOp1+bM!b`&r&Fi0v`LPac~G@SYmX8mVisI08~&%m%~(W3th3<iNs{}~t@CmsIJ zz>s+PF-ZLXXOMWJ<9`MQ&qbO485jy5PXddd{?EW*k;?!QUnKw%{|r*I=rhP1i%gJs z;35z?>otfx{TXDkXC#Q-)deD7Usm|f!0`Vw$h1mFkjUXe5cwah>;G+#Ig1QHB98+> z<o`+okowcR{xdLa5&*GpJ0^le5;uX!U9bN$Fw9Z_`Q^4F$o-!a|Nm!Tc)STjCJKN| zo8$=c%c4S%$YHR!1_Q`6M@NuIU=xU3v<pNkFo4W-O#BTBheaTfNtZz+B&;@V0?EF9 z4YKk7e~|b-QT6{@85kH?K&b&5<dv0`ixw?12yAkkbU5+y<3;~J8zee<F3K!?JZaJY z(-yf5o~r~3KRYh^yvQPxA#f4Htk(>uKR0<sGIVt@fWqeUq)JByP>?KQ_<wuRA_E3c zFjN}+KfP;{fC0$siJSiKdOb^_^0wpQ&x!vZZ~C7ouxOIw=S7A84{!Rf!LZBG@qb{` z|3$n0D==(wO#Gd==>Me4|0^piH*MMka{K@P`$W~{L5@~n2B!rG0ZJF_3_gjKsYME= z_@xc;OB>^tHi1YpL97Ln$aWjmF)}c)DljlGGB7gyhpTdCP++K-^LFw<zQYC_&fovr z-;G_(l`QRXEA+96YQmf8?<_w3nxpl)@LZ&8@qFIUuiG}wJH~WZGbV!n)TwvxlLUVT zTlicFj##kAPyf`zImT;abwcXT-JBhv5MM8LXY;Jct2@r!Ir*q&+S&357i*E)CDsR- zUTXiG6XTz57%D2ZYTl*Y&8(-6yt`YxRlG9h=%K`IU9G{ZBYX;ehl;)7dz%)gRk_<| zPEq8JTftG~Q(wi`UKf?w^uD+#{<-eWJ3sT9N|(o9E&2EOdd<z8V@i)#WVzYR+3BOc z%Q<q6?8Ta+){nc-U3s;s;G0F<y)#Lt`X6_G-L-q}-kD;b1uC85WObM4i*u_tpLVKc z|K5A!-5co?okc<4wVwC5P78h+d3MpHnVI36HYLrG6`T0ZPb^l>OYJKEXYtI9lBL^U zb7s2iH~t@LFDn*myJY{Y)>V@$%OgUbiTs~<-)H%w@Q<Ix#MVvkX+6z+wubSX_Okv4 z22kiTGB7bPA%(sM0}n&RoZW9{{P=GscBX;#L9la=g<kcEi|##DMNdx@%J187Kz!Yk z6{>D?0&0Xl$s49!zFm7{SL?lZ&f)eq?wE%>5}*H@<7s`;9rtyS&1Y+;Oq1Nw5g&BN zM<eIuL%R~=4KEkA|7KXZBjNN5u>Bz01(57_WDsDenDcasH(#>>k4yEExb@5ZZz^ou z@ci)%sg)i&9!clVaG(6O=epIs@DFPe-pQOkw%E=~|JwAmuAkS)Rfd<W;wjr4YP4$B z%=|0nzs`NT6x(eP_A|XElr3l8+vN7=%Z&qyjL%=yxw^|*VnhD2*J+8ByWTUW%l$0h ztH67$In&p0MZpUT?uo}#n75oex$86kreB<F8M)%kuV)m8znQaA-KfCw4>xnz?MksS z+trV=?y4|9JAHOhMtao#G=Z19>jK2S&hayLxHnhMOaIsd?#W?a_=CazWM<H2U_<h! zD1#6~#hm1XgdgV}Y7Mf~TK@IB&XK7uoM|d?_DGu9rW*-;?p}ZVPQ*n0s21T-{;>bj l1AC6khhiA6h^XGs1RKf1AcGQh><mossFRdnxP4XWBmji3kOlw% diff --git a/minify.py b/minify.py new file mode 100644 index 0000000..9c7ad88 --- /dev/null +++ b/minify.py @@ -0,0 +1,5 @@ +import os + +for ff in os.listdir(): + if (ff.endswith(".png")): + print(ff) diff --git a/nesex.aseprite b/nesex.aseprite deleted file mode 100644 index c9e606dbd06accd534cab43e4858a70f68f70d60..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 883 zcmXSBW?*=*l#xMzfrWvCfsuiMA%y`M*fKDJ1Q`Sv1dxTP#{SI2!0_uME7(?61_lN( z1_lOp1+bM!c62Z@Fi0xcLPcz#G@SYmX8mVisI08~&%m%~(W3th3<iNs{}~t@CmsIJ zz>s+PF-ZLXXOMWJ<9`MQ&qbO485jy5PXddd{?EW*k;?!QUnKw%{|r*I=rhP1i%gJs z;35z?>otfx{TXDkXC#Q-)deD7Usm|f!0`Vw$h1mFkjUXe5cwah>;G+#Ig1QHB98+> z<o`+okowcR{xdLa5&*GpJ0^le5;uX!U9bN$Fw9Z_`Q^4F$o-!a|Nm!Tc)STjCJKN| zo8$=c%c4S%$YHR!1_Q`6M@NuIU=xU3v<pNkFo4W-O#BTBheaTfNtZz+B&;@V0?EF9 z4YKk7e~`FMK-7N*hS1Q^{|pSJrKSHF7!>5?|1&U1OH2Ph$iTqB0!k&&sHm*0T(oGB zL12^Pq{E4qA20g<*&xx;b5UmD<4KGDpSH+l@LVNO_}OvM=S3Eo41tRnX1!)O{kh3A zlA)`M0TgDRCsjH!fP!if!~ffh78x*rf~V5p|LI+u1PnkylDO&ruGg~^DsMX;{+#&# z@uvTY0*fX&eqL1g|L~^&8VtJ}9sdV5{a>`}zXHQ1$Hd=>i~di#{J*lYa?_?wAV2;8 zZxav|8X8(!TB;x~FD)&t1oD6aKRCTW2vFMLVsJ`K&Q34NFU?CyVqjokRe;JdL1+eW z_NbVXoRE@~mYACS{K1n)&mKN~EG{4-Bqk^-Jbl8HNz*1yog5wz5)>8~8hri2l}pzy eUcGE?U}9uuXllHD!<J3k5)%>_7*^)7s{;TP+bmW9 diff --git a/t.aseprite b/t.aseprite deleted file mode 100644 index 49c5cac42282238b3105fdb4626a8c162e729241..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4452 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 F2LSu^oiG3Z diff --git a/t.js b/t.js deleted file mode 100644 index e69de29..0000000 diff --git a/testbanner.png b/testbanner.png deleted file mode 100644 index 1e8ca888d1fc8f2864e87d743943b57eb31fe1ec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2613 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 -- GitLab