diff options
| author | crueter <crueter@eden-emu.dev> | 2026-02-06 06:37:30 +0100 |
|---|---|---|
| committer | crueter <crueter@eden-emu.dev> | 2026-02-06 06:37:30 +0100 |
| commit | e07e269bd766aa1fc29951b958db2063c1a4048e (patch) | |
| tree | c106879286f3bddaf4e5655210913b6e773facbf /src/yuzu/main_window.cpp | |
| parent | 08232ce64275eaf388eba7005f4dae28fc18a0b7 (diff) | |
[desktop] Add mod importer from folder and zip (#3472)
Closes #3125
Adds buttons to the addons page that imports a mod (or mods) from zip or folder.
Currently known to work with mods that provide proper romfs/exefs things, unsure about cheats and such. Also works on mods that just stuff things into the root of the zip.
TODO:
- [ ] test folder more thoroughly
- [ ] cheats
- [ ] test all sorts of mod pack types
Signed-off-by: crueter <crueter@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3472
Reviewed-by: Lizzie <lizzie@eden-emu.dev>
Diffstat (limited to 'src/yuzu/main_window.cpp')
| -rw-r--r-- | src/yuzu/main_window.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/yuzu/main_window.cpp b/src/yuzu/main_window.cpp index 5fee35dc7f..8adcdb4cbe 100644 --- a/src/yuzu/main_window.cpp +++ b/src/yuzu/main_window.cpp @@ -85,6 +85,7 @@ #include "qt_common/util/meta.h" #include "qt_common/util/content.h" #include "qt_common/util/fs.h" +#include "qt_common/util/mod.h" // These are wrappers to avoid the calls to CreateDirectory and CreateFile because of the Windows // defines. @@ -3654,6 +3655,7 @@ void MainWindow::OpenPerGameConfiguration(u64 title_id, const std::string& file_ Settings::SetConfiguringGlobal(false); ConfigurePerGame dialog(this, title_id, file_name, vk_device_records, *QtCommon::system); dialog.LoadFromFile(v_file); + const auto result = dialog.exec(); if (result != QDialog::Accepted && !UISettings::values.configuration_applied) { @@ -3665,7 +3667,7 @@ void MainWindow::OpenPerGameConfiguration(u64 title_id, const std::string& file_ const auto reload = UISettings::values.is_game_list_reload_pending.exchange(false); if (reload) { - game_list->PopulateAsync(UISettings::values.game_dirs); + OnGameListRefresh(); } // Do not cause the global config to write local settings into the config file |
