X-Git-Url: https://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fapp%2Fcontroller.cpp;fp=src%2Fapp%2Fcontroller.cpp;h=0000000000000000000000000000000000000000;hb=745729c1935276e6f49d108a0a465214aa93c3cb;hp=9cf2d6cd0687adaf345c1ac18c155a5867ae406a;hpb=12744a2f68b3c9496076d6d7b6fb3581ff78472a;p=blank.git diff --git a/src/app/controller.cpp b/src/app/controller.cpp deleted file mode 100644 index 9cf2d6c..0000000 --- a/src/app/controller.cpp +++ /dev/null @@ -1,100 +0,0 @@ -#include "FPSController.hpp" -#include "RandomWalk.hpp" - -#include -#include - - -namespace blank { - -FPSController::FPSController(Entity &entity) noexcept -: entity(entity) -, pitch(0) -, yaw(0) { - -} - - -void FPSController::Pitch(float p) noexcept { - pitch = p; - if (pitch > PI / 2) { - pitch = PI / 2; - } else if (pitch < -PI / 2) { - pitch = -PI / 2; - } -} - -void FPSController::RotatePitch(float delta) noexcept { - Pitch(pitch + delta); -} - -void FPSController::Yaw(float y) noexcept { - yaw = y; - if (yaw > PI) { - yaw -= PI * 2; - } else if (yaw < -PI) { - yaw += PI * 2; - } -} - -void FPSController::RotateYaw(float delta) noexcept { - Yaw(yaw + delta); -} - - -void FPSController::Update(int dt) noexcept { - entity.Rotation(glm::eulerAngleYX(yaw, pitch)); - entity.Velocity(glm::rotateY(velocity, yaw)); -} - - -RandomWalk::RandomWalk(Entity &e) noexcept -: entity(e) -, time_left(0) { - -} - - -void RandomWalk::Update(int dt) noexcept { - time_left -= dt; - if (time_left > 0) return; - time_left += 2500 + (rand() % 5000); - - constexpr float move_vel = 0.0005f; - - glm::vec3 new_vel = entity.Velocity(); - - switch (rand() % 9) { - case 0: - new_vel.x = -move_vel; - break; - case 1: - new_vel.x = 0.0f; - break; - case 2: - new_vel.x = move_vel; - break; - case 3: - new_vel.y = -move_vel; - break; - case 4: - new_vel.y = 0.0f; - break; - case 5: - new_vel.y = move_vel; - break; - case 6: - new_vel.z = -move_vel; - break; - case 7: - new_vel.z = 0.0f; - break; - case 8: - new_vel.z = move_vel; - break; - } - - entity.Velocity(new_vel); -} - -}