mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-23 14:19:46 -06:00
VideoCommon: Add speed to Free Look camera
This commit is contained in:
@ -258,10 +258,26 @@ void FreeLookCamera::Reset()
|
|||||||
m_dirty = true;
|
m_dirty = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void FreeLookCamera::ModifySpeed(float multiplier)
|
||||||
|
{
|
||||||
|
m_speed *= multiplier;
|
||||||
|
}
|
||||||
|
|
||||||
|
void FreeLookCamera::ResetSpeed()
|
||||||
|
{
|
||||||
|
m_speed = 1.0f;
|
||||||
|
}
|
||||||
|
|
||||||
|
float FreeLookCamera::GetSpeed() const
|
||||||
|
{
|
||||||
|
return m_speed;
|
||||||
|
}
|
||||||
|
|
||||||
void FreeLookCamera::DoState(PointerWrap& p)
|
void FreeLookCamera::DoState(PointerWrap& p)
|
||||||
{
|
{
|
||||||
if (p.mode == PointerWrap::MODE_WRITE || p.mode == PointerWrap::MODE_MEASURE)
|
if (p.mode == PointerWrap::MODE_WRITE || p.mode == PointerWrap::MODE_MEASURE)
|
||||||
{
|
{
|
||||||
|
p.Do(m_speed);
|
||||||
p.Do(m_current_type);
|
p.Do(m_current_type);
|
||||||
p.Do(m_fov_x);
|
p.Do(m_fov_x);
|
||||||
p.Do(m_fov_y);
|
p.Do(m_fov_y);
|
||||||
@ -273,6 +289,7 @@ void FreeLookCamera::DoState(PointerWrap& p)
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
const auto old_type = m_current_type;
|
const auto old_type = m_current_type;
|
||||||
|
p.Do(m_speed);
|
||||||
p.Do(m_current_type);
|
p.Do(m_current_type);
|
||||||
p.Do(m_fov_x);
|
p.Do(m_fov_x);
|
||||||
p.Do(m_fov_y);
|
p.Do(m_fov_y);
|
||||||
|
@ -63,6 +63,10 @@ public:
|
|||||||
bool IsDirty() const;
|
bool IsDirty() const;
|
||||||
void SetClean();
|
void SetClean();
|
||||||
|
|
||||||
|
void ModifySpeed(float multiplier);
|
||||||
|
void ResetSpeed();
|
||||||
|
float GetSpeed() const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
bool m_dirty = false;
|
bool m_dirty = false;
|
||||||
float m_fov_x = 1.0f;
|
float m_fov_x = 1.0f;
|
||||||
@ -71,6 +75,7 @@ private:
|
|||||||
std::unique_ptr<CameraController> m_camera_controller;
|
std::unique_ptr<CameraController> m_camera_controller;
|
||||||
|
|
||||||
float m_fov_step_size = 0.025f;
|
float m_fov_step_size = 0.025f;
|
||||||
|
float m_speed = 1.0f;
|
||||||
};
|
};
|
||||||
|
|
||||||
extern FreeLookCamera g_freelook_camera;
|
extern FreeLookCamera g_freelook_camera;
|
||||||
|
Reference in New Issue
Block a user