From de1c7a212835741946d562bc926a4287151c9ffb Mon Sep 17 00:00:00 2001
From: DrNuget <drnuget@outlook.com>
Date: Mon, 3 Mar 2025 19:37:38 +0200
Subject: change some floats to ints, add deltatime to movement

---
 src/globals.h | 2 +-
 src/main.c    | 6 +++---
 src/player.c  | 9 +++++----
 src/player.h  | 2 +-
 4 files changed, 10 insertions(+), 9 deletions(-)

(limited to 'src')

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;
 
-- 
cgit v1.2.3