From 640e71f9144c8b342f465ea3ddb60c1729808dd9 Mon Sep 17 00:00:00 2001 From: milangames-art Date: Mon, 25 Nov 2019 19:12:25 +0100 Subject: [PATCH] add sprint, die, spawn and transparency --- SuperCbr.g1a | Bin 25392 -> 25684 bytes assets-fx/img/coin.png | Bin 585 -> 2355 bytes build-fx/SuperCbr.bin | Bin 24880 -> 25172 bytes build-fx/SuperCbr.elf | Bin 36652 -> 37096 bytes build-fx/assets/img/coin.png.o | Bin 448 -> 484 bytes build-fx/map | 766 ++++++++++++++++----------------- build-fx/src/box.c.o | Bin 1172 -> 1156 bytes build-fx/src/level.c.d | 7 +- build-fx/src/level.c.o | Bin 1296 -> 1400 bytes build-fx/src/main.c.o | Bin 1780 -> 1800 bytes build-fx/src/mario.c.o | Bin 1588 -> 1908 bytes build-fx/src/world.c.d | 7 +- build-fx/src/world.c.o | Bin 1752 -> 1988 bytes src/box.c | 6 +- src/level.c | 8 + src/main.c | 11 +- src/mario.c | 47 +- src/mario.h | 2 + src/world.c | 24 +- src/world.h | 5 + 20 files changed, 480 insertions(+), 403 deletions(-) diff --git a/SuperCbr.g1a b/SuperCbr.g1a index aace4aee237ae19160781eadd4e1c239b431b286..9203c0c22c4432df02a4d65d2b98565575bebd7b 100644 GIT binary patch delta 2782 zcmZuzZ%|WL7Qgo;K=4IKLIOz|L-NEB0-760pdex*SSe-~5%3Q<-GHe@u{-h4PNQWE zAUd!bBR=Z7EgzWC={ib>w$It+L$~9&PKW9EAwkyKmhRRRggVyRk!777-R!vpL}vD7 zemVD^d+t5w{LXo~`S=SwHiA`G2LC#Aw)_2{H1;!m_Wd^&`{3%6UX?Y`vBp+Riax2j zj2Um8FoT}bY8q!O7##!rY% ziR&v7X_N`F1O;X!QXwnxKjN(sX(%mLR9k_Td(%MB#NQ2#whaDya(EWVB{W0d`TAIk;C%d0szTUTL_1TA|--#Jl| zRNE@5?Mg1f+O-)y`TXI5oJXj>BbwxRXxmuZ!Ll4XfZ>Rm?x=nL#+|lP%c_p%-ezPj1t?#Hg?$G@%=ID2`C>b23 zHC?RfI1)?#3x7tNf%NrV2%XbyD@m|sMela~#^-eYCWcSuWxaw9>wdw8I{j;sJ z`)2pfBDQ6=zQfz;7=}~_yYVUX5Ff=g$8CQKKC$GD^!zw9t$y!2(E~K}uZIXFFF1%W z9)(kaSRzHqv<7_X^4jEuN+|gY%P(qnfUOT|wgo@{PJjU* z269b`DIAnUV@7q+(YM~o_nl&zn-5|W=V>0*bIBXzLGg&_U~KXk*BCg6L#&BQ%Gln= zXtVtxJSCoD^4|$!Td7*5=hgT zttYML<82l(RdZt|sLa#ws(bj(s!5b7cd`@cO;LDd(~|?@uU6hiRt42WjNbr-6X;vx zI9CO-H?B#)630S^9xX%5z%IL0O^6`h~{ezHH&EK~KTX|gm?-Y37K%>c71Xbtr>Fah2uADaQnEZ(E|TtSx=ltwr)Zo-qa z^pwJD5$wu^P#_qvtV^p}wsWEz%^*Zdo&4prJt+&*b#-$popKM8P53V58!0+_JYdyB z8nEzKsmF}gEy&VW;^kf_*7{fs#UwIu1@FvgU^2vfe+Eaz^^84?`WkOmmr&tV-)A&C zc(viA+SaZM^f9qJ#lzA+)_x zg14!F&jh$08V2GyaKLQ?WZs|zm;u0H<1Ucb0dRdZ+yzVkp3?LY**OE_(*Q33>e1i_ z4D-?z|45*>%SQg^6#+$s2ksy^prRd|3?t%j^6mQc#4;dTZ|D2<+W62Xe5U_B12+p_ zY23y*%))^23X@Yd0-J!i3K}7aUuGNOz!`|D>@c`+0&~FrM&VFa0ZuG_6_NE`esI+k ze#ZBij#BPr*;Oefa7LRY8-fMyTe9C`;OFu!GStu61@jGpRW9QR@kIL-q&h3PeC z7WTuL;41ER&gE%xBi-QyGl;s;`EoRZ*Y+A_3K@Pd|3-TL4oWcHK~IRAC0*jX3JO&7 zNznvpqV)WN0sdA2$JqV+;{rVuGCQZW`>VOIIPlDR(8<2_Bp|Lf(O-5%?0&&*w}7WS z-tQ=*V%RYXLO5M`Mg;x^T?vO%)(rxy&^BfW`BT6Z!Q-^NJm>p1ye)#Vo-6lAXnE&HT?JKM*r4Gl=9~2ZN;#)e-CXQYFmDY9AuD q_7{3$xj8qc`h{o7xUmh2*tW1lCHxvzEY5pB$P^KsPcSsg@c#fPqu;Fn delta 2620 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 B%DMmm delta 2582 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 delta 97 zcmaFDe1Lg^k~+f=1`sd-lNt=H3@i+c3Y;Jw2M~+E@We#@iF2d{H9!&q3=E7wN)m`Q fCZ3qgs4+Q)QJFDjas#6}^xH0%)u?3=8RI-;+;m5OBQIp zV+d`0#BTb=Fx+aDmZnwA^S@p-RtCK?o}&HCDNVsmCN?GieYs7}bTIY{B`;2Fs{YSC zok_}2M?>f#gM`RMEl2KBbIxG|NfA^N*4%7M% znaqFhGeCiUTZXg#w3J}|W%}Fnk6jSbzvi#xz?~Tkbgo1;v%gyIx14X;-?F}Ceq-Ry z_!ioj(qy^==+!kHjNJ@x7^@fqn+=!ueiqO<(fM-y3yGQ^l)N~x zsqR1DbS5c79Sxy}3=$$2wH>)bS`|3@{c@QDTZ7sbXd7zOGKM$X)))6*e8^D8xc->+ zoWv$WoAs|Wgi@MJ-q^T$B!QL* zCoT?bto+Y;9b}n=AkZ>Vf3>`Cx!-cWWq-^1midi=JLB8>XQngi7=xPZl>09{Vy|Qj zYUNdDl(H1>W)=)=G}KwYO+s)Y>pO<^@7^%no*c_4E2e+#g0TKGeS&@P@I9F|gTidG9Bk6P?f3Ka-exm-!XL8;12?-u<0?h;b&P-sBi2 zX;udY28N8uHB9EJ77Pq*j6fa`FxoIMaKP9Lki?fvzQNSYxMFe)vohm>$qmfvjCUqq iU>2XepIHFR0`Y$UML$edU{PnBFxdl0ewbXqA_4%*PoA#; diff --git a/build-fx/src/level.c.d b/build-fx/src/level.c.d index 83e2056..8aeff2d 100644 --- a/build-fx/src/level.c.d +++ b/build-fx/src/level.c.d @@ -1,5 +1,10 @@ -build-fx/src/level.c.o: src/level.c src/level.h src/world.h +build-fx/src/level.c.o: src/level.c src/level.h src/world.h src/mario.h \ + src/box.h src/level.h: src/world.h: + +src/mario.h: + +src/box.h: diff --git a/build-fx/src/level.c.o b/build-fx/src/level.c.o index ef3d7b29c4efb56af9a92b830783a12733f176a1..d869f01aff134bf00cb7ce0a91b7c60486d51bec 100644 GIT binary patch delta 462 zcmbQh^@D4Ik{gQv0|Nsyg9(siV9;RTWZ+QoxX9Bl{D|Qa_hlX>qf0y>@-fdP5Xo_g z8z{o9 zLHLXff*{)&81&KP&C&RdXna33el&zX`4p2hYi?puX8z>IOpf*OU}k&;kgfnJ0Q!<0 zzL&=4pIGQt3e qfq;o)atn((s|=9&Ve$qRB{pUrATtA`=QWFf=oKKx3W#9VNBcsG*eJ0Myk}TpISKMcev=CxoUj zXnglc%!-pWnC+c`;tC85>>xWpK!t&U1I7lL$q8fYFfeez*g&(nVQiq^cqX4`ZeX;S z9KfQ?3e?WvF}Z?8nK5Vb92PYu#y67{n8YXFX5j}h->|5&f-Jc(S%OuGjp+iA88X>{ QRarC#$b!2N$OfAZ0I#4ZwEzGB diff --git a/build-fx/src/main.c.o b/build-fx/src/main.c.o index 70c8d202934927088bc96d1229adfdc609847bb4..bb4cef1d013ab25e66fe0315c503f41a1095b0a7 100644 GIT binary patch delta 478 zcmXxgPbh<790&04^S-Y!Z~knUO=`B+hSP4&TMi^Oid@v&tG(HHHS_o2usCtUlXBca zk`y6H4i1uovNy{Z2Wqq<(VL@p)AJmDzfa%i*YBz4r)s5oO(Om4t%J$HPT(|ft^32? zj6WnMf78A<^5A=i+ZGh_Q2Df^d?$pg^nrlAnCPCIH)Qr_&x^O$?9rq4mDNhUrI;lv z!hX$|Fvg9T0WoR}e0iL!je3)NDI~(GyPjOdDcv<>i`aE%Df5(?vSAM9it7%t9m|`1 zpP1(l?xRP10oG%IbP-aZJ=`$aqA4y+?&v4C=a^AvWlfz|HOOOHd{oio#9VBa9`e3A zIie~N$dk%+EDm`gKCMM)f$vUk12qKyXBVho-Un)#PXHV98BorA0oa)@fjZ_Zpq}{# zXkfkttjuY^VY;*Qat3H*7mt9G`2}z>zXDCnd72l_IYFSQvPJV7nk^Cu(x9b{jL@iA Tr|6nlTj-g^&y|6`TI&A*=KOZM delta 474 zcmeC+`@%axnbBsVN=W@hC4Z$WN{-z1KQ1UeWW1*IltEt5f%^$VD)R+}#LtB+*X5rv z=nH{FF3R1Ia|F{j!E|DiqC_YAMH!G-J%_(q<~IiJjBi07l{7j<Li;4Ne wa6QRKX|;~_de$FrV~85utl&i z*uG+~C*SmDlkb1cE|9zkV}+f2RGC)fw_G=6r*q=5e{tK`DJ~x-vJ(f1nJLR(Xw1i( zp?tgmx)@&ehJ2N90lMK5B|8@sBUQ!xty(O*G_(IJ0J<^i5eRZ9HsrV>xl|?i^>KBao$T z*be5{nZ1y)QH*A?o1l=w>wLt*ebf^bvY=K@L0meepLmIX1;8OtJKZV`)gS8+lFF$nnoF6cD>BVCC zDQHHuu9?-e1qeB-n9v8d(c>0C#N#~xzsGHWsK*}x z0v>k&Vjk}UNFILyi2rA}1~Be&V)?nbq8mU>eiePC1D^PJ=ffQu6fUC^ni5nj?9vB< l>cc5EmuN#E7^i64ncQZ#Zc$qxKF($sq9YaxdvwAl{RL*ti>v?u delta 298 zcmeyuw}oed5);dki7Ho2F7oKN`71ecGjLwy4iX9$R&&@AOoxGhzfAVt{cSnXF3=I5?Q1yR+CPLXDN)X0oVPIf~ zu{jtRgrIB&9R>!G$@5uT76o=wWLi?au z?oR_ppu&F|II)eN2cChh^7tv>wzx$g1@G{R0#`glz}umPt#thnI^Ux6<^{+n|V|JTiRwY|aGyftGUE|Ad% z#&of2)XHYH1cOnyVOhnws$rACHiA3ZRKk=u#EV-5)W!61GNrpvda6ni0Siad#Fnye}Bl}z?W zPVPe^!f+i4adZTyTO{T2fXOZ>Ng1O^Z-*)qVV;qTb delta 680 zcmZ9JJ4nM&6oyaQG-+(L52_VJ(I{91o5exFq0)jlDe6$6NPXb@QB-_P6$_%&LAWRg z-2~~VAWmI`BCbUc!Nr1#f-d4H=pW6+k_#vI`*QC+=iDUkx+~vTy|x4qS*Z5XC!vb<8J9?3__s z;rvA;8LUqZ&Zy_)Y$qz`>_pp~QQgHEKf%ozwWKCPEJ#$z8HuVmBT*Tvkv0W4%Sfsu z?xA{?<)ua;!d|3iPekv!WC*NY_G7JGZnoh9LV}IUs${*!mOR^&Rg0~Soyxu+UjAM> diff --git a/src/box.c b/src/box.c index ece827f..7217673 100755 --- a/src/box.c +++ b/src/box.c @@ -30,7 +30,7 @@ static void move_x(box_t * b) typetemp=world_get_ctg(b->x+b->w-1+i*sgn_vx,b->y+j); else typetemp=world_get_ctg(b->x+i*sgn_vx,b->y+j); - if (typetemp==CTG_DEATH || typetemp==CTG_SOIL) + if (/*typetemp==CTG_DEATH ||*/ typetemp==CTG_SOIL) { b->x+=(i-1)*sgn_vx; b->vx=0; @@ -63,7 +63,7 @@ static void move_y(box_t * b) typetemp=world_get_ctg(b->x+j ,b->y+b->h-1+i); else typetemp=world_get_ctg(b->x+j ,b->y-i); - if (typetemp==CTG_DEATH || typetemp==CTG_SOIL) + if (/*typetemp==CTG_DEATH ||*/ typetemp==CTG_SOIL) { b->y+=(i-1)*sgn_vy; b->vy=0; @@ -95,7 +95,7 @@ int box_jump(box_t * b, int height) for (int j=0; jh; j++) { int typetemp=world_get_ctg(b->x+j ,b->y+sgn_vy); - if (typetemp==CTG_DEATH || typetemp==CTG_SOIL) + if (/*typetemp==CTG_DEATH || */typetemp==CTG_SOIL) sol=1; } if (sol) diff --git a/src/level.c b/src/level.c index 7de54c2..7f8d8be 100644 --- a/src/level.c +++ b/src/level.c @@ -1,5 +1,6 @@ #include "level.h" #include "world.h" +#include "mario.h" #include world_t level_0[]= @@ -20,6 +21,8 @@ world_t level_0[]= extern image_t img_lvl0; #define LVL_0_X 12 #define LVL_0_Y 8 +#define LVL_0_MARIOX 11 +#define LVL_0_MARIOY 16 void set_level(int n) { @@ -29,5 +32,10 @@ void set_level(int n) w_fond=&img_lvl0; w_current_x=LVL_0_X; w_current_y=LVL_0_Y; + mario_x_max=0; + mario.p.x=LVL_0_MARIOX; + mario.p.y=LVL_0_MARIOY; } + mario.p.vx=0; + mario.p.vy=0; } \ No newline at end of file diff --git a/src/main.c b/src/main.c index ae4fc26..e3af4e7 100755 --- a/src/main.c +++ b/src/main.c @@ -35,6 +35,7 @@ int main(void) timer_setup(0, timer_delay(0, 50000), timer_Po_4, callback, &has_ticked); timer_start(0); set_level(0); + int current_level=0; while(global_quit==0) { if (has_ticked) @@ -42,12 +43,18 @@ int main(void) has_ticked=0; mario_move(); dclear(C_WHITE); - + world_draw(mario.p.x,mario.p.y); + //ennemies_draw(); - mario_draw(); + //ingame_draw(); dupdate(); + if (mario_dead) + { + set_level(current_level); + mario_dead=0; + } } else sleep_ms(3,1); diff --git a/src/mario.c b/src/mario.c index cc14c97..0a04dc1 100755 --- a/src/mario.c +++ b/src/mario.c @@ -17,6 +17,9 @@ pnj mario= M_RIGHT1, M_WALK, 0 }; +int mario_x_max=0; +int mario_time_accel=0; +int mario_dead=0; void mario_draw() { @@ -46,6 +49,16 @@ int test_sol_le_plus_proche(int x, int y) return distance; } +static int sgn(int x) +{ + if (x>0) + return 1; + else if (x<0) + return -1; + else + return 0; +} + int global_quit=0; void mario_move() { @@ -53,9 +66,37 @@ void mario_move() int jump = keys[MK_JUMP1] || keys[MK_JUMP2]; if (jump) box_jump(&mario.p, 7); - - mario.p.vx = 2*(keys[MK_RIGHT] - keys[MK_LEFT]); - + int vx=keys[MK_RIGHT] - keys[MK_LEFT]; + if (vx) + { + if (sgn(vx)==sgn(mario.p.vx) || vx==0) + mario_time_accel++; + mario_time_accel%=4; + if (mario_time_accel==0) + { + if (keys[MK_RUN]) + { + if(mario.p.vx*sgn(mario.p.vx)<=4) + mario.p.vx+=vx; + } + else + { + if(mario.p.vx*sgn(mario.p.vx)<=2) + mario.p.vx+=vx; + } + } + 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; } diff --git a/src/mario.h b/src/mario.h index 9323def..c9eb8e9 100755 --- a/src/mario.h +++ b/src/mario.h @@ -36,4 +36,6 @@ void mario_move(); extern int global_quit; extern int numero_frame; +extern int mario_x_max; +extern int mario_dead; #endif \ No newline at end of file diff --git a/src/world.c b/src/world.c index ce9a2d3..6f0dfa1 100755 --- a/src/world.c +++ b/src/world.c @@ -1,11 +1,19 @@ #include "world.h" #include "tile.h" +#include "mario.h" #include -world_t * w_current; -image_t * w_fond; -int w_current_x; -int w_current_y; +world_t * w_current=0; +image_t * w_fond=0; +int w_current_x=0; +int w_current_y=0; +int w_mario_startx=0; +int w_mario_starty=0; + +int world_get_width() +{ + return w_current_x*8; +} world_t* world_get(int x, int y) { @@ -22,8 +30,6 @@ world_t* world_get(int x, int y) void display_cell(int cx, int cy, int sx, int sy) { - - const world_t * cell=world_get(cx,cy); if (cell==0) { @@ -79,10 +85,10 @@ static int max(const int x, const int y) } int world_get_real_x0(int x) //mario delta en 0,0 -{return max(x-63,0);} +{return max(mario_x_max-54,0);} int world_get_real_y0(int y) //mario delta en 0,0 -{return max(y-31,0);} +{return max(y-24,0);} @@ -93,7 +99,7 @@ void world_draw(int x, int y) int my0=world_get_real_y0(y); int sx0=mx0%8; int sy0=my0%8; - + mario_draw(); //int mx, my; int mx=mx0; diff --git a/src/world.h b/src/world.h index b463c19..8ad94bb 100755 --- a/src/world.h +++ b/src/world.h @@ -26,6 +26,8 @@ typedef struct char p3; } world_t; +int world_get_width(); + world_t* world_get(int x, int y); void display_cell(int cx, int cy, int sx, int sy); @@ -37,6 +39,7 @@ void world_draw(int x, int y); int world_get_real_x0(int x); int world_get_real_y0(int y); +void world_reset(); #define CTG_SOIL 1 #define CTG_EMPTY 2 @@ -47,5 +50,7 @@ extern world_t * w_current; extern image_t * w_fond; extern int w_current_x; extern int w_current_y; +extern int w_mario_startx; +extern int w_mario_starty; #endif \ No newline at end of file