mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2024-11-14 21:37:52 -07:00
StickGate: add custom clamp value
Works exactly as before by default. It will be used by my upcoming input PRs.
This commit is contained in:
parent
5f74d0e08f
commit
26f6648421
@ -281,7 +281,8 @@ void ReshapableInput::SaveConfig(IniFile::Section* section, const std::string& d
|
|||||||
}
|
}
|
||||||
|
|
||||||
ReshapableInput::ReshapeData ReshapableInput::Reshape(ControlState x, ControlState y,
|
ReshapableInput::ReshapeData ReshapableInput::Reshape(ControlState x, ControlState y,
|
||||||
ControlState modifier) const
|
ControlState modifier,
|
||||||
|
ControlState clamp) const
|
||||||
{
|
{
|
||||||
x -= m_center.x;
|
x -= m_center.x;
|
||||||
y -= m_center.y;
|
y -= m_center.y;
|
||||||
@ -326,8 +327,8 @@ ReshapableInput::ReshapeData ReshapableInput::Reshape(ControlState x, ControlSta
|
|||||||
// Scale to the gate shape/radius:
|
// Scale to the gate shape/radius:
|
||||||
dist *= gate_max_dist;
|
dist *= gate_max_dist;
|
||||||
|
|
||||||
return {std::clamp(std::cos(angle) * dist, -1.0, 1.0),
|
return {std::clamp(std::cos(angle) * dist, -clamp, clamp),
|
||||||
std::clamp(std::sin(angle) * dist, -1.0, 1.0)};
|
std::clamp(std::sin(angle) * dist, -clamp, clamp)};
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace ControllerEmu
|
} // namespace ControllerEmu
|
||||||
|
@ -108,7 +108,8 @@ public:
|
|||||||
void SetCenter(ReshapeData center);
|
void SetCenter(ReshapeData center);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
ReshapeData Reshape(ControlState x, ControlState y, ControlState modifier = 0.0) const;
|
ReshapeData Reshape(ControlState x, ControlState y, ControlState modifier = 0.0,
|
||||||
|
ControlState clamp = 1.0) const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void LoadConfig(IniFile::Section*, const std::string&, const std::string&) override;
|
void LoadConfig(IniFile::Section*, const std::string&, const std::string&) override;
|
||||||
|
Loading…
Reference in New Issue
Block a user