aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Ryujinx.HLE/FileSystem/Content/ContentPath.cs19
-rw-r--r--Ryujinx.HLE/FileSystem/Content/LocationHelper.cs91
-rw-r--r--Ryujinx.HLE/FileSystem/Content/StorageId.cs9
-rw-r--r--Ryujinx.HLE/FileSystem/Content/TitleType.cs15
-rw-r--r--Ryujinx.HLE/FileSystem/ContentManager.cs (renamed from Ryujinx.HLE/FileSystem/Content/ContentManager.cs)19
-rw-r--r--Ryujinx.HLE/FileSystem/ContentPath.cs82
-rw-r--r--Ryujinx.HLE/FileSystem/EncryptedFileSystemCreator.cs5
-rw-r--r--Ryujinx.HLE/FileSystem/LocationEntry.cs (renamed from Ryujinx.HLE/FileSystem/Content/LocationEntry.cs)2
-rw-r--r--Ryujinx.HLE/FileSystem/SaveDataType.cs12
-rw-r--r--Ryujinx.HLE/FileSystem/SaveInfo.cs27
-rw-r--r--Ryujinx.HLE/FileSystem/SaveSpaceId.cs10
-rw-r--r--Ryujinx.HLE/FileSystem/StorageId.cs12
-rw-r--r--Ryujinx.HLE/FileSystem/SystemVersion.cs (renamed from Ryujinx.HLE/FileSystem/Content/SystemVersion.cs)3
-rw-r--r--Ryujinx.HLE/FileSystem/VirtualFileSystem.cs88
-rw-r--r--Ryujinx.HLE/HLEConfiguration.cs1
-rw-r--r--Ryujinx.HLE/HOS/Applets/Error/ErrorApplet.cs4
-rw-r--r--Ryujinx.HLE/HOS/Horizon.cs5
-rw-r--r--Ryujinx.HLE/HOS/Services/Arp/ApplicationLaunchProperty.cs6
-rw-r--r--Ryujinx.HLE/HOS/Services/Fs/IFileSystemProxy.cs2
-rw-r--r--Ryujinx.HLE/HOS/Services/Hid/Hid.cs4
-rw-r--r--Ryujinx.HLE/HOS/Services/Ncm/Lr/ILocationResolverManager.cs2
-rw-r--r--Ryujinx.HLE/HOS/Services/Ncm/Lr/LocationResolverManager/ILocationResolver.cs2
-rw-r--r--Ryujinx.HLE/HOS/Services/Nim/IShopServiceAccessServerInterface.cs4
-rw-r--r--Ryujinx.HLE/HOS/Services/Sdb/Pl/SharedFontManager.cs4
-rw-r--r--Ryujinx.HLE/HOS/Services/Settings/ISystemSettingsServer.cs4
-rw-r--r--Ryujinx.HLE/HOS/Services/Spl/IGeneralInterface.cs3
-rw-r--r--Ryujinx.HLE/HOS/Services/Ssl/BuiltInCertificateManager.cs4
-rw-r--r--Ryujinx.HLE/HOS/Services/Time/TimeZone/TimeZoneContentManager.cs4
-rw-r--r--Ryujinx.HLE/Switch.cs87
-rw-r--r--Ryujinx.Headless.SDL2/Program.cs2
-rw-r--r--Ryujinx/Ui/Helper/SetupValidator.cs2
-rw-r--r--Ryujinx/Ui/MainWindow.cs22
-rw-r--r--Ryujinx/Ui/Windows/AvatarWindow.cs4
-rw-r--r--Ryujinx/Ui/Windows/SettingsWindow.cs4
-rw-r--r--Ryujinx/Ui/Windows/UserProfilesManagerWindow.cs3
35 files changed, 193 insertions, 374 deletions
diff --git a/Ryujinx.HLE/FileSystem/Content/ContentPath.cs b/Ryujinx.HLE/FileSystem/Content/ContentPath.cs
deleted file mode 100644
index 1e2c8ab3..00000000
--- a/Ryujinx.HLE/FileSystem/Content/ContentPath.cs
+++ /dev/null
@@ -1,19 +0,0 @@
-namespace Ryujinx.HLE.FileSystem.Content
-{
- static class ContentPath
- {
- public const string SystemContent = "@SystemContent";
- public const string UserContent = "@UserContent";
- public const string SdCardContent = "@SdCardContent";
- public const string SdCard = "@SdCard";
- public const string CalibFile = "@CalibFile";
- public const string Safe = "@Safe";
- public const string User = "@User";
- public const string System = "@System";
- public const string Host = "@Host";
- public const string GamecardApp = "@GcApp";
- public const string GamecardContents = "@GcS00000001";
- public const string GamecardUpdate = "@upp";
- public const string RegisteredUpdate = "@RegUpdate";
- }
-} \ No newline at end of file
diff --git a/Ryujinx.HLE/FileSystem/Content/LocationHelper.cs b/Ryujinx.HLE/FileSystem/Content/LocationHelper.cs
deleted file mode 100644
index c522b053..00000000
--- a/Ryujinx.HLE/FileSystem/Content/LocationHelper.cs
+++ /dev/null
@@ -1,91 +0,0 @@
-using System;
-using System.IO;
-
-using static Ryujinx.HLE.FileSystem.VirtualFileSystem;
-
-namespace Ryujinx.HLE.FileSystem.Content
-{
- internal static class LocationHelper
- {
- public static string GetRealPath(VirtualFileSystem fileSystem, string switchContentPath)
- {
- string basePath = fileSystem.GetBasePath();
-
- switch (switchContentPath)
- {
- case ContentPath.SystemContent:
- return Path.Combine(basePath, SystemNandPath, "Contents");
- case ContentPath.UserContent:
- return Path.Combine(basePath, UserNandPath, "Contents");
- case ContentPath.SdCardContent:
- return Path.Combine(fileSystem.GetSdCardPath(), "Nintendo", "Contents");
- case ContentPath.System:
- return Path.Combine(basePath, SystemNandPath);
- case ContentPath.User:
- return Path.Combine(basePath, UserNandPath);
- default:
- throw new NotSupportedException($"Content Path `{switchContentPath}` is not supported.");
- }
- }
-
- public static string GetContentPath(ContentStorageId contentStorageId)
- {
- switch (contentStorageId)
- {
- case ContentStorageId.NandSystem:
- return ContentPath.SystemContent;
- case ContentStorageId.NandUser:
- return ContentPath.UserContent;
- case ContentStorageId.SdCard:
- return ContentPath.SdCardContent;
- default:
- throw new NotSupportedException($"Content Storage `{contentStorageId}` is not supported.");
- }
- }
-
- public static string GetContentRoot(StorageId storageId)
- {
- switch (storageId)
- {
- case StorageId.NandSystem:
- return ContentPath.SystemContent;
- case StorageId.NandUser:
- return ContentPath.UserContent;
- case StorageId.SdCard:
- return ContentPath.SdCardContent;
- default:
- throw new NotSupportedException($"Storage Id `{storageId}` is not supported.");
- }
- }
-
- public static StorageId GetStorageId(string contentPathString)
- {
- string cleanedPath = contentPathString.Split(':')[0];
-
- switch (cleanedPath)
- {
- case ContentPath.SystemContent:
- case ContentPath.System:
- return StorageId.NandSystem;
-
- case ContentPath.UserContent:
- case ContentPath.User:
- return StorageId.NandUser;
-
- case ContentPath.SdCardContent:
- return StorageId.SdCard;
-
- case ContentPath.Host:
- return StorageId.Host;
-
- case ContentPath.GamecardApp:
- case ContentPath.GamecardContents:
- case ContentPath.GamecardUpdate:
- return StorageId.GameCard;
-
- default:
- return StorageId.None;
- }
- }
- }
-}
diff --git a/Ryujinx.HLE/FileSystem/Content/StorageId.cs b/Ryujinx.HLE/FileSystem/Content/StorageId.cs
deleted file mode 100644
index 4ff3dd65..00000000
--- a/Ryujinx.HLE/FileSystem/Content/StorageId.cs
+++ /dev/null
@@ -1,9 +0,0 @@
-namespace Ryujinx.HLE.FileSystem.Content
-{
- public enum ContentStorageId
- {
- NandSystem,
- NandUser,
- SdCard
- }
-}
diff --git a/Ryujinx.HLE/FileSystem/Content/TitleType.cs b/Ryujinx.HLE/FileSystem/Content/TitleType.cs
deleted file mode 100644
index 6ad26c9c..00000000
--- a/Ryujinx.HLE/FileSystem/Content/TitleType.cs
+++ /dev/null
@@ -1,15 +0,0 @@
-namespace Ryujinx.HLE.FileSystem.Content
-{
- enum TitleType
- {
- SystemPrograms = 0x01,
- SystemDataArchive = 0x02,
- SystemUpdate = 0x03,
- FirmwarePackageA = 0x04,
- FirmwarePackageB = 0x05,
- RegularApplication = 0x80,
- Update = 0x81,
- AddOnContent = 0x82,
- DeltaTitle = 0x83
- }
-}
diff --git a/Ryujinx.HLE/FileSystem/Content/ContentManager.cs b/Ryujinx.HLE/FileSystem/ContentManager.cs
index 8ac31a4c..2544cdda 100644
--- a/Ryujinx.HLE/FileSystem/Content/ContentManager.cs
+++ b/Ryujinx.HLE/FileSystem/ContentManager.cs
@@ -20,7 +20,7 @@ using System.IO.Compression;
using System.Linq;
using Path = System.IO.Path;
-namespace Ryujinx.HLE.FileSystem.Content
+namespace Ryujinx.HLE.FileSystem
{
public class ContentManager
{
@@ -110,8 +110,8 @@ namespace Ryujinx.HLE.FileSystem.Content
try
{
- contentPathString = LocationHelper.GetContentRoot(storageId);
- contentDirectory = LocationHelper.GetRealPath(_virtualFileSystem, contentPathString);
+ contentPathString = ContentPath.GetContentPath(storageId);
+ contentDirectory = ContentPath.GetRealPath(_virtualFileSystem, contentPathString);
registeredDirectory = Path.Combine(contentDirectory, "registered");
}
catch (NotSupportedException)
@@ -367,8 +367,7 @@ namespace Ryujinx.HLE.FileSystem.Content
{
LocationEntry locationEntry = GetLocation(titleId, contentType, storageId);
- return locationEntry.ContentPath != null ?
- LocationHelper.GetStorageId(locationEntry.ContentPath) : StorageId.None;
+ return locationEntry.ContentPath != null ? ContentPath.GetStorageId(locationEntry.ContentPath) : StorageId.None;
}
}
@@ -493,8 +492,8 @@ namespace Ryujinx.HLE.FileSystem.Content
public void InstallFirmware(string firmwareSource)
{
- string contentPathString = LocationHelper.GetContentRoot(StorageId.NandSystem);
- string contentDirectory = LocationHelper.GetRealPath(_virtualFileSystem, contentPathString);
+ string contentPathString = ContentPath.GetContentPath(StorageId.BuiltInSystem);
+ string contentDirectory = ContentPath.GetRealPath(_virtualFileSystem, contentPathString);
string registeredDirectory = Path.Combine(contentDirectory, "registered");
string temporaryDirectory = Path.Combine(contentDirectory, "temp");
@@ -998,9 +997,9 @@ namespace Ryujinx.HLE.FileSystem.Content
foreach (var entry in updateNcas)
{
- foreach (var nca in entry.Value)
+ foreach (var (type, path) in entry.Value)
{
- extraNcas += nca.path + Environment.NewLine;
+ extraNcas += path + Environment.NewLine;
}
}
@@ -1019,7 +1018,7 @@ namespace Ryujinx.HLE.FileSystem.Content
lock (_lock)
{
- var locationEnties = _locationEntries[StorageId.NandSystem];
+ var locationEnties = _locationEntries[StorageId.BuiltInSystem];
foreach (var entry in locationEnties)
{
diff --git a/Ryujinx.HLE/FileSystem/ContentPath.cs b/Ryujinx.HLE/FileSystem/ContentPath.cs
new file mode 100644
index 00000000..c8663081
--- /dev/null
+++ b/Ryujinx.HLE/FileSystem/ContentPath.cs
@@ -0,0 +1,82 @@
+using LibHac.Fs;
+using LibHac.Ncm;
+using Ryujinx.Common.Configuration;
+using System;
+
+using static Ryujinx.HLE.FileSystem.VirtualFileSystem;
+using Path = System.IO.Path;
+
+namespace Ryujinx.HLE.FileSystem
+{
+ internal static class ContentPath
+ {
+ public const string SystemContent = "@SystemContent";
+ public const string UserContent = "@UserContent";
+ public const string SdCardContent = "@SdCardContent";
+ public const string SdCard = "@Sdcard";
+ public const string CalibFile = "@CalibFile";
+ public const string Safe = "@Safe";
+ public const string User = "@User";
+ public const string System = "@System";
+ public const string Host = "@Host";
+ public const string GamecardApp = "@GcApp";
+ public const string GamecardContents = "@GcS00000001";
+ public const string GamecardUpdate = "@upp";
+ public const string RegisteredUpdate = "@RegUpdate";
+
+ public const string Nintendo = "Nintendo";
+ public const string Contents = "Contents";
+
+ public static string GetRealPath(VirtualFileSystem fileSystem, string switchContentPath)
+ {
+ return switchContentPath switch
+ {
+ SystemContent => Path.Combine(AppDataManager.BaseDirPath, SystemNandPath, Contents),
+ UserContent => Path.Combine(AppDataManager.BaseDirPath, UserNandPath, Contents),
+ SdCardContent => Path.Combine(fileSystem.GetSdCardPath(), Nintendo, Contents),
+ System => Path.Combine(AppDataManager.BaseDirPath, SystemNandPath),
+ User => Path.Combine(AppDataManager.BaseDirPath, UserNandPath),
+ _ => throw new NotSupportedException($"Content Path \"`{switchContentPath}`\" is not supported.")
+ };
+ }
+
+ public static string GetContentPath(ContentStorageId contentStorageId)
+ {
+ return contentStorageId switch
+ {
+ ContentStorageId.System => SystemContent,
+ ContentStorageId.User => UserContent,
+ ContentStorageId.SdCard => SdCardContent,
+ _ => throw new NotSupportedException($"Content Storage Id \"`{contentStorageId}`\" is not supported.")
+ };
+ }
+
+ public static string GetContentPath(StorageId storageId)
+ {
+ return storageId switch
+ {
+ StorageId.BuiltInSystem => SystemContent,
+ StorageId.BuiltInUser => UserContent,
+ StorageId.SdCard => SdCardContent,
+ _ => throw new NotSupportedException($"Storage Id \"`{storageId}`\" is not supported.")
+ };
+ }
+
+ public static StorageId GetStorageId(string contentPathString)
+ {
+ return contentPathString.Split(':')[0] switch
+ {
+ SystemContent or
+ System => StorageId.BuiltInSystem,
+ UserContent or
+ User => StorageId.BuiltInUser,
+ SdCardContent => StorageId.SdCard,
+ Host => StorageId.Host,
+ GamecardApp or
+ GamecardContents or
+ GamecardUpdate => StorageId.GameCard,
+ _ => StorageId.None
+ };
+ }
+ }
+} \ No newline at end of file
diff --git a/Ryujinx.HLE/FileSystem/EncryptedFileSystemCreator.cs b/Ryujinx.HLE/FileSystem/EncryptedFileSystemCreator.cs
index 60c3cfdb..f32dc2d7 100644
--- a/Ryujinx.HLE/FileSystem/EncryptedFileSystemCreator.cs
+++ b/Ryujinx.HLE/FileSystem/EncryptedFileSystemCreator.cs
@@ -8,7 +8,6 @@ namespace Ryujinx.HLE.FileSystem
{
public class EncryptedFileSystemCreator : IEncryptedFileSystemCreator
{
-
public Result Create(ref SharedRef<IFileSystem> outEncryptedFileSystem,
ref SharedRef<IFileSystem> baseFileSystem, IEncryptedFileSystemCreator.KeyId idIndex,
in EncryptionSeed encryptionSeed)
@@ -18,10 +17,10 @@ namespace Ryujinx.HLE.FileSystem
return ResultFs.InvalidArgument.Log();
}
- // Todo: Reenable when AesXtsFileSystem is fixed
+ // TODO: Reenable when AesXtsFileSystem is fixed.
outEncryptedFileSystem = SharedRef<IFileSystem>.CreateMove(ref baseFileSystem);
return Result.Success;
}
}
-}
+} \ No newline at end of file
diff --git a/Ryujinx.HLE/FileSystem/Content/LocationEntry.cs b/Ryujinx.HLE/FileSystem/LocationEntry.cs
index bf938746..45cbc8cd 100644
--- a/Ryujinx.HLE/FileSystem/Content/LocationEntry.cs
+++ b/Ryujinx.HLE/FileSystem/LocationEntry.cs
@@ -1,6 +1,6 @@
using LibHac.FsSystem;
-namespace Ryujinx.HLE.FileSystem.Content
+namespace Ryujinx.HLE.FileSystem
{
public struct LocationEntry
{
diff --git a/Ryujinx.HLE/FileSystem/SaveDataType.cs b/Ryujinx.HLE/FileSystem/SaveDataType.cs
deleted file mode 100644
index 2207fc23..00000000
--- a/Ryujinx.HLE/FileSystem/SaveDataType.cs
+++ /dev/null
@@ -1,12 +0,0 @@
-namespace Ryujinx.HLE.FileSystem
-{
- enum SaveDataType : byte
- {
- SystemSaveData,
- SaveData,
- BcatDeliveryCacheStorage,
- DeviceSaveData,
- TemporaryStorage,
- CacheStorage
- }
-} \ No newline at end of file
diff --git a/Ryujinx.HLE/FileSystem/SaveInfo.cs b/Ryujinx.HLE/FileSystem/SaveInfo.cs
deleted file mode 100644
index 96f2f020..00000000
--- a/Ryujinx.HLE/FileSystem/SaveInfo.cs
+++ /dev/null
@@ -1,27 +0,0 @@
-using Ryujinx.HLE.HOS.Services.Account.Acc;
-
-namespace Ryujinx.HLE.FileSystem
-{
- struct SaveInfo
- {
- public ulong TitleId { get; private set; }
- public long SaveId { get; private set; }
- public SaveDataType SaveDataType { get; private set; }
- public SaveSpaceId SaveSpaceId { get; private set; }
- public UserId UserId { get; private set; }
-
- public SaveInfo(
- ulong titleId,
- long saveId,
- SaveDataType saveDataType,
- SaveSpaceId saveSpaceId,
- UserId userId = new UserId())
- {
- TitleId = titleId;
- SaveId = saveId;
- SaveDataType = saveDataType;
- SaveSpaceId = saveSpaceId;
- UserId = userId;
- }
- }
-} \ No newline at end of file
diff --git a/Ryujinx.HLE/FileSystem/SaveSpaceId.cs b/Ryujinx.HLE/FileSystem/SaveSpaceId.cs
deleted file mode 100644
index d51922df..00000000
--- a/Ryujinx.HLE/FileSystem/SaveSpaceId.cs
+++ /dev/null
@@ -1,10 +0,0 @@
-namespace Ryujinx.HLE.FileSystem
-{
- enum SaveSpaceId
- {
- NandSystem,
- NandUser,
- SdCard,
- TemporaryStorage
- }
-}
diff --git a/Ryujinx.HLE/FileSystem/StorageId.cs b/Ryujinx.HLE/FileSystem/StorageId.cs
deleted file mode 100644
index d4043e2c..00000000
--- a/Ryujinx.HLE/FileSystem/StorageId.cs
+++ /dev/null
@@ -1,12 +0,0 @@
-namespace Ryujinx.HLE.FileSystem
-{
- public enum StorageId
- {
- None,
- Host,
- GameCard,
- NandSystem,
- NandUser,
- SdCard
- }
-}
diff --git a/Ryujinx.HLE/FileSystem/Content/SystemVersion.cs b/Ryujinx.HLE/FileSystem/SystemVersion.cs
index 3f19e135..a7926d5d 100644
--- a/Ryujinx.HLE/FileSystem/Content/SystemVersion.cs
+++ b/Ryujinx.HLE/FileSystem/SystemVersion.cs
@@ -1,8 +1,7 @@
using Ryujinx.HLE.Utilities;
using System.IO;
-using System.Text;
-namespace Ryujinx.HLE.FileSystem.Content
+namespace Ryujinx.HLE.FileSystem
{
public class SystemVersion
{
diff --git a/Ryujinx.HLE/FileSystem/VirtualFileSystem.cs b/Ryujinx.HLE/FileSystem/VirtualFileSystem.cs
index 9359b03c..001a1f5f 100644
--- a/Ryujinx.HLE/FileSystem/VirtualFileSystem.cs
+++ b/Ryujinx.HLE/FileSystem/VirtualFileSystem.cs
@@ -13,7 +13,6 @@ using LibHac.Tools.Fs;
using LibHac.Tools.FsSystem;
using Ryujinx.Common.Configuration;
using Ryujinx.Common.Logging;
-using Ryujinx.HLE.FileSystem.Content;
using Ryujinx.HLE.HOS;
using System;
using System.Buffers.Text;
@@ -28,20 +27,29 @@ namespace Ryujinx.HLE.FileSystem
{
public class VirtualFileSystem : IDisposable
{
- public const string NandPath = AppDataManager.DefaultNandDir;
- public const string SdCardPath = AppDataManager.DefaultSdcardDir;
+ public static string SafeNandPath = Path.Combine(AppDataManager.DefaultNandDir, "safe");
+ public static string SystemNandPath = Path.Combine(AppDataManager.DefaultNandDir, "system");
+ public static string UserNandPath = Path.Combine(AppDataManager.DefaultNandDir, "user");
- public static string SafeNandPath = Path.Combine(NandPath, "safe");
- public static string SystemNandPath = Path.Combine(NandPath, "system");
- public static string UserNandPath = Path.Combine(NandPath, "user");
+ public KeySet KeySet { get; private set; }
+ public EmulatedGameCard GameCard { get; private set; }
+ public EmulatedSdCard SdCard { get; private set; }
+ public ModLoader ModLoader { get; private set; }
+ public Stream RomFs { get; private set; }
private static bool _isInitialized = false;
- public KeySet KeySet { get; private set; }
- public EmulatedGameCard GameCard { get; private set; }
- public EmulatedSdCard SdCard { get; private set; }
+ public static VirtualFileSystem CreateInstance()
+ {
+ if (_isInitialized)
+ {
+ throw new InvalidOperationException("VirtualFileSystem can only be instantiated once!");
+ }
- public ModLoader ModLoader { get; private set; }
+ _isInitialized = true;
+
+ return new VirtualFileSystem();
+ }
private VirtualFileSystem()
{
@@ -49,8 +57,6 @@ namespace Ryujinx.HLE.FileSystem
ModLoader = new ModLoader(); // Should only be created once
}
- public Stream RomFs { get; private set; }
-
public void LoadRomFs(string fileName)
{
RomFs = new FileStream(fileName, FileMode.Open, FileAccess.Read);
@@ -79,7 +85,7 @@ namespace Ryujinx.HLE.FileSystem
string fullPath = Path.GetFullPath(Path.Combine(basePath, fileName));
- if (!fullPath.StartsWith(GetBasePath()))
+ if (!fullPath.StartsWith(AppDataManager.BaseDirPath))
{
return null;
}
@@ -87,14 +93,8 @@ namespace Ryujinx.HLE.FileSystem
return fullPath;
}
- internal string GetBasePath() => AppDataManager.BaseDirPath;
- internal string GetSdCardPath() => MakeFullPath(SdCardPath);
- public string GetNandPath() => MakeFullPath(NandPath);
-
- public string GetFullPartitionPath(string partitionPath)
- {
- return MakeFullPath(partitionPath);
- }
+ internal string GetSdCardPath() => MakeFullPath(AppDataManager.DefaultSdcardDir);
+ public string GetNandPath() => MakeFullPath(AppDataManager.DefaultNandDir);
public string SwitchPathToSystemPath(string switchPath)
{
@@ -110,7 +110,7 @@ namespace Ryujinx.HLE.FileSystem
public string SystemPathToSwitchPath(string systemPath)
{
- string baseSystemPath = GetBasePath() + Path.DirectorySeparatorChar;
+ string baseSystemPath = AppDataManager.BaseDirPath + Path.DirectorySeparatorChar;
if (systemPath.StartsWith(baseSystemPath))
{
@@ -136,8 +136,7 @@ namespace Ryujinx.HLE.FileSystem
switch (path)
{
case ContentPath.SdCard:
- case "@Sdcard":
- path = SdCardPath;
+ path = AppDataManager.DefaultSdcardDir;
break;
case ContentPath.User:
path = UserNandPath;
@@ -146,7 +145,7 @@ namespace Ryujinx.HLE.FileSystem
path = SystemNandPath;
break;
case ContentPath.SdCardContent:
- path = Path.Combine(SdCardPath, "Nintendo", "Contents");
+ path = Path.Combine(AppDataManager.DefaultSdcardDir, "Nintendo", "Contents");
break;
case ContentPath.UserContent:
path = Path.Combine(UserNandPath, "Contents");
@@ -156,27 +155,19 @@ namespace Ryujinx.HLE.FileSystem
break;
}
- string fullPath = Path.Combine(GetBasePath(), path);
+ string fullPath = Path.Combine(AppDataManager.BaseDirPath, path);
- if (isDirectory)
+ if (isDirectory && !Directory.Exists(fullPath))
{
- if (!Directory.Exists(fullPath))
- {
- Directory.CreateDirectory(fullPath);
- }
+ Directory.CreateDirectory(fullPath);
}
return fullPath;
}
- public DriveInfo GetDrive()
- {
- return new DriveInfo(Path.GetPathRoot(GetBasePath()));
- }
-
public void InitializeFsServer(LibHac.Horizon horizon, out HorizonClient fsServerClient)
{
- LocalFileSystem serverBaseFs = new LocalFileSystem(GetBasePath());
+ LocalFileSystem serverBaseFs = new LocalFileSystem(AppDataManager.BaseDirPath);
fsServerClient = horizon.CreatePrivilegedHorizonClient();
var fsServer = new FileSystemServer(fsServerClient);
@@ -505,7 +496,7 @@ namespace Ryujinx.HLE.FileSystem
bool canFixBySaveDataId = extraData.Attribute.StaticSaveDataId == 0 && info.StaticSaveDataId != 0;
- bool hasEmptyOwnerId = extraData.OwnerId == 0 && info.Type != LibHac.Fs.SaveDataType.System;
+ bool hasEmptyOwnerId = extraData.OwnerId == 0 && info.Type != SaveDataType.System;
if (!canFixByProgramId && !canFixBySaveDataId && !hasEmptyOwnerId)
{
@@ -523,7 +514,7 @@ namespace Ryujinx.HLE.FileSystem
// The rest of the extra data can't be created from the save data info.
// On user saves the owner ID will almost certainly be the same as the program ID.
- if (info.Type != LibHac.Fs.SaveDataType.System)
+ if (info.Type != SaveDataType.System)
{
extraData.OwnerId = info.ProgramId.Value;
}
@@ -580,11 +571,6 @@ namespace Ryujinx.HLE.FileSystem
}
};
- public void Unload()
- {
- RomFs?.Dispose();
- }
-
public void Dispose()
{
Dispose(true);
@@ -594,20 +580,8 @@ namespace Ryujinx.HLE.FileSystem
{
if (disposing)
{
- Unload();
+ RomFs?.Dispose();
}
}
-
- public static VirtualFileSystem CreateInstance()
- {
- if (_isInitialized)
- {
- throw new InvalidOperationException("VirtualFileSystem can only be instantiated once!");
- }
-
- _isInitialized = true;
-
- return new VirtualFileSystem();
- }
}
} \ No newline at end of file
diff --git a/Ryujinx.HLE/HLEConfiguration.cs b/Ryujinx.HLE/HLEConfiguration.cs
index 3da02296..8fd02a96 100644
--- a/Ryujinx.HLE/HLEConfiguration.cs
+++ b/Ryujinx.HLE/HLEConfiguration.cs
@@ -3,7 +3,6 @@ using Ryujinx.Audio.Integration;
using Ryujinx.Common.Configuration;
using Ryujinx.Graphics.GAL;
using Ryujinx.HLE.FileSystem;
-using Ryujinx.HLE.FileSystem.Content;
using Ryujinx.HLE.HOS;
using Ryujinx.HLE.HOS.Services.Account.Acc;
using Ryujinx.HLE.HOS.SystemState;
diff --git a/Ryujinx.HLE/HOS/Applets/Error/ErrorApplet.cs b/Ryujinx.HLE/HOS/Applets/Error/ErrorApplet.cs
index c0d99a77..6780f802 100644
--- a/Ryujinx.HLE/HOS/Applets/Error/ErrorApplet.cs
+++ b/Ryujinx.HLE/HOS/Applets/Error/ErrorApplet.cs
@@ -2,10 +2,10 @@
using LibHac.Fs;
using LibHac.Fs.Fsa;
using LibHac.FsSystem;
+using LibHac.Ncm;
using LibHac.Tools.FsSystem;
using LibHac.Tools.FsSystem.NcaUtils;
using Ryujinx.Common.Logging;
-using Ryujinx.HLE.FileSystem;
using Ryujinx.HLE.HOS.Services.Am.AppletAE;
using Ryujinx.HLE.HOS.SystemState;
using System;
@@ -106,7 +106,7 @@ namespace Ryujinx.HLE.HOS.Applets.Error
private string GetMessageText(uint module, uint description, string key)
{
- string binaryTitleContentPath = _horizon.ContentManager.GetInstalledContentPath(ErrorMessageBinaryTitleId, StorageId.NandSystem, NcaContentType.Data);
+ string binaryTitleContentPath = _horizon.ContentManager.GetInstalledContentPath(ErrorMessageBinaryTitleId, StorageId.BuiltInSystem, NcaContentType.Data);
using (LibHac.Fs.IStorage ncaFileStream = new LocalStorage(_horizon.Device.FileSystem.SwitchPathToSystemPath(binaryTitleContentPath), FileAccess.Read, FileMode.Open))
{
diff --git a/Ryujinx.HLE/HOS/Horizon.cs b/Ryujinx.HLE/HOS/Horizon.cs
index cadd43ff..24d04c12 100644
--- a/Ryujinx.HLE/HOS/Horizon.cs
+++ b/Ryujinx.HLE/HOS/Horizon.cs
@@ -10,7 +10,7 @@ using Ryujinx.Audio.Integration;
using Ryujinx.Audio.Output;
using Ryujinx.Audio.Renderer.Device;
using Ryujinx.Audio.Renderer.Server;
-using Ryujinx.HLE.FileSystem.Content;
+using Ryujinx.HLE.FileSystem;
using Ryujinx.HLE.HOS.Kernel;
using Ryujinx.HLE.HOS.Kernel.Memory;
using Ryujinx.HLE.HOS.Kernel.Process;
@@ -238,6 +238,7 @@ namespace Ryujinx.HLE.HOS
SurfaceFlinger = new SurfaceFlinger(device);
InitializeAudioRenderer();
+ InitializeServices();
}
private void InitializeAudioRenderer()
@@ -288,7 +289,7 @@ namespace Ryujinx.HLE.HOS
AudioManager.Start();
}
- public void InitializeServices()
+ private void InitializeServices()
{
SmServer = new ServerBase(KernelContext, "SmServer", () => new IUserInterface(KernelContext));
diff --git a/Ryujinx.HLE/HOS/Services/Arp/ApplicationLaunchProperty.cs b/Ryujinx.HLE/HOS/Services/Arp/ApplicationLaunchProperty.cs
index 5e396110..c985092b 100644
--- a/Ryujinx.HLE/HOS/Services/Arp/ApplicationLaunchProperty.cs
+++ b/Ryujinx.HLE/HOS/Services/Arp/ApplicationLaunchProperty.cs
@@ -1,4 +1,4 @@
-using Ryujinx.HLE.FileSystem;
+using LibHac.Ncm;
namespace Ryujinx.HLE.HOS.Services.Arp
{
@@ -20,7 +20,7 @@ namespace Ryujinx.HLE.HOS.Services.Arp
{
TitleId = 0x00,
Version = 0x00,
- BaseGameStorageId = (byte)StorageId.NandSystem,
+ BaseGameStorageId = (byte)StorageId.BuiltInSystem,
UpdateGameStorageId = (byte)StorageId.None
};
}
@@ -35,7 +35,7 @@ namespace Ryujinx.HLE.HOS.Services.Arp
{
TitleId = context.Device.Application.TitleId,
Version = 0x00,
- BaseGameStorageId = (byte)StorageId.NandSystem,
+ BaseGameStorageId = (byte)StorageId.BuiltInSystem,
UpdateGameStorageId = (byte)StorageId.None
};
}
diff --git a/Ryujinx.HLE/HOS/Services/Fs/IFileSystemProxy.cs b/Ryujinx.HLE/HOS/Services/Fs/IFileSystemProxy.cs
index 94578303..01e1aa34 100644
--- a/Ryujinx.HLE/HOS/Services/Fs/IFileSystemProxy.cs
+++ b/Ryujinx.HLE/HOS/Services/Fs/IFileSystemProxy.cs
@@ -2,7 +2,6 @@ using LibHac;
using LibHac.Common;
using LibHac.Fs;
using LibHac.Fs.Shim;
-using LibHac.FsSrv;
using LibHac.FsSrv.Impl;
using LibHac.FsSystem;
using LibHac.Ncm;
@@ -19,7 +18,6 @@ using static Ryujinx.HLE.Utilities.StringUtils;
using IFileSystem = LibHac.FsSrv.Sf.IFileSystem;
using IStorage = LibHac.FsSrv.Sf.IStorage;
using RightsId = LibHac.Fs.RightsId;
-using StorageId = Ryujinx.HLE.FileSystem.StorageId;
namespace Ryujinx.HLE.HOS.Services.Fs
{
diff --git a/Ryujinx.HLE/HOS/Services/Hid/Hid.cs b/Ryujinx.HLE/HOS/Services/Hid/Hid.cs
index b8833e9e..b1466c78 100644
--- a/Ryujinx.HLE/HOS/Services/Hid/Hid.cs
+++ b/Ryujinx.HLE/HOS/Services/Hid/Hid.cs
@@ -55,9 +55,11 @@ namespace Ryujinx.HLE.HOS.Services.Hid
_storage = storage;
SharedMemory = SharedMemory.Create();
+
+ InitDevices();
}
- public void InitDevices()
+ private void InitDevices()
{
DebugPad = new DebugPadDevice(_device, true);
Touchscreen = new TouchDevice(_device, true);
diff --git a/Ryujinx.HLE/HOS/Services/Ncm/Lr/ILocationResolverManager.cs b/Ryujinx.HLE/HOS/Services/Ncm/Lr/ILocationResolverManager.cs
index 9f0c61dd..546c0567 100644
--- a/Ryujinx.HLE/HOS/Services/Ncm/Lr/ILocationResolverManager.cs
+++ b/Ryujinx.HLE/HOS/Services/Ncm/Lr/ILocationResolverManager.cs
@@ -1,4 +1,4 @@
-using Ryujinx.HLE.FileSystem;
+using LibHac.Ncm;
using Ryujinx.HLE.HOS.Services.Ncm.Lr.LocationResolverManager;
namespace Ryujinx.HLE.HOS.Services.Ncm.Lr
diff --git a/Ryujinx.HLE/HOS/Services/Ncm/Lr/LocationResolverManager/ILocationResolver.cs b/Ryujinx.HLE/HOS/Services/Ncm/Lr/LocationResolverManager/ILocationResolver.cs
index 9928285d..0767b148 100644
--- a/Ryujinx.HLE/HOS/Services/Ncm/Lr/LocationResolverManager/ILocationResolver.cs
+++ b/Ryujinx.HLE/HOS/Services/Ncm/Lr/LocationResolverManager/ILocationResolver.cs
@@ -1,6 +1,6 @@
using LibHac.FsSystem;
+using LibHac.Ncm;
using Ryujinx.HLE.FileSystem;
-using Ryujinx.HLE.FileSystem.Content;
using System.Text;
using static Ryujinx.HLE.Utilities.StringUtils;
diff --git a/Ryujinx.HLE/HOS/Services/Nim/IShopServiceAccessServerInterface.cs b/Ryujinx.HLE/HOS/Services/Nim/IShopServiceAccessServerInterface.cs
index 14d1990b..98f5f6a8 100644
--- a/Ryujinx.HLE/HOS/Services/Nim/IShopServiceAccessServerInterface.cs
+++ b/Ryujinx.HLE/HOS/Services/Nim/IShopServiceAccessServerInterface.cs
@@ -1,5 +1,5 @@
-using Ryujinx.Common.Logging;
-using Ryujinx.HLE.FileSystem;
+using LibHac.Ncm;
+using Ryujinx.Common.Logging;
using Ryujinx.HLE.HOS.Services.Arp;
using Ryujinx.HLE.HOS.Services.Nim.ShopServiceAccessServerInterface;
diff --git a/Ryujinx.HLE/HOS/Services/Sdb/Pl/SharedFontManager.cs b/Ryujinx.HLE/HOS/Services/Sdb/Pl/SharedFontManager.cs
index 13ff1adc..f1ef6a2f 100644
--- a/Ryujinx.HLE/HOS/Services/Sdb/Pl/SharedFontManager.cs
+++ b/Ryujinx.HLE/HOS/Services/Sdb/Pl/SharedFontManager.cs
@@ -2,11 +2,11 @@ using LibHac.Common;
using LibHac.Fs;
using LibHac.Fs.Fsa;
using LibHac.FsSystem;
+using LibHac.Ncm;
using LibHac.Tools.FsSystem;
using LibHac.Tools.FsSystem.NcaUtils;
using Ryujinx.HLE.Exceptions;
using Ryujinx.HLE.FileSystem;
-using Ryujinx.HLE.FileSystem.Content;
using Ryujinx.HLE.HOS.Kernel.Memory;
using Ryujinx.HLE.HOS.Services.Sdb.Pl.Types;
using System;
@@ -63,7 +63,7 @@ namespace Ryujinx.HLE.HOS.Services.Sdb.Pl
{
if (contentManager.TryGetFontTitle(name, out ulong fontTitle) && contentManager.TryGetFontFilename(name, out string fontFilename))
{
- string contentPath = contentManager.GetInstalledContentPath(fontTitle, StorageId.NandSystem, NcaContentType.Data);
+ string contentPath = contentManager.GetInstalledContentPath(fontTitle, StorageId.BuiltInSystem, NcaContentType.Data);
string fontPath = _device.FileSystem.SwitchPathToSystemPath(contentPath);
if (!string.IsNullOrWhiteSpace(fontPath))
diff --git a/Ryujinx.HLE/HOS/Services/Settings/ISystemSettingsServer.cs b/Ryujinx.HLE/HOS/Services/Settings/ISystemSettingsServer.cs
index ef1a42ba..88888f34 100644
--- a/Ryujinx.HLE/HOS/Services/Settings/ISystemSettingsServer.cs
+++ b/Ryujinx.HLE/HOS/Services/Settings/ISystemSettingsServer.cs
@@ -3,9 +3,9 @@ using LibHac.Common;
using LibHac.Fs;
using LibHac.Fs.Fsa;
using LibHac.FsSystem;
+using LibHac.Ncm;
using LibHac.Tools.FsSystem.NcaUtils;
using Ryujinx.Common.Logging;
-using Ryujinx.HLE.FileSystem;
using Ryujinx.HLE.HOS.SystemState;
using Ryujinx.HLE.Utilities;
using System;
@@ -290,7 +290,7 @@ namespace Ryujinx.HLE.HOS.Services.Settings
{
const ulong SystemVersionTitleId = 0x0100000000000809;
- string contentPath = device.System.ContentManager.GetInstalledContentPath(SystemVersionTitleId, StorageId.NandSystem, NcaContentType.Data);
+ string contentPath = device.System.ContentManager.GetInstalledContentPath(SystemVersionTitleId, StorageId.BuiltInSystem, NcaContentType.Data);
if (string.IsNullOrWhiteSpace(contentPath))
{
diff --git a/Ryujinx.HLE/HOS/Services/Spl/IGeneralInterface.cs b/Ryujinx.HLE/HOS/Services/Spl/IGeneralInterface.cs
index 15625fc2..53c9eb48 100644
--- a/Ryujinx.HLE/HOS/Services/Spl/IGeneralInterface.cs
+++ b/Ryujinx.HLE/HOS/Services/Spl/IGeneralInterface.cs
@@ -1,5 +1,4 @@
-using Ryujinx.Common.Logging;
-using Ryujinx.HLE.FileSystem.Content;
+using Ryujinx.HLE.FileSystem;
using Ryujinx.HLE.HOS.Kernel.Common;
using Ryujinx.HLE.HOS.Services.Spl.Types;
diff --git a/Ryujinx.HLE/HOS/Services/Ssl/BuiltInCertificateManager.cs b/Ryujinx.HLE/HOS/Services/Ssl/BuiltInCertificateManager.cs
index b585224d..70691e1b 100644
--- a/Ryujinx.HLE/HOS/Services/Ssl/BuiltInCertificateManager.cs
+++ b/Ryujinx.HLE/HOS/Services/Ssl/BuiltInCertificateManager.cs
@@ -3,13 +3,13 @@ using LibHac.Common;
using LibHac.Fs;
using LibHac.Fs.Fsa;
using LibHac.FsSystem;
+using LibHac.Ncm;
using LibHac.Tools.FsSystem;
using LibHac.Tools.FsSystem.NcaUtils;
using Ryujinx.Common.Configuration;
using Ryujinx.Common.Logging;
using Ryujinx.HLE.Exceptions;
using Ryujinx.HLE.FileSystem;
-using Ryujinx.HLE.FileSystem.Content;
using Ryujinx.HLE.HOS.Services.Ssl.Types;
using System;
using System.Collections.Generic;
@@ -82,7 +82,7 @@ namespace Ryujinx.HLE.HOS.Services.Ssl
public string GetCertStoreTitleContentPath()
{
- return _contentManager.GetInstalledContentPath(CertStoreTitleId, StorageId.NandSystem, NcaContentType.Data);
+ return _contentManager.GetInstalledContentPath(CertStoreTitleId, StorageId.BuiltInSystem, NcaContentType.Data);
}
public bool HasCertStoreTitle()
diff --git a/Ryujinx.HLE/HOS/Services/Time/TimeZone/TimeZoneContentManager.cs b/Ryujinx.HLE/HOS/Services/Time/TimeZone/TimeZoneContentManager.cs
index afcf976a..8ff09026 100644
--- a/Ryujinx.HLE/HOS/Services/Time/TimeZone/TimeZoneContentManager.cs
+++ b/Ryujinx.HLE/HOS/Services/Time/TimeZone/TimeZoneContentManager.cs
@@ -3,12 +3,12 @@ using LibHac.Common;
using LibHac.Fs;
using LibHac.Fs.Fsa;
using LibHac.FsSystem;
+using LibHac.Ncm;
using LibHac.Tools.FsSystem;
using LibHac.Tools.FsSystem.NcaUtils;
using Ryujinx.Common.Logging;
using Ryujinx.HLE.Exceptions;
using Ryujinx.HLE.FileSystem;
-using Ryujinx.HLE.FileSystem.Content;
using Ryujinx.HLE.HOS.Services.Time.Clock;
using Ryujinx.HLE.Utilities;
using System;
@@ -241,7 +241,7 @@ namespace Ryujinx.HLE.HOS.Services.Time.TimeZone
public string GetTimeZoneBinaryTitleContentPath()
{
- return _contentManager.GetInstalledContentPath(TimeZoneBinaryTitleId, StorageId.NandSystem, NcaContentType.Data);
+ return _contentManager.GetInstalledContentPath(TimeZoneBinaryTitleId, StorageId.BuiltInSystem, NcaContentType.Data);
}
public bool HasTimeZoneBinaryTitle()
diff --git a/Ryujinx.HLE/Switch.cs b/Ryujinx.HLE/Switch.cs
index 0dcbc7ec..366a26f4 100644
--- a/Ryujinx.HLE/Switch.cs
+++ b/Ryujinx.HLE/Switch.cs
@@ -13,27 +13,17 @@ namespace Ryujinx.HLE
{
public class Switch : IDisposable
{
- public HLEConfiguration Configuration { get; }
-
+ public HLEConfiguration Configuration { get; }
public IHardwareDeviceDriver AudioDeviceDriver { get; }
-
- internal MemoryBlock Memory { get; }
-
- public GpuContext Gpu { get; }
-
- public VirtualFileSystem FileSystem => Configuration.VirtualFileSystem;
-
- public Horizon System { get; }
-
- public ApplicationLoader Application { get; }
-
- public PerformanceStatistics Statistics { get; }
-
- public Hid Hid { get; }
-
- public TamperMachine TamperMachine { get; }
-
- public IHostUiHandler UiHandler { get; }
+ public MemoryBlock Memory { get; }
+ public GpuContext Gpu { get; }
+ public VirtualFileSystem FileSystem { get; }
+ public Horizon System { get; }
+ public ApplicationLoader Application { get; }
+ public PerformanceStatistics Statistics { get; }
+ public Hid Hid { get; }
+ public TamperMachine TamperMachine { get; }
+ public IHostUiHandler UiHandler { get; }
public bool EnableDeviceVsync { get; set; } = true;
@@ -55,47 +45,27 @@ namespace Ryujinx.HLE
}
Configuration = configuration;
+ FileSystem = Configuration.VirtualFileSystem;
+ UiHandler = Configuration.HostUiHandler;
+
+ AudioDeviceDriver = new CompatLayerHardwareDeviceDriver(Configuration.AudioDeviceDriver);
+ Memory = new MemoryBlock(Configuration.MemoryConfiguration.ToDramSize(), MemoryAllocationFlags.Reserve);
+ Gpu = new GpuContext(Configuration.GpuRenderer);
+ System = new Horizon(this);
+ Statistics = new PerformanceStatistics();
+ Hid = new Hid(this, System.HidStorage);
+ Application = new ApplicationLoader(this);
+ TamperMachine = new TamperMachine();
- UiHandler = configuration.HostUiHandler;
-
- AudioDeviceDriver = new CompatLayerHardwareDeviceDriver(configuration.AudioDeviceDriver);
-
- Memory = new MemoryBlock(configuration.MemoryConfiguration.ToDramSize(), MemoryAllocationFlags.Reserve);
-
- Gpu = new GpuContext(configuration.GpuRenderer);
-
- System = new Horizon(this);
- System.InitializeServices();
-
- Statistics = new PerformanceStatistics();
-
- Hid = new Hid(this, System.HidStorage);
- Hid.InitDevices();
-
- Application = new ApplicationLoader(this);
-
- TamperMachine = new TamperMachine();
-
- Initialize();
- }
-
- private void Initialize()
- {
System.State.SetLanguage(Configuration.SystemLanguage);
-
System.State.SetRegion(Configuration.Region);
- EnableDeviceVsync = Configuration.EnableVsync;
-
- System.State.DockedMode = Configuration.EnableDockedMode;
-
+ EnableDeviceVsync = Configuration.EnableVsync;
+ System.State.DockedMode = Configuration.EnableDockedMode;
System.PerformanceState.PerformanceMode = System.State.DockedMode ? PerformanceMode.Boost : PerformanceMode.Default;
-
- System.EnablePtc = Configuration.EnablePtc;
-
- System.FsIntegrityCheckLevel = Configuration.FsIntegrityCheckLevel;
-
- System.GlobalAccessLogMode = Configuration.FsGlobalAccessLogMode;
+ System.EnablePtc = Configuration.EnablePtc;
+ System.FsIntegrityCheckLevel = Configuration.FsIntegrityCheckLevel;
+ System.GlobalAccessLogMode = Configuration.FsGlobalAccessLogMode;
}
public void LoadCart(string exeFsDir, string romFsFile = null)
@@ -132,7 +102,6 @@ namespace Ryujinx.HLE
{
Gpu.ProcessShaderCacheQueue();
Gpu.Renderer.PreFrame();
-
Gpu.GPFifo.DispatchCalls();
}
@@ -182,9 +151,9 @@ namespace Ryujinx.HLE
{
System.Dispose();
AudioDeviceDriver.Dispose();
- FileSystem.Unload();
+ FileSystem.Dispose();
Memory.Dispose();
}
}
}
-}
+} \ No newline at end of file
diff --git a/Ryujinx.Headless.SDL2/Program.cs b/Ryujinx.Headless.SDL2/Program.cs
index 5915a881..1d64a8c6 100644
--- a/Ryujinx.Headless.SDL2/Program.cs
+++ b/Ryujinx.Headless.SDL2/Program.cs
@@ -20,7 +20,6 @@ using Ryujinx.Graphics.OpenGL;
using Ryujinx.Headless.SDL2.OpenGL;
using Ryujinx.HLE;
using Ryujinx.HLE.FileSystem;
-using Ryujinx.HLE.FileSystem.Content;
using Ryujinx.HLE.HOS;
using Ryujinx.HLE.HOS.Services.Account.Acc;
using Ryujinx.Input;
@@ -29,7 +28,6 @@ using Ryujinx.Input.SDL2;
using System;
using System.Collections.Generic;
using System.IO;
-using System.Reflection;
using System.Text.Json;
using System.Threading;
diff --git a/Ryujinx/Ui/Helper/SetupValidator.cs b/Ryujinx/Ui/Helper/SetupValidator.cs
index 45315f8f..8be8497b 100644
--- a/Ryujinx/Ui/Helper/SetupValidator.cs
+++ b/Ryujinx/Ui/Helper/SetupValidator.cs
@@ -1,5 +1,5 @@
using Ryujinx.Common.Logging;
-using Ryujinx.HLE.FileSystem.Content;
+using Ryujinx.HLE.FileSystem;
using Ryujinx.Ui.Widgets;
using System;
using System.IO;
diff --git a/Ryujinx/Ui/MainWindow.cs b/Ryujinx/Ui/MainWindow.cs
index 32e66ee4..54e28765 100644
--- a/Ryujinx/Ui/MainWindow.cs
+++ b/Ryujinx/Ui/MainWindow.cs
@@ -1,18 +1,10 @@
-using System;
-using System.Diagnostics;
-using System.IO;
-using System.Reflection;
-using System.Threading;
-using System.Threading.Tasks;
-
-using ARMeilleure.Translation;
+using ARMeilleure.Translation;
using ARMeilleure.Translation.PTC;
-
using Gtk;
-
using LibHac.Common;
using LibHac.Common.Keys;
using LibHac.FsSystem;
+using LibHac.Ncm;
using LibHac.Ns;
using LibHac.Tools.FsSystem;
using Ryujinx.Audio.Backends.Dummy;
@@ -29,7 +21,6 @@ using Ryujinx.Graphics.GAL;
using Ryujinx.Graphics.GAL.Multithreading;
using Ryujinx.Graphics.OpenGL;
using Ryujinx.HLE.FileSystem;
-using Ryujinx.HLE.FileSystem.Content;
using Ryujinx.HLE.HOS;
using Ryujinx.HLE.HOS.Services.Account.Acc;
using Ryujinx.HLE.HOS.SystemState;
@@ -42,9 +33,14 @@ using Ryujinx.Ui.Applet;
using Ryujinx.Ui.Helper;
using Ryujinx.Ui.Widgets;
using Ryujinx.Ui.Windows;
+using System;
+using System.Diagnostics;
+using System.IO;
+using System.Reflection;
+using System.Threading;
+using System.Threading.Tasks;
using GUI = Gtk.Builder.ObjectAttribute;
-
using PtcLoadingState = ARMeilleure.Translation.PTC.PtcLoadingState;
using ShaderCacheLoadingState = Ryujinx.Graphics.Gpu.Shader.ShaderCacheState;
@@ -1283,7 +1279,7 @@ namespace Ryujinx.Ui
private void Load_Mii_Edit_Applet(object sender, EventArgs args)
{
- string contentPath = _contentManager.GetInstalledContentPath(0x0100000000001009, StorageId.NandSystem, NcaContentType.Program);
+ string contentPath = _contentManager.GetInstalledContentPath(0x0100000000001009, StorageId.BuiltInSystem, NcaContentType.Program);
LoadApplication(contentPath);
}
diff --git a/Ryujinx/Ui/Windows/AvatarWindow.cs b/Ryujinx/Ui/Windows/AvatarWindow.cs
index 687b3d17..a5c07aed 100644
--- a/Ryujinx/Ui/Windows/AvatarWindow.cs
+++ b/Ryujinx/Ui/Windows/AvatarWindow.cs
@@ -3,10 +3,10 @@ using LibHac.Common;
using LibHac.Fs;
using LibHac.Fs.Fsa;
using LibHac.FsSystem;
+using LibHac.Ncm;
using LibHac.Tools.FsSystem;
using LibHac.Tools.FsSystem.NcaUtils;
using Ryujinx.HLE.FileSystem;
-using Ryujinx.HLE.FileSystem.Content;
using SixLabors.ImageSharp;
using SixLabors.ImageSharp.Formats.Png;
using SixLabors.ImageSharp.PixelFormats;
@@ -115,7 +115,7 @@ namespace Ryujinx.Ui.Windows
return;
}
- string contentPath = contentManager.GetInstalledContentPath(0x010000000000080A, StorageId.NandSystem, NcaContentType.Data);
+ string contentPath = contentManager.GetInstalledContentPath(0x010000000000080A, StorageId.BuiltInSystem, NcaContentType.Data);
string avatarPath = virtualFileSystem.SwitchPathToSystemPath(contentPath);
if (!string.IsNullOrWhiteSpace(avatarPath))
diff --git a/Ryujinx/Ui/Windows/SettingsWindow.cs b/Ryujinx/Ui/Windows/SettingsWindow.cs
index 2b423081..f0e93730 100644
--- a/Ryujinx/Ui/Windows/SettingsWindow.cs
+++ b/Ryujinx/Ui/Windows/SettingsWindow.cs
@@ -105,9 +105,9 @@ namespace Ryujinx.Ui.Windows
#pragma warning restore CS0649, IDE0044
- public SettingsWindow(MainWindow parent, VirtualFileSystem virtualFileSystem, HLE.FileSystem.Content.ContentManager contentManager) : this(parent, new Builder("Ryujinx.Ui.Windows.SettingsWindow.glade"), virtualFileSystem, contentManager) { }
+ public SettingsWindow(MainWindow parent, VirtualFileSystem virtualFileSystem, ContentManager contentManager) : this(parent, new Builder("Ryujinx.Ui.Windows.SettingsWindow.glade"), virtualFileSystem, contentManager) { }
- private SettingsWindow(MainWindow parent, Builder builder, VirtualFileSystem virtualFileSystem, HLE.FileSystem.Content.ContentManager contentManager) : base(builder.GetObject("_settingsWin").Handle)
+ private SettingsWindow(MainWindow parent, Builder builder, VirtualFileSystem virtualFileSystem, ContentManager contentManager) : base(builder.GetObject("_settingsWin").Handle)
{
Icon = new Gdk.Pixbuf(Assembly.GetExecutingAssembly(), "Ryujinx.Ui.Resources.Logo_Ryujinx.png");
diff --git a/Ryujinx/Ui/Windows/UserProfilesManagerWindow.cs b/Ryujinx/Ui/Windows/UserProfilesManagerWindow.cs
index b26e7e20..862d5f15 100644
--- a/Ryujinx/Ui/Windows/UserProfilesManagerWindow.cs
+++ b/Ryujinx/Ui/Windows/UserProfilesManagerWindow.cs
@@ -1,6 +1,5 @@
using Gtk;
using Ryujinx.HLE.FileSystem;
-using Ryujinx.HLE.FileSystem.Content;
using Ryujinx.HLE.HOS.Services.Account.Acc;
using Ryujinx.Ui.Widgets;
using SixLabors.ImageSharp;
@@ -12,7 +11,7 @@ using System.Reflection;
using System.Threading;
using System.Threading.Tasks;
-using Image = SixLabors.ImageSharp.Image;
+using Image = SixLabors.ImageSharp.Image;
using UserId = Ryujinx.HLE.HOS.Services.Account.Acc.UserId;
namespace Ryujinx.Ui.Windows