summaryrefslogtreecommitdiff
path: root/src/yuzu_cmd/config.cpp
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-09-13cmd/config: Remove uncaught usage of stoullat9nq
2023-07-21configure_system: Implement with for looplat9nq
2023-07-21settings: Recategorize a bitlat9nq
Will help with generating config UI later.
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-05-23textures: add BC1 and BC3 compressors and recompression settingLiam
2023-05-09service: nfp: Allow to load with a different amiibo idgerman77
2023-05-07Settings: add option to enable / disable reactive flushingFernando Sahmkow
2023-05-06Merge pull request #10125 from lat9nq/vsync-selectbunnei
configuration: Expose separate swap present modes
2023-05-06Merge pull request #10162 from lat9nq/sdl-remove-oldliamwhite
yuzu-sdl,audio_core: Remove antiquated warning ignore
2023-05-05yuzu-sdl,audio_core: Remove antiquated warning ignorelat9nq
Issue was fixed a long time ago, both by SDL2 and in yuzu by including SDL2 as a system library.
2023-05-03settings: remove pessimistic flushingLiam
2023-05-03Merge pull request #10124 from liamwhite/pebkacMorph
settings: rename extended memory layout to unsafe, move from general to system
2023-05-02configuration: Expose separate swap present modeslat9nq
Previously, yuzu would try and guess which vsync mode to use given different scenarios, but apparently we didn't always get it right. This exposes the separate modes in a drop-down the user can select. If a mode isn't available in Vulkan, it defaults to FIFO.
2023-05-01vk_present_manager: Add toggle for async presentationGPUCode
2023-04-30settings: rename extended memory layout to unsafe, move from general to systemLiam
2023-02-22configuration: Add async ASTC decode settingameerj
2023-02-09input_common: Reintroduce custom pro controller supportNarr the Reg
2023-02-04yuzu_cmd: Fix mismatching controller inputgerman77
2023-01-06Merge pull request #9552 from liamwhite/turboliamwhite
vulkan: implement 'turbo mode' clock booster
2023-01-05video_core/vulkan: Added `VkPipelineCache` to store Vulkan pipelinesWollnashorn
As an optional feature which can be enabled in the advanced graphics configuration, all pipelines that get built at the initial shader loading are stored in a VkPipelineCache object and are dumped to the disk. These vendor specific pipeline cache files are located at `/shader/GAME_ID/vulkan_pipelines.bin`. This feature was mainly added because of an issue with the AMD driver (see yuzu-emu#8507) causing invalidation of the cache files the driver builds automatically.
2023-01-04common: add setting for renderer clock workaroundLiam
2023-01-04yuzu-ui: Add setting for disabling macro HLEFernando Sahmkow
2022-12-06Merge pull request #9370 from liamwhite/break-unmappedmerry
core: add option to break on unmapped access
2022-12-04cmake: prefer system librariesAlexandre Bouvier
2022-12-02core: add option to break on unmapped accessLiam
2022-11-28Merge pull request #9325 from german77/default_by_defaultliamwhite
yuzu-cmd: Fix default config value
2022-11-27yuzu-cmd: Fix default config valuegerman77
2022-11-24FSR Sharpening Slider part 1 - only a global sliderMatías Locatti
2022-08-25video_core: add option for pessimistic flushingLiam
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-22Project AndioKelebek1
2022-07-16yuzu: settings: Remove framerate cap and merge unlocked framerate setting.bunnei
- These were all somewhat redundant.
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-06-10core/debugger: support operation in yuzu-cmdLiam
2022-03-21Merge pull request #8048 from ameerj/include-purgebunnei
general: Reduce unused includes across the project
2022-03-20yuzu_cmd: Reduce unused includesameerj
2022-03-15yuzu_cmd: Allow user to specify config file locationlat9nq
Adds an option `-c` or `--config` with one required argument that allows the user to specify to where the config file is located. Useful for scripts that run specific games with different preferences for settings.
2022-02-27dynarmic: Inline exclusive memory accessesmerry
Inlines implementation of exclusive instructions into JITted code, improving performance of applications relying heavily on these instructions. We also fastmem these instructions for additional speed, with support for appropriate recompilation on fastmem failure. An unsafe optimization to disable the intercore global_monitor is also provided, should one wish to rely solely on cmpxchg semantics for safety. See also: merryhime/dynarmic#664
2022-02-21settings: Add a new "use_extended_memory_layout" setting.bunnei
- This will be used to enable emulation of a larger memory arrangement.
2022-02-05config: Support motion inputslat9nq
Motion inputs were not being read in by the config when yuzu-cmd boots up. This adds support for those. While we're at it, make a reference to the current player controls to improve readability. Also updates the if statements in the Analog and Button loops with curly braces to keep the style consistent.
2021-11-24core/hid: Fully implement native mousegerman77
2021-11-24config: Cleanup and documentationgerman77
2021-11-24core: Update input interpretergerman77
2021-11-16Frontend: Add anti-aliasing method settingMarshall Mohror
2021-11-16yuzu_cmd: Read resolution_setup and scaling_filter from configlat9nq
Also adds descriptions and the settings to the default config.
2021-10-17settings: Remove std::chrono usageameerj
Alleviates the dependency on chrono for all files that include settings.h
2021-10-15config: Read network_interfacelat9nq
Let's yuzu_cmd use a network interface. Also adds it to the default ini.