From d3e340ae3917fd56c556dbf9adc62e3d32309dc4 Mon Sep 17 00:00:00 2001 From: Matt Nadareski Date: Sun, 2 Nov 2025 23:21:29 -0500 Subject: [PATCH] Add and use MPQ filename constants --- .../Models/MoPaQ/Constants.cs | 24 +++++++++++++++++++ .../Wrappers/MoPaQ.Extraction.cs | 3 ++- 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/SabreTools.Serialization/Models/MoPaQ/Constants.cs b/SabreTools.Serialization/Models/MoPaQ/Constants.cs index 0192e812..02fecae5 100644 --- a/SabreTools.Serialization/Models/MoPaQ/Constants.cs +++ b/SabreTools.Serialization/Models/MoPaQ/Constants.cs @@ -79,5 +79,29 @@ namespace SabreTools.Data.Models.MoPaQ public const uint MPQ_KEY_HASH_TABLE = 0xC3AF3770; #endregion + + #region Special Entry Names + + /// + /// Name of internal listfile + /// + public const string LISTFILE_NAME = "(listfile)"; + + /// + /// Name of internal signature + /// + public const string SIGNATURE_NAME = "(signature)"; + + /// + /// Name of internal attributes file + /// + public const string ATTRIBUTES_NAME = "(attributes)"; + + /// + /// Patch metadata + /// + public const string PATCH_METADATA_NAME = "(patch_metadata)"; + + #endregion } } diff --git a/SabreTools.Serialization/Wrappers/MoPaQ.Extraction.cs b/SabreTools.Serialization/Wrappers/MoPaQ.Extraction.cs index 2f47019b..6b391126 100644 --- a/SabreTools.Serialization/Wrappers/MoPaQ.Extraction.cs +++ b/SabreTools.Serialization/Wrappers/MoPaQ.Extraction.cs @@ -1,6 +1,7 @@ using System; using System.IO; using StormLibSharp; +using static SabreTools.Data.Models.MoPaQ.Constants; namespace SabreTools.Serialization.Wrappers { @@ -24,7 +25,7 @@ namespace SabreTools.Serialization.Wrappers // Try to open the archive and listfile var mpqArchive = new MpqArchive(Filename, FileAccess.Read); string? listfile = null; - MpqFileStream listStream = mpqArchive.OpenFile("(listfile)"); + MpqFileStream listStream = mpqArchive.OpenFile(LISTFILE_NAME); // If we can't read the listfile, we just return if (!listStream.CanRead)