Camera rotation fix

This commit is contained in:
@clasher113
2024-01-15 18:48:36 +02:00
parent ca40b93344
commit 100f87056c
+15 -11
View File
@@ -42,22 +42,26 @@ void CameraControl::refresh() {
} }
void CameraControl::updateMouse(PlayerInput& input) { void CameraControl::updateMouse(PlayerInput& input) {
glm::vec2 &cam = player->cam; glm::vec2& cam = player->cam;
if (input.zoom) {
cam += -Events::delta / (float)Window::height * settings.sensitivity / 4.f;
} else {
cam += -Events::delta / (float)Window::height * settings.sensitivity;
}
if (cam.y < -glm::radians(89.9f)) { float sensitivity = (input.zoom ? settings.sensitivity / 4.f : settings.sensitivity);
cam.y = -glm::radians(89.9f); cam -= glm::degrees(Events::delta / (float)Window::height * sensitivity);
if (cam.y < -89.9f) {
cam.y = -89.9f;
} }
if (cam.y > glm::radians(89.9f)) { else if (cam.y > 89.9f) {
cam.y = glm::radians(89.9f); cam.y = 89.9f;
}
if (cam.x > 180.f) {
cam.x -= 360.f;
}
else if (cam.x < -180.f) {
cam.x += 360.f;
} }
camera->rotation = glm::mat4(1.0f); camera->rotation = glm::mat4(1.0f);
camera->rotate(cam.y, cam.x, 0); camera->rotate(glm::radians(cam.y), glm::radians(cam.x), 0);
} }
void CameraControl::update(PlayerInput& input, float delta, Chunks* chunks) { void CameraControl::update(PlayerInput& input, float delta, Chunks* chunks) {