mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-06-28 01:49:33 -06:00
DolphinQt: Make Calibration autocomplete when data is "sensible" and stick is returned to neutral position.
This commit is contained in:
@ -5,6 +5,7 @@
|
||||
|
||||
#include <algorithm>
|
||||
#include <chrono>
|
||||
#include <cmath>
|
||||
#include <ranges>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
@ -277,6 +278,16 @@ bool CalibrationBuilder::IsCalibrationDataSensible() const
|
||||
return stats.StandardDeviation() < REASONABLE_DEVIATION;
|
||||
}
|
||||
|
||||
bool CalibrationBuilder::IsComplete() const
|
||||
{
|
||||
if (!IsCalibrationDataSensible())
|
||||
return false;
|
||||
|
||||
const auto half_calibration =
|
||||
0.5 * GetCalibrationRadiusAtAngle(std::atan2(m_prev_point.y, m_prev_point.x) + MathUtil::TAU);
|
||||
return m_prev_point.LengthSquared() < (half_calibration * half_calibration);
|
||||
}
|
||||
|
||||
ControlState CalibrationBuilder::GetCalibrationRadiusAtAngle(double angle) const
|
||||
{
|
||||
return ControllerEmu::ReshapableInput::GetCalibrationDataRadiusAtAngle(m_calibration_data, angle);
|
||||
|
Reference in New Issue
Block a user