diff options
Diffstat (limited to 'src/Ryujinx.HLE/HOS/Services/Mii/MiiDatabaseManager.cs')
-rw-r--r-- | src/Ryujinx.HLE/HOS/Services/Mii/MiiDatabaseManager.cs | 71 |
1 files changed, 42 insertions, 29 deletions
diff --git a/src/Ryujinx.HLE/HOS/Services/Mii/MiiDatabaseManager.cs b/src/Ryujinx.HLE/HOS/Services/Mii/MiiDatabaseManager.cs index 682283b0..cb43ed2a 100644 --- a/src/Ryujinx.HLE/HOS/Services/Mii/MiiDatabaseManager.cs +++ b/src/Ryujinx.HLE/HOS/Services/Mii/MiiDatabaseManager.cs @@ -11,17 +11,17 @@ namespace Ryujinx.HLE.HOS.Services.Mii { class MiiDatabaseManager { - private static bool IsTestModeEnabled = false; - private static uint MountCounter = 0; + private readonly bool _isTestModeEnabled = false; + private uint _mountCounter = 0; - private const ulong DatabaseTestSaveDataId = 0x8000000000000031; - private const ulong DatabaseSaveDataId = 0x8000000000000030; + private const ulong DatabaseTestSaveDataId = 0x8000000000000031; + private const ulong DatabaseSaveDataId = 0x8000000000000030; - private static U8String DatabasePath = new U8String("mii:/MiiDatabase.dat"); - private static U8String MountName = new U8String("mii"); + private readonly U8String _databasePath = new("mii:/MiiDatabase.dat"); + private readonly U8String _mountName = new("mii"); private NintendoFigurineDatabase _database; - private bool _isDirty; + private bool _isDirty; private HorizonClient _horizonClient; @@ -29,8 +29,8 @@ namespace Ryujinx.HLE.HOS.Services.Mii public MiiDatabaseManager() { - _database = new NintendoFigurineDatabase(); - _isDirty = false; + _database = new NintendoFigurineDatabase(); + _isDirty = false; UpdateCounter = 0; } @@ -106,50 +106,63 @@ namespace Ryujinx.HLE.HOS.Services.Mii private Result MountSave() { - if (MountCounter != 0) + if (_mountCounter != 0) { - MountCounter++; + _mountCounter++; return Result.Success; } - ulong saveDataId = IsTestModeEnabled ? DatabaseTestSaveDataId : DatabaseSaveDataId; + ulong saveDataId = _isTestModeEnabled ? DatabaseTestSaveDataId : DatabaseSaveDataId; - Result result = _horizonClient.Fs.MountSystemSaveData(MountName, SaveDataSpaceId.System, saveDataId); + Result result = _horizonClient.Fs.MountSystemSaveData(_mountName, SaveDataSpaceId.System, saveDataId); if (result.IsFailure()) { if (!ResultFs.TargetNotFound.Includes(result)) + { return result; + } - if (IsTestModeEnabled) + if (_isTestModeEnabled) +#pragma warning disable CS0162 { result = _horizonClient.Fs.CreateSystemSaveData(saveDataId, 0x10000, 0x10000, SaveDataFlags.KeepAfterResettingSystemSaveDataWithoutUserSaveData); - if (result.IsFailure()) return result; + if (result.IsFailure()) + { + return result; + } } +#pragma warning restore CS0162 else { result = _horizonClient.Fs.CreateSystemSaveData(saveDataId, SystemProgramId.Ns.Value, 0x10000, 0x10000, SaveDataFlags.KeepAfterResettingSystemSaveDataWithoutUserSaveData); - if (result.IsFailure()) return result; + if (result.IsFailure()) + { + return result; + } } - result = _horizonClient.Fs.MountSystemSaveData(MountName, SaveDataSpaceId.System, saveDataId); - if (result.IsFailure()) return result; + result = _horizonClient.Fs.MountSystemSaveData(_mountName, SaveDataSpaceId.System, saveDataId); + if (result.IsFailure()) + { + return result; + } } if (result == Result.Success) { - MountCounter++; + _mountCounter++; } return result; } public ResultCode DeleteFile() { - ResultCode result = (ResultCode)_horizonClient.Fs.DeleteFile(DatabasePath).Value; + ResultCode result = (ResultCode)_horizonClient.Fs.DeleteFile(_databasePath).Value; - _horizonClient.Fs.Commit(MountName); + _horizonClient.Fs.Commit(_mountName); return result; } @@ -158,7 +171,7 @@ namespace Ryujinx.HLE.HOS.Services.Mii { isBroken = false; - if (MountCounter == 0) + if (_mountCounter == 0) { return ResultCode.InvalidArgument; } @@ -167,7 +180,7 @@ namespace Ryujinx.HLE.HOS.Services.Mii ResetDatabase(); - Result result = _horizonClient.Fs.OpenFile(out FileHandle handle, DatabasePath, OpenMode.Read); + Result result = _horizonClient.Fs.OpenFile(out FileHandle handle, _databasePath, OpenMode.Read); if (result.IsSuccess()) { @@ -213,11 +226,11 @@ namespace Ryujinx.HLE.HOS.Services.Mii private Result ForceSaveDatabase() { - Result result = _horizonClient.Fs.CreateFile(DatabasePath, Unsafe.SizeOf<NintendoFigurineDatabase>()); + Result result = _horizonClient.Fs.CreateFile(_databasePath, Unsafe.SizeOf<NintendoFigurineDatabase>()); if (result.IsSuccess() || ResultFs.PathAlreadyExists.Includes(result)) { - result = _horizonClient.Fs.OpenFile(out FileHandle handle, DatabasePath, OpenMode.Write); + result = _horizonClient.Fs.OpenFile(out FileHandle handle, _databasePath, OpenMode.Write); if (result.IsSuccess()) { @@ -230,15 +243,15 @@ namespace Ryujinx.HLE.HOS.Services.Mii { _horizonClient.Fs.CloseFile(handle); - result = _horizonClient.Fs.DeleteFile(DatabasePath); + result = _horizonClient.Fs.DeleteFile(_databasePath); if (result.IsSuccess()) { - result = _horizonClient.Fs.CreateFile(DatabasePath, Unsafe.SizeOf<NintendoFigurineDatabase>()); + result = _horizonClient.Fs.CreateFile(_databasePath, Unsafe.SizeOf<NintendoFigurineDatabase>()); if (result.IsSuccess()) { - result = _horizonClient.Fs.OpenFile(out handle, DatabasePath, OpenMode.Write); + result = _horizonClient.Fs.OpenFile(out handle, _databasePath, OpenMode.Write); } } @@ -259,7 +272,7 @@ namespace Ryujinx.HLE.HOS.Services.Mii { _isDirty = false; - result = _horizonClient.Fs.Commit(MountName); + result = _horizonClient.Fs.Commit(_mountName); } return result; |