From d0b70fb9258fd7ff95435ba76ba2ae25245bcb15 Mon Sep 17 00:00:00 2001 From: anirudhb Date: Sat, 2 May 2020 15:50:19 -0700 Subject: [PATCH] Fix motion controls config saving --- .../configuration/configure_input_player.cpp | 22 ++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/src/yuzu/configuration/configure_input_player.cpp b/src/yuzu/configuration/configure_input_player.cpp index 3f1d546b55..dace0e1842 100644 --- a/src/yuzu/configuration/configure_input_player.cpp +++ b/src/yuzu/configuration/configure_input_player.cpp @@ -456,6 +456,17 @@ void ConfigureInputPlayer::ApplyConfiguration() { debug ? Settings::values.debug_pad_analogs : Settings::values.players[player_index].analogs; auto& motion = Settings::values.players[player_index].motion_devices; + // convert motion group into params + for (int i = 0; i < 2; ++i) { + auto& group = motion_groups[i]; + motion_param[i] = + MotionParam{group.enabled->isChecked(), + Common::ParamPackage(InputCommon::GenerateMotionParam( + group.address->text().toStdString(), group.port->value(), + group.padIndex->value(), group.cx->value(), group.cy->value(), + group.cz->value(), group.sensitivity->value()))}; + } + std::transform(buttons_param.begin(), buttons_param.end(), buttons.begin(), [](const Common::ParamPackage& param) { return param.Serialize(); }); std::transform(analogs_param.begin(), analogs_param.end(), analogs.begin(), @@ -515,12 +526,12 @@ void ConfigureInputPlayer::LoadConfiguration() { std::transform(Settings::values.players[player_index].analogs.begin(), Settings::values.players[player_index].analogs.end(), analogs_param.begin(), [](const std::string& str) { return Common::ParamPackage(str); }); - std::transform(Settings::values.players[player_index].motion_devices.begin(), - Settings::values.players[player_index].motion_devices.end(), - motion_param.begin(), [](const Settings::MotionRaw& raw) { - return MotionParam{raw.enabled, Common::ParamPackage(raw.device)}; - }); } + std::transform(Settings::values.players[player_index].motion_devices.begin(), + Settings::values.players[player_index].motion_devices.end(), + motion_param.begin(), [](const Settings::MotionRaw& raw) { + return MotionParam{raw.enabled, Common::ParamPackage(raw.device)}; + }); UpdateButtonLabels(); @@ -652,6 +663,7 @@ void ConfigureInputPlayer::UpdateButtonLabels() { group.cx->setValue(param.param.Get("cx", 0)); group.cy->setValue(param.param.Get("cy", 0)); group.cz->setValue(param.param.Get("cz", 0)); + group.sensitivity->setValue(param.param.Get("sensitivity", 1)); group.enabled->setChecked(param.enabled); group.inner->setVisible(param.enabled); }