From 7488170b9d23017d5a7b2d0f400fbfc0eb4f2fc4 Mon Sep 17 00:00:00 2001 From: KikooDX Date: Wed, 12 Feb 2020 12:30:56 +0100 Subject: [PATCH] Detailed build.sh, improved main.c (thanks Lephe') --- build.sh | 3 +++ platform.g3a | Bin 50052 -> 50052 bytes src/main.c | 24 +++++++++++++----------- 3 files changed, 16 insertions(+), 11 deletions(-) diff --git a/build.sh b/build.sh index e18c47e..2203790 100755 --- a/build.sh +++ b/build.sh @@ -1,4 +1,7 @@ #/bin/#!/usr/bin/env bash +echo "making levels.c" rm src/levels.c lua5.3 levels.lua >> src/levels.c +echo "building for cg" fxsdk build-cg +echo "done" diff --git a/platform.g3a b/platform.g3a index 295ed1c48cfcd19f40a92fc7542938edb2a95abc..ccb2474945a47be2d6d14ba5c5f3b8fae45c41d2 100644 GIT binary patch delta 55 zcmZo^XKra{o}k2}@^GVyG9$B*vBBm*#%$in35@KU_we;(v0ikKKIXXDw^EjoNrGc@ KPL-G^P%QxHaS@3C delta 55 zcmZo^XKra{o}k2}>c3G%nUUGh)NpekV>a*P1V;AFd-!^?STDFoA9L93TPe%PBv!FG Kr%KEds1^XyWf0W> diff --git a/src/main.c b/src/main.c index f6a8825..a8e87b2 100644 --- a/src/main.c +++ b/src/main.c @@ -5,8 +5,13 @@ #include "collide.h" #include "levels.h" +#define WALK_SPD 1 +#define MIN_VSPD -8 +#define JUMP_SPD -4 +#define GRAV 0.2 + void jump_test(char *jump_pressed, char *jump_buffer, unsigned int *jump_hold); //test if jump pressed -char sgn(int number); //return the sign of input double +int sgn(int number); //return the sign of input double int callback(volatile void *arg) { @@ -29,9 +34,6 @@ int main(void) 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 min_vspd = -8; dclear(0); //0 -> black set_level(level_id, level); draw_level(level, &player_x, &player_y); @@ -47,11 +49,11 @@ int main(void) dupdate(); old_x = player_x; old_y = player_y; - pollevent(); + clearevents(); //horizontal movement hspd = 0; - if (keydown(KEY_LEFT)) hspd--; - if (keydown(KEY_RIGHT)) hspd++; + if (keydown(KEY_LEFT)) hspd -= WALK_SPD; + if (keydown(KEY_RIGHT)) hspd += WALK_SPD; if (!collide(player_x + hspd, player_y, level, '0')) { player_x += hspd; @@ -60,14 +62,14 @@ int main(void) if (collide(player_x, player_y + 1, level, '0')) on_ground = 6; else { - if (vspd > min_vspd) vspd += grav; + if (vspd > MIN_VSPD) vspd += GRAV; if (on_ground) on_ground--; } //vertical movement jump_test(&jump_pressed, &jump_buffer, &jump_hold); //if jump is pressed and on ground if (jump_buffer && on_ground) { - vspd = jump_spd; + vspd = JUMP_SPD; on_ground = 0; } //vertical collision @@ -79,7 +81,7 @@ int main(void) } else { - char sign_vspd = sgn(trunc_vspd); + int sign_vspd = sgn(trunc_vspd); while (!collide(player_x, player_y + sign_vspd, level, '0')) { player_y += sign_vspd; @@ -110,7 +112,7 @@ void jump_test(char *jump_pressed, char *jump_buffer, unsigned int *jump_hold) if (*jump_buffer) *jump_buffer -= 1; } -char sgn(int number) +int sgn(int number) { if (number < 0) return -1; else return 1;