summaryrefslogtreecommitdiff
path: root/player.c
diff options
context:
space:
mode:
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) {