diff options
| author | 2023-09-21 21:15:18 -0600 | |
|---|---|---|
| committer | 2023-09-23 20:13:36 -0600 | |
| commit | 3983ce9b5ce96091803d9a80a3fc545b1f87815b (patch) | |
| tree | cbcfbf0aa1f4e44a74d4b8824314ec47c038ca77 /src/core | |
| parent | service: ns: Implement GetSharedFontInOrderOfPriorityForSystem (diff) | |
| download | yuzu-3983ce9b5ce96091803d9a80a3fc545b1f87815b.tar.gz yuzu-3983ce9b5ce96091803d9a80a3fc545b1f87815b.tar.xz yuzu-3983ce9b5ce96091803d9a80a3fc545b1f87815b.zip | |
service: fsp: Implement CreateSaveDataFileSystemBySystemSaveDataId and OpenSaveDataFileSystemBySystemSaveDataId
Diffstat (limited to 'src/core')
| -rw-r--r-- | src/core/hle/service/filesystem/fsp_srv.cpp | 24 | ||||
| -rw-r--r-- | src/core/hle/service/filesystem/fsp_srv.h | 2 |
2 files changed, 24 insertions, 2 deletions
diff --git a/src/core/hle/service/filesystem/fsp_srv.cpp b/src/core/hle/service/filesystem/fsp_srv.cpp index 6e4d26b1e..2492bbc16 100644 --- a/src/core/hle/service/filesystem/fsp_srv.cpp +++ b/src/core/hle/service/filesystem/fsp_srv.cpp | |||
| @@ -698,7 +698,7 @@ FSP_SRV::FSP_SRV(Core::System& system_) | |||
| 698 | {19, nullptr, "FormatSdCardFileSystem"}, | 698 | {19, nullptr, "FormatSdCardFileSystem"}, |
| 699 | {21, nullptr, "DeleteSaveDataFileSystem"}, | 699 | {21, nullptr, "DeleteSaveDataFileSystem"}, |
| 700 | {22, &FSP_SRV::CreateSaveDataFileSystem, "CreateSaveDataFileSystem"}, | 700 | {22, &FSP_SRV::CreateSaveDataFileSystem, "CreateSaveDataFileSystem"}, |
| 701 | {23, nullptr, "CreateSaveDataFileSystemBySystemSaveDataId"}, | 701 | {23, &FSP_SRV::CreateSaveDataFileSystemBySystemSaveDataId, "CreateSaveDataFileSystemBySystemSaveDataId"}, |
| 702 | {24, nullptr, "RegisterSaveDataFileSystemAtomicDeletion"}, | 702 | {24, nullptr, "RegisterSaveDataFileSystemAtomicDeletion"}, |
| 703 | {25, nullptr, "DeleteSaveDataFileSystemBySaveDataSpaceId"}, | 703 | {25, nullptr, "DeleteSaveDataFileSystemBySaveDataSpaceId"}, |
| 704 | {26, nullptr, "FormatSdCardDryRun"}, | 704 | {26, nullptr, "FormatSdCardDryRun"}, |
| @@ -712,7 +712,7 @@ FSP_SRV::FSP_SRV(Core::System& system_) | |||
| 712 | {35, nullptr, "CreateSaveDataFileSystemByHashSalt"}, | 712 | {35, nullptr, "CreateSaveDataFileSystemByHashSalt"}, |
| 713 | {36, nullptr, "OpenHostFileSystemWithOption"}, | 713 | {36, nullptr, "OpenHostFileSystemWithOption"}, |
| 714 | {51, &FSP_SRV::OpenSaveDataFileSystem, "OpenSaveDataFileSystem"}, | 714 | {51, &FSP_SRV::OpenSaveDataFileSystem, "OpenSaveDataFileSystem"}, |
| 715 | {52, nullptr, "OpenSaveDataFileSystemBySystemSaveDataId"}, | 715 | {52, &FSP_SRV::OpenSaveDataFileSystemBySystemSaveDataId, "OpenSaveDataFileSystemBySystemSaveDataId"}, |
| 716 | {53, &FSP_SRV::OpenReadOnlySaveDataFileSystem, "OpenReadOnlySaveDataFileSystem"}, | 716 | {53, &FSP_SRV::OpenReadOnlySaveDataFileSystem, "OpenReadOnlySaveDataFileSystem"}, |
| 717 | {57, nullptr, "ReadSaveDataFileSystemExtraDataBySaveDataSpaceId"}, | 717 | {57, nullptr, "ReadSaveDataFileSystemExtraDataBySaveDataSpaceId"}, |
| 718 | {58, nullptr, "ReadSaveDataFileSystemExtraData"}, | 718 | {58, nullptr, "ReadSaveDataFileSystemExtraData"}, |
| @@ -870,6 +870,21 @@ void FSP_SRV::CreateSaveDataFileSystem(HLERequestContext& ctx) { | |||
| 870 | rb.Push(ResultSuccess); | 870 | rb.Push(ResultSuccess); |
| 871 | } | 871 | } |
| 872 | 872 | ||
| 873 | void FSP_SRV::CreateSaveDataFileSystemBySystemSaveDataId(HLERequestContext& ctx) { | ||
| 874 | IPC::RequestParser rp{ctx}; | ||
| 875 | |||
| 876 | auto save_struct = rp.PopRaw<FileSys::SaveDataAttribute>(); | ||
| 877 | [[maybe_unused]] auto save_create_struct = rp.PopRaw<std::array<u8, 0x40>>(); | ||
| 878 | |||
| 879 | LOG_DEBUG(Service_FS, "called save_struct = {}", save_struct.DebugInfo()); | ||
| 880 | |||
| 881 | FileSys::VirtualDir save_data_dir{}; | ||
| 882 | fsc.CreateSaveData(&save_data_dir, FileSys::SaveDataSpaceId::NandSystem, save_struct); | ||
| 883 | |||
| 884 | IPC::ResponseBuilder rb{ctx, 2}; | ||
| 885 | rb.Push(ResultSuccess); | ||
| 886 | } | ||
| 887 | |||
| 873 | void FSP_SRV::OpenSaveDataFileSystem(HLERequestContext& ctx) { | 888 | void FSP_SRV::OpenSaveDataFileSystem(HLERequestContext& ctx) { |
| 874 | IPC::RequestParser rp{ctx}; | 889 | IPC::RequestParser rp{ctx}; |
| 875 | 890 | ||
| @@ -916,6 +931,11 @@ void FSP_SRV::OpenSaveDataFileSystem(HLERequestContext& ctx) { | |||
| 916 | rb.PushIpcInterface<IFileSystem>(std::move(filesystem)); | 931 | rb.PushIpcInterface<IFileSystem>(std::move(filesystem)); |
| 917 | } | 932 | } |
| 918 | 933 | ||
| 934 | void FSP_SRV::OpenSaveDataFileSystemBySystemSaveDataId(HLERequestContext& ctx) { | ||
| 935 | LOG_WARNING(Service_FS, "(STUBBED) called, delegating to 51 OpenSaveDataFilesystem"); | ||
| 936 | OpenSaveDataFileSystem(ctx); | ||
| 937 | } | ||
| 938 | |||
| 919 | void FSP_SRV::OpenReadOnlySaveDataFileSystem(HLERequestContext& ctx) { | 939 | void FSP_SRV::OpenReadOnlySaveDataFileSystem(HLERequestContext& ctx) { |
| 920 | LOG_WARNING(Service_FS, "(STUBBED) called, delegating to 51 OpenSaveDataFilesystem"); | 940 | LOG_WARNING(Service_FS, "(STUBBED) called, delegating to 51 OpenSaveDataFilesystem"); |
| 921 | OpenSaveDataFileSystem(ctx); | 941 | OpenSaveDataFileSystem(ctx); |
diff --git a/src/core/hle/service/filesystem/fsp_srv.h b/src/core/hle/service/filesystem/fsp_srv.h index 4f3c2f6de..280bc9867 100644 --- a/src/core/hle/service/filesystem/fsp_srv.h +++ b/src/core/hle/service/filesystem/fsp_srv.h | |||
| @@ -39,7 +39,9 @@ private: | |||
| 39 | void OpenFileSystemWithPatch(HLERequestContext& ctx); | 39 | void OpenFileSystemWithPatch(HLERequestContext& ctx); |
| 40 | void OpenSdCardFileSystem(HLERequestContext& ctx); | 40 | void OpenSdCardFileSystem(HLERequestContext& ctx); |
| 41 | void CreateSaveDataFileSystem(HLERequestContext& ctx); | 41 | void CreateSaveDataFileSystem(HLERequestContext& ctx); |
| 42 | void CreateSaveDataFileSystemBySystemSaveDataId(HLERequestContext& ctx); | ||
| 42 | void OpenSaveDataFileSystem(HLERequestContext& ctx); | 43 | void OpenSaveDataFileSystem(HLERequestContext& ctx); |
| 44 | void OpenSaveDataFileSystemBySystemSaveDataId(HLERequestContext& ctx); | ||
| 43 | void OpenReadOnlySaveDataFileSystem(HLERequestContext& ctx); | 45 | void OpenReadOnlySaveDataFileSystem(HLERequestContext& ctx); |
| 44 | void OpenSaveDataInfoReaderBySaveDataSpaceId(HLERequestContext& ctx); | 46 | void OpenSaveDataInfoReaderBySaveDataSpaceId(HLERequestContext& ctx); |
| 45 | void OpenSaveDataInfoReaderOnlyCacheStorage(HLERequestContext& ctx); | 47 | void OpenSaveDataInfoReaderOnlyCacheStorage(HLERequestContext& ctx); |