Jordan Woyak
|
7295458c11
|
ExpressionParser: Make Lexer ctor explicit and move argument.
|
2019-10-12 12:28:19 -05:00 |
Jordan Woyak
|
72302d9c42
|
ExpressionParser: Add support for /* */ style comments.
|
2019-10-12 11:41:02 -05:00 |
Jordan Woyak
|
4d41bd64c8
|
ExpressionParser: Show error message with expected arguments.
|
2019-10-11 19:38:18 -05:00 |
Jordan Woyak
|
b57178d246
|
ExpressionParser: Remove ! character from function syntax. Remove unused serialization functions.
|
2019-10-11 18:12:18 -05:00 |
Jordan Woyak
|
7912dc57dd
|
ExpressionParser: Remove !while and add optional 2nd argument to !smooth.
|
2019-10-11 18:12:18 -05:00 |
Jordan Woyak
|
ca7ce67450
|
ExpressionParser/DolphinQt: Added parse results to UI.
|
2019-10-11 18:12:18 -05:00 |
Jordan Woyak
|
c8b2188e19
|
DolphinQT: Add syntax highlighting from tokenizer data.
|
2019-10-11 18:12:18 -05:00 |
Jordan Woyak
|
5cb1248612
|
ExpressionParser: Clean up some redundant using-declarations and wrong comments.
|
2019-10-11 18:12:18 -05:00 |
Jordan Woyak
|
fae8b15db1
|
ExpressionParser: Add !pulse function that evaluates to 1.0 for N seconds for each press.
|
2019-10-11 18:12:18 -05:00 |
Jordan Woyak
|
b5b43f8342
|
ExpressionParser: Add relative input function.
|
2019-10-11 18:12:18 -05:00 |
Jordan Woyak
|
08b291b0f9
|
ExpressionParser: Fix timer function with negative values.
|
2019-10-11 18:12:18 -05:00 |
Jordan Woyak
|
18b5120441
|
ExpressionParser: Add !tap function which activates after X (defaults to 2) taps within Y seconds.
|
2019-10-11 18:12:17 -05:00 |
Jordan Woyak
|
f2e499d587
|
ExpressionParser: Add !hold function that activates after input is held for N seconds.
|
2019-10-11 18:12:17 -05:00 |
Jordan Woyak
|
9e536382c4
|
ExpressionParser: Add function to smooth inputs.
|
2019-10-11 18:12:17 -05:00 |
Jordan Woyak
|
bbd6b1848f
|
ExpressionParser: Add deadzone function.
|
2019-10-11 18:12:17 -05:00 |
Jordan Woyak
|
6a2096c419
|
ExpressionParser: Add optional 2nd argument to toggle function which clears state.
|
2019-10-11 18:12:17 -05:00 |
Jordan Woyak
|
fd07ae8cec
|
ExpressionParser: Move FunctionExpression type definitions into another file.
|
2019-10-11 18:12:16 -05:00 |
Jordan Woyak
|
d4f9b8c4ef
|
ExpressionParser: Allow unary functions to be used without parens around the argument. e.g. !`Up`
|
2019-10-11 17:31:09 -05:00 |
Jordan Woyak
|
2a377e35ed
|
ExpressionParser: Make function names case sensitive.
|
2019-10-11 17:31:09 -05:00 |
Jordan Woyak
|
2b0297489f
|
ExpressionParser: Rename some functions and return a syntax error on trailing tokens.
|
2019-10-11 17:31:09 -05:00 |
Jordan Woyak
|
258832b1e8
|
ExpressionParser: Change function argument syntax to something more c++-like.
|
2019-10-11 17:31:09 -05:00 |
Jordan Woyak
|
ccac3f1e49
|
ExpressionParser: Fix negative literals and support unary minus operator.
|
2019-10-11 17:31:07 -05:00 |
Jordan Woyak
|
7cf903a209
|
ExpressionParser: Suppport N-ary functions. Arguments are read LISP style. N 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-11 17:16:05 -05:00 |
Jordan Woyak
|
4dd078568b
|
ExpressionParser: Replace the timer literal with a timer function that 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-11 17:14:45 -05:00 |
Jordan Woyak
|
785eb14432
|
ExpressionParser: Clean up string lexing and support numeric literals without tick delimiter: e.g. 0.75
|
2019-10-11 17:14:45 -05:00 |
Jordan Woyak
|
fa75ab404f
|
ExpressionParser: operator precedence.
|
2019-10-11 17:14:45 -05:00 |
Jordan Woyak
|
46c0ae7d1f
|
ExpressionParser: Add !while loop unary expression. Limited to 10000 reps to 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-11 17:14:45 -05:00 |
Jordan Woyak
|
2c89b60298
|
ExpressionParser: cleanup.
|
2019-10-11 17:14:45 -05:00 |
Jordan Woyak
|
58efc93ed4
|
ExpressionParser: Conditional operator. A binary op that evals the rhs if lhs > 0.5 else 0.0.
|
2019-10-11 17:14:45 -05:00 |
Jordan Woyak
|
718efce1dc
|
ExpressionParser: Add less-than and greater-than operators.
|
2019-10-11 17:14:45 -05:00 |
Jordan Woyak
|
e896835f86
|
ExpressionParser: Renamed ControlFinder to ControlEnvironment. Added support 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-11 17:14:32 -05:00 |
Jordan Woyak
|
1efcf861ea
|
ExpressionParser: Add mod operator, sin function, and timer "constant" which can be used for auto-fire and oscillators.
|
2019-10-11 17:13:58 -05:00 |
Jordan Woyak
|
a8f3e9585f
|
ExpressionParser: Expand ! symbol to allow for named unary functions. Added !toggle function which toggles on/off with each activation of its inner expression.
|
2019-10-11 17:13:58 -05:00 |
Jordan Woyak
|
bf63f85d73
|
ExpressionParser: Add multiplication and division operators. (division by zero evaluates as zero). Don't clamp result of addition operator. Clamping will be done later.
|
2019-10-11 17:13:58 -05:00 |
Jordan Woyak
|
f3192ca06d
|
ExpressionParser: Add support for literals.
|
2019-10-11 17:13:58 -05:00 |
Lioncash
|
ec60027f56
|
InputCommon: Use nested namespace specifiers where applicable
|
2019-06-17 16:51:41 -04:00 |
Techjar
|
ff972e3673
|
Reformat repo to clang-format 7.0 rules
|
2019-05-06 18:48:04 +00:00 |
spycrab
|
61350b3d98
|
Core/Host: Allow frontends to block inputs
|
2019-03-21 13:16:21 +01:00 |
Jordan Woyak
|
c389d68186
|
ControllerInterface/DolphinQt: Make mapping "all devices" way less hacky.
|
2019-03-03 18:39:02 -06:00 |
Jordan Woyak
|
48b69ca018
|
ControllerInterface: Input detection improvements.
|
2019-03-03 18:36:16 -06:00 |
Filip Gawin
|
49fe9f5db1
|
Use empty instead of size
|
2019-02-13 00:03:49 +01:00 |
Jordan Woyak
|
d5df56c677
|
ControllerInterface: Make CoalesceExpression not set the inactive child's value (rumble) to 0. This caused rumble to not enable when a control expression was both a valid "bareword" and "complex" expression.
|
2018-12-22 11:17:05 -06:00 |
Connor Roth
|
3e4725f390
|
THis fixes issue #08 and #16, the rumble test and slider
|
2018-04-19 17:48:55 -04:00 |
spycrab
|
40bb9974f2
|
Reformat all the things!
|
2018-04-12 21:28:39 +02:00 |
Michael M
|
294b1895ef
|
ExpressionParser: std::move() tokens vector to parser
|
2017-09-14 12:53:36 -07:00 |
Michael M
|
31f1c06226
|
ControlReference: don't reparse expression when references are updated
|
2017-09-14 12:53:35 -07:00 |
Michael M
|
c332580b83
|
ControlReference/ExpressionParser: separate parsing from binding
|
2017-09-14 12:53:35 -07:00 |
Michael M
|
ba87a50338
|
ExpressionParser: add FallbackExpression node type
|
2017-09-14 12:53:35 -07:00 |
Michael M
|
7e74961eb1
|
ExpressionParser: expose ExpressionNode directly
|
2017-09-14 12:53:35 -07:00 |
Michael M
|
85301e2bae
|
ParseStatus: replace NoDevice with EmptyExpression
|
2017-09-14 12:53:35 -07:00 |