diff options
| author | Léo Lam <leo@innovatetechnologi.es> | 2018-09-16 16:04:21 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-09-16 16:04:21 +0200 |
| commit | e90bd035cb3b7d3bc02058bdeb19b11ddca126b3 (patch) | |
| tree | 0a55bf69aae1b794e5727ce42fd989a99d6b96f1 /Source/Core/InputCommon/ControllerEmu/ControlGroup/Triggers.cpp | |
| parent | 40b7fab235a86e904086c25dc256398f956c21bc (diff) | |
| parent | 9983d92981cf3ad27b75720d2f12fe90667180db (diff) | |
Merge pull request #7262 from lioncash/force
ControlGroup: Return state data via GetState() by value where applicable
Diffstat (limited to 'Source/Core/InputCommon/ControllerEmu/ControlGroup/Triggers.cpp')
| -rw-r--r-- | Source/Core/InputCommon/ControllerEmu/ControlGroup/Triggers.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/Source/Core/InputCommon/ControllerEmu/ControlGroup/Triggers.cpp b/Source/Core/InputCommon/ControllerEmu/ControlGroup/Triggers.cpp index daf7ef98d7..f950e5b24c 100644 --- a/Source/Core/InputCommon/ControllerEmu/ControlGroup/Triggers.cpp +++ b/Source/Core/InputCommon/ControllerEmu/ControlGroup/Triggers.cpp @@ -21,12 +21,15 @@ Triggers::Triggers(const std::string& name_) : ControlGroup(name_, GroupType::Tr numeric_settings.emplace_back(std::make_unique<NumericSetting>(_trans("Dead Zone"), 0, 0, 50)); } -void Triggers::GetState(ControlState* analog) +Triggers::StateData Triggers::GetState() { const size_t trigger_count = controls.size(); const ControlState deadzone = numeric_settings[0]->GetValue(); - for (size_t i = 0; i < trigger_count; ++i, ++analog) - *analog = std::max(controls[i]->control_ref->State() - deadzone, 0.0) / (1 - deadzone); + StateData result(trigger_count); + for (size_t i = 0; i < trigger_count; ++i) + result.data[i] = std::max(controls[i]->control_ref->State() - deadzone, 0.0) / (1 - deadzone); + + return result; } } // namespace ControllerEmu |
