Commit Graph

23513 Commits

Author SHA1 Message Date
ccac3f1e49 ExpressionParser: Fix negative literals and support unary minus operator. 2019-10-11 17:31:07 -05:00
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
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
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
fa75ab404f ExpressionParser: operator precedence. 2019-10-11 17:14:45 -05:00
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
2c89b60298 ExpressionParser: cleanup. 2019-10-11 17:14:45 -05:00
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
718efce1dc ExpressionParser: Add less-than and greater-than operators. 2019-10-11 17:14:45 -05:00
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
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
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
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
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
f3192ca06d ExpressionParser: Add support for literals. 2019-10-11 17:13:58 -05:00
5be061e27f Merge pull request #8398 from jordan-woyak/old-wm-comment
WiimoteEmu: Fix an outdated comment.
2019-10-10 08:56:39 -04:00
443af3fabd WiimoteEmu: Fix outdated comment. 2019-10-09 16:12:18 -05:00
7c286064b8 AudioCommon: Don't forget to call Init() on fallback 2019-10-10 00:09:16 +10:00
1c5441aa40 AlsaSoundStream: Don't call join() on invalid thread
This can happen if initialization failed.
2019-10-10 00:07:27 +10:00
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
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
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
9a68eaaa24 Merge pull request #8292 from Pokechu22/ir-calibration
Use valid IR calibration data
2019-10-06 17:31:50 +10:00
dba7f3304d Merge pull request #8361 from ligfx/remove_xaudio2
Remove XAudio2
2019-10-06 17:24:48 +10:00
4fd262d0b8 FixedSizeQueue: Work around GCC generating large amounts of debug info 2019-10-06 16:23:45 +10:00
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
ae83d02e54 Drop 3D Vision Support 2019-10-04 13:40:21 +10:00
e6ae204600 Merge pull request #8373 from jordan-woyak/stereo-mode-fix
DolphinQt/Graphics: Fix NVIDIA 3D Vision support handling.
2019-10-02 10:56:21 +10:00
dafb0173b7 Merge pull request #8375 from stenzek/stereo-switch
Fix runtime stereoscopy mode switching
2019-10-02 10:54:53 +10:00
b319f823bf Merge pull request #8337 from CookiePLMonster/log-widget-improvements
Log widget improvements
2019-10-01 23:42:16 +10:00
135f0a1385 ShaderCache: EFB2RAM pipelines should not use a geometry shader
Only the left eye is used when creating the RAM copy.
2019-10-01 11:44:31 +10:00
c989e5c50c ShaderCache: Recompile shared pipelines on shader cache reload
Fixes broken stereoscopy when switching on/off at runtime.
2019-10-01 11:43:02 +10:00
d15f08c84a DolphinQt/Graphics: Fix NVIDIA 3D Vision support handling. 2019-09-30 15:43:55 -05:00
d3a9104cee Merge pull request #8355 from phire/qt_fix_fifo_range
QtFifoPlayer: handle FIFO load before window creation
2019-09-30 00:34:39 -04:00
bec433cb40 Merge pull request #8333 from CookiePLMonster/screenshot-timestamp
Core: Generate screenshot name with timestamps
2019-09-30 00:32:07 -04:00
06ab51bceb Merge pull request #8324 from CookiePLMonster/adapter-combo-fix
Enable adapter combo only if adapters are supported by current backend
2019-09-29 00:13:55 +02:00
9d648904ed Merge pull request #8341 from CookiePLMonster/win-utf8-console-output
ConsoleListenerWin: Properly output console logging in UTF-16
2019-09-28 18:28:08 +02:00
d8a3218726 HLE: Fix patching functions with the same name 2019-09-28 17:38:43 +04:00
dbc0bf0ccb Fix import gc save file window title 2019-09-24 19:16:27 +10:00
edfb0f66b6 Merge pull request #8363 from Fullmetal5/patch-1
Add Wii Mini system menu version detection
2019-09-23 20:18:45 +02:00
5c4b591536 Add Wii Mini system menu version detection 2019-09-21 12:55:49 -05:00
3efa3d7a42 Fix 2 DTK bugs
Bug 1: subcommand 1 of 0xE1 does not actually reset the current position; it just stops playback.  0xE2 returns the same value it would have before stopping playback (other than reporting that the stream is stopped).

Bug 2: subcommand 3 of 0xE2 was incorrectly dividing the length by 4; while this makes sense for positions (which are multiplied by 4 earlier to get a byte offset), it is not correct for lengths.
2019-09-14 21:05:33 -07:00
71c3c5626b AudioCommon: if backend is unknown, use default backend 2019-09-14 14:16:13 -07:00
0f3695a14b Remove XAudio2
Audio on Windows is provided by the cubeb (shared mode) and WASAPI
(exclusive mode) backends, both of which exhibit lower latency.
2019-09-14 14:08:13 -07:00
677a0903a1 FifoPlayer: Use std::move for saving callbacks 2019-09-09 11:38:21 +12:00
46f4f69cfd QtFifoPlayer: handle fifo load before window creation
Fixes a bug where if you loaded a fifo before opening the fifo
player window (which you can do by dragging a .dff onto dolphin's
main window) then the player's widgets wouldn't be initilized
correctly.

Importantly, the object range widgets would be broken.
2019-09-09 10:36:31 +12:00
c144cde825 Revert "DSP: ARAM cleanup experiments" 2019-09-02 01:47:50 -04:00
03ea0eb27a Merge pull request #7740 from booto/aram-experiments
DSP: ARAM cleanup experiments
2019-09-01 20:09:42 -04:00
a4f13ca57d Remove double space in GeckoCodeWidget code view 2019-09-01 11:22:42 -07:00
6bfa4fa643 LogWidget: Use FixedSizeQueue for a log messages buffer
Messages buffer is intended to be of a fixed capacity (MAX_LOG_LINES),
which cannot be achieved by std::queue unless we manually pop() extra elements.
std::queue uses std::deque internally which most likely results in allocations performed continuously.
FixedSizeQueue keeps a single buffer during its entire lifetime, avoiding any allocations except the ones
performed by stored objects.
2019-08-31 21:18:07 +02:00