ControllerEmu: Improve and simplify UpdateCalibrationData.

This commit is contained in:
Jordan Woyak
2020-09-19 08:40:36 -05:00
parent a393a18f51
commit 0ca73355a8
4 changed files with 33 additions and 48 deletions

View File

@ -856,6 +856,7 @@ void CalibrationWidget::SetupActions()
void CalibrationWidget::StartCalibration()
{
m_prev_point = {};
m_calibration_data.assign(m_input.CALIBRATION_SAMPLE_COUNT, 0.0);
// Cancel calibration.
@ -888,7 +889,9 @@ void CalibrationWidget::Update(Common::DVec2 point)
if (IsCalibrating())
{
m_input.UpdateCalibrationData(m_calibration_data, point - *m_new_center);
const auto new_point = point - *m_new_center;
m_input.UpdateCalibrationData(m_calibration_data, m_prev_point, new_point);
m_prev_point = new_point;
if (IsCalibrationDataSensible(m_calibration_data))
{

View File

@ -204,4 +204,5 @@ private:
ControllerEmu::ReshapableInput::CalibrationData m_calibration_data;
QTimer* m_informative_timer;
std::optional<Common::DVec2> m_new_center;
Common::DVec2 m_prev_point;
};