Преглед изворни кода

Forward OpenSaveDataInfoReaderOnlyCacheStorage to OpenSaveDataInfoReaderWithFilter (#1449)

Alex Barney пре 5 година
родитељ
комит
8d59ad88b4
1 измењених фајлова са 21 додато и 1 уклоњено
  1. 21 1
      Ryujinx.HLE/HOS/Services/Fs/IFileSystemProxy.cs

+ 21 - 1
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;
             }