diff --git a/SabreTools.DatFiles/Enums.cs b/SabreTools.DatFiles/Enums.cs
index 24b2613f..26988736 100644
--- a/SabreTools.DatFiles/Enums.cs
+++ b/SabreTools.DatFiles/Enums.cs
@@ -256,5 +256,11 @@ namespace SabreTools.DatFiles
///
[Mapping("flat")]
Flat,
+
+ ///
+ /// Force all sets to have all archives treated as files
+ ///
+ [Mapping("fileonly")]
+ FileOnly,
}
}
\ No newline at end of file
diff --git a/SabreTools.DatTools/Rebuilder.cs b/SabreTools.DatTools/Rebuilder.cs
index 1d55bd17..2158c5f6 100644
--- a/SabreTools.DatTools/Rebuilder.cs
+++ b/SabreTools.DatTools/Rebuilder.cs
@@ -808,6 +808,7 @@ namespace SabreTools.DatTools
PackingFlag.Unzip => OutputFormat.Folder,
PackingFlag.Partial => OutputFormat.Folder,
PackingFlag.Flat => OutputFormat.ParentFolder,
+ PackingFlag.FileOnly => OutputFormat.Folder,
PackingFlag.None => OutputFormat.Folder,
_ => OutputFormat.Folder,
};
diff --git a/SabreTools.Test/Core/ConvertersTests.cs b/SabreTools.Test/Core/ConvertersTests.cs
index ab3b20db..e0954d77 100644
--- a/SabreTools.Test/Core/ConvertersTests.cs
+++ b/SabreTools.Test/Core/ConvertersTests.cs
@@ -290,6 +290,7 @@ namespace SabreTools.Test.Core
[InlineData("unzip", PackingFlag.Unzip)]
[InlineData("partial", PackingFlag.Partial)]
[InlineData("flat", PackingFlag.Flat)]
+ [InlineData("fileonly", PackingFlag.FileOnly)]
public void AsPackingFlagTest(string? field, PackingFlag expected)
{
PackingFlag actual = field.AsEnumValue();
@@ -638,6 +639,8 @@ namespace SabreTools.Test.Core
[InlineData(PackingFlag.Partial, false, "partial")]
[InlineData(PackingFlag.Flat, true, "flat")]
[InlineData(PackingFlag.Flat, false, "flat")]
+ [InlineData(PackingFlag.FileOnly, true, "fileonly")]
+ [InlineData(PackingFlag.FileOnly, false, "fileonly")]
public void FromPackingFlagTest(PackingFlag field, bool useSecond, string? expected)
{
string? actual = field.AsStringValue(useSecond);
@@ -724,7 +727,7 @@ namespace SabreTools.Test.Core
[InlineData(MergingFlag.None, 12)]
[InlineData(NodumpFlag.None, 4)]
[InlineData(OpenMSXSubType.NULL, 3)]
- [InlineData(PackingFlag.None, 7)]
+ [InlineData(PackingFlag.None, 8)]
[InlineData(Relation.NULL, 6)]
[InlineData(Runnable.NULL, 3)]
[InlineData(SoftwareListStatus.None, 3)]