diff options
| author | 2020-12-08 20:48:45 +0800 | |
|---|---|---|
| committer | 2020-12-08 20:48:45 +0800 | |
| commit | 51e6f8271a322532911013bd93b5a3230e7e3f36 (patch) | |
| tree | 4eeff5c0c5d25e3bcfffee86be0ff4035429363c /src | |
| parent | Merge pull request #5020 from german77/AnalogfromButtonFix (diff) | |
| parent | controller: Use std::move within ConvertToFrontendParameters() (diff) | |
| download | yuzu-51e6f8271a322532911013bd93b5a3230e7e3f36.tar.gz yuzu-51e6f8271a322532911013bd93b5a3230e7e3f36.tar.xz yuzu-51e6f8271a322532911013bd93b5a3230e7e3f36.zip | |
Merge pull request #5165 from lioncash/copy-controller
controller: Avoid unnecessary copies in ConfigurationComplete()
Diffstat (limited to 'src')
| -rw-r--r-- | src/core/hle/service/am/applets/controller.cpp | 23 |
1 files changed, 11 insertions, 12 deletions
diff --git a/src/core/hle/service/am/applets/controller.cpp b/src/core/hle/service/am/applets/controller.cpp index e8ea4248b..7edfca64e 100644 --- a/src/core/hle/service/am/applets/controller.cpp +++ b/src/core/hle/service/am/applets/controller.cpp | |||
| @@ -29,14 +29,14 @@ static Core::Frontend::ControllerParameters ConvertToFrontendParameters( | |||
| 29 | npad_style_set.raw = private_arg.style_set; | 29 | npad_style_set.raw = private_arg.style_set; |
| 30 | 30 | ||
| 31 | return { | 31 | return { |
| 32 | .min_players = std::max(s8(1), header.player_count_min), | 32 | .min_players = std::max(s8{1}, header.player_count_min), |
| 33 | .max_players = header.player_count_max, | 33 | .max_players = header.player_count_max, |
| 34 | .keep_controllers_connected = header.enable_take_over_connection, | 34 | .keep_controllers_connected = header.enable_take_over_connection, |
| 35 | .enable_single_mode = header.enable_single_mode, | 35 | .enable_single_mode = header.enable_single_mode, |
| 36 | .enable_border_color = header.enable_identification_color, | 36 | .enable_border_color = header.enable_identification_color, |
| 37 | .border_colors = identification_colors, | 37 | .border_colors = std::move(identification_colors), |
| 38 | .enable_explain_text = enable_text, | 38 | .enable_explain_text = enable_text, |
| 39 | .explain_text = text, | 39 | .explain_text = std::move(text), |
| 40 | .allow_pro_controller = npad_style_set.pro_controller == 1, | 40 | .allow_pro_controller = npad_style_set.pro_controller == 1, |
| 41 | .allow_handheld = npad_style_set.handheld == 1, | 41 | .allow_handheld = npad_style_set.handheld == 1, |
| 42 | .allow_dual_joycons = npad_style_set.joycon_dual == 1, | 42 | .allow_dual_joycons = npad_style_set.joycon_dual == 1, |
| @@ -227,15 +227,14 @@ void Controller::ConfigurationComplete() { | |||
| 227 | // If enable_single_mode is enabled, player_count is 1 regardless of any other parameters. | 227 | // If enable_single_mode is enabled, player_count is 1 regardless of any other parameters. |
| 228 | // Otherwise, only count connected players from P1-P8. | 228 | // Otherwise, only count connected players from P1-P8. |
| 229 | result_info.player_count = | 229 | result_info.player_count = |
| 230 | is_single_mode ? 1 | 230 | is_single_mode |
| 231 | : static_cast<s8>(std::count_if( | 231 | ? 1 |
| 232 | players.begin(), players.end() - 2, | 232 | : static_cast<s8>(std::count_if(players.begin(), players.end() - 2, |
| 233 | [](Settings::PlayerInput player) { return player.connected; })); | 233 | [](const auto& player) { return player.connected; })); |
| 234 | 234 | ||
| 235 | result_info.selected_id = HID::Controller_NPad::IndexToNPad( | 235 | result_info.selected_id = HID::Controller_NPad::IndexToNPad(std::distance( |
| 236 | std::distance(players.begin(), | 236 | players.begin(), std::find_if(players.begin(), players.end(), |
| 237 | std::find_if(players.begin(), players.end(), | 237 | [](const auto& player) { return player.connected; }))); |
| 238 | [](Settings::PlayerInput player) { return player.connected; }))); | ||
| 239 | 238 | ||
| 240 | result_info.result = 0; | 239 | result_info.result = 0; |
| 241 | 240 | ||