Jordan Woyak
c08fda96ca
Merge pull request #14100 from AndrewGDX/master
...
Improved stereoscopic 3D settings
2025-11-12 16:43:21 -06:00
AndrewGDX
113c86f1b4
Improved stereoscopic 3D settings
2025-11-12 12:29:03 +03:00
Craig Carnell
f1fb550bf1
Fix cheats always enabled without USE_RETRO_ACHIEVEMENTS
2025-11-12 08:33:49 +00:00
OatmealDome
df5f351add
DolphinAnalytics: Only call ReloadConfig in config changed callback when analytics enabled value changes
...
Co-authored-by: Simonx22 <simon@oatmealdome.me>
2025-11-12 00:09:41 -05:00
Jordan Woyak
bf61c890ca
VideoCommon/PerformanceMetrics: Display current offset between the latest frame presentation time and the intended presentation time in the "Show Frame Times" box.
2025-11-11 20:01:52 -06:00
Jordan Woyak
c2a1dce246
VideoCommon: Add "Smooth Early Presentation" setting to improve frame pacing with ImmediateXFB and/or RushFramePresentation.
2025-11-11 20:01:52 -06:00
Jordan Woyak
cc331feb02
VideoCommon: Make Presenter aware of the next swap time to eliminate unsafe usage of GetTicks() with ImmediateXFB + DualCore.
2025-11-11 20:01:52 -06:00
Jordan Woyak
d4f68cb164
HW/VideoInterface: Selectively throttle on "VBlank" based on "Immediate XFB" being enabled.
2025-11-11 20:01:52 -06:00
Jordan Woyak
16260040e0
CoreTiming: Add "Rush Frame Presentation" setting to throttle only once after each presentation for lower input latency.
2025-11-11 20:01:52 -06:00
JMC47
8495e01668
Merge pull request #14096 from jordan-woyak/state-changed-hookable-event
...
Core: Make AddOnStateChangedCallback use HookableEvent.
2025-11-11 20:58:45 -05:00
JMC47
f63796c480
Merge pull request #14071 from iwubcode/avoid_config_framebuffer_manager
...
VideoCommon: pass the EFB buffer scale into the FramebufferManager
2025-11-11 20:58:35 -05:00
JMC47
b8236d4662
Merge pull request #14070 from VampireFlower/master
...
Debugger: Ignore bctr when stepping out
2025-11-11 20:57:45 -05:00
JMC47
c44ea1389a
Merge pull request #13236 from JosJuice/jit-set-msr-on-fallback
...
Call JitInterface::UpdateMembase from PowerPC::MSRUpdated
2025-11-11 20:55:24 -05:00
Jordan Woyak
f51eaf3282
Merge pull request #14052 from jordan-woyak/DirectIOFile
...
Common and DiscIO: Introduce a thread safe DirectIOFile and make BlobReader implementations use it.
2025-11-10 17:29:43 -06:00
JosJuice
068947e2b6
Core: Remove IsHostThread
...
The core no longer cares which thread is the host thread.
Cleaning up Android's HostThreadLock is left for another PR, in part
because the HostThreadLock in NativeConfig.cpp still serves a purpose,
and in part to make any issues easier to bisect.
2025-11-10 21:14:56 +01:00
JosJuice
1bba42de45
RetroAchievements: Remove MemoryPeeker/MemoryPoker's copying approach
...
This makes the code simpler, and saves us from the slow operation of
copying the all of RAM on every frame when RAIntegration is enabled.
2025-11-10 21:14:20 +01:00
JosJuice
458bb05af9
Core: Let any thread call previously host-thread-only functions
...
By letting threads other than the host thread use things like
CPUThreadGuard, we can do a significant cleanup in AchievementsManager
in a later commit of this pull request.
Note: Some functions still can't be called from the CPU thread (or
threads the CPU thread might block on, like the GPU thread), but can
be called from any other thread.
2025-11-10 21:14:17 +01:00
JosJuice
cd4902f0ed
Merge pull request #13875 from JosJuice/jitarm64-orr-base-without-mirror
...
JitArm64: Add missing ORR pattern in MOVI2RImpl
2025-11-10 20:16:21 +01:00
Jordan Woyak
a97627e736
Core: Make AddOnStateChangedCallback use HookableEvent.
2025-11-09 16:43:19 -06:00
Admiral H. Curtiss
31ca3bca47
Merge pull request #13956 from jordan-woyak/SA_RESTART
...
Main: Add SA_RESTART to sigaction sa_flags.
2025-11-09 15:30:27 +01:00
Admiral H. Curtiss
02b4b1ece3
Merge pull request #14010 from jordan-woyak/wmreal-iolinux-reopen-on-unplug
...
WiimoteReal/IOLinux: Reopen Bluetooth device if it was unplugged between scans.
2025-11-09 15:03:12 +01:00
Admiral H. Curtiss
c97d2af814
Merge pull request #14022 from TryTwo/fix_balloontip_width
...
Settings BalloonTip: Have wordwrap use max width.
2025-11-09 15:00:19 +01:00
Admiral H. Curtiss
ab2ceb10ae
Merge pull request #14073 from jordan-woyak/convert-dialog-min-size
...
DolphinQt: Make disc ConvertDialog have a better minimum size and use QFormLayout.
2025-11-09 14:57:46 +01:00
Admiral H. Curtiss
6435ee1d20
Merge pull request #14026 from jordan-woyak/move-only-function-fix
...
Common/Functional: Fix MoveOnlyFunction from inadvertently creating references from lvalues.
2025-11-09 14:49:20 +01:00
Admiral H. Curtiss
29e2b0ff01
Merge pull request #14068 from iTrooz/open_folder
...
feat(profiles): add "open profiles folder" button + add dropdown button for profile actions
2025-11-09 14:29:18 +01:00
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
OatmealDome
448329e821
SettingsWindow: Set navigation list stylesheet in constructor
2025-11-09 01:55:52 -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
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
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
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
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
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
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
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
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
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
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
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
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
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