From 12650abd1af1285d745daeba10336e58eb3837b5 Mon Sep 17 00:00:00 2001 From: emmaus Date: Thu, 30 Aug 2018 21:54:11 +0000 Subject: [PATCH] made saveinfo readonly, other stuff --- Ryujinx.HLE/FileSystem/Save.cs | 14 ----------- Ryujinx.HLE/FileSystem/SaveInfo.cs | 24 +++++++++++++++++++ Ryujinx.HLE/FileSystem/VirtualFileSystem.cs | 13 +++++----- Ryujinx.HLE/HOS/Horizon.cs | 2 +- .../HOS/Services/FspSrv/IFileSystemProxy.cs | 11 +-------- 5 files changed, 33 insertions(+), 31 deletions(-) delete mode 100644 Ryujinx.HLE/FileSystem/Save.cs create mode 100644 Ryujinx.HLE/FileSystem/SaveInfo.cs diff --git a/Ryujinx.HLE/FileSystem/Save.cs b/Ryujinx.HLE/FileSystem/Save.cs deleted file mode 100644 index 5f89368092..0000000000 --- a/Ryujinx.HLE/FileSystem/Save.cs +++ /dev/null @@ -1,14 +0,0 @@ -using Ryujinx.HLE.HOS.SystemState; - -namespace Ryujinx.HLE.FileSystem -{ - struct SaveInfo - { - public long TitleId { get; set; } - public long SaveID { get; set; } - public UserId UserID { get; set; } - - public SaveDataType SaveDataType { get; set; } - public SaveSpaceId SaveSpaceId { get; set; } - } -} diff --git a/Ryujinx.HLE/FileSystem/SaveInfo.cs b/Ryujinx.HLE/FileSystem/SaveInfo.cs new file mode 100644 index 0000000000..bc8edad604 --- /dev/null +++ b/Ryujinx.HLE/FileSystem/SaveInfo.cs @@ -0,0 +1,24 @@ +using Ryujinx.HLE.HOS; +using Ryujinx.HLE.HOS.SystemState; + +namespace Ryujinx.HLE.FileSystem +{ + struct SaveInfo + { + public long TitleId { get; private set; } + public long SaveID { get; private set; } + public UserId UserID { get; private set; } + + public SaveDataType SaveDataType { get; private set; } + public SaveSpaceId SaveSpaceId { get; private set; } + + public SaveInfo(ServiceCtx Context, SaveSpaceId SaveSpaceId) + { + TitleId = Context.RequestData.ReadInt64(); + UserID = new UserId(Context.RequestData.ReadInt64(), Context.RequestData.ReadInt64()); + SaveID = Context.RequestData.ReadInt64(); + SaveDataType = (SaveDataType)Context.RequestData.ReadByte(); + this.SaveSpaceId = SaveSpaceId; + } + } +} diff --git a/Ryujinx.HLE/FileSystem/VirtualFileSystem.cs b/Ryujinx.HLE/FileSystem/VirtualFileSystem.cs index 2b7a7e16b6..83d641c807 100644 --- a/Ryujinx.HLE/FileSystem/VirtualFileSystem.cs +++ b/Ryujinx.HLE/FileSystem/VirtualFileSystem.cs @@ -6,12 +6,13 @@ namespace Ryujinx.HLE.FileSystem { class VirtualFileSystem : IDisposable { - public const string BasePath = "RyuFs"; - public const string NandPath = "nand"; - public const string SdCardPath = "sdmc"; - public const string SystemPath = "system"; - public const string SystemNandPath = "nand/system"; - public const string UserNandPath = "nand/user"; + public const string BasePath = "RyuFs"; + public const string NandPath = "nand"; + public const string SdCardPath = "sdmc"; + public const string SystemPath = "system"; + + public static string SystemNandPath = Path.Combine("nand", "system"); + public static string UserNandPath = Path.Combine("nand", "user"); public Stream RomFs { get; private set; } diff --git a/Ryujinx.HLE/HOS/Horizon.cs b/Ryujinx.HLE/HOS/Horizon.cs index 06f04f3be4..2e216cdf18 100644 --- a/Ryujinx.HLE/HOS/Horizon.cs +++ b/Ryujinx.HLE/HOS/Horizon.cs @@ -109,7 +109,7 @@ namespace Ryujinx.HLE.HOS } } - if ((MainProcess.MetaData?.Is64Bits).HasValue && !MainProcess.MetaData.Is64Bits) + if (!(MainProcess.MetaData?.Is64Bits ?? true)) { throw new NotImplementedException("32-bit titles are unsupported!"); } diff --git a/Ryujinx.HLE/HOS/Services/FspSrv/IFileSystemProxy.cs b/Ryujinx.HLE/HOS/Services/FspSrv/IFileSystemProxy.cs index 6626305e82..71091f1a00 100644 --- a/Ryujinx.HLE/HOS/Services/FspSrv/IFileSystemProxy.cs +++ b/Ryujinx.HLE/HOS/Services/FspSrv/IFileSystemProxy.cs @@ -76,16 +76,7 @@ namespace Ryujinx.HLE.HOS.Services.FspSrv { SaveSpaceId SaveSpaceId = (SaveSpaceId)Context.RequestData.ReadInt64(); - SaveInfo SaveInfo = new SaveInfo() - { - TitleId = Context.RequestData.ReadInt64(), - UserID = new UserId(Context.RequestData.ReadInt64(), - Context.RequestData.ReadInt64()), - SaveID = Context.RequestData.ReadInt64(), - SaveDataType = (SaveDataType)Context.RequestData.ReadByte() - }; - - SaveInfo.SaveSpaceId = SaveSpaceId; + SaveInfo SaveInfo = new SaveInfo(Context, SaveSpaceId); MakeObject(Context, new IFileSystem(Context.Device.FileSystem.GetGameSavePath(SaveInfo, Context))); }