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
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
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