From 10eb356b1dabff2e1265a2a4b34258b068a6df9f Mon Sep 17 00:00:00 2001 From: KikooDX Date: Wed, 12 Feb 2020 10:47:12 +0100 Subject: [PATCH] Basic jump system with buffer --- assets-cg/img/player.png | Bin 171 -> 132 bytes build-cg/assets/img/player.png.o | Bin 1576 -> 712 bytes build-cg/map | 539 +++++++++++++++++++------------ build-cg/platform.bin | Bin 19764 -> 21280 bytes build-cg/platform.elf | Bin 29784 -> 32368 bytes build-cg/src/collide.c.o | Bin 788 -> 788 bytes build-cg/src/draw.c.o | Bin 1040 -> 1040 bytes build-cg/src/levels.c.o | Bin 1132 -> 1172 bytes build-cg/src/main.c.o | Bin 1368 -> 1748 bytes levels.lua | 29 +- platform.g3a | Bin 48440 -> 49956 bytes src/collide.c | 4 +- src/draw.c | 23 +- src/levels.c | 2 +- src/main.c | 54 +++- transfer.sh | 2 + 16 files changed, 404 insertions(+), 249 deletions(-) diff --git a/assets-cg/img/player.png b/assets-cg/img/player.png index dd8ed35412c896ad52e9e06ac20d6ee600f1d96a..e970f48922ab152810853116abd42ad1e1e33785 100644 GIT binary patch literal 132 zcmeAS@N?(olHy`uVBq!ia0vp^JRr=$1|-8uW1a&k#^NA%Cx&(BWL^R}cAhSdAsQ2t z|NQ@Ww4P0fL0Gd(QbIx^;sPsQ{I32(+ph*MIm6~QL;ixV8@s`5k8O?Lq$DmrZY*2q dqN8w=je)yVqFA4+^bXJ@22WQ%mvv4FO#t+^C*lAA literal 171 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 NmRc@nBlEZ1`Vag+b?pEE diff --git a/build-cg/platform.elf b/build-cg/platform.elf index 4108693a11be233d7e4fb493b8deb7ee10ca8190..f4970579bf742fcca8b1a50b328e7f97b84b36ad 100755 GIT binary patch delta 9642 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 delta 6532 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 E0d&`Z%K!iX diff --git a/build-cg/src/collide.c.o b/build-cg/src/collide.c.o index 0796c81bb756a7d3b5f37c1014ded5e82b1ab7b2..d94ce0bae47df689ffcecef1777ea4698073a10a 100644 GIT binary patch delta 103 zcmbQjHid0MsI3&^_LJ-eJ`QtonQe0zq|)m+q!{lQ7W6tlVoVAyVzp9#%x);9Xlbb9 zIEQijBSr>@tO>JJl5-L3#7U~sOjhcqQK~0RbzJALZfB5Um14SMRM0E@h_Qre<0U61 E07@Mm`2YX_ delta 103 zcmbQjHid0MsI4U9_LJ-eJ`QtonQe0zq|)m+q!{lQ7W6tlVoVAy;@tO>JJl5-LF#7U~stXAr#QK~0RbzJALZfB5Um14SMRM0E@h_Qrq<0U61 E08EV^3IG5A diff --git a/build-cg/src/draw.c.o b/build-cg/src/draw.c.o index e19f2b88bf1491afeb4260629319b5daa70d8ee8..038ebd3364d9e8c61836952ed00bbe28ed4689bf 100644 GIT binary patch delta 103 zcmbQhF@a-(ySn&827RH@KNopTV@!O~gVUVLxgEJnzFPF8PQJzo6z5E7HjOFyI2#POk+R_*FQ=8RK%#Ql(e{rY5hGNCB__v3k*O||NsA=#R81X E0N}GH4gdfE delta 120 zcmbQhF@a-(yRF1S27RHD{}*{n|C{)j#-ur?2bYOEa+iyzPEKjQ#!>qJB1g%8(-;$< zdKQ1R%x{j`8Q&l*2JVb+6I&8=u5g;J(HAnAbB)6^#*y2^XZ@4JPen}HN=b{0Sk~Xu VQDTf^IKcn}_5c6>Uo61L3;^8WEsy{J diff --git a/build-cg/src/levels.c.o b/build-cg/src/levels.c.o index 482a1d0636493a67e57dc9d0cb471eaca6c882f1..9bfacc9622c1630a3aa39e9a4214f562143cf95b 100644 GIT binary patch delta 154 zcmaFEF@oJ56X3vc#d# zbz9b(iVB5ks5k9l57X3_j!BcIJ@lbZlO|17c!51^6O~Z8JQZ?zW&eqN($o*F_RGiq zzVE-B|M(pHtK)$ajE#YcG0=&)N~k%Ayb1i}h<0FMf388iDc+6t4<250OKfC>cg{2_ z3$31c`*Wtl_1xa>QnIa{Ip(vycGqBAv;=IVv{dW>_!{a+m4T+Uz1y(HV68gw<{F51 z*FpSo6U1M)YsKHi74gO3;cp)Qd$!l}_t|)!b8t0ZII}C+)m%tow_rK64qCpC&3Kka z!g(z}c_8Cbk?Wpwg^}Xt4A;FJRDb!j_(`FU4ejOv63&tfj17CJ*6mzDq(Z#if^L}rr7+@zoymQ`udS|%c^Ku75#f`2r zg>XK@n4W0)WTWWM2N+qHd7oA_oonM$2mqsp9pxVQ;R|7?M8cIhSOW~ShVu@~iCeZ%c3Z#aAZ zctGqSVNYF#1}FRbkMZp%gP{)osL(BRnX=_kIZF=M+o|^1Upr?2$nkn*NF1+N*;!-Z z`;a?LO=>pkwa^%|O>%zAX7VEzE?W38gELRC9+^+F_)l5*u!Wzu@Q8(HEc{CgpFu9+ zs4uT4u0#{U7|7$9cv9B2v<~t`ZCahUlmJs)$j)dg`-nyI2{F8cxQPX$@o4Oj1>JOiE%l#wKvq^o4}c=tua< z%{^tVRN*YZJ5;|8&_MAmfJTaE0bCR>;BSTEMSy0C?*p_@{2f3Y#XkV-r}$@peH8x& zz#3RcPsep-6oj;%GM*8NQd&$AbZtrp0avDgFq%$-P*E{MN$Hs+2xAlRI9c!iGakc9 z54C0*`CA4|Odj+czi(oRh$wgAtsVzC!z7=?5#DBU`aNWkSDU$Z@S;d^-xk+{G1dKL zkv>6<8tu=A0>P5uaNu48?o)XV@-5K*1`v~aq<=IUiNoVsG2)}cR#Cw=gffouzlVIg jq@K&4Js>_Y;PT>Q5L_KRa@l@?2C)`<(i@jH8q#1;{U{=ZXFp^QoHgqGIad@J}h59l66k zUXZ_~;K0qmc|kt{1z1&&^(%)ZR#O2!Kk&kaI8rhN|m zRL0}LZ8ArJqn|18qv0HR!HYtvpHn`UG6St(^5T9{0@QQ%0mF25`x<|>oNw9Rvc5sQ zz`~fr&^lR>Rdup0Qy-(rF) zgn@wv#y-KozzbuaVPN2cu`eK*bA^F{A0~bS=rtJo4g&)_kUjYn%S2$X#IPzcG2NKl zz^cxeG5G?k_~iYp0$`RpYX;Ck4<`R%Rbpd$0%Yb)R$)_OV)U5o!KTK>7{kE8C@{H% V4Jerdl+2zy2PnxLF!=zR2mmaakMIBh diff --git a/levels.lua b/levels.lua index 94088ae..5e2e134 100644 --- a/levels.lua +++ b/levels.lua @@ -1,18 +1,19 @@ levels = {[[ -......................... -.00000000000000000000000. -.0.....................0. -.0.....................0. -.0.....................0. -.0.....................0. -.0.....................0. -.0.....................0. -.0.....................0. -.0.....................0. -.0s....................0. -.0.....................0. -.00000000000000000000000. -......................... +.......................... +.000000000000000000000000. +.0......................0. +.0......................0. +.0......................0. +.0......................0. +.0.........00...........0. +.0.........00...........0. +.0......................0. +.0...............0......0. +.0......................0. +.0.........00...........0. +.0.s.......00...........0. +.000000000000000000000000. +.......................... ]] } diff --git a/platform.g3a b/platform.g3a index 6b886b2aacc23d1702bee7b4b24464728b759321..ef042d804705ab7bef478342900e6789d31af98b 100644 GIT binary patch delta 4480 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 Y>Q_IIDfyLc_!^Shf8{@U@K2Th1sBE4d;kCd delta 2399 zcmds3|4&m_6hHU1g;yR*Wu+8ETB>8XqP<8_WX6?mn-&)8VA3ctxD~9^WXb@Yk`xt@ zX+h>?&KX$HvCS-Om_3;Mz?P0J(;r;YX3V)|G3aVswq+4Y2yw>lygopGF#Z91FQ0er z`Eu{M=gYlqU#nvH9=Gb#{;vi)+s?NC7=D0n>w|E(;Bp*1@>G7hhLDH+OIG&zLLFO7 z5)|-N?mN}NsH~M))~sxC6WO(ZRg-9OWZ{8VJ*5@ACe4AyC4rW{L&t>o`NT=xit^B#C{{xP%C7B=Y^W@oAzu zwJ(XNSn|G&8}&EA5?>zQu$B%4w@=n_X49)5)+q;W zWSYn}xFQ*Q!r?H`buLEtCwjI4RlB5U{eq>{U1&MowW!Qw6Lyvx`L|=XH>c@ODsGYt z%}vE}jkE>H@xZ+dfI~oaeoN~(SWa6$wtQ*%zRdJa`Sbeb$>xxO7&w21O$b8ZnIP1J z@`Z-jKzePcCe+9`C|$_c$8MddnmkAXX`Y&ID<@rIzOZ@1Z}`<{6F}`ZY@M(PRg+yS z?8q7UV542gJ?=hc!=gZZO~@5$ zP@oIWE(Ggw&JW}8Ui9-#W$C-8cTK-OEr&pM!%&t;VZUA&slY?y-3j!YJ3y1USFq zCxy-IiU+mC&+46GZc~iHgRZGc3m{dZNFV87T9^W~un2)AEj)wrb+|=Dkqxl{QHrQQ zxDjYm)QrH+Eb=0{5myoSA3(DayOBp=WW_kY*oCrcq3f;wz1r#+e`4vSOPnTSa z1S*G-Vq@cnZg8m;%y(EPk?V(VEyzSyD>Mijf?YmxnOhWOoh{EI5l31$!Y!_6zN70G z(iEUc_klizotpf&7~6V^a0y1%d(0$}?~c`SIzP*7%R?f%+qQ6~I0q&d8+a`iM2kVL zy^9nRvi2e-T#wYxg2(?+t!x5nWj~*|!!5QkpSMo(XKjB$m7NJRTlBO?6E5X9*4FVg zx1@`0I60ZLqzl*aBgO`?;%Fop?nbck&Rx>!_H`Bz)#?kltQdXDK;mQ4ff|0p6i|c} zXquMgvOgb+t&&O-i`K5QL?@XWduON2>zLzAqWJH-Yq(TNH^1b(9;h7~#O@RwXFBHA zklo3yBW|bOAJs``+K$_`J0IPVc=hZHgo{aM+V0Vq<=5q-j~gBDewi~HnYG8nnP-@@ zCsiW*drZmZnKF}K>A7#Ivk5yw(%l1iCV`q~L|@Npg;bN7UK3f#7N2`9atqpo%2~d(Z*`Xor ztc8-fhjh#{lq{Yd5;#HniPYnZ54(6NgP-*kVU)8{EAw4ihS0M6mv}~pd8QxMusy>{ z);k>g7#Tk=(+ulp?Uesx*~56BoR`emJZk0=`S?p*Y7rTya82v?o|C#;+{fFRm diff --git a/src/collide.c b/src/collide.c index c46ca11..aa5eedb 100644 --- a/src/collide.c +++ b/src/collide.c @@ -1,5 +1,5 @@ -#define PLAYER_SIDES 11 -#define LEVEL_WIDTH 25 +#define PLAYER_SIDES 5 +#define LEVEL_WIDTH 26 char collide(int x, int y, char level[], char tile) { diff --git a/src/draw.c b/src/draw.c index 1c89dff..e047a03 100644 --- a/src/draw.c +++ b/src/draw.c @@ -1,20 +1,21 @@ #include -#define PLAYER_SIDES 11 +#define PLAYER_SIDES 5 #define BG_COLOR 0 -#define LEVEL_WIDTH 25 -#define DRAW_OFFSET -2 +#define LEVEL_WIDTH 26 +#define DRAW_OFFSET_Y -8 +#define DRAW_OFFSET_X -11 -extern image_t img_player; //player texture, 24x24 +extern image_t img_player; //player texture, 12x12 void draw_player(int old_x, int old_y, int x, int y) { if (old_x != x || old_y != y) { - drect(old_x * 2 + DRAW_OFFSET, old_y * 2 + DRAW_OFFSET, - (old_x + PLAYER_SIDES) * 2 + 1 + DRAW_OFFSET, - (old_y + PLAYER_SIDES) * 2 + 1 + DRAW_OFFSET, BG_COLOR); - dimage(x * 2 + DRAW_OFFSET, y * 2 + DRAW_OFFSET, &img_player); + drect(old_x * 2 + DRAW_OFFSET_X, old_y * 2 + DRAW_OFFSET_Y, + (old_x + PLAYER_SIDES) * 2 + 1 + DRAW_OFFSET_X, + (old_y + PLAYER_SIDES) * 2 + 1 + DRAW_OFFSET_Y, BG_COLOR); + dimage(x * 2 + DRAW_OFFSET_X, y * 2 + DRAW_OFFSET_Y, &img_player); } } @@ -29,11 +30,11 @@ void draw_level(char level[], int *player_x, int *player_y) switch (level[i]) { case '0': - dimage(x * 2 + DRAW_OFFSET, y * 2 + DRAW_OFFSET, &img_ground); + dimage(x * 2 + DRAW_OFFSET_X, y * 2 + DRAW_OFFSET_Y, &img_ground); break; case 's': - *player_x = x + 2; - *player_y = y + 4; + *player_x = x + 1; + *player_y = y + 2; break; } x += 8; diff --git a/src/levels.c b/src/levels.c index 1242f61..6878045 100644 --- a/src/levels.c +++ b/src/levels.c @@ -4,7 +4,7 @@ void set_level(unsigned char level_id, char *level) { switch (level_id) { case 0: - memcpy(level, "..........................00000000000000000000000..0.....................0..0.....................0..0.....................0..0.....................0..0.....................0..0.....................0..0.....................0..0.....................0..0s....................0..0.....................0..00000000000000000000000..........................", 350); + memcpy(level, "...........................000000000000000000000000..0......................0..0......................0..0......................0..0......................0..0.........00...........0..0.........00...........0..0......................0..0...............0......0..0......................0..0.........00...........0..0.s.......00...........0..000000000000000000000000...........................", 390); break; } } diff --git a/src/main.c b/src/main.c index 0a703c4..65e83cc 100644 --- a/src/main.c +++ b/src/main.c @@ -4,6 +4,7 @@ #include "levels.h" void jump_test(char *jump_pressed, char *jump_buffer); //test if jump pressed +char sgn(int number); //return the sign of input double int main(void) { @@ -11,14 +12,15 @@ int main(void) unsigned char level_id = 0; char jump_pressed = 0; //avoid holding jump char jump_buffer = 0; //jump buffer, last 3 frames - //double vspd = 0; //player vertical speed + double vspd = 0; //player vertical speed char hspd = 0; //player horizontal speed - //char on_ground = 6; //remember if player is on solid + char on_ground = 6; //remember if player is on solid int player_x = 0; int player_y = 0; int old_x, old_y; - //const double jump_spd = -4; //default jump speed - //const double grav = 0.2; + const double jump_spd = -4; //default jump speed + const double grav = 0.2; + const double min_vspd = -8; dclear(0); //0 -> black set_level(level_id, level); draw_level(level, &player_x, &player_y); @@ -38,10 +40,39 @@ int main(void) { player_x += hspd; } + //ground detection + if (collide(player_x, player_y + 1, level, '0')) on_ground = 6; + else + { + if (vspd > min_vspd) vspd += grav; + if (on_ground) on_ground--; + } //vertical movement jump_test(&jump_pressed, &jump_buffer); - if (jump_buffer) {}//if jump is pressed - if (keydown(KEY_EXIT)) return 0; //exit + //if jump is pressed and on ground + if (jump_buffer && on_ground) { + vspd = jump_spd; + on_ground = 0; + } + //vertical collision + { + int trunc_vspd = vspd; //truncate vspd + if (!collide(player_x, player_y + trunc_vspd, level, '0')) + { + player_y += trunc_vspd; + } + else + { + char sign_vspd = sgn(trunc_vspd); + while (!collide(player_x, player_y + sign_vspd, level, '0')) + { + player_y += sign_vspd; + } + vspd = 0; + } + } + //exit + if (keydown(KEY_EXIT)) return 0; } } @@ -55,5 +86,14 @@ void jump_test(char *jump_pressed, char *jump_buffer) *jump_buffer = 3; } } - else *jump_pressed = 0; + else { + *jump_pressed = 0; + } + if (*jump_buffer) *jump_buffer -= 1; +} + +char sgn(int number) +{ + if (number < 0) return -1; + else return 1; } diff --git a/transfer.sh b/transfer.sh index c02ecfd..d1fc482 100755 --- a/transfer.sh +++ b/transfer.sh @@ -1,2 +1,4 @@ #/bin/#!/usr/bin/env bash +echo cp cp platform.g3a /media/user/disk/ +echo done