diff --git a/SabreTools.Models/BDPlus/Constants.cs b/SabreTools.Models/BDPlus/Constants.cs
index 19c7957..0b357b9 100644
--- a/SabreTools.Models/BDPlus/Constants.cs
+++ b/SabreTools.Models/BDPlus/Constants.cs
@@ -2,6 +2,8 @@ namespace SabreTools.Models.BDPlus
{
public static class Constants
{
+ public static readonly byte[] SignatureBytes = [0x42, 0x44, 0x53, 0x56, 0x4D, 0x5F, 0x43, 0x43];
+
public const string SignatureString = "BDSVM_CC";
}
}
\ No newline at end of file
diff --git a/SabreTools.Models/BZip2/Constants.cs b/SabreTools.Models/BZip2/Constants.cs
new file mode 100644
index 0000000..ca4cfeb
--- /dev/null
+++ b/SabreTools.Models/BZip2/Constants.cs
@@ -0,0 +1,9 @@
+namespace SabreTools.Models.BZip2
+{
+ public static class Constants
+ {
+ public static readonly byte[] SignatureBytes = [0x42, 0x52, 0x68];
+
+ public const string SignatureString = "BRh";
+ }
+}
\ No newline at end of file
diff --git a/SabreTools.Models/CHD/Constants.cs b/SabreTools.Models/CHD/Constants.cs
index 69b6bb1..863c712 100644
--- a/SabreTools.Models/CHD/Constants.cs
+++ b/SabreTools.Models/CHD/Constants.cs
@@ -2,6 +2,8 @@ namespace SabreTools.Models.CHD
{
public static class Constants
{
+ public static readonly byte[] SignatureBytes = [0x4D, 0x43, 0x6F, 0x6D, 0x70, 0x72, 0x48, 0x44];
+
public const string SignatureString = "MComprHD";
#region Header Sizes
diff --git a/SabreTools.Models/InstallShieldArchiveV3/Constants.cs b/SabreTools.Models/InstallShieldArchiveV3/Constants.cs
index fbca1ca..3c93a3b 100644
--- a/SabreTools.Models/InstallShieldArchiveV3/Constants.cs
+++ b/SabreTools.Models/InstallShieldArchiveV3/Constants.cs
@@ -3,5 +3,7 @@ namespace SabreTools.Models.InstallShieldArchiveV3
public static class Constants
{
public const uint HeaderSignature = 0x8C655D13;
+
+ public static readonly byte[] HeaderSignatureBytes = [0x13, 0x5D, 0x65, 0x8C];
}
}
\ No newline at end of file
diff --git a/SabreTools.Models/LDSCRYPT/Constants.cs b/SabreTools.Models/LDSCRYPT/Constants.cs
new file mode 100644
index 0000000..60beb66
--- /dev/null
+++ b/SabreTools.Models/LDSCRYPT/Constants.cs
@@ -0,0 +1,9 @@
+namespace SabreTools.Models.LDSCRYPT
+{
+ public static class Constants
+ {
+ public static readonly byte[] SignatureBytes = [0x4C, 0x44, 0x53, 0x43, 0x52, 0x59, 0x50, 0x54];
+
+ public const string SignatureString = "LDSCRYPT";
+ }
+}
\ No newline at end of file
diff --git a/SabreTools.Models/PFF/Constants.cs b/SabreTools.Models/PFF/Constants.cs
index 40b1050..58bd89a 100644
--- a/SabreTools.Models/PFF/Constants.cs
+++ b/SabreTools.Models/PFF/Constants.cs
@@ -3,20 +3,32 @@ namespace SabreTools.Models.PFF
///
public static class Constants
{
+ public static readonly byte[] Version0SignatureBytes = [0x50, 0x46, 0x46, 0x30];
+
public const string Version0SignatureString = "PFF0";
+
public const uint Version0HSegmentSize = 0x00000020;
// Version 1 not confirmed
// public const string Version1SignatureString = "PFF1";
// public const uint Version1SegmentSize = 0x00000020;
+ public static readonly byte[] Version2SignatureBytes = [0x50, 0x46, 0x46, 0x32];
+
public const string Version2SignatureString = "PFF2";
+
public const uint Version2SegmentSize = 0x00000020;
+ public static readonly byte[] Version3SignatureBytes = [0x50, 0x46, 0x46, 0x33];
+
public const string Version3SignatureString = "PFF3";
+
public const uint Version3SegmentSize = 0x00000024;
+ public static readonly byte[] Version4SignatureBytes = [0x50, 0x46, 0x46, 0x34];
+
public const string Version4SignatureString = "PFF4";
+
public const uint Version4SegmentSize = 0x00000028;
public const string FooterKingTag = "KING";
diff --git a/SabreTools.Models/RAR/Constants.cs b/SabreTools.Models/RAR/Constants.cs
new file mode 100644
index 0000000..f942168
--- /dev/null
+++ b/SabreTools.Models/RAR/Constants.cs
@@ -0,0 +1,9 @@
+namespace SabreTools.Models.RAR
+{
+ public static class Constants
+ {
+ public static readonly byte[] OldSignatureBytes = [0x52, 0x61, 0x72, 0x21, 0x1A, 0x07, 0x00];
+
+ public static readonly byte[] NewSignatureBytes = [0x52, 0x61, 0x72, 0x21, 0x1A, 0x07, 0x01, 0x00];
+ }
+}
\ No newline at end of file
diff --git a/SabreTools.Models/RealArcade/Constants.cs b/SabreTools.Models/RealArcade/Constants.cs
new file mode 100644
index 0000000..7163c08
--- /dev/null
+++ b/SabreTools.Models/RealArcade/Constants.cs
@@ -0,0 +1,13 @@
+namespace SabreTools.Models.RealArcades
+{
+ public static class Constants
+ {
+ public static readonly byte[] MezzanineSignatureBytes = [0x58, 0x5A, 0x69, 0x70, 0x32, 0x2E, 0x30];
+
+ public const string MezzanineSignatureString = "XZip2.0";
+
+ public static readonly byte[] RgsSignatureBytes = [0x52, 0x41, 0x53, 0x47, 0x49, 0x32, 0x2E, 0x30];
+
+ public const string RgsSignatureString = "RASGI2.0";
+ }
+}
\ No newline at end of file
diff --git a/SabreTools.Models/SevenZip/Constants.cs b/SabreTools.Models/SevenZip/Constants.cs
new file mode 100644
index 0000000..024a5df
--- /dev/null
+++ b/SabreTools.Models/SevenZip/Constants.cs
@@ -0,0 +1,7 @@
+namespace SabreTools.Models.SevenZip
+{
+ public static class Constants
+ {
+ public static readonly byte[] SignatureBytes = [0x37, 0x7A, 0xBC, 0xAF, 0x27, 0x1C];
+ }
+}
\ No newline at end of file
diff --git a/SabreTools.Models/TAR/Constants.cs b/SabreTools.Models/TAR/Constants.cs
new file mode 100644
index 0000000..e1dbb75
--- /dev/null
+++ b/SabreTools.Models/TAR/Constants.cs
@@ -0,0 +1,9 @@
+namespace SabreTools.Models.TAR
+{
+ public static class Constants
+ {
+ public static readonly byte[] UstarSignatureBytes = [0x75, 0x73, 0x74, 0x61, 0x72];
+
+ public const string UstarSignatureString = "ustar";
+ }
+}
\ No newline at end of file
diff --git a/SabreTools.Models/TAR/Header.cs b/SabreTools.Models/TAR/Header.cs
index 6bc18d5..99447c0 100644
--- a/SabreTools.Models/TAR/Header.cs
+++ b/SabreTools.Models/TAR/Header.cs
@@ -68,9 +68,9 @@ namespace SabreTools.Models.TAR
#region USTAR Extension
///
- /// UStar indicator, "ustar", then NUL
+ /// UStar indicator, "ustar"
///
- [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 6)]
+ [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
public string? Magic;
///
diff --git a/SabreTools.Models/XZ/Constants.cs b/SabreTools.Models/XZ/Constants.cs
new file mode 100644
index 0000000..984eda3
--- /dev/null
+++ b/SabreTools.Models/XZ/Constants.cs
@@ -0,0 +1,7 @@
+namespace SabreTools.Models.XZ
+{
+ public static class Constants
+ {
+ public static readonly byte[] SignatureBytes = [0xFD, 0x37, 0x7A, 0x58, 0x5A, 0x00];
+ }
+}
\ No newline at end of file