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,
|
||||
ControlState modifier) const
|
||||
ControlState modifier,
|
||||
ControlState clamp) const
|
||||
{
|
||||
x -= m_center.x;
|
||||
y -= m_center.y;
|
||||
|
@ -326,8 +327,8 @@ ReshapableInput::ReshapeData ReshapableInput::Reshape(ControlState x, ControlSta
|
|||
// Scale to the gate shape/radius:
|
||||
dist *= gate_max_dist;
|
||||
|
||||
return {std::clamp(std::cos(angle) * dist, -1.0, 1.0),
|
||||
std::clamp(std::sin(angle) * dist, -1.0, 1.0)};
|
||||
return {std::clamp(std::cos(angle) * dist, -clamp, clamp),
|
||||
std::clamp(std::sin(angle) * dist, -clamp, clamp)};
|
||||
}
|
||||
|
||||
} // namespace ControllerEmu
|
||||
|
|
|
@ -108,7 +108,8 @@ public:
|
|||
void SetCenter(ReshapeData center);
|
||||
|
||||
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:
|
||||
void LoadConfig(IniFile::Section*, const std::string&, const std::string&) override;
|
||||
|
|
Loading…
Reference in New Issue