From 9472f3ba765f3b4cb2233d5db84594cfeaf74d9d Mon Sep 17 00:00:00 2001 From: milangames-art Date: Thu, 5 Dec 2019 19:24:16 +0100 Subject: [PATCH] ajout grand mario, bullets, fleur et decalage auto --- SuperCbr.g1a | Bin 32812 -> 39812 bytes assets-fx/img/bloc.png | Bin 0 -> 547 bytes assets-fx/img/buisson.png | Bin 0 -> 618 bytes assets-fx/img/bullet.png | Bin 0 -> 577 bytes assets-fx/img/champi.png | Bin 0 -> 551 bytes assets-fx/img/colline.png | Bin 0 -> 632 bytes assets-fx/img/fleur.png | Bin 0 -> 588 bytes assets-fx/img/mariobig.png | Bin 0 -> 756 bytes assets-fx/img/nuage.png | Bin 0 -> 622 bytes build-fx/SuperCbr.bin | Bin 32300 -> 39300 bytes build-fx/SuperCbr.elf | Bin 45688 -> 53932 bytes build-fx/assets/img/bloc.png.o | Bin 0 -> 444 bytes build-fx/assets/img/buisson.png.o | Bin 0 -> 452 bytes build-fx/assets/img/bullet.png.o | Bin 0 -> 436 bytes build-fx/assets/img/champi.png.o | Bin 0 -> 452 bytes build-fx/assets/img/colline.png.o | Bin 0 -> 484 bytes build-fx/assets/img/fleur.png.o | Bin 0 -> 448 bytes build-fx/assets/img/mariobig.png.o | Bin 0 -> 696 bytes build-fx/assets/img/nuage.png.o | Bin 0 -> 480 bytes build-fx/map | 882 +++++++++++++++-------------- build-fx/src/bonus.c.d | 12 + build-fx/src/bonus.c.o | Bin 0 -> 2412 bytes build-fx/src/box.c.o | Bin 1156 -> 1520 bytes build-fx/src/ennemi.c.o | Bin 2144 -> 2460 bytes build-fx/src/level.c.o | Bin 2672 -> 6952 bytes build-fx/src/main.c.o | Bin 2444 -> 2488 bytes build-fx/src/mario.c.d | 4 +- build-fx/src/mario.c.o | Bin 3228 -> 3876 bytes build-fx/src/score.c.o | Bin 2172 -> 2088 bytes build-fx/src/tile.c.o | Bin 1132 -> 1632 bytes build-fx/src/world.c.d | 4 +- build-fx/src/world.c.o | Bin 2544 -> 3064 bytes src/bonus.c | 144 +++++ src/bonus.h | 16 + src/box.c | 35 +- src/ennemi.c | 43 +- src/level.c | 131 ++++- src/main.c | 1 + src/mario.c | 115 ++-- src/mario.h | 7 + src/score.c | 5 +- src/tile.c | 19 + src/tile.h | 10 + src/world.c | 167 +++--- src/world.h | 46 +- 45 files changed, 1058 insertions(+), 583 deletions(-) create mode 100644 assets-fx/img/bloc.png create mode 100644 assets-fx/img/buisson.png create mode 100644 assets-fx/img/bullet.png create mode 100644 assets-fx/img/champi.png create mode 100644 assets-fx/img/colline.png create mode 100644 assets-fx/img/fleur.png create mode 100644 assets-fx/img/mariobig.png create mode 100644 assets-fx/img/nuage.png create mode 100644 build-fx/assets/img/bloc.png.o create mode 100644 build-fx/assets/img/buisson.png.o create mode 100644 build-fx/assets/img/bullet.png.o create mode 100644 build-fx/assets/img/champi.png.o create mode 100644 build-fx/assets/img/colline.png.o create mode 100644 build-fx/assets/img/fleur.png.o create mode 100644 build-fx/assets/img/mariobig.png.o create mode 100644 build-fx/assets/img/nuage.png.o create mode 100644 build-fx/src/bonus.c.d create mode 100644 build-fx/src/bonus.c.o create mode 100644 src/bonus.c create mode 100644 src/bonus.h diff --git a/SuperCbr.g1a b/SuperCbr.g1a index 362474568a3924673ab72e1626e390f2c41a09b5..5548a7dd824cc9a1bcdf4e5a80c29d936f5a73ff 100644 GIT binary patch delta 10023 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 Ef@T)|WdHyG literal 0 HcmV?d00001 diff --git a/assets-fx/img/bullet.png b/assets-fx/img/bullet.png new file mode 100644 index 0000000000000000000000000000000000000000..fc0acb833b664575013e5d0f41563fc53bec51fe GIT binary patch literal 577 zcmV-H0>1r;P)EX>4Tx04R}tkv&MmKpe$iQ%glE3U&~2$WWauh>AFB6^c+H)C#RSm|Xe=O&XFE z7e~Rh;NZt%)xpJCR|i)?5c~jfadlF3krMxx6k5c1aNLh~_a1le0HIM~n$)O(glehxvqHp#<}RSz%!#}COuCaB^HYvtaLCdnHupFaZJ^8$``U8 ztDLtuYn2*n-IKpClGj(3xlVH!Ni1Rs5=1Ddp^OS_>Z=T$6botEPx$zUT)#vvg)BVfh)c3uQq_0Ptxmc zEp`O-Z37qAZB5w&E_Z;zCqp)6R|?V;3I*W(jJ_!c4BP@eYhG`yeVjf38R{x^0~{Oz zqeaSI_jz}BXK(+WY4!I5n!j?ly4V_b00009a7bBm000XU000XU0RWnu7ytkO2XskI zMF-;y1rZ%H^Ku&U0000PbVXQnLvL+uWo~o;Lvm$dbY)~9cWHEJAV*0}P*;Ht7XSbN zD@jB_R0!8)j4=`bFbKlH|Nl81REEkF;6Q*@ACFDikOHW?lVp3~KBog7IRYc*G@%E- P00000NkvXXu0mjfk6z#z literal 0 HcmV?d00001 diff --git a/assets-fx/img/champi.png b/assets-fx/img/champi.png new file mode 100644 index 0000000000000000000000000000000000000000..a7a57d74fd584c90a252adc9c5e6ea9455b345a3 GIT binary patch literal 551 zcmV+?0@(eDP)EX>4Tx04R}tkv&MmKpe$iQ;Sk69qb_DkfAzR5EXIMDionYs1;guFuC*#nlvOS zE{=k0!NHHks)LKOt`4q(Aou~|;_9U6A|?JWDYS_3;J6>}?mh0_0YbCNG^=ME&~)3( zq>^GTzbf{=B7zXYhypURj5$e4!*_h$Bf!_Y1kdt6_vh$W3l;+cBJnIUOq+OvczV+| zIPVk3SXowy&xyxOx*+i**ANhHT2N6r?E>i@^ICeN!G7xCO#%UT^JvoIU_q>MDH$92^3p zCCXm+d3RrTZ~vZY_xA(P&vIr%H*X36000SaNLh0L01FcU01FcV0GgZ_00007bV*G` z2jdI{4JI^1m^ys`001{hL_t&t*L99d762d!0*CH@XWA56y<8zbm2Ci!1Y|8#RIvAS pREX>4Tx04R}tkv&MmKpe$iQ;Sk69qb_DkfAzR5EXIMDionYs1;guFuC*#nlvOS zE{=k0!NHHks)LKOt`4q(Aou~|;_9U6A|?JWDYS_3;J6>}?mh0_0YbCNG^=ME&~)3( zq>^GTzbf{=B7zXYhypURj5$e4!*_h$Bf!_Y1kdt6_vh$W3l;+cBJnIUOq+OvczV+| zIPVk3SXowy&xyxOx*+i**ANhHT2N6r?E>i@^ICeN!G7xCO#%UT^JvoIU_q>MDH$92^3p zCCXm+d3RrTZ~vZY_xA(P&vIr%H*X36000SaNLh0L01FcU01FcV0GgZ_00007bV*G` z2jdI{3KKPy;ojH)000?uMObu0Z*6U5Zgc=ca%Ew3Wn>_CX>@2HM@dakSAh-}0001E zNklEX>4Tx04R}tkv&MmKpe$iQ%glE3U&~2$WWauh>AFB6^c+H)C#RSm|Xe=O&XFE z7e~Rh;NZt%)xpJCR|i)?5c~jfadlF3krMxx6k5c1aNLh~_a1le0HIM~n$)O(glehxvqHp#<}RSz%!#}COuCaB^HYvtaLCdnHupFaZJ^8$``U8 ztDLtuYn2*n-IKpClGj(3xlVH!Ni1Rs5=1Ddp^OS_>Z=T$6botEPx$zUT)#vvg)BVfh)c3uQq_0Ptxmc zEp`O-Z37qAZB5w&E_Z;zCqp)6R|?V;3I*W(jJ_!c4BP@eYhG`yeVjf38R{x^0~{Oz zqeaSI_jz}BXK(+WY4!I5n!j?ly4V_b00009a7bBm000XU000XU0RWnu7ytkO2XskI zMF-;y1rRm>I}q%;0000PbVXQnLvL+uWo~o;Lvm$dbY)~9cWHEJAV*0}P*;Ht7XSbN zHc3Q5R0!8~jY$pwFbD!6>HohxJ&@XTaZZAW1|-?mBF=~#5w-+sQL};Xg}WbZ)tx%x adH^QIj6U1IW3B-J0000*cus literal 0 HcmV?d00001 diff --git a/assets-fx/img/mariobig.png b/assets-fx/img/mariobig.png new file mode 100644 index 0000000000000000000000000000000000000000..05aa263ea217e1d6ef23bc84aa6831ae748fa268 GIT binary patch literal 756 zcmVEX>4Tx04R}tkv&MmKpe$iTT4Z%9qb_DkfAzR6cusQDionYs1;guFuC*#nlvOS zE{=k0!NHHks)LKOt`4q(Aou~|;_9U6A|?JWDYS_3;J6>}?mh0_0scmXsb<$WplX(p zP9}tGZdC}qB8(s+=);)AOnpuiQ}7&L_we!cF3z*O&;2=imAuISpFljzbi*RvAfDc| zbk6(4QC5-^;&b9rgDyz?$aUG}H_kjWYY7*QDULk!Ey()lA#h$5yuo&qkMnX zWrgz=XSGset$XqphV$CWGS_JiA&EsSL4*JqHIz|-g*dGmDJIgipYZSxI)0H{GP%lN zjjYy%h9ZB5<-E_Z-|CtWfmM+(sN7Ye}p8GTa@=)VPe*4*A&`#607GSpS-1~@nb zMv9cZ?(y#K&ffk#)9UXBPuFspFS}5U00009a7bBm000XU000XU0RWnu7ytkO2XskI zMF-;y1rH)N&3;Nd0000PbVXQnLvL+uWo~o;Lvm$dbY)~9cWHEJAV*0}P*;Ht7XSbN z-bqA3R7l6|mCF{xAP7W(3b`i+5BiW@a0hC_#}XN1(FJ>Ja%4+{FTx%Y zblR-``q;0!G1rHv78;(!9d!jB2?Wu*kVkhZfg+oU&_c>rHzvQ9Z*e?JXk*B7A1|P- zJLB1wdlF^Y36FUm^ZcuMM&*L&^S^<40;H<&ZPj-`1fOQpM`){giobyV6d`J6d>ebT m)jY%N1&i|#9rHZqnZ^sm@orKen(D3q0000EX>4Tx04R}tkv&MmKpe$iQ;Sk69qb_DkfAzR5EXIMDionYs1;guFuC*#nlvOS zE{=k0!NHHks)LKOt`4q(Aou~|;_9U6A|?JWDYS_3;J6>}?mh0_0YbCNG^=ME&~)3( zq>^GTzbf{=B7zXYhypURj5$e4!*_h$Bf!_Y1kdt6_vh$W3l;+cBJnIUOq+OvczV+| zIPVk3SXowy&xyxOx*+i**ANhHT2N6r?E>i@^ICeN!G7xCO#%UT^JvoIU_q>MDH$92^3p zCCXm+d3RrTZ~vZY_xA(P&vIr%H*X36000SaNLh0L01FcU01FcV0GgZ_00007bV*G` z2jdI{3K}Q2niSap004eTL_t(I%gs|k4!|G?1GE2sxjT^Q23T0K!+IcUq!g+OK=x2o z5#e_XgR=ktV00Y1t7a^HX*rQ&DbEw4Sh*=p)10^{rLBFL%o|*;O?TKtFZ-g85Bu*< z+rmY=kiLn7h$k@$Pr99@T&C0h;z7E>aTB!jk2)Cg5&lPX0xX4u3)AqsegFUf07*qo IM6N<$f=!nLkN^Mx literal 0 HcmV?d00001 diff --git a/build-fx/SuperCbr.bin b/build-fx/SuperCbr.bin index f4e14d806b0634d5ccf95f939b3a0bb74b4b1823..af9cf80274acb12afeca4462c34dd31257bd2365 100755 GIT binary patch delta 10067 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%0Ay%!rhbK3nWpotinZGJP@RK+cy#vexm5#C( z2B(Zri}pAoQhdb2Z}((=x(-CX9FTL9=w3jijiUTZ4d6t&Uw8!y*jV>AOwh|ap!)YG zd$G=iK$V61ShRApn$JHXLg1OJT)l;s}}+C_goh+&sKUpKaP4!6+mwReL2;uKBSMp zG>rv5%ImH8bqi^PM@~KBK*72pq{f z*v{*T9!{*^0iPig@oB5y%_JP#Gog^v@5eWs=c%6Kmz>JCf_w8=|4Zc&_jR$`i&3AFqwXMa&FQ8c}l(Wudwmyi3SFI>8@T4 z9IJY@!3-x!1||)_M+|nT@D%VYRfPr#)6ml%)6jrq^uQ46FRKC@ikP&VFxRL7%X%SC z#T3e&287zueiQ_8hEQ=KI)b9e^O)fY^bN+ufEpO~f!+le!08WSi8Tn!ZLY(*9s_4W zKiVTO8IE99oI?Q(0MpojeLyJ*oT#*SG6TGLb~p<7v@pDjcXA?6hX|#mm_{s)clZ@n zNJYTh%MITuzYDmR{|$eeJWT@y(9^Wz^nt-RcB26(8o~SzoPke64Z!v4hy!WLa2wKy z0~f=|Oeo_{7>E-Sd`eVygcu1PlT62hRdZ+5uLG(qS512ZHmj?Y764wGh!6k;ut>oo=jTdxf za-a&j%Fl8=9l|N`UGiR>2>Lq?xsri-y-`Q+xIFpah{#+yN+pmG&SXUBEIkIuL#1&R zas!Q!FCvZEs3(E>D%gn4C%)e>p-6RNBQ~EYMX2YiX5%ARrUQBwt;VgYhM<3R2ooUj z;7cP2c=9nK8Tl1b3)I6T#!hs25ztrFi18?s9;6Xn-P3%OD_Wggd2aBXFJ<#ymHZ z)ADR*dP@0R1fekiXwZbnX+DAaT6I7sXw=UMn<)|!0X`J^QsAiL0(4^lFKY zH9+XZm-l-n3EqL7PPJOE2>1+aY6o7TI$`j^>sG3z4)L9l1;40#q++a#cknus@NMzl zPAK?ougD0E2fvT}KdA$3jq0d@MTeD`(*2kV`YHqA5 zo}DIt`+kHR|3RX>_Jgx>+_}!MHESNP-Soto?Ty>E)vigM!`9UAY^>QTe{(LmC-Xx= zFl=4FwP}4bThq9{}{-+jmqxay~)+_<@O!*5=0=o49c3q^dY0 zL;ma!tL25Cek(uV3KfcE)Bcc98L zx#N6yw}L!R;cgsIO05HNvz)#7LZoS-#>=X$vpChU@%2kc?pJflVq|~=Mg}b)8%coS3s}wsOlmN&GO#c(G;sU}a+`s8ClD`%;<-TjAP|G( z@BwCs`EWY~Abf719u<&2C|?r6|NoI8J~KBxJ}DsB7ismh=E=O>jj1x m$Xg7YP%$6{1}lK129yn=VCD$|*&w|zZ~@3rhH-#2SRDXpfhjxy literal 0 HcmV?d00001 diff --git a/build-fx/assets/img/buisson.png.o b/build-fx/assets/img/buisson.png.o new file mode 100644 index 0000000000000000000000000000000000000000..5b93a751175e9529b548fd6ffb6e359d887f056c GIT binary patch literal 452 zcmb<-^>JflVq|~=Mg}b)8%coS4_M9wOlmN&GO#c(HgGUl0QoLJ+{D1Zu9?8V;WB|i zfPn*uS%4%5STQbw8Dc)%4gm>ArzDmnf~+DINCOpu+{*;j016GTTcLcIUy#*+ zq#}Sg0EmHJ2J2-3(m?Mqa6-j^6d0@kl7>(=h=Q3X2xNow!oW=+Lm9>a(qMG}bV4dk literal 0 HcmV?d00001 diff --git a/build-fx/assets/img/bullet.png.o b/build-fx/assets/img/bullet.png.o new file mode 100644 index 0000000000000000000000000000000000000000..58cf7e9421b015c1638f2ffa82a0821f4ced65fb GIT binary patch literal 436 zcmb<-^>JflVq|~=Mg}b)8%coS4Oq?uOlmN&GO#c(EMO@IaE6vIzeFj|}mdx#{sqr8zmNCCKdf)VvfFesN}1Dg%RFab<2vViJ%p zDT2@$Fji51N@7VO$Q}}aG*B(by-ZL&Am4-C3gyH6f~*E4SH!Ri3w^C|lP literal 0 HcmV?d00001 diff --git a/build-fx/assets/img/champi.png.o b/build-fx/assets/img/champi.png.o new file mode 100644 index 0000000000000000000000000000000000000000..f5c302e5958cc72738294a80d9e6b75c94b83a5a GIT binary patch literal 452 zcmb<-^>JflVq|~=Mg}b)8%coS4_M9wOlmN&GO#c(G;l}&xp_d`3&aP3_&E^Q0kH}Y zgXHi5W{CN4I|LwnUZ5V3b_OV47Qz4jks&@aH$6T%BQdui6PX>KnwNsYFV3t=Wnj=N zuFNe-Oajs+MG!gz#wyBBNi0bO*+T-52C4JflVq|~=Mg}b)8(BaGEN22HH5gbKSQr=^1mNnC84^HF8W1-E4Pa_uU}AP) zVBuC^;NTKq5a8foPylLmU|?csKsFv(Ka|Z3u^;XRpk*L79}v5MltB6N2>$<%4Dp${ z>G8?=IXRhmsVJQI)Vvf_f#S@nR0amU;>z5T#3UeHQUswhV63A2l*E!mkX6J2X`n)o z8=0UQK%oV8E0hoO3$hxJR0R+R05QThH-#2SRDXIZ7Ns* literal 0 HcmV?d00001 diff --git a/build-fx/assets/img/fleur.png.o b/build-fx/assets/img/fleur.png.o new file mode 100644 index 0000000000000000000000000000000000000000..7c06f722391ad42a07ab9571bb81dddbc2825ed1 GIT binary patch literal 448 zcmb<-^>JflVq|~=Mg}b)8%coS2UyMoOlmN&GO#c(G;r7exlTYl6H0^lAogt_t^;Cx zfEi*w+ztT?f|)!391DY5@2^i`7nPVs{u(x0C4~i1HB8@3k)}q l*BCgVVn7NERsczDC>un<%o7B%L3&}}GLWGR;{a)}Isne6C};ox literal 0 HcmV?d00001 diff --git a/build-fx/assets/img/mariobig.png.o b/build-fx/assets/img/mariobig.png.o new file mode 100644 index 0000000000000000000000000000000000000000..447d5a6dd95da97af49a12ee35add1d817d65162 GIT binary patch literal 696 zcmb<-^>JflVq|~=Mg}b)8(H83Sk44YYA~=eurM$=D9P~gv4ceH%w|@Eo zAZ;VZ&)xu}O~iOvk?AsX+1>*{aTpC`f&r=S5aX8O1!>e5-z(Puq}PYv43MD= J;{j=~y#PM+ToC{O literal 0 HcmV?d00001 diff --git a/build-fx/assets/img/nuage.png.o b/build-fx/assets/img/nuage.png.o new file mode 100644 index 0000000000000000000000000000000000000000..2ad395235cc99cdc76e23c94adc3346bbbcd387c GIT binary patch literal 480 zcmb<-^>JflVq|~=Mg}b)8(BaCEN22HH5gbKSQr=^1Q-l}d=DUQ11bipW)nETz^S0X zAjIInz`>Znz_Mxr18Zmk1M~U=3=FrxdWj~OA@;-FAOPX>01a>f83N@?Bl!P6GQ?-* zrpM=%CZ?w%G2>J7QjodDnN_I_40^?txh087K)R#|LTA8OMfoX-C5a$QhzB5dfZWOi z)dC7BusflAm_Lx!fTSvbH~@%&-UaJr0n$LPF>pe~fD{;<0Fv5JHi&|mCkSMN^uoYr MAVV3(0n%V~0M{TZzW@LL literal 0 HcmV?d00001 diff --git a/build-fx/map b/build-fx/map index afe5190..e882ea7 100644 --- a/build-fx/map +++ b/build-fx/map @@ -65,7 +65,7 @@ Archive member included to satisfy reference by file (symbol) /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(inth.s.o) /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(tmu.c.o) (_inth_tmu) /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_movmem.o) - build-fx/src/level.c.o (___movmemSI44) + /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(topti.c.o) (___movmemSI24) /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_udivdi3.o) /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(stdio.c.o) (___udivdi3) /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_umoddi3.o) @@ -84,6 +84,7 @@ Discarded input sections .comment 0x0000000000000000 0x12 build-fx/src/tile.c.o .comment 0x0000000000000000 0x12 build-fx/src/box.c.o .comment 0x0000000000000000 0x12 build-fx/src/world.c.o + .comment 0x0000000000000000 0x12 build-fx/src/bonus.c.o .comment 0x0000000000000000 0x12 build-fx/src/mario.c.o .comment 0x0000000000000000 0x12 build-fx/src/main.c.o .comment 0x0000000000000000 0x12 build-fx/src/keyboard.c.o @@ -159,12 +160,14 @@ LOAD build-fx/src/score.c.o LOAD build-fx/src/tile.c.o LOAD build-fx/src/box.c.o LOAD build-fx/src/world.c.o +LOAD build-fx/src/bonus.c.o LOAD build-fx/src/mario.c.o LOAD build-fx/src/main.c.o LOAD build-fx/src/keyboard.c.o LOAD build-fx/src/ennemi.c.o LOAD build-fx/assets/fonts/mario.png.o LOAD build-fx/assets/img/bonus.png.o +LOAD build-fx/assets/img/bloc.png.o LOAD build-fx/assets/img/ram.png.o LOAD build-fx/assets/img/mario.png.o LOAD build-fx/assets/img/main.png.o @@ -175,19 +178,26 @@ LOAD build-fx/assets/img/new_level.png.o LOAD build-fx/assets/img/death.png.o LOAD build-fx/assets/img/time_over.png.o LOAD build-fx/assets/img/coin.png.o +LOAD build-fx/assets/img/champi.png.o LOAD build-fx/assets/img/mariosmall.png.o LOAD build-fx/assets/img/gift.png.o +LOAD build-fx/assets/img/buisson.png.o +LOAD build-fx/assets/img/colline.png.o +LOAD build-fx/assets/img/mariobig.png.o LOAD build-fx/assets/img/error.png.o LOAD build-fx/assets/img/tuyau.png.o +LOAD build-fx/assets/img/bullet.png.o +LOAD build-fx/assets/img/nuage.png.o LOAD build-fx/assets/img/level.png.o LOAD build-fx/assets/img/goomba.png.o +LOAD build-fx/assets/img/fleur.png.o LOAD build-fx/assets/img/stone.png.o LOAD build-fx/assets/img/lvl0.png.o LOAD /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a LOAD /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a LOAD /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a 0x0000000000300000 _brom = 0x300000 - 0x00000000000074fc _srom = ((((0x200 + SIZEOF (.text)) + SIZEOF (.rodata)) + SIZEOF (.gint.drivers)) + SIZEOF (.gint.blocks)) + 0x0000000000008f6c _srom = ((((0x200 + SIZEOF (.text)) + SIZEOF (.rodata)) + SIZEOF (.gint.drivers)) + SIZEOF (.gint.blocks)) .pretext 0x0000000000300200 0x8d0 *(.pretext.entry) @@ -227,7 +237,7 @@ LOAD /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a *(.dtors .dtors.*) 0x0000000000300ad0 _etors = . -.text 0x0000000000300ad0 0x4800 +.text 0x0000000000300ad0 0x4d98 0x0000000000300ad0 _gint_exch_tlbh_start = . *(.gint.exch_tlbh) .gint.exch_tlbh @@ -235,328 +245,361 @@ LOAD /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a 0x0000000000300ad0 _gint_exch_tlbh 0x000000000000004c _gint_exch_tlbh_size = ABSOLUTE ((. - _gint_exch_tlbh_start)) *(.text .text.*) - .text 0x0000000000300b1c 0x388 build-fx/src/level.c.o + .text 0x0000000000300b1c 0x1e0 build-fx/src/level.c.o 0x0000000000300b1c _malloc_error 0x0000000000300b54 _init_level 0x0000000000300bc8 _init_ennemies 0x0000000000300c28 _set_level - 0x0000000000300e74 _get_lvl_id - .text 0x0000000000300ea4 0x218 build-fx/src/score.c.o - 0x0000000000300ef4 _new_level - 0x0000000000300f18 _new_game - 0x0000000000300f50 _score_add_coin - 0x0000000000300f68 _score_add - 0x0000000000300f7c _score_display - .text 0x00000000003010bc 0x40 build-fx/src/tile.c.o - 0x00000000003010bc _draw_tile - .text 0x00000000003010fc 0x198 build-fx/src/box.c.o - 0x00000000003010fc _sgn - 0x000000000030110e _box_move - 0x0000000000301234 _box_jump - .text 0x0000000000301294 0x3e4 build-fx/src/world.c.o - 0x0000000000301294 _world_get_width - 0x00000000003012a4 _world_get - 0x0000000000301308 _display_cell - 0x0000000000301528 _world_get_ctg - 0x0000000000301564 _world_get_real_x0 - 0x000000000030158c _world_get_real_y0 - 0x00000000003015ac _world_draw - .text 0x0000000000301678 0x588 build-fx/src/mario.c.o - 0x0000000000301688 _mario_draw - 0x0000000000301770 _test_sol_le_plus_proche - 0x00000000003017dc _mario_move - .text 0x0000000000301c00 0x40 build-fx/src/main.c.o - 0x0000000000301c00 _callback - 0x0000000000301c08 _system_error - .text.startup 0x0000000000301c40 0x1b8 build-fx/src/main.c.o - 0x0000000000301c40 _main - .text 0x0000000000301df8 0x1f4 build-fx/src/keyboard.c.o - 0x0000000000301df8 _menu_pause - 0x0000000000301efc _update_keyboard - .text 0x0000000000301fec 0x2b0 build-fx/src/ennemi.c.o - 0x0000000000301fec _display_ennemi - 0x00000000003020dc _ennemi_check_collision - 0x0000000000302130 _move_ennemi - 0x000000000030225c _display_ennemi_table - .text 0x000000000030229c 0xce4 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(stdio.c.o) - 0x0000000000302c98 _kprint_opt - 0x0000000000302de0 _kprint - 0x0000000000302eb8 _kvsprint - 0x0000000000302f00 _sprintf - 0x0000000000302f28 _vsprintf - 0x0000000000302f48 _snprintf - 0x0000000000302f68 _vsnprintf - .text 0x0000000000302f80 0xdc /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(memory.c.o) - 0x0000000000302f80 _memcpy - 0x000000000030303a __memmove - 0x000000000030303e __memcmp - 0x0000000000303042 _memset - .text 0x000000000030305c 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dtext.c.o) - .text 0x000000000030305c 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(topti.c.o) - .text 0x000000000030305c 0x24 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dupdate.c.o) - 0x000000000030305c _dupdate - 0x0000000000303074 _dupdate_noint - .text 0x0000000000303080 0xc8 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dimage.c.o) - 0x0000000000303080 _dimage - 0x00000000003030d4 _dsubimage - .text 0x0000000000303148 0x4c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dclear.c.o) - 0x0000000000303148 _dclear - .text 0x0000000000303194 0x3fc /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(keysc.c.o) - 0x000000000030333c _pollevent - 0x0000000000303480 _waitevent - 0x00000000003034cc _clearevents - 0x00000000003034ec _keydown - 0x0000000000303518 _keydown_all - 0x0000000000303554 _keydown_any - .text 0x0000000000303590 0x124 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(iokbd.c.o) - 0x000000000030359c _iokbd_row - 0x0000000000303684 _iokbd_scan - .text 0x00000000003036b4 0x1f4 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(getkey.c.o) - 0x00000000003036b4 _getkey_opt - 0x0000000000303860 _getkey - 0x000000000030386c _getkey_repeat - .text 0x00000000003038a8 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(start.c.o) - .text 0x00000000003038a8 0x1c4 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(exch.c.o) - 0x0000000000303a38 _gint_panic - 0x0000000000303a48 _gint_panic_set - 0x0000000000303a54 _gint_exc_catch - 0x0000000000303a60 _gint_exc_skip - .text 0x0000000000303a6c 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(syscalls.S.o) - .text 0x0000000000303a6c 0x17c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(setup.c.o) - 0x0000000000303b20 _gint_install - 0x0000000000303bd0 _gint_unload - .text 0x0000000000303be8 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(hardware.c.o) - .text 0x0000000000303be8 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(exch.s.o) - .text 0x0000000000303be8 0x1f4 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(mmu.c.o) - 0x0000000000303be8 _tlb_addr - 0x0000000000303bfc _tlb_data - 0x0000000000303c10 _tlb_mapped_memory - 0x0000000000303ce4 _utlb_addr - 0x0000000000303cf4 _utlb_data - 0x0000000000303d04 _utlb_mapped_memory - .text 0x0000000000303ddc 0x9c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(topti.c.o) - 0x0000000000303ddc _dsize - .text 0x0000000000303e78 0x58 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dprint.c.o) - 0x0000000000303e78 _dprint - .text 0x0000000000303ed0 0x56c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(tmu.c.o) - 0x00000000003041f0 _timer_setup - 0x0000000000304280 _timer_delay - 0x00000000003042e0 _timer_start - 0x0000000000304314 _timer_reload - 0x0000000000304334 _timer_pause - 0x0000000000304368 _timer_stop - 0x00000000003043c4 _timer_timeout - 0x00000000003043d0 _timer_address - 0x000000000030440c _timer_clear - .text 0x000000000030443c 0x58 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(sleep.c.o) - 0x000000000030443c _sleep_us - .text 0x0000000000304494 0x1d8 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(t6k11.c.o) - 0x000000000030452c _t6k11_display - 0x0000000000304600 _t6k11_contrast - 0x000000000030462c _t6k11_backlight - .text 0x000000000030466c 0x150 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(cpg.c.o) - 0x00000000003047b0 _clock_freq - .text 0x00000000003047bc 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(topti-asm.s.o) - .text 0x00000000003047bc 0x58 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(bopti-asm.s.o) - 0x00000000003047bc _bopti_asm_mono - 0x00000000003047e2 _bopti_asm_mono_alpha - .text 0x0000000000304814 0x410 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(bopti.c.o) - 0x0000000000304814 _bopti_grid - 0x0000000000304988 _bopti_render - 0x0000000000304ab8 _bopti_render_clip - 0x0000000000304bcc _bopti_render_noclip - .text 0x0000000000304c24 0x9c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(masks.c.o) - 0x0000000000304c24 _masks - .text 0x0000000000304cc0 0x2c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(vbr.s.o) - 0x0000000000304cc0 _gint_setvbr - .text 0x0000000000304cec 0x78 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(gint.c.o) - 0x0000000000304cec _gint_intlevel - 0x0000000000304d40 _gint_inthandler - .text 0x0000000000304d64 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(inth.S.o) - .text 0x0000000000304d64 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(inth.s.o) - .text 0x0000000000304d64 0x78 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_movmem.o) - 0x0000000000304d64 ___movstr - 0x0000000000304d64 ___movmem - 0x0000000000304d98 ___movmemSI64 - 0x0000000000304d98 ___movstrSI64 - 0x0000000000304d9c ___movstrSI60 - 0x0000000000304d9c ___movmemSI60 - 0x0000000000304da0 ___movmemSI56 - 0x0000000000304da0 ___movstrSI56 - 0x0000000000304da4 ___movstrSI52 - 0x0000000000304da4 ___movmemSI52 - 0x0000000000304da8 ___movstrSI48 - 0x0000000000304da8 ___movmemSI48 - 0x0000000000304dac ___movstrSI44 - 0x0000000000304dac ___movmemSI44 - 0x0000000000304db0 ___movstrSI40 - 0x0000000000304db0 ___movmemSI40 - 0x0000000000304db4 ___movstrSI36 - 0x0000000000304db4 ___movmemSI36 - 0x0000000000304db8 ___movmemSI32 - 0x0000000000304db8 ___movstrSI32 - 0x0000000000304dbc ___movmemSI28 - 0x0000000000304dbc ___movstrSI28 - 0x0000000000304dc0 ___movstrSI24 - 0x0000000000304dc0 ___movmemSI24 - 0x0000000000304dc4 ___movmemSI20 - 0x0000000000304dc4 ___movstrSI20 - 0x0000000000304dc8 ___movstrSI16 - 0x0000000000304dc8 ___movmemSI16 - 0x0000000000304dcc ___movmemSI12 - 0x0000000000304dcc ___movstrSI12 - 0x0000000000304dd0 ___movmemSI8 - 0x0000000000304dd0 ___movstrSI8 - 0x0000000000304dd4 ___movmemSI4 - 0x0000000000304dd4 ___movstrSI4 - .text 0x0000000000304ddc 0x1f0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_udivdi3.o) - 0x0000000000304ddc ___udivdi3 - .text 0x0000000000304fcc 0x234 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_umoddi3.o) - 0x0000000000304fcc ___umoddi3 - .text 0x0000000000305200 0x6c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_udivsi3.o) - 0x0000000000305222 ___udivsi3 - *fill* 0x000000000030526c 0x4 - .text 0x0000000000305270 0x60 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_udiv_qrnnd_16.o) - 0x0000000000305270 ___udiv_qrnnd_16 - .text 0x00000000003052d0 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_clz.o) + 0x0000000000300ccc _get_lvl_id + .text 0x0000000000300cfc 0x200 build-fx/src/score.c.o + 0x0000000000300cfc _new_level + 0x0000000000300d20 _new_game + 0x0000000000300d58 _score_add_coin + 0x0000000000300d68 _score_add + 0x0000000000300dbc _score_display + .text 0x0000000000300efc 0x40 build-fx/src/tile.c.o + 0x0000000000300efc _draw_tile + .text 0x0000000000300f3c 0x2f8 build-fx/src/box.c.o + 0x0000000000300f3c _sgn + 0x0000000000300f4e _box_move + 0x00000000003011d4 _box_jump + .text 0x0000000000301234 0x514 build-fx/src/world.c.o + 0x0000000000301234 _world_get_width + 0x0000000000301244 _world_get + 0x00000000003012a8 _display_cell + 0x00000000003015b6 _world_get_ctg + 0x00000000003015ec _world_get_real_x0 + 0x0000000000301614 _world_get_real_y0 + 0x000000000030163c _world_draw + .text 0x0000000000301748 0x324 build-fx/src/bonus.c.o + 0x0000000000301748 _lance_bullet + 0x0000000000301794 _bullet_display + 0x000000000030185c _bonus_set + 0x000000000030188c _bonus_move + 0x00000000003019d4 _bonus_draw + .text 0x0000000000301a6c 0x664 build-fx/src/mario.c.o + 0x0000000000301a7c _mario_bigger + 0x0000000000301a9c _mario_smaller + 0x0000000000301ac0 _mario_draw + 0x0000000000301c34 _test_sol_le_plus_proche + 0x0000000000301ca0 _mario_move + .text 0x00000000003020d0 0x40 build-fx/src/main.c.o + 0x00000000003020d0 _callback + 0x00000000003020d8 _system_error + .text.startup 0x0000000000302110 0x1b8 build-fx/src/main.c.o + 0x0000000000302110 _main + .text 0x00000000003022c8 0x1f4 build-fx/src/keyboard.c.o + 0x00000000003022c8 _menu_pause + 0x00000000003023cc _update_keyboard + .text 0x00000000003024bc 0x378 build-fx/src/ennemi.c.o + 0x00000000003024bc _display_ennemi + 0x00000000003025ac _ennemi_check_collision + 0x0000000000302610 _hurt_mario + 0x0000000000302624 _move_ennemi + 0x00000000003027f4 _display_ennemi_table + .text 0x0000000000302834 0xce4 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(stdio.c.o) + 0x0000000000303230 _kprint_opt + 0x0000000000303378 _kprint + 0x0000000000303450 _kvsprint + 0x0000000000303498 _sprintf + 0x00000000003034c0 _vsprintf + 0x00000000003034e0 _snprintf + 0x0000000000303500 _vsnprintf + .text 0x0000000000303518 0xdc /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(memory.c.o) + 0x0000000000303518 _memcpy + 0x00000000003035d2 __memmove + 0x00000000003035d6 __memcmp + 0x00000000003035da _memset + .text 0x00000000003035f4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dtext.c.o) + .text 0x00000000003035f4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(topti.c.o) + .text 0x00000000003035f4 0x24 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dupdate.c.o) + 0x00000000003035f4 _dupdate + 0x000000000030360c _dupdate_noint + .text 0x0000000000303618 0xc8 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dimage.c.o) + 0x0000000000303618 _dimage + 0x000000000030366c _dsubimage + .text 0x00000000003036e0 0x4c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dclear.c.o) + 0x00000000003036e0 _dclear + .text 0x000000000030372c 0x3fc /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(keysc.c.o) + 0x00000000003038d4 _pollevent + 0x0000000000303a18 _waitevent + 0x0000000000303a64 _clearevents + 0x0000000000303a84 _keydown + 0x0000000000303ab0 _keydown_all + 0x0000000000303aec _keydown_any + .text 0x0000000000303b28 0x124 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(iokbd.c.o) + 0x0000000000303b34 _iokbd_row + 0x0000000000303c1c _iokbd_scan + .text 0x0000000000303c4c 0x1f4 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(getkey.c.o) + 0x0000000000303c4c _getkey_opt + 0x0000000000303df8 _getkey + 0x0000000000303e04 _getkey_repeat + .text 0x0000000000303e40 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(start.c.o) + .text 0x0000000000303e40 0x1c4 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(exch.c.o) + 0x0000000000303fd0 _gint_panic + 0x0000000000303fe0 _gint_panic_set + 0x0000000000303fec _gint_exc_catch + 0x0000000000303ff8 _gint_exc_skip + .text 0x0000000000304004 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(syscalls.S.o) + .text 0x0000000000304004 0x17c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(setup.c.o) + 0x00000000003040b8 _gint_install + 0x0000000000304168 _gint_unload + .text 0x0000000000304180 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(hardware.c.o) + .text 0x0000000000304180 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(exch.s.o) + .text 0x0000000000304180 0x1f4 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(mmu.c.o) + 0x0000000000304180 _tlb_addr + 0x0000000000304194 _tlb_data + 0x00000000003041a8 _tlb_mapped_memory + 0x000000000030427c _utlb_addr + 0x000000000030428c _utlb_data + 0x000000000030429c _utlb_mapped_memory + .text 0x0000000000304374 0x9c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(topti.c.o) + 0x0000000000304374 _dsize + .text 0x0000000000304410 0x58 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dprint.c.o) + 0x0000000000304410 _dprint + .text 0x0000000000304468 0x56c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(tmu.c.o) + 0x0000000000304788 _timer_setup + 0x0000000000304818 _timer_delay + 0x0000000000304878 _timer_start + 0x00000000003048ac _timer_reload + 0x00000000003048cc _timer_pause + 0x0000000000304900 _timer_stop + 0x000000000030495c _timer_timeout + 0x0000000000304968 _timer_address + 0x00000000003049a4 _timer_clear + .text 0x00000000003049d4 0x58 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(sleep.c.o) + 0x00000000003049d4 _sleep_us + .text 0x0000000000304a2c 0x1d8 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(t6k11.c.o) + 0x0000000000304ac4 _t6k11_display + 0x0000000000304b98 _t6k11_contrast + 0x0000000000304bc4 _t6k11_backlight + .text 0x0000000000304c04 0x150 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(cpg.c.o) + 0x0000000000304d48 _clock_freq + .text 0x0000000000304d54 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(topti-asm.s.o) + .text 0x0000000000304d54 0x58 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(bopti-asm.s.o) + 0x0000000000304d54 _bopti_asm_mono + 0x0000000000304d7a _bopti_asm_mono_alpha + .text 0x0000000000304dac 0x410 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(bopti.c.o) + 0x0000000000304dac _bopti_grid + 0x0000000000304f20 _bopti_render + 0x0000000000305050 _bopti_render_clip + 0x0000000000305164 _bopti_render_noclip + .text 0x00000000003051bc 0x9c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(masks.c.o) + 0x00000000003051bc _masks + .text 0x0000000000305258 0x2c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(vbr.s.o) + 0x0000000000305258 _gint_setvbr + .text 0x0000000000305284 0x78 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(gint.c.o) + 0x0000000000305284 _gint_intlevel + 0x00000000003052d8 _gint_inthandler + .text 0x00000000003052fc 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(inth.S.o) + .text 0x00000000003052fc 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(inth.s.o) + .text 0x00000000003052fc 0x78 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_movmem.o) + 0x00000000003052fc ___movstr + 0x00000000003052fc ___movmem + 0x0000000000305330 ___movmemSI64 + 0x0000000000305330 ___movstrSI64 + 0x0000000000305334 ___movstrSI60 + 0x0000000000305334 ___movmemSI60 + 0x0000000000305338 ___movmemSI56 + 0x0000000000305338 ___movstrSI56 + 0x000000000030533c ___movstrSI52 + 0x000000000030533c ___movmemSI52 + 0x0000000000305340 ___movstrSI48 + 0x0000000000305340 ___movmemSI48 + 0x0000000000305344 ___movstrSI44 + 0x0000000000305344 ___movmemSI44 + 0x0000000000305348 ___movstrSI40 + 0x0000000000305348 ___movmemSI40 + 0x000000000030534c ___movstrSI36 + 0x000000000030534c ___movmemSI36 + 0x0000000000305350 ___movmemSI32 + 0x0000000000305350 ___movstrSI32 + 0x0000000000305354 ___movmemSI28 + 0x0000000000305354 ___movstrSI28 + 0x0000000000305358 ___movstrSI24 + 0x0000000000305358 ___movmemSI24 + 0x000000000030535c ___movmemSI20 + 0x000000000030535c ___movstrSI20 + 0x0000000000305360 ___movstrSI16 + 0x0000000000305360 ___movmemSI16 + 0x0000000000305364 ___movmemSI12 + 0x0000000000305364 ___movstrSI12 + 0x0000000000305368 ___movmemSI8 + 0x0000000000305368 ___movstrSI8 + 0x000000000030536c ___movmemSI4 + 0x000000000030536c ___movstrSI4 + .text 0x0000000000305374 0x1f0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_udivdi3.o) + 0x0000000000305374 ___udivdi3 + .text 0x0000000000305564 0x234 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_umoddi3.o) + 0x0000000000305564 ___umoddi3 + .text 0x0000000000305798 0x6c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_udivsi3.o) + 0x00000000003057ba ___udivsi3 + *fill* 0x0000000000305804 0x4 + .text 0x0000000000305808 0x60 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_udiv_qrnnd_16.o) + 0x0000000000305808 ___udiv_qrnnd_16 + .text 0x0000000000305868 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_clz.o) *(C P) -.gint.blocks 0x00000000003052d0 0x120 +.gint.blocks 0x0000000000305870 0x120 *(.gint.blocks) - .gint.blocks 0x00000000003052d0 0x40 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(inth.S.o) - 0x00000000003052d0 _gint_inth_7305 - 0x00000000003052f0 _gint_inth_7705 - .gint.blocks 0x0000000000305310 0xe0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(inth.s.o) - 0x0000000000305310 _inth_tmu - 0x0000000000305390 _inth_etmu2 - 0x00000000003053b0 _inth_etmu_help - 0x00000000003053d0 _inth_etmux + .gint.blocks 0x0000000000305870 0x40 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(inth.S.o) + 0x0000000000305870 _gint_inth_7305 + 0x0000000000305890 _gint_inth_7705 + .gint.blocks 0x00000000003058b0 0xe0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(inth.s.o) + 0x00000000003058b0 _inth_tmu + 0x0000000000305930 _inth_etmu2 + 0x0000000000305950 _inth_etmu_help + 0x0000000000305970 _inth_etmux -.gint.drivers 0x00000000003053f0 0x90 - 0x00000000003053f0 _bdrv = . +.gint.drivers 0x0000000000305990 0x90 + 0x0000000000305990 _bdrv = . *(.gint.drivers.0) *(.gint.drivers.1) .gint.drivers.1 - 0x00000000003053f0 0x24 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(cpg.c.o) - 0x00000000003053f0 _drv_cpg + 0x0000000000305990 0x24 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(cpg.c.o) + 0x0000000000305990 _drv_cpg *(.gint.drivers.2) .gint.drivers.2 - 0x0000000000305414 0x24 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(tmu.c.o) - 0x0000000000305414 _drv_tmu + 0x00000000003059b4 0x24 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(tmu.c.o) + 0x00000000003059b4 _drv_tmu *(.gint.drivers.3) *(.gint.drivers.4) .gint.drivers.4 - 0x0000000000305438 0x24 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(keysc.c.o) - 0x0000000000305438 _drv_keysc + 0x00000000003059d8 0x24 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(keysc.c.o) + 0x00000000003059d8 _drv_keysc *(.gint.drivers.5) .gint.drivers.5 - 0x000000000030545c 0x24 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(t6k11.c.o) - 0x000000000030545c _drv_t6k11 + 0x00000000003059fc 0x24 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(t6k11.c.o) + 0x00000000003059fc _drv_t6k11 *(.gint.drivers.6) - 0x0000000000305480 _edrv = . + 0x0000000000305a20 _edrv = . -.rodata 0x0000000000305480 0x294c +.rodata 0x0000000000305a20 0x3e24 *(.rodata.4) *(.rodata .rodata.*) - .rodata 0x0000000000305480 0x2c build-fx/src/level.c.o + .rodata 0x0000000000305a20 0x12c4 build-fx/src/level.c.o .rodata.str1.4 - 0x00000000003054ac 0x1e build-fx/src/score.c.o + 0x0000000000306ce4 0x1e build-fx/src/score.c.o .rodata.str1.4 - 0x00000000003054ca 0x3 build-fx/src/main.c.o - *fill* 0x00000000003054ca 0x2 - .rodata 0x00000000003054cc 0x10 build-fx/src/ennemi.c.o - .rodata 0x00000000003054dc 0x204 build-fx/assets/fonts/mario.png.o - 0x00000000003054dc _font_mario - 0x00000000003056e0 _font_mario_end - .rodata 0x00000000003056e0 0x20 build-fx/assets/img/bonus.png.o - 0x00000000003056e0 _img_bonus - 0x0000000000305700 _img_bonus_end - .rodata 0x0000000000305700 0x404 build-fx/assets/img/ram.png.o - 0x0000000000305700 _img_ram - 0x0000000000305b04 _img_ram_end - .rodata 0x0000000000305b04 0x64 build-fx/assets/img/mario.png.o - 0x0000000000305b04 _img_mario - 0x0000000000305b68 _img_mario_end - .rodata 0x0000000000305b68 0x404 build-fx/assets/img/main.png.o - 0x0000000000305b68 _img_main - 0x0000000000305f6c _img_main_end - .rodata 0x0000000000305f6c 0x4c build-fx/assets/img/brick.png.o - 0x0000000000305f6c _img_brick - 0x0000000000305fb8 _img_brick_end - .rodata 0x0000000000305fb8 0x84 build-fx/assets/img/menu_pause.png.o - 0x0000000000305fb8 _img_menu_pause - 0x000000000030603c _img_menu_pause_end - .rodata 0x000000000030603c 0x18 build-fx/assets/img/select_arrow.png.o - 0x000000000030603c _img_select_arrow - 0x0000000000306054 _img_select_arrow_end - .rodata 0x0000000000306054 0x404 build-fx/assets/img/new_level.png.o - 0x0000000000306054 _img_new_level - 0x0000000000306458 _img_new_level_end - .rodata 0x0000000000306458 0x24 build-fx/assets/img/death.png.o - 0x0000000000306458 _img_death - 0x000000000030647c _img_death_end - .rodata 0x000000000030647c 0x404 build-fx/assets/img/time_over.png.o - 0x000000000030647c _img_time_over - 0x0000000000306880 _img_time_over_end - .rodata 0x0000000000306880 0x4c build-fx/assets/img/coin.png.o - 0x0000000000306880 _img_coin - 0x00000000003068cc _img_coin_end - .rodata 0x00000000003068cc 0xdc build-fx/assets/img/mariosmall.png.o - 0x00000000003068cc _img_mariosmall - 0x00000000003069a8 _img_mariosmall_end - .rodata 0x00000000003069a8 0x28 build-fx/assets/img/gift.png.o - 0x00000000003069a8 _img_gift - 0x00000000003069d0 _img_gift_end - .rodata 0x00000000003069d0 0x404 build-fx/assets/img/error.png.o - 0x00000000003069d0 _img_error - 0x0000000000306dd4 _img_error_end - .rodata 0x0000000000306dd4 0xb8 build-fx/assets/img/tuyau.png.o - 0x0000000000306dd4 _img_tuyau - 0x0000000000306e8c _img_tuyau_end - .rodata 0x0000000000306e8c 0x404 build-fx/assets/img/level.png.o - 0x0000000000306e8c _img_level - 0x0000000000307290 _img_level_end - .rodata 0x0000000000307290 0x4c build-fx/assets/img/goomba.png.o - 0x0000000000307290 _img_goomba - 0x00000000003072dc _img_goomba_end - .rodata 0x00000000003072dc 0x4c build-fx/assets/img/stone.png.o - 0x00000000003072dc _img_stone - 0x0000000000307328 _img_stone_end - .rodata 0x0000000000307328 0x404 build-fx/assets/img/lvl0.png.o - 0x0000000000307328 _img_lvl0 - 0x000000000030772c _img_lvl0_end + 0x0000000000306d02 0x3 build-fx/src/main.c.o + *fill* 0x0000000000306d02 0x2 + .rodata 0x0000000000306d04 0x10 build-fx/src/ennemi.c.o + .rodata 0x0000000000306d14 0x204 build-fx/assets/fonts/mario.png.o + 0x0000000000306d14 _font_mario + 0x0000000000306f18 _font_mario_end + .rodata 0x0000000000306f18 0x20 build-fx/assets/img/bonus.png.o + 0x0000000000306f18 _img_bonus + 0x0000000000306f38 _img_bonus_end + .rodata 0x0000000000306f38 0x24 build-fx/assets/img/bloc.png.o + 0x0000000000306f38 _img_bloc + 0x0000000000306f5c _img_bloc_end + .rodata 0x0000000000306f5c 0x404 build-fx/assets/img/ram.png.o + 0x0000000000306f5c _img_ram + 0x0000000000307360 _img_ram_end + .rodata 0x0000000000307360 0x64 build-fx/assets/img/mario.png.o + 0x0000000000307360 _img_mario + 0x00000000003073c4 _img_mario_end + .rodata 0x00000000003073c4 0x404 build-fx/assets/img/main.png.o + 0x00000000003073c4 _img_main + 0x00000000003077c8 _img_main_end + .rodata 0x00000000003077c8 0x4c build-fx/assets/img/brick.png.o + 0x00000000003077c8 _img_brick + 0x0000000000307814 _img_brick_end + .rodata 0x0000000000307814 0x84 build-fx/assets/img/menu_pause.png.o + 0x0000000000307814 _img_menu_pause + 0x0000000000307898 _img_menu_pause_end + .rodata 0x0000000000307898 0x18 build-fx/assets/img/select_arrow.png.o + 0x0000000000307898 _img_select_arrow + 0x00000000003078b0 _img_select_arrow_end + .rodata 0x00000000003078b0 0x404 build-fx/assets/img/new_level.png.o + 0x00000000003078b0 _img_new_level + 0x0000000000307cb4 _img_new_level_end + .rodata 0x0000000000307cb4 0x24 build-fx/assets/img/death.png.o + 0x0000000000307cb4 _img_death + 0x0000000000307cd8 _img_death_end + .rodata 0x0000000000307cd8 0x404 build-fx/assets/img/time_over.png.o + 0x0000000000307cd8 _img_time_over + 0x00000000003080dc _img_time_over_end + .rodata 0x00000000003080dc 0x4c build-fx/assets/img/coin.png.o + 0x00000000003080dc _img_coin + 0x0000000000308128 _img_coin_end + .rodata 0x0000000000308128 0x24 build-fx/assets/img/champi.png.o + 0x0000000000308128 _img_champi + 0x000000000030814c _img_champi_end + .rodata 0x000000000030814c 0xdc build-fx/assets/img/mariosmall.png.o + 0x000000000030814c _img_mariosmall + 0x0000000000308228 _img_mariosmall_end + .rodata 0x0000000000308228 0x28 build-fx/assets/img/gift.png.o + 0x0000000000308228 _img_gift + 0x0000000000308250 _img_gift_end + .rodata 0x0000000000308250 0x24 build-fx/assets/img/buisson.png.o + 0x0000000000308250 _img_buisson + 0x0000000000308274 _img_buisson_end + .rodata 0x0000000000308274 0x44 build-fx/assets/img/colline.png.o + 0x0000000000308274 _img_colline + 0x00000000003082b8 _img_colline_end + .rodata 0x00000000003082b8 0x114 build-fx/assets/img/mariobig.png.o + 0x00000000003082b8 _img_mariobig + 0x00000000003083cc _img_mariobig_end + .rodata 0x00000000003083cc 0x404 build-fx/assets/img/error.png.o + 0x00000000003083cc _img_error + 0x00000000003087d0 _img_error_end + .rodata 0x00000000003087d0 0xb8 build-fx/assets/img/tuyau.png.o + 0x00000000003087d0 _img_tuyau + 0x0000000000308888 _img_tuyau_end + .rodata 0x0000000000308888 0x14 build-fx/assets/img/bullet.png.o + 0x0000000000308888 _img_bullet + 0x000000000030889c _img_bullet_end + .rodata 0x000000000030889c 0x44 build-fx/assets/img/nuage.png.o + 0x000000000030889c _img_nuage + 0x00000000003088e0 _img_nuage_end + .rodata 0x00000000003088e0 0x404 build-fx/assets/img/level.png.o + 0x00000000003088e0 _img_level + 0x0000000000308ce4 _img_level_end + .rodata 0x0000000000308ce4 0x4c build-fx/assets/img/goomba.png.o + 0x0000000000308ce4 _img_goomba + 0x0000000000308d30 _img_goomba_end + .rodata 0x0000000000308d30 0x24 build-fx/assets/img/fleur.png.o + 0x0000000000308d30 _img_fleur + 0x0000000000308d54 _img_fleur_end + .rodata 0x0000000000308d54 0x4c build-fx/assets/img/stone.png.o + 0x0000000000308d54 _img_stone + 0x0000000000308da0 _img_stone_end + .rodata 0x0000000000308da0 0x404 build-fx/assets/img/lvl0.png.o + 0x0000000000308da0 _img_lvl0 + 0x00000000003091a4 _img_lvl0_end .rodata.str1.4 - 0x000000000030772c 0x31 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(stdio.c.o) - *fill* 0x000000000030775d 0x3 - .rodata 0x0000000000307760 0x8 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dimage.c.o) + 0x00000000003091a4 0x31 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(stdio.c.o) + *fill* 0x00000000003091d5 0x3 + .rodata 0x00000000003091d8 0x8 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dimage.c.o) .rodata.str1.4 - 0x0000000000307768 0x6 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(keysc.c.o) - *fill* 0x000000000030776e 0x2 + 0x00000000003091e0 0x6 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(keysc.c.o) + *fill* 0x00000000003091e6 0x2 .rodata.str1.4 - 0x0000000000307770 0x11a /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(exch.c.o) + 0x00000000003091e8 0x11a /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(exch.c.o) 0x11e (size before relaxing) - *fill* 0x000000000030788a 0x2 - .rodata 0x000000000030788c 0x18 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(topti.c.o) + *fill* 0x0000000000309302 0x2 + .rodata 0x0000000000309304 0x18 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(topti.c.o) .rodata.str1.4 - 0x00000000003078a4 0x4 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(tmu.c.o) - .rodata 0x00000000003078a8 0x408 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(font5x7.png.o) - 0x00000000003078a8 _gint_font5x7 - 0x0000000000307cb0 _gint_font5x7_end + 0x000000000030931c 0x4 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(tmu.c.o) + .rodata 0x0000000000309320 0x408 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(font5x7.png.o) + 0x0000000000309320 _gint_font5x7 + 0x0000000000309728 _gint_font5x7_end .rodata.str1.4 - 0x0000000000307cb0 0x6 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(t6k11.c.o) - *fill* 0x0000000000307cb6 0x2 + 0x0000000000309728 0x6 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(t6k11.c.o) + *fill* 0x000000000030972e 0x2 .rodata.str1.4 - 0x0000000000307cb8 0x4 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(cpg.c.o) - .rodata 0x0000000000307cbc 0x10 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(bopti.c.o) - .rodata 0x0000000000307ccc 0x100 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_clz.o) - 0x0000000000307ccc ___clz_tab + 0x0000000000309730 0x4 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(cpg.c.o) + .rodata 0x0000000000309734 0x10 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(bopti.c.o) + .rodata 0x0000000000309744 0x100 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_clz.o) + 0x0000000000309744 ___clz_tab -.rela.dyn 0x0000000000307dcc 0x0 - .rela.text 0x0000000000307dcc 0x0 build-fx/src/score.c.o +.rela.dyn 0x0000000000309844 0x0 + .rela.text 0x0000000000309844 0x0 build-fx/src/score.c.o .rela.text.startup - 0x0000000000307dcc 0x0 build-fx/src/score.c.o + 0x0000000000309844 0x0 build-fx/src/score.c.o .rela.pretext.entry - 0x0000000000307dcc 0x0 build-fx/src/score.c.o + 0x0000000000309844 0x0 build-fx/src/score.c.o 0x0000000008100000 . = ORIGIN (ram) .bss 0x0000000008100000 0x5c0 @@ -579,65 +622,68 @@ LOAD /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a 0x0000000008100024 _w_current_x 0x0000000008100028 _w_fond 0x000000000810002c _w_current - .bss 0x0000000008100030 0x20 build-fx/src/mario.c.o + .bss 0x0000000008100030 0x0 build-fx/src/bonus.c.o + .bss 0x0000000008100030 0x28 build-fx/src/mario.c.o 0x0000000008100030 _global_quit - 0x0000000008100034 _mario_accel - 0x0000000008100038 _last_bonus - 0x000000000810003c _mario_coins - 0x0000000008100040 _mario_dead - 0x0000000008100044 _mario_time_accel - 0x0000000008100048 _mario_x_max - 0x000000000810004c _id_frame - .bss 0x0000000008100050 0x0 build-fx/src/main.c.o - .bss 0x0000000008100050 0x18 build-fx/src/keyboard.c.o - 0x0000000008100050 _keys - .bss 0x0000000008100068 0x8 build-fx/src/ennemi.c.o - 0x0000000008100068 _ennemis_global_size - 0x000000000810006c _ennemis_global - .bss 0x0000000008100070 0x114 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(stdio.c.o) - .bss 0x0000000008100184 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(memory.c.o) - .bss 0x0000000008100184 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dtext.c.o) - .bss 0x0000000008100184 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(topti.c.o) - .bss 0x0000000008100184 0x400 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dupdate.c.o) - .bss 0x0000000008100584 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dimage.c.o) - .bss 0x0000000008100584 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dclear.c.o) - .bss 0x0000000008100584 0x24 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(keysc.c.o) - .bss 0x00000000081005a8 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(iokbd.c.o) - .bss 0x00000000081005a8 0xc /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(getkey.c.o) - .bss 0x00000000081005b4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(start.c.o) - .bss 0x00000000081005b4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(exch.c.o) - .bss 0x00000000081005b4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(syscalls.S.o) - .bss 0x00000000081005b4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(setup.c.o) - .bss 0x00000000081005b4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(hardware.c.o) - .bss 0x00000000081005b4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(exch.s.o) - .bss 0x00000000081005b4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(mmu.c.o) - .bss 0x00000000081005b4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(topti.c.o) - .bss 0x00000000081005b4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dprint.c.o) - .bss 0x00000000081005b4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(tmu.c.o) - .bss 0x00000000081005b4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(sleep.c.o) - .bss 0x00000000081005b4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(t6k11.c.o) - .bss 0x00000000081005b4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(cpg.c.o) - .bss 0x00000000081005b4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(topti-asm.s.o) - .bss 0x00000000081005b4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(bopti-asm.s.o) - .bss 0x00000000081005b4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(bopti.c.o) - .bss 0x00000000081005b4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(masks.c.o) - .bss 0x00000000081005b4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(vbr.s.o) - .bss 0x00000000081005b4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(gint.c.o) - .bss 0x00000000081005b4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(inth.S.o) - .bss 0x00000000081005b4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(inth.s.o) - .bss 0x00000000081005b4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_movmem.o) - .bss 0x00000000081005b4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_udivdi3.o) - .bss 0x00000000081005b4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_umoddi3.o) - .bss 0x00000000081005b4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_udivsi3.o) - .bss 0x00000000081005b4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_udiv_qrnnd_16.o) - .bss 0x00000000081005b4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_clz.o) + 0x0000000008100034 _mario_immunity + 0x0000000008100038 _mario_accel + 0x000000000810003c _last_bonus + 0x0000000008100040 _mario_coins + 0x0000000008100044 _mario_dead + 0x0000000008100048 _mario_time_accel + 0x000000000810004c _mario_has_bullets + 0x0000000008100050 _mario_x_max + 0x0000000008100054 _id_frame + .bss 0x0000000008100058 0x0 build-fx/src/main.c.o + .bss 0x0000000008100058 0x18 build-fx/src/keyboard.c.o + 0x0000000008100058 _keys + .bss 0x0000000008100070 0x8 build-fx/src/ennemi.c.o + 0x0000000008100070 _ennemis_global_size + 0x0000000008100074 _ennemis_global + .bss 0x0000000008100078 0x114 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(stdio.c.o) + .bss 0x000000000810018c 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(memory.c.o) + .bss 0x000000000810018c 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dtext.c.o) + .bss 0x000000000810018c 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(topti.c.o) + .bss 0x000000000810018c 0x400 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dupdate.c.o) + .bss 0x000000000810058c 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dimage.c.o) + .bss 0x000000000810058c 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dclear.c.o) + .bss 0x000000000810058c 0x24 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(keysc.c.o) + .bss 0x00000000081005b0 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(iokbd.c.o) + .bss 0x00000000081005b0 0xc /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(getkey.c.o) + .bss 0x00000000081005bc 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(start.c.o) + .bss 0x00000000081005bc 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(exch.c.o) + .bss 0x00000000081005bc 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(syscalls.S.o) + .bss 0x00000000081005bc 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(setup.c.o) + .bss 0x00000000081005bc 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(hardware.c.o) + .bss 0x00000000081005bc 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(exch.s.o) + .bss 0x00000000081005bc 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(mmu.c.o) + .bss 0x00000000081005bc 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(topti.c.o) + .bss 0x00000000081005bc 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dprint.c.o) + .bss 0x00000000081005bc 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(tmu.c.o) + .bss 0x00000000081005bc 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(sleep.c.o) + .bss 0x00000000081005bc 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(t6k11.c.o) + .bss 0x00000000081005bc 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(cpg.c.o) + .bss 0x00000000081005bc 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(topti-asm.s.o) + .bss 0x00000000081005bc 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(bopti-asm.s.o) + .bss 0x00000000081005bc 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(bopti.c.o) + .bss 0x00000000081005bc 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(masks.c.o) + .bss 0x00000000081005bc 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(vbr.s.o) + .bss 0x00000000081005bc 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(gint.c.o) + .bss 0x00000000081005bc 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(inth.S.o) + .bss 0x00000000081005bc 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(inth.s.o) + .bss 0x00000000081005bc 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_movmem.o) + .bss 0x00000000081005bc 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_udivdi3.o) + .bss 0x00000000081005bc 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_umoddi3.o) + .bss 0x00000000081005bc 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_udivsi3.o) + .bss 0x00000000081005bc 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_udiv_qrnnd_16.o) + .bss 0x00000000081005bc 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_clz.o) *(B R) 0x00000000081005c0 . = ALIGN (0x10) - *fill* 0x00000000081005b4 0xc + *fill* 0x00000000081005bc 0x4 0x00000000000005c0 _sbss = SIZEOF (.bss) -.data 0x00000000081005c0 0x120 load address 0x0000000000307dcc - 0x0000000000307dcc _ldata = LOADADDR (.data) +.data 0x00000000081005c0 0x200 load address 0x0000000000309844 + 0x0000000000309844 _ldata = LOADADDR (.data) 0x00000000081005c0 _rdata = . *(.data .data.*) .data 0x00000000081005c0 0x0 build-fx/src/level.c.o @@ -645,87 +691,95 @@ LOAD /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a 0x00000000081005c0 _end_level 0x00000000081005c4 _combo_id 0x00000000081005c8 _lifes - .data 0x00000000081005cc 0x50 build-fx/src/tile.c.o - 0x00000000081005cc _coin - 0x00000000081005dc _gift - 0x00000000081005ec _earth - 0x00000000081005fc _brick - 0x000000000810060c _tuyau - .data 0x000000000810061c 0x0 build-fx/src/box.c.o - .data 0x000000000810061c 0x0 build-fx/src/world.c.o - .data 0x000000000810061c 0x40 build-fx/src/mario.c.o - 0x000000000810061c _last_vx_sign - 0x0000000008100620 _mario - 0x000000000810064c _mario_small - .data 0x000000000810065c 0x0 build-fx/src/main.c.o - .data 0x000000000810065c 0x0 build-fx/src/keyboard.c.o - .data 0x000000000810065c 0x0 build-fx/src/ennemi.c.o - .data 0x000000000810065c 0x68 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(stdio.c.o) - 0x000000000810065c _kprint_formatters - .data 0x00000000081006c4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(memory.c.o) - .data 0x00000000081006c4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dtext.c.o) - .data 0x00000000081006c4 0x8 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(topti.c.o) - 0x00000000081006c4 _topti_font - 0x00000000081006c8 _gint_default_font - .data 0x00000000081006cc 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dupdate.c.o) - .data 0x00000000081006cc 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dimage.c.o) - .data 0x00000000081006cc 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dclear.c.o) - .data 0x00000000081006cc 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(keysc.c.o) - .data 0x00000000081006cc 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(iokbd.c.o) - .data 0x00000000081006cc 0x8 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(getkey.c.o) - .data 0x00000000081006d4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(start.c.o) - .data 0x00000000081006d4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(exch.c.o) - .data 0x00000000081006d4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(syscalls.S.o) - .data 0x00000000081006d4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(setup.c.o) - .data 0x00000000081006d4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(hardware.c.o) - .data 0x00000000081006d4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(exch.s.o) - .data 0x00000000081006d4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(mmu.c.o) - .data 0x00000000081006d4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(topti.c.o) - .data 0x00000000081006d4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dprint.c.o) - .data 0x00000000081006d4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(tmu.c.o) - .data 0x00000000081006d4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(sleep.c.o) - .data 0x00000000081006d4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(t6k11.c.o) - .data 0x00000000081006d4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(cpg.c.o) - .data 0x00000000081006d4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(topti-asm.s.o) - .data 0x00000000081006d4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(bopti-asm.s.o) - .data 0x00000000081006d4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(bopti.c.o) - .data 0x00000000081006d4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(masks.c.o) - .data 0x00000000081006d4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(vbr.s.o) - .data 0x00000000081006d4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(gint.c.o) - .data 0x00000000081006d4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(inth.S.o) - .data 0x00000000081006d4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(inth.s.o) - .data 0x00000000081006d4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_movmem.o) - .data 0x00000000081006d4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_udivdi3.o) - .data 0x00000000081006d4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_umoddi3.o) - .data 0x00000000081006d4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_udivsi3.o) - .data 0x00000000081006d4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_udiv_qrnnd_16.o) - .data 0x00000000081006d4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_clz.o) + .data 0x00000000081005cc 0xc0 build-fx/src/tile.c.o + 0x00000000081005cc _bullet + 0x00000000081005dc _fleur + 0x00000000081005ec _champi + 0x00000000081005fc _bloc + 0x000000000810060c _colline + 0x000000000810061c _buisson + 0x000000000810062c _nuage + 0x000000000810063c _coin + 0x000000000810064c _gift + 0x000000000810065c _earth + 0x000000000810066c _brick + 0x000000000810067c _tuyau + .data 0x000000000810068c 0x0 build-fx/src/box.c.o + .data 0x000000000810068c 0x0 build-fx/src/world.c.o + .data 0x000000000810068c 0x6c build-fx/src/bonus.c.o + .data 0x00000000081006f8 0x50 build-fx/src/mario.c.o + 0x00000000081006f8 _last_vx_sign + 0x00000000081006fc _mario + 0x0000000008100728 _mario_big + 0x0000000008100738 _mario_small + .data 0x0000000008100748 0x0 build-fx/src/main.c.o + .data 0x0000000008100748 0x0 build-fx/src/keyboard.c.o + .data 0x0000000008100748 0x0 build-fx/src/ennemi.c.o + .data 0x0000000008100748 0x68 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(stdio.c.o) + 0x0000000008100748 _kprint_formatters + .data 0x00000000081007b0 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(memory.c.o) + .data 0x00000000081007b0 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dtext.c.o) + .data 0x00000000081007b0 0x8 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(topti.c.o) + 0x00000000081007b0 _topti_font + 0x00000000081007b4 _gint_default_font + .data 0x00000000081007b8 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dupdate.c.o) + .data 0x00000000081007b8 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dimage.c.o) + .data 0x00000000081007b8 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dclear.c.o) + .data 0x00000000081007b8 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(keysc.c.o) + .data 0x00000000081007b8 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(iokbd.c.o) + .data 0x00000000081007b8 0x8 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(getkey.c.o) + .data 0x00000000081007c0 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(start.c.o) + .data 0x00000000081007c0 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(exch.c.o) + .data 0x00000000081007c0 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(syscalls.S.o) + .data 0x00000000081007c0 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(setup.c.o) + .data 0x00000000081007c0 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(hardware.c.o) + .data 0x00000000081007c0 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(exch.s.o) + .data 0x00000000081007c0 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(mmu.c.o) + .data 0x00000000081007c0 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(topti.c.o) + .data 0x00000000081007c0 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dprint.c.o) + .data 0x00000000081007c0 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(tmu.c.o) + .data 0x00000000081007c0 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(sleep.c.o) + .data 0x00000000081007c0 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(t6k11.c.o) + .data 0x00000000081007c0 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(cpg.c.o) + .data 0x00000000081007c0 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(topti-asm.s.o) + .data 0x00000000081007c0 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(bopti-asm.s.o) + .data 0x00000000081007c0 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(bopti.c.o) + .data 0x00000000081007c0 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(masks.c.o) + .data 0x00000000081007c0 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(vbr.s.o) + .data 0x00000000081007c0 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(gint.c.o) + .data 0x00000000081007c0 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(inth.S.o) + .data 0x00000000081007c0 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(inth.s.o) + .data 0x00000000081007c0 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_movmem.o) + .data 0x00000000081007c0 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_udivdi3.o) + .data 0x00000000081007c0 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_umoddi3.o) + .data 0x00000000081007c0 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_udivsi3.o) + .data 0x00000000081007c0 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_udiv_qrnnd_16.o) + .data 0x00000000081007c0 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_clz.o) *(D) - 0x00000000081006e0 . = ALIGN (0x10) - *fill* 0x00000000081006d4 0xc + 0x00000000081007c0 . = ALIGN (0x10) -.data.4 0x00000000081006e0 0x0 load address 0x0000000000307eec +.data.4 0x00000000081007c0 0x0 load address 0x0000000000309a44 *(.data.4) - 0x00000000081006e0 . = ALIGN (0x10) - 0x0000000000000120 _sdata = (SIZEOF (.data) + SIZEOF (.data.4)) + 0x00000000081007c0 . = ALIGN (0x10) + 0x0000000000000200 _sdata = (SIZEOF (.data) + SIZEOF (.data.4)) 0x00000000e5200000 . = ORIGIN (ilram) -.ilram 0x00000000e5200000 0x0 load address 0x0000000000307eec - 0x0000000000307eec _lilram = LOADADDR (.ilram) +.ilram 0x00000000e5200000 0x0 load address 0x0000000000309a44 + 0x0000000000309a44 _lilram = LOADADDR (.ilram) 0x00000000e5200000 _rilram = . *(.ilram) 0x00000000e5200000 . = ALIGN (0x10) 0x00000000e5007000 . = ORIGIN (xram) -.xram 0x00000000e5007000 0x0 load address 0x0000000000307eec - 0x0000000000307eec _lxram = LOADADDR (.xram) +.xram 0x00000000e5007000 0x0 load address 0x0000000000309a44 + 0x0000000000309a44 _lxram = LOADADDR (.xram) 0x00000000e5007000 _rxram = . *(.xram) 0x00000000e5007000 . = ALIGN (0x10) 0x00000000e5017000 . = ORIGIN (yram) -.yram 0x00000000e5017000 0x0 load address 0x0000000000307eec - 0x0000000000307eec _lyram = LOADADDR (.yram) +.yram 0x00000000e5017000 0x0 load address 0x0000000000309a44 + 0x0000000000309a44 _lyram = LOADADDR (.yram) 0x00000000e5017000 _ryram = . *(.yram) 0x00000000e5017000 . = ALIGN (0x10) @@ -735,8 +789,8 @@ LOAD /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a 0x000000008800df00 _gint_vbr = 0x8800df00 0x000000008800f400 . = ORIGIN (rram) -.gint.data 0x000000008800f400 0x140 load address 0x0000000000307eec - 0x0000000000307eec _lgdata = LOADADDR (.gint.data) +.gint.data 0x000000008800f400 0x140 load address 0x0000000000309a44 + 0x0000000000309a44 _lgdata = LOADADDR (.gint.data) 0x000000008800f400 _rgdata = . *(.gint.data .gint.data.*) .gint.data 0x000000008800f400 0x4 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dupdate.c.o) @@ -757,7 +811,7 @@ LOAD /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a 0x000000008800f540 . = ALIGN (0x10) 0x0000000000000140 _sgdata = SIZEOF (.gint.data) -.gint.bss 0x000000008800f540 0x290 load address 0x000000000030802c +.gint.bss 0x000000008800f540 0x290 load address 0x0000000000309b84 *(.gint.bss .gint.bss.*) .gint.bss 0x000000008800f540 0x180 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(keysc.c.o) .gint.bss 0x000000008800f6c0 0x1c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(setup.c.o) diff --git a/build-fx/src/bonus.c.d b/build-fx/src/bonus.c.d new file mode 100644 index 0000000..0baf814 --- /dev/null +++ b/build-fx/src/bonus.c.d @@ -0,0 +1,12 @@ +build-fx/src/bonus.c.o: src/bonus.c src/bonus.h src/box.h src/mario.h \ + src/world.h src/tile.h + +src/bonus.h: + +src/box.h: + +src/mario.h: + +src/world.h: + +src/tile.h: diff --git a/build-fx/src/bonus.c.o b/build-fx/src/bonus.c.o new file mode 100644 index 0000000000000000000000000000000000000000..85270d8695210187be95e7447c3a5cc82b9bb981 GIT binary patch literal 2412 zcmb7GUrbwN6hHS5P<99NmX+KMLTH5+l(eOt?oYO?3>_?@Sky6R^m6-0D7JvTWh-Wi zlxa$k^nu0r<`Ux`eBsUbY>Zj-r56pdXksV=CVTRw@qswccklgZceliN(tE%2JLi1o z-*>*7&ObkNkzpA)AO@a7zDi)@5p!@tx9Ea;uxUpkc30O*&34DgF;`c?QDU|`*puw> z-kuWUbgkD%T_aAhH*FJL>vd6ABzVD={zvRAf#?=bfq)*W$oH}DQ{Nrm*S_z48=D^A z?&RXI>%GBW-ShjuxyN#Orr_P-6N_{F3qou)wtCMsg!?ZEZ!Vm(7289?Te&Up+2h+< z+a9yg_KdAhi2W4)$SEz?hVzjYsjIZlc$njoBb@6KSC}p6vXi~xMZa{eZl#gnY{#kF z%RkKX!|thas+=spQ=Tj*${&KNVL5X*|uDLnAMrOr5UY%7j~de_yfjr z?Y0#)&ni|SC(j1dLj4{yx)`_-d~$`~gHe0%M$l8&JtDr63!GfyFE>5g6O0z>J=x1Q zgULW}DG+W7w4$xolU?f3&!jQWYsYAo#nxMHl9Sfbhi}yL1=MMx8N0c}+-fd1IbFkU z(%I0{)tz0=udR&bBx&tS$zkY8=ea-iJ`Gx$JY>N-H0DQZ9d>QD_6hU*de6GC|3~wD zQ3?sKFKE(fTTyyd3<+0_Y578P?7@aZpO#gU@3L5I)GZs(vVmA$F)SA~0WA+3mSjfg zY*fziaXCFkM(z-KC{^7rD$@1;Wn)8Y@=!AT4D|P(Y3~|%>9y|m)82sBPqh!P2Qhhg z@K?2pd+5HC%T9h3LO}BR)|3pQBcdm>OwOpo#HLzT)*yJo6b#u7|83O3RCHQ!5HUI9 zyQY1=MgO7&k6Q4g1;1~>%@&-;w2q?8Z^m0i{2V@mCjQ)F|CI%QW5GWHu%DppGjsnh z7X9xJ;mGvVtm=(|tTP}dm8oc4j?5;L@eIf*C7qZiLNy~_%gSnEderTd6akfReyY9;~l+sXKB+9)`L6G3MW`&&rdNdUXKmz}BP zz-FrKvz2_<8x{ZThX6>g4H&Gt*r#;~?e_9uZ`P2SzIGeOaPO8+% zwE{@gPdmUdgZHX)sf-cjdS}@ucF-#IqUj#*~Z#-iWG#H#(h4#iy{i|3es0 z|8G!hZaRT=bW}OO8g**HH{nA%g4!|MhP?)|kK{{qSU0#$Oui>b+!cJ`IUEr6*Mk!5 z8T~GC-yK*OjM)$9MM!wRA=d5iIvxd0=J3c+lcG%A#q4tJPZ9BXXb_oYViDF XmvAQ0xFX^zySlrG&rl;=b-RB7z*ctL literal 0 HcmV?d00001 diff --git a/build-fx/src/box.c.o b/build-fx/src/box.c.o index b4b696364505d0da4a0e1a3e0503db1d94ec30f8..08cbc87c827f245a485bb69d229ca9ce5548eb22 100644 GIT binary patch delta 795 zcmZqS{J=dyiHW6SqKZnr{xtn%`rGu6>0irr)_-KMZ>+ZFd;e8^D6xc-=RPtqkLoAobrmHysm;ADV;hYXMZnw&9ow_5d(T}#r+$IHe_ zp`XcHbit7<XiOB?eXMh;Ot=RWL&VlhB4@>lPFkzb;bXn%XybT zDpDSU)YO+Sbuf1GgkB7~oB|dG36?N-Fm*E}T`FSKRYH?t#G;xBn`%#P(;h5p84+rO zE{9%BsRvpbbP42M6CI$%e}P)~z!Iq9f1uj_>ndT9{f9%>U%a~hgLKtnH4fr?pk+yy z>=gPXY8Y$&2VJcA&#@g8kFtuucvSUQ%lnr5E$3VIx2$iO-x#DVHi3gRgR%Gf7#fcQXfF1V$>mtl}h=_3z#=++ly*gx?iA~9W zUv85#9gO`#$%_-4s{eCOXOc41(GYsbAR%&5%aJ>zRe_`5C!0C2HK@LAfu^BG9b>rdFsNo+E-S^r8yD5c5djjcP_8lOjhy>zSudgZ)D`=vq~1Dj1{O8=YA z@!@9R1X?7VxHzz}@;~QxkVO)LK#N5E)$+dOe#`lm{VnTT<~IiJjBo2-n9itU3~I7d z?!WYiy^=Agm0MkjQOZ)hn>n!2P-p!P3Bif1?-O4M3#^ tlRvO1F)^N*EW)Y=qHG{k3W$0zxd%uwHB8>ZswT$t0I1puh+zP1J^<$|hIIe{ diff --git a/build-fx/src/ennemi.c.o b/build-fx/src/ennemi.c.o index 4c98a2551944e384974a230023f0c81dd3c7c154..341dce8ff6e8377d4b1ecc216c573cda36bdba01 100644 GIT binary patch delta 1161 zcmZ8eZ%7+w7=PZ&C70}QOYV%GoiM#PlTb(G;+7iSFtzOzM%^V6XI4m}Ntf6p?TjtD z$%3XzZW7M+=pUFcX~#O4Al=yZW%Ns->qoEM7r&WJw)MkcpTb}tviF)Cl|1nB{GQ+M z;rBl8`y5!e*iD|G4zKm}(ED#h0^{@{h{gVEp(lm5j~M5o+;ae`Js6l}yiSP>Gj9zG zv$Ev?g-3;q*HI=9Ak26(UMILiw%|$JV+gZa&&EsPQ(A{)5Ls`h*Gaj%mVgG!?tgzG zus|bJ;y184RU&Zw1?O2$je2f+zAkuv^gNp2_s>TH;^;W-=ls+LHI6OBl}n%Xvofk6 zt|PJ{7O~dpr^=`TE=H8PImvSF^Vq{u4R>HBx%&DCGI0po+h9>AXBc(zyyK)T&Xmy= z^ana)l~0|p#zG||`(h8(vn4dcl!-LET@VYUnBy@j6CbWsfU_rxdt)Q?0y%d*cK0!o zfcrsQ>*h90VyT;xD;oI#*3s1IJTU$sg?CU6OBx;avr3U}`0_HkS|D{KLXMiJWE!`}~UB z@(fKEeOu}LQf+WpxK%bj1Ml(_D=Z5>i+gG{w0hBx6E4R3BN3QyI z=JKD^o;#Uwf2**J*Jp6wmJoNEJG1-g$9){P`z2>r*?_jD?-GvUtRrvnvKxfZE`OUS zR%*NVxMMHo1v*t#?wfeUicH^sMYJRIg|cIKtq{?dYpsLXraFh~fAC2#00`&xCjBO+ zCo$LB(C;+q_pzSBXRo0@Xy~L3fCP94o?-$6Xb|vwlfmCj^}hgy6PO#(43$N4O!HuM3s>q0+(S;qqaHXUbaZ{XOq<@AKSie!uyN zK+;8A~M{&9Ox=h`w-y*%KL9LU9$w;AQioiXKy8yNV%{{Ah$>v*#G)G&r^1h;U4=un9*M4YI!fUJp!2u8$OBhD*_BHgY6aKfy^%W=|55Ok?GJ|8m#s!teIpqYPF#nFXfpx7# zZP#qG@_aI_ZQ6!H=?8HsJ~tPiO@b6lFG{mG08(~3Js+23MFFX9m6W)QxsuFgX5^(t zg0vvVX5!j8+M~_Uw{t-N)_4wHRQI(G2o>MpE1xA+7Cnh i)tVWv&4H(o(FPcSrWSEtO;Z@5g~lHTM>EH~UicrryvEu9 diff --git a/build-fx/src/level.c.o b/build-fx/src/level.c.o index 04fbd297f154be34c3896c74d5ef7cec966cb3dd..c66bec7bf5915b3901cd09062342a0b067463705 100644 GIT binary patch literal 6952 zcmeHM-D?zA6hD(h^RY>j-NbAY`!E|5+4`}Gk_RmmlLo6oX|x~EKFw~jlVt5~R(98~ zBJEI%SZryEVq54#s3Lt3l>QBczVyM7TI@q13H7Z|iY53U*x#L_!@O5OHdwR=Z{R%;dm$=y$T4@6a#J zj<)_bdTQN|cI`g3dhsM>_{<6oU(8GlU$G;T1L48&kR47(2KRr~c(~i{6l}ZmM(0$- z?o34*qAmUVTgF1^(_0$!md_j0jdn;NZnVvuHqTFPKD?S)9oss$DuoYJhtIefJ0}Oq zx#qg<4kuT~jgG0v^0tO(Q~y|~tv}9rTAe&CGnZ8Ii1=TOOb+aM-tHR@%}vD5p4;?m z^g{e%{8scpX!O3_doy|=78_W3*Y3r$!`^^rAD$mMT30w`_lyf%_exXx?#1?7kprRF zfE^hRrSE>(wCB|1=FBRE=2jy=(Dg`9@V*8v+;M^dS*Bz+c6pukW^&@J_DL&YA6IrP zZ%=j)>DHm-CJI?^ENx%jVI5l9dF|d%R~OD7jTYC`frwOHfDfZ}Euu%0>Zd+OAixnk zk+!Dz^2BO_-9d??gcmgCsKjT?e~Dw^4A4ALnH%t7G(gLu$ccfYyA*HV7TBTCa~^P@ zs>xH}=xQ^o)Xt)G50cp1T6|s)I7;_G#F98qysj;&emIZF$)d9&^_EmWL7XJfL-Pd3 ztDhi_PHQFU+ehXsNH9M}8gf*L1GOwVD^+@lQxEDzV20CG*a}MJ7G+G1u zxd&&>y%v6n(+y69vD{lVIE?Z4|B~aKKgZ*_v8~cS>m2Oe6MJ9dJVhNS)dKGu@S+Z? z)xw%HVvfqWForn`>`>?>4pcRHOpdOWrE-5%@dC$lJ6JiNz%!C#N*q3)z%vTsEK0wB zE|@9CT_Tadb6Cr4Cf_0>^pkajbwkP~g<813e%B^3>!cQ5$|* zJ&x`tzy?RIH|Kl;V4h3&w6dbIZ_fh9a?cg(se9*mJ>Ym}M0MmbIo=u7NfR`z!Fe4G zOQROi9zf6w(PUlN_!&p9iv9W#u$Ppu`z9t{(&PJHfBQv!cVcH^1f&2FYjUKC9{k0+ z=o_6iR6MZpQxOJV9uAwm?@aRdJY4Gax&R@0!}kG zeT1W#^YdmdV;0FMYei!=o1aQ${kBoeypQNb)0@D&d7S5R+?dJFr^_?X9?OonvolU$ z0!WDI8*m$$wAi9STu-j;ILeUqZA5LX<4S~BN1e5^{wdLOtS=CCvVH+o$~yih5N7=w ze0{+BB0g%eewnD5_3wy!SpS=-m-Ty6Oq^xZ^^1;UYPe?{N5gxE<7lUd`WSCX{*Q^) zvHvVlKkHc6M%J+|o~MR&@me&j>jlPOUAzw(*44p&tjn7x*5&28O0=PjNfb}!N~tMI z6ibD2KgU|Z%%&10^F)afD7zFTriw*M6!K+bI-kplGJ7P^ffjki`$otp%q2%FKd^s} zY{XOOV~$19pMkTWH=_x@7;8t{?Aq@8uAv9EEbczgHaKw}{9dez6Q7v{$NgSP;PBs! zitzk)yExRPke=Ik;97ekVsMkbK;B OxW2bwzrrB&4(=ZST%!E| delta 953 zcmZ9IUr1AN6vxl~-D%1w?Oyxc?%bBU*wi+e>6-RO&5HhjU|7sRWs#HAIs4KKSa*bv<$+^_7WJ%dgupscJsb;;GFY0-*e7A{O*`qlfVT*+s{3vRjC$K`u{7v$lIu6LpLAtgg8RQ4;iO>Lh#i`1fK z+S_!pB~9b>oLl|SK6=Z2p1!Q+@z{;IHXo-h`j+m94__bl@s?l>cdOWbHga_rw{EjK zTf$h6(>E=rbp367aIOh=%IFjN+W*n1I-6}>@&3_%)U;|&Z_`q`jyBM%@hB=){yBZ3 zJAT&3TaTBjrQ>v>^#tbgbkbfCvlq68_2Tnro4ux*+dckir|Js%XKat0YEj4*y>_gU zE8Cf0c~!yXLfJFaDBmgPa-20tP{F0T;F9#JvBpv2XdXHs+sk=k>sPZxB}LjOsggy? zm#mUavP+wWwwH4$H{qIeIkb5-fe}4cj^Sdun9p7BNNlOYADt+f7p6+ET~cQbE~O)6 zU(2q&(BSMzg;U+BP^v4{nF4c1$`m!#3rTngN%9bu1uyZE4iX__BuSPeWj`9AGo5M%GvvSDi$B%og($w$qZciW|1# xVtRw<9{}+&W;cskG$JP1h{c&H@^q8EuxObXh=QFhS~Qw9f^&QR?dVaz`WJzG_-OzD diff --git a/build-fx/src/main.c.o b/build-fx/src/main.c.o index 29be9f23d2e5a33e389de22fc4144ec3b5ce56ea..a911f5667c64d5f5b1f958e4d18fe6d6d7806f59 100644 GIT binary patch delta 868 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 diff --git a/build-fx/src/score.c.o b/build-fx/src/score.c.o index abcbd0e283a53aa885c70226333d074117c5ad1d..8d0ba0c4e24c25c38baea485914f4a7231fd2ee6 100644 GIT binary patch delta 925 zcmZ8gF=$g!6g@Bb_9tz%KczJl1Vd7Yh{nN+U4#x9D(xVcp@>-8w9tYfYW|?p9~3vm z@C2QtlQ>imRB$NL!68Ej1qVk52SJApjvYMr=iUAvFP!(zx$oZl-n;MrgWz@Wv{HBh zAd4A}z-bI4-+fp$+3xnmVrHd$$6%y9j=U^R&p$4nfAn>%JG=O9)GQd2wM&@?_IIWf z#p@C>4j9f85>N9AQX4oGtG@Qg&&Zm9>oQ*;riodXf0;Z-XnsAVC4P|z+&XoHYZRl2 z1J{K+EeBX5ZV-XnASAy@%-az;d(QT5Y>Yyl=dXXo}5{u8N%m^2$rVu<|DcKRE1kt#iK> zuB@Wg3GMb!WMI$w3{EC^e_x!4vvs>}l<9O5V`_*%|8L`EFM74iSV_2w0pPl#iHvwt@V!331FI6a|OI zb8zU8!6AZ!ZVnC|1RWe&a46#7(7~ZYM~4nRclnO*;tTKH?|HxX-uLcu8Kursd)f3U zfDl$V0#`7F#Lg~1@$u}g z5D{5)o+VArrUM9h;AH#DTo6`1H=c8r4v`D=l=Xd;JY(sb#Px>ITGc!dgF4Q{zwEwsx!-NFsH-CDzQYgM?FR^w4ilTPvjaGTy! zx9;`4I$W<=)hMrpXBSm`tK9J5)@zTw4%~Llt9TvR32$?MMc$9PS!K6@gy9Wf%5Vvo zHoOfa4cCEL!)>e1YhH(mzX9e9?^`v8swVquduufw@dcO#pRL6QfMeo60v6wbqT)M{ z_HzU;_M&0tM-B7WGzS*_UqNH>J2<5{u@?LZHX%-}_}}34;yj4+?PJkz=7jmO499^> zhG&4wWc`P67I>v{J-R2Bfgc5FIyx5CS4?g%B-}D2FP1$W4HPijZ(sl_G&iX@!IYQewMKVqwRTKUB(r zR046~(h~v3G4;J_%8eQ)0E%Gw1GGvsS2{Ygf*k#|zMmC-}w!<0@~SXmCQ zaM(fT^}UqgWPNXt@22#38T|wDy_EhwqklrapVB`b(nH&^R1?~pzP{Baf-r~-+tqsr zZMWApBFC{piMx&!`4XCa-5uI-isNAkN;W;mu?NXaI|#giR0dH}(e&&%*t5G>+0y;6 zFSCNsOJ@7F`CLZBXj_kH*|z}-$@>XVWQ<2yVq66{$+!Vb30nXIpwDH;9z#!p<6h$6h5s8t;K9NL0xd$L9^`JALzGZZ} cqj?VmF%LeYvvFU%2GV(X+QS`A!cpY?0hO+cY5)KL delta 245 zcmaFB^M+%B5*yPU1_lPEi5kHRUo+P00NDZ{EXcsX45T%H7z{vyKwt#K3P22#w*<1m z04nbRdt-d z-Q?BUv>o}r`}^HnB}uA%oOI5Z-L4wq#y2v+MGT>9@~-)v`S)XD`LqtQF{?bGBts>wLt!b zwAv^WpIEAu>MJ9IK5u!xe!(@pvM+3JZOuLR@%bzhdNBOp+`t?=$GVEH2g1heH=)r0 z;OdRugSF*=E8rR(%oyA@zq4wXvABwETci}4{?J-I5b}Sx`B|#MHbMSz*grZ@HH-{i zDYlp=*jV{c>Vtpt378+S&>{*X#=2)6=o_Ch<+o_!$RZX8~_z>o00wU1g% zZ5lIxdx9CT%46d*jY%~>VyW)0IY$OvGj-pjcf}x2`ufTX!sut4f4AvW1&SANNJuy9>#rD_w~KcshKh`vd#u0GohmQgY2J1ZEitL`<@xZiKiug)=1{;N=c}v4g+X z!QbfM@1WKawmqcj{SES8BX?{34;}HJqJKl@|DwbH6>b%aTWit!Q|9uxC}kT|2?{3~gj4BM6!)4K z-T@P%LclhT;<&Co3D8U1GXQ1{8?i4-G2WefC>{pbMe%<82cY;M-WG}<0qCdrF#sFI z^8j{=QNwPEQNz6yqlP^czpvBq$&O~@9{~onm@Zr%)!&6=h_-Lxm8bYNz+MfL=fy%X z#_yvT&+GjZ2f;-g@1C cg6T4Lm$020)z^;=y13q_kRPT&SSxY=2DCX`0RR91 delta 1386 zcmZuwZ)h837=P|AOE0;sX|Dg0wXVsfb_wmcSQ)f)>eaSH=^(RyRdV^)G;Ny3uF^%p zt5IZP!BA*}=STdSleb?icTQ9d19O}5> zEH=wtbqq_oG*h6X*rY*%l*e@bTddAUiOQLsk-En5o#BSYp}NMQLyiBDIPrfHqj_~8 z=Dp*^vO`{%hDG+F-2X(_;1gjz4PhsBVUtIcojg>Q%&Ye8r#v}qFy2|@H9NM~hU(k( z)+(k@-)v>3lBxhVT`BYH%c39-u5av9EWiPgm~Pn(0QOp~J{o*qHjI+mcWbgWONIIXSy^t=9_U#A3;g6Bb6PPk-Wzks ze6}jFMJiz1gFvtV@~F<#ONbv%zb1b2JBVMTM#Zo9K>SfGi+9zhL&6lV_KtAM!&0xr z#mNj4f4?N$_DWo8&HvFWj-n~eg-<6|$n=du)-){bkY5G9ed%=d%ezIow=D~aEF_~crT=gci}Fzy}YroMXh!Q1TQ{j)7A_hS#< zVV^4%?kcuWU#2owNmmYg2v>E%M{OCPiJUw3Cr!JF&m5!_k~IqoeGNJ1cmN9hrvP*b zy{{2}iMVbpkKH$zuOf6e@;?DEPK>u2@h^zmaF`r8&}%sA*4Y2Yzv3Er|3RQQ4E2qT z1E?;2!Q%K*&=p2ly@z{>zF2L1rR zVc;tOyn(lloOyuFHr5{kv^Ow=-LX`5I$!csagfv-5J{z1rV8hE=Tq diff --git a/src/bonus.c b/src/bonus.c new file mode 100644 index 0000000..7538243 --- /dev/null +++ b/src/bonus.c @@ -0,0 +1,144 @@ +#include "bonus.h" +#include "box.h" +#include "mario.h" +#include "world.h" +#include "tile.h" +#include + +#define BONUS_FLEUR 4 // interne, généré depuis champi +#define BULLET 1 +typedef struct +{ + int type; + box_t b; + int p1; +} bonus_t; + +static int sgn(int x) +{ + if (x>0) + return 1; + else if (x<0) + return -1; + else + return 0; +} + + +static bonus_t bonus ={BONUS_NONE, {0,0,8,8,0,0,1}, 0}; +/* Les balles ont les memes propriétés que les boulets et sont donc gérées ici */ +static bonus_t bullets[2] ={{0, {0,0,4,4,0,0,1}, 0},{0, {0,0,4,4,0,0,1}, 0}}; + +void lance_bullet() +{ + for (int i=0; i<2; i++) + { + if (bullets[i].type==0) + { + bullets[i].type=BULLET; + bullets[i].b.x=mario.p.x; + bullets[i].b.y=mario.p.y+8; + bullets[i].b.vx=4*last_vx_sign-2; + bullets[i].b.vy=0; + bullets[i].p1=last_vx_sign; + return; + } + } +} +void bullet_display() +{ + for (int i=0; i<2; i++) + { + if (bullets[i].type==BULLET) + { + box_jump(&bullets[i].b,4); + box_move(&bullets[i].b); + draw_tile(bullets[i].b.x-world_get_real_x0(), bullets[i].b.y-world_get_real_y0(), &bullet, 1+sgn(bullets[i].b.vy)/2, 0); + if (bullets[i].b.vx==0) + { + bullets[i].p1*=-1; + bullets[i].b.vx=4*bullets[i].p1; + } + if (bullets[i].b.y<0) + bullets[i].type=0; + if (bullets[i].b.x<=world_get_real_x0()-bullets[i].b.w || bullets[i].b.x>=world_get_real_x0()+127) + bullets[i].type=0; + } + } +} + + +void bonus_set(int type, int x, int y) +{ + bonus.type=type; + if (mario.size==M_BIG && type==BONUS_CHAMPI) + bonus.type=BONUS_FLEUR; + bonus.b.x=x; + bonus.b.y=y; + bonus.b.vx=0; + bonus.b.vy=0; + bonus.p1=0; +} + +void bonus_move() //+collision +{ + if (bonus.b.x<=world_get_real_x0()-bonus.b.w || bonus.b.x>=world_get_real_x0()+127) + bonus_set(BONUS_NONE,0,0); + if (bonus.type==BONUS_NONE) + return; + + + if (bonus.type==BONUS_STAR) + { + box_jump(&bonus.b,5); + } + box_move(&bonus.b); + if (bonus.type==BONUS_CHAMPI || bonus.type==BONUS_1UP || bonus.type==BONUS_STAR) + { + + if (bonus.b.vx==0) + { + if (bonus.p1==0) + { + bonus.b.vx=1; + bonus.p1=1; + } + else + { + bonus.p1*=-1; + bonus.b.vx=bonus.p1; + } + } + if (bonus.b.y<0) + bonus_set(BONUS_NONE,0,0); + } + + bool x_collide= (mario.p.x<=bonus.b.x && bonus.b.xvy); @@ -65,9 +66,37 @@ static void move_y(box_t * b) typetemp=world_get_ctg(b->x+j ,b->y-i); if (/*typetemp==CTG_DEATH ||*/ typetemp==CTG_SOIL) { - b->y+=(i-1)*sgn_vy; - b->vy=0; - return; + if (b->vy>0) + { + int old=b->x; + if (world_get_ctg(b->x+2, b->y+b->h-1+i)==CTG_SOIL && world_get_ctg(b->x+3, b->y+b->h-1+i)==CTG_EMPTY) + b->x++; + if (world_get_ctg(b->x+1, b->y+b->h-1+i)==CTG_SOIL && world_get_ctg(b->x+2, b->y+b->h-1+i)==CTG_EMPTY) + b->x++; + if (world_get_ctg(b->x, b->y+b->h-1+i)==CTG_SOIL && world_get_ctg(b->x+1, b->y+b->h-1+i)==CTG_EMPTY) + b->x++; + + if (world_get_ctg(b->x+b->w-3, b->y+b->h-1+i)==CTG_SOIL && world_get_ctg(b->x+b->w-4, b->y+b->h-1+i)==CTG_EMPTY) + b->x--; + if (world_get_ctg(b->x+b->w-2, b->y+b->h-1+i)==CTG_SOIL && world_get_ctg(b->x+b->w-3, b->y+b->h-1+i)==CTG_EMPTY) + b->x--; + if (world_get_ctg(b->x+b->w-1, b->y+b->h-1+i)==CTG_SOIL && world_get_ctg(b->x+b->w-2, b->y+b->h-1+i)==CTG_EMPTY) + b->x--; + if (old==b->x) + { + b->y+=(i-1)*sgn_vy; + b->vy=0; + return; + } + } + else + { + b->y+=(i-1)*sgn_vy; + b->vy=0; + return; + } + + } } diff --git a/src/ennemi.c b/src/ennemi.c index 75c1f5f..e14ffcc 100644 --- a/src/ennemi.c +++ b/src/ennemi.c @@ -11,7 +11,7 @@ void display_ennemi(ennemi_t * e) { if (e->life==DEAD) return; - if (e->b.x-e->b.w<=world_get_real_x0(0) || e->b.x>=world_get_real_x0(0)+127) + if (e->b.x<=world_get_real_x0(0)-e->b.w || e->b.x>=world_get_real_x0(0)+127) return; else e->discovered=1; @@ -29,18 +29,32 @@ void display_ennemi(ennemi_t * e) bool ennemi_check_collision(ennemi_t *e) { - bool x_collide= (mario.p.x<=e->b.x && e->b.xb.x+e->b.w-1 && e->b.x+e->b.wb.y && e->b.yb.y+e->b.h-1 && e->b.y+e->b.hb.x && e->b.xb.x+e->b.w-1 && e->b.x+e->b.wb.y && e->b.yb.y+e->b.h-1 && e->b.y+e->b.hb.x-e->b.w>world_get_real_x0(0) && e->b.xb.x-e->b.w>world_get_real_x0() && e->b.xdiscovered=1; - if (e->b.x-e->b.w<=world_get_real_x0(0)) + if (e->b.x+e->b.w<=world_get_real_x0()) e->type=NONE; if (e->discovered==0) return; @@ -49,6 +63,21 @@ void move_ennemi(ennemi_t *e) if (e->type==NONE) return; + for (int i=0; idiscovered && t->type!=NONE) + { + bool x_collide= (t->b.x<=e->b.x+e->b.vx && e->b.x+e->b.vxb.x+t->b.w) || (t->b.x<=e->b.x+e->b.w-1+e->b.vx && e->b.x+e->b.w+e->b.vxb.x+t->b.w); + bool y_collide= (t->b.y<=e->b.y+e->b.vy && e->b.y+e->b.vyb.y+t->b.h) || (t->b.y<=e->b.y+e->b.h-1+e->b.vy && e->b.y+e->b.h+e->b.vyb.y+t->b.h); + if (x_collide&&y_collide) + { + e->b.vx=0; + e->b.vy=0; + } + } + } + if (e->type==GOOMBA) { if (e->life==1) @@ -87,7 +116,7 @@ void move_ennemi(ennemi_t *e) mario.p.vy=4; } else - mario_dead=1; + hurt_mario(); } } else diff --git a/src/level.c b/src/level.c index 4bdd683..2847889 100644 --- a/src/level.c +++ b/src/level.c @@ -58,45 +58,116 @@ void set_level(int n) { world_t level_0[]= { - {EARTH,0x00}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, - {EARTH,0x10}, {TUYAU,0x03}, {TUYAU,0x02}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, - {EARTH,0x10}, {TUYAU,0x13}, {TUYAU,0x12}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, - {EARTH,0x11}, {EARTH,0x00}, {0,0}, {0,0}, {0,0}, {BRICK,0}, {0,0}, {COIN,0}, {0,0}, {0,0}, {0,0}, - {EARTH,0x11}, {EARTH,0x10}, {0,0}, {0,0}, {0,0}, {GIFT,0x15}, {0,0}, {COIN,0}, {0,0}, {0,0}, {0,0}, - {EARTH,0x11}, {EARTH,0x10}, {0,0}, {0,0}, {0,0}, {BRICK,0}, {0,0}, {COIN,0}, {0,0}, {0,0}, {0,0}, - {EARTH,0x11}, {EARTH,0x20}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, - {EARTH,0x20}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, - {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, - {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, - {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, - {EARTH,0x00}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, - {EARTH,0x10}, {TUYAU,0x03}, {TUYAU,0x02}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, - {EARTH,0x10}, {TUYAU,0x13}, {TUYAU,0x12}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, - {EARTH,0x11}, {EARTH,0x00}, {0,0}, {0,0}, {0,0}, {BRICK,0}, {0,0}, {COIN,0}, {0,0}, {0,0}, {0,0}, - {EARTH,0x11}, {EARTH,0x10}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {COIN,0}, {0,0}, {0,0}, {0,0}, - {EARTH,0x11}, {EARTH,0x10}, {0,0}, {0,0}, {0,0}, {BRICK,0}, {0,0}, {COIN,0}, {0,0}, {0,0}, {0,0}, - {EARTH,0x11}, {EARTH,0x20}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0,0,0}, {0,0}, {0,0}, {0,0}, - {EARTH,0x10}, {TUYAU,0x03}, {TUYAU,0x02}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, - {EARTH,0x10}, {TUYAU,0x13}, {TUYAU,0x12}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, - {EARTH,0x20}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, - {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, - {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, - {EARTH,0x00}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, - {EARTH,0x01}, {EARTH,0x01}, {EARTH,0x01}, {EARTH,0x01}, {EARTH,0x01}, {EARTH,0x01}, {EARTH,0x01}, {EARTH,0x01}, {EARTH,0x01}, {EARTH,0x01}, {EARTH,0x01} + {EARTH,0x01}, {EARTH,0x00}, {COLLINE,0x01}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {COLLINE,0x11}, {COLLINE,0x01}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {0,0}, {COLLINE,0x11}, {COLLINE,0x10}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {COLLINE,0x11}, {COLLINE,0x21}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {COLLINE,0x21}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {NUAGE,0x01}, {NUAGE,0x00}, {0,0}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {NUAGE,0x11}, {NUAGE,0x10}, {0,0}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {NUAGE,0x21}, {NUAGE,0x20}, {0,0}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {BUISSON,0x00}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {BUISSON,0x10}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {BUISSON,0x10}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {BUISSON,0x10}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {BUISSON,0x20}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {COLLINE,0x01}, {0,0}, {0,0}, {GIFT,0x11}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {COLLINE,0x11}, {COLLINE,0x10}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {COLLINE,0x21}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {NUAGE,0x01}, {NUAGE,0x00}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {0,0}, {0,0}, {0,0}, {BRICK,0}, {0,0}, {0,0}, {0,0}, {0,0}, {NUAGE,0x11}, {NUAGE,0x10}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {0,0}, {0,0}, {0,0}, {GIFT,0x21}, {0,0}, {0,0}, {0,0}, {0,0}, {NUAGE,0x21}, {NUAGE,0x20}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {0,0}, {0,0}, {0,0}, {BRICK,0}, {0,0}, {0,0}, {0,0}, {GIFT,0x11}, {0,0}, {0,0}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {BUISSON,0x00}, {0,0}, {0,0}, {GIFT,0x11}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {BUISSON,0x10}, {0,0}, {0,0}, {BRICK,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {BUISSON,0x20}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {NUAGE,0x01}, {NUAGE,0x00}, {0,0}, {0,0}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {TUYAU,0x03}, {TUYAU,0x02}, {0,0}, {0,0}, {0,0}, {0,0}, {NUAGE,0x11}, {NUAGE,0x10}, {0,0}, {0,0}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {TUYAU,0x13}, {TUYAU,0x12}, {0,0}, {0,0}, {0,0}, {0,0}, {NUAGE,0x11}, {NUAGE,0x10}, {0,0}, {0,0}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {NUAGE,0x11}, {NUAGE,0x10}, {0,0}, {0,0}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {NUAGE,0x21}, {NUAGE,0x20}, {0,0}, {0,0}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {NUAGE,0x01}, {NUAGE,0x00}, {0,0}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {NUAGE,0x11}, {NUAGE,0x10}, {0,0}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {TUYAU,0x03}, {TUYAU,0x03}, {TUYAU,0x02}, {0,0}, {0,0}, {0,0}, {0,0}, {NUAGE,0x11}, {NUAGE,0x10}, {0,0}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {TUYAU,0x13}, {TUYAU,0x13}, {TUYAU,0x12}, {0,0}, {0,0}, {0,0}, {0,0}, {NUAGE,0x21}, {NUAGE,0x20}, {0,0}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {BUISSON,0x00}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {BUISSON,0x10}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {BUISSON,0x10}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {BUISSON,0x20}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {TUYAU,0x03}, {TUYAU,0x03}, {TUYAU,0x03}, {TUYAU,0x02}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {TUYAU,0x13}, {TUYAU,0x13}, {TUYAU,0x13}, {TUYAU,0x12}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {COLLINE,0x01}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {COLLINE,0x11}, {COLLINE,0x01}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {0,0}, {COLLINE,0x11}, {COLLINE,0x10}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {COLLINE,0x11}, {COLLINE,0x21}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {COLLINE,0x21}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {NUAGE,0x01}, {NUAGE,0x00}, {0,0}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {TUYAU,0x03}, {TUYAU,0x03}, {TUYAU,0x03}, {TUYAU,0x02}, {0,0}, {0,0}, {0,0}, {NUAGE,0x11}, {NUAGE,0x10}, {0,0}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {TUYAU,0x13}, {TUYAU,0x13}, {TUYAU,0x13}, {TUYAU,0x12}, {0,0}, {0,0}, {0,0}, {NUAGE,0x21}, {NUAGE,0x20}, {0,0}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {BUISSON,0x00}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {BUISSON,0x10}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {BUISSON,0x10}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {BUISSON,0x10}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {BUISSON,0x20}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {COLLINE,0x01}, {0,0}, {0,0}, {0,0}, {GIFT,0x131}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {COLLINE,0x11}, {COLLINE,0x10}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {NUAGE,0x01}, {NUAGE,0x00}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {COLLINE,0x21}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {NUAGE,0x11}, {NUAGE,0x10}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {NUAGE,0x21}, {NUAGE,0x20}, {0,0}, + {EARTH,0x21}, {EARTH,0x20}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, + {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, + {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, + {EARTH,0x01}, {EARTH,0x00}, {BUISSON,0x00}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {BUISSON,0x10}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {BUISSON,0x20}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {NUAGE,0x01}, {NUAGE,0x00}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {NUAGE,0x11}, {NUAGE,0x10}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {0,0}, {0,0}, {0,0}, {BRICK,0}, {0,0}, {0,0}, {0,0}, {0,0}, {NUAGE,0x11}, {NUAGE,0x10}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {0,0}, {0,0}, {0,0}, {GIFT,0x21}, {0,0}, {0,0}, {0,0}, {0,0}, {NUAGE,0x11}, {NUAGE,0x10}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {0,0}, {0,0}, {0,0}, {BRICK,0}, {0,0}, {0,0}, {0,0}, {0,0}, {NUAGE,0x21}, {NUAGE,0x20}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {BRICK,0}, {0,0}, {0,0}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {BRICK,0}, {0,0}, {0,0}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {BRICK,0}, {0,0}, {0,0}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {BRICK,0}, {0,0}, {0,0}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {BRICK,0}, {0,0}, {NUAGE,0x01}, {NUAGE,0x00}, + {EARTH,0x21}, {EARTH,0x20}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {BRICK,0}, {0,0}, {NUAGE,0x11}, {NUAGE,0x10}, + {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {BRICK,0}, {0,0}, {NUAGE,0x11}, {NUAGE,0x10}, + {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {BRICK,0}, {0,0}, {NUAGE,0x21}, {NUAGE,0x20}, + {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, + }; lvl=&level_0; extern image_t img_lvl0; w_fond=&img_lvl0; - w_current_x=25; - w_current_y=11; + w_current_x=89; + w_current_y=13; mario_x_max=0; mario.p.x=25; mario.p.y=16; init_level(lvl); - ennemis_global_size=1; - ennemi_t ennemies0={GOOMBA,{120,16,8,8,-1,0,1},-1,0,1}; - init_ennemies(&ennemies0); + ennemis_global_size=4; + ennemi_t ennemies0[]= + { + {GOOMBA,{176,16,8,8,-1,0,1},-1,0,1}, + {GOOMBA,{321,16,8,8,-1,0,1},-1,0,1}, + {GOOMBA,{409,16,8,8,-1,0,1},-1,0,1}, + {GOOMBA,{419,16,8,8,-1,0,1},-1,0,1} + }; + init_ennemies(ennemies0); } } diff --git a/src/main.c b/src/main.c index c50bacd..3379a87 100755 --- a/src/main.c +++ b/src/main.c @@ -57,6 +57,7 @@ int main(void) { mario_dead=0; end_level=0; + mario_smaller(); } if (end_level==0) { diff --git a/src/mario.c b/src/mario.c index b8f5c7c..7565ceb 100755 --- a/src/mario.c +++ b/src/mario.c @@ -6,6 +6,7 @@ #include "keyboard.h" #include "box.h" #include "score.h" +#include "bonus.h" static int sgn(int x) { @@ -21,6 +22,9 @@ extern image_t img_mariosmall; int id_frame=0; tileset_t mario_small={&img_mariosmall, 8,8, 1}; +extern image_t img_mariobig; +tileset_t mario_big={&img_mariobig, 8,16, 1}; + pnj mario= { {26,17,8,8,0,0,1}, @@ -29,12 +33,30 @@ pnj mario= 0 }; int mario_x_max=0; +int mario_has_bullets=0; int mario_time_accel=0; int mario_dead=0; int mario_coins=0; int last_vx_sign=1; int last_bonus=0; int mario_accel=0; +int mario_immunity=0; + +void mario_bigger() +{ + mario.p.h=16; + mario.p.y-=7; + mario.size=M_BIG; + mario_has_bullets=0; +} + +void mario_smaller() +{ + mario.p.h=8; + mario.size=M_SMALL; + mario_has_bullets=0; + mario_immunity=1; +} void mario_draw() { @@ -47,6 +69,15 @@ void mario_draw() else draw_tile(mario.p.x-world_get_real_x0(mario.p.x), mario.p.y-world_get_real_y0(mario.p.y), &mario_small, 2*last_vx_sign, 0); } + else + { + if (mario.p.vx*sgn(mario.p.vx)>=3) + draw_tile(mario.p.x-world_get_real_x0(mario.p.x), mario.p.y-world_get_real_y0(mario.p.y), &mario_big, 2*last_vx_sign+(id_frame/4)%2, mario_has_bullets); + else if (mario.p.vx*sgn(mario.p.vx)>=1) + draw_tile(mario.p.x-world_get_real_x0(mario.p.x), mario.p.y-world_get_real_y0(mario.p.y), &mario_big, 2*last_vx_sign+(id_frame/8)%2, mario_has_bullets); + else + draw_tile(mario.p.x-world_get_real_x0(mario.p.x), mario.p.y-world_get_real_y0(mario.p.y), &mario_big, 2*last_vx_sign, mario_has_bullets); + } } int test_sol_le_plus_proche(int x, int y) @@ -76,15 +107,26 @@ int test_sol_le_plus_proche(int x, int y) int global_quit=0; void mario_move() { + if (mario_immunity) + { + mario_immunity++; + if (mario_immunity==40) + mario_immunity=0; + } + id_frame++; update_keyboard(); + if (mario_has_bullets==1 && keys[MK_RUN]==2) + { + lance_bullet(); + } int jump = keys[MK_JUMP1] || keys[MK_JUMP2]; if (keys[MK_JUMP1]==2 || keys[MK_JUMP2]==2) { if (mario.p.vx*sgn(mario.p.vx)>=3) - box_jump(&mario.p, 8); + box_jump(&mario.p, 9); else - box_jump(&mario.p, 7); + box_jump(&mario.p, 8); } else if (mario.p.vy>=6 && jump==0) mario.p.vy=5; @@ -147,14 +189,10 @@ void mario_move() last_vx_sign=0; if (mario.p.x+mario.p.vx + gravity - if (mario.p.x>mario_x_max) - mario_x_max=mario.p.x; + if (mario.p.y<0) mario_dead=1; if (mario.p.vx==0) @@ -175,48 +213,39 @@ void mario_move() if (c->type==COIN && c->taken==0) {score_add_coin();c->taken=1;} - // box - if ((mario.p.x+mario.p.w/2)/8==(mario.p.x+mario.p.w/2-1)/8) - { - gift_t* c=(gift_t*)world_get((mario.p.x+mario.p.w/2),mario.p.y+mario.p.h); - if (c->type==GIFT) - { - if (c->time_hit_id==0 && c->content==1 && c->number!=0) // piece - { - c->number--; - c->time_hit_id=1; - score_add_coin(); - } - } - } + //if ((mario.p.x+mario.p.w/2)/8==(mario.p.x+mario.p.w/2-1)/8) + //{ + gift_t* t=(gift_t*)world_get((mario.p.x+mario.p.w/2),mario.p.y+mario.p.h); - if ((mario.p.x+mario.p.w/2)/8==(mario.p.x+mario.p.w/2-1)/8) - { - world_t* t=(gift_t*)world_get((mario.p.x+mario.p.w/2),mario.p.y+mario.p.h); - if (t->type==GIFT) - { - gift_t *c=(gift_t*)t; - if (c->time_hit_id==0 && c->content==1 && c->number!=0) // piece - { - c->number--; - c->time_hit_id=1; - score_add_coin(); - } - } - if (t->type==BRICK) + if (t->type==GIFT || t->type==BRICK) { brick_t *c=(brick_t*)t; - if ((c->content==0 || c->number) && mario.size==M_SMALL) // piece + + if (c->content==1 && c->number) { - if (c->number) - { - c->number--; - score_add_coin(); - } + c->number--; + score_add_coin(); + score_add(200); c->time_hit_id=1; } + if (c->content==2 && c->number) + { + c->number--; + bonus_set(BONUS_CHAMPI,((mario.p.x+mario.p.w/2)/8)*8,mario.p.y+mario.p.h+8); + c->time_hit_id=1; + } + if (c->content==0 && mario.size==M_BIG && c->type==BRICK) + { + c->type=0; + mario.p.vy=0; + } + else if (c->type==BRICK) + c->time_hit_id=1; + + c->hidden=0; } - } + + //} } diff --git a/src/mario.h b/src/mario.h index ddd3cc7..5e70838 100755 --- a/src/mario.h +++ b/src/mario.h @@ -34,9 +34,16 @@ void mario_jump(); void mario_move(); +void mario_bigger(); + +void mario_smaller(); + extern int global_quit; extern int numero_frame; extern int mario_x_max; extern int mario_dead; extern int id_frame; +extern int mario_immunity; +extern int mario_has_bullets; +extern int last_vx_sign; #endif \ No newline at end of file diff --git a/src/score.c b/src/score.c index b51b3ac..1a2ba15 100644 --- a/src/score.c +++ b/src/score.c @@ -7,7 +7,7 @@ #include int score=0; -int lifes=5; +int lifes=3; int combo=0; int combo_id=-10; @@ -22,7 +22,7 @@ int end_level=-1; void new_game() { - lifes=5; + lifes=3; pieces=0; score=0; combo=0; @@ -40,7 +40,6 @@ void new_level() void score_add_coin() { pieces++; - score_add(10); } void score_add(int i) diff --git a/src/tile.c b/src/tile.c index c6f70cc..287a97f 100755 --- a/src/tile.c +++ b/src/tile.c @@ -18,6 +18,25 @@ tileset_t gift={&img_gift, 8, 8, 1}; extern image_t img_coin; tileset_t coin={&img_coin, 8, 8, 1}; +extern image_t img_nuage; +tileset_t nuage={&img_nuage, 8, 8, 0}; +extern image_t img_buisson; +tileset_t buisson={&img_buisson, 8, 8, 0}; +extern image_t img_colline; +tileset_t colline={&img_colline, 8, 8, 0}; + +extern image_t img_bloc; +tileset_t bloc={&img_bloc, 8, 8, 0}; + +extern image_t img_champi; +tileset_t champi={&img_champi, 8, 8, 0}; + +extern image_t img_fleur; +tileset_t fleur={&img_fleur, 8, 8, 0}; + +extern image_t img_bullet; +tileset_t bullet={&img_bullet, 4, 4, 1}; + void draw_tile(int sx, int sy, tileset_t const * const set, int x, int y) { dsubimage(sx, 64-sy-set->height, diff --git a/src/tile.h b/src/tile.h index 9904945..11d5b0d 100755 --- a/src/tile.h +++ b/src/tile.h @@ -16,6 +16,16 @@ extern tileset_t brick; extern tileset_t earth; extern tileset_t gift; extern tileset_t coin; +extern tileset_t bloc; + +extern tileset_t nuage; +extern tileset_t buisson; +extern tileset_t colline; + +extern tileset_t champi; +extern tileset_t fleur; + +extern tileset_t bullet; void draw_tile(int sx, int sy, tileset_t const * const set, int x, int y); diff --git a/src/world.c b/src/world.c index 9a47a4e..fd795b6 100755 --- a/src/world.c +++ b/src/world.c @@ -3,7 +3,7 @@ #include "mario.h" #include "ennemi.h" #include - +#include "bonus.h" world_t * w_current=0; image_t * w_fond=0; int w_current_x=0; @@ -30,69 +30,91 @@ world_t* world_get(int x, int y) } } -void display_cell(int cx, int cy, int sx, int sy) +void display_cell(int cx, int cy, int sx, int sy, int plan) { const world_t * cell=world_get(cx,cy); if (cell==0) - { - extern image_t img_death; - //dimage(sx, sy, &img_death); return; - } - - if (cell->type==TUYAU) + if (plan==1) { - tuyau_t* i=(tuyau_t*)cell; - draw_tile(sx, sy, &tuyau, i->x, i->y); - } - - if (cell->type==EARTH) - { - earth_t* i=(earth_t*)cell; - draw_tile(sx, sy, &earth, i->x, i->y); - } - if (cell->type==BRICK) - { - brick_t* i=(brick_t*)cell; - if (i->time_hit_id) + if (cell->type==TUYAU) { - i->time_hit_id++; - sy+=2+(i->time_hit_id-4)/4; - if (i->time_hit_id==8) - i->time_hit_id=0; + tuyau_t* i=(tuyau_t*)cell; + draw_tile(sx, sy, &tuyau, i->x, i->y); } - if (i->time_hit_id || i->content==0 || i->number) - draw_tile(sx, sy, &brick, 0, 0); - else - draw_tile(sx, sy, &gift, 1, 0); - if (i->content==1 && i->time_hit_id && i->time_hit_id<=4) - draw_tile(sx, sy+8, &coin, 0, 0); - } - if (cell->type==GIFT) - { - gift_t* i=(gift_t*)cell; - if (i->time_hit_id) + if (cell->type==EARTH) { - i->time_hit_id++; - sy+=2+(i->time_hit_id-4)/4; - if (i->time_hit_id==8) - i->time_hit_id=0; + earth_t* i=(earth_t*)cell; + draw_tile(sx, sy, &earth, i->x, i->y); } - if (i->time_hit_id || i->number) - draw_tile(sx, sy, &gift, 0, 0); - else - draw_tile(sx, sy, &gift, 1, 0); - if (i->content==1 && i->time_hit_id && i->time_hit_id<=4) - draw_tile(sx, sy+8, &coin, 0, 0); - } - if (cell->type==COIN) - { - coin_t* i=cell; - draw_tile(sx, sy, &coin, i->taken, 0); + if (cell->type==BLOC) + { + draw_tile(sx, sy, &bloc, 0, 0); + } + + if (cell->type==BRICK) + { + brick_t* i=(brick_t*)cell; + if (i->time_hit_id) + { + i->time_hit_id++; + sy+=2+(i->time_hit_id-4)/4; + if (i->time_hit_id==8) + i->time_hit_id=0; + } + if (i->hidden==0) + { + if (i->time_hit_id || i->content==0 || i->number) + draw_tile(sx, sy, &brick, 0, 0); + else + draw_tile(sx, sy, &gift, 1, 0); + if (i->content==1 && i->time_hit_id && i->time_hit_id<=4) + draw_tile(sx, sy+8, &coin, 0, 0); + } + } + + if (cell->type==GIFT) + { + gift_t* i=(gift_t*)cell; + if (i->time_hit_id) + { + i->time_hit_id++; + sy+=2+(i->time_hit_id-4)/4; + if (i->time_hit_id==8) + i->time_hit_id=0; + } + if (i->hidden==0) + { + if (i->time_hit_id || i->number) + draw_tile(sx, sy, &gift, 0, 0); + else + draw_tile(sx, sy, &gift, 1, 0); + if (i->content==1 && i->time_hit_id && i->time_hit_id<=4) + draw_tile(sx, sy+8, &coin, 0, 0); + } + } + } + else + { + if (cell->type==COIN) + { + coin_t* i=cell; + draw_tile(sx, sy, &coin, i->taken, 0); + } + + if (cell->type==BUISSON || cell->type==NUAGE || cell->type==COLLINE) + { + deco_t* i=(deco_t*)cell; + if (i->type==BUISSON) + draw_tile(sx, sy, &buisson, i->x, i->y); + if (i->type==NUAGE) + draw_tile(sx, sy, &nuage, i->x, i->y); + if (i->type==COLLINE) + draw_tile(sx, sy, &colline, i->x, i->y); + } } - } int world_get_ctg(int x, int y) @@ -104,11 +126,6 @@ int world_get_ctg(int x, int y) } switch (c->type) { - case COIN: - case EMPTY: - return CTG_EMPTY; - //case DEATH: - return CTG_DEATH; case TUYAU: case GIFT: case BRICK: @@ -129,32 +146,48 @@ static int min(const int x, const int y) return (x>y?y:x); } -int world_get_real_x0(int x) //mario delta en 0,0 -{return min(max(mario_x_max-54,0),w_current_x*8-128);} +int world_get_real_x0() //mario delta en 0,0 +{ //if (mario.p.x>mario_x_max || mario.p.x