Commit Graph

46031 Commits

Author SHA1 Message Date
Dentomologist
39240edc2a GeckoCodeWidget: Add Enable/Disable All button 2026-04-20 15:15:56 -07:00
Dentomologist
0d3ccfada5 ARCodeWidget: Add Enable/Disable All button 2026-04-20 15:15:56 -07:00
JosJuice
a992245aa2 VolumeVerifier: Add extra validity checks for ticket and TMD
This fixes VolumeVerifier potentially calling TMDReader::GetIOSId for
invalid TMDs.

VolumeVerifier also has a call to TMDReader::GetContent that doesn't
check if the TMD is valid. In practice, this can't get called with an
invalid TMD because the previous commit made it so GetContentOffsets
returns an empty vector if the TMD is invalid, but I've added a check
inside TMDReader::GetContent just to be on the safe side.

I also made VolumeVerifier show a specifically worded problem if the
ticket or TMD is invalid. Before, invalid TMDs in Wii discs and WADs
and invalid tickets in WADs would show a more generic problem.
2026-04-20 20:26:31 +02:00
JosJuice
97fff931fd DiscIO: Add extra IsValid checks for VolumeWAD::m_tmd
Plus an IsValid check inside TMDReader::GetContents, which is called by
VolumeWAD.

Fixes https://bugs.dolphin-emu.org/issues/14032.
2026-04-20 20:18:36 +02:00
Jordan Woyak
b70e28a0f6 GameSettings: Disable EFBToTexture for "Metroid Prime 2: Dark Echoes (Wii)" to fix the scan visor and clean up the other Metroid Prime ini files. 2026-04-20 13:06:58 -05:00
Link Mauve
fc47091592 Remove GLX support
EGL is the de-facto GL context initialization API, including on X11
where it provides many additional features over GLX.

I’m planning on adding support for selecting the GPU (adapter in
Dolphin-speak) also to OpenGL, similarly to the Vulkan backend, and that
will require EGL, so let’s remove the legacy API first.
2026-04-20 16:19:45 +02:00
Dr. Dystopia
9ae9c12938 Replace find(x) != npos with contains(x) - Core 2026-04-20 09:36:08 +02:00
Elyas Hue
fb4ff3e51b VideoCommon: Added an option to showcase internal resolution, EFB width x height as screen overlay. Option to turn it on is a checkbox in screen on the OSD settings, in debug. This supports enhancements. 2026-04-19 23:19:21 +02:00
Martino Fontana
4a2d48f659 GameSettings: Add Wind Waker pre-release demo
It is listed in the Dolphin wiki with the assumption that it's using the same default settings as regular Wind Waker.
https://wiki.dolphin-emu.org/index.php?title=The_Legend_of_Zelda:_The_Wind_Waker_Demo_Prerelease

I don't know if the Picto Box is even obtainable in the demo... but maybe it is through glitches or something, so I'll keep `EFBToTextureEnable = False` in.
2026-04-19 21:15:20 +02:00
Jordan Woyak
914f5c5621 Merge pull request #14547 from JosJuice/page-table-fastmem-setting-gui
Add page table fastmem to Debug/JIT settings
2026-04-19 11:21:26 -05:00
Jordan Woyak
9271631cab Merge pull request #14609 from jordan-woyak/gamesettings-second-sight
GameSettings: Disable PageTableFastmem in "Second Sight" to fix freeze.
2026-04-19 10:32:49 -05:00
Jordan Woyak
9ae93b1674 GameSettings: Disable PageTableFastmem in "Second Sight" to fix freeze. 2026-04-18 18:15:32 -05:00
Dentomologist
e235cebb01 Merge pull request #14604 from cristian64/fusion_qgroupbox_style_qt660
DolphinQt: Use custom style for `QGroupBox` only with Qt 6.6.0+.
2026-04-18 14:17:35 -07:00
JosJuice
74bb80544e Merge pull request #14565 from SuperSamus/cpp-argument-move-reference
Improve usage of std::move and const references parameters
2026-04-18 21:02:30 +02:00
JosJuice
5f2641ba4d Merge pull request #14580 from jordan-woyak/more-imm-xfb-gamesettings
GameSettings: Add comments with the reason for disabling ImmediateXFB for many games.
2026-04-18 20:57:07 +02:00
Jordan Woyak
ff57599e67 StringUtil: Make UTF16ToUTF8 and UTF8ToUTF16 use custom encoding/decoding implementation to eliminate usage of deprecated std::wstring_convert. 2026-04-18 13:06:17 -05:00
JosJuice
cc01a60347 GCAdapter: Automatically start and stop thread
This keeps the logic encapsulated inside GCAdapter.cpp so callers don't
have to think about it.
2026-04-18 19:40:25 +02:00
Adam Scott
a5059cbca8 Add screen crop feature 2026-04-18 13:08:41 -04:00
Jordan Woyak
4126178204 Merge pull request #14606 from cristian64/range_loop_construct_warning
Core: Address `-Wrange-loop-construct` warning.
2026-04-18 12:07:05 -05:00
cristian64
6059045c59 Core: Address -Wrange-loop-construct warning.
The warning can be seen since 1f72403ec7 when GCC 13.3.0 is used:

```counterexample
[1540/1898] Building CXX object Source/Core/VideoCommon/CMakeFiles/videocommon.dir/TextureCacheBase.cpp.o
/w/dolphin/Source/Core/VideoCommon/TextureCacheBase.cpp: In member function 'void TextureCacheBase::ApplyMaterialToCacheEntry(const VideoCommon::MaterialResource&, TCacheEntry*)':
/w/dolphin/Source/Core/VideoCommon/TextureCacheBase.cpp:3136:19: warning: loop variable 'texture' creates a copy from type 'const VideoCommon::MaterialResource::TextureLikeReference' [-Wrange-loop-construct]
 3136 |   for (const auto texture : material_data->GetTextures())
      |                   ^~~~~~~
/w/dolphin/Source/Core/VideoCommon/TextureCacheBase.cpp:3136:19: note: use reference type to prevent copying
 3136 |   for (const auto texture : material_data->GetTextures())
      |                   ^~~~~~~
      |                   &
```
2026-04-18 10:23:55 +01:00
cristian64
e6a11f667d DolphinQt: Use custom style for QGroupBox only with Qt 6.6.0+.
This is a follow-up to 3e788399b6 (#14153), where a custom
style for `QGroupBox` widgets was introduced when the Fusion style is
used.

However, it was overlooked that the custom QSS does not get along well
with Qt versions older than 6.6.0; on Windows, Qt 6.5.1 is used.

| With Qt 6.5.3 | With Qt 6.11.0 |
| ------------- | -------------- |
| <img alt="Dolphin with Qt 6.5.3" title="Dolphin with Qt 6.5.3" src="https://github.com/user-attachments/assets/9d341eef-0438-44c0-b341-8d0a53d9eb09" /> | <img alt="Dolphin with Qt 6.11.0" title="Dolphin with Qt 6.11.0" src="https://github.com/user-attachments/assets/1bc793d2-c958-413b-b99c-51d064104a75" /> |

Compile checks have been added now to only apply the custom style if
Qt 6.6.0 (or newer) is used.
2026-04-18 10:04:44 +01:00
JosJuice
4aaecbb148 Android: Add page table fastmem to Debug settings 2026-04-18 08:42:34 +02:00
JosJuice
97a9c46a9d DolphinQt: Add page table fastmem to JIT menu
This can be useful for experimenting with how a game behaves with and
without page table fastmem. As with everything in the JIT menu, this is
only available if Dolphin's debugger is enabled.

I didn't add this in 989a95a when I added the setting itself because we
were under a string freeze for Dolphin 2603a at the time.
2026-04-18 08:42:34 +02:00
Jordan Woyak
c88d5da3dc GameSettings: Add comments with the reason for disabling ImmediateXFB for many games. 2026-04-17 22:49:24 -05:00
Jordan Woyak
c2072fdeb3 GameSettings: Apply settings required for Solitaire and Mahjong WiiWare. 2026-04-17 15:27:32 -05:00
JMC47
42175d4e75 Merge pull request #14600 from jordan-woyak/fitness-games
GameSettings: Various fitness game fixes.
2026-04-17 13:57:28 -04:00
Jordan Woyak
9b9b20106e Merge pull request #14594 from jordan-woyak/gamesettings-mysims
GameSettings: Apply settings for alternate regions of "MySims Agents".
2026-04-17 12:27:28 -05:00
Jordan Woyak
cc5601d7db Merge pull request #14588 from jordan-woyak/resources-icon-assert
DolphinQt/Resources: ERROR_LOG instead of ASSERT when LoadNamedIcon fails.
2026-04-17 12:25:54 -05:00
JosJuice
6d43b55b27 Merge pull request #9952 from Dentomologist/wiimotereal_remove_unused_isready_functions
WiimoteReal: Remove unused IsReady and IsScannerReady functions
2026-04-17 19:10:09 +02:00
Martino Fontana
95dec13203 Improve usage of std::move and const references parameters
Accomplished using `run-clang-tidy` with `performance-move-const-arg,performance-unnecessary-value-param,modernize-pass-by-value`.

Changed arguments to const references, removed them where inappropriate (e.g. sink parameters). Same with std::move.

Manually reviewed each change to make sure that it makes sense, and do something more appropriate if possible.
2026-04-17 12:39:46 +02:00
OatmealDome
0cdb855434 Merge pull request #14567 from Simonx22/android/convert-wiimoteadapter-to-kotlin
Android: Convert WiimoteAdapter to Kotlin
2026-04-16 20:25:19 -04:00
OatmealDome
995b5b2833 Merge pull request #14568 from Simonx22/android/convert-gcadapter-to-kotlin
Android: Convert GCAdapter to Kotlin
2026-04-16 20:25:09 -04:00
Simonx22
301ca5fcb8 Android: Convert GameFileCacheManager to Kotlin 2026-04-16 16:46:24 -04:00
Dentomologist
518f5f458f HacksWidget: Merge BoundingBox disabled tooltip into BalloonTip
When a backend doesn't support BoundingBox, show that information in the
BalloonTip instead of spawning a separate tooltip.
2026-04-16 13:39:52 -07:00
Jordan Woyak
51f0ad0531 Merge pull request #14153 from cristian64/fusion_qgroupbox_style
DolphinQt: Custom style for `QGroupBox` in Fusion.
2026-04-16 15:32:24 -05:00
Dentomologist
b35223e0f3 HacksWidget: Merge GPU Texture Decoding disabled tooltip with BalloonTip
When GPU Texture Decoding is disabled, explain why in the BalloonTip
instead of spawning a separate tooltip.
2026-04-16 13:29:46 -07:00
Jordan Woyak
6190df756f GameSettings: Various fitness game fixes. 2026-04-16 12:44:11 -05:00
JMC47
8f638bfee5 Merge pull request #14585 from jordan-woyak/gamesettings-shrek-lines
GameSettings: Enable VertexRounding in "Shrek Smash n' Crash Racing".
2026-04-16 13:13:26 -04:00
JMC47
fba5d5ef67 Merge pull request #14584 from jordan-woyak/gamesettings-millionaire
GameSettings: Disable ImmediateXFB for "Who Wants To Be A Millionaire".
2026-04-16 13:11:32 -04:00
JMC47
5c7e361505 Merge pull request #14586 from jordan-woyak/gamesettings-hide-sneak
GameSettings: Disable DeferEFBCopies to fix shadows in "Disney's Hide & Sneak".
2026-04-16 13:10:11 -04:00
JMC47
48ff7d3d10 Merge pull request #14593 from jordan-woyak/gamesettings-nfl-street
GameSettings: EFBAccessEnable for "NFL Street 2" to fix broken custom character portraits.
2026-04-16 13:08:03 -04:00
Dentomologist
7d207f7248 WiimoteReal: Remove unused IsReady and IsScannerReady functions
The only call of `IsScannerReady` was removed by
81be0001a9, and most of the `IsReady`
functions were only called by `IsScannerReady`.

The one exception was in `WiimoteScannerLinux`, which is now a private
function instead of inheriting from the one in `WiimoteScannerBackend`.
2026-04-15 14:25:50 -07:00
Jordan Woyak
c299144f1e Merge pull request #14595 from jordan-woyak/supported-bt-label
DolphinQt: Remove the "supported Bluetooth device could not be found" label from ControllersPane.
2026-04-15 10:43:32 -05:00
Jordan Woyak
81be0001a9 DolphinQt: Remove the "supported Bluetooth device could not be found" label from ControllersPane.
It just confuses DolphinBar users and isn't relevant these days now that Windows users do not use alternative Bluetooth stacks.
2026-04-14 13:25:44 -05:00
Jordan Woyak
048fb013bd GameSettings: Apply settings for alternate regions of "MySims Agents". 2026-04-14 12:56:09 -05:00
Jordan Woyak
939b6d95f2 GameSettings: EFBAccessEnable for "NFL Street 2" to fix broken custom character portraits.
Also added comments for ImmediateXFBEnable in NFL Street 1 and 2.
2026-04-14 12:35:45 -05:00
Jordan Woyak
fb607239e5 DolphinQt/GCMemcardManager: Don't unnecessarily repopulate the slot table when switching between A <-> B. 2026-04-14 11:05:06 -05:00
Jordan Woyak
52ef8d3f8d DolphinQt/GCMemcardManager: Set ScrollMode::ScrollPerPixel to make scrolling behavior less annoying. 2026-04-14 11:04:03 -05:00
TryTwo
158b8cfd7c Debugger: Register Widget bug fix. Block updates when changing column data type. 2026-04-13 23:46:44 -07:00
Jordan Woyak
46866f6fa2 DolphinQt/Resources: ERROR_LOG instead of ASSERT when LoadNamedIcon fails. 2026-04-13 20:22:31 -05:00