Commit Graph

30654 Commits

Author SHA1 Message Date
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
26ebf5b650 Improvements to WorkQueueThread
- Do not use a lambda for std::thread as invoke constructor exists
- Use simpler std::lock_guard wherever possible
- Do not require T to be default constructible
- Move T out of the queue instead of copying
2019-10-08 22:57:33 +02:00
ea8a3059bf Enable Win10 long path awareness in manifest files 2019-10-07 22:46:37 +02:00
45890c20cf Remove obsolete "Windows compatibility" macros 2019-10-07 22:46:37 +02:00
689378b435 Move GetModuleName to Common
This unifies GetModuleFileName calls between Dolphin and WinUpdater
and allows to gracefully remove MAX_PATH limit from GetExePath
2019-10-07 22:46:36 +02:00
3b21d32865 Remove MAX_PATH limit from:
- GetTempFilenameForAtomicWrite
- SetUserDirectory
2019-10-07 22:45:16 +02: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
b794737bcf WiimoteEmu: Disable simulation of centripetal acceleration. 2019-10-06 09:56:41 -05:00
673f13b7ac WiimoteEmu: Change default tilt angle to 85 degrees. 2019-10-06 09:56:41 -05:00
260cefd60b WiimoteEmu: Expose maximum tilt acceleration. 2019-10-06 09:56:39 -05:00
e08663bc32 CMake: Enable generation of compile_commands.json. Used for intellisense in Visual Studio Code et al. 2019-10-06 07:59:23 -05: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
beeb68d541 RegisterWidget: Fix view in code/memory 2019-10-06 12:25:46 +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
0dda920c1d VerifyWidget: Handle Severity::None case in Verify()
The case body is empty because VolumeVerifier doesn't actually report
problems with severity of None.

Fixes "warning: enumeration value ‘None’ not handled in switch [-Wswitch]"
warning reported by gcc.
2019-10-05 13:20:29 +03:00
ae83d02e54 Drop 3D Vision Support 2019-10-04 13:40:21 +10:00
e3e682c4ca WatchWidget: Change type of NUM_COLUMNS to int
Fixes integer comparison signedness warnings.
2019-10-03 23:00:41 +03:00
68450fc1d9 Android Studio 3.5.1 Updates 2019-10-02 21:10:16 -04:00
ecdf21a988 Config: Also set CommandBufferExecuteInterval to 0 by default on Android 2019-10-02 22:44:19 +10:00
328d89db70 Vulkan: Add a DriverDetails bug for "slow cached readback memory"
Using the cached memory type appears to be slower on Mali drivers, with
~10-15% CPU spent in the __pi___inval_cache_range kernel function.
2019-10-02 21:34:58 +10:00
c557aa4a15 Vulkan: Add strict flag to memory type selection 2019-10-02 21:27:32 +10:00
33a6d265e5 PostProcessing: Use interface blocks for shaders 2019-10-02 12:59:50 +10:00
af849126b3 Renderer: Use interface blocks for ImGui shaders 2019-10-02 12:52:45 +10:00
c98a5f7dfd Renderer: Draw ImGui interface to both eyes 2019-10-02 12:19:47 +10:00
b44a0980eb PostProcessing: Use correct layer in quad-buffered modes
Previously, only the left eye was being used.
2019-10-02 11:52:54 +10:00
e754c8ab26 D3D11: Initialize shader cache before renderer
Otherwise the shaders we need for e.g. postprocessing are null.
2019-10-02 11:50:10 +10:00
e88c269d02 PostProcessing: Don't use GS expansion shader for quad buffering w/ OpenGL
OpenGL doesn't render to a 2-layer backbuffer like D3D/Vulkan for quad-buffered
stereo, instead drawing twice with the eye selected by glDrawBuffer()
(see OGL::Renderer::RenderXFBToScreen).
2019-10-02 11:33:25 +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