diff --git a/BurnOutSharp.Builders/VPK.cs b/BurnOutSharp.Builders/VPK.cs
index 7b14a83f..2bfb7408 100644
--- a/BurnOutSharp.Builders/VPK.cs
+++ b/BurnOutSharp.Builders/VPK.cs
@@ -3,30 +3,12 @@ using System.IO;
using System.Text;
using BurnOutSharp.Models.VPK;
using BurnOutSharp.Utilities;
+using static BurnOutSharp.Models.VPK.Constants;
namespace BurnOutSharp.Builders
{
public static class VPK
{
- #region Constants
-
- ///
- /// VPK header signature as an integer
- ///
- public const int HL_VPK_SIGNATURE = 0x55aa1234;
-
- ///
- /// Index indicating that there is no archive
- ///
- public const int HL_VPK_NO_ARCHIVE = 0x7fff;
-
- ///
- /// Length of a VPK checksum in bytes
- ///
- public const int HL_VPK_CHECKSUM_LENGTH = 0x00008000;
-
- #endregion
-
#region Byte Data
///
@@ -147,7 +129,7 @@ namespace BurnOutSharp.Builders
Header header = new Header();
header.Signature = data.ReadUInt32();
- if (header.Signature != HL_VPK_SIGNATURE)
+ if (header.Signature != SignatureUInt32)
return null;
header.Version = data.ReadUInt32();
diff --git a/BurnOutSharp.Models/VPK/Constants.cs b/BurnOutSharp.Models/VPK/Constants.cs
new file mode 100644
index 00000000..2c739443
--- /dev/null
+++ b/BurnOutSharp.Models/VPK/Constants.cs
@@ -0,0 +1,21 @@
+namespace BurnOutSharp.Models.VPK
+{
+ public static class Constants
+ {
+ public static readonly byte[] SignatureBytes = new byte[] { 0x34, 0x12, 0xaa, 0x55 };
+
+ public const string SignatureString = "4\u0012\u00aaU";
+
+ public const uint SignatureUInt32 = 0x55aa1234;
+
+ ///
+ /// Index indicating that there is no archive
+ ///
+ public const int HL_VPK_NO_ARCHIVE = 0x7fff;
+
+ ///
+ /// Length of a VPK checksum in bytes
+ ///
+ public const int HL_VPK_CHECKSUM_LENGTH = 0x00008000;
+ }
+}
\ No newline at end of file
diff --git a/BurnOutSharp.Wrappers/VPK.cs b/BurnOutSharp.Wrappers/VPK.cs
index 3b8568b4..77e7c7eb 100644
--- a/BurnOutSharp.Wrappers/VPK.cs
+++ b/BurnOutSharp.Wrappers/VPK.cs
@@ -2,6 +2,7 @@ using System;
using System.IO;
using System.Linq;
using BurnOutSharp.Utilities;
+using static BurnOutSharp.Models.VPK.Constants;
namespace BurnOutSharp.Wrappers
{
@@ -83,7 +84,7 @@ namespace BurnOutSharp.Wrappers
int archiveCount = DirectoryItems
.Select(di => di.DirectoryEntry)
.Select(de => de.ArchiveIndex)
- .Where(ai => ai != Builders.VPK.HL_VPK_NO_ARCHIVE)
+ .Where(ai => ai != HL_VPK_NO_ARCHIVE)
.Max();
// Build the list of archive filenames to populate
@@ -342,7 +343,7 @@ namespace BurnOutSharp.Wrappers
// If we have an item with no archive
byte[] data;
- if (directoryItem.DirectoryEntry.ArchiveIndex == Builders.VPK.HL_VPK_NO_ARCHIVE)
+ if (directoryItem.DirectoryEntry.ArchiveIndex == HL_VPK_NO_ARCHIVE)
{
if (directoryItem.PreloadData == null)
return false;