|
|
|
@ -106,9 +106,12 @@ static ContentRecordType GetCRTypeFromNCAType(NCAContentType type) {
|
|
|
|
|
|
|
|
|
|
VirtualFile RegisteredCache::OpenFileOrDirectoryConcat(const VirtualDir& dir,
|
|
|
|
|
std::string_view path) const {
|
|
|
|
|
if (dir->GetFileRelative(path) != nullptr)
|
|
|
|
|
return dir->GetFileRelative(path);
|
|
|
|
|
if (dir->GetDirectoryRelative(path) != nullptr) {
|
|
|
|
|
const auto file = dir->GetFileRelative(path);
|
|
|
|
|
if (file != nullptr)
|
|
|
|
|
return file;
|
|
|
|
|
|
|
|
|
|
const auto nca_dir = dir->GetDirectoryRelative(path);
|
|
|
|
|
if (nca_dir != nullptr) {
|
|
|
|
|
const auto nca_dir = dir->GetDirectoryRelative(path);
|
|
|
|
|
VirtualFile file = nullptr;
|
|
|
|
|
|
|
|
|
@ -225,7 +228,7 @@ void RegisteredCache::ProcessFiles(const std::vector<NcaID>& ids) {
|
|
|
|
|
|
|
|
|
|
if (file == nullptr)
|
|
|
|
|
continue;
|
|
|
|
|
const auto nca = std::make_shared<NCA>(parser(file, id));
|
|
|
|
|
const auto nca = std::make_shared<NCA>(parser(file, id), nullptr, 0, keys);
|
|
|
|
|
if (nca->GetStatus() != Loader::ResultStatus::Success ||
|
|
|
|
|
nca->GetType() != NCAContentType::Meta) {
|
|
|
|
|
continue;
|
|
|
|
@ -315,7 +318,7 @@ std::unique_ptr<NCA> RegisteredCache::GetEntry(u64 title_id, ContentRecordType t
|
|
|
|
|
const auto raw = GetEntryRaw(title_id, type);
|
|
|
|
|
if (raw == nullptr)
|
|
|
|
|
return nullptr;
|
|
|
|
|
return std::make_unique<NCA>(raw);
|
|
|
|
|
return std::make_unique<NCA>(raw, nullptr, 0, keys);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
std::unique_ptr<NCA> RegisteredCache::GetEntry(RegisteredCacheEntry entry) const {
|
|
|
|
|