Commit Graph
71 Commits
Author SHA1 Message Date
Joshua Vandaële ca999509e5 SDL: Enable CCache if wanted 2026-01-08 18:24:35 +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 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