From bd7108936dc0663ab9dcdb669d4bed5e0ea3ad58 Mon Sep 17 00:00:00 2001 From: Mark B Date: Wed, 31 Aug 2022 15:15:32 -0400 Subject: [PATCH] fixed text bugs --- README.md | 2 +- doc-assets/preview.png | Bin 7111 -> 7696 bytes doc-assets/preview1.png | Bin 6882 -> 8161 bytes doc-assets/preview2.png | Bin 7492 -> 7886 bytes src/Ending.c | 2 +- src/Gameover.c | 10 +++++----- src/Gameplay.c | 30 ++++++------------------------ src/Gameplay.h | 1 - src/Title.c | 24 ++++++++++++------------ 9 files changed, 25 insertions(+), 44 deletions(-) diff --git a/README.md b/README.md index a2ee764..d457d59 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ A dumb raylib test which you can play [here](https://canneddonuts.itch.io/avoid- - a tutorial ## Note -This games code more specifically 'Main.c' is a retyped version of this [repo](https://github.com/raysan5/raylib-game-template) which is code under the zlib license. +This game's code more specifically 'Main.c' is a retyped version of this [repo](https://github.com/raysan5/raylib-game-template) which is code under the zlib license. ## Preview ![Alt Text](./doc-assets/preview.png) diff --git a/doc-assets/preview.png b/doc-assets/preview.png index 91ed7e3527267b58f470b90c9d05df977f535ca0..06c6afcfca3c2afc012abd5834eb42f035194615 100644 GIT binary patch literal 7696 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 literal 7111 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 diff --git a/doc-assets/preview1.png b/doc-assets/preview1.png index 09bc60b06bc7bf4df63d83a795963e783cedeeab..44e65ebdc9a3ccb1952aee4607755bb54409b2e0 100644 GIT binary patch literal 8161 zcmch6c|4SD+y7;YkR?&FMT>oj$QH6@&oWHbkq|@5zMC5`RRI;=b?azMuE^dp@7{pZERCT$l4a&huEl$8mg*E9SP5&MEry^Z)>y(!Hf= z3IJ3W0Dz*IjuL#6Nuihz{-N?#*EOf3qZ^qro&+B`eYBuHW}ePI{tjMFfXf3<4<~VN zM=vL*2j2HReMnS|DgeOeqpNw-JmC5ASX28YmoUDc*-qTf0hL|SQW|Oj%F_B?bQ%^H zuG}mVTZ~LpZ;g}M`QDOOkz*$J8~3R@^RLHpn3|s0aBxK(BB)&@1Oi!mTO*lU`9C{S zJ5WYCE;?ymd%|4@>F>uw4$SeT$h;upx`TuD7-S5Bzi|-uYa2EH4(`uu&XX6iQ=hUu z5jbyYi$W7h$>jX}4~M}MWKS8-lK{qU!YYUg0Q9`k=m@+8R?*y)2Zi?Yy~V=-+wdeqf=md0J-&I~IH_dTm=i$n8dT8f*Ni47apfc$zR2_gZ&ci4G zY9&aMqB04I^{WitFy=KbbM;pE>(K>&nEhxG$o%qIKS<@IX1rl7`Sua$>-X1d}M>Hsn#`^Cz+k&EeJCLCp#y zPcORA+xk6oHXA8y;KmHMGW&H$Rt~?9@|dB;&NoS?vj9KlxR11xw8RW|VMTnz97X~y zTTfF;ji(E4b#(5tB_NN^j?1Kl&+c_a(f~c3Lh8U7YQw4Msh<@{<<@GjA!?tl!2V$tm%LBpU%^T&#Oc_4n>Y#S?9DthCIxGv6O;;E} z1F&=`Lxbl)&%XM@I<*n_Vj~{HdnS@=Nu_!x@tXtB;?KM}D}1%fpc(*6Blw6nABdfH zCCGbxOm-^OrvVtZyl`$xBoQaEDS8(#&p&>3i^$Yc0YwVnF&75)*^6zh#a&glFV8(R z4t#0n@zK_L*%H6IJDQQ(Qa{5UT**p-2s}PthMABThyf5nY>5H}3j}s4LTP#*T86+3 zR8898^s;DC7lhYAQ~G!_fr?-%IHq18ApyTi2k4rvMnlkr@Iy`!I$-hDk!DMpG>dPB zFp6o9V)w%2#ERZh0XHoaVx_uaXL)-~IS4nX5sa>^lmIo`kl2^`=&l^O-P$Y;gDA0=jJ`~X(?bh`uV@1H3&v5S2e63c%-<0- zfWdvW=X!y^cU;T>AE+5lLKY;G9R^Q>hBznl9l0{lDd>6<3gCqFXOV>=zo&zX7*mZa z6w5|1G>%748|fYuiWRVqqaC~!tY{|j)8*7+z=bcwSNNA%j)Y1jX6K;G0PKwg4?5fV z=^aWApa+S$?|Z*5bM|gGfODlOLb*-Xn}KnVn8t%nG%)$9$cD+=pFCs==u40*X>YV(rQRQREx*%Ixq!&0UA zgAJ<#T69u8Hz~a=sGM28CB7g#31IY=yRLk=`svHB(!*(yFt}0u^rpSdDJ9n%82uWV zV#~MS5hK!tet3=#tpVhjIN?0G9>hh^)wt+*661-vm-__}H0hDjm_V_$SH9|=jt=u! z@Rqy(4AIU0Qpo1!fkyZ*rS2r&x}BDT8xy;2zk(ZfmUb$M_#Eap#p5y*amSQqQOo7$T<6AF)QI2N@PM!^XN{k* zO;5%6!3}SMdFkLleKLH@-pG*WW*(`CO$nuQ88NQa>-^P%Et=KrZs~KTFeZVhB|kU z*xv>Z%!l+8@&-^{U6b|Un~fucrE`^**Vm8}u44PsdFx#M)0HRCcFerR)=`@Y#GJ0l z{QB|XUQ|x#_VBzk8jtFh>J%YKSqu9vo$z{5!&dVg6(VJn>@3$;(zX#3+#*E33yTQmE8x+}ik%j2^R z>v(u;uT^Q_&9ljUEbe_E_;=qh3ff$<^}XFhiRe3H)`0Y#FLLU~e<|?DJ^{dJ{Dg^b zQ`4-ckba7=HyiYld+`^3K>Y?a>eDF@%R;3gzCzua_~-uSaV)@vOb&h^)v<34GFiMh zYd9HZ{t-lGc71cItFnV_UWiZloaKl0109)00l>RY;NGG@KmJnzQQeD@!)$BFa#u;2 zY!y{JNDANZ_h3FKA{_>Ol`$~I)&-c`cG{k%%Cz50^Nww-@HTV9^>Ie6m#mOPq0$@} z2v>)x;5*p+yD?5kxs=q>)6(f|7=-W-=D8Ot_%Q{j`?n~;s)5?CyHLRTO~fY-LlyU* zIf?|xrv2hC31s-yI@`lXUHC#ZGs!mNHtw$VT>cvI)n53~ zrQ_Hz(D$qT*E$S#>4i*hc>P?;9hti1FL#f;#*Sm$p!Htg(Gh_b-zk;Gn=TNMd$d@t ze2XMx5)z3F+x`{jP6w>BVg{p%-7LfRlH+MoVKZhiery<_iRTMQM~UbswAD^xh%yD* zxMn9)Y!H+uf1F&zCtk)6blk*6eEJN<1#~^^PT}AeCCC|Sgsufw&7!jH_|=lB#bVQR z>lF1{DKjUYAzNd*_J}8+_^&WgQ|!#D4KFMz2wYWK)N@*r0?vl zOE8n{(LVgjnmiAu{yt@<&fNg|FHlO34$Wt7>)*W&RbNPI(DiS|8qUb1BeYDsMD2NY z$4Go_V(%DWC#Wd4bIs zTlWg`C*C57MXI|ZbDzS(W|l;~Ov_~keSCc@v8%+zqkL4nc~U8zvo>gXdV2at-gQqN z$@MS&1pIHOPJ_m_t^2w@1W5ZFoVC>VY_4-#)EmwV{os` zF+%x1G`J4XX|h`0Jz%YT-6QbYAVrQg?PDMQED2RABVT4Y=ny>>#Zw+5HxkYR$8Uer zppiVBC1Y$X8vQm{Fxn!}RD;u$Fjh(qn(Vj9MXGe)=T>O-Jt@S&yAU*IMIrAUUIjg_ zJtgRV-p@q+)J>sydJe5!(3F{VA#W0CFdU>0?*~)f!c3TQZvxVf&?O@+K|Ibc^2y&( zIR2>q8#0{=w@5eI>ka1^QW$TLd;6@PRj&>N^I9~W#z5-}7=3)^ColP|xoYHP@lY_R zi?L&jPGmewx2d_x3IEA^5?VYiv3hN$3taP!jWNWT=_HiJsVhG1oJEZ)9Vv8BH%3)paU%5&wtB6@&5#X~FeRpERA3kZbt;gOi`q38^li@LLUZ;3R+ULCsZ~>D0+~^A0a2EMM1S$%4!)i}rVxin_N;8Hu z@KB=7=5A*WmTOxgU%X1zRZ|U+`=q-9+`f_#o@dp@$^q5`s5HT+E(y&s<#tUe($Lb< z63bQE(9k#^*KL)Lam-3a4M<2xB(4Om6IP}3l|5{E01G{^x6vznD*L!x2LhV7`3v;D zX<`wF!-}b5q@nLfNkQ_!`;O1}ob24DIgL&`2R+r*wcb^Sz=x{aSJQwq#^Cm^MNio; zuim1E0+^H1gn)&%+i_B6E#UV0^MNuyeo*;Uur5{-oyNm!RK==Q$wB@zmD_o3?gDDH zD`Bvp?Wv&4=Eqb_1Qft8DsngXL*7Q$zGd3V2+a5W{3uwENH<23a!`WjJ*@5#dxKu} zrX~$x6mBI5P@lW79*+mx%TA8+6VDq!i(&XTJ>?opu1kz4THLKrvC~BKvBicJz@H!$5yJtC9-yS*-AFOE}jb@WOg%x@keE|o%gMZ)p{WY^{?(0O^ zE0Lg9v+%smJBQBg=~w2IrN2ODP`9Tz;rAXJgVj(@yv1&6x|NTOy%>LMft^sWW$GiQ zwDi)h9e9>xK!j$|={~3APjKVqQPY&KSJp&RDcV%Z9j`gD^rCz+6 z!ExIbbaHmRdQk)=i&L`Sl#*xsjqcFzoGVjb`V3Y?otxDrUng54pjDR8YPyLql<%fh z+vbc?`XidBXW};KX5^Vao-y(E`(Zi}|_DJ6yQ7FZM-5O}^3B}2jRf<-vD=}fKd&Py<%xzox0{}P&(^*x`dq0BVzieXj|U@|8@ z7T3u@1<73D&wkZD_zlh9e+>Y1SHdt0f!sk?V_9BYyQsrT;NUcZCJ7kqu3vL!GA*Ff zc#d|K6@_jVNm&2(@)l^kA854eU zts!NT`(7?gxJ3iRvlL;aqme7)pf5!4DGBQQooL9z7XFR-vYo2hace?FGm8#{;k zK2js@-an#nqUE3?#Naan%t9itH#S~tM53GjMW=n2HtCC&rLw{oXo-; z1kvZtLdD2RIL(rup3Bei@=&Up2dsqjWp;vibM=IqZ9QR$y>Np~l8=Wkop#%s&+H_C zDg+zKKQdRuR}F+G|r9aCk{K|yboBJ(Fc)M6iz)`sp{ zr)aaWW#<1&E3h4YX!k$sRVZ4)_WMt{Sm%&aJy+hy1dxWp&NzU?OngKXBp9BJ__`qU zkf_0epq+}MiWu|Cyh`Ee%qM>zXA*^b54JI}bsiagOF1|Hv$uaUJsw~jI|Q6%Rh(Cd z#Z>+2@#@h((&zBMFG1$OwDG`#z4ex-`*F;Z-8Y`DkP=g>1wDuKgwiU7{%c%XC~6D5$`+@|2} ztpd754hN4RJJ5_Fzt99c{QoIaYE1vw<-b9T#d}~=ohKL-_Yj@YFmH5F);8Y?^XKKH z#__R$<@))nIdp(~T3)ZroT z(2t2b?FJ5eTmGS<68Gcn?_S{rD`1tND^EL`P{96y#{r|NL89Hu6WoBB{ogPwvW@}( z#^brz|1~Q9BNR&{>nU*KDeVUdO3WN%On~;$l;$tAL_Nmm{u?7Gh&kC~_|G^=?_FY) zv$eHde(+&$kDMo|0uOCYbkZ)d!`9Tu*UfiYx3!0?RrvZMmj8*CYb+hY|3kFA(EZnO z9YX4v8hS2LT4PoEu3N_~`+ul#fIbT*Go9fa73L;5Apn}<1@2jiKy|beL1aol$M9-p zu03GNiToy{{({je%AlDho?=k?D4)SZpi-zhBa4iU=mgP!_}+;H^YlAqD{%X$=0uq_ zML50QpwGcqGV!!C1-~7T2DndS=%n1U*HX)$DjpFVv$l?zO$`YcqZ<96axoa^(w=x5 z04@l-`kdihzD+xLYR^%{00W}7hm%?;I_?G=jwT)p;u|A-d~dK@MZmh61P~18{QFs` z2haZ#yjhywHV!vprL4)~01Mb+{|mg&T)}kBsp4uJ7Ep~u634a{X$WDv6-cB~_*%fU zI3=v$IM%ah<06*aEE_}irv3V-3cxTm(7@fb3hDvepLt`1no^h>{X;Cv6Y-`)b?aTF zS4PXGM|U0!6xbhh*H%$o@DzdWD(>sgkvQ6kT@aqQ-5=_!Mq#Qu)sirDO9E*R-WC3mmZwTmav8B-O=sc3 zV=f|#IpL~5%1xZ1fQNqFdF?z-#gi{XI9EQWYq<$WFHSy7D(5rLFNulYjr~kC)E!D* zwHAdrxpb*|#mNVo-jiKR8MA21Zt%lbyvme4q?JTT+F0-(m=XKgg^2C^Pp&(4B|Sq_ z>M4X6JkiZJa(&11T)^c!UwLfOX3Fpq>}gios<7ci9Jh*y6Zd-Vu2N3D4y&L0U8ekK z%HqX*d&&L-o}jfBEX4OgAu3&m#BG!OFwZk(biBr?QNvs5Jk`bx1kKW#z=@FC-b&vV z_ud+8bYeamB@AUWagCNnKuj~maj`@wN?zEjD#_ns=G56ko!s!i(#}bZ>Q~{l3ef$F z=bZ)zV3p09URzo7qXo~{+@5$mOrj?!3qC$Ij*xD^(C@_f-TVGT=@F^5Bhq)UXyEKcT~Qx4rWMN0 z@$;=19uV?(2i)=&kX9`@yum*R)-5^aRr%cw7XHyY9hLhrej-o0jZJAppH!{7%d|?! z%PvncYew65${hL(T4MZyx+2qzX%>6x!bS{V?il-;MPomteu6WbSX5us50#-_u~Iqv zO5VQd>r`9-ImOX5y<>hv3YGBgN!gij-*W72{xqe53kLEQD~m#(G*1jcsEc!_ zRq=*#jbm|q>%xhCx`Of&dCf&K^ZBH!r>obk**sf?t~V&bm)(A{BpHY`Ts3R7k0VW* z-eq2@V{&A&R$7-ccoZ=Z!PT?~-;rxJ-R=v)%yAydenM@BE;w!b z?4RHkaSiKAFdjmBOjkO64DkuQcwkj|72DXSQQgw0lQANxDry>u4h98jg;)G&)?FQzd* znH~7`*<1hngXEF}_eg`V8>v^BEhMSNXFD3>yF^M0f4|$rx1q)4B<{R)>s#WzH3ikw zGI*A|-*#bM2~4XKc5TEeGT&v$%(_r%1eV8YoE7r1`W!%DkXhOM>^G-=>Xd}>oV=wPaJG;ilR>le4@GiQPZ-V^MxZdSd_4N#i=m_8pr z7Z);_TR3HU`&?YORhivdbt8o7j^$6>H&H+*>|(sEgm}RPfdtn>Fgz zhSJp??p-NqxPl#qfM3TxK_`^hiySA6!`3W=iigQBO5pxpgToEI%1=C07VftY8kC+8 zYLa!@!lw|jBZ#=5YRlC;!5vmgIJz>1X#dDz)7ibx}V(8%h%PS=D`jafg)$pD1A*a|Z3Wh?9*7y@r zjbeqazzeBY>|BB{iXOLRHVvF9SWfD0nM;BES;%Z83)JUf6n^LOz&CJ=oJP!AU~p1k?guvR=~p7cw^u~m)|h<|xB!dWt) z5q0`zxA(cB0TlgZRmRgK{^(|XIRK91zmX1Y@MC0Xmcne+4FE?tz5&*6dpmuc8bFl& cHzmlb^Wnp)*bV<$@FP8-t7W8Fq7IArFG(NYRR910 literal 6882 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 XPgxatTWNsrL4gMvI`_)d5n=xW_HugV diff --git a/src/Ending.c b/src/Ending.c index a3429e8..2c1b1fd 100644 --- a/src/Ending.c +++ b/src/Ending.c @@ -33,7 +33,7 @@ void UpdateEndingScreen(void) void DrawEndingScreen(void) { DrawTexture(background, 0, 0, GOLD); - DrawTextEx(ZadoBold, "THANK YOU SO MUCH FOR PLAYING!!!", (Vector2){ 10, 10 }, 45, 2, GOLD); + DrawText("THANK YOU SO MUCH FOR PLAYING!!!", 10, 10, 40, GOLD); DrawTextEx(ZadoBold, "Canneddonuts 2022", (Vector2){ 380, 400 }, 40, 2, WHITE); DrawTextEx(ZadoBold, "Press 'ENTER'", (Vector2){ 5, 400 }, 40, 2, WHITE); } diff --git a/src/Gameover.c b/src/Gameover.c index be94a21..672853c 100644 --- a/src/Gameover.c +++ b/src/Gameover.c @@ -43,12 +43,12 @@ void UpdateGameoverScreen(void) void DrawGameoverScreen(void) { DrawRectangle(0, 0, GetScreenWidth(), GetScreenHeight(), BLACK); - DrawTextEx(ZadoBold, "GAME OVER", (Vector2){ 190, 0 }, 80, 3, RED); - if (gameoverSelected == 0) DrawTextEx(ZadoBold, "RETRY", (Vector2){ 350, 200 }, 30, 2, WHITE); - else DrawTextEx(ZadoBold, "RETRY", (Vector2){ 350, 200 }, 30, 2, RED); + DrawText("GAME OVER", 170, 10, 80, RED); + if (gameoverSelected == 0) DrawTextEx(ZadoBold, "RETRY", (Vector2){ 340, 200 }, 40, 2, WHITE); + else DrawTextEx(ZadoBold, "RETRY", (Vector2){ 340, 200 }, 40, 2, RED); - if (gameoverSelected == -1) DrawTextEx(ZadoBold, "TITLE", (Vector2){ 355, 240 }, 30, 2, WHITE); - else DrawTextEx(ZadoBold, "TITLE", (Vector2){ 355, 240 }, 30, 2, RED); + if (gameoverSelected == -1) DrawTextEx(ZadoBold, "TITLE", (Vector2){ 345, 250 }, 40, 2, WHITE); + else DrawTextEx(ZadoBold, "TITLE", (Vector2){ 345, 250 }, 40, 2, RED); } int FinishGameoverScreen(void) diff --git a/src/Gameplay.c b/src/Gameplay.c index f56126e..402ea30 100644 --- a/src/Gameplay.c +++ b/src/Gameplay.c @@ -68,7 +68,6 @@ void InitGameplayScreen(void) enemy.currentframe = 0; enemy.hp = 5; - //enemy.speed = 2.0f; enemy.speed = 200.0f; if (GI_callcount < 1) { enemy.frameRec = (Rectangle) { @@ -127,20 +126,10 @@ void InitGameplayScreen(void) pauseTimer = 0; score = 0; scoreTimer = 0; - ewc = 0; GI_callcount++; } -void SetEnemyLevel(void) -{ - switch (level) { - case LEVEL1: enemy.speed = 200.0f; break; - case LEVEL2: enemy.speed = 400.0f; break; - case LEVEL3: enemy.speed = 600.0f; break; - } -} - void DamageActor(struct Actor *actor) { if (!actor->in) { @@ -248,11 +237,12 @@ void UpdateGameplayScreen(void) if (IsKeyPressed(KEY_D)) DebugMode = !DebugMode; if (IsKeyPressed(KEY_NINE)) ammo = 99; if (IsKeyPressed(KEY_ZERO)) ammo = 0; + if (IsKeyPressed(KEY_G)) finishfromGameplayScreen = 1; if (IsKeyPressed(KEY_R)) finishfromGameplayScreen = 2; if (IsKeyPressed(KEY_W)) finishfromGameplayScreen = 3; // call gameover when killed - if (player.hp <= 0) { StopMusicStream(Gameplaysong); finishfromGameplayScreen = 1; } + if (player.hp < 1) { StopMusicStream(Gameplaysong); finishfromGameplayScreen = 1; } // Red feather logic for (int i = 0; i < MAX_SHOOTS; i++) { @@ -285,7 +275,7 @@ void UpdateGameplayScreen(void) case 0: player.hp++; break; case 1: ammo++; break; } - PlaySoundMulti(fxfeather); + if (!mute) PlaySoundMulti(fxfeather); ResetFeather(); } feather.hitbox.x -= 300.0f * GetFrameTime(); @@ -293,16 +283,11 @@ void UpdateGameplayScreen(void) // Enemy logic if (level < 3) { - /* if (((enemy.hitbox.y + enemy.hitbox.height) >= (float)GetScreenHeight() - || (enemy.hitbox.y <= 0))) enemy.speed *= -1.0f; */ - - // if ((int) globalTimer % 50 == 0) - enemy.hitbox.y = GetRandomValue(0, GetScreenHeight() - enemy_sprite.height); - // enemy.hitbox.y += enemy.speed * GetFrameTime(); + if ((int)globalTimer % 40 == 0) enemy.hitbox.y = GetRandomValue(0, GetScreenHeight() - enemy_sprite.height); if (CheckCollisionRecs(player.hitbox, enemy.hitbox)) DamageActor(&player); - if (enemy.hp < 1) { level++; enemy.hp = 5; SetEnemyLevel(); } + if (enemy.hp < 1) { level++; enemy.hp = 5; } } // Firework logic @@ -352,9 +337,6 @@ void DrawGameplayScreen(void) for (int i = 0; i < MAX_SHOOTS; i++) { DrawRectangleLines(shoot[i].hitbox.x, shoot[i].hitbox.y, shoot[i].hitbox.width, shoot[i].hitbox.height, GREEN); } - /*for (int i = 0; i < 2; i++) { - DrawRectangleLines(EnemyBounds[i].x, EnemyBounds[i].y, EnemyBounds[i].width, EnemyBounds[i].height, WHITE); - }*/ DrawText(TextFormat("enemy.hitbox.y: %f", enemy.hitbox.y), 10, 200, 20, GREEN); DrawText(TextFormat("enemy.speed: %f", enemy.speed), 10, 220, 20, GREEN); DrawText(TextFormat("globalTimer: %f", globalTimer), 10, 240, 20, GREEN); @@ -362,7 +344,7 @@ void DrawGameplayScreen(void) DrawText(TextFormat("player.iframetimer: %f", player.iframetimer), 10, 280, 20, GREEN); DrawText(TextFormat("player.in: %d", player.in), 10, 300, 20, GREEN); DrawText(TextFormat("feather.active: %d", feather.active), 10, 320, 20, GREEN); - //DrawText(TextFormat("GetTime(): %f", GetTime()), 10, 320, 20, GREEN); + DrawText(TextFormat("GetTime(): %f", GetTime()), 10, 340, 20, GREEN); } if (feather.active) DrawTexture(feather_sprite, feather.sprite_pos.x, feather.sprite_pos.y, feather.color); DrawTextureRec(enemy_sprite, enemy.frameRec, enemy.sprite_pos, enemy.color); diff --git a/src/Gameplay.h b/src/Gameplay.h index c6e27b0..670750e 100644 --- a/src/Gameplay.h +++ b/src/Gameplay.h @@ -52,7 +52,6 @@ struct Item feather = { 0 }; Sound fxfeather = { 0 }; bool pause; bool DebugMode; -bool ewc; int ammo = 0; int GI_callcount = 0; diff --git a/src/Title.c b/src/Title.c index 326d0be..90153ac 100644 --- a/src/Title.c +++ b/src/Title.c @@ -18,13 +18,13 @@ int titleSelected = 0, finishfromTitleScreen = 0; void DrawScore(void) { if (bestscore >= 10000) - DrawTextEx(ZadoBold, TextFormat("BEST: %i", bestscore), (Vector2){ 580, 0 }, 30, 2, (Color){ 222, 181, 0, 255 }); + DrawText(TextFormat("BEST: %i", bestscore), 580, 0, 30, (Color){ 222, 181, 0, 255 }); else if (bestscore >= 5000) - DrawTextEx(ZadoBold, TextFormat("BEST: %i", bestscore), (Vector2){ 580, 0 }, 30, 2, (Color){ 149, 148, 147, 255 }); + DrawText(TextFormat("BEST: %i", bestscore), 580, 0, 30, (Color){ 149, 148, 147, 255 }); else if (bestscore >= 1000) - DrawTextEx(ZadoBold, TextFormat("BEST: %i", bestscore), (Vector2){ 580, 0 }, 30, 2, (Color){ 138, 72, 4, 255 }); + DrawText(TextFormat("BEST: %i", bestscore), 580, 0, 30,(Color){ 138, 72, 4, 255 }); else - DrawTextEx(ZadoBold, TextFormat("BEST: %i", bestscore), (Vector2){ 580, 0 }, 30, 2, BLUE); + DrawText(TextFormat("BEST: %i", bestscore), 580, 0, 30, BLUE); } @@ -49,15 +49,15 @@ void DrawTitleScreen(void) { DrawTexture(background, 0, 0, GRAY); DrawTextEx(ZadoBold, "Avoid", (Vector2){ 300, 0 }, 80, 5, BLUE); - // DrawText("Controls", 10, 10, 30, BLUE); + DrawText("Controls", 5, 10, 30, BLUE); DrawScore(); - /* DrawText("Press the arrow keys or 'DPAD' to move and 'X' to dash", 10, 40, 10, WHITE); - DrawText("Press 'ENTER' or 'START' to pause", 10, 60, 10, WHITE); - DrawText("Press 'M' to mute", 10, 80, 10, WHITE); - DrawText("Press 'Left-ALT' + 'F' for full screen", 10, 100, 10, WHITE); - DrawText("Press 'R' to restart", 10, 120, 10, WHITE); - DrawText("Press 'ENTER' or 'START' to select an option", 10, 140, 10, WHITE); - DrawText("Press 'X' or 'A' on a gamepad to shoot", 10, 160, 10, WHITE); */ + DrawText("Press the arrow keys or 'DPAD' to move and 'X' to dash", 5, 40, 10, WHITE); + DrawText("Press 'ENTER' or 'START' to pause", 5, 60, 10, WHITE); + DrawText("Press 'M' to mute", 5, 80, 10, WHITE); + DrawText("Press 'Left-ALT' + 'F' for full screen", 5, 100, 10, WHITE); + DrawText("Press 'R' to restart", 5, 120, 10, WHITE); + DrawText("Press 'ENTER' or 'START' to select an option", 5, 140, 10, WHITE); + DrawText("Press 'X' or 'A' on a gamepad to shoot", 5, 160, 10, WHITE); // DrawText("Ver: 0.1", 680, 420, 30, WHITE); if (titleSelected == 0) DrawTextEx(ZadoBold,"PLAY", (Vector2){ 360, 220 }, 30, 2, WHITE); else DrawTextEx(ZadoBold,"PLAY", (Vector2){ 360, 220 }, 30, 2, BLUE);