Browse Source

[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 <crueter@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4043
Reviewed-by: Lizzie <lizzie@eden-emu.dev>
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
crueter-patch-1
crueter 3 days ago
parent
commit
27189f39d2
No known key found for this signature in database GPG Key ID: 425ACD2D4830EBC6
  1. 1
      src/frontend_common/mod_manager.cpp
  2. 9
      src/qt_common/util/mod.cpp

1
src/frontend_common/mod_manager.cpp

@ -3,7 +3,6 @@
#include <algorithm>
#include <filesystem>
#include <iostream>
#include <fmt/format.h>
#include "common/fs/fs.h"
#include "common/fs/fs_types.h"

9
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();

Loading…
Cancel
Save