* save the option on a external file because settings
are loaded AFTER Qt window is created and then
the graphics backend is already applied
Signed-off-by: Caio Oliveira <caiooliveirafarias0@gmail.com>
This is part of a series of PRs made in preparation for the QML rewrite. this PR specifically moves a bunch of utility functions from main.cpp into qt_common, with the biggest benefit being that QML can reuse the exact same code through ctx passthrough.
Also, QtCommon::Frontend is an abstraction layer over several previously Widgets-specific stuff like QMessageBox that gets used everywhere. The idea is that once QML is implemented, these functions can have a Quick version implemented for systems that don't work well with Widgets (sun) or for those on Plasma 6+ (reduces memory usage w/o Widgets linkage) although Quick from C++ is actually anal, but whatever.
Other than that this should also just kinda reduce the size of main.cpp which is a 6000-line behemoth rn, and clangd straight up gives up with it for me (likely caused by the massive amount of headers, which this DOES reduce).
In the future, I probably want to create a common strings lookup table that both Qt and QML can reference--though I'm not sure how much linguist likes that--which should give us a way to keep language consistent (use frozen-map).
TODO: Docs for Qt stuff
Co-authored-by: MaranBr <maranbr@outlook.com>
Reviewed-on: #94
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Reviewed-by: Shinmegumi <shinmegumi@eden-emu.dev>
This adds a passthrough to basically disable nca verification for newer NCAs, this fixes (tested) Pokemon 4.0.0 update and other newer SDK games and updates (as reported on the discord)
This is implemented as toggle that is default enabled, this needs proper implementation in the future.
Co-authored-by: crueter <crueter@eden-emu.dev>
Reviewed-on: #298
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Reviewed-by: crueter <crueter@eden-emu.dev>
Co-authored-by: Maufeat <sahyno1996@gmail.com>
Co-committed-by: Maufeat <sahyno1996@gmail.com>
- only warns about too new/missing for home menu
- only warns about missing for games that need it (mk8dx)
Signed-off-by: crueter <crueter@eden-emu.dev>
Reviewed-on: #363
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com>
Reviewed-by: MaranBr <maranbr@outlook.com>
- creates a CPMUtil.cmake module that makes my job 10x easier and removes boilerplate
- also lets us generate dependency names/versions at compiletime, thus letting the frontend display each dependency's versions.
Signed-off-by: crueter <crueter@eden-emu.dev>
Reviewed-on: #238
Fixed the title bar being forced to light theme and properly handle it the qt6.5 way
See: https://stackoverflow.com/a/78854851
Reviewed-on: #236
Reviewed-by: crueter <crueter@eden-emu.dev>
Co-authored-by: Maufeat <sahyno1996@gmail.com>
Co-committed-by: Maufeat <sahyno1996@gmail.com>
Closes#12
Adds a menu option to install firmware from a packed ZIP.
This PR additionally lays the groundwork to add data import/export via ZIP. In the future, a qt_common subproject should be added to handle common Qt tasks such as this.
Furthermore, to decrease dependency complexity, this also introduces CPM, a wrapper around FetchContent. In theory, this should also lay the groundwork for #8 as well.
Signed-off-by: crueter <crueter@eden-emu.dev>
Reviewed-on: #52
Currently Android only, will need to be added to desktop.
Android incorrectly records firmware as 19.0.1 if on a higher version...
TODO:
- [x] desktop
- [x] fix android
Signed-off-by: crueter <swurl@swurl.xyz>
Reviewed-on: #222
Co-authored-by: crueter <swurl@swurl.xyz>
Co-committed-by: crueter <swurl@swurl.xyz>
Properly recognizes AppImage launches and deduplicates some code b/t
home menu and game list shortcuts
Signed-off-by: swurl <swurl@swurl.xyz>
Reviewed-on: #137
Co-authored-by: swurl <swurl@swurl.xyz>
Co-committed-by: swurl <swurl@swurl.xyz>
(with some extra spice)
Maybe this should be a target for Android as well.
Signed-off-by: swurl <swurl@swurl.xyz>
Reviewed-on: #132
Co-authored-by: swurl <swurl@swurl.xyz>
Co-committed-by: swurl <swurl@swurl.xyz>
Signed-off-by: Aleksandr Popovich <alekpopo@pm.me>
Reviewed-on: #112
Co-authored-by: Aleksandr Popovich <alekpopo@pm.me>
Co-committed-by: Aleksandr Popovich <alekpopo@pm.me>
- GLASM/SPIR-V mixup on Android
- potential greenscreen fix (thx suyu)
- save memory layout and add 10gb/12gb options
- potential samsung gaming hub fix
- fix layout of controller UI
- fix default settings to sensible defaults.
- note to TotK that you should increase memory layout
- Error checking for Windows linking
- fix an IDE error
- improved migration system w/threading and busy indicator
- disabled citron migration for now
- replaced some user-facing legacy strings with eden
- Added 10GB and 12GB DRAM layouts
- Fix Android black screen issues
- add discord link & update FAQ/Quickstart
- update links in about page
- add back rich presence
- add Don't show again for desktop pre alpha banner
- add citron warning to android and polaris to desktop
Signed-off-by: swurl <swurl@swurl.xyz>
Co-authored-by: Pavel Barabanov <pavelbarabanov94@gmail.com>
Reviewed-on: #101
Co-authored-by: swurl <swurl@swurl.xyz>
Co-committed-by: swurl <swurl@swurl.xyz>
Includes citron, sudachi, yuzu
currently broken, because the eden dir is always made early?
Signed-off-by: swurl <swurl@swurl.xyz>
Reviewed-on: #91
Co-authored-by: swurl <swurl@swurl.xyz>
Co-committed-by: swurl <swurl@swurl.xyz>
* Import keys, re-initialize KeyManager, re-scan vfs, re-populate game list.
* <.< spelling.
* Update based on feedback on #13047 and this PR
* Based on feedback: Don't delete existing files. There's legitimate reasons that someone may want to keep their retail keys and title key handling is resilient to mismatches.
* Update src/yuzu/main.cpp
Co-authored-by: Tobias <thm.frey@gmail.com>
* Remove translation of literal filename/filter format.
* clang-format.
---------
Co-authored-by: Tobias <thm.frey@gmail.com>
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.
- Show the right confirm dialog if wanted
- Create generic method to ask close confirmation
- Add "R + Plus + Minus" default shortcut to Restart emulation