summaryrefslogtreecommitdiff
path: root/Source/Core/InputCommon/ControllerEmu/ControlGroup/AnalogStick.cpp
diff options
context:
space:
mode:
authorJordan Woyak <jordan.woyak@gmail.com>2022-01-04 14:09:50 -0600
committerJordan Woyak <jordan.woyak@gmail.com>2022-01-04 14:09:50 -0600
commit78a9bdf04a5745472b4ea86962cfb75170c1c7ee (patch)
treeecc16e661a82ab71b363b1a57735dcc23f1ed9fd /Source/Core/InputCommon/ControllerEmu/ControlGroup/AnalogStick.cpp
parent953eb49cd8f52495b0cde80487f19c0dc279ca25 (diff)
InputCommon: Use value of "Modifier" button "Range" setting rather than always applying 50%.
Make "Clear" button reset "Modifier" "Range" settings to 50%.
Diffstat (limited to 'Source/Core/InputCommon/ControllerEmu/ControlGroup/AnalogStick.cpp')
-rw-r--r--Source/Core/InputCommon/ControllerEmu/ControlGroup/AnalogStick.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/Source/Core/InputCommon/ControllerEmu/ControlGroup/AnalogStick.cpp b/Source/Core/InputCommon/ControllerEmu/ControlGroup/AnalogStick.cpp
index b4b1accc77..aaabfa5b17 100644
--- a/Source/Core/InputCommon/ControllerEmu/ControlGroup/AnalogStick.cpp
+++ b/Source/Core/InputCommon/ControllerEmu/ControlGroup/AnalogStick.cpp
@@ -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)
{