Commit Graph
3320 Commits
Author SHA1 Message Date
Dentomologist 59eef9d4d8 HotkeyManager: Unabbreviate HK_TOGGLE_STEREO_TAB
Rename HK_TOGGLE_STEREO_TAB to HK_TOGGLE_STEREO_TOP_AND_BOTTOM.
2026-04-23 12:32:26 -07:00
Dentomologist 8b743dfe9c HotkeyManager: Unabbreviate HK_TOGGLE_STEREO_SBS
Rename HK_TOGGLE_STEREO_SBS to HK_TOGGLE_STEREO_SIDE_BY_SIDE.
2026-04-23 12:32:26 -07:00
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
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
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
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 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
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 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 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
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
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 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 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
Dentomologist 908ddf3593 HacksWidget: Move function declarations to match convention
Move function declarations before variable declarations.
2026-04-13 15:45:06 -07:00
Martino Fontana 8971b3b67a VideoCommon: Fixup #14336
whoops

Closes https://bugs.dolphin-emu.org/issues/14024
2026-04-13 22:47:52 +02:00
Jordan Woyak b62bfe4b30 Merge pull request #14336 from SuperSamus/arbitrary-mipmap-disables-gpu-decoding
VideoCommon: Invert interaction between Arbitrary Mipmap Detection and GPU Texture Decoding (the former disables the latter)
2026-04-12 20:55:22 -05:00
Jordan Woyak 33f62b0f9f Merge pull request #14500 from Sintendo/span2
Replace `const std::vector&` arguments with `std::span`
2026-04-11 14:55:41 -05:00
Jordan Woyak edcc46c123 Merge pull request #14559 from JosJuice/remove-presets
DolphinQt: Remove Presets from GameConfigEdit
2026-04-06 12:13:26 -05:00
JosJuice 5fcdb6f8f9 DolphinQt: Hide buttons for read-only game config
The Open in External Editor button makes editing a game INI file easy,
and the Refresh button is only useful if you edit the game INI. You're
not supposed to edit read-only game INIs, so let's not show these two
buttons for read-only game INIs.

I implemented this by hiding the buttons instead of not creating them in
the first place so we don't have to branch on whether the buttons exist
in GameConfigEdit::ConnectWidgets.
2026-04-06 18:02:24 +02:00
JosJuice 7e98245ca4 DolphinQt: Remove Presets from GameConfigEdit
Back in 2018, a Presets system was added to DolphinQt's GameConfigEdit.
Presets was a dropdown menu where you could select a particular setting
to add to your custom game INI. Only a small number of settings were
made available, with the intent that more would be added over time.

8 years later, the set of available settings hasn't been expanded at
all, and I don't know of anyone who uses these presets. On top of this,
we have now made good progress in exposing per-game settings
graphically. I think the Presets system is best off removed.

In place of the Presets menu, we now have "Refresh" and "Open in
External Editor" buttons. These more useful actions were previously
hidden away in the Presets menu.
2026-04-06 17:23:40 +02:00
JosJuice 85e2149907 Merge pull request #14551 from Dentomologist/breakpointwidget_fix_globally_disabled_icon
BreakpointWidget: Fix drawing of icon when breakpoints are disabled
2026-04-06 12:27:00 +02:00
Dentomologist 69a5e516ed BreakpointWidget: Fix drawing of icon when breakpoints are disabled
Fix incorrect scaling of the gap drawn inside enabled breakpoints in
BreakpointWidget when breakpoints are globally disabled and the font
size is changed from the default.

As the font size increased the gap would become larger and its center
would "migrate" downward and rightward until the gap stopped being
visible at all.

Additionally, at small font sizes integer truncation issues could result
in the gap being offset towards the top left.
2026-04-04 19:07:58 -07:00
Tillmann Karras f06aef4f83 Improve NAND import progress dialog
Now with cancel button and an actual progress bar. For simplicity, we do
two passes on the progress bar, one for loading the NAND into memory and
one for extracting it. The user directory is likely on an SSD, making
the extraction pass invisibly fast.
2026-04-04 22:02:45 +01:00
JosJuice 15dee871f3 Merge pull request #14548 from Dentomologist/tasinput_let_stickwidget_and_irwidget_shrink
TASInput: Let StickWidget and IRWidget shrink
2026-04-04 15:28:28 +02:00
Dentomologist 082c606761 Merge pull request #14520 from cristian64/breakpoints_widget_font_fixes
DolphinQt: Size adjustments in **Breakpoints** widget based on selected debug font.
2026-04-03 21:05:35 -07:00
Dentomologist df37617975 TASInput: Let StickWidget and IRWidget shrink
Use `sizeHint` instead of `setMinimumSize` to increase the default size
of `StickWidget` and `IRWidget`.

0531286906 doubled the initial sizes of
`StickWidget` and `IRWidget`, but using `setMinimumSize` to do so
prevented users from shrinking the widgets manually.

Resolves bugs.dolphin-emu.org/issues/14019.
2026-04-03 11:36:30 -07:00
JMC47 02031e663a Merge pull request #14544 from jordan-woyak/gba-always-on-thread
HW/GBACore: Make GBAs always run on dedicated threads in preparation for future improvements.
2026-04-03 13:54:58 -04:00
cristian64 3e788399b6 DolphinQt: Custom style for QGroupBox in Fusion.
Fusion is the fallback style that Qt provides in systems that do not
offer a OS-specific style. Basically, anything that is not Windows,
macOS, or KDE (NOTE: Since #13919, users on these systems can opt in to
Fusion too).

Its default style for `QGroupBox` is not very conventional, and has been
customized to align with more popular designs.

| Before | After |
| --- | --- |
| ![Default QGroupBox style in Fusion](https://github.com/user-attachments/assets/b9f63e21-4282-4a61-a93c-93806ee589a4) | ![Custom QGroupBox style in Fusion](https://github.com/user-attachments/assets/1c8f7f1e-11a2-4712-b1b2-c5e5045b120e) |
2026-04-03 11:18:08 +01:00
cristian64 a37404a304 DolphinQt: Size adjustments in **Breakpoints** widget based on selected debug font.
- Debug font is now used in the widget.
- Row height is now determined by the character height of the current
  font.
- A `OnDebugFontChanged()` slot has been connected to properly update
  the widget on debug font changes.

| Before | After |
| --- | --- |
| <img alt="Breakpoints widget (before)" title="Breakpoints widget (before)" src="https://github.com/user-attachments/assets/fdde293a-b1fd-4a1d-85e2-e16bc859eb9e" /> | <img alt="Breakpoints widget (after)" title="Breakpoints widget (after)" src="https://github.com/user-attachments/assets/cf4f1d59-c235-429b-bcb1-cae36065e805" /> |
2026-04-03 11:00:30 +01:00
Jordan Woyak 26583fd026 HW/GBACore: Remove the GBA "Threads" setting. Make GBAs always run on dedicated threads in preparation for future improvements. 2026-04-02 18:11:29 -05:00
Dentomologist 0531286906 Merge pull request #14428 from StavrosKosmas0/master
DolphinQt: Updated TAS Qt UI elementes
2026-04-02 12:25:27 -07:00
Jordan Woyak c19faa8a32 Merge pull request #14534 from Dentomologist/generalpane_rename_updater_variables
GeneralPane: Change BETA to RELEASE in updater variable names
2026-04-02 09:32:34 -05:00
Dentomologist 864ba85a50 GeneralPane: Change BETA to RELEASE in updater variable names
Rename `AUTO_UPDATE_BETA_INDEX` to `AUTO_UPDATE_RELEASE_INDEX` and
`AUTO_UPDATE_BETA_STRING` to `AUTO_UPDATE_RELEASE_STRING`.

Add a comment explaining that `AUTO_UPDATE_RELEASE_STRING = "beta"` for
backward compatibility reasons.
2026-04-01 10:58:12 -07:00
Jordan Woyak 5cacbcf6ea DolphinQt: Expose Game Boy Player ROM path on the GameCube config tab. 2026-03-31 23:40:54 -05:00
cristian64 a051acec91 DolphinQt: Size adjustments in **Registers** widget based on selected debug font.
- Row height is no longer hardcoded to `24`; instead, the height is
  determined by the font height of the currently selected debug font.
- Header height has been reduced (a factor of the font height) as it
  only serves as a column resizer.
- A `OnDebugFontChanged()` slot has been connected to properly update
  the widget on debug font changes.

| Before | After |
| --- | --- |
| <img alt="Registers widget (before)" title="Registers widget (before)" src="https://github.com/user-attachments/assets/8a6644f9-1081-4ac8-9fff-c79ddb73e103" /> | <img alt="Registers widget (after)" title="Registers widget (after)" src="https://github.com/user-attachments/assets/67f799d0-8afd-4081-bb40-3d7a76ddc705" /> |
2026-03-27 09:30:31 +00:00
Dentomologist d16004c371 Merge pull request #14446 from Dentomologist/gamelist_add_game_count
GameList: Add status bar with game count
2026-03-26 14:00:52 -07:00
Sintendo f6a67aa6e7 Use more std::span arguments 2026-03-23 23:55:09 +01:00
Dentomologist 6b2a8eff15 AudioPane: Fix WASAPI default device combo selection
Set the default value of `Config::MAIN_WASAPI_DEVICE` to `default`
instead of `Default`. This fixes an issue where `AudioPane`'s `Output
Device` combo would be blank if `WASAPI` was selected and the user had
never changed the value of `Output Device`.

We don't have to worry about backward compatibility with users who have
`Default` in their config because config values aren't written unless
they've been changed at some point from the default, and the combo has
always saved `default` instead of `Default`.

Audio still worked during emulation in this situation because the
fallback for an unrecognized device name is the default device.

To help prevent similar situations in the future references to
`MAIN_WASAPI_DEVICE`'s default value now call `GetDefaultValue` instead
of hardcoding the expected default, or use the new helper function
`Config::IsDefaultValue`.
2026-03-21 15:07:42 -07:00
OatmealDome aba842c09a GeneralWidget: Add protections against invalid values in BackendWarning() 2026-03-15 14:08:41 -04:00
Dentomologist 7209cf87cb GameList: Add status bar with game count
The status bar shows the number of games in your collection. If any
games are hidden by the platform, region, or search filters it will also
show how many games are visible and how many are filtered.

The visibility of the status bar can be toggled from the menu by
selecting `View`->`Show Game Count`.

Implements https://bugs.dolphin-emu.org/issues/9517.
2026-03-13 11:26:32 -07:00
Dentomologist e550e1ff7c Merge pull request #14345 from TryTwo/cheat_search_work
CheatSearch: Add ability to breakpoint the selected lines.
2026-03-12 12:35:51 -07:00