32381 Commits

Author SHA1 Message Date
fcff7a3a49 DolphinQt: Fix FilesystemWidget QTreeView visual style. 2025-05-26 20:58:48 -05:00
543b85a451 DolphinQt: Make WrapInScrollArea and GetWrappedWidget less hacky. 2025-05-26 20:58:48 -05:00
e796e82e8c DolphinQt: Change game properties QTabWidget to QListWidget. 2025-05-26 20:58:48 -05:00
2b9935e6f4 DolphinQt: Change main settings window QTabWidget into a QListWidget and QStackedWidget. 2025-05-26 20:58:48 -05:00
4e8a863d8b Merge pull request #13709 from JosJuice/hide-header-bin
Hide DirectoryBlob header.bin files from game list
2025-05-26 19:41:07 +02:00
66f181a621 Hide DirectoryBlob header.bin files from game list
This is a continuation of 552b6da. That commit hid sys/boot.bin, but not
disc/header.bin, which is only present for Wii games.

Fixes https://bugs.dolphin-emu.org/issues/13810.
2025-05-25 20:37:52 +02:00
18a78a9bab Merge pull request #13647 from jordan-woyak/sha1-avoid-memcpy
Crypto/SHA1: Re-add memcpy avoiding optimization to BlockContext::Update.
2025-05-25 12:40:43 +02:00
f99d3dbd5c Android: Ask system for optimal audio buffer size and sample rate
This can reduce audio latency according to
https://developer.android.com/ndk/guides/audio/opensl/opensl-prog-notes#perform.

Previously we were using the hardcoded values of 48000 Hz and 256 frames
per buffer. The sample rate we use with this change is 48000 Hz on all
devices I'm aware of, but the buffer size does vary across devices.

Terminology note: The old code used the term "sample" to refer to what
Android refers to as a "frame". "Frame" is a clearer term to use for
this, so I've changed OpenSLESStream's terminology. One frame consists
of one sample per channel.
2025-05-25 11:59:33 +02:00
34e8fb068f Android: Get rid of OpenSLESStream's global state
Not sure if we're ever going to want to have more than one of these at
the same time, but these global variables are a code smell nonetheless.

I'm also deleting the existing member variables because they were
unused.
2025-05-25 11:55:22 +02:00
7c237bbd7c AudioCommon: Remove unused includes 2025-05-25 10:30:41 +02:00
776086fa1c Merge pull request #13692 from jordan-woyak/work-queue-thread-command-queue
WorkQueueThread: Fix Cancel() race with internal command queue.
2025-05-24 16:26:10 +02:00
b23dddea4e VideoCommon: move vertex shader gen logic to a 'process_vertex()' function, to eventually allow for custom shaders to override vertex logic 2025-05-24 01:27:58 -05:00
35d70fd531 IOS/KD: Set Checksum when flushing NWC24Config 2025-05-23 18:01:06 -04:00
7c8d53a51d Merge pull request #13699 from JosJuice/force-typo
DolphinQt: Fix verb agreement in Immediate XFB description
2025-05-22 23:22:53 +02:00
260f0225a4 DolphinQt: Don't translate Wii Speak OSD string
We have a general policy of not translating OSD strings due to the OSD
font not having good enough support for languages other than English.
2025-05-22 16:51:28 +02:00
98b0d1db05 DolphinQt: Fix verb agreement in Immediate XFB description 2025-05-22 16:48:10 +02:00
2ed5f16600 minizip-ng: Stop using compatibility mode 2025-05-22 12:51:55 +02:00
c23b4e1020 RetroAchievements: Updated PatchAllowlistTest to generate new allowlist
Refactors the PatchAllowlistTest to streamline the experience for developers. Instead of a textual description of what needs to change in ApprovedInis.json for RetroAchievements compatibility, the test will now generate a replacement file and instruct the coder where to copy it in their local branch, and what to update APPROVED_LIST_HASH to. The result should be easier and more instructive for developers to make changes, while still maintaining that allowed codes cannot be added or modified without recompiling Dolphin.

As ApprovedInis.json no longer needs to be user-readable for this process, it no longer contains titles or pretty formatting and as such is updated in this commit, hash included.
2025-05-21 21:38:34 -04:00
f90508ff99 Merge pull request #13661 from jordan-woyak/info-first
DolphinQt: Make the Info tab first in the game properties dialog.
2025-05-21 20:43:51 +02:00
a6bc251677 Merge pull request #13693 from jordan-woyak/focus-render-window-on-click
DolphinQt/RenderWidget: Grab focus on mouse button press.
2025-05-21 20:28:58 +02:00
a62449711f Merge pull request #12769 from sepalani/wii-speak
IOS/USB: Emulate Wii Speak using cubeb
2025-05-21 13:54:56 -04:00
9ba71448cc WorkQueueThread: Fix Cancel() race with internal command queue. 2025-05-20 21:51:25 -05:00
f1b7f8a72e DolphinQt/RenderWidget: Grab focus on mouse button press. 2025-05-20 21:06:32 -05:00
1dc4dc6b6d Merge pull request #13675 from LillyJadeKatrin/retroachievements-close-deadlock
AchievementManager - LoadGameCallback
2025-05-20 11:54:31 -04:00
faaf13eaad Merge pull request #13562 from sanjay900/santroller-support
LibusbDevice: Send wakeup command to Santroller devices
2025-05-20 01:13:39 -05:00
dac023af15 Resolve clang-tidy violation 2025-05-18 05:16:17 -04:00
94888d250e Merge pull request #13527 from tygyh/Replace-msg-with-structured-binding-VideoCommon/NetPlayChatUI
VideoCommon/NetPlayChatUI: Replace msg with structured binding
2025-05-17 17:09:13 -05:00
dacb004516 Merge pull request #13190 from tygyh/Move-to-inner-scope-DolphinQT
DolphinQT: Move variables to inner scope
2025-05-17 16:52:25 -05:00
b6803d00fe Revert "RetroAchievements: Fix potential deadlock on shutdown."
This reverts commit 826f04d06c.
2025-05-17 08:29:50 -04:00
137e50dc25 AchievementManager: Remove CloseGame from LoadGameCallback
This was causing deadlocks when a game didn't load (including if RetroAchievements does not yet support it) because it was attempting to close the queue the the callback was currently running on, forcing LoadGameCallback to wait for LoadGameCallback to finish. However, it appears that recent changes to the queue have independently resolved the reason CloseGame was being called here in the first place.
2025-05-17 08:29:34 -04:00
88389146d3 Merge pull request #13662 from Dentomologist/wiimotecontrollerswidget_scan_for_bluetooth_adapters_on_separate_thread
WiimoteControllersWidget: Fix UI hang when opening Controllers window
2025-05-16 19:43:35 -05:00
7804c16dbb Merge pull request #13531 from tygyh/DiscIO-Make-functions-constant
DiscIO: Make functions constant
2025-05-16 14:49:05 -05:00
3b3bf6a04c Merge pull request #13459 from tygyh/Make-parameters-constants-DolphinQt-Netplay
DolphinQt/NetPlay: Make variables constant
2025-05-16 14:29:44 -05:00
9dfcbcecff DiscIO: Make functions constant 2025-05-16 19:11:39 +02:00
ffd46cd10c WiimoteControllersWidget: Fix UI hang on opening
Fix the UI hanging for several seconds when opening the Controllers
window.

Move the scan for Bluetooth adapters onto a separate thread so the Host
thread doesn't have to wait for it.

Only automatically scan for adapters once, when opening the Controllers
window for the first time. Add a Refresh button to let the user refresh
the adapter list afterward.
2025-05-15 20:36:21 -07:00
fc833f845c Merge pull request #13660 from jordan-woyak/consistent-icon-text
DolphinQt: Add utility function for creating label text with a standard icon.
2025-05-15 13:24:18 -05:00
17eb1b1a34 DolphinQt/Mapping: Replace Motion Input "WARNING: " text with a warning icon. 2025-05-15 10:58:43 -05:00
afb27952ee DolphinQt: Make the Info tab first in the game properties dialog. 2025-05-15 02:13:48 -05:00
a45d00d84d DolphinQt: Add utility function for creating label text with a standard icon. 2025-05-15 01:49:38 -05:00
c211efd84a Merge pull request #13603 from tygyh/FifoPlayer-Make-functions-static
FifoPlayer: Make functions static
2025-05-14 23:01:34 -05:00
826f04d06c RetroAchievements: Fix potential deadlock on shutdown. 2025-05-14 01:10:53 -05:00
1554e4ab6c Vulkan: Eliminate m_last_present_done flag. 2025-05-13 20:13:18 -05:00
57dce8bd7c Merge pull request #13650 from JosJuice/stswx-uncached
PowerPC: Correctly handle stswi/stswx to uncached memory
2025-05-12 19:19:52 -04:00
cf3702cbc8 Merge pull request #13046 from SuperSamus/vi-overclock
Add VBI Frequency Override
2025-05-12 13:36:55 -04:00
c720211542 VideoCommon: Limit maximum denominator for MPEG4
It happened to be under the limit normally, but now that the VBI rate can be changed, that's no longer the case.
2025-05-12 18:54:42 +02:00
832570c658 Core: Add VBI Frequency Override
This feature allows overriding the frequency of the Vertical Blank Interrupt. For many games, this means that their gameplay speed will change without affecting audio, which would be useful by itself (e.g. grinding in RPGs).

However, there are games that use delta time for their game logic, which allows them to be played at >60 FPS at the same gameplay speed!

Some games aren't dynamic though, and require a patch to adjust their game speed variable.
2025-05-12 18:54:36 +02:00
f19a33340a Merge pull request #13631 from LillyJadeKatrin/retroachievements-mem2
AchievementManager: MEM2 Support
2025-05-10 14:56:14 -04:00
2b376a92ae PowerPC: Correctly handle stswi/stswx to uncached memory
On real hardware, stswi and stswx don't trigger any of the special
behavior for uncached unaligned writes that was implemented in 543ed8a.
This is confirmed by a hwtest (a new commit in
https://github.com/dolphin-emu/hwtests/pull/42).

This change fixes Dolphin's stswi and stswx implementations so they stop
triggering the special behavior, bringing them back to the behavior they
had before 543ed8a. No games are known to be affected, but Extrems has
reported that it affects homebrew they've made.
2025-05-10 19:47:15 +02:00
cb30862cfb DolphinQT/Netplay: Make variables constant 2025-05-10 13:05:54 +02:00
b2e5d6df25 Merge pull request #13350 from iwubcode/custom_shader_overhaul_vertex_pos
VideoCommon: move transform matrices to accessible functions in VertexShaderGen
2025-05-10 01:20:28 -04:00