Commit Graph

2027 Commits

Author SHA1 Message Date
26605c0184 Merge pull request #11649 from Pokechu22/tas-controller-input-update-widgets
DolphinQt: Fix TAS widgets not updating with enable controller input
2023-03-14 01:21:17 +01:00
Mai
137b9d1da1 Merge pull request #11646 from AdmiralCurtiss/si-class
HW/SerialInterface: Refactor to class.
2023-03-13 13:09:51 -04:00
3f6b931150 DolphinQt: Fix TAS widgets not updating with enable controller input
This regressed in 0300b44d23. Specifically, the sliders and the stick/IR widgets did not update, but the spin boxes did update.
2023-03-12 17:58:48 -07:00
bf2f901a99 HW/SerialInterface: Refactor to class. 2023-03-12 16:08:56 +01:00
0a8725e4a9 updater: add test for update flow
currently windows-only
2023-03-11 12:58:33 -08:00
bf95d4012f HW/EXI: Refactor ExpansionInterface to class. 2023-03-11 00:56:37 +01:00
Mai
e4df388128 Merge pull request #11638 from JosJuice/tas-input-motionplus
DolphinQt: Add MotionPlus support to TAS input
2023-03-10 16:54:35 -05:00
4d34f86121 DolphinQt: Add MotionPlus support to TAS input
Will manually controlling both an accelerometer and a gyroscope at the
same time be reasonable to do? No idea. Was this easy to implement
thanks to the input override system? Yes.

Fixes https://bugs.dolphin-emu.org/issues/12443.
2023-03-10 19:36:17 +01:00
ee35103ed9 HW/DVD: Rename DVDInterface namespace to DVD. 2023-03-10 18:37:18 +01:00
eb25c46a91 HW/DVDInterface: Refactor to class. 2023-03-10 18:12:59 +01:00
8c7997d6ca Merge pull request #11601 from Dentomologist/bluetooth_adapter_missing_message
Config: Restore Bluetooth adapter missing message in Controller Settings
2023-03-09 16:10:14 +01:00
234c5dd90e Merge pull request #11622 from JosJuice/tas-input-nonblocking
DolphinQt: Rework TAS input threading
2023-03-09 16:08:30 +01:00
912cd456fb Core: Add System parameter to CPUThreadGuard. 2023-03-08 22:41:42 +01:00
0300b44d23 DolphinQt: Rework TAS input threading, part 2 (analog inputs) 2023-03-08 17:49:03 +01:00
11e4d46927 DolphinQt: Remove unneeded out parameters in TASInputWindow
IIRC we needed this before the input override system was added.
2023-03-08 17:49:03 +01:00
3eac1fc284 DolphinQt: Rework TAS input threading, part 1 (buttons)
This gets rid of a blocking operation, improving performance and fixing
https://bugs.dolphin-emu.org/issues/12893.

This also makes us no longer directly access the state of certain UI
elements from the CPU thread, which probably wasn't thread-safe but
doesn't seem to have caused any observable issues so far.
2023-03-08 17:49:02 +01:00
3b364c5c16 HW/CPU: Refactor to class, move to System. 2023-03-08 12:23:37 +01:00
Mai
16023ece6d Merge pull request #11621 from deReeperJosh/skylandersfilefix
Skylander Portal: Clearing and Reloading fix
2023-03-07 15:24:46 -05:00
6d38dd9821 Qt/WatchWidget: Don't update if not paused. 2023-03-07 20:31:15 +01:00
2585ae9b2c Skylander Portal: Clearing and Reloading fix 2023-03-04 20:13:54 +13:00
bf079d6d3a [[unlikely]] ASSERT
and other ASSERT usage changes
2023-03-02 19:54:15 -06:00
fe26b54efd Qt/WiiPane: Add progress window for SD card conversion. 2023-02-28 20:31:55 +01:00
435d8c39ee Common/FatFsUtil: Add callback for cancelling SD card conversion. 2023-02-28 20:31:51 +01:00
02f7c0213f Qt/GameList: Also filter by filename when searching. 2023-02-26 19:13:45 +01:00
d18735e82e Qt/WiimoteControllersWidget: Add bluetooth unavailable message 2023-02-24 14:30:43 -08:00
4e6c89fbfd Qt/CodeViewWidget: Don't read PC in Update() if we don't have a CPU thread guard. 2023-02-20 03:10:12 +01:00
ef1520c2c6 Qt/CodeViewWidget: Don't try to pause emulator in Update() if we happen to be on a breakpoint. 2023-02-20 02:56:04 +01:00
4e6e510003 Debugger: Add string comparison to conditional breakpoints. 2023-02-20 01:40:33 +01:00
8db35e6d04 Merge pull request #11578 from Pokechu22/memory-leaks-feb-2023
Fix various memory leaks
2023-02-18 13:56:34 +01:00
c94aacc968 AudioPane: Fix inconsistent initial state of audio stretching labels
This resulted in the labels being solid black even when audio stretching is disabled the first time the settings are opened, but then properly being greyed out after changing a setting (even the audio backend or DSP emulation engine, not just whether audio stretching is enabled).
2023-02-17 18:51:41 -08:00
b6d476241a CodeViewWidget: Fix memory leak
Per https://doc.qt.io/qt-6/qabstractitemview.html#setItemDelegateForColumn setItemDelegateForColumn does not take ownership of the parameter, so it was not being deleted. Specifying a parent to QObject (via QStyledItemDelegate's constructor) will allow it to automatically be deleted, per https://doc.qt.io/qt-6/objecttrees.html. The other instance of a QItemDelegate in IOWindow.cpp already used this.
2023-02-17 18:29:32 -08:00
1c5e223532 MemoryViewWidget: Fix memory leaks
bp_item/row_item/item were never deleted, and the normal Qt ownership system wasn't applying to them because they were being cloned.
2023-02-17 18:17:01 -08:00
49e897422f Use a success count instead of files count 2023-02-17 15:49:31 +01:00
cb42a03299 Check the input and destination paths before converting a game file onto itself
Before these changes you could tell Dolphin to convert a game file into the same format it is already in, leading to the FileDialog using the input path as the default destination path
An unsuspecting user could then click Save and Dolphin would try to convert the input file by writing the destination file on top of it... leading to an I/O error and the input file being entirely removed
2023-02-17 14:26:50 +01:00
8802f96b7e Fix uninitialized variable warnings (C26495) 2023-02-15 19:18:39 -08:00
5b6784432c Follow-up fixes for "Properly lock CPU before accessing emulated memory" 2023-02-14 18:44:16 +01:00
a4729a026f Merge pull request #11554 from JosJuice/host-lock-cpu
DolphinQt: Properly lock CPU before accessing emulated memory
2023-02-13 16:08:36 +13:00
2c24d07837 Merge pull request #11538 from t895/disc-speed-stuff
Rename "Speed up Disc Transfer Rate" to "Emulate Disc Speed"
2023-02-13 15:46:56 +13:00
0ed64b080f Rename Fast Disc Speed to Emulate Disc Speed and invert option 2023-02-12 16:20:38 -05:00
6f0266e8de DolphinQt: Only update call stack if paused
This avoids a pseudo infinite loop where CodeWidget::UpdateCallstack
would lock the CPU in order to read the call stack, causing the CPU to
call Host_UpdateDisasmDialog because it's transitioning from running to
pausing, causing Host::UpdateDisasmDialog to be emitted, causing
CodeWidget::Update to be called, once again causing
CodeWidget::UpdateCallstack to be called, repeating the cycle.

Dolphin didn't go completely unresponsive during this, because
Host_UpdateDisasmDialog schedules the emitting of Host::UpdateDisasmDialog
to happen on another thread without blocking, but it was stopping certain
operations like exiting emulation from working.
2023-02-12 12:50:28 +01:00
7cecb28bdf DolphinQt: Properly lock CPU before accessing emulated memory
This fixes a problem I was having where using frame advance with the
debugger open would frequently cause panic alerts about invalid addresses
due to the CPU thread changing MSR.DR while the host thread was trying
to access memory.

To aid in tracking down all the places where we weren't properly locking
the CPU, I've created a new type (in Core.h) that you have to pass as a
reference or pointer to functions that require running as the CPU thread.
2023-02-12 11:27:50 +01:00
508c79a66f Rename VI Skip to VBI Skip
VI Skip was very hard to explain on the blog, so this small changes
clarifies what VI Skip is to resolve that issue.
2023-02-11 20:28:41 -08:00
3bd655463d MemoryViewWidget: Fix warning: enumeration value ‘Null’ not handled in switch [-Wswitch] 2023-02-09 16:23:02 -08:00
5c8d8383e2 CodeWidget: Fix shadowing warning 2023-02-09 16:23:02 -08:00
b316ce6fdd Fix warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 2023-02-09 16:23:01 -08:00
aaad0cd39f Merge pull request #11539 from phire/improve_workqueuethread
Various WorkQueueThread improvements
2023-02-09 20:00:04 +13:00
ccf92a3e56 Merge pull request #11522 from phire/KillRendererWithFire
Kill Renderer (with phire)
2023-02-09 19:59:16 +13:00
9c1fe59cc9 Insert a more solid abstraction between Qt and Imgui 2023-02-09 18:36:20 +13:00
4422af1272 Cleanup headers 2023-02-09 18:36:20 +13:00
7c4fcc30a3 WorkQueueThread: provide name and function at same time 2023-02-04 15:56:27 +13:00