From 8d59ad88b4d59ef6ad26b9a747dc871fd1f1007a Mon Sep 17 00:00:00 2001 From: Alex Barney Date: Sat, 8 Aug 2020 07:02:06 -0700 Subject: [PATCH] Forward OpenSaveDataInfoReaderOnlyCacheStorage to OpenSaveDataInfoReaderWithFilter (#1449) --- .../HOS/Services/Fs/IFileSystemProxy.cs | 22 ++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/Ryujinx.HLE/HOS/Services/Fs/IFileSystemProxy.cs b/Ryujinx.HLE/HOS/Services/Fs/IFileSystemProxy.cs index a295b94d..42e778d6 100644 --- a/Ryujinx.HLE/HOS/Services/Fs/IFileSystemProxy.cs +++ b/Ryujinx.HLE/HOS/Services/Fs/IFileSystemProxy.cs @@ -321,6 +321,26 @@ namespace Ryujinx.HLE.HOS.Services.Fs return (ResultCode)result.Value; } + [Command(62)] + public ResultCode OpenSaveDataInfoReaderOnlyCacheStorage(ServiceCtx context) + { + SaveDataFilter filter = new SaveDataFilter(); + filter.SetSaveDataType(SaveDataType.Cache); + filter.SetProgramId(new TitleId(context.Process.TitleId)); + + // FS would query the User and SdCache space IDs to find where the existing cache is (if any). + // We always have the SD card inserted, so we can always use SdCache for now. + Result result = _baseFileSystemProxy.OpenSaveDataInfoReaderBySaveDataSpaceId( + out LibHac.FsService.ISaveDataInfoReader infoReader, SaveDataSpaceId.SdCache); + + if (result.IsSuccess()) + { + MakeObject(context, new ISaveDataInfoReader(infoReader)); + } + + return (ResultCode)result.Value; + } + [Command(67)] public ResultCode FindSaveDataWithFilter(ServiceCtx context) { @@ -390,7 +410,7 @@ namespace Ryujinx.HLE.HOS.Services.Fs Logger.Info?.Print(LogClass.Loader, $"Opened AddOnContent Data TitleID={titleId:X16}"); MakeObject(context, new FileSystemProxy.IStorage(aocStorage)); - + return ResultCode.Success; }