Commit graph

278 commits

Author SHA1 Message Date
Lioncash
300c33116d configuration/config: Move config loading and saving to functions based off groups
Over time our config values have grown quite numerous in size.
Unfortunately it also makes the single functions we have for loading and
saving values more error prone.

For example, we were loading the core settings twice when they only
should have been loaded once. In another section, a variable was
shadowing another variable used to load settings from a completely
different section.

Finally, in one other case, there was an extraneous endGroup() call used
that didn't need to be done. This was essentially dead code and also a
bug waiting to happen.

This separates the section loading code into its own separate functions.
This keeps variables only visible to the code that actually needs it,
and makes it much easier to visually see the end of each individual
configuration group. It also makes it much easier to visually catch bugs
during code review.

While we're at it, this also uses QStringLiteral instead of raw string
literals, which both avoids constructing a lot of QString instances, but
also makes it much easier to disable implicit ASCII to QString and
vice-versa in the future via setting QT_NO_CAST_FROM_ASCII and
QT_NO_CAST_TO_ASCII as compilation flags.
2019-05-09 00:52:49 -04:00
Fernando Sahmkow
b437d4abd7 Allow picking a Compatibility Profile for OpenGL.
This option allows picking the compatibility profile since a lot of bugs
are fixed in it. We devs will use this option to easierly debug current
problems in our Core implementation.:wq
2019-04-20 00:05:24 -04:00
bunnei
7b12d8d511 Merge pull request #2357 from zarroboogs/force-30fps-mode
Add a toggle to force 30FPS mode
2019-04-13 22:14:04 -04:00
FreddyFunk
9ddb70acb2 ui_settings: Rename game directory variables 2019-04-11 19:55:56 +02:00
bunnei
4eeae8de2e Merge pull request #2132 from FearlessTobi/port-4437
Port citra-emu/citra#4437: "citra-qt: Make hotkeys configurable via the GUI (Attempt 2)"
2019-04-09 18:08:30 -04:00
zarroboogs
77bc4d1bd9 added a toggle to force 30fps mode 2019-04-09 02:14:03 +03:00
fearlessTobi
86a7ab36ba core/yuzu: Remove enable_nfc setting
This was initially added to prevent problems from stubbed/not implemented NFC services, but as we never encountered such and as it's only used in a deprecated function anyway, I guess we can just remove it to prevent more clutter of the settings.
2019-03-29 15:02:28 +01:00
Adityarup Laha
62287f8ee7 yuzu: Make hotkeys configurable via the GUI
* Adds a new Hotkeys tab in the Controls group.
* Double-click a Hotkey to rebind it.
2019-03-16 03:55:57 +01:00
zhupengfei
1f02afc376 citra_qt: Settings (configuration) rework 2019-03-07 16:55:50 +01:00
bunnei
300139799f settings: Add new graphics setting for use_asynchronous_gpu_emulation. 2019-03-06 21:09:09 -05:00
ReinUsesLisp
1342998379 settings: Hide shader cache behind a setting 2019-02-06 22:20:57 -03:00
Zach Hilman
d73f33373b settings: Fix comment structure 2019-01-07 19:40:28 -05:00
Zach Hilman
63e948f483 settings: Use std::chrono::seconds instead of s64 for RTC 2019-01-07 19:19:40 -05:00
Zach Hilman
ac7b60b61b settings: Add custom RTC settings
Stored as signed seconds since epoch.
2019-01-07 19:18:45 -05:00
bunnei
9f73394f70 Merge pull request #1942 from DarkLordZach/profile-select-game-boot
qt: Add setting to prompt for user on game boot
2019-01-02 21:05:27 -05:00
Lioncash
8611e4d103 yuzu/config: Silence truncation warnings 2018-12-31 19:11:29 -05:00
Zach Hilman
95df03fd29 qt: Add setting to prompt for user on game boot
Using the QtProfileSelectorDialog, this implementation is trivial. This mimics the real switch behavior of asking which user on every game boot, but it is default disabled as that might get inconvenient.
2018-12-25 10:42:14 -05:00
bunnei
7961e11cd4 Merge pull request #1886 from FearlessTobi/port-4164
Port citra-emu/citra#4164: "citra_qt, video_core: Screenshot functionality"
2018-12-23 14:36:51 -05:00
bunnei
22ef8eea69 Merge pull request #1780 from DarkLordZach/controller-profiles
configure_input: Add Controller Setup Profiles and simplify input UI
2018-12-23 14:34:29 -05:00
zhupengfei
2dbb90ed65 yuzu, video_core: Screenshot functionality
Allows capturing screenshot at the current internal resolution (native for software renderer), but a setting is available to capture it in other resolutions. The screenshot is saved to a single PNG in the current layout.
2018-12-18 22:54:41 +01:00
bunnei
841d21795d Merge pull request #1819 from DarkLordZach/disable-addons
patch_manager: Add support for disabling patches
2018-12-10 21:52:19 -05:00
Zach Hilman
0f42bb7a96 configure_input: Add ConfigureInputSimple as default input UI config
Greatly simplifies the current input UI, while still allowing power users to tweak advanced settings. Adds 'input profiles', which are easy autoconfigurations to make getting started easy and fast. Also has a custom option which brings up the current, full UI.
2018-12-05 14:02:02 -05:00
Zach Hilman
6514e877cb ui_settings: Add UI setting for input profile index 2018-12-05 14:02:02 -05:00
Lioncash
bf2225a10e configuration/config: Use an intermediary variable for accessing players
Avoids typing the same long accessor just to retrieve player attributes.
2018-12-05 03:41:33 -05:00
Zach Hilman
cb527149ee qt: Add Properties menu to game list right-click 2018-12-04 13:34:50 -05:00
Zach Hilman
3bdf97523e config: Store and load disabled add-ons list 2018-12-03 17:20:34 -05:00
bunnei
78314332c2 Merge pull request #1747 from DarkLordZach/exefs-lfs
patch_manager: Add support for applying LayeredFS patches to ExeFS
2018-11-23 23:31:48 -05:00
Zach Hilman
df1c902e44 settings: Add option to dump ExeFS of games upon launch
When enabled, all exefs(es) will be copied to yuzu/dump/<title_id>/exefs.
2018-11-20 17:49:09 -05:00
Zach Hilman
b131a4bbb2 configure_input: Make None a controller option instead of checkbox 2018-11-18 23:22:36 -05:00
Zach Hilman
2d8a5a4e9b hid: Use player-defined controller type as PREFERRED_CONTROLLER 2018-11-18 23:22:36 -05:00
Zach Hilman
288dfe1ba5 yuzu/config: Add (de-)serialization for multiplayer
Defaults to full keyboard for keyboard -- It did not seem to be necessary to make the keyboard configurable (besides enabled/disabled).
2018-11-18 23:22:36 -05:00
bunnei
66ee595d1e Merge pull request #1632 from DarkLordZach/keys-manager-optimizations
game_list: Optimize game list refresh
2018-11-16 07:02:37 -08:00
bunnei
95a21eb3ef Merge pull request #1618 from DarkLordZach/dump-nso
patch_manager: Add support for dumping uncompressed NSOs
2018-11-15 14:46:10 -08:00
Zach Hilman
6af690c2b8 settings: Add config option to set RNG seed 2018-11-11 23:09:46 -05:00
Zach Hilman
defffa3ec3 game_list: Make add-ons column optional
As the add-ons column takes the most processing time out of any (as it needs to search registration for updates/dlc, patch control NCAs, search for mods, etc.), an option was added to disable it. This does not affect the application of add-ons. In large game collections, this decreases game list refresh time by as much as 70%.
2018-11-01 20:27:12 -04:00
Zach Hilman
c8bc8ba008 settings: Add setting to control NSO dumping
Also adds UI option in Debug > Dump section, with the idea later things to be dumped (i.e. other game data or textures, etc) will use the same group box.
2018-10-29 16:09:08 -04:00
bunnei
f7a85d507e Merge pull request #1558 from lioncash/ptr
yuzu/configuration/config: Use a std::unique_ptr for qt_config instead of a raw pointer
2018-10-24 18:07:14 -04:00
Lioncash
add5a47fd9 yuzu/configuration/config: Use a std::unique_ptr for qt_config instead of a raw pointer
Same behavior, less code.
2018-10-24 00:24:02 -04:00
Zach Hilman
da04134ce6 acc: Fix account UUID duplication error 2018-10-23 19:31:28 -04:00
Zach Hilman
8bdf2fe7b7 profile_manager: Load user icons, names, and UUIDs from system save 2018-10-23 19:31:28 -04:00
Zach Hilman
64595bddaf settings: Add users and current_user settings and remove username 2018-10-23 19:31:28 -04:00
David
0d7783ba66 Added Amiibo support (#1390)
* Fixed conflict with nfp

* Few fixups for nfc

* Conflict 2

* Fixed AttachAvailabilityChangeEvent

* Conflict 3

* Fixed byte padding

* Refactored amiibo to not reside in "System"

* Removed remaining references of nfc from system

* used enum for Nfc GetStateOld

* Added missing newline

* Moved file operations to front end

* Conflict 4

* Amiibos now use structs and added mutexes

* Removed amiibo_path
2018-10-23 19:28:17 -04:00
bunnei
b1c31be284 config: Rename use_accurate_framebuffers -> use_accurate_gpu_emulation.
- This will be used as a catch-all for slow-but-accurate GPU emulation paths.
2018-10-16 17:02:29 -04:00
Zach Hilman
91b8b1cfed qt: Add UI option to configure arguments 2018-10-07 14:32:06 -04:00
fearlessTobi
92e939952c Port web_service from Citra 2018-10-02 15:30:48 +02:00
fearlessTobi
7377afca3a Add audio stretching support 2018-09-08 18:26:23 +01:00
Zach Hilman
d55a54e117 settings: Save and load NAND/SD dirs from config 2018-09-03 19:23:33 -04:00
Zach Hilman
f7b0f9fde4 qt: Make default row data title name and title id
Helps with installed games by making the title not a hexadecimal id string, instead the name.
2018-08-23 11:53:30 -04:00
tech4me
c6442d421a config: Fixed icon size get set to 0 2018-08-21 22:36:29 -07:00
fearlessTobi
fc6901c205 Port #3353 from Citra 2018-08-21 01:14:06 +02:00