diff options
Diffstat (limited to 'src/player.c')
| -rw-r--r-- | src/player.c | 21 |
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(); |
