summaryrefslogtreecommitdiff
path: root/player.c
diff options
context:
space:
mode:
authorMitja Felicijan <mitja.felicijan@gmail.com>2026-04-28 17:14:19 +0200
committerMitja Felicijan <mitja.felicijan@gmail.com>2026-04-28 17:14:19 +0200
commit259bee291e74f5f3aeaf3aec8b87c65151ac5aa5 (patch)
tree9ae5579ebad77a3581536c9afd4015db680771b1 /player.c
parent6ac77370aca0cb98b09d62c55317a99e3228fba5 (diff)
downloadstalag-master.tar.gz
Better player camera FOVHEADmaster
Diffstat (limited to 'player.c')
-rw-r--r--player.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/player.c b/player.c
index a8c039f..01c56ca 100644
--- a/player.c
+++ b/player.c
@@ -266,11 +266,14 @@ void UpdatePlayer(void) {
-sinf(game.pitch),
cosf(game.pitch) * cosf(game.yaw)
};
+
+ // Use a stable world-up vector and apply lean roll
Vector3 up = { 0, 1, 0 };
up = Vector3RotateByAxisAngle(up, forward, leanAngle);
game.camera.up = up;
- game.camera.target = Vector3Add(game.camera.position, forward);
+ // Use a longer target distance for better precision in the projection matrix
+ game.camera.target = Vector3Add(game.camera.position, Vector3Scale(forward, 20.0f));
// Calculate horizontal speed for UI
if (dt > 0) {