diff options
| author | lizzie <lizzie@eden-emu.dev> | 2026-07-12 09:32:11 +0200 |
|---|---|---|
| committer | crueter <crueter@eden-emu.dev> | 2026-07-12 09:32:11 +0200 |
| commit | 7f85c6e2823d34bfa32cae6d52a44846f8553731 (patch) | |
| tree | c0dd8f054bae5ae3b0cc34e00b07bacd03bf42e8 /src/qt_common/game_list | |
| parent | 39b2c79985b476c4b29b02a7b232bc3887d251ad (diff) | |
[qt] nuke game compat list (again) (#4201)
we have no use for it
it's dead code
most of the time users just complain about how the list isn't updated
ok so what if we update it? great now its more noise added to the git, awesome
even if we constantly update it, we introduce new breakage that makes keeping
track of things extremely difficult
either we integrate with emuready (would violate self containment principles)
or we integrate with emuready in a similar fashion to eden news outlet
(where we cache the list with some TTL of like 60 mins or whatever)
that would be better respecting of "self containment" but would probably
require having a quick way to update the list additively, probably filtered to the user's
device instead of a global thing, and i dont think emuready has that granularity
nor we have the "connect this to that" for the api stuffs
another (which is what i propose here) is throw everything out of the window
until someone can come up with something better
Signed-off-by: lizzie <lizzie@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4201
Reviewed-by: Maufeat <sahyno1996@gmail.com>
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com>
Diffstat (limited to 'src/qt_common/game_list')
| -rw-r--r-- | src/qt_common/game_list/model.cpp | 50 | ||||
| -rw-r--r-- | src/qt_common/game_list/model.h | 6 | ||||
| -rw-r--r-- | src/qt_common/game_list/worker.cpp | 15 | ||||
| -rw-r--r-- | src/qt_common/game_list/worker.h | 3 |
4 files changed, 4 insertions, 70 deletions
diff --git a/src/qt_common/game_list/model.cpp b/src/qt_common/game_list/model.cpp index 5c1042b002..c333644011 100644 --- a/src/qt_common/game_list/model.cpp +++ b/src/qt_common/game_list/model.cpp @@ -52,7 +52,7 @@ void GameListModel::PopulateAsync(QVector<UISettings::GameDir>& game_dirs) { current_worker.reset(); removeRows(0, rowCount()); - current_worker = std::make_unique<GameListWorker>(vfs, provider, game_dirs, compatibility_list, + current_worker = std::make_unique<GameListWorker>(vfs, provider, game_dirs, play_time_manager, system); connect(current_worker.get(), &GameListWorker::DataAvailable, this, &GameListModel::WorkerEvent, @@ -157,50 +157,6 @@ void GameListModel::RemoveFavorite(u64 program_id) { } } -void GameListModel::LoadCompatibilityList() { - QFile compat_list{QStringLiteral(":compatibility_list/compatibility_list.json")}; - - if (!compat_list.open(QFile::ReadOnly | QFile::Text)) { - LOG_ERROR(Frontend, "Unable to open game compatibility list"); - return; - } - - if (compat_list.size() == 0) { - LOG_WARNING(Frontend, "Game compatibility list is empty"); - return; - } - - const QByteArray content = compat_list.readAll(); - if (content.isEmpty()) { - LOG_ERROR(Frontend, "Unable to completely read game compatibility list"); - return; - } - - const QJsonDocument json = QJsonDocument::fromJson(content); - const QJsonArray arr = json.array(); - - for (const QJsonValue& value : arr) { - const QJsonObject game = value.toObject(); - const QString compatibility_key = QStringLiteral("compatibility"); - - if (!game.contains(compatibility_key) || !game[compatibility_key].isDouble()) { - continue; - } - - const int compatibility = game[compatibility_key].toInt(); - const QString directory = game[QStringLiteral("directory")].toString(); - const QJsonArray ids = game[QStringLiteral("releases")].toArray(); - - for (const QJsonValue& id_ref : ids) { - const QJsonObject id_object = id_ref.toObject(); - const QString id = id_object[QStringLiteral("id")].toString(); - - compatibility_list.emplace(id.toUpper().toStdString(), - std::make_pair(QString::number(compatibility), directory)); - } - } -} - void GameListModel::Repopulate() { current_worker.reset(); QtCommon::system->GetFileSystemController().CreateFactories(*QtCommon::vfs); @@ -247,10 +203,6 @@ QFileSystemWatcher* GameListModel::GetWatcher() const { return watcher; } -const CompatibilityList& GameListModel::GetCompatibilityList() const { - return compatibility_list; -} - void GameListModel::SetFlat(bool flat) { m_flat = flat; } diff --git a/src/qt_common/game_list/model.h b/src/qt_common/game_list/model.h index c8661e2fd1..68f42848e8 100644 --- a/src/qt_common/game_list/model.h +++ b/src/qt_common/game_list/model.h @@ -12,7 +12,6 @@ #include "common/common_types.h" #include "frontend_common/play_time_manager.h" #include "qt_common/config/uisettings.h" -#include "yuzu/compatibility_list.h" namespace Core { class System; @@ -62,14 +61,10 @@ public: void RefreshExternalContent(); void ResetExternalWatcher(); - void LoadCompatibilityList(); - void RetranslateUI(); QFileSystemWatcher* GetWatcher() const; - const CompatibilityList& GetCompatibilityList() const; - void SetFlat(bool flat); signals: @@ -89,7 +84,6 @@ private: std::shared_ptr<FileSys::VfsFilesystem> vfs; FileSys::ManualContentProvider* provider; - CompatibilityList compatibility_list; const PlayTime::PlayTimeManager& play_time_manager; Core::System& system; diff --git a/src/qt_common/game_list/worker.cpp b/src/qt_common/game_list/worker.cpp index 5cd68996c5..586a26e8b9 100644 --- a/src/qt_common/game_list/worker.cpp +++ b/src/qt_common/game_list/worker.cpp @@ -33,7 +33,6 @@ #include "qt_common/qt_common.h" #include "qt_common/game_list/game_list_p.h" -#include "yuzu/compatibility_list.h" #include "qt_common/game_list/model.h" #include "qt_common/game_list/worker.h" @@ -203,14 +202,8 @@ QString FormatPatchNameVersions(const FileSys::PatchManager& patch_manager, QList<QStandardItem*> MakeGameListEntry(const std::string& path, const std::string& name, const std::size_t size, const std::vector<u8>& icon, Loader::AppLoader& loader, u64 program_id, - const CompatibilityList& compatibility_list, const PlayTime::PlayTimeManager& play_time_manager, const FileSys::PatchManager& patch) { - auto const it = FindMatchingCompatibilityEntry(compatibility_list, program_id); - // The game list uses 99 as compatibility number for untested games - QString compatibility = - it != compatibility_list.end() ? it->second.first : QStringLiteral("99"); - auto const file_type = loader.GetFileType(); auto const file_type_string = QString::fromStdString(Loader::GetFileTypeString(file_type)); @@ -227,7 +220,6 @@ QList<QStandardItem*> MakeGameListEntry(const std::string& path, const std::stri new GameListItemSize(size), new GameListItemPlayTime(play_time), new GameListItem(patch_versions), - new GameListItemCompat(compatibility), }; } } // Anonymous namespace @@ -235,11 +227,10 @@ QList<QStandardItem*> MakeGameListEntry(const std::string& path, const std::stri GameListWorker::GameListWorker(FileSys::VirtualFilesystem vfs_, FileSys::ManualContentProvider* provider_, QVector<UISettings::GameDir>& game_dirs_, - const CompatibilityList& compatibility_list_, const PlayTime::PlayTimeManager& play_time_manager_, Core::System& system_) : vfs{std::move(vfs_)}, provider{provider_}, game_dirs{game_dirs_}, - compatibility_list{compatibility_list_}, play_time_manager{play_time_manager_}, + play_time_manager{play_time_manager_}, system{system_} { // We want the game list to manage our lifetime. setAutoDelete(false); @@ -335,7 +326,7 @@ void GameListWorker::AddTitlesToGameList(GameListDir* parent_dir) { } auto entry = MakeGameListEntry(file->GetFullPath(), name, file->GetSize(), icon, *loader, - program_id, compatibility_list, play_time_manager, patch); + program_id, play_time_manager, patch); RecordEvent([=](GameListModel* model) { model->AddEntry(entry, parent_dir); }); } } @@ -405,7 +396,7 @@ void GameListWorker::ScanFileSystem(ScanTarget target, const std::string& dir_pa auto entry = MakeGameListEntry( physical_name, name, Common::FS::GetSize(physical_name), icon, *app_loader, - id, compatibility_list, play_time_manager, patch); + id, play_time_manager, patch); RecordEvent([=](GameListModel* model) { model->AddEntry(entry, parent_dir); }); }; diff --git a/src/qt_common/game_list/worker.h b/src/qt_common/game_list/worker.h index c11741c5f5..c007498d4b 100644 --- a/src/qt_common/game_list/worker.h +++ b/src/qt_common/game_list/worker.h @@ -20,7 +20,6 @@ #include "core/file_sys/registered_cache.h" #include "frontend_common/play_time_manager.h" #include "qt_common/config/uisettings.h" -#include "yuzu/compatibility_list.h" namespace Core { class System; @@ -46,7 +45,6 @@ public: explicit GameListWorker(std::shared_ptr<FileSys::VfsFilesystem> vfs_, FileSys::ManualContentProvider* provider_, QVector<UISettings::GameDir>& game_dirs_, - const CompatibilityList& compatibility_list_, const PlayTime::PlayTimeManager& play_time_manager_, Core::System& system_); ~GameListWorker() override; @@ -85,7 +83,6 @@ private: std::shared_ptr<FileSys::VfsFilesystem> vfs; FileSys::ManualContentProvider* provider; QVector<UISettings::GameDir>& game_dirs; - const CompatibilityList& compatibility_list; const PlayTime::PlayTimeManager& play_time_manager; QStringList watch_list; |
