aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.HLE/HOS/Services/Caps/CaptureManager.cs
diff options
context:
space:
mode:
authorBerkan Diler <berkan.diler1@ingka.ikea.com>2022-12-24 18:30:39 +0100
committerGitHub <noreply@github.com>2022-12-24 14:30:39 -0300
commit37d27c4c99486312d9a282d7fc056c657efe0848 (patch)
tree51b77d6c112064039ed1eadb279251da6039cbc4 /Ryujinx.HLE/HOS/Services/Caps/CaptureManager.cs
parentf906eb06c28880c20160cb4a969e3f6fddb3029b (diff)
Some minor cleanups and optimizations (#4174)1.1.489
* Replace Array.Clear(x, 0, x.Length) with Array.Clear(x) * Use DateTime.UnixEpoch field * Replace SHA256.ComputeHash calls with static SHA256.HashData call More performant and avoids the need to initialize a SHA256 instance.
Diffstat (limited to 'Ryujinx.HLE/HOS/Services/Caps/CaptureManager.cs')
-rw-r--r--Ryujinx.HLE/HOS/Services/Caps/CaptureManager.cs29
1 files changed, 13 insertions, 16 deletions
diff --git a/Ryujinx.HLE/HOS/Services/Caps/CaptureManager.cs b/Ryujinx.HLE/HOS/Services/Caps/CaptureManager.cs
index 35781562..522de8e0 100644
--- a/Ryujinx.HLE/HOS/Services/Caps/CaptureManager.cs
+++ b/Ryujinx.HLE/HOS/Services/Caps/CaptureManager.cs
@@ -100,27 +100,24 @@ namespace Ryujinx.HLE.HOS.Services.Caps
Unknown0x1f = 1
};
- using (SHA256 sha256Hash = SHA256.Create())
- {
- // NOTE: The hex hash is a HMAC-SHA256 (first 32 bytes) using a hardcoded secret key over the titleId, we can simulate it by hashing the titleId instead.
- string hash = BitConverter.ToString(sha256Hash.ComputeHash(BitConverter.GetBytes(titleId))).Replace("-", "").Remove(0x20);
- string folderPath = Path.Combine(_sdCardPath, "Nintendo", "Album", currentDateTime.Year.ToString("00"), currentDateTime.Month.ToString("00"), currentDateTime.Day.ToString("00"));
- string filePath = GenerateFilePath(folderPath, applicationAlbumEntry, currentDateTime, hash);
+ // NOTE: The hex hash is a HMAC-SHA256 (first 32 bytes) using a hardcoded secret key over the titleId, we can simulate it by hashing the titleId instead.
+ string hash = BitConverter.ToString(SHA256.HashData(BitConverter.GetBytes(titleId))).Replace("-", "").Remove(0x20);
+ string folderPath = Path.Combine(_sdCardPath, "Nintendo", "Album", currentDateTime.Year.ToString("00"), currentDateTime.Month.ToString("00"), currentDateTime.Day.ToString("00"));
+ string filePath = GenerateFilePath(folderPath, applicationAlbumEntry, currentDateTime, hash);
- // TODO: Handle that using the FS service implementation and return the right error code instead of throwing exceptions.
- Directory.CreateDirectory(folderPath);
+ // TODO: Handle that using the FS service implementation and return the right error code instead of throwing exceptions.
+ Directory.CreateDirectory(folderPath);
- while (File.Exists(filePath))
- {
- applicationAlbumEntry.AlbumFileDateTime.UniqueId++;
+ while (File.Exists(filePath))
+ {
+ applicationAlbumEntry.AlbumFileDateTime.UniqueId++;
- filePath = GenerateFilePath(folderPath, applicationAlbumEntry, currentDateTime, hash);
- }
-
- // NOTE: The saved JPEG file doesn't have the limitation in the extra EXIF data.
- Image.LoadPixelData<Rgba32>(screenshotData, 1280, 720).SaveAsJpegAsync(filePath);
+ filePath = GenerateFilePath(folderPath, applicationAlbumEntry, currentDateTime, hash);
}
+ // NOTE: The saved JPEG file doesn't have the limitation in the extra EXIF data.
+ Image.LoadPixelData<Rgba32>(screenshotData, 1280, 720).SaveAsJpegAsync(filePath);
+
return ResultCode.Success;
}