From 0a49f9e06a9bec8e29489c3f3f7dd796efabdf25 Mon Sep 17 00:00:00 2001 From: entar Date: Sun, 8 Jun 2025 13:25:01 +0700 Subject: [PATCH] New font, proper score and accuracy labels --- .gitignore | 7 +-- fonts/FridayNightFunkin-Regular.ttf | Bin 0 -> 16316 bytes icon.png~ | 2 - log.log | 26 +++++++- main.lua | 4 +- modules/states/playstate.lua | 94 +++++++++++++++++++++------- settings.json | 2 +- stages/stageErect.json | 2 +- 8 files changed, 99 insertions(+), 38 deletions(-) create mode 100644 fonts/FridayNightFunkin-Regular.ttf delete mode 100644 icon.png~ diff --git a/.gitignore b/.gitignore index 014f506..b62b9c2 100644 --- a/.gitignore +++ b/.gitignore @@ -1,10 +1,5 @@ .vscode -<<<<<<< HEAD settings.json -======= - -settings.json -settings.json ->>>>>>> 77b988b12d6638bf3085a33f181f082b2b93ef1a +log.log \ No newline at end of file diff --git a/fonts/FridayNightFunkin-Regular.ttf b/fonts/FridayNightFunkin-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..2dbc19fb6dd520355a88a07944aba5bdf521f04d GIT binary patch literal 16316 zcmb_@378~Db!J9nRb^Hll}BY()?HcmeRN&j)zx?RbWczBbWhKHkLI4y+@q03BN^T3 zLKhMO0TKucFbFVW0f|czh(my}!5A=~4Hyha=CEP;Y}RW~_rA!i9tqaFpTGTfdb0A0 zjEwi&B9cNBMR};3D4M!rYSZitoWYgRkHMZ@+*Gaa9=qx$xO5E8uQ+&W|Jfh^ z$b6onXaTN0eejwKCKbn*D9Z6QxbHZ+|EjaFm*M#j!k#^P^3suSzjfm`Dav_)qS}uf zJG}o;sCMJaaPOC}wU5CC*U!*@KwT*~PaQjT;o6TbvA>1$FT*x<^31{gk^71pq3UnI z{db?*f9+Z7t<>A$-dZ>}Pwzi<_}2e<-76F|1nt3pbN0+t7cRB_ilwNLAHw~wojrf} z>@n9puZQQq0Ot&mjBIQF{9Bv%Nkjie@$^5z73zBv(Vt!32bX>HRdf)}SqhV@@DHA$ z;X1XGevq8fS6MZY!_|LF)|Dmd5z1v$@!U$)EGsXQQBM?fHnlt&*3tWg`)lg{{ntZ3Zau!oFbZBPp;Y< zic%(efr>(_<7kqKp}&LeWjOvR?9;FzDvA$LQS|pz4F3SOXDAb2q+)atj{gd_cffWC zwsTaB`VEv5;Qln6Z-z31u>UC3-49z3>Ukp-!VgnHIs?a#QbGI(T#vx<+o%XWONHoJ zIQ}pd#=nF8)09awaQ$!L_{Xrl6Sg-}5xNf7&p_Qvuy4YqL75?V@2}xLhW(FVFH#Zo z6x8DY+2DEV#~{b2pj?6qQ_n#gu7~>{hwVqOeGbZ1VE+JY&q2Ab!ZW{sRKr=Ty0ro)tjdK2uUfNmP>g`z|%NfoFPRiV1nFf~f;q^_eL zH-lz$Wd-h%`zDpO?$@mQED6AFcd$La|h?RBL_pMzdwt-0mOf40eZxM@GlSCnl%XOwX*HT{kzs zeqqtR|NrfG!~bJVpFk_Gf68$$WpfdwUH;oZJ%AEu0$o7wM*o62oWR%Or)W$cqyOCD za~yEI*U33|I&XJ=#`#;c-2e3Ai}-D?9Es!YL>HJc zS9VYVp(t;=Q8%JU*BBT1OD3`z+-ml>X>#4CYu1%k^H?wwip#uHh^A##WqIC@ zIlr%(3k7S*Oe}^!oAmLTp|(z)y?bh-W}xhmvS-&T8)ANczR-+@lM#4t6v*q(@NXy| zVBC7I?=>&TWZ|#XWZ<>dWzrNlC)d6ih*vgCT*ybejCwLFs`seP`Z}3Y9E=!zeHwo^ zxO=9rZ*U&F2USWF;R^9Wu7;S z4o5r2x#E4QztAWqydrXT@-?UD#FeNH#<^GS#V%Oh&y9|1U-oA&K4b zAXXlm!@uP|blYGv$``)(@oG>|DhD1v!^(%>zbRX^>yM!bdJ*aesv_0_GLUYyK>&au zptU+3x}QMd@+--!0Zpyu7yO(s6L!fi!7SuW-Wv=jQ>rhbs@Z4c?1pNeXY8k( zY8j^0mNua6-#do3F6g42PM#B!l}wj$3hsfr$a{)q|v_Hbs~>-Icxc>kiQipfUF zeC}fsOEdmzzF}@3w{#g>xf(x@e?;}K;?6b>0uP(AZ1F8TSWIFu3{XUmFW}nCt+B=X zGqG+vRw(UKJQ;oS*Zy)zHo}p)EgR#px>1aeRb5;ssp6-0ndRQIp_!vX2D{oa(JWj|OM8Qyecpc#(N^+l9`9b?{Kxtw6DP{u|hmB(9`!ZybC`^l?j);s$%?BzPuT4xkuqP0f-Fh;M{cXl4TsS$ih`-Ecg)7YRQZ}j5UbT~LPoF5)c3bU((IoX9ycJ@yP_M^9c_i?&*~|8{go&n%M6z9- zuhVj;PxG3wa3mDQL&0{w+8NFlmmdxLeaU9X9}1TsEFdxNcd1|D85mXdyaUK+i3nAx zZQ|2OESF5Ih6}AxJ)IinX7I;PsVh`s_N1n{Ak+YPl_LEs2&Kp;fkNMZ$xR9_s~^q!!`t9uXs>D{!0 z$u=H+RC1a9AC%1BrR2NNXWfQWi+Vyj%2YT`7G?Kmgud{tIFR>B$p+ygV!zvQKg955 zYUouGzZ$__*+srm&&*6jZ9!j$z+<*r0CtUZECTmdNhqK8MoC6 zt))j^nN4b9C_K=rrSdRbg!YcnA^gu&idv-hQfB~*RU3`O+w|;+7&HKrP^oQbm~auC zsjr$8aZ5xX2@?s4g24g6W8PIkp)z>dHp!SB1GGR&Y&M5kvET?UR%?0LE2&}C6uFy5 zx}01nMFa+&`9-*znc`C~cxXA8k8n~W7fi6uU@R~fD9pKp;?X}DsD!o15zKJd!O}eA zo~?w8SQOJ&sG%l<(DGeQB(Hn+>^pApE4)-`?-w}_!ymlTi=7qp5Zb|e_|z-!zYtJ- zAtOVx#kpN9L?heo$K3XC1D!m(cd=1i-paD7C>w50(l=bSw5i%~AQ@wnpkQPkT^Yu2 zqTPVENzmdR>J)XeWz)pzfC{~h`Uti<-16O)>&c`o4cY;+6|`B%Cq19d(4ZGG;4w0Z zUJvvL0iYpSq~*1AZ9iv4dv<>ioY_?nXZx;hr}PE}G5jMlb0Y~O#EH8*89aT%#PXf_ zT^k;cj89KS1%D#`=5wtz>u=yyw?htPod3*D@h(nI+{8@`ZrjuBimoS^GAruH`aR>1 zR5x*WZNHyM2OUVn@AqIIgUWY(ZTVI9<#6`sIu;O_xkqGVO|l!Cnol6%?fU} z-tCMXds1|Xyox^b&a1B2Z1CuJqUd304}&MXjYM=1)6?mgxU2xbKixzT_)$rE=>&&CcU(?J&?UNm-4x}d`0G!^cOGgIzF+k?!c0seKWq+ zC;3}n+AsL$=Nl(6fBlH&<&6BG5}iM{_SS4Zm=t9N=z7Dk*v0h|vjsV|FqDjinS^`Y z_*6MdbG5#tqF44`kNVbbxcX>C1c$TqII;2Q$~yde{7YcmwbXX%zz)+P(^V25#Cu*Yb)= zc}SHxN2J_zFo^}U)bV=N*7AYrv*zx#gQ@?xCx3N@}Oln4pp9k*AVj*FX$vbOwZ#iTd1DVxp@Ma}!Y88cPN?zxJi1v&ia z+#bT^p_N5^0mc<&>Hz4hMd0AluKDVTM%&$uDw@%MtSCvp&sWcn5G8 zr$inW+@76{%|RuCF-Ie(TTy3rdVPv=Dy6Ln70|PYeioA07WV{cH`vkub*;@kVCuHv zz?cF^yG8iK_I0GoZD(%t2a(=qJJ46z-y(FPFc{0P-nHC6Nzz!l0n~YrHSV*+7Lp9Z zJ6jj0<2!B;LmxUkaUmV@pnWwaBDw_L%X$WH-7&M2FYKE47k76JH?R7ZzY!Q{pVkWd z-))c&k7P!cGIQ^(!>@)hcpip`jbH}t133=q| zhMf&u(>LV;*IwK0WRYriKX$L2+p=Tm(v>!js`zI7Ey$big;*(@^r}PyR=@ygT21+3 zfYvBVMo<`e9El>b$3cXuR*QmSE!L5HwnPG~q=Z0mMDhLJzuVXvJLQeE|k1Rj4 z{9HE9dBtkT-_-pAMzs^{(Lej-M_#ytNyPG^PP@=8isrv~)c<~-sDe!cvi zbB5ooD$4OA7p_50yrcEatGZ~HZBHb(b1nWMRi(B8rmXa(<4=h%ky?1ro6#g|LckP)7$+NwCFh*3H-0P} zz~25j2U4@m+2w8h|Lwp#+$_&>Tel7M>k8wL^2>kmF^?<+V(r?xIlL{U!ob$)E!R26 z#z&77O0|&N!PWa%o?`<}A?2YR-%bu}p7A-ErzFA69&3%VoUAPWkYx=2-X@oo@(8!< z3-vJPK~qi#Wlf+EpPs<4;8%ca4}lI6Rg{2O66wTbRtE^+c8H-|wl)whgn)^O4q_OJ zxr*2tiN5Of?O`&g1h4{_AYru?mA2aW@SG$F{J`Q{4;$1-2@_V zM$&A+8z3@mJ91C~F)2HcU!~m3Yz*b9NGG%n(2_^dm)V_8>}EHyBJf8#WEfGS6!p0` z%cV>*yC{qPcr?C7jjrf7Y(hwvo z1LK0zDd72i%gaA_-);A79&$R&Ogfs34`;$6C!E$hQ{hmzvR9Q^L62oqyIaW_RQ6yc zaXX@$(R^lceNm)$ViRtKSN)!FI_5Jpzov_7*wCEDq!YZRJDM(@X=;vSQ2?b6|a~I z7FhL~18djl0dOIL7)WIy>A{AT8F73|J)FX{jMY*EJKwwfj$KI?KeF(a{ju)c=DJ@p z_WTA$SH|OCIq|U50a+5dtbo!|1n9&zc@>b_g{ZSpk75F3$S-BFO@5#~U_@fr zmdCtIfwt4ET7g9`9)T&eVMP22&N3C%rAaP9fXOOvW^u6H7F`}UBN-`|BWaYc8#j4{ zcRMj&zM^Op8-V~zJ2`2)veg%3o!IH3X=bMFTT>jkbK=9d555KhJq?PWd|7o;%3pX%5CG#8fGRI+F9?RYP_wSn+ z>rF6^_31*T^{h=n$xb@of<2!cqaO~ zN{Mq+7gORfuiJ%r+C*(#3UMBXFZpJ6emoh9)7-)!Ezt80gm3q#PS^5t%g;aVa=-gM zM=yA5TS~Wai1v8nTTkWGPfmr)cb77wSd5zp5p^Ql%C^oME!9oaFr#rbwV z1_pQ}eQ!-J5KXOCXUD9T0)eu6-Ue#7Lk;3&dO@!pdRWGmApsoDnZ+q@IFSp^Y(ngY z-IA0VkwjmxoQDv(&`MQ!F1Y;USXGbBKVmkc@oG6%FXajY?PfaI9y}TI@`93CLJCBN z;qn;6YO>qy2_3^qbvySCcY!lw{#YvIk+yZxv-`4V zj`STm@zIbT``ETzIG1p^SiUr*YZpzuJr)*@Jm_eZ)5E#Yq0{ZMkCz7qAg|$9+3DJE z7Q0vVY;_1fjeiCGw39kUUEjm53&sZ$;1~LdAei{^x~)vx4G<=4HG2jOg)HvxVVX(6 z(_qY50%Pltj0qrP>?K}?n6~e7ItU8%Xphv0zVC?yus}1nXD+&V#s!HPw&eC92MTQ2 zIL^DHv7JY!N0(nXIK3evRkfHb6*_x%52s22n#I0MWgU-%`qpknl2oU=nD|?4${v;v zXxXY;ZWW|pu9WkMDzD&^s)QKiT>jefSI3J`|HCH>G}?G{Q!#(Vm4kip=%$6|1)1rO zH-^V%psUZH)wOlS1V*v`-FW?$8n65R`#Wym`*l@X{-NN7^$Y^M@FXg=GjTN%@XRN& zEQ~@)ytstF1bNG%H8yW%iX_}$r9msLMy5$DeGs2ZX45jQ5%3`-uR#_P^oYUAUtH!4 zqA-gqiSa-$WC*lDeE?;V4@$=$mjjv6y=U^}fmm_(nK#t~!{059l@8zZ5ZZj;(DDz8 zH^yE!h~3Pv)EpA>2X`HfhG=GV?THWXxK&bR<*nBpIX-*Gh%Xt2crGqE4N*H*87Q%= z$FsRo3ul82lQSo>YIy76vj;?JeWUmo8=s48(>WM|Gm|l2Y!V

~>o49`syl<({F1}fY4mk;fJa+V zl7T3n!uPo_D*GA0Q{Je(c3S#Fl{~ zoEDJ-{s<=k8bJmNqpK03HJa(UdO)-#A^;e?okiDR_nCecJCsEZ{kDW17}i4}r>co= zZku<*2+Rjdr&Kej)o%_){G2)yjKsa+eAL{~h*r(gp2ko}-CqbiDKZL|D$b%8-oxSu zhfwU5UyorI1i(1cNa}&Vu6|x*(n$GL|G_ipJw7?{?|a6!cD7B`^Si_nvt)YDWgS_C zY`U{XJiSLOO_Ad$1l*txs1?eCGFBh#Y365sw_|aekAop=CsEYA`Ph)at4dyP59si~41i$+jjo!*KRWZj8?k#ure)NlILSYNT3@bmrgbxy~I zrKIN3X7#A-#;$dJ7;I!is{hbHU$Jk`FCW`gvHJP*=i_Bmz2W^T&s%F@2xdm<8vZ%eroh)g z4CsOMk)5jr=i)OgC0ZWF0*(y^D=}_63Suf26<+o)gdqrih_dXFh*hR(O_TOWu&3l^ z15}P00hi~F=MI-fT|zchs*Nor>NUap1tFZf*~9u7M>ZM3*Jni~k3#tXb&!Xc8LPnG_(+ z7U+X$5wv2*IxvI)O<3s|a`Xp2+HxzF@!8YMDA&lqT9&*STUamoox(*d3g^!zlQZK* zk>!o$-{p#`uUgp@h~{DijTK_|uB~4Ws|j5FzF7ZRNYe`2{uKRuV?&P>vm2L;%y?qk zCx_b)-*^6kM~cVK9UEjNG>}Vl=I>7AXNUTn@_TiDd*e^Oan*d(rOK|TCibUKJ%8e> z1z4bDbLuYqZ!mtyQ(FjbNKccIsVyw&e;6wR+pM}ln7A5&91HOiP6OulEQ^aeAXy25 z#!ZrGYxjd;5>{XosyQEj#pmr zZuu@MS82yJr&}h>?20_*Vn3o{#5` ztf_7EsKHQ96|?nDcd(vc_k_vNW_pV$55-%MNIb} zb%}Ns{ZYZap%l`Cp&+b!q7*o#**I(-E3r$UQjK;A?2~^ z%t**W7Db>zl|lYRUP*M)nhz!Pxa9V@m|JS~`(Y7Zj6+6ZL30258X6BOtK^P324vA zJ*xP#EhlnIo}wpowjh7f9r7>{Udb_>$O@0AG@~){(B#^_PAv?fUiOptsmcgZdJ>6PDk{ z?B45{5ty(6eQEg%D~z$2#VDDw(o96NIVl>3(1BOXl!uqlnSiWBGSl@$`kT?H?}5o_ zj~>w9Fg{J>B>3Hf9s@Z=!e!PfydGTbcla7Hvc~svK=_)lA6$1#4#ryPs6P;n3o)4R zsyJZepDGmkcf&F@MU93diBN%I(9h*!G*c4gcINL4Z@dM?%n+ z&`Onh0(~3SvRigz_`H@HNT=KL*J{5vY`_SVc8gw-^+^FIqoU`1Fh%j*>qghMBtOSQ zrO??skiAYfvQoi&sSlCWJl2q$*c^!hp!F~c&%!)SZ@CV!4KR(%{kl5Lg3$;u2y{(8 zGtqB4m{=?uc0)SW(?+HdsCpoUY&aQN2&FVZ;pGHmvrB%_JrjUC_nLcKd4FtSq&1%b zt~eVDW(H!ZT)38>ibYDHOPvV~7NaA{O)!A~6BYCb^=*sONk0%Xv{|CpV#~={6b}Nx zDkz&ZRMjsDd@Pli+(xsJq#4DIoWqx&#E{0+Shw`NPxr{`?WY2v_4RbY@5#vr+0ErW z2;Br5m6`?Q{8C2#=cSt=tmV3C@h&V8y>Zx3bD zlFrMcoq^)wM9je!w(4B0ozdgbWG8xmD5_`kwV*dYv@RGrTFnJwYZt*5!pl3*6VwO6 z7GRy1!{R6_P62UWb?NY4Yf_E$9K1MGXWd~_Qbn`x$$GWktap5Ys~d3-!$yVzVjPtO zu^0)!)bNvmNO*6(lmxaj#@DuPf9%wu2C=_oAAFs39^MJ7(GB26ORbj5$va~Jb30K6 zCzjk6?GOv-B^XA~*B!F1dO0V}>@Ow?ok5SN$mNhBspj~&sO{059woX#^GVKR(dSf+ zuo|V^Pey9>2kxyEa``|wFR9JN>OQCOo>HV7j(01jC)>lpc65&VDa5msjY3EQ+O4n} zVd2zb3oA~o`3(=pOc_eB9x~IWDCvSEu}VBsh_a5q1am;aSi~2mX;DoKP7N*IzQ7UF z0KCOuz5nB=YumjAwAK1w4JlVU+iHN7nAa)|H7F z;D9D*)o!ENj;dx~AJP5tmFN}fS>oAk+pSDpzV# z^B<1j_%+o|`$_MPH4BR>tb1?v??3r*M||vo!DEL_4eF1r?8AAO6u)e{#DkJI+0NWv z{zt~-R_yTY>&Mm`frAIh*u)e1@(b-0yZ&#jI$+d_&y9 z1cxTpv7A4W1oue3-Te~0k^DoH*ZL*L7`{^T_O8>AUkLV&9k3F3L+{uLJb$8h?4knj zHKbh+2dlClf>qkc;f5<2>chQb4C{Tr-8-gX1=^2$#}2BE7JJ7|DvDm;J9bfZV0614 zjv4@eZXe69sZ$|!PM<%1X#XX1;rP*G7tHCaPoFq`dgI}vSD)N}escfGlgE#q-+%Vl zd2`VGPs*9Sf^fIiEZ6GgI?&MnrQFuT=dU_`=CoO>^;K%MmR-_%vHjli>Wj}G-hbin zA@kz#3&+gYw4!qG%qeObT*h%&;;^5(1PiPe;P@y^4P1cZY3gd~G${2r{BEQU!}Y5{ zQTw6%B>bL)KT`HQ9G`_J&chRf)>HqL`piG7(SEiD#$ASq*E;;xt$p8rv3-AB-&Sbv zc}PSZhXur^p;a~b>jSqy_N_mt^HqsoD{uLa+BXTc9R^7+!0#cb?;_NE0i-tn54xyO z2jR`92zIT1D<3CcPy8qUV7?S^i4g`oIpF(j@|CUqp{xX>951XC*CBE=C_iA@`dSvg z>>?}S6OdC+1NO4OH+hJ!iZH$?gMd{_&^oMyYl5I{7)uUN9q5=Y#EZl5eZm?Leg;-u z&Qj~BIclC-4_&?pR>>>>>> 77b988b12d6638bf3085a33f181f082b2b93ef1a Is chart file \ No newline at end of file diff --git a/main.lua b/main.lua index a7575ae..3845de4 100644 --- a/main.lua +++ b/main.lua @@ -43,7 +43,7 @@ local function setup() freaky:play() end -local font = love.graphics.newFont("fonts/Phantomuff.ttf", 40) +local font = love.graphics.newFont("fonts/FridayNightFunkin-Regular.ttf", 40) local gettingKey @@ -69,7 +69,7 @@ function love.draw() curState.draw() else myTypes.drawSprites() - love.graphics.print({{0,0,0}, string.format("Song: %s, Difficulty: %s, List: %s", curSong.name, curDiff, logging.dump(curDiffList))}, font, love.graphics.getWidth()/4, love.graphics:getHeight()/2 + 250, 0, 1, 1, 200) + love.graphics.print({{0,0,0}, string.format("SONG: %s, DIFFICULTY: %s", curSong.name, curDiff)}, font, love.graphics.getWidth()/4, love.graphics:getHeight()/2 + 250, 0, 1, 1, 200) love.graphics.print( {{0,0,0}, string.format("Left: %s, Down: %s, Up: %s, Right: %s \nDownscroll: %s", keybinds[1], diff --git a/modules/states/playstate.lua b/modules/states/playstate.lua index d2468d0..9bd0b9b 100644 --- a/modules/states/playstate.lua +++ b/modules/states/playstate.lua @@ -63,6 +63,14 @@ local function state(songName, songDifficulty) local icons = {} + local ui = { + timebar = true, + healthIcons = true, -- If halth is false it wont render either way + health = true, + score = true, + ratings = true, + } + local settings = {} local ratings = { @@ -73,6 +81,8 @@ local function state(songName, songDifficulty) miss = 0, } local score = 0 + local totalScore = 0 -- If you hit ALL sicks + local accuracy = 100 local rankWindows = { { @@ -127,6 +137,7 @@ local function state(songName, songDifficulty) local font = love.graphics.newFont("fonts/Phantomuff.ttf", 15) local biggerFont = love.graphics.newFont("fonts/Phantomuff.ttf", 30) + local evenBiggerFont = love.graphics.newFont("fonts/FridayNightFunkin-Regular.ttf", 50) local receptors = {} local splashes = {} @@ -247,6 +258,9 @@ local function state(songName, songDifficulty) closestNote:destroy() score = score + rating.score + totalScore = totalScore + rankWindows[1].score + + accuracy = (score / totalScore) * 100 end end @@ -511,34 +525,43 @@ local function state(songName, songDifficulty) myTypes.drawSprites() + if ui.ratings then + for index, window in next, rankWindows do + love.graphics.print({{0,0,0,1}, tostring(ratings[window.rating])}, evenBiggerFont, 200, 330 + 75 * (index - 1)) + end + -- love.graphics.print({{0,0,0,1}, string.format("Sick: %s \nGood: %s \nBad: %s \nShit: %s \nMiss: %s", ratings.sick, ratings.good, ratings.bad, ratings.shit, ratings.miss)}, biggerFont, 0, 100) + end + if ui.score then + love.graphics.print({{0,0,0,1}, string.format("Score: %s Accuracy: %s", score, tostring(accuracy):sub(1, 5))}, evenBiggerFont, 760, settings.Downscroll and 1030 or 50) + end + + -- HEALTH BAR + if playing and ui.health then + love.graphics.setColor(255,0,0) + love.graphics.rectangle("fill", 560, settings.Downscroll and 30 or 1020, 800, 30) + love.graphics.setColor(0,255,0) + love.graphics.rectangle("fill", 1360 - health * 400, settings.Downscroll and 30 or 1020, health * 400, 30) + + love.graphics.setColor(0,0,0) + love.graphics.rectangle("line", 560, settings.Downscroll and 30 or 1050, 800, 30) + + love.graphics.setColor(255,255,255) + + if ui.healthIcons then + love.graphics.draw(icons.bf.image, health > .2 and icons.bf.alive or icons.bf.dead, 1510 - health * 400, settings.Downscroll and 0 or 930, 0, -1, 1) + + if characters.dad then + love.graphics.draw(icons.dad.image, health < 1.8 and icons.dad.alive or icons.dad.dead, 1210 - health * 400, settings.Downscroll and 0 or 930) + end + end + end + -- HEALTH BAR + love.graphics.setCanvas() love.graphics.draw(mainCanvas, (love.graphics.getWidth() - (love.graphics.getWidth() * zoom)) / 2, (love.graphics.getHeight() - love.graphics.getHeight() * zoom) / 2, 0, love.graphics.getWidth()/1920 * zoom, (love.graphics.getHeight()/1080 * zoom)) love.graphics.print({{0,0,0,1}, string.format("FPS: %s \nVolume: %s", love.timer.getFPS(), volume)}, font) - - love.graphics.print({{0,0,0,1}, string.format("Sick: %s \nGood: %s \nBad: %s \nShit: %s \nMiss: %s", ratings.sick, ratings.good, ratings.bad, ratings.shit, ratings.miss)}, biggerFont, 0, 100) - - - -- HEALTH BAR - if playing then - love.graphics.setColor(255,0,0) - love.graphics.rectangle("fill", 440, settings.Downscroll and 30 or 690, 400, 15) - love.graphics.setColor(0,255,0) - love.graphics.rectangle("fill", 840 - health * 200, settings.Downscroll and 30 or 690, health * 200, 15) - - love.graphics.setColor(0,0,0) - love.graphics.rectangle("line", 440, settings.Downscroll and 30 or 690, 400, 15) - - love.graphics.setColor(255,255,255) - - love.graphics.draw(icons.bf.image, health > .2 and icons.bf.alive or icons.bf.dead, 960 - health * 200, settings.Downscroll and 0 or 720, 0, -1, 1) - - if characters.dad then - love.graphics.draw(icons.dad.image, health < 1.8 and icons.dad.alive or icons.dad.dead, 715 - health * 200, settings.Downscroll and 0 or 720) - end - end - -- HEALTH BAR end love.window.setMode(1280, 720, { fullscreen = false , resizable = false}) @@ -764,6 +787,31 @@ local function state(songName, songDifficulty) end module.characters = characters end + + local sickImage = myTypes.Image("images/ui/sick.png") + local goodImage = myTypes.Image("images/ui/good.png") + local badImage = myTypes.Image("images/ui/bad.png") + local shitImage = myTypes.Image("images/ui/shit.png") + + sickImage.position.y = 330 + goodImage.position.y = 405 + badImage.position.y = 480 + shitImage.position.y = 555 + + sickImage.ui = true + goodImage.ui = true + badImage.ui = true + shitImage.ui = true + + sickImage.layer = 7 + goodImage.layer = 7 + badImage.layer = 7 + shitImage.layer = 7 + + sickImage.resize = myTypes.Vector2(0.5,0.5) + goodImage.resize = myTypes.Vector2(0.5,0.5) + badImage.resize = myTypes.Vector2(0.5,0.5) + shitImage.resize = myTypes.Vector2(0.5,0.5) end function state.finish() diff --git a/settings.json b/settings.json index 5fd564a..8e375d8 100644 --- a/settings.json +++ b/settings.json @@ -1 +1 @@ -{"Downscroll":true, "Keybinds":["a", "s", "up", "right"]} \ No newline at end of file +{"Keybinds":["a", "s", "up", "right"], "Downscroll":true} \ No newline at end of file diff --git a/stages/stageErect.json b/stages/stageErect.json index 93d066b..dbc9de6 100644 --- a/stages/stageErect.json +++ b/stages/stageErect.json @@ -8,7 +8,7 @@ "opponent": [200, -175], "hide_girlfriend": false, - "camera_boyfriend": [150, -300], + "camera_boyfriend": [150, -400], "camera_opponent": [-300, 300], "camera_girlfriend": [0, 0], "camera_speed": 1