Admiral H. Curtiss
74eeeebfde
Merge pull request #13788 from jordan-woyak/post-proc-config-window-adjust-size
...
DolphinQt: Adjust PostProcessingConfigWindow size on creation.
2025-07-01 22:51:30 +02:00
Jordan Woyak
4126b4e904
DolphinQt: Adjust PostProcessingConfigWindow size on creation.
2025-07-01 15:26:13 -05:00
JMC47
2871fe08c9
Merge pull request #13782 from noahpistilli/wii_no_pad
...
IOS/KD: Pad Wii Numbers to 16 digits
2025-07-01 14:52:41 -04:00
Dentomologist
0093ed1ac8
MemoryWidget: Fix "Hex Byte String" validation failures
...
Fix the input string failing to validate when the "Hex Byte
String" input type is selected and either the user adds a 0x prefix or
the "Hex" box is checked (or both).
The latter failure was particularly troublesome because when "Hex Byte
String" is selected the "Hex" checkbox is disabled. Users would have to
switch to a data type that enabled the box, toggle it, then switch back
to "Hex Byte String" to fix it.
Fix these errors by not adding a prefix when the "Hex" box is checked,
and removing the "0x" prefix from the user's input if present.
2025-06-30 11:34:20 -07:00
Jordan Woyak
8b2d569932
BTReal: Always restore link keys on HCI reset.
2025-06-30 04:07:45 -05:00
Dentomologist
8f4a0b0e77
MemoryWidget: Allow 0x prefix when Hex box is checked.
...
Fix validation failing when the user has checked the Hex box and also
includes a "0x" or "-0x" prefix in their input.
Previously an extra "0x" would be inserted, causing the user's input of
"0x13" to become "0x0x13" which would then fail to validate.
2025-06-30 00:12:48 -07:00
Jordan Woyak
c597c70316
CoreTiming: Fix unsafe usage of m_globals.global_timer in ScheduleEvent from non-CPU thread.
2025-06-29 20:55:43 -05:00
JMC47
9a0d4501f8
Merge pull request #13751 from jordan-woyak/btreal-improvements
...
Bluetooth Passthrough Improvements
2025-06-29 18:00:02 -04:00
JMC47
626315d50a
Merge pull request #13750 from TryTwo/PR_Symbol_Loading
...
PPCSymbols: Restructure loading on boot and add a mutex to prevent crashes.
2025-06-29 15:44:52 -04:00
Jordan Woyak
936887838a
BTReal: Don't falsely increase a controller's ACL packet number buffer size. WARN_LOG if the size is smaller than that of the original BT module.
2025-06-28 18:54:21 -05:00
Jordan Woyak
7fe4a6e4f3
LibUSBBluetoothAdapter: Change the request type of our generated HCI commands from LIBUSB_RECIPIENT_INTERFACE to LIBUSB_RECIPIENT_DEVICE.
...
This changes the value from 0x21 to 0x20 which now matches the value that Wii software generates.
2025-06-28 18:54:21 -05:00
Jordan Woyak
25583658d2
State: Increase STATE_VERSION.
2025-06-28 18:54:21 -05:00
Jordan Woyak
0e25979449
BTReal: Attempt to configure HCI_SERVICE_TYPE_GUARANTEED on all connections for improved performance with certain adapters.
2025-06-28 18:54:21 -05:00
Jordan Woyak
350ec54779
BTReal: Improvements:
...
Separate LibUSB logic into LibUSBBluetoothAdapter class.
Submit transfers on thread with proper timing.
Throttle before ACL input for reduced input latency.
Immediately send IPC replies for outgoing data.
Continuously submit libusb transfers to fill HCI/ACL input queues.
Simplify endpoint handling and state saving.
Other cleanups.
2025-06-28 18:54:16 -05:00
Jordan Woyak
541dbdfead
IOS: Move DoStateForMessage from BTEmu to BTBase.
2025-06-28 18:45:52 -05:00
Jordan Woyak
b3e349b4df
Merge pull request #13772 from rastshawn/use-btdevice-selection
...
BTReal: bugfix - BT passthrough uses selected device rather than first compatible device in list
2025-06-28 18:45:05 -05:00
Noah Pistilli
f8e22f448d
IOS/KD: Pad Wii Numbers to 16 digits
2025-06-28 19:22:14 -04:00
Jordan Woyak
3a32013740
Merge pull request #13773 from JosJuice/i18n-2025-06-22
...
i18n: Add comments
2025-06-28 15:13:03 -05:00
JosJuice
bc1d8ffcbb
i18n: Add comments
2025-06-28 21:41:44 +02:00
TryTwo
9395238159
PPCSymbolDB: Add a mutex to prevent m_functions from being accessed by two different threads on boot.
...
On boot should be the only time this happens.
2025-06-25 12:11:46 -07:00
TryTwo
fe121e4c6e
PPCSymbolDB: Move loading map on boot logic from boot.cpp into PPCSymbolDB, as it will be needing a mutex.
...
Cleanup loading code and reduce amount of signals.
On boot. allow previously loaded map to be kept, if its filename matches. Useful for restarting a game with a large symbol map.
2025-06-25 12:01:16 -07:00
Jordan Woyak
609d91156a
InputCommon: Rename SDL input backend GameController to Gamepad.
2025-06-25 00:23:48 -05: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
JMC47
43aa7e9b96
Merge pull request #13694 from jordan-woyak/sdl3
...
Update to SDL3
2025-06-24 18:59:48 -04:00
JMC47
43c156084b
Merge pull request #13759 from jordan-woyak/calibrate-autocomplete
...
DolphinQt: Make Calibration autocomplete when data is "sensible" and stick is returned to neutral position.
2025-06-24 18:22:48 -04:00
Shawn Rast
71fa08813a
BT passthrough uses selected device rather than first alphabetical compatible device
2025-06-24 15:39:46 -05:00
JMC47
e9b57393a6
Merge pull request #13766 from JosJuice/powerpc-missing-updates
...
PowerPC: Add missing SDRUpdated/MSRUpdated calls
2025-06-24 16:36:49 -04:00
JMC47
97febd9477
Merge pull request #13763 from Dentomologist/mainwindow_show_hardcore_mode_error_for_recording_playback
...
MainWindow: Show hardcore mode error for recording playback
2025-06-24 16:35:56 -04:00
JMC47
0946814711
Merge pull request #13761 from Dentomologist/qt_use_nonautodismissiblemenu_in_more_places
...
Qt: Use NonAutodismissibleMenu in more places
2025-06-24 16:35:40 -04:00
JMC47
3627cfb7b1
Merge pull request #13758 from Dentomologist/threadwidget_fix_line_edit_margins
...
ThreadWidget: Fix line edit margins
2025-06-24 16:35:12 -04:00
Tillmann Karras
59d2611a94
VideoCommon: remove unused struct fields
2025-06-24 19:38:45 +01:00
Jordan Woyak
6a0963908d
DolphinQt: Make Calibration autocomplete when data is "sensible" and stick is returned to neutral position.
2025-06-24 02:18:25 -05:00
JMC47
fa9f71e482
Merge pull request #13769 from JosJuice/merge-dbat-mappings
...
Memmap: Optimize UpdateLogicalMemory by merging mappings
2025-06-22 15:29:51 -04:00
TryTwo
5836ca133c
PPCSymbolDB: Move function for finding file path to PPCSymbolDB, so MenuBar doesn't have to randomly access boot.cpp to get the file path.
2025-06-22 11:03:03 -07:00
JMC47
c2aaca2b16
Merge pull request #13765 from TryTwo/CodeWidget_clear_unused
...
CodeWidget: Clear calls/callers if no symbol exists.
2025-06-22 01:05:59 -04:00
JMC47
19f3b7e61f
Merge pull request #13691 from TryTwo/PR_Notes
...
Debugger Add note-type symbols .
2025-06-22 01:05:42 -04:00
JosJuice
ac84ea17a6
Memmap: Optimize UpdateLogicalMemory by merging mappings
...
Instead of creating many 128 KiB mappings, we can create a few large
mappings. On my Windows PC, this speeds up GameCube (FakeVMEM) game boot
times by about 200 ms and Wii game boot times by about 60 ms. Loading
savestates is also faster, by about 45 ms for GameCube (FakeVMEM) games
and 5 ms for Wii games. The impact is presumably smaller on other OSes
because Windows is particularly slow at creating mappings.
2025-06-21 20:54:05 +02:00
TryTwo
10c3b0b4e4
CodeWidget: Clear calls and callers box if there is no symbol, otherwise outdated data will persist.
2025-06-20 10:55:11 -07:00
JosJuice
e002fcdf2f
PowerPC: Use SPR_LR constant in an additional location
2025-06-20 10:42:47 +02:00
JosJuice
8c643693a9
PowerPC: Add missing SDRUpdated/MSRUpdated calls
2025-06-20 10:42:43 +02:00
TryTwo
c9b815526c
Debugger CodeViewWidget: Add context options for making and managing Notes. Add popup dialog for editing functions and notes.
2025-06-19 18:00:10 -07:00
TryTwo
78065359bb
Debugger CodeWidget : Add search box for notes.
2025-06-19 17:55:45 -07:00
TryTwo
040d9a4336
Debugger symbols: Add new symbol type: Notes.. Notes are for naming single instructions, or small groups of instructions.
...
Notes are separate from function symbols, and can be searched separately.
Unlike functions, notes of different length can overlap each other.
In the instruction window, a note will always display over the function symbol.
2025-06-19 17:55:35 -07:00
Dentomologist
e21ae90073
MainWindow: Show hardcore mode error for recording playback
...
Show an error message when attempting to play an input recording while
RetroAchievements hardcore mode is active, instead of silently doing
nothing.
2025-06-17 12:21:39 -07:00
Jordan Woyak
413b7475ec
Merge pull request #13762 from Dentomologist/dolphinqt_add_vcxproj_clinclude
...
DolphinQt: Add DolphinQt.vcxproj ClInclude line
2025-06-17 13:06:04 -05:00
Dentomologist
e8c9c7a403
DolphinQt: Add DolphinQt.vcxproj ClInclude line
...
Add a missing ClInclude line in DolphinQt.vcxproj for
NonAutodismissibleMenu.h. Missing the ClInclude doesn't break
compilation, but prevents various IntelliSense features in Visual
Studio from working properly with the file.
2025-06-16 23:11:11 -07:00
Dentomologist
c488545091
GameListModel: Update tag list and sorting immediately
...
Emit the dataChanged signal when adding or removing tags from a game.
This both updates the contents of the game's Tags column immediately
(instead of having to wait for the context menu to be closed), and
updates the sorting if games are being sorted by the Tags column.
2025-06-16 22:58:30 -07:00
Dentomologist
2fd74990b7
Qt: Use NonAutodismissibleMenu in more places
...
Use NonAutodismissibleMenu for MenuBar's Options, JIT, and
Tools->"Connect Wii Remotes" menus, as well as for the Tags menu in
GameList's context menu.
NonAutodismissibleMenu allows users to check or uncheck multiple
checkable menu items without closing the menu between selections.
2025-06-16 22:56:26 -07:00
Dentomologist
ab25632992
ThreadWidget: Don't set fixed width on QLineEdits
...
Fix clipping of QLineEdit contents by having them take up half the grid
width instead of trying to match the contents width in an unreliable
manner.
2025-06-16 22:33:20 -07:00
Dentomologist
6a0d8ca3f8
MenuBar: Rename menu variable
...
The Tools menu has a number of submenus, so rename menu to
connect_wii_remotes_menu for clarity.
2025-06-16 21:06:55 -07:00
Jordan Woyak
28a6eb26cc
Merge pull request #13703 from jordan-woyak/map-and-calibrate
...
DolphinQt/InputCommon: Make the "Calibrate" button also map inputs.
2025-06-15 15:45:04 -05:00
Jordan Woyak
3a94289ad6
Merge pull request #13744 from JoshuaVandaele/windows-specific-getdevicename
...
Host: Implement a Windows-only implementation of `GetDeviceNameFromVIDPID`
2025-06-15 15:44:31 -05:00
Jordan Woyak
2fb66e9708
Merge pull request #12938 from tygyh/Split-IsTranslatedRAMAddress
...
Core/PowerPC: Split 'IsRAMAddress' method into 'IsEffectiveRAMAddress' and 'IsPhysicalRAMAddress' methods
2025-06-14 17:12:24 -05:00
Jordan Woyak
83beebaf8b
DolphinQt/InputCommon: Move some calibration logic to InputCommon and make the "Calibrate" button also map inputs.
2025-06-14 16:29:25 -05:00
Dr. Dystopia
6591fa3751
Core/PowerPC: Split 'IsRAMAddress' method into 'IsEffectiveRAMAddress' and 'IsPhysicalRAMAddress' methods
2025-06-14 23:29:03 +02:00
Jordan Woyak
0780458069
InputCommon: Make InputDetector::Start take a span instead of a vector.
2025-06-14 16:28:09 -05:00
Jordan Woyak
11c3f7ea8d
InputCommon: Fix occasional misidentification of analog input detection.
2025-06-14 16:28:09 -05:00
Jordan Woyak
344080b7a9
DolphinQt: Fix ControllersPane group box spacing.
2025-06-14 16:26:09 -05:00
Jordan Woyak
89b8edea03
DolphinQt: Move graphics config to main Settings window.
2025-06-14 16:26:09 -05:00
Dr. Dystopia
ca8f9b672b
Source: Remove redundant lambda parameter lists
2025-06-14 10:19:31 +02:00
Joshua Vandaële
d93245cc7a
Host: Implement a Windows-only implementation of GetDeviceNameFromVIDPID
2025-06-13 17:46:53 +02:00
JMC47
a163877413
Merge pull request #13746 from LillyJadeKatrin/retroachievements-hardcore-changed
...
MainWindow - Avoid excessive emulation state changes
2025-06-10 17:32:04 -04:00
LillyJadeKatrin
417badc55c
MainWindow - Avoid excessive emulation state changes
...
Updates the Hardcore Changed callback to only signal EmulationStateChanged if the new Hardcore Mode setting is different from the previous one.
2025-06-10 16:03:14 -04:00
JMC47
1526c06133
Merge pull request #13658 from jordan-woyak/vk-present-done-race
...
Vulkan: Eliminate m_last_present_done flag.
2025-06-09 00:10:31 -04:00
JMC47
7ad85e875d
Merge pull request #13738 from Tilka/convert_banner
...
QtUtils/ImageConverter: simplify
2025-06-09 00:10:03 -04:00
JMC47
42d5f2b705
Merge pull request #13702 from CostPerUnit/master
...
MappingWidget: Add Advanced Configuration Button to Point And Point Passthrough "Enable" boxes
2025-06-09 00:09:35 -04:00
JMC47
5064b615ba
Merge pull request #13737 from LillyJadeKatrin/retroachievements-gamecube-bulk-fix
...
AchievementManager - Fix Gamecube Bulk Copy
2025-06-08 13:08:02 -04:00
JMC47
33b529a510
Merge pull request #13719 from LillyJadeKatrin/retroachievements-wii-menu-fix
...
AchievementManager - Block Wii Menu Exploits
2025-06-08 13:04:27 -04:00
JMC47
8c3ca46988
Merge pull request #13676 from LillyJadeKatrin/retroachievements-allowlist-test-improvements
...
RetroAchievements: Updated PatchAllowlistTest to generate new allowlist
2025-06-08 12:56:19 -04:00
JosJuice
1b7d42f775
AudioCommon: Re-add missing includes
...
7c237bb ("AudioCommon: Remove unused includes") removed some includes
that were in fact in use.
2025-06-08 11:35:02 +02:00
JMC47
24b0bf01d5
Merge pull request #12836 from JosJuice/opensles-buffer-size
...
Android: Ask system for optimal audio buffer size and sample rate
2025-06-07 23:07:37 -04:00
Tilka
19fbbf0dba
Merge pull request #13727 from JoshuaVandaele/fmt-11.2.0-localtime-deprec
...
fmt: Replace deprecated `fmt::localtime` usage with `Common::LocalTime`
2025-06-08 04:04:37 +01:00
Jordan Woyak
1786e34bd3
Merge pull request #13665 from jordan-woyak/dark-mode-filter
...
DolphinQt: Replace widespread SetQWidgetWindowDecorations calls with an event filter.
2025-06-07 18:19:13 -05:00
Jordan Woyak
65f3ba70f5
Merge pull request #13522 from tygyh/Enforce-overriding-destructor-style-Core&UnitTests
...
Core & UnitTests: Make overriding explicit and remove redundant virtual specifiers on overriding destructors
2025-06-07 17:55:14 -05:00
Jordan Woyak
8b7669550f
Merge pull request #13454 from tygyh/Use-constants-DolphinQt-FifoAnalyzer
...
DolphinQt/FIFO/FIFOAnalyzer: Make parameters, arguments etc. constant
2025-06-07 17:50:08 -05:00
Jordan Woyak
46e66fe945
Merge pull request #13544 from tygyh/DolphinNoGUI-Replace-deprecated-signal-header
...
DolphinNoGUI: Apply style-alignment refactorings
2025-06-07 17:47:11 -05:00
Jordan Woyak
056ece6f29
Merge pull request #13697 from tygyh/AudioCommon/Remove-unused-includes
...
AudioCommon: Remove unused includes
2025-06-07 17:45:50 -05:00
Jordan Woyak
a07a2fe398
Merge pull request #13698 from tygyh/AudioCommon/Remove-unused-qualifiers-and-make-variables-constant
...
AudioCommon: Remove unused qualifiers and make variables constant
2025-06-07 17:45:33 -05:00
Tillmann Karras
61e8fa060b
QtUtils/ImageConverter: simplify
2025-06-07 23:06:07 +01:00
Jordan Woyak
6da3f5f26a
InputCommon: Update to use SDL3 and bump the SDL submodule in Externals to release-3.2.16.
2025-06-07 16:27:54 -05:00
Jordan Woyak
5906512847
DolphinQt: Replace widespread SetQWidgetWindowDecorations calls with an event filter.
2025-06-07 16:15:34 -05:00
JMC47
52fcdde485
Merge pull request #13386 from iwubcode/resource_manager_system
...
VideoCommon: add resource manager, tracks resources to load assets in optimal way and manage memory
2025-06-07 15:51:34 -04:00
JMC47
5eb61024c6
Merge pull request #13740 from JoshuaVandaele/bsod-fix-i-hope
...
Host: Clean up device handle in all cases
2025-06-07 12:27:49 -04:00
Admiral H. Curtiss
a27b845514
Merge pull request #13710 from TryTwo/UI_Sliders_Update
...
Advanced Panel convert QSliders into ConfigSliders
2025-06-07 17:39:40 +02:00
Admiral H. Curtiss
1b1ca019a4
Merge pull request #13724 from SuperSamus/gamelist-properties-noduplicates
...
GameList: Prevent opening Properties multiple times for the same game
2025-06-07 17:24:50 +02:00
Joshua Vandaële
241834709b
Host: Clean up device handle
2025-06-07 16:55:45 +02:00
LillyJadeKatrin
c68549e9ef
AchievementManager - Load unknown games
...
Prior to this change, any game unrecognized by RetroAchievements would ultimately result in the game being "Closed" by AchievementManager. As a result, if any game was run while in this state without any other closing being done, AchievementManager would simply load it like a new game, despite memory already being accessed.
However, testing and documentation determined that the rcheevos client doesn't actually complain when it fails to hash a game; it just runs this as "Unidentified Game" with RA ID = 0. As such, this change utilizes that in AchievementManager to differentiate between no software running and unidentified software running.
As a result of this, now LoadGame needs to be called for every piece of runnable software, supported format or otherwise. If a supported format is not available, LoadGame can now be called with a nullptr to ensure that rcheevos still properly sets up an unidentified game.
2025-06-07 07:02:24 -04:00
LillyJadeKatrin
5545a386cf
AchievementManager - Fix Gamecube Bulk Copy
...
The memory copy algorithm (only needed for RetroAchievements devs) was broken for Gamecube as it assumed EXRAM size was zero when in reality it's using ARAM. For the time being, we do not need to use or access ARAM so instead this sets that value to zero for Gamecube titles.
2025-06-07 07:00:47 -04:00
JosJuice
185b080f03
Merge pull request #13142 from JosJuice/fifo-window-starting-stopping
...
DolphinQt: Call FIFOPlayerWindow::UpdateControls for Starting/Stopping
2025-06-07 10:43:19 +02:00
JosJuice
43b254aaad
Android: Update advanced mapping dialog when devices change
...
Without this, there was a bug where if you turned the device's screen
off and on again while in the advanced mapping dialog, the input
indicators would stop updating. This is because turning the screen on
again causes devices to refresh, which causes all devices to be
recreated, leaving the AdvancedMappingControlViewHolders stuck
referencing controls belonging to devices that are no longer being
updated.
2025-06-07 10:20:21 +02:00
JosJuice
4214cb6eb8
Android: Make input state changes observable
2025-06-07 10:20:18 +02:00
iwubcode
c3d3b81533
VideoCommon: remove 'GetByteSizeInMemory()' from custom asset, it is not needed anymore
2025-06-06 23:03:02 -05:00
iwubcode
774a84a953
VideoCommon: avoid race conditions with asset load/unload by moving the lock to the entire function, favor atomics for the memory/time getters
2025-06-06 23:03:02 -05:00
iwubcode
b3f50c969e
VideoCommon: rename m_bytes_loaded in asset library to bytes_loaded
2025-06-06 23:03:02 -05:00
iwubcode
3b83907b88
VideoCommon: update CustomAsset's load time to be before the load occurs (this prevents issues where the load time might be incorrectly inflated by long load operations)
...
Co-authored-by: Jordan Woyak <jordan.woyak@gmail.com>
2025-06-06 23:03:02 -05:00
iwubcode
d940d62cae
VideoCommon: watch texture pack folder for texture reloads (from dynamic input textures)
2025-06-06 23:03:02 -05:00
iwubcode
7afa9e6c6f
VideoCommon: use CustomResourceManager in the texture cache and hook up to our hires textures
2025-06-06 23:03:02 -05:00
iwubcode
12d178a8df
VideoCommon: initialize and shutdown the CustomResourceManager when the video thread initializes and shuts down
2025-06-06 23:03:02 -05:00
iwubcode
f910c1d934
Core: add CustomResourceManager to System
2025-06-06 23:03:02 -05:00
iwubcode
70abcb2030
VideoCommon: add resource manager and new asset loader; the resource manager uses a least recently used cache to determine which assets get priority for loading. Additionally, if the system is low on memory, assets will be purged with the less requested assets being the first to go. The loader is multithreaded now and loads assets as quickly as possible as long as memory is available
...
Co-authored-by: Jordan Woyak <jordan.woyak@gmail.com>
2025-06-06 23:03:02 -05:00