Commit Graph

3246 Commits

Author SHA1 Message Date
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
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
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
JMC47
161f9e82c1
Merge pull request #14427 from Simonx22/qt/cheats-gecko-download-error-message
DolphinQt: Improve Gecko code download failure message
2026-03-12 15:25:41 -04:00
Stavros Kosmas
d09436cd1a DolphinQt: Improve TAS UI Widgets
Made Stick and IR Widgets bigger
Improved Stick and IR layouts to better utilize space
Made Stick and IR Widgets Scale at a fixed ratio when window is resized
Added Scrollbars to Stick and IR Widgets
Reduced Spinbox padding in dark style
2026-03-12 04:59:49 +02:00
JosJuice
d25ef67d6f DolphinQt: Save when closing settings window
If Dolphin crashes, changes that have been made to settings are often
lost. This has been a minor annoyance for me when developing, but it has
become a much bigger issue recently due to the problem where Dolphin
freezes on shutdown for ROG Ally users.

Instead of saving the config when certain arbitrary settings are
changed, let's save the config when the user closes the settings window.
2026-03-04 22:26:25 +01:00
Simonx22
d2e381090c DolphinQt: Improve Gecko code download failure message 2026-03-03 11:09:39 -05:00
JosJuice
c1a26808ce Jit: Use RangeSet for physical_addresses
This makes JitBaseBlockCache::ErasePhysicalRange around 50% faster and
PPCAnalyzer::Analyze around 40% faster. Rogue Squadron 2's notoriously
laggy action of switching to and from cockpit view is made something
like 20-30% faster by this, though this is a very rough measurement.
2026-02-23 23:01:49 +01:00
TryTwo
3ea93641b2 CheatSearch: Add ability to breakpoint the selected lines.
Adds three options, on read, on write, and both. Always Breaks and Logs.
2026-02-20 20:57:19 -07:00
Jordan Woyak
2eeff845bd
Merge pull request #14387 from Dentomologist/cheatsmanager_update_tabs_on_creation
CheatsManager: Update code tabs on creation
2026-02-20 19:31:40 -06:00
cristian64
643fcaec03 DolphinQt: Restore log font current index accurately.
The logic in the code was deliberately avoiding index `2` (**Selected
Font**; the debug font) by using `std::min(index, 1)`. Presumably, the
reason was that there was no debugger in Qt version of Dolphin at the
time.

Test plan:

- Select a debug font via the **Options > Font...** action.
- Show the **Log** tab via the **View > Log** action.
- In the **Log** tab, choose the **Selected Font** item in the combobox.
- Restart Dolphin.

**Without** the patch, the **Monospaced Font** item is wrongly selected
in the combobox.

**With** the patch, the **Selected Font** item is now properly restored
from the saved settings, and the selected debug font is correctly used
in the log messages.
2026-02-20 22:14:35 +00:00
JMC47
981b7df420
Merge pull request #14335 from TixoRebel/joycon-config
Core: Add SDL Hints settings
2026-02-20 02:44:52 -05:00
Andrew Strauss
61c36b0cc8 Add new window to configure SDL hints and store them in the main ini file
Signed-off-by: Andrew Strauss <astrauss11@gmail.com>
2026-02-20 02:05:35 -05:00
Dentomologist
3d16e0c5be
Merge pull request #14343 from TryTwo/toggle_breaking
BreakpointsWidget: Add option to toggle all breaking
2026-02-19 21:55:38 -08:00
TryTwo
f9c7731f4d Debugger/ BreakpointsWidget: Add option to disable/enable all breaking without affecting individual breakpoint enabled states.
Allows you to quickly stop breaking, play the game, then re-enable breaking. useful if you have many active breakpoints, but need to run the game.
2026-02-19 16:23:42 -07:00
Dentomologist
02db73c8dc
Merge pull request #14344 from TryTwo/cheatsearch_work2
Cheat Search: Add ability to delete items and fix duplicate commands
2026-02-19 14:36:54 -08:00
Jordan Woyak
c28ec7a6d3 Triforce: Rename IPOverrides to IPRedirections. 2026-02-15 23:13:18 -06:00
Jordan Woyak
f00b1c590e DolphinQt: Add Triforce tab to main settings window. 2026-02-15 20:14:15 -06:00
Jordan Woyak
0fc8f463f2 DolphinQt/Debugger/NetworkWidget: Minor cleanups. 2026-02-15 20:14:15 -06:00
Sepalani
2d9b3c4118 Debugger/NetworkWidget: Add Triforce support 2026-02-15 20:14:15 -06:00
Jordan Woyak
d893565b78 AMMediaboard: IP override improvements and other cleanups.
Overrides now also apply in reverse for accepted connections.
IP Override UI now includes a description.
Mario Kart Arcade GP 4x Multicabinet now works on one PC without any tricky IP configurations.
Added AMMBCommandBind, NetDIMMBind, and some helper functions.
Removed redundant settings.
2026-02-15 20:14:15 -06:00
Jordan Woyak
7ab2672698 DolphinQt: Add user interface for Triforce IP address overrides. 2026-02-15 20:14:15 -06:00
Jordan Woyak
17027f0173 MainWindow: Remove the check preventing Triforce volumes from booting without the Baseboard hardware attached.
The hardware is now automatically attached later in the boot process.
2026-02-15 20:14:15 -06:00
Jordan Woyak
95442a2b6a Triforce: Warning silencing and other minor cleanups. 2026-02-15 20:14:14 -06:00
crediar
ce802f1e62 Triforce: Optimized code
Removed unneeded code
Removed unused code
Added EINPROGRESS to fix networking on Linux systems
Added function NetworkBufferCheck and NetworkCMDBufferCheck  to verify buffer sizes
Added NetworkCMDBufferRead/NetworkCMDBufferWrite/NetworkBufferRead/NetworkBufferWrite
Added multiply buffer size checks
Rewrote GetGameType()
Moved AMMediaboard::Shutdown to DVDInterface::Shutdown()
Changed JVSIOMessage overrun check
Changed SwapBuffers function to be a member function
Added sanity checks for buffer sizes
Added translation prefix for Triforce buttons
Updated text for misconfigurations when trying to boot normal games with Triforce hardware connected
Fixed NAMCAM for Mario Kart GP
2026-02-15 20:14:14 -06:00
crediar
2c62214875 Added Triforce support 2026-02-15 20:14:14 -06:00