summaryrefslogtreecommitdiffstats
path: root/src/core/hle
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2018-10-24 01:26:57 +0200
committerGitHub <noreply@github.com>2018-10-24 01:26:57 +0200
commit5edb2403c2030162bbb602dfd8289c738acff0e3 (patch)
treefafcdebf8f3305deff1f8a2ebaa0ef14218bb41c /src/core/hle
parentMerge pull request #1542 from lioncash/project (diff)
parentqt: Add support for dumping a DLC Data RomFS (diff)
downloadyuzu-5edb2403c2030162bbb602dfd8289c738acff0e3.tar
yuzu-5edb2403c2030162bbb602dfd8289c738acff0e3.tar.gz
yuzu-5edb2403c2030162bbb602dfd8289c738acff0e3.tar.bz2
yuzu-5edb2403c2030162bbb602dfd8289c738acff0e3.tar.lz
yuzu-5edb2403c2030162bbb602dfd8289c738acff0e3.tar.xz
yuzu-5edb2403c2030162bbb602dfd8289c738acff0e3.tar.zst
yuzu-5edb2403c2030162bbb602dfd8289c738acff0e3.zip
Diffstat (limited to 'src/core/hle')
-rw-r--r--src/core/hle/service/filesystem/fsp_srv.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/core/hle/service/filesystem/fsp_srv.cpp b/src/core/hle/service/filesystem/fsp_srv.cpp
index d5dced429..c87721c39 100644
--- a/src/core/hle/service/filesystem/fsp_srv.cpp
+++ b/src/core/hle/service/filesystem/fsp_srv.cpp
@@ -17,6 +17,7 @@
#include "core/file_sys/errors.h"
#include "core/file_sys/mode.h"
#include "core/file_sys/nca_metadata.h"
+#include "core/file_sys/patch_manager.h"
#include "core/file_sys/savedata_factory.h"
#include "core/file_sys/vfs.h"
#include "core/hle/ipc_helpers.h"
@@ -630,6 +631,7 @@ void FSP_SRV::OpenDataStorageByDataId(Kernel::HLERequestContext& ctx) {
static_cast<u8>(storage_id), unknown, title_id);
auto data = OpenRomFS(title_id, storage_id, FileSys::ContentRecordType::Data);
+
if (data.Failed()) {
// TODO(DarkLordZach): Find the right error code to use here
LOG_ERROR(Service_FS,
@@ -640,7 +642,9 @@ void FSP_SRV::OpenDataStorageByDataId(Kernel::HLERequestContext& ctx) {
return;
}
- IStorage storage(std::move(data.Unwrap()));
+ FileSys::PatchManager pm{title_id};
+
+ IStorage storage(pm.PatchRomFS(std::move(data.Unwrap()), 0, FileSys::ContentRecordType::Data));
IPC::ResponseBuilder rb{ctx, 2, 0, 1};
rb.Push(RESULT_SUCCESS);