mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-24 14:49:42 -06:00
InputCommon: Use value of "Modifier" button "Range" setting rather than always applying 50%.
Make "Clear" button reset "Modifier" "Range" settings to 50%.
This commit is contained in:
@ -40,9 +40,7 @@ AnalogStick::ReshapeData AnalogStick::GetReshapableState(bool adjusted) const
|
||||
if (!adjusted)
|
||||
return {x, y};
|
||||
|
||||
const ControlState modifier = controls[4]->GetState();
|
||||
|
||||
return Reshape(x, y, modifier);
|
||||
return Reshape(x, y, GetModifierInput()->GetState());
|
||||
}
|
||||
|
||||
AnalogStick::StateData AnalogStick::GetState() const
|
||||
@ -55,6 +53,11 @@ ControlState AnalogStick::GetGateRadiusAtAngle(double ang) const
|
||||
return m_stick_gate->GetRadiusAtAngle(ang);
|
||||
}
|
||||
|
||||
Control* AnalogStick::GetModifierInput() const
|
||||
{
|
||||
return controls[4].get();
|
||||
}
|
||||
|
||||
OctagonAnalogStick::OctagonAnalogStick(const char* name_, ControlState gate_radius)
|
||||
: OctagonAnalogStick(name_, name_, gate_radius)
|
||||
{
|
||||
|
@ -23,6 +23,8 @@ public:
|
||||
StateData GetState() const;
|
||||
|
||||
private:
|
||||
Control* GetModifierInput() const override;
|
||||
|
||||
std::unique_ptr<StickGate> m_stick_gate;
|
||||
};
|
||||
|
||||
|
@ -50,9 +50,7 @@ Tilt::ReshapeData Tilt::GetReshapableState(bool adjusted) const
|
||||
if (!adjusted)
|
||||
return {x, y};
|
||||
|
||||
const ControlState modifier = controls[4]->GetState();
|
||||
|
||||
return Reshape(x, y, modifier);
|
||||
return Reshape(x, y, GetModifierInput()->GetState());
|
||||
}
|
||||
|
||||
Tilt::StateData Tilt::GetState() const
|
||||
@ -76,4 +74,9 @@ ControlState Tilt::GetMaxRotationalVelocity() const
|
||||
return m_max_rotational_velocity.GetValue() * MathUtil::TAU;
|
||||
}
|
||||
|
||||
Control* Tilt::GetModifierInput() const
|
||||
{
|
||||
return controls[4].get();
|
||||
}
|
||||
|
||||
} // namespace ControllerEmu
|
||||
|
@ -31,6 +31,8 @@ public:
|
||||
ControlState GetMaxRotationalVelocity() const;
|
||||
|
||||
private:
|
||||
Control* GetModifierInput() const override;
|
||||
|
||||
SettingValue<double> m_max_angle_setting;
|
||||
SettingValue<double> m_max_rotational_velocity;
|
||||
};
|
||||
|
Reference in New Issue
Block a user