summaryrefslogtreecommitdiff
path: root/src/yuzu_cmd/yuzu.cpp (follow)
Commit message (Collapse)AuthorAgeFilesLines
* scope_exit: Make constexprGravatar FearlessTobi2024-02-191-1/+3
| | | | | Allows the use of the macro in constexpr-contexts. Also avoids some potential problems when nesting braces inside it.
* am: retrieve main applet creation info from frontendGravatar Liam2024-01-291-1/+5
|
* vfs: Move vfs files to their own directoryGravatar FearlessTobi2024-01-251-1/+1
|
* Fix more typosGravatar Viktor Szépe2024-01-151-1/+1
|
* yuzu: create linux group in general settingsGravatar flodavid2023-11-251-18/+6
| | | | | - Create files dedicated to starting and stopping gamemode functions - Use them in yuzu and yuzu_cmd modules
* yuzu: integrate gamemode support on linuxGravatar xcfrg2023-11-251-0/+24
|
* config: Unify config handling under frontend_commonGravatar t8952023-11-211-2/+3
| | | | | | 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.
* cmd/yuzu: Remove uncaught usage of stoiGravatar lat9nq2023-09-131-2/+3
| | | | Also fixes a style inconsistency
* am: Implement UserChannel parametersGravatar FearlessTobi2023-09-101-0/+1
| | | | Used by the Super Mairo 3D All-Stars collection.
* msvc: set warning level to /W4 globallyGravatar Danila Malyutin2023-09-031-1/+1
| | | | And fix a bunch of warnings
* core_timing: Remove GetCurrentTimerResolution in CoreTiming loopGravatar Morph2023-07-021-2/+6
| | | | Other programs may change this value, but if thousands of syscalls in this loop is undesirable, then we can just set this once.
* Don't exit when using "-u" option in yuzu-cmdGravatar Ariel Cabello2023-05-251-1/+1
|
* Add short "-u" option for yuzu_cmd.Gravatar Ariel Cabello2023-05-251-1/+1
| | | | | The -u short option was documented but not implemented in yuzu_cmd. The same long option --user worked before.
* main: (Windows) Set the current timer resolution to the maximumGravatar Morph2023-03-051-0/+4
| | | | Increases the precision of thread sleeps on Windows.
* general: rename CurrentProcess to ApplicationProcessGravatar Liam2023-02-131-1/+1
|
* yuzu_cmd: Order arguments alphabetically and port arguments from QtGravatar german772023-02-041-19/+36
|
* Disable automatically opening the console on windows yuzu-cmd builds (#9485)Gravatar Chris Oboe2022-12-231-0/+7
| | | | | * don't automatically open the console on windows build of yuzu-cmd * fix formatting
* video_core: add null backendGravatar Liam2022-11-281-0/+4
|
* Add break statement in default caseGravatar Enrico Mancuso2022-11-111-0/+1
| | | According to the contributing page (https://github.com/yuzu-emu/yuzu/wiki/Contributing) the default cases should have a break statement
* core: Partially persist emulation state across game boots.Gravatar bunnei2022-10-181-1/+3
|
* core, network: Add ability to proxy socket packetsGravatar FearlessTobi2022-08-151-7/+3
|
* chore: make yuzu REUSE compliantGravatar Andrea Pappacoda2022-07-271-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [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
* yuzu_cmd: Fix compilationGravatar FearlessTobi2022-07-251-1/+1
|
* yuzu: Add ui files for multiplayer roomsGravatar FearlessTobi2022-07-251-0/+158
|
* core: fix initialization in single core, sync GPU modeGravatar Liam2022-06-161-0/+2
|
* Make yuzu-cmd respect log_filter settingGravatar Nikita Strygin2022-06-161-0/+6
| | | | | | | Because logging infrastructure initializes before the loading of the config, it reads the default setting for log_filter and ignores the one set in config. To change log_filter after logging initialization some additional calls need to be made.
* core/debugger: fix a number of shutdown deadlocksGravatar Liam2022-06-101-0/+1
|
* core/debugger: support operation in yuzu-cmdGravatar Liam2022-06-101-0/+8
|
* yuzu_cmd: Start the logging backendGravatar lat9nq2022-03-281-0/+1
|
* Merge pull request #8048 from ameerj/include-purgeGravatar bunnei2022-03-211-4/+0
|\ | | | | general: Reduce unused includes across the project
| * yuzu_cmd: Reduce unused includesGravatar ameerj2022-03-201-4/+0
| |
* | yuzu_cmd: Allow user to specify config file locationGravatar lat9nq2022-03-151-4/+18
|/ | | | | | 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.
* general: Get the current process program id directly from the systemGravatar Morph2021-11-041-2/+1
| | | | This allows us to avoid including KProcess' header file in files that only need to get the current process' program id.
* general: Rename GetTitleID to GetProgramIDGravatar Morph2021-11-041-1/+1
|
* core: Move ResultStatus outside of SystemGravatar Morph2021-10-151-8/+8
| | | | Allows it to be a forward declaration in other header files.
* yuzu_cmd: Remove remaining static system instancesGravatar Morph2021-10-151-3/+2
|
* logging: Simplify and make thread-safeGravatar yzct123452021-08-131-19/+3
| | | | | | | | | This simplifies the logging system. This also fixes some lost messages on startup. The simplification is simple. I removed unused functions and moved most things in the .h to the .cpp. I replaced the unnecessary linked list with its contents laid out as three member variables. Anything that went through the linked list now directly accesses the backends. Generic functions are replaced with those for each specific use case and there aren't many. This change increases coupling but we gain back more KISS and encapsulation. With those changes it was easy to make it thread-safe. I just removed the mutex and turned a boolean atomic. I was planning to use this thread-safety in my next PR about stacktraces. It was actually async-signal-safety at first but I ended up using a different approach. Anyway getting rid of the linked list is important for that because have the list of backends constantly changing complicates things.
* emu_window: Remove global system instanceGravatar lat9nq2021-07-301-2/+2
| | | | | | | It was just the one in emu_window_sdl2, but since _gl and _vk inherit from it, they all needed adjustments. Leaves just the one auto system& in main().
* shader: Adhere to disk shader cache settingGravatar ameerj2021-07-221-3/+5
|
* yuzu-cmd: Fullscreen Improvements (#6656)Gravatar san2021-07-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * emu_window_sdl2_vk: Use the generated SDL config On Linux, due to the way we include SDL2 as a submodule, it makes it difficult for us to specify which SDL_config.h we intended to include. Before, CMake would default to the dummy one included with SDL and ignore the generated one. This tells CMake to use the generated one. In addition, we define USING_GENERATED_CONFIG_H to throw an error in case the dummy config is used by accident. Fixes Vulkan not working on Linux yuzu-cmd. * emu_window_sdl2_vk: Specify the window manager if it should be supported The original language "not implemented" is wrong if the implementation exists but is not compiled. This causes a bit of a debugging headache when it goes wrong. Log it if the window manager is known before exiting. * sdl_impl, emu_window: Remove clang ignore Fixed upstream by libsdl-org/SDL@25fc40b0bd44c484051064bc6b945ea9943f88dd * Enable fullscreen support for Vulkan on yuzu-cmd Hooked up the existing SDL2 logic for fullscreen support in the Vulkan window of yuzu-cmd. * Change fullscreen logic to attempt desktop resolution first on yuzu-cmd Changed the order in which we attempt to switch to fullscreen. First try desktop resolution first, if it fails fall back to streched fullscreen using windowed resolution. Co-authored-by: lat9nq <22451773+lat9nq@users.noreply.github.com> Co-authored-by: san <san+gitkraken@smederijmerlijn.nl>
* general: Make most settings a BasicSettingGravatar lat9nq2021-06-281-1/+1
| | | | | | | | | | | 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.
* bootmanager: Use std::stop_source for stopping emulationGravatar ReinUsesLisp2021-06-221-1/+1
| | | | | | | Use its std::stop_token to abort shader cache loading. Using std::stop_token instead of std::atomic_bool allows the usage of other utilities like std::stop_callback.
* common: fs: Rework the Common Filesystem interface to make use of ↵Gravatar Morph2021-05-251-5/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* hle: kernel: Rename Process to KProcess.Gravatar bunnei2021-05-051-1/+1
|
* Merge pull request #6199 from lioncash/log-nsGravatar bunnei2021-04-141-2/+4
|\ | | | | common/log: Move Log namespace into the Common namespace
| * common/log: Move Log namespace into the Common namespaceGravatar Lioncash2021-04-141-2/+4
| | | | | | | | | | Forgot to move this over when I moved the rest of the source files with lacking namespaces over.
* | common: Move settings to common from core.Gravatar bunnei2021-04-141-2/+2
|/ | | | - Removes a dependency on core and input_common from common.
* gpu: Report renderer errors with exceptionsGravatar ReinUsesLisp2021-02-131-1/+1
| | | | | | Instead of using a two step initialization to report errors, initialize the GPU renderer and rasterizer on the constructor and report errors through std::runtime_error.
* renderer_opengl: Avoid precompiled cache and force NV GL cache directoryGravatar ReinUsesLisp2021-01-211-0/+3
| | | | | | | | | | | | | | Setting __GL_SHADER_DISK_CACHE_PATH we can force the cache directory to be in yuzu's user directory to stop commonly distributed malware from deleting our driver shader cache. And by setting __GL_SHADER_DISK_CACHE_SKIP_CLEANUP we can have an unbounded shader cache size. This has only been implemented on Windows, mostly because previous tests didn't seem to work on Linux. Disable the precompiled cache on Nvidia's driver. There's no need to hide information the driver already has in its own cache.
* yuzu_cmd: Silence unreferenced local variable warningGravatar Morph2021-01-101-2/+0
|