summaryrefslogtreecommitdiff
path: root/Source/Core/VideoCommon
diff options
context:
space:
mode:
authoriwubcode <iwubcode@users.noreply.github.com>2021-03-17 20:51:35 -0500
committeriwubcode <iwubcode@users.noreply.github.com>2021-03-18 17:54:12 -0500
commit425ee13d3509d36c96f151c6c4eebc732eb7796b (patch)
tree6f5bb7a7cb8f0d614bde12951a43c3d084c9d91a /Source/Core/VideoCommon
parentf1ce9218447469ca1701a35631a5a147c7dd24da (diff)
FreeLook: update camera and manager to use a delta time for movement (in case we decide to move this somewhere else in the future)
Diffstat (limited to 'Source/Core/VideoCommon')
-rw-r--r--Source/Core/VideoCommon/FreeLookCamera.cpp13
-rw-r--r--Source/Core/VideoCommon/FreeLookCamera.h4
2 files changed, 9 insertions, 8 deletions
diff --git a/Source/Core/VideoCommon/FreeLookCamera.cpp b/Source/Core/VideoCommon/FreeLookCamera.cpp
index 25eb2a7c89..99c504db4d 100644
--- a/Source/Core/VideoCommon/FreeLookCamera.cpp
+++ b/Source/Core/VideoCommon/FreeLookCamera.cpp
@@ -265,18 +265,18 @@ void FreeLookCamera::Rotate(const Common::Quaternion& amt)
void FreeLookCamera::IncreaseFovX(float fov)
{
m_fov_x += fov;
- m_fov_x = std::clamp(m_fov_x, m_fov_step_size, m_fov_x);
+ m_fov_x = std::clamp(m_fov_x, m_min_fov_multiplier, m_fov_x);
}
void FreeLookCamera::IncreaseFovY(float fov)
{
m_fov_y += fov;
- m_fov_y = std::clamp(m_fov_y, m_fov_step_size, m_fov_y);
+ m_fov_y = std::clamp(m_fov_y, m_min_fov_multiplier, m_fov_y);
}
float FreeLookCamera::GetFovStepSize() const
{
- return m_fov_step_size;
+ return 1.5f;
}
void FreeLookCamera::Reset()
@@ -287,14 +287,15 @@ void FreeLookCamera::Reset()
m_dirty = true;
}
-void FreeLookCamera::ModifySpeed(float multiplier)
+void FreeLookCamera::ModifySpeed(float amt)
{
- m_speed *= multiplier;
+ m_speed += amt;
+ m_speed = std::clamp(m_speed, 0.0f, m_speed);
}
void FreeLookCamera::ResetSpeed()
{
- m_speed = 1.0f;
+ m_speed = 60.0f;
}
float FreeLookCamera::GetSpeed() const
diff --git a/Source/Core/VideoCommon/FreeLookCamera.h b/Source/Core/VideoCommon/FreeLookCamera.h
index 389c4cc5cf..cbd28fb8ca 100644
--- a/Source/Core/VideoCommon/FreeLookCamera.h
+++ b/Source/Core/VideoCommon/FreeLookCamera.h
@@ -78,8 +78,8 @@ private:
std::optional<FreeLook::ControlType> m_current_type;
std::unique_ptr<CameraController> m_camera_controller;
- float m_fov_step_size = 0.025f;
- float m_speed = 1.0f;
+ float m_min_fov_multiplier = 0.025f;
+ float m_speed = 60.0f;
};
extern FreeLookCamera g_freelook_camera;