From ce18682e77f1bc1969a547493cd366b931f844a8 Mon Sep 17 00:00:00 2001 From: Rohmer Maxime Date: Thu, 13 Jun 2024 17:03:51 +0200 Subject: [PATCH] Fixed the out of bounds issues but the character slides lol --- Debug/MyProject.axf | Bin 301968 -> 301944 bytes Debug/MyProject.map | 124 +++++++++++++++---------------- Debug/MyProject_Debug.ld | 2 +- Debug/MyProject_Debug_library.ld | 2 +- Debug/MyProject_Debug_memory.ld | 2 +- Debug/src/main.o | Bin 47008 -> 46992 bytes Debug/src/main.su | 16 ++-- src/GPIO.h | 2 + src/main.c | 45 ++++++----- 9 files changed, 100 insertions(+), 93 deletions(-) diff --git a/Debug/MyProject.axf b/Debug/MyProject.axf index 3890a95e1b3eb50a170566fcd9c97f80647f3805..96077b23080714a2360c6d32618c505738582fbb 100755 GIT binary patch delta 3071 zcmZ`*d2o}*72o}KSCVg8pHKOc@Qv{SrMTdO%c#b32V;&g!C(Wn5wRHzaUcN)kzg<+ z0itMNgE0jlPLkxNefegsGUlEPm-zs>CUWnfA4;8 z-|nZkT!yFb8{RTeox_}(Z0cbIrywx&giu^RVm@T*Il2611ij-d(eDXIAsG5Z_%Zc3 zZ|a9=cHftgn{>3kZ?5qmrAFsJ6TYH7eV-+UP}dTD9aBy1IZM3H6deMa)F&)GKF)H0HzxjEqF1B4VUNxFQMhuz)GRc6FtVUZAXeU&t^+wpoTMqzwIL0|cbL-)l zXh2tuG`vU!w!xZUBRR@Vz4KP;c>DQbW{tSybvF-_4^4&VEWPI-U48C@-Z@>p$_cN# z-Q#ip((7?whWS_TF_XtV+uKy3eN@KYh6FH)6_rJnIE&Yv?@hN9TO$4vaWU1FQ(xz^ zI)2FOKJ+6=9bQ3FiyB1gaHGdP)5|Pp8_%w05A}>Vcco3wu~-vcA~|jS&6Y$<8AONH zYKDqhXi-taR4W-{Y%L8?Uv>UFZ9#S>prMwRSEF33Ck>*R_$-=DEyK&tv?PPXmADk= zhV-8-I5Kp$nK(B!54C6?jic<(UiW7|9<>ZNlN@%XsD2>XAs4UvoTuuZ z9*zmC@bnlX6JafY83(kLO-)VYp>o>mHf+^qbZRpwOvRC}Vpa$VB_U~xp%ITs?-y)N zZJ4`~5FVr1=3|9@k0?sx^rJ-(5Z7yt_)xfeJ|RkmrVmg=BsOyRg}Fe<)_jVT*+B7= z!#**Bnn5!lk6&d;_9s5=kYCRRr>P2tp@UWrC6QIAovtw)TnL;U0y$Mtgj@qdwEOQM zqb{$7?QY#6;3$r=sP&C22;J+0%<+L;wIF++1{D=YZS*lvt_5ZFUCggb>!;gmqLpYu zz5}5^;=WS6;fq0?iK54Ke$n~r_Xtk}p>yV_)Tqt#0G|vR0A=R*gI!HTkM9LzK+N&3 zU9CX*zHqDtb9CEd!m9!MYaI$QB-XB!I zk)oq&jSUiR2OjP2#b`bUo3uL7uLJ%txav$ltWSQSZ5_bLD2a{G2D&xqXBDCIp1E(g z1Gx;y>KW9YALx(PsCA7m5V|k`TYT|&paD`Qqgc7GFS9^(8gOX0=UFu634Zr2etWY6 z$I+(VK)s3pY$c`vEKaFra7H8{r@dr?9tfm8` z;(SuIa^7{89_a+((f6rC?!3-&lit(8wWHrc{X)0H&mow4xO+HyW2L8`CCf+G*#?>> zR}HXfG)o>EVCmE*`v;iOWCah3?!& z5Q`zrcUk7Fet;tvAGW@c2)_zh7V8gykhDN30XDvvz~2ZFV1R^Vxpv)Ux2Qm~gL3sf zmXnPpaiZ$Tz&&O)GH^f6_3=G+DogtdI9W#CaV2}0kxCiKuLPTkQ1Fb{B)Q+fQwm}M zqX$+(MR>l5d`|ER!SaP+rHCjIv{VTplnT_shGBn_=M6lQUXkA!_-cAv)~I|ry(`bE zd{*N>2o(t{MMj=THVJML+4-V4PmDK-L{q8A%o8al@iUVUc_KYuOfrdud7?B=WSK;g zNf=8}4K{JpL|UFm0EG!)CQtl)#8R0_6yyo3NluC4#vBa>rH7!f8mtq5V$FvkbR{BW zy-Y!vs|ym@am;9Vk3`s-EZSIZBQCiUay6>OupF8Q-ZLq5e~{l?L0wt zxAWiTVmnL^*LU!3tW()dr-zqM57ibZ%fj{3!@_`<70~guj9mK)F9d(TdxfVojr1!B z_)a|&PM4A@T>Pwm(JFjvpABpWztG&#LUaF*P_<9UmA9EcQOxzA>mQU%fDK}O2Lp$c zK-ZI2*Q{5$U4akq#jX59^KEDw|De9+#WotjC>|$|cJMihu17xU;H9~ha8x5~>~&0b z1f#fal=qqPj-9Jv|Lb!~D*YtPdPHlnkCZ!Z6sZAtRip6pfTxVYt#U0Grd#9>+ju_B zmg(E!Z12cZ+xZ&B)FU%G`BGqR>*RF^zwP9kX}WCO!Ru(Qytsq!iEQm+L=PXrNT^9Y zJgHA*<4&F*8ThXY|Az(H3*xt$ieF22qqDERyG4Q>~6A@gf;(VO79 zUp{z~-=YWQ#a-Z|*p577 V^#Ps{mn=DX5GXD#@HO>~{{oQ3tk(bl delta 2962 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 delta 3122 zcmZ8j3s6+o8UD}RJ3RmA`baj^tRDwE=t zBt|h!WIauE5}aZr&R88(R>3&6!I^4o6BB8giLsc*=}e5ZQ)8Q$MrLCF|K6jM^bF^G z_xs=XKj++~|E4l{Q|WiH?UC$@Vm7Oa{Cjb`{;2UoN{jn7%t z^^MbmD_fz!czNlUgPWKy10@c$Ob@<>`Y&=sIluBnjvd(t4jX!^!3?xkE+>nx3_qM^ z3?{yF_v>%(!dtF6rvpb%!&_pmF=t+Db-Q_@GQ=j8ebqSKxUr6ffnF(R6cUJ~8HbX(z#SH;xAb{y~-|`^jI68bG=JPd|2@C&eem?5% zgu2^xeJEc)`{BQduY7zEZx zRRpe?MekwNk^}(j*R5OkVKmufQ`D%j7zNo1Kpa@lI04uJG1t5_Y+bn&pZgTj_G#Mq zI+Pe~rrkRG*KA}-rZ+T}u)iKa$u*53OH5|ylfdFol5cvCBvmNU#qlYn=r+wXsktTH zNJADEM@g)I^I$@cmhg@e*6KMGM3Gw)#TiJFJQpJ=9@Dh$MAU5M+cn16$IN~FT}Fk%PV+n;J_0`_YQ$qkX;g;kRs?Ou+dm`XUZO1(Y@`71h) zEVGTE{2w@Fm$bg^(=%92XnDx2c}5!4?S7<(EmV#nQe#q|MFktST+$L9537r6kROTF z6CVz%Z&2c+3Dh@3WFVZ9WQQ;?eP^(X0I4<%MKf)o7Ngb#3Nx3c0;IRA=-Yw$0fun0 zfm$?kJc(Uq9S;4KYt<)luUI&a5-5>I$apaZ`Fb;L3ylGsY+w`}?Ul8_T1~~6A1y;_ zIUR_$7^+-}G^_hDJ$qbsa+P}8fpmimTcZxwAq`n5sv&YR49?EQC|Ir4wna-ZhhuGD zQOwop^o%JS#wA2OI&F1S7Z5E8>%DAt9L0mhRxi+Lqb&jBG~={)16vcTOS^0~l+==R zGq6UhF6}^`X)MJonc7x4zolyGwQ7EWIyP{QsyUfLQm5|I?D&K<_1RGG6S$6J)7Tu% zs#3FR!)F`r9i-t*(SrC4WKOS_euoZA{0}sHGGGHc#qu~$@;Q`PzjGtUqC4Z7SgMsJ zvuUWZKL`f%e5=no&swD_X~L3lE`=>hHzepXGAc`Zr97Rf;_nGn7OI3sg_xb_O&rpR zc8~E3z9&5|E_=M} z&qB#pA`8R>_v^GAYkY~7fTB-i9kQ)nmei5Hl$ek{pQOrvU`Sd~_ zaB-uHO9_t&^3)<8vw+)j#HZdA z@rn0=3>6e3Th3z$7V=mE7f&WA7M{G<@=W_U$D&A3$nCm1A3-VPZUU^Olq-f+(aU*1 zZooGe1wHLzyeCf#^*F@?TjIp$Jwr38RsMve=Zsqo+mx4>KcUhe7gMZMCnWjf<58DK z9g|}+`sS7lCJo#Y;1eNLGI!d=%h3;ZFeGC0q$` zkr1Q(CHlu5@3Zg@EL6eI)EllV@QqeCJuS+~8@r=X?iB~1wl9+1L3vfzw6P5s!NbZ+dCvg>F5kR-b@w>HMDt1de zAaP9M?+NiMdqMI^i8mzPk!YcB9@=F|tRTeB1_|*Dt&qG;;x@uCD)vf)15$B8;w3^4 zz%|KlOXT?Vpul#CPQo030?B<6%L%gp>Ljj^^2a4UfjC>iAH`ovLBGV^g!mhAK=P9k z-*l93@UV0+=^Ih;?ox#P^~9Rj3h*Xos-VTM2PTt{Fu6!GPsgbc~k(^hYBH z1xx(D>mbq(Wkzcc^&8k8adr4@@#(Np96nOR#>F>B_OnW{_o(}ki+%c~tiVY0S;h?j zGtM$R+V}@prZ(uGAF{bO$d1MWlv@zXh~W4y#xo21u^S8o8!5o+I&;LmYs4rTMrQCN z^qLesBW~sr`$oL{pSTMjiwh%e(|NjxMsa&2ho8k?f*O$-b+csQk9yg8(S~cUh~Szh z-o*8)xQgo~VL9$)i^VKli^XzWzZSi?c8G(xz9=Se-7dbtb+5=i;l&= 320) + scrolling = 1; +} void SysTick_Handler(){ timer_count += 1; //update the screen @@ -62,14 +69,6 @@ void SysTick_Handler(){ } } -void increment_scroll(int value){ - scrolling += value; - if(scrolling <= 0) - scrolling = 319; - if(scrolling >= 320) - scrolling = 1; -} - int number_of_digits (int value){ int interVal = value; int count = 0; @@ -110,16 +109,20 @@ Player CreatePlayer(){ } void RefreshPlayer(Point vector){ - + if(player.Hitbox.Position.Y + vector.Y < 0){ + player.Hitbox.Position.Y = SCREEN_SIZE.Height - (0-vector.Y); + }else{ + if(player.Hitbox.Position.Y + vector.Y >= SCREEN_SIZE.Height){ + player.Hitbox.Position.Y = vector.Y - (SCREEN_SIZE.Height - player.Hitbox.Position.Y); + }else{ + player.Hitbox.Position.Y += vector.Y; + } + } player.Hitbox.Position.X += vector.X; - player.Hitbox.Position.Y += vector.Y; - if(player.Hitbox.Position.Y < 0) - player.Hitbox.Position.Y = SCREEN_SIZE.Height - 1; - - if(player.Hitbox.Position.X + player.Hitbox.Size.Width > SCREEN_SIZE.Width) - player.Hitbox.Position.X = SCREEN_SIZE.Width - player.Hitbox.Size.Width; + if(player.Hitbox.Position.X + player.Hitbox.Size.Width >= SCREEN_SIZE.Width) + player.Hitbox.Position.X = SCREEN_SIZE.Width - player.Hitbox.Size.Width -1; if(player.Hitbox.Position.X < 0) player.Hitbox.Position.X = 0; @@ -143,10 +146,11 @@ int main(void) { Resize_Window(SCREEN); Draw_stars(); + Point vec = {0,0}; + int increment = 5; + while (true) { - Point vec = {0,0}; - int increment = 1; int JoystickState = JoystickGetState(); if(JoystickState & (1 << 4)){ @@ -164,9 +168,8 @@ int main(void) { if(need_to_scroll){ scroll(scrolling); - need_to_scroll = false; - vec.Y -= 1; + need_to_scroll = false; int digits = number_of_digits(scrolling); char newStr[digits+1]; @@ -179,8 +182,10 @@ int main(void) { DrawText(new_origin,newStr,charSize); } - if(need_to_scroll || vec.X != 0 || vec.Y != 0) + if(vec.X != 0 || vec.Y != 0){ RefreshPlayer(vec); + } + } }