From bd43e084f4e911d5eeec2f237559f382cd89f795 Mon Sep 17 00:00:00 2001 From: Jordan Woyak Date: Mon, 24 Feb 2020 16:58:25 -0600 Subject: [PATCH] InputCommon: Clamp calibration values within square shape. --- Source/Core/InputCommon/ControllerEmu/StickGate.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Source/Core/InputCommon/ControllerEmu/StickGate.cpp b/Source/Core/InputCommon/ControllerEmu/StickGate.cpp index 3346b874a2..30c9acdcbd 100644 --- a/Source/Core/InputCommon/ControllerEmu/StickGate.cpp +++ b/Source/Core/InputCommon/ControllerEmu/StickGate.cpp @@ -183,7 +183,8 @@ void ReshapableInput::UpdateCalibrationData(CalibrationData& data, Common::DVec2 auto& calibration_sample = data[calibration_index]; // Update closest sample from provided x,y. - calibration_sample = std::max(calibration_sample, point.Length()); + calibration_sample = std::clamp(point.Length(), calibration_sample, + SquareStickGate(1).GetRadiusAtAngle(calibration_angle)); // Here we update all other samples in our calibration vector to maintain // a convex polygon containing our new calibration point.