aboutsummaryrefslogtreecommitdiff
path: root/src/yuzu/configuration/config.h
AgeCommit message (Collapse)Author
2023-11-21config: Unify config handling under frontend_commont895
Replaces every way of handling config for each frontend with SimpleIni. frontend_common's Config class is at the center where it saves and loads all of the cross-platform settings and provides a set of pure virtual functions for platform specific settings. As a result of making config handling platform specific, several parts had to be moved to each platform's own config class or to other parts. Default keys were put in platform specific config classes and translatable strings for Qt were moved to shared_translation. Default hotkeys, default_theme, window geometry, and qt metatypes were moved to uisettings. Additionally, to reduce dependence on Qt, QStrings were converted to std::strings where applicable.
2023-11-04Convert files to LF eolKelebek1
2023-10-21yuzu: Fix restore shortcuts buttonNarr the Reg
2023-08-22general: Convert use_docked_mode to an enumerationlat9nq
Allows some special interactions with it in the Qt frontend.
2023-07-22config: Read the Network categorylat9nq
2023-07-21config: Remove unused functionslat9nq
2023-07-21settings,general: Rename non-confirming enumslat9nq
2023-07-21config: Don't merge the mapslat9nq
Me shooting myself in the foot 3 days in advance.
2023-07-21settings: Add a registry of settingslat9nq
LoadString: Sanitize input settings: Handle empty string, remove redundant category settings: Rename Input to Controls, FS to DataStorage settings: Fix Controls groups information settings: Move use_docked_mode to System (again) settings: Document settings: Add type identification function settings: Move registry into values settings: Move global_reset_registry into values settings: Separate AdvGraphics from Renderer settings: More document squash settings: Use linkage object uisettings: Move registry into settings Probably wont build without uisettings: Use settings linkage object config: Load settings with a map Uses the new all_settings vector to load settings. qt-config: Rename settings category qt config: Rename to read category config: Read/write contols category with for_each This is extremely limited due to the complexity of the Controls group, but this handles the the settings that use the interface. qt-config: Use new settings registry qt-config: Read/write advgrphics qt-config: Use settings linkage object yuzu_cmd: Load setting off of vector cmd-config: Finish settings rename config: Read controls settings group with for_each cmd/config: Move registry into values cmd: Read adv graphics cmd-config: Use settings linkage object
2023-07-21settings,video_core: Consolidate ASTC decoding optionslat9nq
Just puts them all neatly into one place.
2023-06-12input_common: Redesign mouse panningBaptiste Marie
2023-06-04yuzu: add opengl shader backend info in status barxcfrg
2023-06-01Merge pull request #10352 from grimkor/add-context-menu-status-bar-settingsliamwhite
add context menu for status bar settings
2023-05-24add context menu for filter and anti-aliasing status buttonsgrimkor
2023-05-23textures: add BC1 and BC3 compressors and recompression settingLiam
2022-11-28config: Custom profile detection fixesameerj
Also only reads/writes applicable configs for the custom profiles.
2022-09-04yuzu: Use a debugger to generate minidumpslat9nq
yuzu: Move mini_dump out of core startup_checks: Better exception handling
2022-07-27chore: make yuzu REUSE compliantAndrea Pappacoda
[REUSE] is a specification that aims at making file copyright information consistent, so that it can be both human and machine readable. It basically requires that all files have a header containing copyright and licensing information. When this isn't possible, like when dealing with binary assets, generated files or embedded third-party dependencies, it is permitted to insert copyright information in the `.reuse/dep5` file. Oh, and it also requires that all the licenses used in the project are present in the `LICENSES` folder, that's why the diff is so huge. This can be done automatically with `reuse download --all`. The `reuse` tool also contains a handy subcommand that analyzes the project and tells whether or not the project is (still) compliant, `reuse lint`. Following REUSE has a few advantages over the current approach: - Copyright information is easy to access for users / downstream - Files like `dist/license.md` do not need to exist anymore, as `.reuse/dep5` is used instead - `reuse lint` makes it easy to ensure that copyright information of files like binary assets / images is always accurate and up to date To add copyright information of files that didn't have it I looked up who committed what and when, for each file. As yuzu contributors do not have to sign a CLA or similar I couldn't assume that copyright ownership was of the "yuzu Emulator Project", so I used the name and/or email of the commit author instead. [REUSE]: https://reuse.software Follow-up to 01cf05bc75b1e47beb08937439f3ed9339e7b254
2022-07-25yuzu: Add ui files for multiplayer roomsFearlessTobi
2022-07-23yuzu: Hook qt camera to camera drivergerman77
2022-07-15common/setting: Make ranged a property of the typemerry
- Avoids new GCC 12 warnings when Type is of form std::optional<T> - Makes more sense this way, because ranged is not a property which would change over time
2022-06-30settings: Consolidate RangedSetting's with regular oneslat9nq
The latest git version of GCC has issues with my diamond inheritance shenanigans. Since that's now two compilers that don't like it I thought it'd be best to just axe all of it and just have the two templates like before. This rolls the features of BasicRangedSetting into BasicSetting, and likewise RangedSetting into Setting. It also renames them from BasicSetting and Setting to Setting and SwitchableSetting respectively. Now longer name corresponds to more complex thing.
2022-04-16yuzu: Add custom ringcon configurationgerman77
2022-02-06yuzu: Add docked, GPU accuracy and adapting filter hotkeysgerman77
2022-01-22Merge pull request #7716 from german77/volumebunnei
yuzu: Add volume hotkeys
2022-01-21Use Default Colorful theme by default outside of Windowsv1993
On OSes with system-wide theming this allows yuzu to follow system style, regardless of its exact coloration, working well with both light and dark system themes. Dark /Colorful, on the other hand, forces dark theme regardless of user preferences set in system settings, making for a poor default. Use Colorful variation to keep in line with icon style of patron-voted Dark Colorful.
2022-01-15yuzu: Add volume up/down hotkeysgerman77
2022-01-15yuzu: Remove speed limit hotkeysgerman77
2021-11-16Frontend: Add anti-aliasing method settingMarshall Mohror
2021-11-16Renderer: Implement Bicubic and ScaleForce filters.Fernando Sahmkow
2021-11-16Settings: Add resolution scaling to settings.Fernando Sahmkow
2021-10-07yuzu qt: Remove global system instances from config, WaitTree, mainlat9nq
2021-09-18settings: File selector & other settingsMonsterDruide1
First of all, TASing requires a script to play back. The user can select the parent directory at `System -> Filesystem`, next to an option to pause TAS during loads: This requires a "hacky" setup deeper in the code and will be added in the last commit. Also, Hotkeys are being introduced: CTRL+F5 for playback start/stop, CTRL+F6 for re-reading the script and CTRL+F7 for recording a new script.
2021-09-11Merge pull request #6846 from ameerj/nvdec-gpu-decodeFernando S
nvdec: Add GPU video decoding for all capable drivers and platforms
2021-08-16configure_graphics: Add GPU nvdec decoding as an optionameerj
Some system configurations may see visual regressions or lower performance using GPU decoding compared to CPU decoding. This setting provides the option for users to specify their decoding preference. Co-Authored-By: yzct12345 <87620833+yzct12345@users.noreply.github.com>
2021-08-12configuration: add option to select network interfacespholz
This commit renames the "Services" tab to "Network" and adds a combobox that allows the user to select the network interface that yuzu should use. This new setting is now used to get the local IP address in Network::GetHostIPv4Address. This prevents yuzu from selecting the wrong network interface and thus using the wrong IP address. The return type of Network::GetHostIPv4Adress has also been changed.
2021-07-25Merge branch 'master' into fullscreen-enumlat9nq
2021-07-23general: Implement FullscreenMode enumerationlat9nq
Prevents us from using an unclear 0 or 1 to describe the fullscreen mode.
2021-07-22general: Add setting shader_backendlat9nq
GLASM is getting good enough that we can move it out of advanced graphics settings. This removes the setting `use_assembly_shaders`, opting for a enum class `shader_backend`. This comes with the benefits that it is extensible for additional shader backends besides GLSL and GLASM, and this will work better with a QComboBox. Qt removes the related assembly shader setting from the Advanced Graphics section and places it as a new QComboBox in the API Settings group. This will replace the Vulkan device selector when OpenGL is selected. Additionally, mark all of the custom anisotropic filtering settings as "WILL BREAK THINGS", as that is the case with a select few games.
2021-06-28general: Make most settings a BasicSettinglat9nq
Creates a new BasicSettings class in common/settings, and forces setting a default and label for each setting that uses it in common/settings. Moves defaults and labels from both frontends into common settings. Creates a helper function in each frontend to facillitate reading the settings now with the new default and label properties. Settings::Setting is also now a subclass of Settings::BasicSetting. Also adds documentation for both Setting and BasicSetting.
2021-06-26configuration: Defer to common/settings for per-game settings defaultslat9nq
Avoids double-setting defaults, and avoids potential accidents when inconsistently setting the default on new settings.
2021-06-17config: Add frame limiter toggle hotkeyameerj
2021-06-02yuzu qt: Revert some usages of string_viewlat9nq
Causes a heap-use-after free reported by AddressSanitizer. This makes use of std::filesystem::path, but due to that we have to use their string() function which may not work for all characters.
2021-05-25yuzu qt: Handle per-game configs for title id 0lat9nq
Currently with programs that have a 0 title id, yuzu loads the custom configuration 0000000000000000.ini for per-game configs. This is not ideal since many homebrews share this id. Instead for these programs, we load a config that is simply the file name and `.ini` appended to it.
2021-05-15general: Make CPU accuracy and related a Settings::Settinglat9nq
Required to make CPU accuracy and unsafe settings available to use as a per-game setting.
2021-04-14common: Move settings to common from core.bunnei
- Removes a dependency on core and input_common from common.
2021-02-07Add mouse panninggerman
2020-11-15config: Migrate config files into config/customMorph
Co-authored-by: lat9nq <lat9nq@virginia.edu>
2020-11-15input_profiles: Implement input profilesMorph
2020-09-04Include HID and configuration changes related to motiongerman