diff options
Diffstat (limited to 'Source/Core/InputCommon/ControlReference/FunctionExpression.cpp')
| -rw-r--r-- | Source/Core/InputCommon/ControlReference/FunctionExpression.cpp | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/Source/Core/InputCommon/ControlReference/FunctionExpression.cpp b/Source/Core/InputCommon/ControlReference/FunctionExpression.cpp index 46cfc37beb..15d8c72c0c 100644 --- a/Source/Core/InputCommon/ControlReference/FunctionExpression.cpp +++ b/Source/Core/InputCommon/ControlReference/FunctionExpression.cpp @@ -375,6 +375,22 @@ private: } }; +// usage: plus(expression) +class UnaryPlusExpression : public FunctionExpression +{ +private: + ArgumentValidation + ValidateArguments(const std::vector<std::unique_ptr<Expression>>& args) override + { + if (args.size() == 1) + return ArgumentsAreValid{}; + else + return ExpectedArguments{"expression"}; + } + + ControlState GetValue() const override { return GetArg(0).GetValue(); } +}; + // usage: deadzone(input, amount) class DeadzoneExpression : public FunctionExpression { @@ -689,6 +705,8 @@ std::unique_ptr<FunctionExpression> MakeFunctionExpression(std::string_view name return std::make_unique<ToggleExpression>(); if (name == "minus") return std::make_unique<UnaryMinusExpression>(); + if (name == "plus") + return std::make_unique<UnaryPlusExpression>(); if (name == "deadzone") return std::make_unique<DeadzoneExpression>(); if (name == "smooth") |
