group2 0.1.0
CSE 125 Group 2
Loading...
Searching...
No Matches
Movement.hpp
Go to the documentation of this file.
1
3
4#pragma once
5
6#include <glm/vec3.hpp>
7
12namespace physics
13{
14
26glm::vec3 applyGravity(glm::vec3 vel, float dt, bool flipped = false);
27
32glm::vec3 applyPlayerGravity(glm::vec3 vel, float dt, bool flipped = false);
33
43glm::vec3 applyGroundFriction(glm::vec3 vel, float dt);
44
57glm::vec3 accelerate(glm::vec3 vel, glm::vec3 wishDir, float wishSpeed, float accel, float dt);
58
69float airWishSpeedForHorizSpeed(float currentHorizSpeed);
70
76glm::vec3 clipVelocity(glm::vec3 vel, glm::vec3 normal, float overbounce);
77
86glm::vec3 computeWishDir(float yaw, bool forward, bool back, bool left, bool right);
87
88} // namespace physics
Pure physics math — no ECS types, no registry.
Definition BroadphaseTree.cpp:11
glm::vec3 accelerate(glm::vec3 vel, glm::vec3 wishDir, float wishSpeed, float accel, float dt)
Quake PM_Accelerate: accelerate toward wishDir up to wishSpeed.
Definition Movement.cpp:46
glm::vec3 clipVelocity(glm::vec3 vel, glm::vec3 normal, float overbounce)
Project velocity onto a collision surface to slide along it.
Definition Movement.cpp:74
glm::vec3 applyPlayerGravity(glm::vec3 vel, float dt, bool flipped)
Apply the player's gravity for one tick (k_playerGravity).
Definition Movement.cpp:23
float airWishSpeedForHorizSpeed(float currentHorizSpeed)
Compute the air wish-speed for the player's current horizontal speed.
Definition Movement.cpp:60
glm::vec3 applyGroundFriction(glm::vec3 vel, float dt)
Apply Quake-style ground friction to horizontal (XZ) velocity.
Definition Movement.cpp:30
glm::vec3 computeWishDir(float yaw, bool forward, bool back, bool left, bool right)
Compute the horizontal wish direction from yaw angle and WASD key state.
Definition Movement.cpp:80
glm::vec3 applyGravity(glm::vec3 vel, float dt, bool flipped)
Apply gravity for one tick.
Definition Movement.cpp:16