summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDrNuget <drnuget@outlook.com>2025-03-03 19:37:38 +0200
committerDrNuget <drnuget@outlook.com>2025-03-03 19:37:38 +0200
commitde1c7a212835741946d562bc926a4287151c9ffb (patch)
tree0ac2c2217abf815ca2fde0c047020c99d2ad1613
parent23dac85d2f600f0073e77bf83f4a544f3a087416 (diff)
change some floats to ints, add deltatime to movement
-rw-r--r--src/globals.h2
-rw-r--r--src/main.c6
-rw-r--r--src/player.c9
-rw-r--r--src/player.h2
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
diff --git a/src/main.c b/src/main.c
index 3934c2a..663fe63 100644
--- a/src/main.c
+++ b/src/main.c
@@ -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;