Joshua Vandaële
e822cc3715
c++23: Replace Common::Unreachable with std::unreachable
...
Requires at least GCC 12, Clang 15, MSVC 19.32, or AppleClang 14.0.3.
2026-01-17 23:53:21 +01:00
Joshua Vandaële
0e348ee159
MenuBar: Add entries to open the config and cache folders
2026-01-15 20:40:48 +01:00
Joshua Vandaële
55f0715ad4
c++23: Replace Common::ToUnderlying with std::to_underlying
...
Requires at least GCC 11, Clang 13, MSVC 19.30 (VS2022 17.0), or AppleClang 13.1.6 (XCode 13.3).
2026-01-09 23:49:10 +01:00
Joshua Vandaële
6cc121aceb
DInputKeyboardMouse: Always report all possible buttons
2026-01-07 01:08:34 +01:00
Joshua Vandaële
2005b0365e
cpp-ipc: Fix builds on non-FreeBSD BSDs
...
cpp-ipc is explicitely only available on Windows, Linux, QNX, and FreeBSD. Trying to build dolphin on any another BSD such as OpenBSD or Haiku currently leads to failure because of this.
2026-01-06 21:46:33 +01:00
Joshua Vandaële
7f6bf67182
CMake: Apply editorconfig formatting
2026-01-04 12:59:56 +01:00
Joshua Vandaële
75560925f1
.editorconfig: Update CMake style
...
Our CMakeLists.txt and CMake files primarly use two spaces for indenting, and from what I've seen we enforce a final newline during PR reviews.
2026-01-04 12:53:12 +01:00
Joshua Vandaële
84247df681
curl: Disable manual
...
This also fixes a configure-time warning if perl is not present
2025-12-30 19:48:45 +01:00
Joshua Vandaële
74b1930da4
JitArm64_RegCache: Fix is always true warnings
2025-12-29 11:12:07 +01:00
Joshua Vandaële
f9fe82f19e
ShaderAsset: Fix shadowed variable
...
`samplers` is a member defined in ShaderAsset.h
2025-12-29 11:12:07 +01:00
Joshua Vandaële
35c6a6e612
CustomPipeline: Remove unused functions
2025-12-27 09:07:42 +01:00
Joshua Vandaële
34b402b631
Externals: Update zlib-ng to v2.3.2
2025-12-24 11:44:37 +01:00
Joshua Vandaële
5a6dc310c0
DITConfiguration: Prevent a crash if images fail to load
...
Recently came across a strange issue where Dolphin would hard crash in most games with this error:
```sh
/usr/include/c++/15.2.1/optional:1165: constexpr const _Tp* std::optional<_Tp>::operator->() const [with _Tp = InputCommon::ImagePixelData]: Assertion 'this->_M_is_engaged()' failed.
```
The culprit turned out to be accessing `host_key_image` which is an `std::optional` thay may return `std::nullopt`. I'm not sure why this issue started occuring for me since I've had no issue with my Dynamic Input Textures in the past? But this fixes a crash if the image fails to load.
2025-11-29 23:54:48 +01:00
Joshua Vandaële
1958c43920
Bump zstd to 711e17da98510a3567bf47f85a08a76f64811474 and use upstream CMakeLists
2025-11-27 02:36:07 +01:00
Joshua Vandaële
deeb6f160c
Disable PatchAllowlistTest if USE_RETRO_ACHIEVEMENTS is OFF
...
This fixes a build error when `-DENABLE_TESTS=ON` and `-DUSE_RETRO_ACHIEVEMENTS=OFF` are both set together, since AchievementManager is also behind an ifdef.
2025-11-27 01:26:51 +01:00
Joshua Vandaële
025ff87a27
Use minizip-ng's CMakeLists instead of relying on our own implementation
...
This is a carry over from back when we used `minizip` and had our own CMakeLists for it.
2025-11-27 00:18:31 +01:00
Joshua Vandaële
7960a306f7
Externals: Make imgui a submodule
2025-10-30 15:02:19 +01: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
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
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
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
Joshua Vandaële
4f7d48e018
Move bzip2 from vendored to a submodule
...
We are already on the latest version (1.0.8) since the project is not very active and has not seen much activity in the last few years.
2025-10-25 23:11:49 +02:00
Joshua Vandaële
37d6fe61ba
CMakeLists: Fix compilation of glslang in cases where it hasn't been linked against SPIRV-Tools
2025-10-13 01:52:24 +02:00
Joshua Vandaële
4c87f08ff7
Update cpp-optparse to last commit and turn into a submodule
2025-10-10 16:43:49 +02:00
Joshua Vandaële
ce860ab43d
discord-rpc: Bump CMake minimum requirement
2025-10-02 07:55:06 +02: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
Joshua Vandaële
7332cc1c8a
Externals: Allow building SDL without X11/Wayland
2025-09-29 05:23:32 +02:00
Joshua Vandaële
5db6e60b71
pugixml: Update to 1.15 and make it a submodule
2025-09-28 20:05:25 +02:00
Joshua Vandaële
cdfb389509
Externals: Update glslang to 16.0.0 and allow using system glslang
2025-09-27 08:56:10 +02:00
Joshua Vandaële
83cbedd609
RealtekFirmwareLoader: Fix shadowed variable warning
2025-09-07 16:54:11 +02:00
Joshua Vandaële
33c9aa714b
USBDevicePicker: Modify USBDeviceAddToWhitelistDialog to be more generic, and use it for a new "More Options..." selection in Bluetooth Passthrough adapters
2025-08-05 13:16:50 +02:00
Joshua Vandaële
f8b85edd0c
Qt: Better wayland detection to enforce xcb
...
In certain cases, the platform can be "wayland-egl", "wayland-xcomposite", and other values for which I haven't found a full list yet. Instead of matching only "wayland", we now look for "wayland" anywhere in the `QT_QPA_PLATFORM` string in a case-insensitive manner.
Acknowledgements:
`CaseInsensitiveContains`' implementation was heavily inspired by GNU's non-standard glibc `strcasestr` function, which can be found here licensed under GPLv2 or later: https://ftp.gnu.org/gnu/libc/
2025-08-04 19:34:31 +02:00
Joshua Vandaële
ee68efeee8
Config: Change default value for Dual Core from enabled to disabled
...
Dual Core is primarily known as one of the first troubleshooting steps when emulation or NetPlay misbehave.
I believe(?) the original intent with having it on by default was likely to support users with weaker machines. However, I believe it would be a lot more reasonable for users to manually enable dual core if they really need the performance boost, rather than it is for them to have come ask us in support channel why their cleanly-installed Dolphin is not emulating their games properly.
Instead, this creates a fragile first impression where a clean install of Dolphin is already set up in a way that leads to inexplicable crashes, subtle timing bugs, and NetPlay desyncs.
Note: This changes only applies to the Desktop application, since mobile devices *do* really need the performance boost.
2025-07-27 19:07:08 +02:00
Joshua Vandaële
4ae195ee60
USBUtils: Refactor USB device handling
2025-07-23 03:26:25 +02:00
Joshua Vandaële
4788af92bc
.gitmodules: Update URLs for lz4, hidapi, and minizip-ng submodules to include .git extension
2025-07-19 04:29:17 +02:00
Joshua Vandaële
0019256707
.gitmodules: Add shallow option for all submodules
2025-07-19 04:29:14 +02:00
Joshua Vandaële
0611880c56
.gitmodules: Remove branch specifications for submodules
2025-07-19 04:28:19 +02:00
Joshua Vandaële
81a9809525
Translation: Re-order translation strings
2025-07-16 23:55:03 +02:00
Joshua Vandaële
4a520c62a0
Translation: Remove deprecated --sorted-output/-s option
...
See https://lists.nongnu.org/archive/html/info-gnu/2024-12/msg00000.html
2025-07-16 23:54:29 +02:00
Joshua Vandaële
ebcca270cc
Translation: Update source and translated strings
2025-07-16 23:54:19 +02:00
Joshua Vandaële
5c7743e617
Translation: Specify encodings for Qt strings
...
This is required for update-source-strings.sh to work with xgettext 0.25.0
2025-07-16 23:52:07 +02:00
Joshua Vandaële
12482c8c3b
Translation: Ensure files are treated in the same order
...
This also tells `sort` to ignore the case, and to only consider using alphanumeric characters, to ensure parity across different filesystems.
2025-07-16 23:52:04 +02:00
Joshua Vandaële
06882bd2dc
Fix various warnings
2025-07-12 12:47:30 +02:00
Joshua Vandaële
57cbd98f42
miniupnpc: Update to 2.3.3 and make it a submodule
2025-07-08 03:48:37 +02:00
Joshua Vandaële
8f0ef62a71
ClickBlurLabel: Create a label which is blurred until it is clicked
...
This is particularly useful for people who stream their desktop and don't want to accidentally leak their IP or room.
2025-06-25 04:08:04 +02:00
Joshua Vandaële
d93245cc7a
Host: Implement a Windows-only implementation of GetDeviceNameFromVIDPID
2025-06-13 17:46:53 +02:00
Joshua Vandaële
241834709b
Host: Clean up device handle
2025-06-07 16:55:45 +02:00
Joshua Vandaële
4b65cc9a4c
fmt: Replace deprecated fmt::localtime usage with Common::LocalTime
2025-06-04 13:32:12 +02:00
Joshua Vandaële
2ed5f16600
minizip-ng: Stop using compatibility mode
2025-05-22 12:51:55 +02:00
Joshua Vandaële
3cc50cea9f
enet: Update to 1.3.18 and clean up CMake
...
Our CMakeLists was more or less a copy/paste of the one from enet
2025-05-18 18:34:47 +02:00
Joshua Vandaële
87eb1aff16
libspng: Update to 0.7.4 and clean up CMake
2025-05-18 18:33:33 +02:00
Joshua Vandaële
d4afa1ebfa
SFML: Update to 3.0.1
2025-05-18 01:49:55 +02:00
Joshua Vandaële
72fd344dca
Allow shared zlib
...
This is a followup to #13089
2025-05-04 16:50:25 +02:00
Joshua Vandaële
97e696e524
CMake: Explicitely link udev if LIBUDEV_FOUND is set
2025-04-27 22:03:15 +02:00
Joshua Vandaële
bf554edfe0
linter: Add and apply new formatting rules
...
New rules:
`InsertNewlineAtEOF: true`
`RemoveSemicolon: true`
`RequiresClausePosition: WithPreceding`
2025-04-23 11:19:57 +02:00
Joshua Vandaële
2c54ee94c1
linter: Apply clang-format 19.1 formatting
...
find ./Source/ -name '*.cpp' -o -name '*.h' | xargs clang-format-19 -i
2025-04-23 11:19:20 +02:00
Joshua Vandaële
d9d0082018
linter: Bump clang-format version to 19.1
2025-04-23 11:15:52 +02:00
Joshua Vandaële
4773a6f323
Add a GUI option to select a bluetooth device
2025-04-23 02:19:28 +02:00
Joshua Vandaële
3a1a60d4f8
Fix shadowed variable warnings and missing declarations
...
- PPCSymbolDB: Resolve shadowed variable warnings
- PerformanceMetrics: Resolve shadowed variable warnings
- SWEfbInterface: Add missing declarations
2025-03-27 21:48:08 +01:00
Joshua Vandaële
42fb43dacf
Implement multiple saves import
...
https://bugs.dolphin-emu.org/issues/12887
2025-03-17 10:43:09 +01:00
Joshua Vandaële
0a83783fae
Migrate to SFML>=3.0.0
2025-02-25 06:42:13 +01:00
Joshua Vandaële
5b4d4ca5eb
Fix multiple minor warnings
...
- ExpressionParser.cpp: `-Wmissing-declarations`
- AchievementManager.cpp: `-Wsign-compare`
- SI.cpp: `-Warray-bounds=`
- NetPlayClient.cpp: `-Wdangling-reference`
2025-02-21 19:17:29 +01:00
Joshua Vandaële
b5978148b5
Contributing.md: Improve clarity and specify clang-format version
2025-02-06 15:16:23 +01:00
Joshua Vandaële
f1f147965b
Fix segfault when passing invalid arguments
2025-01-24 20:52:33 +01:00
Joshua Vandaële
a76ed94120
AboutDialog: Disable resizing the About window
2025-01-24 10:45:54 +01:00
Joshua Vandaële
2bfeff834c
Readme: Add a link to Analytics
2025-01-21 13:05:21 +01:00
Joshua Vandaële
63d7250d2b
Remove legacy configuration support
...
LoadLegacyConfig was written five years ago, I believe we're confident enough that most configurations have been migrated by now.
2025-01-20 13:36:11 +01:00
Joshua Vandaële
a3b06b0572
Enforce XCB within code
2025-01-20 11:57:21 +01:00
Joshua Vandaële
fa442dc90b
Fix build with minizip-ng 4.0.8
2025-01-19 10:30:41 +01:00