aboutsummaryrefslogtreecommitdiff
path: root/src/yuzu/main.cpp
AgeCommit message (Collapse)Author
2021-07-28Merge pull request #6700 from lat9nq/fullscreen-enumbunnei
general: Implement FullscreenMode enumeration
2021-07-26Merge pull request #6696 from ameerj/speed-limit-renamebunnei
general: Rename "Frame Limit" references to "Speed Limit"
2021-07-25Merge pull request #6697 from ameerj/fps-capbunnei
config, nvflinger: Add FPS cap setting
2021-07-25Merge branch 'master' into fullscreen-enumlat9nq
2021-07-25Merge pull request #6575 from FernandoS27/new_settingsbunnei
Settings: Eliminate ASYNC & MULTICORE Toggles and add GPU Accuracy to status bar
2021-07-25Merge pull request #6709 from ameerj/screenshot-pathMorph
main: Fix screenshot filepath construction
2021-07-25main: Fix screenshot filepath constructionameerj
The screenshot directory path returned does not have a trailing directory separator character. This caused screenshots to be saved in the parent directory of the configured screenshot directory. This fixes that behavior
2021-07-23general: Rename "Frame Limit" references to "Speed Limit"ameerj
This setting is best referred to as a speed limit, as it involves the limits of all timing based aspects of the emulator, not only framerate. This allows us to differentiate it from the fps unlocker setting.
2021-07-23config, nvflinger: Add FPS cap settingameerj
Allows finer tuning of the FPS limit.
2021-07-23general: Implement FullscreenMode enumerationlat9nq
Prevents us from using an unclear 0 or 1 to describe the fullscreen mode.
2021-07-22main: Update Shader Cache menu optionsameerj
This change adds two new context menu items to remove either the OpenGL or the Vulkan shader caches individually, and the provides the option to remove all caches for the selected title. This also changes the behavior of the open shader cache option. Now it creates the shader cache directory for the title if it does not yet exist.
2021-07-22main: Fix Open Transferable Shader Cache context itemameerj
Opens the new shader cache directory location for the specified title, if it exists.
2021-07-22vk_pipeline_cache,shader_notify: Add shader notificationsReinUsesLisp
2021-07-20file_sys: Support load game collection (#6582)Feng Chen
Adds support for loading games with multiple programs embedded within such as the Dragon Quest 1+2+3 Collection
2021-07-14applets: Append qt_ prefix to Qt frontend appletsMorph
2021-07-12Merge pull request #6574 from lioncash/i18nbunnei
qt/main: Make title string more i18n-friendly
2021-07-10settings: Disable FPS unlimit setting between title launchesameerj
Some titles crash if the FPS limit is disabled when launching. This change ensures that titles launch with the limit in-place to avoid issues. In order to simplify the change, the UI toggle was removed as it will always be overridden at launch to be disabled. The setting can still be toggled during gameplay with the hotkey, and indicated by the fps label in the status bar.
2021-07-09Update src/yuzu/main.cppFernando S
Co-authored-by: Morph <39850852+Morph1984@users.noreply.github.com>
2021-07-09Settings: Eliminate ASYNC & MULTICORE Toggles and add GPU Accuracy Toggle.Fernando Sahmkow
2021-07-08qt/main: Make title string more i18n-friendlyLioncash
Currently, whether or not the title is 32-bit or 64-bit was being appended as a suffix to the title, which is fine for left-to-right languages, but may not always fly so smoothly with some right-to-left languages. We also weren't marking that portion of the string as translatable, which prevents translators from translating part of the title string.
2021-07-08Merge pull request #6539 from lat9nq/default-settingAmeer J
general: Move most settings' defaults and labels into their definition
2021-06-29Merge pull request #6471 from lat9nq/dump-as-modMorph
yuzu qt, core: Support LayeredFS mods from SDMC directory
2021-06-28yuzu qt: Make most UISettings a BasicSettinglat9nq
For simple primitive settings, moves their defaults and labels to definition time. Also fixes typo and clang-format yuzu qt: config: Fix rng_seed
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-28Merge pull request #6502 from ameerj/vendor-titleMorph
main: Add GPU Vendor name to running title bar
2021-06-28patch_manager: Do not apply LayeredFS mods when dumpingMorph
We should not apply any mods when dumping a game's RomFS.
2021-06-28yuzu qt: Add option to dump to SDMC directorylat9nq
Enables dumping the RomFS to SDMC directory, specifically '[yuzu data directory]/sdmc/atmosphere/contents/[title_id]/romfs'.
2021-06-28main: Display the instruction set of the running title in the window nameameerj
Displays whether the currently running title uses 64-bit instructions or only 32-bit instructions.
2021-06-23General: Resolve fmt specifiers to adhere to 8.0.0 API where applicableLioncash
Also removes some deprecated API usages.
2021-06-22common: fs: Remove [[nodiscard]] attribute on Remove* functionsMorph
There are a lot of scenarios where we don't particularly care whether or not the removal operation and just simply attempt a removal. As such, removing the [[nodiscard]] attribute is best for these functions.
2021-06-20video_core: Add GPU vendor name to window title barameerj
2021-06-17config: Add frame limiter toggle hotkeyameerj
2021-06-11yuzu: main: Ensure enough space is available for RomFS dumpingMorph
This warns the user if there isn't enough free space to dump the entire RomFS to disk. It requires at least the size of the extracted RomFS + 1 GiB as a buffer of free space.
2021-06-07yuzu qt: Start games from context menulat9nq
This connects the BootGame function to the context menu. In addition, there is an option to boot without using the custom configuration.
2021-06-04Merge pull request #6362 from lat9nq/reset-to-defaultsbunnei
yuzu qt: Add settings reset button to general configuration
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-06-01Merge pull request #6361 from lat9nq/per-hb-cfgbunnei
yuzu qt: Handle per-game configs for title id 0
2021-06-01yuzu qt: Use lambda and std::function for reset callbacklat9nq
Also makes use of std::move, and performs a clang-format cleanup. This addresses review comments. Co-authored-by: LC <mathew1800@gmail.com>
2021-06-01yuzu: Add settings reset button to general configurationlat9nq
Builds on german77's work to reset all settings back to their defaults. This include UISettings and Settings values structs, but does not affect save profiles, input profiles, and game directories. This works from a button input in configure_general. When activated, it calls a callback to close the whole configure dialog, then GMainWindow deletes the old configuration, both on disk and in memory, and reinitalizes a new one. It also resets a portion of the UI and calls the telemetry window prompt.
2021-06-01configuration: Initial work to reset all settingsfearlessTobi
This commit does not compile. Initial work to add and connect a Reset to Defaults button to the configure_general tab. Co-authored-by: german77 <juangerman-13@hotmail.com>
2021-05-27Merge pull request #6346 from lat9nq/apply-config-pgcAmeer J
yuzu qt: Add an Apply button to configuration dialogs
2021-05-25yuzu qt: Restore const qualifierslat9nq
This addresses review comments. Co-authored-by: LC <mathew1800@gmail.com>
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-25common: fs: Rework the Common Filesystem interface to make use of ↵Morph
std::filesystem (#6270) * common: fs: fs_types: Create filesystem types Contains various filesystem types used by the Common::FS library * common: fs: fs_util: Add std::string to std::u8string conversion utility * common: fs: path_util: Add utlity functions for paths Contains various utility functions for getting or manipulating filesystem paths used by the Common::FS library * common: fs: file: Rewrite the IOFile implementation * common: fs: Reimplement Common::FS library using std::filesystem * common: fs: fs_paths: Add fs_paths to replace common_paths * common: fs: path_util: Add the rest of the path functions * common: Remove the previous Common::FS implementation * general: Remove unused fs includes * string_util: Remove unused function and include * nvidia_flags: Migrate to the new Common::FS library * settings: Migrate to the new Common::FS library * logging: backend: Migrate to the new Common::FS library * core: Migrate to the new Common::FS library * perf_stats: Migrate to the new Common::FS library * reporter: Migrate to the new Common::FS library * telemetry_session: Migrate to the new Common::FS library * key_manager: Migrate to the new Common::FS library * bis_factory: Migrate to the new Common::FS library * registered_cache: Migrate to the new Common::FS library * xts_archive: Migrate to the new Common::FS library * service: acc: Migrate to the new Common::FS library * applets/profile: Migrate to the new Common::FS library * applets/web: Migrate to the new Common::FS library * service: filesystem: Migrate to the new Common::FS library * loader: Migrate to the new Common::FS library * gl_shader_disk_cache: Migrate to the new Common::FS library * nsight_aftermath_tracker: Migrate to the new Common::FS library * vulkan_library: Migrate to the new Common::FS library * configure_debug: Migrate to the new Common::FS library * game_list_worker: Migrate to the new Common::FS library * config: Migrate to the new Common::FS library * configure_filesystem: Migrate to the new Common::FS library * configure_per_game_addons: Migrate to the new Common::FS library * configure_profile_manager: Migrate to the new Common::FS library * configure_ui: Migrate to the new Common::FS library * input_profiles: Migrate to the new Common::FS library * yuzu_cmd: config: Migrate to the new Common::FS library * yuzu_cmd: Migrate to the new Common::FS library * vfs_real: Migrate to the new Common::FS library * vfs: Migrate to the new Common::FS library * vfs_libzip: Migrate to the new Common::FS library * service: bcat: Migrate to the new Common::FS library * yuzu: main: Migrate to the new Common::FS library * vfs_real: Delete the contents of an existing file in CreateFile Current usages of CreateFile expect to delete the contents of an existing file, retain this behavior for now. * input_profiles: Don't iterate the input profile dir if it does not exist Silences an error produced in the log if the directory does not exist. * game_list_worker: Skip parsing file if the returned VfsFile is nullptr Prevents crashes in GetLoader when the virtual file is nullptr * common: fs: Validate paths for path length * service: filesystem: Open the mod load directory as read only
2021-05-25yuzu qt: Add an Apply button to configuration dialogslat9nq
Most of the code already exists to do this, but the Apply button itself was never added. This adds a button and boolean that tells yuzu to save the configuration after applying settings, even if close/Cancel is pressed on the dialog. Changes after applying will not be saved when Cancel is pressed, though.
2021-05-23settings: Forbid docked mode on handheldgerman77
2021-05-18Merge pull request #6317 from ameerj/fps-fixbunnei
perf_stats: Rework FPS counter to be more accurate
2021-05-16yuzu/main: Fix version info in logging and about dialogMorph
2021-05-16main: Prevent installing base titles into NANDMorph
Many users have been installing their base titles into NAND instead of adding them into the games list. This prevents users from installing any base titles and warns the user about the action.
2021-05-15perf_stats: Rework FPS counter to be more accurateameerj
The FPS counter was based on metrics in the nvdisp swapbuffers call. This metric would be accurate if the gpu thread/renderer were synchronous with the nvdisp service, but that's no longer the case. This commit moves the frame counting responsibility onto the concrete renderers after their frame draw calls. Resulting in more meaningful metrics. The displayed FPS is now made up of the average framerate between the previous and most recent update, in order to avoid distracting FPS counter updates when framerate is oscillating between close values. The status bar update frequency was also changed from 2 seconds to 500ms.