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 |
|
Jordan Woyak
|
48b69ca018
|
ControllerInterface: Input detection improvements.
|
2019-03-03 18:36:16 -06: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 |
|
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 |
|
Michael M
|
754efd75c5
|
ExpressionParser: remove DummyExpression
|
2017-09-14 12:53:35 -07:00 |
|
Michael M
|
f1ff1e3d08
|
ExpressionParser: clean up ControlExpression
|
2017-09-14 12:53:35 -07:00 |
|
Michael M
|
3df945f8d0
|
ExpressionParser: replace bare pointers with unique_ptrs
|
2017-09-14 12:53:35 -07:00 |
|
Michael M
|
bbb7c17235
|
ExpressionParser: use internal ParseResult struct instead of out-params
|
2017-09-14 12:53:35 -07:00 |
|