From 27189f39d2bf78c924475ac6ea2a79c3d6ec6d8a Mon Sep 17 00:00:00 2001 From: crueter Date: Tue, 2 Jun 2026 04:08:09 +0200 Subject: [PATCH] [desktop] Prefer extracred folder name over zip name for non-Atmosphere zip mods (#4043) e.g. Serfrost's Defogger will now be named "Serfrosts Defogger" by default, instead of "serfrosts_base_defogger_v2-4" Note that for atmosphere mods it still uses the zip folder name, since otherwise their default name will just be the game's Title ID. Signed-off-by: crueter Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4043 Reviewed-by: Lizzie Reviewed-by: MaranBr --- src/frontend_common/mod_manager.cpp | 1 - src/qt_common/util/mod.cpp | 9 ++++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/frontend_common/mod_manager.cpp b/src/frontend_common/mod_manager.cpp index 35d7068f2f..b1adaebf91 100644 --- a/src/frontend_common/mod_manager.cpp +++ b/src/frontend_common/mod_manager.cpp @@ -3,7 +3,6 @@ #include #include -#include #include #include "common/fs/fs.h" #include "common/fs/fs_types.h" diff --git a/src/qt_common/util/mod.cpp b/src/qt_common/util/mod.cpp index 3e75cb21fa..c09b39cf82 100644 --- a/src/qt_common/util/mod.cpp +++ b/src/qt_common/util/mod.cpp @@ -33,10 +33,13 @@ QStringList GetModFolders(const QString& root, const QString& fallbackName) { std_path = paths[0]; QString default_name; - if (!fallbackName.isEmpty()) - default_name = fallbackName; - else if (!paths.empty()) + + // If this is an atmosphere-packed mod, the default name will end up as the game's title ID. + // So in this case ignore it and use the zip name instead + if (!paths.empty() && std_path.string().find("atmosphere") == std::string::npos) default_name = QString::fromStdString(std_path.filename().string()); + else if (!fallbackName.isEmpty()) + default_name = fallbackName; else default_name = root.split(QLatin1Char('/')).last();