Commit Graph

31412 Commits

Author SHA1 Message Date
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
e3cf2ae0d4 DolphinQT/IOWindow: Add combo boxes to insert the new operators and functions so people are semi-aware of them. Fixed the "Apply" button. Display an error message on expression parse error. 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
35e51ebbaa ExpressionParser: Clear expression variables on UpdateReferences call. I don't know if this is most sensible. 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
Mat M
5be061e27f
Merge pull request #8398 from jordan-woyak/old-wm-comment
WiimoteEmu: Fix an outdated comment.
2019-10-10 08:56:39 -04:00
Jordan Woyak
443af3fabd WiimoteEmu: Fix outdated comment. 2019-10-09 16:12:18 -05:00
Connor McLaughlin
6dbb5cc4ea
Merge pull request #8397 from stenzek/fifoci-fix
Fix FifoCI
2019-10-10 00:27:31 +10:00
Stenzek
7c286064b8 AudioCommon: Don't forget to call Init() on fallback 2019-10-10 00:09:16 +10:00
Stenzek
1c5441aa40 AlsaSoundStream: Don't call join() on invalid thread
This can happen if initialization failed.
2019-10-10 00:07:27 +10:00
Connor McLaughlin
6e613f4f82
Merge pull request #8386 from stenzek/gcc-array-workaround
FixedSizeQueue: Work around GCC generating large amounts of debug info
2019-10-09 15:42:53 +10:00
Connor McLaughlin
19ed64122c
Merge pull request #8371 from stenzek/vulkan-headers
Externals: Update Vulkan headers to 1.1.121.2
2019-10-07 10:46:03 +10:00
Connor McLaughlin
12b47c9487
Merge pull request #8392 from JosJuice/audio-backend-dropdown-default
DolphinQt: When audio backend is invalid, show nothing in dropdown
2019-10-07 10:45:07 +10:00
JosJuice
02ba893803 DolphinQt: When audio backend is invalid, show nothing in dropdown
It used to show the first option, No Audio Output (but audio output
would work correctly anyway since AudioCommon didn't use this logic.)
2019-10-06 20:40:31 +02:00
JMC47
b6545ea285
Merge pull request #8370 from sepalani/fix-hle-patch
HLE: Fix patching functions with the same name
2019-10-06 05:07:54 -04:00
Connor McLaughlin
9a68eaaa24
Merge pull request #8292 from Pokechu22/ir-calibration
Use valid IR calibration data
2019-10-06 17:31:50 +10:00
Connor McLaughlin
5a70ae895e
Merge pull request #8369 from JosJuice/blame-ignorerevsfile
Add a git blame.ignoreRevsFile file
2019-10-06 17:26:56 +10:00
Connor McLaughlin
dba7f3304d
Merge pull request #8361 from ligfx/remove_xaudio2
Remove XAudio2
2019-10-06 17:24:48 +10:00
Connor McLaughlin
86bf88d5af
Merge pull request #8384 from vadosnaprimer/another_avi_fix
Another AVI fix for WinAPI importers
2019-10-06 17:23:22 +10:00
Stenzek
4fd262d0b8 FixedSizeQueue: Work around GCC generating large amounts of debug info 2019-10-06 16:23:45 +10:00
feos
5d03d5dde0 Another AVI fix for WinAPI importers
When not using native resolution, FFMPEG automatically selects FFV1 version 3 for whatever reason, and that can't be decoded by VirtualDub/AVISynth.
2019-10-05 23:31:06 +03:00
JMC47
3c6c94a04a
Merge pull request #8377 from stenzek/remove-3d-vision
Drop 3D Vision Support
2019-10-05 00:31:45 -04:00
Stenzek
ae83d02e54 Drop 3D Vision Support 2019-10-04 13:40:21 +10:00