Admiral H. Curtiss
e197163e9e
Merge pull request #14094 from OatmealDome/mac-nav-list
...
SettingsWindow: Set navigation list stylesheet in constructor
2025-11-09 14:10:39 +01:00
Jordan Woyak
9e2fc7f4dd
Common/IOFile: Remove the Duplicate function. The duplicate handles shared a read/write position making them effectively not thread-safe.
2025-11-09 03:08:14 -06:00
Jordan Woyak
239330017c
DiscIO: Make all BlobReader implementations use DirectIOFile to make CopyReader functionality thread safe.
2025-11-09 03:08:14 -06:00
Jordan Woyak
b98acb9a37
Common/BitUtils: Add overloads of AsU8Span/AsWritableU8Span that handle conversions from contiguous ranges.
2025-11-09 03:08:14 -06:00
Jordan Woyak
405baed805
Common: Add a DirectIOFile class that allows for copies which are entirely thread safe.
2025-11-09 03:08:14 -06:00
JosJuice
db997e9963
Merge pull request #14085 from cristian64/disable_wtrigraphs
...
CMakeLists: Disable `-Wtrigraphs`.
2025-11-09 09:51:33 +01:00
OatmealDome
448329e821
SettingsWindow: Set navigation list stylesheet in constructor
2025-11-09 01:55:52 -05:00
Simonx22
b733213bcf
Android: Prevent dismissing the System Update dialog by tapping outside
...
Tapping outside the System Update dialog would previously close it and leave the update in a partially canceled, inconsistent state. This change disables outside-touch dismissal to avoid accidental interruptions and ensure the process completes cleanly.
2025-11-09 01:21:58 -05:00
Simonx22
bd93c09e38
CPUThreadConfigCallback: Use maximum value of size_t instead of -1 as default value ConfigChangedCallbackID
...
Co-Authored-By: OatmealDome <OatmealDome@users.noreply.github.com>
2025-11-08 23:23:33 -05:00
LillyJadeKatrin
cff0ba76c1
Init achievement manager in Android startup
2025-11-08 20:31:23 -05:00
JosJuice
f8cddf344d
Android: Clear listener in SwitchSettingViewHolder
...
If bind was called more than once for a SwitchSettingViewHolder, the
line `binding.settingSwitch.isChecked = setting.isChecked` would
accidentally trigger the listener registered during the previous bind
call.
2025-11-08 20:31:22 -05:00
cristian64
7ec6692315
CMakeLists: Disable -Wtrigraphs.
...
Trigraphs support is generally disabled by default, but some compilers
(e.g. GCC) may still warn when one hypothetical trigraph is encountered.
For example, one of these warnings was introduced as part of #14067 :
```
.../Source/Core/DolphinQt/MainWindow.cpp:1433:77: warning: trigraph ??) ignored, use -trigraphs to enable [-Wtrigraphs]
1433 | this, tr("Select a File"), dialog_path, tr("All Save States (*.sav *.s??);; All Files (*)"));
|
.../Source/Core/DolphinQt/MainWindow.cpp:1445:77: warning: trigraph ??) ignored, use -trigraphs to enable [-Wtrigraphs]
1445 | this, tr("Select a File"), dialog_path, tr("All Save States (*.sav *.s??);; All Files (*)"));
|
```
The warning is generally not interesting and has been disabled now.
2025-11-08 22:38:03 +00:00
OatmealDome
4f849ec827
Merge pull request #14047 from Simonx22/reset-all-dolphin-settings-android
...
Android: Add Reset Dolphin Settings functionality
2025-11-08 14:03:44 -05:00
OatmealDome
5ee1ae43bb
Merge pull request #14077 from Simonx22/android-alert-message-kotlin
...
Android: Convert AlertMessage dialog to Kotlin
2025-11-08 14:03:19 -05:00
OatmealDome
02ad041866
Merge pull request #14086 from Simonx22/android/use-native-analytics
...
Android: Use the shared HTTP analytics backend
2025-11-08 14:03:06 -05:00
OatmealDome
a459dc0d25
Merge pull request #14082 from Simonx22/analytics/reload-on-setting-change
...
DolphinAnalytics: Reload backend when config changes
2025-11-08 14:00:03 -05:00
Simonx22
8ee767f292
Android: Convert AlertMessage dialog to Kotlin
2025-11-08 12:21:12 -05:00
Simonx22
82f658a28f
Android: Use the shared HTTP analytics backend
...
We can now route Android analytics through Common::HttpAnalyticsBackend, drop the Volley sender, and keep the JNI layer limited to only transfer metadata since https://bugs.dolphin-emu.org/issues/11772 has been fixed.
2025-11-08 12:14:40 -05:00
JosJuice
958db7c78c
Merge pull request #14020 from jordan-woyak/string-util-cleanups
...
StringUtil: Cleanups and add some character encoding conversion unit tests.
2025-11-08 17:36:54 +01:00
Simonx22
f67691d564
Config: Use maximum value of size_t instead of -1 as default value in ConfigChangedCallbackID
...
Co-authored-by: OatmealDome <julian@oatmealdome.me>
2025-11-08 11:35:31 -05:00
Simonx22
f9b167d8c6
DolphinAnalytics: Reload backend when config changes
...
Co-Authored-By: OatmealDome <julian@oatmealdome.me>
2025-11-08 11:35:30 -05:00
JosJuice
ba14222a2b
Merge pull request #13939 from Dentomologist/logging_avoid_overwriting_debug_verbosity_in_release_builds
...
Logging: Don't overwrite LDEBUG level in Release builds
2025-11-08 14:47:27 +01:00
JosJuice
9d27c145b9
Merge pull request #14076 from Simonx22/remove-action1-interface
...
Android: Replace Action1 helper with Kotlin lambda
2025-11-08 11:42:38 +01:00
Jordan Woyak
5af9bd5e46
Merge pull request #14074 from jordan-woyak/HookableEvent-no-strings
...
Common: Remove the string parameters from the HookableEvent interface.
2025-11-07 16:32:06 -06:00
Jordan Woyak
51cd0a676a
Merge pull request #14079 from Dentomologist/use_asyncworkthread_pushblocking_instead_of_sync_event
...
CubebStream: Use WorkQueueThread::PushBlocking instead of sync_event
2025-11-07 16:31:46 -06:00
Dentomologist
3b97a7bded
CubebStream: Use WorkQueueThread::PushBlocking instead of sync_event
...
Push and wait on WorkQueueThread items using PushBlocking. Previously we
created a Common::Event sync_event on the caller's stack, called Wait on
it, then had the WorkQueueThread call Set on the sync_event once the
thread was done.
In addition to being simpler the new way avoids a use-after-free that
could happen in convoluted and unlikely yet possible thread scheduling
sequences.
One such case can be triggered as follows:
* Set your audio backend to Cubeb
* In CubebStream::SetVolume set a breakpoint at the call to Wait and at
the call to cubeb_stream_set_volume.
* Start a game.
* Continue until the Cubeb Worker thread hits the
cubeb_stream_set_volume breakpoint and Emuthread hits the Wait
breakpoint, freezing each thread when it hits its breakpoint.
* Unfreeze Cubeb Worker.
* In Event::Set set a breakpoint at the end of the scope containing the
lock_guard such that the guard has been constructed but not destructed
when the breakpoint is hit.
* Continue until that breakpoint is hit by Cubeb Worker. If other
threads hit it first keep going.
* Freeze Cubeb Worker.
* For convenience remove the breakpoint in Event::Set so other threads
don't trigger it.
* In CubebStream::SetRunning set a breakpoint at the call to Wait.
* Unfreeze Emuthread and continue until the breakpoint is hit.
* In Cubeb Worker go to Event::Set and examine the values of m_mutex's
member variables. In Visual Studio Debug these are locking_thread_id
== 0xcccccc01 and ownership_levels == 0xcccccccc. This is the result
of Visual Studio overwriting the memory used on the stack by
sync_event in CubebStream::SetVolume with cc bytes to represent
uninitialized memory on the stack (since that function already
returned), and then allocating enough memory on the stack when calling
AudioCommon::SetSoundStreamRunning and then CubebStream::SetRunning
that it overwrote one byte of the memory formerly occupied by
locking_thread_id.
* If you unfreeze Cubeb Worker at this point it will trigger the lock
guard's destructor which will then try to unlock m_mutex. Since
m_mutex is no longer in scope this is a use-after-free, and in VS
debug triggers a debug assert due to locking_thread_id not matching
the current thread id.
2025-11-07 13:19:18 -08:00
Simonx22
ddbbb2ea4b
Android: Replace Action1 helper with Kotlin lambda
2025-11-07 11:56:11 -05:00
JosJuice
5ed4823ebc
Merge pull request #13858 from LillyJadeKatrin/retroachievements-message-adjustments
...
Retroachievements message adjustments
2025-11-07 16:50:48 +01:00
Jordan Woyak
da6c65bf3b
Common: Remove the string parameters from the HookableEvent interface.
2025-11-06 22:34:40 -06:00
Jordan Woyak
5650be6842
Merge pull request #14069 from jordan-woyak/ciface-hookable-event
...
InputCommon: Make ControllerInterface RegisterDevicesChangedCallback use Common::HookableEvent.
2025-11-06 20:06:53 -06:00
LillyJadeKatrin
dd941bed70
Improve Achievements Window message
...
Special message on the Achievements window if the token is invalid/expired.
2025-11-06 20:44:08 -05:00
OatmealDome
852b7d85b2
Merge pull request #14062 from Simonx22/macos-design-fixes
...
macOS: UI fixes for dark mode
2025-11-06 20:20:05 -05:00
LillyJadeKatrin
1ad0a771d9
Delete Invalid RetroAchievements Tokens
2025-11-06 19:42:14 -05:00
LillyJadeKatrin
b1f27b6cfd
Added message for bad RetroAchievements token
...
Displays a different message at game launch if RetroAchievements fails specifically due to an invalid or expired API token, instructing the player to log back in with the game closed.
2025-11-06 19:30:22 -05:00
LillyJadeKatrin
4985a1e19b
Adjusted mastery message
...
Wes from RetroAchievements requested a minor phrasing change to the mastery message.
2025-11-06 19:30:22 -05:00
Jordan Woyak
a7df85a626
DolphinQt: Make disc ConvertDialog have a better minimum size, use QFormLayout, and clean up the code a bit.
2025-11-06 04:34:07 -06:00
Jordan Woyak
1e144a7cfd
CMakeLists: Fix build on Linux with CMake versions less than 3.25.
2025-11-06 02:41:55 -06:00
iwubcode
2f20c12d82
VideoCommon: pass the EFB buffer scale into the FramebufferManager instead of pulling it from config, in the future this will allow us to have multiple framebuffers
2025-11-05 21:52:54 -06:00
Jordan Woyak
ca6d8e1f0b
InputCommon: Make ControllerInterface RegisterDevicesChangedCallback use Common::HookableEvent.
2025-11-05 17:12:56 -06:00
Simonx22
cd16ec02bd
macOS: UI fixes for dark mode
2025-11-04 15:49:55 -05:00
Jordan Woyak
2170080f53
Merge pull request #14061 from jordan-woyak/config-info-spin-mutex
...
ConfigInfo: Cleanups and change mutex to a spin lock.
2025-11-04 14:09:35 -06:00
Jordan Woyak
7d617878e0
Merge pull request #13626 from jordan-woyak/non-global-hookable-event
...
Common: Make HookableEvent use non-static data.
2025-11-04 13:57:08 -06:00
VampireFlower
294044a02e
Debugger: Ignore bctr when stepping out
2025-11-04 11:41:48 -05:00
iTrooz
a99cb008db
feat(profiles): add "open profiles folder" button + add dropdown button for profile actions
...
Co-Authored-By: iTrooz <hey@itrooz.fr>
Co-Authored-By: Max Chateau <maxban.chateau@gmail.com>
Co-Authored-By: Damien R. <rodriguezdamien1677@gmail.com>
2025-11-04 08:09:25 +01:00
VampireFlower
40fa9ddadd
MainWindow: Change save state file filter to use *.s?? pattern
2025-11-03 18:50:56 -05:00
Jordan Woyak
999333c0a1
Config: Make ConfigInfo use Common::SpinLock to protect the CachedValue. These locks are nearly always uncontested and this makes Config::Get faster.
2025-11-02 20:45:55 -06:00
Jordan Woyak
46369ef1b1
Common: Add AtomicMutex and SpinMutex classes as faster alternatives to std::mutex.
2025-11-02 20:45:55 -06:00
Jordan Woyak
fc9f25a418
Config/ConfigInfo: Cleanups.
2025-11-02 20:30:35 -06:00
Simonx22
f718a6b72f
Android: Add Reset Dolphin Settings functionality
2025-11-02 20:09:23 -05:00
Jordan Woyak
f289b06e0d
Common: Make HookableEvent use non-static data.
...
Co-authored-by: Dentomologist <dentomologist@gmail.com>
2025-11-02 17:30:43 -06:00
iwubcode
ef87af2985
VideoCommon: fix wrong path to glslang include
2025-11-02 14:29:14 -06:00
JosJuice
8749855643
Call JitInterface::UpdateMembase from PowerPC::MSRUpdated
...
When the interpreter calls MSRUpdated, we should update the membase
variable. Not because the interpreter itself needs it, but because the
JIT needs it if it's falling back to the interpreter for an instruction
that sets the MSR.
Additionally, the JIT's FallBackToInterpreter needs to read back the new
membase value afterwards.
This fixes games crashing on JitArm64 if mtmsr is set to fall back to
interpreter. I was unable to reproduce the issue on Jit64, presumably
due to a fortunate series of coincidences (instructions that set MSR are
always followed by an exception exit, and
PowerPCManager::CheckExternalExceptions was always calling
JitInterface::UpdateMembase, and Jit64::WriteExceptionExit was always
calling Jit64::EmitUpdateMembase.)
2025-11-02 21:18:07 +01:00
JMC47
a4a4416ff2
Merge pull request #14042 from iwubcode/bp_functions_global
...
VideoCommon: move global variables out of BPFunctions
2025-11-02 13:17:38 -05:00
JMC47
1d9c743ef7
Merge pull request #13975 from iwubcode/shader_includes
...
VideoBackends / VideoCommon: add support for specifying include files in shader code
2025-11-02 13:17:28 -05:00
Jordan Woyak
5650b2ef37
StringUtil: Replace strerror with Common::LastStrerrorString.
2025-11-02 00:36:04 -05:00
Jordan Woyak
0ebc54a0fa
UnitTests: Add some StringUtil character encoding conversion tests.
2025-11-02 00:36:04 -05:00
Jordan Woyak
da7c813edf
StringUtil: Make non-Windows WStringToUTF8 implementation use iconv instead of deprecated std::codecvt features.
2025-11-02 00:36:04 -05:00
Jordan Woyak
b073b5303b
StringUtil: Fix many clang-tidy warnings.
2025-11-02 00:36:04 -05:00
Jordan Woyak
57d7485ea6
Core/IOS/FS: Clean up some hard to read NAND state saving logic.
2025-11-01 12:33:30 -05:00
JosJuice
249f999c6a
Merge pull request #13655 from JosJuice/android-always-expand-sheets
...
Android: Expand bottom sheets on devices with touch too
2025-11-01 12:22:45 +01:00
JosJuice
35c5b51b62
Merge pull request #14048 from Simonx22/android-instant-settings-saving
...
Android: Save settings instantly after edits
2025-11-01 12:22:35 +01:00
JosJuice
da1d45dbd4
Merge pull request #14057 from TellowKrinkle/VkRenderWrongLayout
...
VideoCommon: Fix render to texture in wrong layout
2025-11-01 10:06:41 +01:00
JosJuice
91fd53a98c
Merge pull request #14035 from Dentomologist/pauseandlock_refactoring
...
PauseAndLock Refactoring
2025-11-01 10:06:08 +01:00
JosJuice
828e72d604
Merge pull request #14034 from JoshuaVandaele/byeprofile
...
JitRegister: Remove OProfile profiler
2025-11-01 10:05:11 +01:00
JosJuice
998a3577ce
Merge pull request #14054 from Dentomologist/libmgba_fix_build_when_disabled
...
libmgba: Fix build when disabled
2025-11-01 10:01:48 +01:00
iwubcode
6728007cb4
VideoCommon: rename ScissorResult 'm_result' to 'rectangles' to better reflect what the member is
2025-10-31 13:28:14 -05:00
iwubcode
ee7c476e24
VideoCommon: move global variables out of BPFunctions
2025-10-31 13:27:50 -05:00
TellowKrinkle
21ac489d57
VideoCommon: Fix render to texture in wrong layout
2025-10-30 20:50:17 -05:00
Jordan Woyak
c12d3a6d22
Merge pull request #14045 from JoshuaVandaele/warn-fix
...
Fix various warnings
2025-10-30 20:47:42 -05:00
JMC47
d065f1ae12
Merge pull request #14041 from jordan-woyak/lockless-async-requests
...
VideoCommon: Clean up and eliminate the mutex in AsyncRequests.
2025-10-30 19:26:22 -04:00
Sepalani
ba8f4ca6a2
IP/Top: Make InetAToN async
2025-10-31 01:13:36 +04:00
JosJuice
1b8a54024c
Android: Expand bottom sheets on devices with touch too
...
In a few places in Dolphin, we're using BottomSheetDialogFragments.
These unhelpfully tend to start out in a "collapsed" state when in
landscape mode (presumably depending on factors like screen size). The
user then has to manually expand them before they can meaningfully
interact with them.
We've been automatically setting BottomSheetDialogFragments to the
expanded state if the device Dolphin is running on doesn't support
touch, since with d-pad navigation it's impossible to expand these
sheets. But I think we should set them to expanded on devices that
support touch too. I haven't encountered a single case where you can do
anything useful with any of Dolphin's BottomSheetDialogFragments while
they're collapsed, so the user always has to expand sheets manually if
they start out collapsed. And just because a device supports touch
doesn't necessarily mean you're interacting with it through the touch
screen right now - you could be using a gamepad, for instance.
2025-10-30 21:22:41 +01:00
Dentomologist
2836dd2b5e
libmgba: Fix build when disabled
2025-10-30 12:00:13 -07:00
Joshua Vandaële
5c12677705
OnScreenDisplayPane: Fix unused-variable warning
...
This is used in AdvancedPane and was seemingly accidentally copied over
2025-10-30 12:35:22 +01:00
Joshua Vandaële
b66b2f71af
GameConfigEdit: Fix unused-result warning
2025-10-30 12:35:22 +01:00
Joshua Vandaële
2383e68fd8
x64Emitter: Fix missing-declarations warning
2025-10-30 12:35:22 +01:00
Joshua Vandaële
33152740d0
CustomPipeline.cpp: Fix unused-function warning
...
This whole file is apparently going away soon.
2025-10-30 12:35:19 +01:00
Jordan Woyak
478fb20bc2
Merge pull request #14050 from Dentomologist/android_input_fix_unused_value_warning
...
Android: Fix unused value warning
2025-10-30 01:44:12 -05:00
Dentomologist
32a8128b53
AchievementManager: Fix unused private field warnings
...
Remove several unused members from AchievementManager.
These became unused in https://github.com/dolphin-emu/dolphin/pull/12639
which switched from the rcheevos rc_runtime interface to rc_client.
2025-10-29 16:50:00 -07:00
Dentomologist
570ec7c322
Android: Fix unused value warning
...
Remove "env, " from "return env, GetControlPointer..." since the left
side of a comma operator has no effect.
This was presumably a copy/paste error from the function above it.
2025-10-29 16:19:15 -07:00
Simonx22
82c86221d6
Android: Save settings instantly after edits
2025-10-29 16:49:16 -04:00
Joshua Vandaële
280d0e7f8d
MaterialAsset: Fix shadowed field
2025-10-29 11:12:31 +01:00
Joshua Vandaële
0b7d581af5
UICommon.cpp: Revert changes from #13866
2025-10-29 09:56:39 +01:00
JMC47
b920182c97
Merge pull request #13870 from cristian64/broadband_adapter_ipc
...
Core/HW: Add Broadband Adapter (IPC).
2025-10-28 19:16:17 -04:00
JMC47
1ed86e1b16
Merge pull request #13866 from JoshuaVandaele/reset-button-third-attempt
...
AdvancedPane: Add a button to restore default settings
2025-10-28 18:56:03 -04:00
Jordan Woyak
09a125fec4
VideoCommon: Clean up and eliminate the mutex in AsyncRequests using WaitableSPSCQueue.
2025-10-28 17:22:04 -05:00
cristian64
f5012ef457
Core/HW: Add Broadband Adapter (IPC).
...
This is a hassle-free BBA option intended for local play with multiple
Dolphin instances running *in the same system*. After selecting
**Broadband Adapter (IPC)** in the **SP1** slot in the GameCube section
in the settings, games that support LAN play will be able to discover
each other, without requiring third-party software or relatively complex
TAP setups.
The implementation is based on cpp-ipc, a high-performance inter-process
communication library that uses shared memory as transport layer.
Supported platforms are:
- [x] Linux
- [x] Windows
- [ ] macOS (cpp-ipc does not support this platform)
- [ ] FreeBSD (cpp-ipc does not support this platform)
- [ ] Android (cpp-ipc needs some adjustments; while it could work,
launching two Dolphin instances within the same Android system may be
both challenging and impractical)
2025-10-28 18:50:59 +00:00
cristian64
4677a92b13
Core/HW: Add Visual Studio project files for cpp-ipc library.
2025-10-28 18:50:58 +00:00
Joshua Vandaële
e1088659b1
AdvancedPane: Use ConfigControls where applicable
2025-10-27 16:22:02 +01:00
Joshua Vandaële
3cf4b02a91
PathPane: Use ConfigControls where applicable
2025-10-27 16:22:02 +01:00
Joshua Vandaële
02d84ddc78
WiiPane: Use ConfigControls where applicable
2025-10-27 16:22:02 +01:00
Joshua Vandaële
b6766e1ca0
GameCubePane: Use ConfigControls where applicable
2025-10-27 16:21:59 +01:00
Joshua Vandaële
1e227bd736
FreeLookWidget: Use ConfigControls where applicable
2025-10-27 15:59:33 +01:00
Joshua Vandaële
33fd06d7f3
AdvancedPane: Add a button to restore default settings
2025-10-27 15:59:33 +01:00
Jordan Woyak
c69f868fff
Core/HW: Remove RoundingModeUpdated call from CPUManager::Run. This is now properly handled on initialization.
2025-10-26 23:07:14 -05:00
Jordan Woyak
700abd68e3
VideoCommon/AsyncRequests: Remove now unnecessary SetEnable function. Requests are now always enabled. Call SetPassthrough on initialization to not be racy.
2025-10-26 23:07:14 -05:00
Jordan Woyak
6416b0a6ec
Core: Make EmuThread spawn the Video thread and become the CPU thread in dual-core mode instead of the other way around.
2025-10-26 23:07:14 -05:00
iwubcode
96fe6a1575
VideoBackends / VideoCommon: add support for specifying include files in shader code
2025-10-26 22:47:23 -05:00
Dentomologist
70d8bc6fd7
CPU: Update PauseAndLock comment
2025-10-26 18:06:38 -07:00
Dentomologist
c47db6dba7
DSPEmulator: Remove redundant parameter and code
...
PauseAndLock is only called with do_lock=true, so remove the parameter
and modify PauseAndLock accordingly.
2025-10-26 18:03:31 -07:00
Dentomologist
d5f079d78b
DSPEmulator: Extract UnpauseAndUnlock from PauseAndLock
...
Replace call to PauseAndLock(do_lock=false) with new function
UnpauseAndUnlock.
2025-10-26 18:03:06 -07:00
Dentomologist
933071dd57
FifoManager: Remove redundant PauseAndLock parameters
...
PauseAndLock was only called with do_lock=true, and the function only
used unpauseOnUnlock when do_lock was false.
2025-10-26 18:01:51 -07:00
Dentomologist
f497eb519e
FifoManager: Extract RestoreState from PauseAndLock
...
Replace calls of FifoManager::PauseAndLock(do_lock=false) with new
function RestoreState for clarity.
2025-10-26 18:01:51 -07:00
Dentomologist
f628a979c4
Core: Remove pointless call to FifoManager::PauseAndLock
...
FifoManager::PauseAndLock doesn't do anything when doLock and
unpauseOnUnlock are both false, so remove the call.
2025-10-26 18:01:51 -07:00
Dentomologist
2d888ea4d3
Core: Remove unnecessary PauseAndLock parameters
...
PauseAndLock is now only called with do_lock=true, and unpause_on_unlock
only ever was used when do_lock is false (which is now handled in
RestoreStateAndUnlock instead), so both parameters are unnecessary.
2025-10-26 18:01:51 -07:00
Dentomologist
c9c8461d36
Core: Extract RestoreStateAndUnlock from PauseAndLock
...
Replace calls of PauseAndLock(do_lock=false) with new function
RestoreStateAndUnlock for clarity.
Callers of PauseAndLock ignored the return value when do_lock is
false, so RestoreStateAndUnlock doesn't need to return anything.
2025-10-26 18:01:23 -07:00
Dentomologist
4e64d8e94f
CPUManager: Remove redundant parameter from RestoreStateAndUnlock
...
RestoreStateAndUnlock was only called with control_adjacent=true. Remove
the parameter and unconditionally call the function that was gated
behind it being true.
2025-10-26 17:59:47 -07:00
Dentomologist
8d0dbb0ef6
CPUManager: Remove redundant parameter from PauseAndLock
...
PauseAndLock was only called with control_adjacent=false. Remove the
parameter and the function call that was only made when it was true.
2025-10-26 17:56:31 -07:00
Dentomologist
48d48fe1af
CPUManager: Remove unnecessary PauseAndLock parameters
...
CPUManager::PauseAndLock is now only called with do_lock=true, and
unpause_on_unlock only ever was used when do_lock is false (which is now
handled in RestoreStateAndUnlock instead), so both parameters are
unnecessary.
2025-10-26 17:54:41 -07:00
Dentomologist
1a6e285685
CPU: Remove default arguments for PauseAndLock
...
For clarity in the next commit.
2025-10-26 17:54:41 -07:00
Dentomologist
691743fbc4
CPU: Extract RestoreStateAndUnlock from PauseAndLock
...
Replace call of CPUManager::PauseAndLock(do_lock=false) with new
function RestoreStateAndUnlock for clarity.
Callers of Core::PauseAndLock ignore the return value when do_lock is
false, so in that case was_unpaused in Core::PauseAndLock doesn't need
to be set and so RestoreStateAndUnlock doesn't need to return anything.
2025-10-26 17:54:41 -07:00
Dentomologist
bebeba29c3
CPU: Convert static variable to class member
...
Make s_have_fake_cpu_thread a class member instead. In addition to
getting rid of a bit of static state, this simplifies refactoring in an
upcoming commit.
2025-10-26 17:53:45 -07:00
Jordan Woyak
7608dbbfbd
Core: Remove GDBStub::Deinit call from EmuThread. The CpuThread function is already doing this.
2025-10-26 16:53:52 -05:00
Jordan Woyak
c22a483431
Merge pull request #14031 from TellowKrinkle/GlslangFix
...
CMake: Fix bundled glslang
2025-10-26 15:42:36 -05:00
Joshua Vandaële
713dfb41df
JitRegister: Remove OProfile profiler
...
OProfile is not used at all these days, most major distributions do not ship it anymore (Debian, Fedora, and Alpine to name the few I've checked) and following a discussion on Discord, nobody is apparently using it, most devs not even being aware of it. This removes an optional dependency from Dolphin.
2025-10-26 20:48:15 +01:00
TellowKrinkle
d404805b7f
CMake: Fix bundled glslang
2025-10-24 22:58:22 -05:00
Martino Fontana
fe63d95e02
GameINI: Add patches to limit FPS for some uncapped games
2025-10-23 00:38:14 +02:00
Martino Fontana
2542c79d6b
GameINI: Add patches for idle loop detection (speed hack)
2025-10-23 00:03:59 +02:00
Martino Fontana
d423eb5a75
GameINI: Fix Egg Mania Japanese "Force Progressive" hack
2025-10-22 23:32:18 +02:00
Jordan Woyak
ba5edce2af
Common/Functional: Fix MoveOnlyFunction from inadvertently creating references from lvalues.
2025-10-22 05:06:41 -05:00
Jordan Woyak
06b4c89c51
Merge pull request #14024 from cobalt2727/patch-5
...
DolphinQt: explicitly include QAction for building with older QT6 libs
2025-10-21 21:55:55 -05:00
cobalt2727
7c63750e53
DolphinQT: explicitly include QAction for older QT6 libs
...
this fixes an exotic build environment I've got using QT6.2 on Ubuntu 18.04 without breaking any sane operating systems.
2025-10-21 22:52:43 -04:00
Jordan Woyak
e34ef86be9
Merge pull request #13947 from JosJuice/i18n-2025-08-17-type
...
i18n: Improve EditSymbolDialog's symbol vs note handling for translators
2025-10-21 19:19:13 -05:00
JMC47
be131ddc59
Merge pull request #13984 from jordan-woyak/wmreal-quick-connect-and-disconnect
...
WiimoteReal: Quickly connect and disconnect Wii remotes with hidapi / Android.
2025-10-21 19:49:22 -04:00
Jordan Woyak
26c5b2f57a
WiimoteReal/IOLinux: Fix warning.
2025-10-21 14:51:54 -05:00
Jordan Woyak
590b94975d
WiimoteReal: Make WiimoteScannerBackend classes use separate FindNewWiimotes and FindAttachedWiimotes functions.
...
Return results as vector of unique_ptr instead of raw pointers.
2025-10-19 22:36:39 -05:00
Jordan Woyak
99cc5e7bb7
WiimoteReal/IOAndroid: Only "find" DolphinBar remotes which are actually connected.
2025-10-19 22:36:39 -05:00
Jordan Woyak
c84d30c782
WiimoteReal/IOAndroid: Don't "find" already in-use Wii remotes.
2025-10-19 22:36:39 -05:00
TellowKrinkle
e599ae37c3
VideoBackends:Vulkan: Prevent hazards when restarting render passes
2025-10-18 05:24:37 -05:00
JMC47
7b994d9654
Merge pull request #14019 from JosJuice/android-ndk-29
...
Android: Update NDK version to 29.0.14206865
2025-10-17 18:47:20 -04:00
JMC47
0755218617
Merge pull request #14012 from jordan-woyak/wmreal-name-check
...
WiimoteReal: Check just the start of Bluetooth device names to match the test performed by Wii software.
2025-10-17 18:46:42 -04:00
JMC47
2e490cefa0
Merge pull request #13978 from JoshuaVandaele/libiconv-1.18
...
Externals: Update libiconv to 1.18
2025-10-17 18:45:48 -04:00
TryTwo
2bc944e1a3
Settings BalloonTip: Wrapped tips were not using the maximum width, resulting in a much smaller width than they should have.
2025-10-16 15:58:32 -07:00
TryTwo
c135af22dd
Imgui: Add a new default font (VeraMono - 49kb) that scales better than the old default.
...
Allow loading a custom font by naming it OSD_Font.ttf and placing the file in the User/Load folder, to load that font instead. Useful for future testing.
2025-10-16 15:36:50 -07:00
JMC47
e8d9c124e5
Merge pull request #13953 from TryTwo/add_osd_tab
...
Qt Settings: Transfer OSD settings to a new OSD pane.
2025-10-15 16:35:26 -04:00
JosJuice
f05f89e6b4
Android: Update NDK version to 29.0.14206865
2025-10-15 19:57:53 +02:00
Jordan Woyak
a49514eb7b
HLE_VarArgs: Replace enable_if with concepts.
2025-10-13 23:42:31 -05:00
Jordan Woyak
c2b5a1a35c
WiimoteReal: Check just the start of Bluetooth device names to match the test performed by Wii software.
2025-10-13 21:13:37 -05:00
Dentomologist
5b4df5ae98
VideoBackend: Rename GetName to GetConfigName
...
Make the function name more explicit and a better match for
GetDisplayName.
Change NAME to CONFIG_NAME while I'm at it.
2025-10-13 17:38:20 -07:00
Jordan Woyak
94be0e466e
WiimoteReal/IOLinux: Reopen Bluetooth device if it was unplugged between scans.
2025-10-13 18:39:47 -05:00
Dentomologist
4e359cf1c5
WindowsDevice: Silence missing property log spam
...
Don't log a warning in GetPropertyHelper when the property isn't
present. The function returns an optional, so any callers that want to
log a warning when nullopt is returned can do so themselves.
This prevents plugged-in devices (an Xbox One controller in my case)
from spamming the message "W[COMMON]: CM_Get_DevNode_Property returned:
37" twice per second (that value being CR_NO_SUCH_VALUE).
2025-10-13 11:55:12 -07:00
JosJuice
1067754d21
Merge pull request #13983 from jordan-woyak/wmreal-android-fix
...
WiimoteReal: Use GetEnvForThread within IORead/IOWrite calls to fix real Wii remotes on Android.
2025-10-13 19:52:05 +02:00
JMC47
8edef722ce
Merge pull request #14008 from jordan-woyak/qt6.10-buildfix
...
CMakeLists: Fix build with Qt6.10.
2025-10-13 13:51:19 -04:00
Jordan Woyak
b3bdad416c
CMakeLists: Fix build with Qt6.10. GuiPrivate component is needed to #include qplatformnativeinterface.h in MainWindow.cpp.
2025-10-12 23:53:05 -05:00
Jordan Woyak
801f38d4e5
DolphinQt: Add buttons to create and reset Wii remote pairings on Windows.
2025-10-12 12:37:04 -05:00
Jordan Woyak
8845fbdb7e
WiimoteReal: Detect already connected Wii remotes on Windows without having to use the Refresh button.
2025-10-12 12:37:04 -05:00
Jordan Woyak
e0c40025a9
WiimoteReal/IOWin: Major cleanups and improvements.
2025-10-12 12:37:04 -05:00
Jordan Woyak
3978e1eb2c
WindowsDevice: Add some utility functions for getting device properties using CfgMgr32.
2025-10-12 12:33:13 -05:00
Jordan Woyak
e8d22923c6
WiimoteReal: Send periodic writes to test for disconnect.
2025-10-12 12:33:13 -05:00
Jordan Woyak
94ecf4df39
WiimoteReal: Add function to test specifically for a wii remote name.
2025-10-12 12:33:13 -05:00
TryTwo
fcb3d2fb05
Qt Setting Panes: Remove original location of options transferred to the OSD pane.
2025-10-10 17:02:00 -07:00
TryTwo
3b11280c20
Movie Window: Move customization options from Menu Bar to OSD pane, but add options to toggle the window and to open the OSD pane.
...
Add new setting to show/hide the Movie Window.
2025-10-10 16:59:16 -07:00
TryTwo
13ac387197
Qt: Add OnScreenDisplayPane to settings window. Transfer OSD options to pane.
2025-10-10 02:47:27 -07:00
JMC47
d8bcd6d82e
Merge pull request #13996 from SuperSamus/jit64-dynamic-known-jmp-len
...
Jit64: Dynamic length of regular jump instruction (for known addresses)
2025-10-09 14:07:13 -04:00
JMC47
f43b78efb6
Merge pull request #13989 from jordan-woyak/wmreal-hidapi-cleanup
...
WiimoteReal/IOhidapi: Minor changes / cleanups.
2025-10-09 14:06:57 -04:00
JMC47
39944a61d1
Merge pull request #13979 from mbc07/RealtekFirmwareLoader_newIDs
...
RealtekFirmwareLoader: more RTL8761B device IDs
2025-10-09 14:06:17 -04:00
JMC47
4f7a910e92
Merge pull request #13964 from ryanmcgrath/macos/qos
...
macoS: update QoSSession with SO_NET_SERVICE_TYPE.
2025-10-09 14:05:42 -04:00
JMC47
efa9245565
Merge pull request #13963 from jordan-woyak/point-passthru-needs-bound-inputs
...
WiimoteEmu: Require IRPassthrough has any bound inputs to operate.
2025-10-09 14:05:16 -04:00
JMC47
1aae1ecbaa
Merge pull request #13712 from SuperSamus/cheat-search-improvements
...
CheatSearchWidget: New feature, writing a value to all selected addresses
2025-10-09 13:58:00 -04:00
Martino Fontana
f8d30e796c
CheatSearchWidget: New feature, writing a value to all selected addresses
2025-10-08 11:33:44 +02:00
Martino Fontana
c002861041
CheatSearchWidget: "Add to watch" to all selected items
...
Instead of just the right-clicked item.
2025-10-08 11:27:06 +02:00
Martino Fontana
8a97ce9124
MMU: Use templates for Read/Write functions
2025-10-08 11:27:06 +02:00
fizzlepicklepop
3cb8f234a7
fixed the lint error
2025-10-07 23:57:53 -04:00
fizzlepicklepop
7ed61c50a1
Add toggles for Speedrun timer + Achievement badges visibility
...
Added some new visibility toggles so players can choose what to show (or hide) during their RetroAchievements runs:
Toggle for the Speedrun Leaderboards timer
Toggle for Achievement Challenge badges
2025-10-07 22:45:04 -04:00
Martino Fontana
f6e5448b43
Jit64: Dynamic length of regular jump instruction (for known addresses)
...
Conditional jumps already do that, so let's be consistent.
2025-10-08 00:15:57 +02:00
JosJuice
03ef9b4995
Merge pull request #13995 from Dentomologist/deletedirrecursively_dont_report_error_if_directory_is_absent
...
DeleteDirRecursively: Don't report error for absent directory
2025-10-06 20:04:32 +02:00
Dentomologist
f64e57442c
DeleteDirRecursively: Don't report error for absent directory
...
Check if the return value of std::filesystem::remove_all is -1 rather
than 0; the former is the specified return value if there's an error
while 0 just means the directory already didn't exist (which is the end
result we want).
Previously error messages such as the following were possible:
E[COMMON]: DeleteDirRecursively: [path]/User/RedirectSession/ failed The
operation completed successfully.
Also adds a period in the error string to make it look nicer.
2025-10-05 16:29:41 -07:00
Jordan Woyak
b3b4020095
Merge pull request #13994 from Dentomologist/visual_studio_fix_dolphinnogui_build
...
Visual Studio: Fix DolphinNoGUI build
2025-10-05 17:53:37 -05:00
Dentomologist
ff45bfbcdc
Visual Studio: Fix DolphinNoGUI build
2025-10-05 15:38:43 -07:00
Admiral H. Curtiss
70bd0943a7
Merge pull request #13871 from Dentomologist/cheatsearchwidget_small_refactoring
...
CheatSearchWidget: Minor refactoring
2025-10-05 00:32:30 +02:00
Admiral H. Curtiss
e1fd8c8e8c
Merge pull request #13957 from jordan-woyak/wmreal-iolinux-fixes
...
WiimoteReal/IOLinux: Improvements, fixes, and code cleanups.
2025-10-05 00:06:08 +02:00
Dentomologist
3235f3f58f
CheatSearchWidget: Rename member variable
...
Rename m_session to m_last_value_session to better reflect its meaning
and distinguish it from m_current_value_session which will be introduced
in another commit.
2025-10-04 14:27:15 -07:00
Dentomologist
d364a244d7
CheatSearchWidget: Add GetTableRowCount function
2025-10-04 14:27:14 -07:00
Jordan Woyak
38dc8ae3b6
WiimoteReal/IOLinux: Improvements, fixes, and code cleanups.
2025-10-04 14:51:27 -05:00
Jordan Woyak
b2fef6ee1f
Common/Network: Add BluetoothAddress struct and string conversion functions.
2025-10-04 14:51:17 -05:00
Jordan Woyak
b1e8de82a6
Common: Add some utilities to a new UnixUtil header.
2025-10-04 14:51:17 -05:00
Jordan Woyak
504ea99cfa
CommonFuncs: Add StrerrorString version of LastStrerrorString that accepts an error number.
2025-10-04 14:51:17 -05:00
Jordan Woyak
eec7f65e33
WiimoteReal/IOLinux: Increase inquiry length to 3.84 seconds. This is what Wii games use and it seems to work better.
2025-10-04 14:50:58 -05:00
Jordan Woyak
4d53de5d84
WiimoteReal/IOhidapi: Log the currently attached hid driver on Linux.
2025-10-04 14:43:28 -05:00
Jordan Woyak
572459bc25
WiimoteEmu: Require IRPassthrough has any bound inputs to operate. Users get confused and mistakenly enable it.
2025-10-04 14:34:49 -05:00
Admiral H. Curtiss
c9c57f8ba4
Merge pull request #13752 from jordan-woyak/xlib-duplicate-key-names
...
ControllerInterface/Xlib: Combine keycodes with the same name to fix non-working inputs.
2025-10-04 17:18:16 +02:00
Admiral H. Curtiss
14ce952519
Merge pull request #13946 from JosJuice/i18n-2025-09-17
...
i18n: Add comments
2025-10-04 16:24:14 +02:00
Jordan Woyak
7609220e61
WiimoteReal/IOhidapi: Minor warning fixes and cleanups.
2025-10-03 18:10:11 -05:00
Jordan Woyak
4a39ca249c
WiimoteReal/IOhidapi: Move VID/PID check to a helper function that other backends can use in the future.
2025-10-03 04:45:19 -05:00
Jordan Woyak
6c91e30a0d
WiimoteReal/IOhidapi: Remove accidentally included HID Profile byte from write test.
2025-10-03 04:36:16 -05:00
JMC47
70f9ae2432
Merge pull request #13907 from TryTwo/PR_Cheat_Refresh
...
Cheats: Refresh active code after editing it.
2025-10-02 17:48:00 -04:00
Jordan Woyak
dbb5a8eb0e
Merge pull request #13926 from Dentomologist/settings_open_file_dialog_at_user_path
...
Settings: Open file dialogs at user path instead of custom path
2025-10-02 15:13:31 -05:00
JosJuice
d669f8c3c8
Merge pull request #13986 from SuperSamus/dcbz-avx-fix
...
dcbz: Fix AVX path
2025-10-02 19:18:59 +02:00
Jordan Woyak
cd84d58a1a
Merge pull request #13982 from jordan-woyak/sdl-disable-dinput
...
SDL: Disable DirectInput handling to work around hangs on shutdown.
2025-10-02 03:21:33 -05:00
Martino Fontana
4f737b7aaf
dcbz: Fix AVX path
2025-10-01 21:09:18 +02:00
Dentomologist
d311724750
Jit64: Fix dcbz regression
...
Fix a regression from d1ba84987 that caused freezes and/or
graphical/audio glitches in various games.
2025-09-30 22:15:36 -07:00
Jordan Woyak
ecb6dbbfd3
WiimoteReal: Use GetEnvForThread within IORead/IOWrite calls to fix real Wii remotes on Android.
2025-09-30 18:03:05 -05:00
JosJuice
0c89c00d8b
Merge pull request #13929 from SuperSamus/dcbz-jit-improvements
...
Jit: Small `dcbz` improvements
2025-09-30 18:52:09 +02:00
Jordan Woyak
c11132d2a6
SDL: Disable DirectInput handling to work around hangs with the "8BitDo Ultimate 2" controller.
2025-09-30 03:13:52 -05:00
Jordan Woyak
956f6cfbd2
SDL: Name the hotplug thread.
2025-09-30 03:04:58 -05:00
Joshua Vandaële
a8b40a218c
Externals: Update libiconv to 1.18
...
I also excluded libiconv from the Windows CMake builds since it's never used there
2025-09-29 21:52:58 +02:00
Mateus B. Cassiano
9bf6906432
RealtekFirmwareLoader: more RTL8761B device IDs
2025-09-28 22:04:06 -04:00
JMC47
7cf6e7258c
Merge pull request #13974 from JoshuaVandaele/system-glslang
...
Externals: Update glslang to 16.0.0 and allow using system glslang
2025-09-28 18:21:54 -04:00
JMC47
e5fbc74156
Merge pull request #13082 from Dentomologist/generalpane_hardcore_mode_tooltip_clarifications
...
GeneralPane: Add Hardcore Mode tooltip clarifications
2025-09-28 14:10:06 -04:00
JMC47
e1c7734ee4
Merge pull request #13260 from JosJuice/android-gcadapter-hotplug-callback
...
Android: Detect GCAdapter hotplug using BroadcastReceiver
2025-09-28 14:03:50 -04:00