Commit Graph

23773 Commits

Author SHA1 Message Date
Lioncash 8af6bfb8b0 VideoCommon/ShaderGenCommon: Add function for writing fmt-based strings
Begins the conversion of the shader generators over to using fmt
formatting specifiers.

This also has a benefit over the older StringFromFormat-based API in
that all formatted data is appended to the existing buffer rather than
creating a completely separate string and then appending it to the
internal string buffer.
2019-12-03 04:49:48 -05:00
Connor McLaughlin 15fc71cfcf
Merge pull request #8498 from stenzek/update-vs2019
Update VS projects/solutions to VS2019
2019-12-03 13:03:49 +10:00
Stenzek 52e2e32193 Core: Only reset wiimotes in Wii mode
This was causing the FifoCI runners to crash, as the Wiimotes were not
initialized in the first place.
2019-11-30 15:41:38 +10:00
Stenzek 33c0abd1ab Disable warning C5054 on DolphinQt
They're all in the Qt headers, and quite noisy.
2019-11-30 13:42:52 +10:00
Stenzek dd23a1ee79 Update VS projects/solutions to VS2019 2019-11-30 13:42:52 +10:00
Anthony 4a0611df54
Merge pull request #8487 from lioncash/video-fmt
VideoCommon: Make use of fmt outside of shader generators
2019-11-28 15:03:23 -08:00
Anthony b5656df7e8
Merge pull request #8502 from lioncash/log
Common: Unify logging namespace with Common
2019-11-28 15:01:49 -08:00
OatmealDome ef32a10d69 InputCommon: Decouple ButtonManager and Touchscreen from Android
Changes were also made for codestyle compliance.
2019-11-28 15:20:51 -05:00
Lioncash c792961000 Common: Unify logging namespace with Common
Previously the logging was a in a little bit of a disarray. Some things
were in namespaces, and other things were not.

Given this code will feature a bit of restructuring during the
transition over to fmt, this is a good time to unify it under a single
namespace and also remove functions and types from the global namespace.

Now, all functions and types are under the Common::Log namespace. The
only outliers being, of course, the preprocessor macros.
2019-11-28 05:13:21 -05:00
Anthony c2c8a14966
Merge pull request #8348 from JosJuice/mmu-setting
Disable full MMU by default and add it to global config GUI
2019-11-27 16:04:40 -08:00
Anthony 9822a2d582
Merge pull request #8465 from CookiePLMonster/d3d-common-cleanup
D3DCommon: Cleanups and resource leak fix
2019-11-27 16:03:44 -08:00
Anthony 66ca83e6af
Merge pull request #8479 from nokturnusmf/master
Fixed #11874 (leading 0s ignored by debugger)
2019-11-27 15:57:54 -08:00
Anthony 155016531f
Merge pull request #8439 from JosJuice/android-native-motion-controls
Android: Native motion controls
2019-11-27 15:40:43 -08:00
Anthony 34a1df1c68
Merge pull request #8493 from JosJuice/android-audio-volume
Android: Add audio volume setting
2019-11-27 15:36:54 -08:00
Anthony e33acc07f9
Merge pull request #8332 from CookiePLMonster/dsp-lle-deadlock
DSPLLE: Put DSP thread in idle state when it's paused
2019-11-27 15:34:34 -08:00
Anthony 44f85bbc5e
Merge pull request #8496 from JosJuice/volumewii-check-decrypted-order
VolumeWii: Check SupportsReadWiiDecrypted before m_encrypted
2019-11-27 15:33:43 -08:00
Anthony f20c1c2f8d
Merge pull request #8499 from JosJuice/volumeverifier-super-paper-mario
VolumeVerifier: Detect broken Super Paper Mario
2019-11-27 15:31:05 -08:00
JosJuice 59633f5309 VolumeVerifier: Detect broken Super Paper Mario
https://bugs.dolphin-emu.org/issues/11900
2019-11-27 18:26:22 +01:00
JosJuice 9938585702 DolphinQt: Remove "Experimental" from "Export Wii Save"
It's pretty well tested at this point.
2019-11-27 17:23:58 +01:00
JosJuice cf8208ace9 Android: Add audio volume setting 2019-11-26 21:10:27 +01:00
JosJuice 23fc5f9e35 VolumeWii: Check SupportsReadWiiDecrypted before m_encrypted
Fixes using DirectoryBlob on extracted games that were unencrypted
prior to being extracted.

(One day I'll make DirectoryBlob actually support raw reads and then
the order of these two won't matter...)
2019-11-26 20:09:40 +01:00
Scott Mansell ac77df9e90
Merge pull request #8490 from vadosnaprimer/dumping
2 minor dumping fixes
2019-11-25 10:38:44 +13:00
JosJuice 45ba745bc8
Merge pull request #8320 from CookiePLMonster/cpu-lock-yield-fix
Do not yield to UI from PauseAndLock
2019-11-24 20:12:04 +01:00
feos cb6a632c60 fix missing frame when you start another dump without closing dolphin 2019-11-24 18:02:38 +03:00
feos 15e6e7ddd2 figure out new segment on the fly right in FrameDump::Start() 2019-11-24 18:02:36 +03:00
Lioncash b28db1d4e6 UICommon: Make use of fmt where applicable
Continues the migration to using fmt.

Notably, this allows safely converting a map within USBUtils over to
containing string view instances, rather than std::string instances, as
fmt safely handles the formatting of string views.
2019-11-23 19:41:40 -05:00
Léo Lam ec895f544c
Merge pull request #8486 from lioncash/dualshock
InputCommon/DualShockUDPClient: Minor cleanup
2019-11-24 00:46:19 +01:00
Lioncash 6fbbc2683e VideoCommon: Make use of fmt outside of shader generators
Migrates most of VideoCommon over to using fmt, with the exception being
the shader generator code. The shader generators are quite large and
have more corner cases to deal with in terms of conversion (shaders have
braces in them, so we need to make sure to escape them).

Because of the large amount of code that would need to be converted, the
conversion of VideoCommon will be in two parts:

- This change (which converts over the general case string formatting),
- A follow up change that will specifically deal with converting over
  the shader generators.
2019-11-23 16:00:45 -05:00
tinyredpanda fe9e7d5578 Prefer MessageBoxW to MessageBoxA 2019-11-23 13:56:05 +00:00
tinyredpanda 5dbabef355 Simplify wstring to QString conversion 2019-11-23 13:23:46 +00:00
Lioncash 334e2768f5 InputCommon/DualShockUDPClient: Use an alias for the clock type
Makes code slightly less verbose without exposing the whole chrono
header to the current source file.
2019-11-22 17:06:10 -05:00
Lioncash db9e592765 InputCommon/DualShockUDPClient: Use deduction guides for lock_guard
With C++17, we can use template deduction guides provided by the
standard library. This allows the omission of the mutex type itself.
2019-11-22 17:06:10 -05:00
Lioncash 278d03f737 InputCommon/DualShockUDPClient: Make use of std::array where applicable
Provides the same semantics of a C array, but is much nicer to work
with.

Notably, it makes all cases of performing comparisons with said arrays
significantly less reading-involved.
2019-11-22 17:06:07 -05:00
Silent 5be9505ab3
Signal DSP thread after unlocking DSP mutex 2019-11-22 23:00:42 +01:00
JosJuice a06da596e5
Merge pull request #8485 from lioncash/imu
InputCommon/IMU*: Remove unnecessary includes
2019-11-22 22:31:57 +01:00
JosJuice af37d09b0f
Merge pull request #8484 from lioncash/input-func
InputCommon/FunctionExpression: Minor cleanup
2019-11-22 22:31:31 +01:00
Silent e30ff7c327
DSPLLE: Put DSP thread in idle state if it's paused to prevent a deadlock
DSP thread is considered "idle" when it signals s_ppc_event and waits for s_dsp_event,
without putting it in this state when m_dsp_thread_mutex is locked it was possible to
create a deadlock between a DSP thread, emulation thread and Qt thread by accessing
Config menu immediately after booting up the game
2019-11-22 22:07:41 +01:00
Lioncash 67097b4574 InputCommon/DualShockUDPClient: Relocate settings to top of source file
This is a small namespace, so we can move it to the top of the file to
get it out of the way of everything else.
2019-11-22 15:56:29 -05:00
Lioncash 4488719a76 InputCommon/DualShockUDPClient: In-class initialize members where applicable
Deduplicates members within the constructor's initializer list.
2019-11-22 15:56:29 -05:00
Lioncash 544d6cbe52 InputCommon/DualShockUDPClient: Add missing header guard
Prevents potential inclusion issues from occurring.
2019-11-22 15:56:26 -05:00
Lioncash 91993b46d9 InputCommon/IMU*: Remove unnecessary includes
Trims out unnecessary includes to avoid unnecessary header dependencies.

This also resolves indirect inclusions of <optional> within
IMUAccelerometer.h and IMUGyroscope.h
2019-11-22 15:41:38 -05:00
Lioncash 814fd165af InputCommon/FunctionExpression: Use Yoda conditions, we do not
The general convention in the codebase is to compare the non-constant
value/string with the constant value/string, not the other way around.
2019-11-22 15:36:18 -05:00
Lioncash 1f6077922b InputCommon/FunctionExpression: Remove unnecessary 'else' in MakeFunctionExpression()
Given all conditional bodies only contain a return, the use of else here
isn't necessary.

This has the benefit of consistently vertically aligning the names.
2019-11-22 15:36:18 -05:00
Lioncash 10fea99d80 InputCommon/FunctionExpression: Make MakeFunctionExpression() take a std::string_view
There's nothing within this function that requires a copy of the string
to be made, so we can make use of a non-owning view
2019-11-22 15:36:18 -05:00
Lioncash ddf8abf507 InputCommon/FunctionExpression: Remove unused LOOP_MAX_REPS constant
This isn't used anywhere in the translation unit, so we can remove it.
2019-11-22 15:36:18 -05:00
Lioncash 64bc6f53fd InputCommon/FunctionExpression: Remove cyclical include
This header was including itself, which is likely not intended.
2019-11-22 15:36:18 -05:00
Lioncash cb8fbe872e InputCommon/FunctionExpression: Collapse namespaces
Since we target C++17, we can collapse the namespaces into a single
declaration specifier.
2019-11-22 15:36:14 -05:00
Lioncash 6586ecc7a8 InputCommon/FunctionExpression: include <algorithm>
std::min/std::max are used within this translation unit, so it needs to
be included to prevent potential compilation failures.
2019-11-22 14:41:13 -05:00
Lioncash e8edc49bbe InputCommon: Make use of fmt where applicable
Continues the migration over to fmt
2019-11-22 14:38:26 -05:00
Matthew Foulds 5b6e7aabcf Fixed 11874 (leading 0s ignored by debugger) 2019-11-22 19:16:34 +00:00