diff options
-rw-r--r-- | src/globals.h | 2 | ||||
-rw-r--r-- | src/main.c | 6 | ||||
-rw-r--r-- | src/player.c | 9 | ||||
-rw-r--r-- | src/player.h | 2 |
4 files changed, 10 insertions, 9 deletions
diff --git a/src/globals.h b/src/globals.h index 6fe6348..5250e03 100644 --- a/src/globals.h +++ b/src/globals.h @@ -1,6 +1,6 @@ #ifndef GLOBALS_H #define GLOBALS_H -#define GRAVITY 0.1f +#define GRAVITY 1 #endif @@ -28,9 +28,9 @@ void handleInput(Player *player) player->velocity.y=1.0f; } if (IsKeyDown(KEY_LEFT_CONTROL)) { - player->speed = 0.06f; + player->speed = 8; } else { - player->speed = 0.04f; + player->speed = 6; } } @@ -71,7 +71,7 @@ int main(void) Player player = { .pos = (Vector3){5.0f, 10.0f, 5.0f}, .velocity = (Vector3){0.0f, 0.0f, 0.0f}, - .speed = 0.04f, + .speed = 10, .camera = (Camera3D){ .target = (Vector3){0.0f, 0.0f, 0.0f}, .up = (Vector3){0.0f, 1.0f, 0.0f}, diff --git a/src/player.c b/src/player.c index 20afbe2..38f4866 100644 --- a/src/player.c +++ b/src/player.c @@ -10,12 +10,13 @@ void handleMovement(Player *player) { Vector2 mdelta = GetMouseDelta(); + float delta_time = GetFrameTime(); UpdateCameraPro(&player->camera, (Vector3){ - player->velocity.x * (float)player->speed, - player->velocity.z * (float)player->speed, - player->velocity.y * (float)GRAVITY + player->velocity.x * (float)player->speed * delta_time, + player->velocity.z * (float)player->speed * delta_time, + player->velocity.y * (float)GRAVITY * delta_time }, (Vector3){ mdelta.x*0.08f, @@ -26,7 +27,7 @@ void handleMovement(Player *player) ); player->pos.x = player->camera.position.x; player->pos.z = player->camera.position.z; - player->pos.y = roundf(player->camera.position.y) - 2.0f; + player->pos.y = truncf(player->camera.position.y*100)/100 - 2.0f; printf( "cpos: %f\n" "ppos: %f\n", diff --git a/src/player.h b/src/player.h index 346b800..38ae1df 100644 --- a/src/player.h +++ b/src/player.h @@ -9,7 +9,7 @@ typedef struct player { Camera3D camera; Hitbox hitbox; - float speed; + int speed; short is_on_floor; } Player; |