Commit Graph

32402 Commits

Author SHA1 Message Date
Sepalani 6a36930c74 IOS/USB: Add more logs to the Wii Speak code 2025-05-07 20:33:22 +04:00
Sepalani 1ac40f25a2 IOS/USB: Emulate Wii Speak using cubeb
Based on @noahpistilli (Sketch) PR:
https://github.com/dolphin-emu/dolphin/pull/12567

Fixed the Windows support and the heisenbug caused by uninitialized
members.

Config system integration finalized.
2025-05-07 20:33:22 +04:00
Sketch 451e36defc IOS/USB: Emulate Wii Speak (OpenAL)
Credits to @degasus and shuffle2 (godisgovernment):
https://github.com/degasus/dolphin/tree/wiispeak
2025-05-07 17:45:59 +04:00
LillyJadeKatrin 85bb066cb0 AchievementManager: update dev memory clone for Wii
The clone of system memory used by AchievementManager during achievement development for the sake of thread decoupling was only copying MEM1; this grabs MEM2 as well if it exists.
2025-05-06 16:59:27 -04:00
LillyJadeKatrin 599f28045e AchievementManager: verify MEM2 if it exists
Adds MEM2 to MemoryVerifier.
2025-05-06 16:59:27 -04:00
JMC47 c9bdda63dc
Merge pull request #13342 from Tilka/fifo_reset
VideoCommon: reset some CP registers during PI_FIFO_RESET
2025-05-05 20:20:40 -04:00
Jordan Woyak 2f1d8272a8 DolphinQt/TAS: Use non-default std::atomic struct constructor to fix build with libstdc++ 15. 2025-05-05 16:29:15 -05:00
Tillmann Karras 6f25e20c6a VideoCommon: reset some CP registers during PI_FIFO_RESET
This fixes the shutdown error in SpongeBob Globs of Doom.
2025-05-05 21:18:37 +01:00
Jordan Woyak 6e22e145a0 HW/SI: Don't require waiting a second before disconnecting an SIDevice. 2025-05-04 15:00:48 -05:00
Admiral H. Curtiss d2db9d9590
Merge pull request #13608 from jordan-woyak/async-work-thread
Common: Add AsyncWorkThread.
2025-05-04 18:45:14 +02:00
Admiral H. Curtiss 2a3580fda5
Merge pull request #13482 from jordan-woyak/string-util-concepts
StringUtil: Use concepts instead of enable_if.
2025-05-04 17:47:37 +02:00
Admiral H. Curtiss 380a9291ad
Merge pull request #13602 from jordan-woyak/move-only-function
Common: Add MoveOnlyFunction.
2025-05-04 17:28:06 +02:00
Admiral H. Curtiss fc0601e55f
Merge pull request #13628 from jordan-woyak/unique-buffer-texture-data
Common and VideoCommon: Change texture data from std::vector to Common::UniqueBuffer.
2025-05-04 14:03:10 +02:00
LillyJadeKatrin 6b52336bf7 AchievementManager: Fix unknown hash achievements deadlock
Within AchievementManager, CloseGame being called when LoadGame fails was causing m_queue.Cancel to be called within a lock when Cancel itself locks until it is empty, causing a deadlock. This is resolved by cancelling the queues outside of the lock when they are safe to wait for resolutions.
2025-05-03 22:51:07 -04:00
Jordan Woyak 5a80105555 Common and VideoCommon: Change texture data from std::vector to Common::UniqueBuffer. 2025-05-03 18:32:30 -05:00
iwubcode e80ed595ac VideoCommon: move position/normal matrices to be gettable by function in VertexShaderGen 2025-05-03 16:51:34 -05:00
cristian64 2eeb2fd2b9
DolphinQt: Use non-autodismissable menus in menu bar.
A new class that derives from `QMenu` has been introduced. Menus of this
`NonAutodismissibleMenu` type will stay visible when a _checkable_
action is triggered.

This is convenient in menus that feature a series of check boxes that
toggle visibility of third components (e.g. the **List Columns** menu),
allowing the user to toggle several actions at once.

For now, the new type is used in the top menu bar.
2025-05-03 20:29:21 +02:00
Admiral H. Curtiss 7774dccc9d
Merge pull request #13509 from Dentomologist/gamelist_fix_right_doubleclick_starting_games
GameList: Ignore non-left double-clicks
2025-05-03 20:15:11 +02:00
JMC47 78465693ad
Merge pull request #13607 from LillyJadeKatrin/retroachievements-wiiware
RetroAchievements - Wii and WiiWare Support
2025-05-03 13:21:00 -04:00
Admiral H. Curtiss dcc09906e5
Merge pull request #13622 from TryTwo/Settings_Bugfix
Settings: Bugfix. GFX settings getting set without user input
2025-05-03 18:36:36 +02:00
Admiral H. Curtiss ffd78711be
Merge pull request #13618 from jordan-woyak/cubeb-logging
AudioCommon/CubebUtils: Fix logged file name.
2025-05-03 18:33:06 +02:00
TryTwo c1d0a49f35 Settings: Bugfix. Fix some combo boxes setting a value without user input. Prevents initial Load from calling the connection to save value. 2025-05-02 18:21:45 -07:00
TryTwo 1aabae49ed Settings: Bugfix. Remove Aspect Ratio combobox signal so it doesn't trigger a settings changed save. 2025-05-02 18:21:18 -07:00
Dentomologist 77744169be SDL: Check if touchpad exists before getting input
Verify a touchpad is present before polling it for input. Without this
check the Debug log is spammed with the message "error: Parameter
'touchpad' is invalid" if you have a controller without a touchpad.

One would think every touchpad supports at least 1 finger, but in case
there's some weird edge case check the finger count to be sure.
2025-05-02 17:21:42 -07:00
Jordan Woyak 63572f15fc
Merge pull request #13620 from JosJuice/logmanager-cleanup
LogManager: Stop using manual memory management
2025-05-02 15:24:34 -05:00
Jordan Woyak ec29d120b5 CoreTiming: Add a setting to pursue accurate emulation time. 2025-05-02 15:23:43 -05:00
JosJuice c8be819711 LogManager: Stop using manual memory management
This fixes a memory leak that would occur when the Android frontend
calls LogManager::Init more than once in order to reload settings.

Note that the log window listener is now owned by LogManager instead of
by the frontend, making it consistent with the other log listeners.
2025-05-02 21:14:32 +02:00
JosJuice 6515807685
Merge pull request #13278 from JoshuaVandaele/saves-import
Implement importing multiple saves from an export folder
2025-05-02 15:40:27 +02:00
Jordan Woyak 06826319c7 AudioCommon/CubebUtils: Fix logged file name. 2025-05-02 02:54:15 -05:00
JosJuice b566e81644
Merge pull request #13596 from JosJuice/config-callback-locking
Config: Add locking for config changed callbacks
2025-05-02 08:49:22 +02:00
JosJuice 58d305f75c
Merge pull request #13616 from parona-source/musl-cstdint
UICommon: Include implicit header
2025-05-02 08:03:01 +02:00
Jordan Woyak 4e736d60db Core and AudioCommon: Use AsyncWorkThread. 2025-05-01 22:55:23 -05:00
Jordan Woyak be4b0af971 Common: Add AsyncWorkThread. 2025-05-01 22:54:40 -05:00
JMC47 0066119e41
Merge pull request #13617 from OatmealDome/coretiming-include
CoreTiming: Add missing SystemTimers.h include
2025-05-01 21:33:22 -04:00
JMC47 da4f643b9f
Merge pull request #13611 from jordan-woyak/work-queue-thread-sp
Core and Vulkan: Change WorkQueueThread to WorkQueueThreadSP in a few places.
2025-05-01 21:32:16 -04:00
JMC47 757e6aba46
Merge pull request #13597 from JosJuice/hide-boot-bin
Hide DirectoryBlob boot.bin files from game list
2025-05-01 21:30:10 -04:00
JMC47 2b568566ac
Merge pull request #13535 from m-brodschi/mihaib/fix-shutdown-crash
Core, VideoCommon: Fix crash at shutdown due to destructor order
2025-05-01 21:29:02 -04:00
JMC47 539a3ed021
Merge pull request #13464 from jordan-woyak/dont-toggle-skip-frames
DolphinQt: Don't auto toggle GFX_HACK_SKIP_DUPLICATE_XFBS.
2025-05-01 21:28:13 -04:00
JMC47 7222779e21
Merge pull request #13448 from Dentomologist/fix_unresponsive_hotkeys_when_moving_overlay_during_framestep
DolphinQt: Fix unresponsive hotkeys when clicking overlay during a framestep
2025-05-01 21:27:30 -04:00
JMC47 1bd2570d97
Merge pull request #13239 from JosJuice/jitarm64-rlwimix-imm-mask
JitArm64: Use AArch64 imm masks in rlwimix slow case
2025-05-01 21:26:27 -04:00
OatmealDome 0bd7cc64c9 CoreTiming: Add missing SystemTimers.h include 2025-05-01 19:13:02 -04:00
Alfred Wingate fbb54604b6
UICommon: Include implicit header
The header isn't implicitly included on musl.

Bug: https://bugs.gentoo.org/952952
Signed-off-by: Alfred Wingate <parona@protonmail.com>
2025-05-02 02:03:41 +03:00
Jordan Woyak 20874124c2 StringUtil: Use concepts instead of enable_if. 2025-05-01 16:30:37 -05:00
Jordan Woyak e4525ca7ee
Merge pull request #13499 from jordan-woyak/frame-pacing-better-math
CoreTiming: Cleanups to avoid drift from cumulative rounding errors.
2025-05-01 15:58:33 -05:00
Dr. Dystopia f240e20e3f Make overriding explicit and remove redundant virtual specifiers on overriding destructors - Core & UnitTests 2025-05-01 15:00:37 +02:00
Dr. Dystopia 5c0cf0788f VideoCommon/NetPlayChatUI: Replace `msg` with structured binding 2025-05-01 14:11:55 +02:00
LillyJadeKatrin 1633011d2a Add achievement support for Wii and WiiWare
Add a method to detect console ID from an input file and instruct rcheevos to load as Gamecube or Wii accordingly. Also, hash .wads upon loading, to support achievements on WiiWare titles.
2025-05-01 07:54:12 -04:00
LillyJadeKatrin c796691d00 Remove filename option from achievement manager load
The only option that was currently using this was a pass-by-executable that wouldn't hash correctly anyways.
2025-05-01 07:54:12 -04:00
JosJuice 0ce929220d
Merge pull request #13553 from tygyh/Core/PowerPC/JitArm64-Replace-zeroes-in-boolean-context-with-false
JitArm64: Replace zeroes in boolean context with `false`
2025-05-01 10:11:44 +02:00
LillyJadeKatrin 999c7aed98 Don't close achievements on games that don't hash
Minor bugfix necessary for future development; issue brought on by a conflict resolving wrong.
2025-05-01 00:17:20 -04:00
Jordan Woyak 0987c03693
Merge pull request #13453 from tygyh/Use-underlying-method
DolphinQt/FIFO/FIFOAnalyzer: Use Common::ToUnderlying
2025-04-30 22:18:02 -05:00
Admiral H. Curtiss 2e20e24136
Merge pull request #13587 from jordan-woyak/manual-value
Common: Move some duplicate container element construction logic into a ManuallyConstructedValue template.
2025-04-30 23:45:33 +02:00
Jordan Woyak ec940e6a2e VideoBackends/Vulkan: Use WorkQueueThreadSP for swap commands. 2025-04-30 16:29:35 -05:00
Jordan Woyak 753fe5bed1 Core: Use WorkQueueThreadSP in NetKDRequestDevice. 2025-04-30 16:29:21 -05:00
Jordan Woyak c14101534f Core: Use WorkQueueThreadSP in NetIPTopDevice. 2025-04-30 16:28:57 -05:00
Jordan Woyak bdb4fd8376 Core: Use WorkQueueThreadSP in DVDThread. 2025-04-30 16:17:21 -05:00
Jordan Woyak 8e64a02a42
Merge pull request #13579 from jordan-woyak/work-queue-thread-cleanup
WorkQueueThread: Implement in terms of WaitableSPSCQueue. Add unit tests.
2025-04-30 16:10:28 -05:00
Jordan Woyak 43e4e8f182
Merge pull request #13581 from jordan-woyak/dvd-WorkQueueThread
DVDThread: Implement with WorkQueueThread and WaitableSPSCQueue.
2025-04-30 16:09:36 -05:00
Jordan Woyak 4899913446 Common: Move some duplicate container element construction logic into a ManuallyConstructedValue template. 2025-04-30 14:56:07 -05:00
Jordan Woyak a149b9d62d WorkQueueThread: Cleanups. Implement in terms of WaitableSPSCQueue. Add single producer WorkQueueThreadSP. 2025-04-30 14:31:51 -05:00
OatmealDome 0b0151770a
Merge pull request #13436 from JoshuaVandaele/clang-format-19
Update clang-format to version 19
2025-04-30 01:17:31 -04:00
Dr. Dystopia c32ca0696e FifoPlayer: Make functions static 2025-04-28 20:09:14 +02:00
Mihai Brodschi bad78cfed4 Core, VideoCommon: Fix crash at shutdown due to destructor ordering
Previously, PerformanceTracker registered a callback to be updated on
emulation state changes. PerformanceTrackers live in a global variable
(g_perf_metrics) within libvideocommon. The callback was stored in a
global variable in libcore. This created a race condition at shutdown
between these libraries, when the PerfTracker's destructor tried to
unregister the callback.
Notify the PerfTracker directly from libcore, without callbacks, since
Core.cpp already references g_perf_metrics explicitly. Also rename
Core::CallOnStateChangedCallbacks to NotifyStateChanged to better
reflect what it's doing.
2025-04-28 07:11:53 +03:00
Jordan Woyak 4ec2072beb Core: Use MoveOnlyFunction for RunOnCPUThread. 2025-04-27 20:07:13 -05:00
Jordan Woyak 37aa65afc4 VideoCommon: Use MoveOnlyFunction for AsyncRequests. 2025-04-27 20:07:13 -05:00
Jordan Woyak e403dee3da Common: Add MoveOnlyFunction. 2025-04-27 20:07:13 -05:00
Joshua Vandaële 97e696e524
CMake: Explicitely link udev if LIBUDEV_FOUND is set 2025-04-27 22:03:15 +02:00
Jordan Woyak 2e6e7eddd1 DVDThread: Implement with WorkQueueThread and WaitableSPSCQueue. 2025-04-27 04:16:27 -05:00
JosJuice 552b6da9c4 Hide DirectoryBlob boot.bin files from game list
Extracted games contain a boot.bin file that contains the disc header.
These boot.bin files are considered valid volumes by Dolphin, since
Dolphin only checks the disc header to determine if something is a valid
GC/Wii disc. Running them doesn't make any sense, though.

boot.bin files used to not be scanned by Dolphin due to their file
extension, but .bin was added to the list of file extensions to scan for
in 494e2c0. To stop them from showing up in the game list, let's update
the ShouldHideFromGameList mechanism.
2025-04-26 20:54:32 +02:00
Tilka 8ee64a84c7
Merge pull request #13590 from tygyh/UCodes-Remove-redundant-qualifiers
UCodes: Remove redundant qualifiers
2025-04-26 16:23:27 +01:00
JosJuice f060baa257 Config: Add locking for config changed callbacks
Different threads are adding and calling callbacks, so this should have
some locking. This is both to ensure thread safety when accessing
`s_callbacks` and to ensure that there won't be situations where a
callback gets called after it's removed.

`s_callback_guards` is also accessed from multiple threads and has
therefore been made atomic.
2025-04-26 12:56:37 +02:00
JosJuice 741ffc3114
Merge pull request #13514 from LillyJadeKatrin/retroachievements-failed-load-bug
Call AchievementManager CloseGame on load failures
2025-04-26 10:36:09 +02:00
Dentomologist 3a883f28d6 Config: Add [[nodiscard]] to AddConfigChangedCallback
Require callers of Config::AddConfigChangedCallback and
CPUThreadConfigCallback::AddConfigChangedCallback to handle the returned
ConfigChangedCallbackIDs to hopefully prevent future issues with
callbacks getting called after their associated objects have been
destroyed.
2025-04-25 16:04:12 -07:00
Dentomologist 45b9def42c VideoConfig: Remove ConfigChangedCallback on shutdown 2025-04-25 16:00:43 -07:00
Dentomologist d0dc8ae5e1 FreeLook: Remove ConfigChangedCallback on shutdown 2025-04-25 16:00:43 -07:00
Dentomologist 9db4067957 UICommon: Merge ConfigChangedCallbacks
Use a single lambda as a callback which calls InitCustomPaths and
RefreshConfig instead of having separate callbacks for each of them.

This fixes the callback for InitCustomPaths not being removed on
shutdown; the callback for the lambda (previously for RefreshConfig) is
already removed in Shutdown().
2025-04-25 16:00:43 -07:00
Dentomologist 8724daf44e Settings: Remove ConfigChangedCallback on shutdown 2025-04-25 16:00:19 -07:00
Dentomologist 9c40a7976b AchievementManager: Remove ConfigChangedCallback on shutdown
Prevent SetHardcoreMode from being called after m_client is set to
nullptr. rc_client_set_hardcore_enabled() checks for nullptr so this
didn't cause any problems, but better not to rely on that.

Also prevents multiple SetHardcoreMode callbacks from piling up when
repeatedly toggling Config::RA_ENABLED.
2025-04-25 15:29:29 -07:00
Dentomologist e37a195192 MainWindow: Fix use-after-free during shutdown
Remove ConfigChangedCallback in MainWindow's destructor to prevent the
callback from accessing the destroyed MainWindow afterward.

After MainWindow is destroyed UICommon::Shutdown calls
LogManager::Shutdown which ultimately triggers any remaining callbacks.
This resulted in calling MainWindow::OnHardcoreChanged, which crashed in
debug builds and didn't have any obvious effect in release builds.
2025-04-25 15:29:29 -07:00
Dr. Dystopia 9868138c22 UCodes: Remove redundant qualifiers 2025-04-25 13:18:56 +02:00
Dr. Dystopia 066408326c Core/HW/EXI: Remove redundant `inline` specifiers 2025-04-25 12:03:52 +02:00
Dr. Dystopia 50ca32352f Core/HW/GCMemcard: Make variables constant 2025-04-25 11:35:59 +02:00
Tilka 805307f432
Merge pull request #13451 from vyuuui/numeric_labels
Add numeric label support to assembler
2025-04-25 01:56:43 +01:00
Tilka fe307a06c6
Merge pull request #13476 from jordan-woyak/sdl-header
InputCommon: Move SDL Device class into its own cpp/h files.
2025-04-25 01:49:52 +01:00
Tilka 5523b9a01b
Merge pull request #13487 from Dentomologist/performancemetrics_fix_window_arrangement
PerformanceMetrics: Fix window arrangement
2025-04-25 01:40:58 +01:00
Tilka 50026ab795
Merge pull request #13497 from hoogmin/modernize_fs_path
Core/Common/FileUtil.cpp: Use std path utility for automatic path separator handling.
2025-04-25 01:38:35 +01:00
Tillmann Karras a6290caa2e DSPHLE: set accelerator gain 2025-04-25 01:09:15 +01:00
Tillmann Karras 8412a7c336 DSPAccelerator: update comment (NFC) 2025-04-25 01:09:15 +01:00
Tillmann Karras f0bacb826a DSPAccelerator: rename MMIOPCMHalt to MMIOPCMNoInc 2025-04-25 01:09:15 +01:00
Tillmann Karras 7c7c179b44 DSP tests: update DSP MMIO labels 2025-04-25 00:51:46 +01:00
Tillmann Karras 05381c5b6d Address Pokechu22's feedback 2025-04-25 00:51:46 +01:00
xperia64 cd77e682ca Name gain shift/scaling better 2025-04-25 00:51:46 +01:00
xperia64 c460cafecf Update ACDRAW/ACDSAMP reg names in DSPTables and DSPSpy tests 2025-04-25 00:51:46 +01:00
xperia64 d517fe25f1 Add accelerator input MMIO register, fix MMIO PCM modes 2025-04-25 00:51:45 +01:00
xperia64 14fadbbe56 ADPCM mode doesn't entirely die with larger accesses, gain is PCM only 2025-04-25 00:51:45 +01:00
xperia64 c7d8afc5a7 Use correct exceptions for d3 reads/writes 2025-04-25 00:51:45 +01:00
xperia64 0dd282f626 Fix DSPAcceleratorTest 2025-04-25 00:51:45 +01:00
xperia64 ac2fdefcb4 Refactor accelerator format as a bitfield, use gain/yn1/yn2 in PCM mode 2025-04-25 00:51:45 +01:00
xperia64 04c7c1a4a1 Rename accelerator accesses to 'raw' and 'sample' 2025-04-25 00:51:45 +01:00
xperia64 256d9f8702 Improve ReadD3 emulation 2025-04-25 00:51:45 +01:00
xperia64 bbc11edd7d Rework WriteD3 based on hardware testing 2025-04-25 00:51:45 +01:00
Tillmann Karras 4d9dc1e1cd GekkoDisassembler: standardize SPR names and add missing ones 2025-04-25 00:24:12 +01:00
Dr. Dystopia ef8b9a0dcd Core/HW/SI: Make variables constant 2025-04-24 17:01:12 +02:00
JMC47 8fa725d5e4
Merge pull request #13573 from tygyh/DolphinTool-Make-parameter-constant
DolphinTool: Make parameter constant
2025-04-24 00:49:10 -04:00
JMC47 fc0aafca3b
Merge pull request #13577 from tygyh/UCodes-Make-functions-static
UCodes: Make functions static
2025-04-24 00:48:46 -04:00
JMC47 f675048768
Merge pull request #13578 from tygyh/Core/HW-Remove-redundant-empty-lambda-parameter-lists
Core/HW: Remove redundant empty lambda parameter lists
2025-04-24 00:48:28 -04:00
Jordan Woyak 1cea31c75a
Merge pull request #13580 from LillyJadeKatrin/retroachievements-de-bug-debug
Fix debugger disabled bug
2025-04-23 23:28:19 -05:00
Jordan Woyak 3025cd472c
Merge pull request #13491 from JosJuice/oh0-removed-opened
IOS: Remove from m_opened_devices in OH0::OnDeviceChange
2025-04-23 23:25:34 -05:00
LillyJadeKatrin 022bc3bf8d Fix debugger disabled bug
Fixing an oversight: this was causing the debugger to be disabled if achievements were disabled but hardcore mode was still enabled in the .ini. This fix properly checks for hardcore state via AchievementManager which takes both settings into account.
2025-04-23 22:57:35 -04:00
Sanjay Govind 8bb07bf3c4 LibusbDevice: Send wakeup command to Santroller devices 2025-04-24 12:09:41 +12:00
Admiral H. Curtiss 879a8889aa
Merge pull request #13431 from jordan-woyak/spsc-waiting
Common: SPSCQueue cleanups and improvements.
2025-04-23 22:19:15 +02:00
Dr. Dystopia 564e7c3320 UCodes: Make functions `static` 2025-04-23 21:36:13 +02:00
Dr. Dystopia 467a568f60 Core/HW: Remove redundant empty lambda parameter lists 2025-04-23 21:32:09 +02:00
Dr. Dystopia 03a6fdcd85 DolphinTool: Make variables constant 2025-04-23 20:24:50 +02:00
JosJuice bda1f379b7 IOS: Remove from m_opened_devices in OH0::OnDeviceChange
I've been playing Rock Band 3 recently and have experienced a bug where
sometimes if you disconnect and reconnect a USB microphone, the game
won't pick up on it connecting, not even it you disconnect and reconnect
it again. An investigation into what's going on inside Dolphin shows
that when the game triggers a call to OH0::DeviceOpen after the device
has been reinserted, Dolphin doesn't open the device because it's
already present in m_opened_devices.

Removing the device from m_opened_devices after calling OH0::TriggerHook
in OH0::OnDeviceChange resolves this specific issue in my testing. Doing
this matches us removing the device from m_opened_devices after calling
OH0::TriggerHook in OH0::DeviceClose, but I haven't looked at exactly
what real IOS does.

I have been able to reproduce a much rarer issue that has the same
symptoms on the surface but where OH0::DeviceOpen gets past its
m_opened_devices check. I'm currently not sure what the cause of this
remaining issue is.
2025-04-23 17:19:14 +02:00
Dr. Dystopia fe657b9759 DolphinTool: Make parameter constant 2025-04-23 15:55:48 +02:00
Martino Fontana e751235574 DolphinQt: Remove unused variables from `AdvancedPane.h`
Small oversight from #13422.
2025-04-23 12:32:12 +02:00
Joshua Vandaële bf554edfe0
linter: Add and apply new formatting rules
New rules:
`InsertNewlineAtEOF: true`
`RemoveSemicolon: true`
`RequiresClausePosition: WithPreceding`
2025-04-23 11:19:57 +02:00
Joshua Vandaële 2c54ee94c1
linter: Apply clang-format 19.1 formatting
find ./Source/ -name '*.cpp' -o -name '*.h' | xargs clang-format-19 -i
2025-04-23 11:19:20 +02:00
JMC47 8f3483fdd4
Merge pull request #13565 from LillyJadeKatrin/retroachievements-end-of-memory-bug
Fix memory bounds error in achievements dev
2025-04-23 01:01:47 -04:00
Jordan Woyak af960651e8 Common: SPSCQueue cleanups and improvements. 2025-04-22 23:49:32 -05:00
Jordan Woyak 116bd3a031
Merge pull request #13382 from JoshuaVandaele/btadapterchoice
Add a GUI option to select a bluetooth device
2025-04-22 22:05:30 -05:00
LillyJadeKatrin 8b610101bc Fix memory bounds error in achievements dev
This particular out of bounds error was causing every memory read at the far end of memory to return all zeroes.
2025-04-22 22:49:55 -04:00
Tilka c4f65febf3
Merge pull request #13563 from Tilka/rcheevos
Fix building with USE_RETRO_ACHIEVEMENTS=OFF
2025-04-23 03:27:15 +01:00
Tilka 871073eee2
Merge pull request #13564 from jordan-woyak/triforce_ipl-warning
Core/Boot: Fix unused variable warning.
2025-04-23 03:26:48 +01:00
Jordan Woyak 31a3de819d
Merge pull request #13540 from tygyh/DiscIO-Remove-redundant-qualifiers
DiscIO: Remove redundant qualifiers
2025-04-22 20:00:03 -05:00
Jordan Woyak 0fd090ce19
Merge pull request #13550 from Tilka/top_warnings
IOS/Network: fix some warnings
2025-04-22 19:45:47 -05:00
Joshua Vandaële 4773a6f323
Add a GUI option to select a bluetooth device 2025-04-23 02:19:28 +02:00
JMC47 826625c7be
Merge pull request #13422 from jordan-woyak/adv-tooltips
DolphinQt: Use tooltips on Advanced tab.
2025-04-22 19:27:21 -04:00
Jordan Woyak 00544e4dff Core/Boot: Fix unused variable warning. 2025-04-22 18:19:32 -05:00
Tillmann Karras 609165b62b Fix building with USE_RETRO_ACHIEVEMENTS=OFF 2025-04-22 23:45:40 +01:00
Tillmann Karras f6d3f448d9 IOS/Network: fix -Wmissing-braces warnings 2025-04-22 23:36:01 +01:00
Jordan Woyak ac76deaef0
Merge pull request #13529 from jordan-woyak/StateBuffer
Core/State: Avoid unnecessarily value-initializing large buffers.
2025-04-22 16:30:51 -05:00
OatmealDome da84a9f605
Merge pull request #13477 from OatmealDome/macos-11
CMakeLists: Bump minimum macOS to 11.0
2025-04-22 17:27:12 -04:00
Jordan Woyak afee9a56e9
Merge pull request #13474 from JosJuice/rock-band-playstation
IOS: Disguise Rock Band PlayStation USB devices as Wii equivalents
2025-04-22 16:02:16 -05:00
Jordan Woyak 9254a53397
Merge pull request #13490 from JosJuice/one-usb-scanner
IOS: Only have one USB scanning thread
2025-04-22 16:01:18 -05:00
JMC47 fd8ce3ce80
Merge pull request #13555 from jordan-woyak/cubeb-default
AudioCommon: Make cubeb sound backend default on Linux.
2025-04-22 12:07:43 -04:00
JosJuice 12010ebf78
Merge pull request #13557 from LillyJadeKatrin/pause-bugfix
AchievementManager: Always allow pausing if game not loaded
2025-04-22 17:55:23 +02:00
Dr. Dystopia ecafd8058f DiscIO: Remove redundant qualifiers 2025-04-22 13:54:10 +02:00
Jordan Woyak 89873d6238
Merge pull request #13472 from tygyh/Use-values-function
Core/NetPlayServer: Use std::views::values and std::views::keys functions
2025-04-22 02:25:46 -05:00
LillyJadeKatrin d670c21c8e Always allow pausing if game not loaded
RetroAchievements disables pausing too frequently when running but there's no sense of doing this if RetroAchievements does not currently have a game running.
2025-04-21 22:38:09 -04:00
Jordan Woyak 1e8b668793 DVDInterface: Fix crash when playing wiiware. 2025-04-21 18:38:33 -05:00
Jordan Woyak 1fc6be7f80 AudioCommon: Make cubeb sound backend default on Linux. 2025-04-21 16:25:40 -05:00
JosJuice e468e2359a IOS: Only have one USBScanner
Some games open two USB interfaces, e.g. /dev/usb/oh0 and /dev/usb/hid.
This was causing us to run two scanning threads at once, using up more
CPU time for scanning than we need to.
2025-04-21 21:57:49 +02:00
LillyJadeKatrin 8f12512d0d Call AchievementManager CloseGame on load failures
We have identified that a failed RetroAchievements game load (most easily done when closing a game before the server can finish responding) can leave data behind that causes problems. As such, refactored CloseGame to always delete data even if there wasn't a game loaded when it was called, and call it on the failure paths of LoadGameCallback.
2025-04-21 15:53:31 -04:00
JosJuice 920a44aec2 IOS: Diff device lists in USBHost instead of USBScanner
Instead of having USBScanner create "hooks" as it scans for devices,
let's have USBScanner present a list of devices to USBHost and have
USBHost diff the new device list with its old device list to create the
hook calls instead. This gets rid of some complex edge cases that the
next commit otherwise would have to deal with, in particular regarding
toggling determinism and adding new USBHosts to a USBScanner.
2025-04-21 21:25:36 +02:00
JosJuice 24fdcc1a0e IOS: Add missing locking for USBHost::m_devices
Note: After adding the missing locking of m_devices_mutex, I had to move
the locking of m_hooks_mutex to avoid a random deadlock between the CPU
thread and USB scanning thread. (Either that or I would have to lock
m_devices_mutex before m_hooks_mutex.)
2025-04-21 21:25:35 +02:00
JosJuice 50a8ae9d90 IOS: Keep copy of m_devices in USBHost
This gets rid of the ugly direct access to USBScanner::m_devices that
was introduced by the previous commit.

This also fixes a potential thread safety issue.
USB_HIDv4::TriggerDeviceChangeReply loops through m_devices and calls
GetDeviceEntry for each device. If USB_HIDv4::TriggerDeviceChangeReply
is called after a new device is added to m_devices but before hooks are
dispatched, GetDeviceEntry crashes, because the hook that's supposed to
update m_device_ids hasn't run yet. With this commit, this issue can no
longer happen, because USBHost::m_devices_mutex doesn't get unlocked in
between updating m_devices and dispatching the hooks.
2025-04-21 21:25:35 +02:00
JosJuice 427e9c5ad2 IOS: Move USB scanning thread to new class USBScanner 2025-04-21 21:25:35 +02:00
JosJuice c0c180bdc2
Merge pull request #13467 from JosJuice/profiler-thread-safety
Common: Make Profiler thread safe
2025-04-21 20:19:47 +02:00
JMC47 258fc1b209
Merge pull request #12949 from LillyJadeKatrin/retroachievements-new-dev-branch
RetroAchievements - Dev Branch Refactor
2025-04-21 14:08:40 -04:00
Dr. Dystopia 35fa32e254 Core/PowerPC/JitArm64: Replace zeroes in boolean context with `false` 2025-04-21 17:06:06 +02:00
Zopolis4 89fdc0b9e0
Fix Triforce GameINIs 2025-04-21 22:05:26 +10:00
Zopolis4 2238967d93
Add Triforce IPL hash 2025-04-21 22:05:25 +10:00
Zopolis4 660232a12c
Preliminary implementation of the Triforce Baseboard 2025-04-21 22:05:25 +10:00
Zopolis4 2baa09d5b4
Implement endian swapping and lazy decryption of Triforce DI commands 2025-04-21 22:05:25 +10:00
Zopolis4 8d94d25203
Implement Triforce ID parsing 2025-04-21 22:05:25 +10:00
Zopolis4 71f654cdc4
Add Triforce platform and preliminary boot.id parsing 2025-04-21 22:05:25 +10:00
Zopolis4 494e2c05c2
Adding support for detecting .bin images 2025-04-21 22:05:24 +10:00
OatmealDome ec9fb08dab MTLUtil: Remove availability check for iOS 13
My personal fork requires minimum iOS 14, so this is not required.
2025-04-21 00:24:58 -04:00
OatmealDome 65f42ee2d2 MTLUtil: Always use MSL 2.3
The minimum macOS (and minimum iOS on my personal fork) are enough to allow MSL 2.3 usage without availability checks.
2025-04-21 00:24:58 -04:00
OatmealDome 53b66be47d MTLUtil: Remove availability checks for macOS 10.15 and iOS 13 2025-04-21 00:24:58 -04:00
OatmealDome 0bc33fb6df MTLUtil: Remove availability check for macOS 10.15 2025-04-21 00:24:58 -04:00
OatmealDome dc8865718e MTLUtil: Remove availability check for macOS 11 2025-04-21 00:24:58 -04:00
OatmealDome 7213cdd439 MemoryUtil: Remove availability checks for macOS 11 2025-04-21 00:24:58 -04:00
Jordan Woyak a517c9f862 CoreTiming: Move VISkip calculation into a separate function. 2025-04-20 22:01:06 -05:00
Jordan Woyak 7236d1539a CoreTiming: Cleanups to avoid drift from cumulative rounding errors. 2025-04-20 22:01:01 -05:00
OatmealDome bc3c3eb79a
Merge pull request #13524 from jordan-woyak/fix-gba-link
SI: Fix GBA link by having a separate response for "error" and "no data".
2025-04-20 22:29:38 -04:00
Tilka 7e7b75c1e6
Merge pull request #13537 from tygyh/DiscIO-Make-variables-constexpr
DiscIO: Make variables constexpr
2025-04-21 00:52:18 +01:00
Tilka 9504916f72
Merge pull request #13538 from tygyh/DiscIO-Use-default-to-define-a-trivial-destructor
DiscIO: Use `= default` to define a trivial destructor
2025-04-20 22:32:12 +01:00
Tilka 0a52140145
Merge pull request #13549 from shuffle2/ucrtpatch
remove ucrt compat patches
2025-04-20 22:24:57 +01:00
Tilka 45ed4b2be9
Merge pull request #13541 from tygyh/DiscIO-Remove-redundant-zero-initializers-in-aggregate-initializations
DiscIO: Remove redundant zero initializers in aggregate initializations
2025-04-20 22:07:58 +01:00
Tilka 2adf3449f3
Merge pull request #13548 from shuffle2/http
HttpRequest: remove some legacy code for windows < 8.1
2025-04-20 22:07:32 +01:00
Jordan Woyak 8d7d026da6
Merge pull request #13533 from tygyh/DiscIO-Make-classes-final
DiscIO: Make classes final
2025-04-20 16:06:07 -05:00
Shawn Hoffman 2d1161150b remove ucrt compat patches
Dolphin has not supported a version of windows where
these binaries exist for a while.
2025-04-20 12:50:10 -07:00
Shawn Hoffman 5dd896a7d9 HttpRequest: remove some legacy code for windows < 8.1 2025-04-20 11:46:09 -07:00
Dr. Dystopia 07ad189b4f DiscIO: Pass parameters by constant reference 2025-04-20 08:26:09 +02:00
Jordan Woyak ac3dbe2294 Core/State: Use UniqueBuffer instead of make_unique and std::vector for save state buffers. 2025-04-19 17:29:56 -05:00
Jordan Woyak 12dcd6c285 Common: Add UniqueBuffer and SharedBuffer templates. 2025-04-19 17:13:40 -05:00
Jordan Woyak f78fa2e9f1 LinearDiskCache: Use make_unique_for_overwrite. 2025-04-19 17:13:40 -05:00
Dr. Dystopia 77b4270981 DiscIO: Remove redundant zero initializers in aggregate initializations 2025-04-19 22:04:50 +02:00
Dr. Dystopia 7123fcd19b DiscIO: Use `= default` to define a trivial destructor 2025-04-19 17:43:18 +02:00
Dr. Dystopia f6ba69f99a DiscIO: Make variables constexpr 2025-04-19 17:17:02 +02:00
JosJuice 1ae0b23265
Merge pull request #13528 from jordan-woyak/win-cmake-fix
Common/Timer: Change HANDLE to void* to avoid including Windows.h to fix cmake build.
2025-04-19 16:41:51 +02:00
JosJuice 49ebdaaae3
Merge pull request #13507 from JosJuice/time-played-game-id
Core: Don't store game ID inside TimePlayed
2025-04-19 14:28:02 +02:00
Jordan Woyak fda8afaf5c SI: Fix GBA link by having a separate response for "error" and "no data". 2025-04-19 03:28:57 -05:00
Dr. Dystopia 301cc5ee63 DiscIO: Make classes final 2025-04-19 09:05:22 +02:00
Jordan Woyak cb20959679 Common/Timer: Change HANDLE to void* to avoid including Windows.h to fix cmake build. 2025-04-18 21:50:15 -05:00
Jordan Woyak 056b0339be
Merge pull request #13496 from TryTwo/PR_GameSettings_Fix
Game config settings: Show global value when no game setting exists.
2025-04-18 15:56:59 -05:00
LillyJadeKatrin c55624702c Allow RA Dev Tools for Unidentified Games
Due to requests from RA Devs, updating the AchievementManager LoadGameCallback to still set MemoryPeeker (and set m_system) if the load game response is NO_GAME_LOADED, so that the memory inspector et al continue function properly on unidentified hashes. Without this, no memory is loaded and the memory inspector will show all zeroes.
2025-04-16 23:59:16 -04:00
LillyJadeKatrin a96c935c1c Added modified achievements confirmation
Added a line to the close game confirmation dialog to tell the dev if there are unsaved modifications to the achievement assets.
2025-04-16 17:01:22 -04:00
LillyJadeKatrin b9a93794ff Added game title estimate for achievement development
If the development system is started for a game with an unrecognized hash, RA_Integration opens a dialog for connecting the hash with a title. That dialog is prepopulated by the results of GameTitleEstimateHandler.
2025-04-16 17:01:22 -04:00
LillyJadeKatrin ef612912a2 Handle local achievements
Displays an additional message when an achievement unlocks that isn't on the site yet (either hasn't yet been uploaded or modified from remote) i.e. achievements the "player" is actively developing.
2025-04-16 17:01:21 -04:00
LillyJadeKatrin fa782de15c Add MemoryPoker for RAIntegration 2025-04-16 17:00:58 -04:00
Jordan Woyak f8bf35e6f0
Merge pull request #13518 from tygyh/Fix-Partition-struct-comparison-operators
DiscIO/Volume: Fix Partition struct comparison operators
2025-04-16 00:20:28 -05:00
Jordan Woyak 8bfde300f4
Merge pull request #13519 from tygyh/Replace-definitions-with-constant-expressions
Replace definitions with constant expressions - Core/HW/EXI/BBA/TAP_Win32
2025-04-16 00:19:40 -05:00
OatmealDome 2af276d27e MemArenaDarwin: Initialize all address variables passed to vm_map 2025-04-16 00:50:54 -04:00
Dr. Dystopia c4f906bcd9 Replace definitions with constant expressions - Core/HW/EXI/BBA/TAP_Win32 2025-04-15 12:26:16 +02:00
Dr. Dystopia 3bb925c1c7 DiscIO/Volume: Fix Partition struct comparison operators 2025-04-15 12:18:23 +02:00
Dr. Dystopia 2397a3a915 Use range-based loops - Core VideoBackends 2025-04-14 21:49:08 +02:00
LillyJadeKatrin 90a4be4b36 Add RAIntegration event handler
Some refactoring done to hardcore toggling so that it's more readily available for the toggle hardcore event.
2025-04-13 13:36:15 -04:00
LillyJadeKatrin 9caa02493d Add RetroAchievements development menu
When the menu exists, it replaces the Achievements action in the Tools menu.
2025-04-13 08:06:00 -04:00
LillyJadeKatrin 36c7e7f3c7 Load RA_Integration.DLL at init if present 2025-04-13 08:05:59 -04:00
LillyJadeKatrin cab5bc5680 Update rcheevos submodule to newest master 2025-04-13 08:05:59 -04:00
LillyJadeKatrin 6ad267017c Refactor AchievementBox to const pointer
Not sure when or why this became necessary but it works.
2025-04-13 08:05:59 -04:00
Dentomologist 2c20d5dcd9 GameList: Ignore non-left double-clicks
Don't start a game when a double-click is triggered by a mouse button
other than the left button.

Fixes https://bugs.dolphin-emu.org/issues/12272.
2025-04-12 16:17:04 -07:00
JosJuice 4f210df86a
Merge pull request #13489 from AdmiralCurtiss/translate-audio-backend
DolphinQt/AudioPane: Fix Audio backend dropdown not using translated names
2025-04-12 17:59:42 +02:00
JMC47 bcddd78a89
Merge pull request #13500 from jordan-woyak/accel-gyro-any-mapping
InputCommon: Activate IMU Accelerometer and Gyroscope mappings when any direction has a bound input.
2025-04-12 11:47:38 -04:00
JosJuice d194e69bbd Core: Don't store game ID inside TimePlayed
When you use TimePlayed, you have to provide a game ID either when
creating the object or when calling GetTimePlayed on it. If you don't
provide a game ID when creating the object, function calls that don't
take a game ID will silently fail, except for Reload. This isn't very
obvious, and there's no strong benefit to storing the game ID inside
TimePlayed anyway (it just lets TimePlayed skip calling EscapeFileName),
so this commit removes the TimePlayed constructor that takes a game ID
and instead makes the functions that need game IDs always take a game ID
argument.
2025-04-12 15:20:49 +02:00
JMC47 5285b1168a
Merge pull request #13503 from sepalani/ip-top-perf
IP/Top: Fix performance regression in GetInterfaceOpt
2025-04-11 18:56:35 -04:00
Sepalani 03451f2bc9 IP/Top: Fix performance regression in GetInterfaceOpt 2025-04-12 01:38:00 +04:00
Jordan Woyak 87beb7d67b InputCommon: Activate IMU Accelerometer and Gyroscope when any direction has a bound input. 2025-04-10 15:55:49 -05:00
JMC47 fc0179c1ea
Merge pull request #13498 from jordan-woyak/immxfb-dualcore-todo
BPStructs: Add TODO for unsafe usage of GetTicks.
2025-04-09 23:20:35 -04:00
Jordan Woyak 4aa056dd4d BPStructs: Add TODO for unsafe usage of GetTicks. 2025-04-08 19:58:31 -05:00
Javier Martinez 7ca8dc3767 Use std path utility for automatic path seperator handling.
It was being done manually, which a TODO comment advised against.
Using generic_string() from std::filesystem::path solves this.

Fix encoding issue using generic_wstring instead.
2025-04-08 16:54:11 -04:00
JMC47 01363572cb
Merge pull request #13483 from Sam-Belliveau/fixed_playback_speed
Use Doubles for Sample Rate Conversion
2025-04-08 13:45:12 -04:00
TryTwo 91380258a1 GameConfig Settings: If no game setting exists for a certain option, then show the global setting value. Previously showed the default value if the game setting didn't exist. 2025-04-07 20:41:46 -07:00
JMC47 ee27f03a43
Merge pull request #13439 from jordan-woyak/perf-marker
Core: Move CountPerformanceMarker to VideoInterface to eliminate a Throttle call. PerformanceMetrics: Fixes/Cleanups.
2025-04-07 17:57:56 -04:00
Admiral H. Curtiss b306d00d5d
DolphinQt/AudioPane: Fix Audio backend dropdown not using translated names 2025-04-06 05:09:23 +02:00
Dentomologist ec49ea5be3 PerformanceMetrics: Fix window arrangement
Fix overlays stacking on top of each other or not moving to the edge of
the screen when enabling or disabling overlays while emulation is
active.

This change only applies when Config::GFX_MOVABLE_PERFORMANCE_METRICS is
False.
2025-04-05 14:22:17 -07:00
Sam Belliveau 74e752ed9c Mixer: Use Doubles for Sample Rate Conversion. 2025-04-05 13:46:37 -05:00
Jordan Woyak 06afa0036a CoreTiming: Fix Precision Frame Timing in Dual Core mode on Windows. 2025-04-04 19:13:53 -05:00
Jordan Woyak e0e53f3235 Common/Timer: Use YieldProcessor on Windows. 2025-04-03 15:48:51 -05:00
Jordan Woyak 7dc27753e2 CoreTiming: Add a setting to use Common::PrecisionTimer. 2025-04-03 15:48:51 -05:00
Jordan Woyak e5c8935acc Common: Create a PrecisionTimer class. 2025-04-03 15:48:51 -05:00
Admiral H. Curtiss dadbd2f9fb
Merge pull request #13479 from iwubcode/mali_draw_fix
VideoCommon: fix a mali draw bug that causes crashes in some games
2025-04-03 21:55:41 +02:00
Jordan Woyak af1f07207f VideoInterface: Throttle for VBlank only when necessary. 2025-04-02 23:24:03 -05:00
Jordan Woyak c42dab6388 Core: Move CountPerformanceMarker to VideoInterface to eliminate a Throttle call. PerformanceMetrics: Fixes/Cleanups. 2025-04-02 23:23:51 -05:00
JMC47 61ab662733
Merge pull request #13424 from Sam-Belliveau/granule-performance-improvements
AudioCommon: Increased Granule Synthesis Performance
2025-04-02 22:44:14 -04:00
Dr. Dystopia ebc9c8492d Use std::views::values and std::views::keys functions - NetPlayServer 2025-04-02 20:06:10 +02:00
iwubcode ec36fce7c6 VideoCommon: fix a mali bug by moving the perf queries back to being close to the draw call, having them apart seems to cause errors on some devices 2025-04-01 18:32:42 -05:00
Sam Belliveau 877864c23a Improve Performance of Granular Buffering + User Adjustable Buffer Size 2025-04-01 18:17:21 -04:00
Jordan Woyak 33a7283d3b VideoBackends/Metal: Fix anisotropic filtering handling. 2025-04-01 15:09:21 -05:00
JosJuice 01a7732d50 IOS: Disguise Rock Band PlayStation USB devices as Wii equivalents
This lets you use PS3 Rock Band controllers with Wii Rock Band and
Guitar Hero games.

A normal user will probably never have any reason to disable this
behavior, but I figured maybe there's some person out there who would
like to disable it. (For instance, I know there's a mod for RB3 that's
trying to implement the same kind of cross-console controller
compatibility, and that can only be tested if the behavior I'm adding is
disabled.) So the behavior is controlled by an INI-only setting.
2025-03-31 21:24:25 +02:00
Jordan Woyak 17c994df2a InputCommon: Move SDL Device class into its own cpp/h files. 2025-03-30 23:23:06 -05:00
Jordan Woyak 4533605c03 DolphinQt: Update tooltips for ImmediateXFB, VBISkip, SkipPresentingDuplicateFrames interaction clarity. 2025-03-30 20:55:26 -05:00
Jordan Woyak 920f940ad0 DolphinQt: Don't toggle GFX_HACK_SKIP_DUPLICATE_XFBS when GFX_HACK_IMMEDIATE_XFB or GFX_HACK_VI_SKIP are enabled. 2025-03-30 20:51:20 -05:00
Admiral H. Curtiss 1b85da9b85
Merge pull request #13471 from Nitch2024/CTRL+G
[Debugger] CTRL+G support in code and memory view
2025-03-30 15:39:54 +02:00
Nitch2024 1b87ea83e6 [Debugger] CTRL+G support in code and memory view 2025-03-29 12:43:15 -07:00
JosJuice 957265ba52 Common: Make Profiler thread safe 2025-03-29 15:05:02 +01:00
JMC47 9819d66a47
Merge pull request #13221 from mitaclaw/nrvo-fails-1
GCC: Remedy NRVO Fails
2025-03-29 03:26:46 -04:00
JMC47 f00b7d39f0
Merge pull request #13465 from TryTwo/PR_Bugfix
AudioPanel Bugfix
2025-03-28 19:56:36 -04:00
TryTwo efd993f382 AudioPanel bugfix: Forgot to wrap an optional slider in a conditional. 2025-03-28 15:50:24 -07:00
JMC47 4c727a84c5
Merge pull request #13456 from jordan-woyak/mapping-window-blank-square-fix
DolphinQt: Fix blank square in MappingWindow's top-left corner.
2025-03-28 18:44:32 -04:00
JMC47 932b4abdcf
Merge pull request #13457 from jordan-woyak/efb-access-fix
VideoCommon: Fix out-of-bounds and disabled EFB access.
2025-03-28 18:43:57 -04:00
JMC47 7d794897c4
Merge pull request #13434 from JosJuice/android-non-blocking-input-detection
Android: Don't use separate thread for MotionAlertDialog
2025-03-28 18:25:04 -04:00
JMC47 e0032b3e2c
Merge pull request #13122 from TryTwo/PR_Audio_Configs
AudioPanel: Refactor to use Config system.
2025-03-28 14:52:54 -04:00
Joshua Vandaële 3a1a60d4f8
Fix shadowed variable warnings and missing declarations
- PPCSymbolDB:  Resolve shadowed variable warnings
- PerformanceMetrics:  Resolve shadowed variable warnings
- SWEfbInterface: Add missing declarations
2025-03-27 21:48:08 +01:00
Tilka 662cfa38c2
Merge pull request #13460 from jordan-woyak/play-time-tracker-thread-name
Core: Name the play time tracker thread.
2025-03-27 17:02:36 +00:00
JMC47 cb24821dcc
Merge pull request #13217 from cristian64/extract_gecko_creator_name
DolphinQt: Extract creator name from code name in Gecko codes.
2025-03-27 12:26:47 -04:00