Commit Graph

56 Commits

Author SHA1 Message Date
SirMangler
69d3ad2d76 Profiles Combo Minimum Width 200 2021-11-05 06:27:53 -07:00
SirMangler
4190e5a45c Updated to Beta 5.0-14790 2021-08-15 10:09:23 +01:00
Bonta
b73d16a71a Qt/Core: Implement GBA Hotkeys 2021-07-13 16:43:42 +02:00
Bonta
9b80fb7deb Qt: GBA Pad config 2021-07-13 16:43:00 +02:00
Pierre Bourdon
e149ad4f0a
treewide: convert GPLv2+ license info to SPDX tags
SPDX standardizes how source code conveys its copyright and licensing
information. See https://spdx.github.io/spdx-spec/1-rationale/ . SPDX
tags are adopted in many large projects, including things like the Linux
kernel.
2021-07-05 04:35:56 +02:00
SirMangler
da3b6d4d6d Updated to Beta 5.0-14344 2021-06-18 11:56:36 +01:00
Filoppi
83ea16f402 Qt: Fix IOWindow keeping a shared ptr to devices even after them being removed by the ControllerInterface
this prevented some devices from being recreated correctly, as they were exclusive (e.g. DInput Joysticks)

This is achieved by calling Settings::ReleaseDevices(), which releases all the UI devices shared ptrs.
If we are the host (Qt) thread, DevicesChanged() is now called in line, to avoid devices being hanged onto by the UI.
For this, I had to add a method to check whether we are the Host Thread to Qt.

Avoid calling ControllerInterface::RefreshDevices() from the CPU thread if the emulation is running
and we manually refresh devices from Qt, as that is not necessary anymore.

Refactored the way IOWindow lists devices to make it clearer and hold onto disconnected devices.
There were so many issues with the previous code:
-Devices changes would not be reflected until the window was re-opened
-If there was no default device, it would fail to select the device at index 0
-It could have crashed if we had 0 devices
-The default device was not highlighted as such
2021-06-07 11:48:30 +03:00
iwubcode
626c686fee
DolphinQt: update device drop down size policy so that the input profile resizes properly
This also keeps the device profile at a minimum so that it doesn't
completely disappear (which was originally why it was changed to expanding)
2021-04-27 12:50:45 +02:00
SirMangler
35cf0def0b Updated to beta 5.0-13963 2021-04-08 21:00:25 +01:00
SirMangler
3e69e1cdaf Merged with beta 5.0-13603 2021-03-28 02:15:27 +01:00
SirMangler
d782710313 Add new Emulated Wiimote Configure window specialised for Metroid Prime 2021-03-24 04:03:14 +00:00
iwubcode
ddba5a3dfa DolphinQt: Add separate Free Look tab for rotation 2021-03-17 20:58:33 -05:00
Shawn Hoffman
7e1df34735 rename InputCommon/ControllerInterface/Device to CoreDevice 2021-01-27 14:29:48 -08:00
Filippo Tarpini
c1ab89cf2c Qt: Fix stock input profiles being deletable
Also avoid files without a name before the extension (name: ".ini")
from being added to the list because then they wouldn't be saveable
and it would appear with an empty name anyway.
2021-01-17 20:51:01 +02:00
iwubcode
9bd4e0939e DolphinQt: Update mapping window device to use expanding size policy 2020-12-24 13:49:25 -06:00
iwubcode
9a744ab25b DolphinQt: Move Free Look out of Graphics/Hotkey and into its own configuration window. Launched from a new menu option - "Free Look Settings". The HotKeyScheduler still calls the Free Look functionality to reduce the total number of threads 2020-12-24 13:49:25 -06:00
SirMangler
10b34b57e7 Moved PrimeHack tab next go General in Hotkeys 2020-12-18 21:04:30 +00:00
SirMangler
9f110eeda9 Updated to beta 5.0-12716
3 months of changes, and Qt was being a pain.
2020-10-07 05:00:37 +01:00
Techjar
29460b946e Qt/MappingWindow: Add support for built-in profiles 2020-09-18 06:32:42 -04:00
SirMangler
3e9c73d716 Cheats Hotkeys & UI 2020-08-12 22:02:03 +01:00
SirMangler
8b89cc84b1 GameCube Controls UI 2020-08-12 00:34:08 +01:00
SirMangler
7e6b0e4b0f Merged with Beta 5.0-12247 2020-08-10 00:04:28 +01:00
Lioncash
19115c84dd DolphinQt: Use qOverload where applicable
Provides the same behvaior, but in a much more concise manner.
2020-04-28 16:54:19 +02:00
SirMangler
248899bfc6 Merged to latest Progress Report revision. 2020-04-05 17:30:59 +01:00
SirMangler
ed40978e88 Warning Dialogues for if PrimeHack is disabled & Minor improvements 2020-04-03 08:15:57 +01:00
Jordan Woyak
1a3b4d91bf InputCommon: Mark GetStateLock with [[nodiscard]] and fix discarding calls. 2020-02-24 16:25:06 -06:00
SirMangler
ef2a484b4e PrimeHack Tab now will always be at the back 2020-02-11 14:58:51 +00:00
SirMangler
5ecba915c0 Updated to January review. Minor code changes. 2020-02-11 03:01:39 +00:00
Jordan Woyak
0a1634bedf InputCommon: Allow Wii remote extension to be set with an input expression. 2020-02-08 16:03:13 -06:00
Jordan Woyak
f5d9b78a3c DolphinQt: Properly hide Wii remote extension motion tabs when no extension is selected. 2020-01-13 18:34:04 -06:00
SirMangler
716ec3c333 Updated to latest Progress Report commit 2019-12-05 01:18:21 +00:00
rlnilsen
965781ea9d Motion Input: Add nunchuk support. 2019-12-04 23:21:26 +01:00
rlnilsen
4cb3baba5c Add support for motion controllers via the CemuHook controller input protocol.
This is done by:
1) Implementing said protocol in a new controller input class CemuHookUDPServer.
2) Adding functionality in the WiimoteEmu class for pushing that motion input to the emulated Wiimote and MotionPlus.
3) Suitably modifying the UI for configuring an Emulated Wii Remote.
2019-10-26 02:19:53 +02:00
SirMangler
de3bbaddfa Initial Commit - Implementing PrimeHack UI into QT 2019-10-05 12:27:27 +01:00
Lioncash
fef1b84f0a DolphinQt: Replace QStringLiteral with alternatives where applicable
QStringLiterals generate a buffer so that during runtime there's very
little cost to constructing a QString. However, this also means that
duplicated strings cannot be optimized out into a single entry that gets
referenced everywhere, taking up space in the binary.

Rather than use QStringLiteral(""), we can just use QString{} (the
default constructor) to signify the empty string. This gets rid of an
unnecessary string buffer from being created, saving a tiny bit of
space.

While we're at it, we can just use the character overloads of particular
functions when they're available instead of using a QString overload.
The characters in this case are Latin-1 to begin with, so we can just
specify the characters as QLatin1Char instances to use those overloads.
These will automatically convert to QChar if needed, so this is safe.
2019-07-30 09:06:03 -04:00
Jordan Woyak
374585f128 WiimoteEmu/DolphinQt: Rename "IR" to "Point" and eliminate redundant Forward/Backward mappings. 2019-05-08 20:27:41 -05:00
Jordan Woyak
6784225573 DolphinQt: Profile combobox fixes. 2019-05-03 16:29:22 -05:00
Jordan Woyak
77bda63627 DolphinQt: Don't refresh devices on open of mapping UI. 2019-05-01 19:30:02 -05:00
Jordan Woyak
74a997da65 DolphinQt: Fix "Default" and "Clear" buttons not updating the displayed extension. 2019-04-27 10:51:57 -05:00
spycrab
7f861f095a Qt/Mapping: Remove iterative input 2019-04-23 22:59:34 +02:00
Jordan Woyak
5efb717873 InputCommon: Clean up how numeric settings are handled. Add units of measure to UI. Eliminate hidden magic values of the IR cursor. 2019-04-07 09:32:49 -05:00
Jordan Woyak
9cb17b062c DolphinQ: Mapping UI cleanups. 2019-03-15 18:32:25 -05:00
spycrab
470b9e68e7 Qt: Increase padding a bit 2019-03-06 13:46:00 +01:00
spycrab
70da86f1c3 Qt: Use ModalMessageBox everywhere 2019-03-04 21:53:02 +01:00
Mat M
2eb9140e07
Merge pull request #7850 from jordan-woyak/device-and-profile-dropdown-fix
DolphinQt: Prevent contents of device and profile dropdowns from throwing off layout.
2019-03-03 18:33:16 -05:00
Jordan Woyak
031149cc1d DolphinQt: Prevent contents of device and profile dropdowns from throwing off layout. 2019-03-03 16:09:24 -06:00
spycrab
1ba810901d Qt/MappingWindow: Make message boxes modal 2019-03-03 16:19:50 +01:00
Tilka
131f4931fb
Merge pull request #7792 from jordan-woyak/auto-calibration
DolphinQt/ControllerEmu: Add stick calibration "wizard".
2019-02-13 02:13:27 +00:00
Jordan Woyak
0064f70c8a DolphinQt/ControllerEmu: Replace Input Radius/Shape settings with an input calibration "wizard". 2019-02-10 07:55:47 -06:00
Jordan Woyak
64c3c52ef3 DolphinQt: Make the mapping window clear button use ControllerEmu's clear functionality. 2019-02-06 17:40:58 -06:00