summaryrefslogtreecommitdiff
path: root/Source/Core/InputCommon/ControllerEmu/ControlGroup/Triggers.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Core/InputCommon/ControllerEmu/ControlGroup/Triggers.cpp')
-rw-r--r--Source/Core/InputCommon/ControllerEmu/ControlGroup/Triggers.cpp9
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