37344 Commits

Author SHA1 Message Date
a52e8ff9bd Merge pull request #13585 from tygyh/Core/HW/GCMemcard-Make-variables-constant
Core/HW/GCMemcard: Make variables constant
2025-05-07 16:04:44 -05:00
d74d1d42d6 Merge pull request #13511 from tygyh/Use-range-based-loops-Core-VideoBackends
Core/VideoBackends: Use range-based loops
2025-05-07 15:53:18 -05:00
921ffe153d Merge pull request #13542 from tygyh/DiscIO-Pass-parameters-by-constant-reference
DiscIO: Pass parameters by constant reference
2025-05-07 15:50:11 -05:00
1c54583ae7 Merge pull request #13569 from tygyh/UnitTests-Use-constexpr
UnitTests: Use `constexpr`
2025-05-07 15:48:26 -05:00
b8ca3c8d15 Merge pull request #13575 from tygyh/DolphinTool-Make-variables-constant
DolphinTool: Make variables constant
2025-05-07 15:47:14 -05:00
c4616226ab Merge pull request #13589 from tygyh/Core/HW/EXI-Remove-redundant-inline-specifiers
Core/HW/EXI: Remove redundant `inline` specifiers
2025-05-07 15:44:53 -05:00
3e09d10123 Merge pull request #13571 from tygyh/VertexLoaderTest-Replace-std-tie-with-structured-bindings
VertexLoaderTest: Replace `std::tie` with structured bindings
2025-05-07 15:42:33 -05:00
5af5c83428 Merge pull request #13559 from tygyh/Android-Apply-style-alignment-refactorings
Android: Apply style alignment refactorings
2025-05-07 22:37:09 +02:00
eff334524a HotkeyManager: Add HK_TOGGLE_WII_SPEAK_MUTE 2025-05-07 21:27:50 +04:00
4efbd35a5e IOS/USB: Implement Wii Speak SAMPLER_FREQ register properly
Fix the default sampling rate which should be 16KHz
2025-05-07 20:33:22 +04:00
74a875e9d6 IOS/USB: Implement a bare-bones Wii Speak loudness level
Add a volume modifier to the UI which relies on gain.
2025-05-07 20:33:22 +04:00
1f0ff42aa0 IOS/USB: Implement Wii Speak REQUEST_SET_INTERFACE command
Based on LibusbDevice::SubmitTransfer code
2025-05-07 20:33:22 +04:00
61ab0faab8 Config: Rename MAIN_WII_SPEAK_CONNECTED to MAIN_WII_SPEAK_MUTED 2025-05-07 20:33:22 +04:00
aea5054509 CubebUtils: Add COM helper class 2025-05-07 20:33:22 +04:00
407218a8b4 IOS/USB: Report Wii Speak packet size properly 2025-05-07 20:33:22 +04:00
dbc09bfb0d Android: Add emulated Wii Speak 2025-05-07 20:33:22 +04:00
a85ffc116e IOS/USB: Only sample Wii Speak data when necessary
Skip data when HLE Wii Speak is not connected

Lock microphone buffer less frequently
2025-05-07 20:33:22 +04:00
f5dd80bb5b IOS/USB: Try to fix the Wii Speak Channel record/playback feature
1. Fix Wii Speak SAMPLER_MUTE register:
The register should be 12 (i.e. 0x0c) instead of 0xc0.

2. Fix Wii Speak buffer memcpy size parameter:
It seems to fix random echoes and reduce noises when nobody is speaking.

3. Change the isochronous transfer timing:
It is based on empirical testing.
2025-05-07 20:33:22 +04:00
6a36930c74 IOS/USB: Add more logs to the Wii Speak code 2025-05-07 20:33:22 +04:00
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
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
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
599f28045e AchievementManager: verify MEM2 if it exists
Adds MEM2 to MemoryVerifier.
2025-05-06 16:59:27 -04:00
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
2f1d8272a8 DolphinQt/TAS: Use non-default std::atomic struct constructor to fix build with libstdc++ 15. 2025-05-05 16:29:15 -05:00
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
6e22e145a0 HW/SI: Don't require waiting a second before disconnecting an SIDevice. 2025-05-04 15:00:48 -05:00
d2db9d9590 Merge pull request #13608 from jordan-woyak/async-work-thread
Common: Add AsyncWorkThread.
2025-05-04 18:45:14 +02:00
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
380a9291ad Merge pull request #13602 from jordan-woyak/move-only-function
Common: Add MoveOnlyFunction.
2025-05-04 17:28:06 +02:00
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
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
5a80105555 Common and VideoCommon: Change texture data from std::vector to Common::UniqueBuffer. 2025-05-03 18:32:30 -05:00
e80ed595ac VideoCommon: move position/normal matrices to be gettable by function in VertexShaderGen 2025-05-03 16:51:34 -05:00
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
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
78465693ad Merge pull request #13607 from LillyJadeKatrin/retroachievements-wiiware
RetroAchievements - Wii and WiiWare Support
2025-05-03 13:21:00 -04:00
c574b651aa Merge pull request #13621 from JosJuice/android-remove-loaddefaultsettings
Android: Remove unused onSettingsFileNotFound and friends
2025-05-03 18:37:51 +02:00
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
ffd78711be Merge pull request #13618 from jordan-woyak/cubeb-logging
AudioCommon/CubebUtils: Fix logged file name.
2025-05-03 18:33:06 +02:00
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
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
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
63572f15fc Merge pull request #13620 from JosJuice/logmanager-cleanup
LogManager: Stop using manual memory management
2025-05-02 15:24:34 -05:00
ec29d120b5 CoreTiming: Add a setting to pursue accurate emulation time. 2025-05-02 15:23:43 -05:00
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
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
6129953666 Android: Remove unused onSettingsFileNotFound and friends
Old cruft from when the Android code was loading INI files manually.
We don't have any handling for failing to load settings anymore.

This change also updates related comments to reflect how things actually
work nowadays.
2025-05-02 14:25:01 +02:00
06826319c7 AudioCommon/CubebUtils: Fix logged file name. 2025-05-02 02:54:15 -05:00
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