mirror of
https://git.ryujinx.app/ryubing/ryujinx.git
synced 2025-07-05 12:06:26 +02:00
[Ryujinx.HLE] Address dotnet-format issues (#5380)
* dotnet format style --severity info Some changes were manually reverted. * dotnet format analyzers --serverity info Some changes have been minimally adapted. * Restore a few unused methods and variables * Silence dotnet format IDE0060 warnings * Silence dotnet format IDE0052 warnings * Address or silence dotnet format IDE1006 warnings * Address dotnet format CA1816 warnings * Address or silence dotnet format CA2208 warnings * Address or silence dotnet format CA1806 and a few CA1854 warnings * Address dotnet format CA2211 warnings * Address dotnet format CA1822 warnings * Address or silence dotnet format CA1069 warnings * Make dotnet format succeed in style mode * Address or silence dotnet format CA2211 warnings * Address review comments * Address dotnet format CA2208 warnings properly * Make ProcessResult readonly * Address most dotnet format whitespace warnings * Apply dotnet format whitespace formatting A few of them have been manually reverted and the corresponding warning was silenced * Add previously silenced warnings back I have no clue how these disappeared * Revert formatting changes for while and for-loops * Format if-blocks correctly * Run dotnet format style after rebase * Run dotnet format whitespace after rebase * Run dotnet format style after rebase * Run dotnet format analyzers after rebase * Run dotnet format after rebase and remove unused usings - analyzers - style - whitespace * Disable 'prefer switch expression' rule * Add comments to disabled warnings * Fix a few disabled warnings * Fix naming rule violation, Convert shader properties to auto-property and convert values to const * Simplify properties and array initialization, Use const when possible, Remove trailing commas * Start working on disabled warnings * Fix and silence a few dotnet-format warnings again * Run dotnet format after rebase * Use using declaration instead of block syntax * Address IDE0251 warnings * Address a few disabled IDE0060 warnings * Silence IDE0060 in .editorconfig * Revert "Simplify properties and array initialization, Use const when possible, Remove trailing commas" This reverts commit 9462e4136c0a2100dc28b20cf9542e06790aa67e. * dotnet format whitespace after rebase * First dotnet format pass * Fix naming rule violations * Fix typo * Add trailing commas, use targeted new and use array initializer * Fix build issues * Fix remaining build issues * Remove SuppressMessage for CA1069 where possible * Address dotnet format issues * Address formatting issues Co-authored-by: Ac_K <acoustik666@gmail.com> * Add GetHashCode implementation for RenderingSurfaceInfo * Explicitly silence CA1822 for every affected method in Syscall * Address formatting issues in Demangler.cs * Address review feedback Co-authored-by: Ac_K <acoustik666@gmail.com> * Revert marking service methods as static * Next dotnet format pass * Address review feedback --------- Co-authored-by: Ac_K <acoustik666@gmail.com>
This commit is contained in:
parent
fec8291c17
commit
326749498b
1015 changed files with 8173 additions and 7615 deletions
|
@ -18,7 +18,6 @@ using static Ryujinx.HLE.Utilities.StringUtils;
|
|||
using GameCardHandle = System.UInt32;
|
||||
using IFileSystem = LibHac.FsSrv.Sf.IFileSystem;
|
||||
using IStorage = LibHac.FsSrv.Sf.IStorage;
|
||||
using RightsId = LibHac.Fs.RightsId;
|
||||
|
||||
namespace Ryujinx.HLE.HOS.Services.Fs
|
||||
{
|
||||
|
@ -48,14 +47,16 @@ namespace Ryujinx.HLE.HOS.Services.Fs
|
|||
// -> object<nn::fssrv::sf::IFileSystem> contentFs
|
||||
public ResultCode OpenFileSystemWithId(ServiceCtx context)
|
||||
{
|
||||
#pragma warning disable IDE0059 // Remove unnecessary value assignment
|
||||
FileSystemType fileSystemType = (FileSystemType)context.RequestData.ReadInt32();
|
||||
ulong titleId = context.RequestData.ReadUInt64();
|
||||
#pragma warning restore IDE0059
|
||||
string switchPath = ReadUtf8String(context);
|
||||
string fullPath = context.Device.FileSystem.SwitchPathToSystemPath(switchPath);
|
||||
string fullPath = FileSystem.VirtualFileSystem.SwitchPathToSystemPath(switchPath);
|
||||
|
||||
if (!File.Exists(fullPath))
|
||||
{
|
||||
if (fullPath.Contains("."))
|
||||
if (fullPath.Contains('.'))
|
||||
{
|
||||
ResultCode result = FileSystemProxyHelper.OpenFileSystemFromInternalFile(context, fullPath, out FileSystemProxy.IFileSystem fileSystem);
|
||||
|
||||
|
@ -70,7 +71,7 @@ namespace Ryujinx.HLE.HOS.Services.Fs
|
|||
return ResultCode.PathDoesNotExist;
|
||||
}
|
||||
|
||||
FileStream fileStream = new FileStream(fullPath, FileMode.Open, FileAccess.Read);
|
||||
FileStream fileStream = new(fullPath, FileMode.Open, FileAccess.Read);
|
||||
string extension = System.IO.Path.GetExtension(fullPath);
|
||||
|
||||
if (extension == ".nca")
|
||||
|
@ -109,7 +110,10 @@ namespace Ryujinx.HLE.HOS.Services.Fs
|
|||
using var fileSystem = new SharedRef<IFileSystem>();
|
||||
|
||||
Result result = _baseFileSystemProxy.Get.OpenBisFileSystem(ref fileSystem.Ref, in path, bisPartitionId);
|
||||
if (result.IsFailure()) return (ResultCode)result.Value;
|
||||
if (result.IsFailure())
|
||||
{
|
||||
return (ResultCode)result.Value;
|
||||
}
|
||||
|
||||
MakeObject(context, new FileSystemProxy.IFileSystem(ref fileSystem.Ref));
|
||||
|
||||
|
@ -124,7 +128,10 @@ namespace Ryujinx.HLE.HOS.Services.Fs
|
|||
using var storage = new SharedRef<IStorage>();
|
||||
|
||||
Result result = _baseFileSystemProxy.Get.OpenBisStorage(ref storage.Ref, bisPartitionId);
|
||||
if (result.IsFailure()) return (ResultCode)result.Value;
|
||||
if (result.IsFailure())
|
||||
{
|
||||
return (ResultCode)result.Value;
|
||||
}
|
||||
|
||||
MakeObject(context, new FileSystemProxy.IStorage(ref storage.Ref));
|
||||
|
||||
|
@ -145,7 +152,10 @@ namespace Ryujinx.HLE.HOS.Services.Fs
|
|||
using var fileSystem = new SharedRef<IFileSystem>();
|
||||
|
||||
Result result = _baseFileSystemProxy.Get.OpenSdCardFileSystem(ref fileSystem.Ref);
|
||||
if (result.IsFailure()) return (ResultCode)result.Value;
|
||||
if (result.IsFailure())
|
||||
{
|
||||
return (ResultCode)result.Value;
|
||||
}
|
||||
|
||||
MakeObject(context, new FileSystemProxy.IFileSystem(ref fileSystem.Ref));
|
||||
|
||||
|
@ -221,7 +231,10 @@ namespace Ryujinx.HLE.HOS.Services.Fs
|
|||
public ResultCode IsExFatSupported(ServiceCtx context)
|
||||
{
|
||||
Result result = _baseFileSystemProxy.Get.IsExFatSupported(out bool isSupported);
|
||||
if (result.IsFailure()) return (ResultCode)result.Value;
|
||||
if (result.IsFailure())
|
||||
{
|
||||
return (ResultCode)result.Value;
|
||||
}
|
||||
|
||||
context.ResponseData.Write(isSupported);
|
||||
|
||||
|
@ -247,7 +260,10 @@ namespace Ryujinx.HLE.HOS.Services.Fs
|
|||
using var storage = new SharedRef<IStorage>();
|
||||
|
||||
Result result = _baseFileSystemProxy.Get.OpenGameCardStorage(ref storage.Ref, handle, partitionId);
|
||||
if (result.IsFailure()) return (ResultCode)result.Value;
|
||||
if (result.IsFailure())
|
||||
{
|
||||
return (ResultCode)result.Value;
|
||||
}
|
||||
|
||||
MakeObject(context, new FileSystemProxy.IStorage(ref storage.Ref));
|
||||
|
||||
|
@ -263,7 +279,10 @@ namespace Ryujinx.HLE.HOS.Services.Fs
|
|||
using var fileSystem = new SharedRef<IFileSystem>();
|
||||
|
||||
Result result = _baseFileSystemProxy.Get.OpenGameCardFileSystem(ref fileSystem.Ref, handle, partitionId);
|
||||
if (result.IsFailure()) return (ResultCode)result.Value;
|
||||
if (result.IsFailure())
|
||||
{
|
||||
return (ResultCode)result.Value;
|
||||
}
|
||||
|
||||
MakeObject(context, new FileSystemProxy.IFileSystem(ref fileSystem.Ref));
|
||||
|
||||
|
@ -298,7 +317,10 @@ namespace Ryujinx.HLE.HOS.Services.Fs
|
|||
ushort index = context.RequestData.ReadUInt16();
|
||||
|
||||
Result result = _baseFileSystemProxy.Get.GetCacheStorageSize(out long dataSize, out long journalSize, index);
|
||||
if (result.IsFailure()) return (ResultCode)result.Value;
|
||||
if (result.IsFailure())
|
||||
{
|
||||
return (ResultCode)result.Value;
|
||||
}
|
||||
|
||||
context.ResponseData.Write(dataSize);
|
||||
context.ResponseData.Write(journalSize);
|
||||
|
@ -338,7 +360,10 @@ namespace Ryujinx.HLE.HOS.Services.Fs
|
|||
using var fileSystem = new SharedRef<IFileSystem>();
|
||||
|
||||
Result result = _baseFileSystemProxy.Get.OpenSaveDataFileSystem(ref fileSystem.Ref, spaceId, in attribute);
|
||||
if (result.IsFailure()) return (ResultCode)result.Value;
|
||||
if (result.IsFailure())
|
||||
{
|
||||
return (ResultCode)result.Value;
|
||||
}
|
||||
|
||||
MakeObject(context, new FileSystemProxy.IFileSystem(ref fileSystem.Ref));
|
||||
|
||||
|
@ -354,7 +379,10 @@ namespace Ryujinx.HLE.HOS.Services.Fs
|
|||
using var fileSystem = new SharedRef<IFileSystem>();
|
||||
|
||||
Result result = _baseFileSystemProxy.Get.OpenSaveDataFileSystemBySystemSaveDataId(ref fileSystem.Ref, spaceId, in attribute);
|
||||
if (result.IsFailure()) return (ResultCode)result.Value;
|
||||
if (result.IsFailure())
|
||||
{
|
||||
return (ResultCode)result.Value;
|
||||
}
|
||||
|
||||
MakeObject(context, new FileSystemProxy.IFileSystem(ref fileSystem.Ref));
|
||||
|
||||
|
@ -370,7 +398,10 @@ namespace Ryujinx.HLE.HOS.Services.Fs
|
|||
using var fileSystem = new SharedRef<IFileSystem>();
|
||||
|
||||
Result result = _baseFileSystemProxy.Get.OpenReadOnlySaveDataFileSystem(ref fileSystem.Ref, spaceId, in attribute);
|
||||
if (result.IsFailure()) return (ResultCode)result.Value;
|
||||
if (result.IsFailure())
|
||||
{
|
||||
return (ResultCode)result.Value;
|
||||
}
|
||||
|
||||
MakeObject(context, new FileSystemProxy.IFileSystem(ref fileSystem.Ref));
|
||||
|
||||
|
@ -388,7 +419,10 @@ namespace Ryujinx.HLE.HOS.Services.Fs
|
|||
context.Memory.Read(context.Request.ReceiveBuff[0].Position, extraDataBuffer);
|
||||
|
||||
Result result = _baseFileSystemProxy.Get.ReadSaveDataFileSystemExtraDataBySaveDataSpaceId(new OutBuffer(extraDataBuffer), spaceId, saveDataId);
|
||||
if (result.IsFailure()) return (ResultCode)result.Value;
|
||||
if (result.IsFailure())
|
||||
{
|
||||
return (ResultCode)result.Value;
|
||||
}
|
||||
|
||||
context.Memory.Write(context.Request.ReceiveBuff[0].Position, extraDataBuffer);
|
||||
|
||||
|
@ -405,7 +439,10 @@ namespace Ryujinx.HLE.HOS.Services.Fs
|
|||
context.Memory.Read(context.Request.ReceiveBuff[0].Position, extraDataBuffer);
|
||||
|
||||
Result result = _baseFileSystemProxy.Get.ReadSaveDataFileSystemExtraData(new OutBuffer(extraDataBuffer), saveDataId);
|
||||
if (result.IsFailure()) return (ResultCode)result.Value;
|
||||
if (result.IsFailure())
|
||||
{
|
||||
return (ResultCode)result.Value;
|
||||
}
|
||||
|
||||
context.Memory.Write(context.Request.ReceiveBuff[0].Position, extraDataBuffer);
|
||||
|
||||
|
@ -432,7 +469,10 @@ namespace Ryujinx.HLE.HOS.Services.Fs
|
|||
using var infoReader = new SharedRef<LibHac.FsSrv.Sf.ISaveDataInfoReader>();
|
||||
|
||||
Result result = _baseFileSystemProxy.Get.OpenSaveDataInfoReader(ref infoReader.Ref);
|
||||
if (result.IsFailure()) return (ResultCode)result.Value;
|
||||
if (result.IsFailure())
|
||||
{
|
||||
return (ResultCode)result.Value;
|
||||
}
|
||||
|
||||
MakeObject(context, new ISaveDataInfoReader(ref infoReader.Ref));
|
||||
|
||||
|
@ -447,7 +487,10 @@ namespace Ryujinx.HLE.HOS.Services.Fs
|
|||
using var infoReader = new SharedRef<LibHac.FsSrv.Sf.ISaveDataInfoReader>();
|
||||
|
||||
Result result = _baseFileSystemProxy.Get.OpenSaveDataInfoReaderBySaveDataSpaceId(ref infoReader.Ref, spaceId);
|
||||
if (result.IsFailure()) return (ResultCode)result.Value;
|
||||
if (result.IsFailure())
|
||||
{
|
||||
return (ResultCode)result.Value;
|
||||
}
|
||||
|
||||
MakeObject(context, new ISaveDataInfoReader(ref infoReader.Ref));
|
||||
|
||||
|
@ -461,7 +504,10 @@ namespace Ryujinx.HLE.HOS.Services.Fs
|
|||
using var infoReader = new SharedRef<LibHac.FsSrv.Sf.ISaveDataInfoReader>();
|
||||
|
||||
Result result = _baseFileSystemProxy.Get.OpenSaveDataInfoReaderOnlyCacheStorage(ref infoReader.Ref);
|
||||
if (result.IsFailure()) return (ResultCode)result.Value;
|
||||
if (result.IsFailure())
|
||||
{
|
||||
return (ResultCode)result.Value;
|
||||
}
|
||||
|
||||
MakeObject(context, new ISaveDataInfoReader(ref infoReader.Ref));
|
||||
|
||||
|
@ -477,7 +523,10 @@ namespace Ryujinx.HLE.HOS.Services.Fs
|
|||
using var fileSystem = new SharedRef<IFileSystem>();
|
||||
|
||||
Result result = _baseFileSystemProxy.Get.OpenSaveDataInternalStorageFileSystem(ref fileSystem.Ref, spaceId, saveDataId);
|
||||
if (result.IsFailure()) return (ResultCode)result.Value;
|
||||
if (result.IsFailure())
|
||||
{
|
||||
return (ResultCode)result.Value;
|
||||
}
|
||||
|
||||
MakeObject(context, new FileSystemProxy.IFileSystem(ref fileSystem.Ref));
|
||||
|
||||
|
@ -518,14 +567,15 @@ namespace Ryujinx.HLE.HOS.Services.Fs
|
|||
ulong bufferAddress = context.Request.ReceiveBuff[0].Position;
|
||||
ulong bufferLen = context.Request.ReceiveBuff[0].Size;
|
||||
|
||||
using (var region = context.Memory.GetWritableRegion(bufferAddress, (int)bufferLen, true))
|
||||
using var region = context.Memory.GetWritableRegion(bufferAddress, (int)bufferLen, true);
|
||||
Result result = _baseFileSystemProxy.Get.FindSaveDataWithFilter(out long count, new OutBuffer(region.Memory.Span), spaceId, in filter);
|
||||
if (result.IsFailure())
|
||||
{
|
||||
Result result = _baseFileSystemProxy.Get.FindSaveDataWithFilter(out long count, new OutBuffer(region.Memory.Span), spaceId, in filter);
|
||||
if (result.IsFailure()) return (ResultCode)result.Value;
|
||||
|
||||
context.ResponseData.Write(count);
|
||||
return (ResultCode)result.Value;
|
||||
}
|
||||
|
||||
context.ResponseData.Write(count);
|
||||
|
||||
return ResultCode.Success;
|
||||
}
|
||||
|
||||
|
@ -537,7 +587,10 @@ namespace Ryujinx.HLE.HOS.Services.Fs
|
|||
using var infoReader = new SharedRef<LibHac.FsSrv.Sf.ISaveDataInfoReader>();
|
||||
|
||||
Result result = _baseFileSystemProxy.Get.OpenSaveDataInfoReaderWithFilter(ref infoReader.Ref, spaceId, in filter);
|
||||
if (result.IsFailure()) return (ResultCode)result.Value;
|
||||
if (result.IsFailure())
|
||||
{
|
||||
return (ResultCode)result.Value;
|
||||
}
|
||||
|
||||
MakeObject(context, new ISaveDataInfoReader(ref infoReader.Ref));
|
||||
|
||||
|
@ -554,7 +607,10 @@ namespace Ryujinx.HLE.HOS.Services.Fs
|
|||
context.Memory.Read(context.Request.ReceiveBuff[0].Position, outputBuffer);
|
||||
|
||||
Result result = _baseFileSystemProxy.Get.ReadSaveDataFileSystemExtraDataBySaveDataAttribute(new OutBuffer(outputBuffer), spaceId, in attribute);
|
||||
if (result.IsFailure()) return (ResultCode)result.Value;
|
||||
if (result.IsFailure())
|
||||
{
|
||||
return (ResultCode)result.Value;
|
||||
}
|
||||
|
||||
context.Memory.Write(context.Request.ReceiveBuff[0].Position, outputBuffer);
|
||||
|
||||
|
@ -589,7 +645,10 @@ namespace Ryujinx.HLE.HOS.Services.Fs
|
|||
context.Memory.Read(context.Request.ReceiveBuff[0].Position, outputBuffer);
|
||||
|
||||
Result result = _baseFileSystemProxy.Get.ReadSaveDataFileSystemExtraDataWithMaskBySaveDataAttribute(new OutBuffer(outputBuffer), spaceId, in attribute, new InBuffer(maskBuffer));
|
||||
if (result.IsFailure()) return (ResultCode)result.Value;
|
||||
if (result.IsFailure())
|
||||
{
|
||||
return (ResultCode)result.Value;
|
||||
}
|
||||
|
||||
context.Memory.Write(context.Request.ReceiveBuff[0].Position, outputBuffer);
|
||||
|
||||
|
@ -605,7 +664,10 @@ namespace Ryujinx.HLE.HOS.Services.Fs
|
|||
using var file = new SharedRef<LibHac.FsSrv.Sf.IFile>();
|
||||
|
||||
Result result = _baseFileSystemProxy.Get.OpenSaveDataMetaFile(ref file.Ref, spaceId, in attribute, metaType);
|
||||
if (result.IsFailure()) return (ResultCode)result.Value;
|
||||
if (result.IsFailure())
|
||||
{
|
||||
return (ResultCode)result.Value;
|
||||
}
|
||||
|
||||
MakeObject(context, new IFile(ref file.Ref));
|
||||
|
||||
|
@ -623,7 +685,10 @@ namespace Ryujinx.HLE.HOS.Services.Fs
|
|||
context.Memory.Read(context.Request.ReceiveBuff[0].Position, outputBuffer);
|
||||
|
||||
Result result = _baseFileSystemProxy.Get.ListAccessibleSaveDataOwnerId(out int readCount, new OutBuffer(outputBuffer), programId, startIndex, bufferCount);
|
||||
if (result.IsFailure()) return (ResultCode)result.Value;
|
||||
if (result.IsFailure())
|
||||
{
|
||||
return (ResultCode)result.Value;
|
||||
}
|
||||
|
||||
context.ResponseData.Write(readCount);
|
||||
|
||||
|
@ -637,7 +702,10 @@ namespace Ryujinx.HLE.HOS.Services.Fs
|
|||
using var fileSystem = new SharedRef<IFileSystem>();
|
||||
|
||||
Result result = _baseFileSystemProxy.Get.OpenImageDirectoryFileSystem(ref fileSystem.Ref, directoryId);
|
||||
if (result.IsFailure()) return (ResultCode)result.Value;
|
||||
if (result.IsFailure())
|
||||
{
|
||||
return (ResultCode)result.Value;
|
||||
}
|
||||
|
||||
MakeObject(context, new FileSystemProxy.IFileSystem(ref fileSystem.Ref));
|
||||
|
||||
|
@ -651,7 +719,10 @@ namespace Ryujinx.HLE.HOS.Services.Fs
|
|||
using var fileSystem = new SharedRef<IFileSystem>();
|
||||
|
||||
Result result = _baseFileSystemProxy.Get.OpenBaseFileSystem(ref fileSystem.Ref, fileSystemId);
|
||||
if (result.IsFailure()) return (ResultCode)result.Value;
|
||||
if (result.IsFailure())
|
||||
{
|
||||
return (ResultCode)result.Value;
|
||||
}
|
||||
|
||||
MakeObject(context, new FileSystemProxy.IFileSystem(ref fileSystem.Ref));
|
||||
|
||||
|
@ -665,7 +736,10 @@ namespace Ryujinx.HLE.HOS.Services.Fs
|
|||
using var fileSystem = new SharedRef<IFileSystem>();
|
||||
|
||||
Result result = _baseFileSystemProxy.Get.OpenContentStorageFileSystem(ref fileSystem.Ref, contentStorageId);
|
||||
if (result.IsFailure()) return (ResultCode)result.Value;
|
||||
if (result.IsFailure())
|
||||
{
|
||||
return (ResultCode)result.Value;
|
||||
}
|
||||
|
||||
MakeObject(context, new FileSystemProxy.IFileSystem(ref fileSystem.Ref));
|
||||
|
||||
|
@ -679,7 +753,10 @@ namespace Ryujinx.HLE.HOS.Services.Fs
|
|||
using var fileSystem = new SharedRef<IFileSystem>();
|
||||
|
||||
Result result = _baseFileSystemProxy.Get.OpenCloudBackupWorkStorageFileSystem(ref fileSystem.Ref, storageId);
|
||||
if (result.IsFailure()) return (ResultCode)result.Value;
|
||||
if (result.IsFailure())
|
||||
{
|
||||
return (ResultCode)result.Value;
|
||||
}
|
||||
|
||||
MakeObject(context, new FileSystemProxy.IFileSystem(ref fileSystem.Ref));
|
||||
|
||||
|
@ -693,7 +770,10 @@ namespace Ryujinx.HLE.HOS.Services.Fs
|
|||
using var fileSystem = new SharedRef<IFileSystem>();
|
||||
|
||||
Result result = _baseFileSystemProxy.Get.OpenCustomStorageFileSystem(ref fileSystem.Ref, customStorageId);
|
||||
if (result.IsFailure()) return (ResultCode)result.Value;
|
||||
if (result.IsFailure())
|
||||
{
|
||||
return (ResultCode)result.Value;
|
||||
}
|
||||
|
||||
MakeObject(context, new FileSystemProxy.IFileSystem(ref fileSystem.Ref));
|
||||
|
||||
|
@ -718,7 +798,9 @@ namespace Ryujinx.HLE.HOS.Services.Fs
|
|||
public ResultCode OpenDataStorageByDataId(ServiceCtx context)
|
||||
{
|
||||
StorageId storageId = (StorageId)context.RequestData.ReadByte();
|
||||
#pragma warning disable IDE0059 // Remove unnecessary value assignment
|
||||
byte[] padding = context.RequestData.ReadBytes(7);
|
||||
#pragma warning restore IDE0059
|
||||
ulong titleId = context.RequestData.ReadUInt64();
|
||||
|
||||
// We do a mitm here to find if the request is for an AOC.
|
||||
|
@ -750,7 +832,7 @@ namespace Ryujinx.HLE.HOS.Services.Fs
|
|||
if (installedStorage != StorageId.None)
|
||||
{
|
||||
string contentPath = context.Device.System.ContentManager.GetInstalledContentPath(titleId, storageId, contentType);
|
||||
string installPath = context.Device.FileSystem.SwitchPathToSystemPath(contentPath);
|
||||
string installPath = FileSystem.VirtualFileSystem.SwitchPathToSystemPath(contentPath);
|
||||
|
||||
if (!string.IsNullOrWhiteSpace(installPath))
|
||||
{
|
||||
|
@ -761,7 +843,7 @@ namespace Ryujinx.HLE.HOS.Services.Fs
|
|||
try
|
||||
{
|
||||
LibHac.Fs.IStorage ncaStorage = new LocalStorage(ncaPath, FileAccess.Read, FileMode.Open);
|
||||
Nca nca = new Nca(context.Device.System.KeySet, ncaStorage);
|
||||
Nca nca = new(context.Device.System.KeySet, ncaStorage);
|
||||
LibHac.Fs.IStorage romfsStorage = nca.OpenStorage(NcaSectionType.Data, context.Device.System.FsIntegrityCheckLevel);
|
||||
using var sharedStorage = new SharedRef<LibHac.Fs.IStorage>(romfsStorage);
|
||||
using var sfStorage = new SharedRef<IStorage>(new StorageInterfaceAdapter(ref sharedStorage.Ref));
|
||||
|
@ -829,7 +911,10 @@ namespace Ryujinx.HLE.HOS.Services.Fs
|
|||
using var deviceOperator = new SharedRef<LibHac.FsSrv.Sf.IDeviceOperator>();
|
||||
|
||||
Result result = _baseFileSystemProxy.Get.OpenDeviceOperator(ref deviceOperator.Ref);
|
||||
if (result.IsFailure()) return (ResultCode)result.Value;
|
||||
if (result.IsFailure())
|
||||
{
|
||||
return (ResultCode)result.Value;
|
||||
}
|
||||
|
||||
MakeObject(context, new IDeviceOperator(ref deviceOperator.Ref));
|
||||
|
||||
|
@ -843,7 +928,10 @@ namespace Ryujinx.HLE.HOS.Services.Fs
|
|||
long journalSize = context.RequestData.ReadInt64();
|
||||
|
||||
Result result = _baseFileSystemProxy.Get.QuerySaveDataTotalSize(out long totalSize, dataSize, journalSize);
|
||||
if (result.IsFailure()) return (ResultCode)result.Value;
|
||||
if (result.IsFailure())
|
||||
{
|
||||
return (ResultCode)result.Value;
|
||||
}
|
||||
|
||||
context.ResponseData.Write(totalSize);
|
||||
|
||||
|
@ -907,7 +995,10 @@ namespace Ryujinx.HLE.HOS.Services.Fs
|
|||
ProgramId programId = context.RequestData.ReadStruct<ProgramId>();
|
||||
|
||||
Result result = _baseFileSystemProxy.Get.GetRightsId(out RightsId rightsId, programId, storageId);
|
||||
if (result.IsFailure()) return (ResultCode)result.Value;
|
||||
if (result.IsFailure())
|
||||
{
|
||||
return (ResultCode)result.Value;
|
||||
}
|
||||
|
||||
context.ResponseData.WriteStruct(rightsId);
|
||||
|
||||
|
@ -935,7 +1026,10 @@ namespace Ryujinx.HLE.HOS.Services.Fs
|
|||
ref readonly var path = ref FileSystemProxyHelper.GetFspPath(context);
|
||||
|
||||
Result result = _baseFileSystemProxy.Get.GetRightsIdByPath(out RightsId rightsId, in path);
|
||||
if (result.IsFailure()) return (ResultCode)result.Value;
|
||||
if (result.IsFailure())
|
||||
{
|
||||
return (ResultCode)result.Value;
|
||||
}
|
||||
|
||||
context.ResponseData.WriteStruct(rightsId);
|
||||
|
||||
|
@ -948,7 +1042,10 @@ namespace Ryujinx.HLE.HOS.Services.Fs
|
|||
ref readonly var path = ref FileSystemProxyHelper.GetFspPath(context);
|
||||
|
||||
Result result = _baseFileSystemProxy.Get.GetRightsIdAndKeyGenerationByPath(out RightsId rightsId, out byte keyGeneration, in path);
|
||||
if (result.IsFailure()) return (ResultCode)result.Value;
|
||||
if (result.IsFailure())
|
||||
{
|
||||
return (ResultCode)result.Value;
|
||||
}
|
||||
|
||||
context.ResponseData.Write(keyGeneration);
|
||||
context.ResponseData.BaseStream.Seek(7, SeekOrigin.Current);
|
||||
|
@ -973,7 +1070,10 @@ namespace Ryujinx.HLE.HOS.Services.Fs
|
|||
SaveDataSpaceId spaceId = context.RequestData.ReadStruct<SaveDataSpaceId>();
|
||||
|
||||
Result result = _baseFileSystemProxy.Get.GetFreeSpaceSizeForSaveData(out long freeSpaceSize, spaceId);
|
||||
if (result.IsFailure()) return (ResultCode)result.Value;
|
||||
if (result.IsFailure())
|
||||
{
|
||||
return (ResultCode)result.Value;
|
||||
}
|
||||
|
||||
context.ResponseData.Write(freeSpaceSize);
|
||||
|
||||
|
@ -1008,7 +1108,10 @@ namespace Ryujinx.HLE.HOS.Services.Fs
|
|||
ulong saveDataId = context.RequestData.ReadUInt64();
|
||||
|
||||
Result result = _baseFileSystemProxy.Get.QuerySaveDataInternalStorageTotalSize(out long size, spaceId, saveDataId);
|
||||
if (result.IsFailure()) return (ResultCode)result.Value;
|
||||
if (result.IsFailure())
|
||||
{
|
||||
return (ResultCode)result.Value;
|
||||
}
|
||||
|
||||
context.ResponseData.Write(size);
|
||||
|
||||
|
@ -1022,7 +1125,10 @@ namespace Ryujinx.HLE.HOS.Services.Fs
|
|||
ulong saveDataId = context.RequestData.ReadUInt64();
|
||||
|
||||
Result result = _baseFileSystemProxy.Get.GetSaveDataCommitId(out long commitId, spaceId, saveDataId);
|
||||
if (result.IsFailure()) return (ResultCode)result.Value;
|
||||
if (result.IsFailure())
|
||||
{
|
||||
return (ResultCode)result.Value;
|
||||
}
|
||||
|
||||
context.ResponseData.Write(commitId);
|
||||
|
||||
|
@ -1059,7 +1165,10 @@ namespace Ryujinx.HLE.HOS.Services.Fs
|
|||
public ResultCode IsSdCardAccessible(ServiceCtx context)
|
||||
{
|
||||
Result result = _baseFileSystemProxy.Get.IsSdCardAccessible(out bool isAccessible);
|
||||
if (result.IsFailure()) return (ResultCode)result.Value;
|
||||
if (result.IsFailure())
|
||||
{
|
||||
return (ResultCode)result.Value;
|
||||
}
|
||||
|
||||
context.ResponseData.Write(isAccessible);
|
||||
|
||||
|
@ -1072,7 +1181,10 @@ namespace Ryujinx.HLE.HOS.Services.Fs
|
|||
ulong processId = context.RequestData.ReadUInt64();
|
||||
|
||||
Result result = _baseFileSystemProxy.Get.IsAccessFailureDetected(out bool isDetected, processId);
|
||||
if (result.IsFailure()) return (ResultCode)result.Value;
|
||||
if (result.IsFailure())
|
||||
{
|
||||
return (ResultCode)result.Value;
|
||||
}
|
||||
|
||||
context.ResponseData.Write(isDetected);
|
||||
|
||||
|
@ -1099,7 +1211,10 @@ namespace Ryujinx.HLE.HOS.Services.Fs
|
|||
public ResultCode GetAndClearErrorInfo(ServiceCtx context)
|
||||
{
|
||||
Result result = _baseFileSystemProxy.Get.GetAndClearErrorInfo(out FileSystemProxyErrorInfo errorInfo);
|
||||
if (result.IsFailure()) return (ResultCode)result.Value;
|
||||
if (result.IsFailure())
|
||||
{
|
||||
return (ResultCode)result.Value;
|
||||
}
|
||||
|
||||
context.ResponseData.WriteStruct(errorInfo);
|
||||
|
||||
|
@ -1195,7 +1310,10 @@ namespace Ryujinx.HLE.HOS.Services.Fs
|
|||
using var fileSystem = new SharedRef<IFileSystem>();
|
||||
|
||||
Result result = _baseFileSystemProxy.Get.OpenRegisteredUpdatePartition(ref fileSystem.Ref);
|
||||
if (result.IsFailure()) return (ResultCode)result.Value;
|
||||
if (result.IsFailure())
|
||||
{
|
||||
return (ResultCode)result.Value;
|
||||
}
|
||||
|
||||
MakeObject(context, new FileSystemProxy.IFileSystem(ref fileSystem.Ref));
|
||||
|
||||
|
@ -1206,7 +1324,10 @@ namespace Ryujinx.HLE.HOS.Services.Fs
|
|||
public ResultCode GetAndClearMemoryReportInfo(ServiceCtx context)
|
||||
{
|
||||
Result result = _baseFileSystemProxy.Get.GetAndClearMemoryReportInfo(out MemoryReportInfo reportInfo);
|
||||
if (result.IsFailure()) return (ResultCode)result.Value;
|
||||
if (result.IsFailure())
|
||||
{
|
||||
return (ResultCode)result.Value;
|
||||
}
|
||||
|
||||
context.ResponseData.WriteStruct(reportInfo);
|
||||
|
||||
|
@ -1217,7 +1338,10 @@ namespace Ryujinx.HLE.HOS.Services.Fs
|
|||
public ResultCode GetProgramIndexForAccessLog(ServiceCtx context)
|
||||
{
|
||||
Result result = _baseFileSystemProxy.Get.GetProgramIndexForAccessLog(out int programIndex, out int programCount);
|
||||
if (result.IsFailure()) return (ResultCode)result.Value;
|
||||
if (result.IsFailure())
|
||||
{
|
||||
return (ResultCode)result.Value;
|
||||
}
|
||||
|
||||
context.ResponseData.Write(programIndex);
|
||||
context.ResponseData.Write(programCount);
|
||||
|
@ -1231,7 +1355,10 @@ namespace Ryujinx.HLE.HOS.Services.Fs
|
|||
FsStackUsageThreadType threadType = context.RequestData.ReadStruct<FsStackUsageThreadType>();
|
||||
|
||||
Result result = _baseFileSystemProxy.Get.GetFsStackUsage(out uint usage, threadType);
|
||||
if (result.IsFailure()) return (ResultCode)result.Value;
|
||||
if (result.IsFailure())
|
||||
{
|
||||
return (ResultCode)result.Value;
|
||||
}
|
||||
|
||||
context.ResponseData.Write(usage);
|
||||
|
||||
|
@ -1290,7 +1417,10 @@ namespace Ryujinx.HLE.HOS.Services.Fs
|
|||
using var commitManager = new SharedRef<LibHac.FsSrv.Sf.IMultiCommitManager>();
|
||||
|
||||
Result result = _baseFileSystemProxy.Get.OpenMultiCommitManager(ref commitManager.Ref);
|
||||
if (result.IsFailure()) return (ResultCode)result.Value;
|
||||
if (result.IsFailure())
|
||||
{
|
||||
return (ResultCode)result.Value;
|
||||
}
|
||||
|
||||
MakeObject(context, new IMultiCommitManager(ref commitManager.Ref));
|
||||
|
||||
|
@ -1305,4 +1435,4 @@ namespace Ryujinx.HLE.HOS.Services.Fs
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue