mirror of
https://github.com/kwsch/NHSE.git
synced 2026-10-01 06:16:38 -05:00
@@ -19,6 +19,8 @@ public class FileHeaderInfo : IEquatable<FileHeaderInfo>
|
||||
/* 0x0C */ public ushort Unk2;
|
||||
/* 0x0E */ public ushort SaveRevision;
|
||||
|
||||
public override string ToString() => $"Major = 0x{Major:X}, Minor = 0x{Minor:X}, HeaderRevision = {HeaderRevision}, Unk1 = {Unk1}, SaveRevision = {SaveRevision}, Unk2 = {Unk2}";
|
||||
|
||||
public bool Equals(FileHeaderInfo? other)
|
||||
{
|
||||
if (other is null)
|
||||
|
||||
@@ -35,6 +35,7 @@ public static class RevisionChecker
|
||||
new FileHeaderInfo { Major = 0x50001, Minor = 0x5000B, HeaderRevision = 0, Unk1 = 2, SaveRevision = 11, Unk2 = 2 }, // 1.4.1
|
||||
new FileHeaderInfo { Major = 0x50001, Minor = 0x5000B, HeaderRevision = 0, Unk1 = 2, SaveRevision = 12, Unk2 = 2 }, // 1.4.2
|
||||
new FileHeaderInfo { Major = 0x60001, Minor = 0x6000C, HeaderRevision = 0, Unk1 = 2, SaveRevision = 13, Unk2 = 2 }, // 1.5.0
|
||||
new FileHeaderInfo { Major = 0x60001, Minor = 0x6000C, HeaderRevision = 0, Unk1 = 2, SaveRevision = 14, Unk2 = 2 }, // 1.5.1
|
||||
};
|
||||
|
||||
public static readonly IReadOnlyList<SaveFileSizes> SizeInfo = new[]
|
||||
@@ -53,6 +54,7 @@ public static class RevisionChecker
|
||||
SizesByRevision[4], // 1.4.1
|
||||
SizesByRevision[4], // 1.4.2
|
||||
SizesByRevision[5], // 1.5.0
|
||||
SizesByRevision[5], // 1.5.1
|
||||
};
|
||||
|
||||
public static readonly IReadOnlyList<FileHashInfo> HashInfo = new[]
|
||||
@@ -71,6 +73,7 @@ public static class RevisionChecker
|
||||
FileHashRevision.REV_140, // 1.4.1
|
||||
FileHashRevision.REV_140, // 1.4.2
|
||||
FileHashRevision.REV_150, // 1.5.0
|
||||
FileHashRevision.REV_150, // 1.5.1
|
||||
};
|
||||
|
||||
public static bool IsRevisionKnown(this FileHeaderInfo info) => info.GetKnownRevisionIndex() >= 0;
|
||||
|
||||
@@ -66,7 +66,8 @@ public static MainSaveOffsets GetOffsets(FileHeaderInfo Info)
|
||||
11 => new MainSaveOffsets14(),
|
||||
12 => new MainSaveOffsets14(),
|
||||
13 => new MainSaveOffsets15(),
|
||||
_ => throw new IndexOutOfRangeException("Unknown revision!"),
|
||||
14 => new MainSaveOffsets15(),
|
||||
_ => throw new IndexOutOfRangeException("Unknown revision!" + Environment.NewLine + Info),
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -58,7 +58,8 @@ public static PersonalOffsets GetOffsets(FileHeaderInfo Info)
|
||||
11 => new PersonalOffsets14(),
|
||||
12 => new PersonalOffsets14(),
|
||||
13 => new PersonalOffsets15(),
|
||||
_ => throw new IndexOutOfRangeException("Unknown revision!"),
|
||||
14 => new PersonalOffsets15(),
|
||||
_ => throw new IndexOutOfRangeException("Unknown revision!" + Environment.NewLine + Info),
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user