diff options
| author | Jordan Woyak <jordan.woyak@gmail.com> | 2020-02-08 20:36:26 -0600 |
|---|---|---|
| committer | Jordan Woyak <jordan.woyak@gmail.com> | 2020-02-09 10:37:18 -0600 |
| commit | f07457b6ccb0ef6773b08c0e494df28a29c1b3e6 (patch) | |
| tree | 32ed2c99fdee98a021c051c2ef68c97c75e0f311 /Source/Core/InputCommon/ControlReference/ControlReference.h | |
| parent | 2e2540317e8752b8fe2e4d549a0b5c1ab1911041 (diff) | |
InputCommon: Eliminate some duplicated button threshold logic.
Diffstat (limited to 'Source/Core/InputCommon/ControlReference/ControlReference.h')
| -rw-r--r-- | Source/Core/InputCommon/ControlReference/ControlReference.h | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/Source/Core/InputCommon/ControlReference/ControlReference.h b/Source/Core/InputCommon/ControlReference/ControlReference.h index 80c4a65d51..de289ba265 100644 --- a/Source/Core/InputCommon/ControlReference/ControlReference.h +++ b/Source/Core/InputCommon/ControlReference/ControlReference.h @@ -4,10 +4,10 @@ #pragma once +#include <cmath> #include <memory> #include "InputCommon/ControlReference/ExpressionParser.h" -#include "InputCommon/ControlReference/FunctionExpression.h" #include "InputCommon/ControllerInterface/Device.h" // ControlReference @@ -52,11 +52,18 @@ protected: template <> inline bool ControlReference::GetState<bool>() { - return State() > ciface::ExpressionParser::CONDITION_THRESHOLD; + // Round to nearest of 0 or 1. + return std::lround(State()) > 0; } -template <typename T> -T ControlReference::GetState() +template <> +inline int ControlReference::GetState<int>() +{ + return std::lround(State()); +} + +template <> +inline ControlState ControlReference::GetState<ControlState>() { return State(); } |
