SystemVersion.cs
1 using Ryujinx.HLE.Utilities; 2 using System.IO; 3 4 namespace Ryujinx.HLE.FileSystem 5 { 6 public class SystemVersion 7 { 8 public byte Major { get; } 9 public byte Minor { get; } 10 public byte Micro { get; } 11 public byte RevisionMajor { get; } 12 public byte RevisionMinor { get; } 13 public string PlatformString { get; } 14 public string Hex { get; } 15 public string VersionString { get; } 16 public string VersionTitle { get; } 17 18 public SystemVersion(Stream systemVersionFile) 19 { 20 using BinaryReader reader = new(systemVersionFile); 21 Major = reader.ReadByte(); 22 Minor = reader.ReadByte(); 23 Micro = reader.ReadByte(); 24 25 reader.ReadByte(); // Padding 26 27 RevisionMajor = reader.ReadByte(); 28 RevisionMinor = reader.ReadByte(); 29 30 reader.ReadBytes(2); // Padding 31 32 PlatformString = StringUtils.ReadInlinedAsciiString(reader, 0x20); 33 Hex = StringUtils.ReadInlinedAsciiString(reader, 0x40); 34 VersionString = StringUtils.ReadInlinedAsciiString(reader, 0x18); 35 VersionTitle = StringUtils.ReadInlinedAsciiString(reader, 0x80); 36 } 37 } 38 }