summaryrefslogtreecommitdiff
path: root/src/yuzu
diff options
context:
space:
mode:
authorLioncash <mathew1800@gmail.com>2018-12-01 20:32:38 -0500
committerLioncash <mathew1800@gmail.com>2018-12-01 23:43:23 -0500
commitdb4523f1ece642475d58f8764863c8930a0812e3 (patch)
tree53a96ed05770f77a1dd9bb463863c38e3dffa36c /src/yuzu
parente88cdcc912ae6929f9008c1b307c62f1e7b0637f (diff)
filesystem: De-globalize registered_cache_union
We can just return a new instance of this when it's requested. This only ever holds pointers to the existing registed caches, so it's not a large object. Plus, this also gets rid of the need to keep around a separate member function just to properly clear out the union. Gets rid of one of five globals in the filesystem code.
Diffstat (limited to 'src/yuzu')
-rw-r--r--src/yuzu/game_list_worker.cpp14
-rw-r--r--src/yuzu/main.cpp4
2 files changed, 9 insertions, 9 deletions
diff --git a/src/yuzu/game_list_worker.cpp b/src/yuzu/game_list_worker.cpp
index 362902e46..1edc60df7 100644
--- a/src/yuzu/game_list_worker.cpp
+++ b/src/yuzu/game_list_worker.cpp
@@ -97,11 +97,11 @@ GameListWorker::~GameListWorker() = default;
void GameListWorker::AddInstalledTitlesToGameList() {
const auto cache = Service::FileSystem::GetUnionContents();
- const auto installed_games = cache->ListEntriesFilter(FileSys::TitleType::Application,
- FileSys::ContentRecordType::Program);
+ const auto installed_games = cache.ListEntriesFilter(FileSys::TitleType::Application,
+ FileSys::ContentRecordType::Program);
for (const auto& game : installed_games) {
- const auto file = cache->GetEntryUnparsed(game);
+ const auto file = cache.GetEntryUnparsed(game);
std::unique_ptr<Loader::AppLoader> loader = Loader::GetLoader(file);
if (!loader)
continue;
@@ -112,7 +112,7 @@ void GameListWorker::AddInstalledTitlesToGameList() {
loader->ReadProgramId(program_id);
const FileSys::PatchManager patch{program_id};
- const auto control = cache->GetEntry(game.title_id, FileSys::ContentRecordType::Control);
+ const auto control = cache.GetEntry(game.title_id, FileSys::ContentRecordType::Control);
if (control != nullptr)
GetMetadataFromControlNCA(patch, *control, icon, name);
@@ -141,11 +141,11 @@ void GameListWorker::AddInstalledTitlesToGameList() {
emit EntryReady(list);
}
- const auto control_data = cache->ListEntriesFilter(FileSys::TitleType::Application,
- FileSys::ContentRecordType::Control);
+ const auto control_data = cache.ListEntriesFilter(FileSys::TitleType::Application,
+ FileSys::ContentRecordType::Control);
for (const auto& entry : control_data) {
- auto nca = cache->GetEntry(entry);
+ auto nca = cache.GetEntry(entry);
if (nca != nullptr) {
nca_control_map.insert_or_assign(entry.title_id, std::move(nca));
}
diff --git a/src/yuzu/main.cpp b/src/yuzu/main.cpp
index 93bf117c8..6e7d300a0 100644
--- a/src/yuzu/main.cpp
+++ b/src/yuzu/main.cpp
@@ -905,7 +905,7 @@ void GMainWindow::OnGameListDumpRomFS(u64 program_id, const std::string& game_pa
}
const auto installed = Service::FileSystem::GetUnionContents();
- auto romfs_title_id = SelectRomFSDumpTarget(*installed, program_id);
+ const auto romfs_title_id = SelectRomFSDumpTarget(installed, program_id);
if (!romfs_title_id) {
failed();
@@ -920,7 +920,7 @@ void GMainWindow::OnGameListDumpRomFS(u64 program_id, const std::string& game_pa
if (*romfs_title_id == program_id) {
romfs = file;
} else {
- romfs = installed->GetEntry(*romfs_title_id, FileSys::ContentRecordType::Data)->GetRomFS();
+ romfs = installed.GetEntry(*romfs_title_id, FileSys::ContentRecordType::Data)->GetRomFS();
}
const auto extracted = FileSys::ExtractRomFS(romfs, FileSys::RomFSExtractionType::Full);