aboutsummaryrefslogtreecommitdiffstats
path: root/src/player.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/player.c')
-rw-r--r--src/player.c21
1 files changed, 16 insertions, 5 deletions
diff --git a/src/player.c b/src/player.c
index a153443..9a08204 100644
--- a/src/player.c
+++ b/src/player.c
@@ -26,12 +26,11 @@ void updatePlayerHeight(Player* player, Game* game)
player->position.y = height;
}
-void updatePlayerMovement(Player* player, Game* game)
+void updatePlayerLookingAround(Player* player, Game* game)
{
- Camera* camera = &player->camera;
- Vector2* cameraAngle = &player->cameraAngle;
Settings* settings = &game->settings;
-
+ Vector2* cameraAngle = &player->cameraAngle;
+
// Get mouse speed.
Vector2 mouseSpeed = Vector2Scale(GetMouseDelta(), settings->mouseSpeed);
mouseSpeed = Vector2Scale(mouseSpeed, 1.0 / (PI * 2.0));
@@ -41,10 +40,22 @@ void updatePlayerMovement(Player* player, Game* game)
cameraAngle->x = Wrap(cameraAngle->x, -PI, PI);
cameraAngle->y = Clamp(cameraAngle->y, -PI / 2.5, PI / 2.5);
- // Set player direction
+ // Set player direction.
Matrix matrix = MatrixRotateXYZ(
(Vector3){-cameraAngle->y, cameraAngle->x, 0.0});
player->direction = (Vector3){matrix.m2, matrix.m6, matrix.m10};
+}
+
+void updatePlayerMovement(Player* player, Game* game)
+{
+ Camera* camera = &player->camera;
+ Vector2* cameraAngle = &player->cameraAngle;
+ Settings* settings = &game->settings;
+
+ if (!game->isCursorEnabled)
+ {
+ updatePlayerLookingAround(player, game);
+ }
// Walking around.
player->velocity = Vector3Zero();