X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fcontroller.hpp;h=c13a14ec5c8043fe5e1c6d92006bb33b327a2490;hb=1b022dd17364c9e3344afd86572f2ead14973cde;hp=63c102f489445a26bf241309ba0153b15de4c7d8;hpb=cb959294a8271969ddfe411471d7f04e82c4788a;p=blank.git diff --git a/src/controller.hpp b/src/controller.hpp index 63c102f..c13a14e 100644 --- a/src/controller.hpp +++ b/src/controller.hpp @@ -4,7 +4,6 @@ #include "entity.hpp" #include "geometry.hpp" -#include #include @@ -15,7 +14,10 @@ class FPSController { public: explicit FPSController(Entity &); - Ray Aim() const { return entity.Aim(); } + Ray Aim() const { return entity.Aim(entity.ChunkCoords()); } + + const glm::vec3 &Velocity() const { return velocity; } + void Velocity(const glm::vec3 &vel) { velocity = vel; } // all angles in radians (full circle = 2π) float Pitch() const { return pitch; } @@ -25,23 +27,16 @@ public: void Yaw(float y); void RotateYaw(float delta); - void HandleKeyboard(const SDL_KeyboardEvent &); - void HandleMouse(const SDL_MouseMotionEvent &); - void Update(int dt); private: Entity &entity; + glm::vec3 velocity; + float pitch; float yaw; - float move_velocity; - float pitch_sensitivity; - float yaw_sensitivity; - - bool front, back, left, right, up, down; - }; }