Commit Graph

62 Commits

Author SHA1 Message Date
SirMangler
afc0fb127d Updated to 5.0-15993 2022-02-25 18:06:17 +00:00
Admiral H. Curtiss
b2da738c81
Config: Port WiiKeyboard setting to new config system. 2022-01-06 16:13:57 +01:00
Admiral H. Curtiss
f19cf1753b
Config: Port WiiSDCard setting to new config system. 2022-01-06 16:13:56 +01:00
Admiral H. Curtiss
d590aa88a4
Config: Port remaining General settings to new config system. 2022-01-01 19:02:45 +01:00
Admiral H. Curtiss
d6331c1e71
Config: Port remaining Interface settings to new config system. 2021-12-31 17:40:04 +01:00
Admiral H. Curtiss
96fa0919be
Config: Port AutoUpdate settings to new config system. 2021-12-27 21:19:28 +01:00
Filoppi
1badceb455 ControllerInterface: fix UpdateReferences() deadlock
Removed useless locks to DeviceContainer::m_devices_mutex, as they were all already protected by m_devices_population_mutex.
We have no interest in blocking other threads that were potentially reading devices at the same time so this seems fine.
This simplifies the code, and I've adjusted a few comments which mentioned possible deadlock that should now be totally gone.

The deadlock could have happen if a thread directly called EmulatedController::UpdateReferences(), while another another thread also reached EmulatedController::UpdateReferences() within a call to ControllerInterface::UpdateDevices(), as the mentioned function locked both the DeviceContainer::m_devices_mutex and s_get_state_mutex at the same time.

The deadlock was frequent on game emulation startup on Android, due to the UpdateReferences() call in InputConfig::LoadConfig() and the UI thread triggering calls to ControllerInterface::UpdateDevices().
It could also have happened on Desktop if a user pressed "Refresh Devices" manually in the UI while the input config was loading.

Also brought some UpdateReferences() comments and thread safety fixes from https://github.com/dolphin-emu/dolphin/pull/9489
2021-11-20 16:54:36 +02:00
shiiion
600e1f67ce Merge commit 'db02b50d2ecdfbbc21e19aadc57253c353069f77'
Merged beta 5.0-15445
2021-11-14 20:18:25 -08:00
shiiion
43f80a5b53 Merge commit '207c931a04c8e2629a735bc2b3f36b5c89365ca7' of https://github.com/dolphin-emu/dolphin
Merged beta 5.0-15260
2021-11-05 07:19:04 -07:00
SirMangler
8fa4198fe8 Ensure Hide Mouse / Lock Mouse is on in Mouse mode but not controller mode 2021-11-05 06:28:42 -07:00
sowens99
8ea6bef98f Port Main.DSP to MainSettings
While trying to work on adding audiodump support for CLI, I was alerted that it was important to first try moving the DSP configs to the new config before continuing, as that makes it substantially easier to write clean code to add such a feature.

This commit aims to allow for Dolphin to only rely on the new config for DSP-related settings.
2021-10-15 23:24:46 -04:00
sowens99
2aa400e72f Add option for Never Hide Mouse Cursor
Instead of having a single GUI checkbox for "Always Hide Mouse Cursor",
I have instead opted to use radio buttons so the user can swap between
different states of mouse visibility. "Movement" is the default
behavior, "Never" will hide the mouse cursor the entire time the game is
running, and "Always" will keep the mouse cursor always visible.
2021-10-12 21:04:27 -04:00
Léo Lam
32c7524f4d
Merge pull request #10021 from Dentomologist/make_windows_tabbar_scroll_buttons_opaque
DolphinQt: Make Windows tab bar scroll buttons opaque
2021-08-31 19:18:03 +02:00
Dentomologist
1fa1e7135c DolphinQt: Make Windows tab bar scroll buttons opaque 2021-08-31 08:33:00 -07:00
SirMangler
4190e5a45c Updated to Beta 5.0-14790 2021-08-15 10:09:23 +01:00
JosJuice
fa0525f826 Port Enable Cheats to the new config system 2021-08-11 18:07:43 +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
JosJuice
a09d9cf608
Merge pull request #9606 from Filoppi/patch-14
Qt: avoid queuing ConfigChanged() more than once
2021-06-11 18:59:39 +02: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
Filoppi
3c7c2dfaa1 Implement Cursor Locking and new input focus checks for it 2021-05-27 10:31:12 +03:00
Filippo Tarpini
e6057c5f62 Qt: avoid queuing ConfigChanged() more than once 2021-05-20 00:30:14 +03:00
JMC47
678e035126
Merge pull request #9678 from Filoppi/tooltips_style
Make all Qt ToolTips look similar to BalloonTips
2021-05-17 16:40:49 -04:00
Filoppi
818672b585 Fix FPS counter and Game Window speed % breaking on pause/unpause
-Add pause state to FPSCounter.
-Add ability to have more than one "OnStateChanged" callback in core.
-Add GetActualEmulationSpeed() to Core. Returns 1 by default. It's used by my input PRs.
2021-05-06 01:10:04 +03:00
Filoppi
4f53adc331 Qt: make all tooltips look similar to balloon tips (and share parts of their code) 2021-04-28 21:20:39 +03:00
SirMangler
870d410b22 Merged with beta 5.0-13178 2020-12-20 22:40:43 +00:00
Vincent Cunningham
db5aec019c
Add Fallback Region to configuration menu
Fallback Region
A user-selected fallback to use instead of the default PAL

This is used for unknown region or region free titles to give them
the ability to force region to use. This replaces the current fallback region
of PAL. This can be useful if a user is trying to play a region free
tilte that is originally NTSC and expects to be run at NTSC speeds. This
may be done when a user attempts to dump a WAD of their own without
understanding the settings they have chosen, or could be an intentional
decision by a developer of a ROM hack that can be injected into a
Virtual Console WAD.

Remove using System Menu region being checked in GetFallbackRegion

Use DiscIO::Region instead of std::String for fallback

Add explanation text for Fallback Region
2020-11-28 15:40:21 -05: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
Christian Aguilera
ee13e6ec80 Improved responsiveness when refreshing game list. 2020-10-01 22:10:16 +02:00
Christian Aguilera
0d02e70d4a Removed all references to GameListModel from the Settings component. 2020-10-01 22:09:45 +02:00
Techjar
0759ead9b6 Qt: Use better method of getting default monospace font
This should give us a nicer font on Windows, while also not severely
impacting the existing behavior on Linux.
2020-09-15 04:48:44 -04:00
Admiral H. Curtiss
c74ea6696e Settings: Fix incorrect config key for enabled analytics. 2020-09-09 20:19:30 +02:00
SirMangler
7e6b0e4b0f Merged with Beta 5.0-12247 2020-08-10 00:04:28 +01:00
JosJuice
b0f9bb9f13 Port some settings to the new config system
Other than the controller settings and JIT debug settings,
these are the only settings which were defined in Java code
but not defined in the new config system in C++. (There are
still a lot of settings that are defined in the new config
system but not yet saveable in the new config system, though.)
2020-08-03 15:07:53 +02:00
Sepalani
39d34e133f Debugger: Add a Thread widget
DebugInterface: Add GetThreads

WatchWidget: Update widget on AddWatch
2020-05-03 20:48:30 +04:00
JosJuice
aab694e6b5 DolphinQt: Store name of user style, not path
This makes user styles not break when for instance
moving a portable.txt install between different folders.
2020-05-02 02:13:01 +02:00
Sepalani
5e33cd48da Debugger: Add a Network widget
Display socket table, SSL context and options
2020-04-27 21:47:00 +04:00
SirMangler
7ff67a983e Merged with 5.0-11333 2019-12-07 17:47:20 +00:00
Connor McLaughlin
913cb08066
Merge pull request #8456 from jordan-woyak/input-gate-race-fix
InputCommon: Make the "input gate" not racy.
2019-11-11 10:59:49 +10:00
Jordan Woyak
85ceb37ccd InputCommon: Make the "input gate" not racey. 2019-11-06 16:31:02 -06:00
SirMangler
fef6ea53e9 Toggle PrimeHack now updates in the Dolphin.ini
EnableCheats is no longer forced on.
2019-10-29 23:32:31 +00:00
Silent
68694e0039
Add signals to enable/disable Refresh button
Makes it impossible to spam Refresh button and looks better overall.
2019-10-19 23:15:38 +02:00
JosJuice
e24789b4fb Add a hotkey for inserting/ejecting the SD card 2019-07-03 22:44:51 +02:00
JMC47
6ea43235d5
Merge pull request #7841 from iwubcode/config-mgr-onion
Config: Move the 'Display' settings from ConfigManager to the layered config system
2019-04-21 00:01:47 -04:00
Techjar
6c393f9ff4 Add imgui golf mode overlay 2019-04-05 07:01:03 -04:00
iwubcode
840afc2ad4 Config: Move the 'Display' settings from ConfigManager to the layered config system 2019-03-30 18:43:02 -05:00
spycrab
7cfb626a83 Add imgui-based Netplay Chat 2019-03-23 20:13:24 +01:00
Tillmann Karras
8396ad541b DolphinQt: clean up includes 2019-02-25 20:15:12 +00:00
spycrab
77ebd721e3 Qt: Fix widgets being visible when they shouldn't be 2018-08-20 00:39:57 +02:00
spycrab
e3f36b74c5 Hotkeys: Add "Toggle USB Keyboard" hotkey 2018-08-02 12:55:30 +02:00