summaryrefslogtreecommitdiff
path: root/Source/Core/InputCommon/ControlReference
AgeCommit message (Collapse)Author
2020-08-02InputCommon: Add a handful of math functions to the expression parser.Admiral H. Curtiss
2020-03-24Cleanup warnings of -Wmissing-declarationsJun Su
Add static to the functions which is not intentionally export to big scope.
2020-02-09InputCommon: Eliminate some duplicated button threshold logic.Jordan Woyak
2020-02-08InputCommon: Allow controller settings specified with input expresions.Jordan Woyak
2019-11-22InputCommon/FunctionExpression: Use Yoda conditions, we do notLioncash
The general convention in the codebase is to compare the non-constant value/string with the constant value/string, not the other way around.
2019-11-22InputCommon/FunctionExpression: Remove unnecessary 'else' in ↵Lioncash
MakeFunctionExpression() Given all conditional bodies only contain a return, the use of else here isn't necessary. This has the benefit of consistently vertically aligning the names.
2019-11-22InputCommon/FunctionExpression: Make MakeFunctionExpression() take a ↵Lioncash
std::string_view There's nothing within this function that requires a copy of the string to be made, so we can make use of a non-owning view
2019-11-22InputCommon/FunctionExpression: Remove unused LOOP_MAX_REPS constantLioncash
This isn't used anywhere in the translation unit, so we can remove it.
2019-11-22InputCommon/FunctionExpression: Remove cyclical includeLioncash
This header was including itself, which is likely not intended.
2019-11-22InputCommon/FunctionExpression: Collapse namespacesLioncash
Since we target C++17, we can collapse the namespaces into a single declaration specifier.
2019-11-22InputCommon/FunctionExpression: include <algorithm>Lioncash
std::min/std::max are used within this translation unit, so it needs to be included to prevent potential compilation failures.
2019-11-06InputCommon: Make the "input gate" not racey.Jordan Woyak
2019-10-25InputCommon: Change "EOF" to "end of expression" in user facing stringJosJuice
This is hopefully clearer, since we're not dealing with a file.
2019-10-20ExpressionParser: Add XOR operator.Jordan Woyak
2019-10-12ExpressionParser: Make Lexer ctor explicit and move argument.Jordan Woyak
2019-10-12ExpressionParser: Add support for /* */ style comments.Jordan Woyak
2019-10-11ExpressionParser: Show error message with expected arguments.Jordan Woyak
2019-10-11ExpressionParser: Remove ! character from function syntax. Remove unused ↵Jordan Woyak
serialization functions.
2019-10-11ExpressionParser: Remove !while and add optional 2nd argument to !smooth.Jordan Woyak
2019-10-11ExpressionParser/DolphinQt: Added parse results to UI.Jordan Woyak
2019-10-11DolphinQT: Add syntax highlighting from tokenizer data.Jordan Woyak
2019-10-11ExpressionParser: Clean up some redundant using-declarations and wrong comments.Jordan Woyak
2019-10-11ExpressionParser: Add !pulse function that evaluates to 1.0 for N seconds ↵Jordan Woyak
for each press.
2019-10-11ExpressionParser: Add relative input function.Jordan Woyak
2019-10-11ExpressionParser: Fix timer function with negative values.Jordan Woyak
2019-10-11ExpressionParser: Add !tap function which activates after X (defaults to 2) ↵Jordan Woyak
taps within Y seconds.
2019-10-11ExpressionParser: Add !hold function that activates after input is held for ↵Jordan Woyak
N seconds.
2019-10-11ExpressionParser: Add function to smooth inputs.Jordan Woyak
2019-10-11ExpressionParser: Add deadzone function.Jordan Woyak
2019-10-11ExpressionParser: Add optional 2nd argument to toggle function which clears ↵Jordan Woyak
state.
2019-10-11ExpressionParser: Move FunctionExpression type definitions into another file.Jordan Woyak
2019-10-11ExpressionParser: Allow unary functions to be used without parens around the ↵Jordan Woyak
argument. e.g. !`Up`
2019-10-11ExpressionParser: Make function names case sensitive.Jordan Woyak
2019-10-11ExpressionParser: Rename some functions and return a syntax error on ↵Jordan Woyak
trailing tokens.
2019-10-11ExpressionParser: Change function argument syntax to something more c++-like.Jordan Woyak
2019-10-11ExpressionParser: Fix negative literals and support unary minus operator.Jordan Woyak
2019-10-11ExpressionParser: Suppport N-ary functions. Arguments are read LISP style. N ↵Jordan Woyak
atoms are read after the function name. Added "if" function and made the "while" function more sensible with an arity of 2. Removed the ugly binary conditional operator.
2019-10-11ExpressionParser: Replace the timer literal with a timer function that ↵Jordan Woyak
increases from 0.0 to 1.0 and resets after N seconds. e.g. (!timer 2.0) is a 2 second timer. Fixed parsing of unary expressions so things like (! ! 1.0) work.
2019-10-11ExpressionParser: Clean up string lexing and support numeric literals ↵Jordan Woyak
without tick delimiter: e.g. 0.75
2019-10-11ExpressionParser: operator precedence.Jordan Woyak
2019-10-11ExpressionParser: Add !while loop unary expression. Limited to 10000 reps to ↵Jordan Woyak
prevent infinite loops. Rhs is re-evaluated until it is < 0.5. Added comma operator, which behaves like it does in c++. Added subration operator.
2019-10-11ExpressionParser: cleanup.Jordan Woyak
2019-10-11ExpressionParser: Conditional operator. A binary op that evals the rhs if ↵Jordan Woyak
lhs > 0.5 else 0.0.
2019-10-11ExpressionParser: Add less-than and greater-than operators.Jordan Woyak
2019-10-11ExpressionParser: Renamed ControlFinder to ControlEnvironment. Added support ↵Jordan Woyak
for variables and assignment operator. ControlExpression objects now reference a matching input and output so the two can me mixed in any expression. (you can set rumble directly from inputs)
2019-10-11ExpressionParser: Add mod operator, sin function, and timer "constant" which ↵Jordan Woyak
can be used for auto-fire and oscillators.
2019-10-11ExpressionParser: Expand ! symbol to allow for named unary functions. Added ↵Jordan Woyak
!toggle function which toggles on/off with each activation of its inner expression.
2019-10-11ExpressionParser: Add multiplication and division operators. (division by ↵Jordan Woyak
zero evaluates as zero). Don't clamp result of addition operator. Clamping will be done later.
2019-10-11ExpressionParser: Add support for literals.Jordan Woyak
2019-06-17InputCommon: Use nested namespace specifiers where applicableLioncash