diff options
author | Zach Hilman <zachhilman@gmail.com> | 2018-08-08 20:34:06 +0200 |
---|---|---|
committer | Zach Hilman <zachhilman@gmail.com> | 2018-08-09 03:18:45 +0200 |
commit | 94cf327e776eff934052847346d8415d584b369b (patch) | |
tree | 54dc467fce770f6bdbdf8d112e09f7a1fdc30f0a /src | |
parent | file_util: Use enum instead of bool for specifing path behavior (diff) | |
download | yuzu-94cf327e776eff934052847346d8415d584b369b.tar yuzu-94cf327e776eff934052847346d8415d584b369b.tar.gz yuzu-94cf327e776eff934052847346d8415d584b369b.tar.bz2 yuzu-94cf327e776eff934052847346d8415d584b369b.tar.lz yuzu-94cf327e776eff934052847346d8415d584b369b.tar.xz yuzu-94cf327e776eff934052847346d8415d584b369b.tar.zst yuzu-94cf327e776eff934052847346d8415d584b369b.zip |
Diffstat (limited to 'src')
-rw-r--r-- | src/core/file_sys/vfs.h | 2 | ||||
-rw-r--r-- | src/yuzu/game_list.cpp | 7 |
2 files changed, 5 insertions, 4 deletions
diff --git a/src/core/file_sys/vfs.h b/src/core/file_sys/vfs.h index 9c7ef93b8..bf16e7286 100644 --- a/src/core/file_sys/vfs.h +++ b/src/core/file_sys/vfs.h @@ -31,7 +31,7 @@ enum class VfsEntryType { Directory, }; -// A class represnting an abstract filesystem. A default implementation given the root VirtualDir is +// A class representing an abstract filesystem. A default implementation given the root VirtualDir is // provided for convenience, but if the Vfs implementation has any additional state or // functionality, they will need to override. struct VfsFilesystem : NonCopyable { diff --git a/src/yuzu/game_list.cpp b/src/yuzu/game_list.cpp index e150a0684..1c738d2a4 100644 --- a/src/yuzu/game_list.cpp +++ b/src/yuzu/game_list.cpp @@ -15,6 +15,7 @@ #include "common/string_util.h" #include "core/file_sys/content_archive.h" #include "core/file_sys/control_metadata.h" +#include "core/file_sys/romfs.h" #include "core/file_sys/vfs_real.h" #include "core/loader/loader.h" #include "game_list.h" @@ -415,8 +416,8 @@ void GameListWorker::AddFstEntriesToGameList(const std::string& dir_path, unsign bool is_dir = FileUtil::IsDirectory(physical_name); QFileInfo file_info(physical_name.c_str()); if (!is_dir && file_info.suffix().toStdString() == "nca") { - auto nca = std::make_shared<FileSys::NCA>( - std::make_shared<FileSys::RealVfsFile>(physical_name)); + auto nca = + std::make_shared<FileSys::NCA>(vfs->OpenFile(physical_name, FileSys::Mode::Read)); if (nca->GetType() == FileSys::NCAContentType::Control) nca_control_map.insert_or_assign(nca->GetTitleId(), nca); } @@ -460,7 +461,7 @@ void GameListWorker::AddFstEntriesToGameList(const std::string& dir_path, unsign // Use from metadata pool. if (nca_control_map.find(program_id) != nca_control_map.end()) { const auto nca = nca_control_map[program_id]; - const auto control_dir = nca->GetSubdirectories()[0]; + const auto control_dir = FileSys::ExtractRomFS(nca->GetRomFS()); const auto nacp_file = control_dir->GetFile("control.nacp"); FileSys::NACP nacp(nacp_file); |