mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-23 06:09:50 -06:00
DolphinQt/ControllerEmu: Replace Input Radius/Shape settings with an input calibration "wizard".
This commit is contained in:
@ -30,11 +30,6 @@ AnalogStick::AnalogStick(const char* const name_, const char* const ui_name_,
|
||||
controls.emplace_back(std::make_unique<Input>(Translate, named_direction));
|
||||
|
||||
controls.emplace_back(std::make_unique<Input>(Translate, _trans("Modifier")));
|
||||
|
||||
// Default input radius to that of the gate radius (no resizing)
|
||||
// Default input shape to an octagon (no reshaping)
|
||||
// Max deadzone to 50%
|
||||
AddReshapingSettings(GetGateRadiusAtAngle(0.0), 0.0, 50);
|
||||
}
|
||||
|
||||
AnalogStick::ReshapeData AnalogStick::GetReshapableState(bool adjusted)
|
||||
|
@ -32,9 +32,6 @@ Cursor::Cursor(const std::string& name_)
|
||||
controls.emplace_back(std::make_unique<Input>(Translate, _trans("Hide")));
|
||||
controls.emplace_back(std::make_unique<Input>(Translate, _trans("Recenter")));
|
||||
|
||||
// Default shape is a 1.0 square (no resizing/reshaping):
|
||||
AddReshapingSettings(1.0, 0.5, 50);
|
||||
|
||||
numeric_settings.emplace_back(std::make_unique<NumericSetting>(_trans("Center"), 0.5));
|
||||
numeric_settings.emplace_back(std::make_unique<NumericSetting>(_trans("Width"), 0.5));
|
||||
numeric_settings.emplace_back(std::make_unique<NumericSetting>(_trans("Height"), 0.5));
|
||||
@ -57,8 +54,6 @@ Cursor::ReshapeData Cursor::GetReshapableState(bool adjusted)
|
||||
|
||||
ControlState Cursor::GetGateRadiusAtAngle(double ang) const
|
||||
{
|
||||
// TODO: Change this to 0.5 and adjust the math,
|
||||
// so pointer doesn't have to be clamped to the configured width/height?
|
||||
return SquareStickGate(1.0).GetRadiusAtAngle(ang);
|
||||
}
|
||||
|
||||
|
@ -29,11 +29,6 @@ Tilt::Tilt(const std::string& name_)
|
||||
|
||||
controls.emplace_back(std::make_unique<Input>(Translate, _trans("Modifier")));
|
||||
|
||||
// Set default input radius to the full 1.0 (no resizing)
|
||||
// Set default input shape to a square (no reshaping)
|
||||
// Max deadzone to 50%
|
||||
AddReshapingSettings(1.0, 0.5, 50);
|
||||
|
||||
numeric_settings.emplace_back(std::make_unique<NumericSetting>(_trans("Angle"), 0.9, 0, 180));
|
||||
}
|
||||
|
||||
@ -88,4 +83,9 @@ ControlState Tilt::GetGateRadiusAtAngle(double ang) const
|
||||
return SquareStickGate(max_tilt_angle).GetRadiusAtAngle(ang);
|
||||
}
|
||||
|
||||
ControlState Tilt::GetDefaultInputRadiusAtAngle(double ang) const
|
||||
{
|
||||
return SquareStickGate(1.0).GetRadiusAtAngle(ang);
|
||||
}
|
||||
|
||||
} // namespace ControllerEmu
|
||||
|
@ -20,7 +20,11 @@ public:
|
||||
explicit Tilt(const std::string& name);
|
||||
|
||||
ReshapeData GetReshapableState(bool adjusted) final override;
|
||||
ControlState GetGateRadiusAtAngle(double ang) const override;
|
||||
ControlState GetGateRadiusAtAngle(double angle) const final override;
|
||||
|
||||
// Tilt is using the gate radius to adjust the tilt angle so we must provide an unadjusted value
|
||||
// for the default input radius.
|
||||
ControlState GetDefaultInputRadiusAtAngle(double angle) const final override;
|
||||
|
||||
StateData GetState();
|
||||
|
||||
|
Reference in New Issue
Block a user