mirror of
https://github.com/claunia/SabreTools.git
synced 2025-12-16 19:14:27 +00:00
Move to MergingFlag
This commit is contained in:
@@ -162,18 +162,18 @@ namespace SabreTools.Library.DatFiles
|
||||
superdat = superdat || itemVal.Contains("SuperDAT");
|
||||
break;
|
||||
case "forcemerging":
|
||||
if (Header.ForceMerging == ForceMerging.None)
|
||||
Header.ForceMerging = itemVal.AsForceMerging();
|
||||
if (Header.ForceMerging == MergingFlag.None)
|
||||
Header.ForceMerging = itemVal.AsMergingFlag();
|
||||
|
||||
break;
|
||||
case "forcezipping":
|
||||
if (Header.ForcePacking == ForcePacking.None)
|
||||
Header.ForcePacking = itemVal.AsForcePacking();
|
||||
if (Header.ForcePacking == PackingFlag.None)
|
||||
Header.ForcePacking = itemVal.AsPackingFlag();
|
||||
|
||||
break;
|
||||
case "forcepacking":
|
||||
if (Header.ForcePacking == ForcePacking.None)
|
||||
Header.ForcePacking = itemVal.AsForcePacking();
|
||||
if (Header.ForcePacking == PackingFlag.None)
|
||||
Header.ForcePacking = itemVal.AsPackingFlag();
|
||||
|
||||
break;
|
||||
}
|
||||
@@ -567,26 +567,26 @@ namespace SabreTools.Library.DatFiles
|
||||
|
||||
switch (Header.ForcePacking)
|
||||
{
|
||||
case ForcePacking.Unzip:
|
||||
case PackingFlag.Unzip:
|
||||
cmpw.WriteStandalone("forcezipping", "no", false);
|
||||
break;
|
||||
case ForcePacking.Zip:
|
||||
case PackingFlag.Zip:
|
||||
cmpw.WriteStandalone("forcezipping", "yes", false);
|
||||
break;
|
||||
}
|
||||
|
||||
switch (Header.ForceMerging)
|
||||
{
|
||||
case ForceMerging.Full:
|
||||
case MergingFlag.Full:
|
||||
cmpw.WriteStandalone("forcemerging", "full", false);
|
||||
break;
|
||||
case ForceMerging.Split:
|
||||
case MergingFlag.Split:
|
||||
cmpw.WriteStandalone("forcemerging", "split", false);
|
||||
break;
|
||||
case ForceMerging.Merged:
|
||||
case MergingFlag.Merged:
|
||||
cmpw.WriteStandalone("forcemerging", "merged", false);
|
||||
break;
|
||||
case ForceMerging.NonMerged:
|
||||
case MergingFlag.NonMerged:
|
||||
cmpw.WriteStandalone("forcemerging", "nonmerged", false);
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -2382,14 +2382,14 @@ namespace SabreTools.Library.DatFiles
|
||||
outDir = DirectoryExtensions.Ensure(outDir, create: true);
|
||||
|
||||
// Now we want to get forcepack flag if it's not overridden
|
||||
if (outputFormat == OutputFormat.Folder && Header.ForcePacking != ForcePacking.None)
|
||||
if (outputFormat == OutputFormat.Folder && Header.ForcePacking != PackingFlag.None)
|
||||
{
|
||||
switch (Header.ForcePacking)
|
||||
{
|
||||
case ForcePacking.Zip:
|
||||
case PackingFlag.Zip:
|
||||
outputFormat = OutputFormat.TorrentZip;
|
||||
break;
|
||||
case ForcePacking.Unzip:
|
||||
case PackingFlag.Unzip:
|
||||
outputFormat = OutputFormat.Folder;
|
||||
break;
|
||||
}
|
||||
@@ -2569,14 +2569,14 @@ namespace SabreTools.Library.DatFiles
|
||||
}
|
||||
|
||||
// Now we want to get forcepack flag if it's not overridden
|
||||
if (outputFormat == OutputFormat.Folder && Header.ForcePacking != ForcePacking.None)
|
||||
if (outputFormat == OutputFormat.Folder && Header.ForcePacking != PackingFlag.None)
|
||||
{
|
||||
switch (Header.ForcePacking)
|
||||
{
|
||||
case ForcePacking.Zip:
|
||||
case PackingFlag.Zip:
|
||||
outputFormat = OutputFormat.TorrentZip;
|
||||
break;
|
||||
case ForcePacking.Unzip:
|
||||
case PackingFlag.Unzip:
|
||||
outputFormat = OutputFormat.Folder;
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -106,21 +106,21 @@ namespace SabreTools.Library.DatFiles
|
||||
/// </summary>
|
||||
/// TODO: Make nullable
|
||||
[JsonProperty("forcemerging")]
|
||||
public ForceMerging ForceMerging { get; set; }
|
||||
public MergingFlag ForceMerging { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Force nodump handling when loaded
|
||||
/// </summary>
|
||||
/// TODO: Make nullable
|
||||
[JsonProperty("forcenodump")]
|
||||
public ForceNodump ForceNodump { get; set; }
|
||||
public NodumpFlag ForceNodump { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Force output packing when loaded
|
||||
/// </summary>
|
||||
/// TODO: Make nullable
|
||||
[JsonProperty("forcepacking")]
|
||||
public ForcePacking ForcePacking { get; set; }
|
||||
public PackingFlag ForcePacking { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Read or write format
|
||||
@@ -206,38 +206,41 @@ namespace SabreTools.Library.DatFiles
|
||||
/// <summary>
|
||||
/// RomCenter rom mode
|
||||
/// </summary>
|
||||
/// <remarks>(merged|split|unmerged) "split"</remarks>
|
||||
[JsonProperty("rommode")]
|
||||
public string RomMode { get; set; } // (merged|split|unmerged) "split"
|
||||
public MergingFlag RomMode { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// RomCenter bios mode
|
||||
/// </summary>
|
||||
/// <remarks>(merged|split|unmerged) "split"</remarks>
|
||||
[JsonProperty("biosmode")]
|
||||
public string BiosMode { get; set; } // (merged|split|unmerged) "split"
|
||||
public MergingFlag BiosMode { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// RomCenter sample mode
|
||||
/// </summary>
|
||||
/// <remarks>(merged|unmerged) "merged"</remarks>
|
||||
[JsonProperty("samplemode")]
|
||||
public string SampleMode { get; set; } // (merged|unmerged) "merged"
|
||||
public MergingFlag SampleMode { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// RomCenter lock rom mode
|
||||
/// </summary>
|
||||
[JsonProperty("lockrommode")]
|
||||
public bool? LockRomMode { get; set; } // (yes|no) "no"
|
||||
public bool? LockRomMode { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// RomCenter lock bios mode
|
||||
/// </summary>
|
||||
[JsonProperty("lockbiosmode")]
|
||||
public bool? LockBiosMode { get; set; } // (yes|no) "no"
|
||||
public bool? LockBiosMode { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// RomCenter lock sample mode
|
||||
/// </summary>
|
||||
[JsonProperty("locksamplemode")]
|
||||
public bool? LockSampleMode { get; set; } // (yes|no) "no"
|
||||
public bool? LockSampleMode { get; set; }
|
||||
|
||||
#endregion
|
||||
|
||||
@@ -537,13 +540,13 @@ namespace SabreTools.Library.DatFiles
|
||||
if (!string.IsNullOrWhiteSpace(datHeader.Type))
|
||||
Type = datHeader.Type;
|
||||
|
||||
if (datHeader.ForceMerging != ForceMerging.None)
|
||||
if (datHeader.ForceMerging != MergingFlag.None)
|
||||
ForceMerging = datHeader.ForceMerging;
|
||||
|
||||
if (datHeader.ForceNodump != ForceNodump.None)
|
||||
if (datHeader.ForceNodump != NodumpFlag.None)
|
||||
ForceNodump = datHeader.ForceNodump;
|
||||
|
||||
if (datHeader.ForcePacking != ForcePacking.None)
|
||||
if (datHeader.ForcePacking != PackingFlag.None)
|
||||
ForcePacking = datHeader.ForcePacking;
|
||||
|
||||
if (datHeader.DatFormat != 0x00)
|
||||
|
||||
@@ -196,39 +196,6 @@ namespace SabreTools.Library.DatFiles
|
||||
SHA512,
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Determines forcemerging tag for DAT output
|
||||
/// </summary>
|
||||
public enum ForceMerging
|
||||
{
|
||||
None = 0,
|
||||
Split,
|
||||
Merged,
|
||||
NonMerged,
|
||||
Full,
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Determines forcenodump tag for DAT output
|
||||
/// </summary>
|
||||
public enum ForceNodump
|
||||
{
|
||||
None = 0,
|
||||
Obsolete,
|
||||
Required,
|
||||
Ignore,
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Determines forcepacking tag for DAT output
|
||||
/// </summary>
|
||||
public enum ForcePacking
|
||||
{
|
||||
None = 0,
|
||||
Zip,
|
||||
Unzip,
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Available hashing types
|
||||
/// </summary>
|
||||
@@ -256,6 +223,39 @@ namespace SabreTools.Library.DatFiles
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Determines merging tag handling for DAT output
|
||||
/// </summary>
|
||||
public enum MergingFlag
|
||||
{
|
||||
None = 0,
|
||||
Split,
|
||||
Merged,
|
||||
NonMerged,
|
||||
Full,
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Determines nodump tag handling for DAT output
|
||||
/// </summary>
|
||||
public enum NodumpFlag
|
||||
{
|
||||
None = 0,
|
||||
Obsolete,
|
||||
Required,
|
||||
Ignore,
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Determines packing tag handling for DAT output
|
||||
/// </summary>
|
||||
public enum PackingFlag
|
||||
{
|
||||
None = 0,
|
||||
Zip,
|
||||
Unzip,
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Determines which files should be skipped in DFD
|
||||
/// </summary>
|
||||
|
||||
@@ -194,20 +194,20 @@ namespace SabreTools.Library.DatFiles
|
||||
break;
|
||||
|
||||
case "forcemerging":
|
||||
if (Header.ForceMerging == ForceMerging.None)
|
||||
Header.ForceMerging = jtr.ReadAsString().AsForceMerging();
|
||||
if (Header.ForceMerging == MergingFlag.None)
|
||||
Header.ForceMerging = jtr.ReadAsString().AsMergingFlag();
|
||||
|
||||
break;
|
||||
|
||||
case "forcenodump":
|
||||
if (Header.ForceNodump == ForceNodump.None)
|
||||
Header.ForceNodump = jtr.ReadAsString().AsForceNodump();
|
||||
if (Header.ForceNodump == NodumpFlag.None)
|
||||
Header.ForceNodump = jtr.ReadAsString().AsNodumpFlag();
|
||||
|
||||
break;
|
||||
|
||||
case "forcepacking":
|
||||
if (Header.ForcePacking == ForcePacking.None)
|
||||
Header.ForcePacking = jtr.ReadAsString().AsForcePacking();
|
||||
if (Header.ForcePacking == PackingFlag.None)
|
||||
Header.ForcePacking = jtr.ReadAsString().AsPackingFlag();
|
||||
|
||||
break;
|
||||
|
||||
@@ -236,17 +236,17 @@ namespace SabreTools.Library.DatFiles
|
||||
|
||||
case "rommode":
|
||||
content = jtr.ReadAsString();
|
||||
Header.RomMode = (Header.RomMode == null ? content : Header.RomMode);
|
||||
Header.RomMode = (Header.RomMode == MergingFlag.None ? content.AsMergingFlag() : Header.RomMode);
|
||||
break;
|
||||
|
||||
case "biosmode":
|
||||
content = jtr.ReadAsString();
|
||||
Header.BiosMode = (Header.BiosMode == null ? content : Header.BiosMode);
|
||||
Header.BiosMode = (Header.BiosMode == MergingFlag.None ? content.AsMergingFlag() : Header.BiosMode);
|
||||
break;
|
||||
|
||||
case "samplemode":
|
||||
content = jtr.ReadAsString();
|
||||
Header.Build = (Header.SampleMode == null ? content : Header.SampleMode);
|
||||
Header.SampleMode = (Header.SampleMode == MergingFlag.None ? content.AsMergingFlag() : Header.SampleMode);
|
||||
break;
|
||||
|
||||
case "lockrommode":
|
||||
@@ -1083,50 +1083,50 @@ namespace SabreTools.Library.DatFiles
|
||||
jtw.WritePropertyName("type");
|
||||
jtw.WriteValue(Header.Type);
|
||||
}
|
||||
if (Header.ForceMerging != ForceMerging.None)
|
||||
if (Header.ForceMerging != MergingFlag.None)
|
||||
{
|
||||
jtw.WritePropertyName("forcemerging");
|
||||
switch (Header.ForceMerging)
|
||||
{
|
||||
case ForceMerging.Full:
|
||||
case MergingFlag.Full:
|
||||
jtw.WriteValue("full");
|
||||
break;
|
||||
case ForceMerging.Split:
|
||||
case MergingFlag.Split:
|
||||
jtw.WriteValue("split");
|
||||
break;
|
||||
case ForceMerging.Merged:
|
||||
case MergingFlag.Merged:
|
||||
jtw.WriteValue("merged");
|
||||
break;
|
||||
case ForceMerging.NonMerged:
|
||||
case MergingFlag.NonMerged:
|
||||
jtw.WriteValue("nonmerged");
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (Header.ForcePacking != ForcePacking.None)
|
||||
if (Header.ForcePacking != PackingFlag.None)
|
||||
{
|
||||
jtw.WritePropertyName("forcepacking");
|
||||
switch (Header.ForcePacking)
|
||||
{
|
||||
case ForcePacking.Unzip:
|
||||
case PackingFlag.Unzip:
|
||||
jtw.WriteValue("unzip");
|
||||
break;
|
||||
case ForcePacking.Zip:
|
||||
case PackingFlag.Zip:
|
||||
jtw.WriteValue("zip");
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (Header.ForceNodump != ForceNodump.None)
|
||||
if (Header.ForceNodump != NodumpFlag.None)
|
||||
{
|
||||
jtw.WritePropertyName("forcenodump");
|
||||
switch (Header.ForceNodump)
|
||||
{
|
||||
case ForceNodump.Ignore:
|
||||
case NodumpFlag.Ignore:
|
||||
jtw.WriteValue("ignore");
|
||||
break;
|
||||
case ForceNodump.Obsolete:
|
||||
case NodumpFlag.Obsolete:
|
||||
jtw.WriteValue("obsolete");
|
||||
break;
|
||||
case ForceNodump.Required:
|
||||
case NodumpFlag.Required:
|
||||
jtw.WriteValue("required");
|
||||
break;
|
||||
}
|
||||
@@ -1171,22 +1171,52 @@ namespace SabreTools.Library.DatFiles
|
||||
jtw.WriteValue(Header.Build);
|
||||
}
|
||||
|
||||
if (!string.IsNullOrWhiteSpace(Header.RomMode))
|
||||
if (Header.RomMode != MergingFlag.None)
|
||||
{
|
||||
jtw.WritePropertyName("rommode");
|
||||
jtw.WriteValue(Header.RomMode);
|
||||
switch (Header.RomMode)
|
||||
{
|
||||
case MergingFlag.Split:
|
||||
jtw.WriteValue("split");
|
||||
break;
|
||||
case MergingFlag.Merged:
|
||||
jtw.WriteValue("merged");
|
||||
break;
|
||||
case MergingFlag.NonMerged:
|
||||
jtw.WriteValue("unmerged");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (!string.IsNullOrWhiteSpace(Header.BiosMode))
|
||||
if (Header.BiosMode != MergingFlag.None)
|
||||
{
|
||||
jtw.WritePropertyName("biosmode");
|
||||
jtw.WriteValue(Header.BiosMode);
|
||||
switch (Header.BiosMode)
|
||||
{
|
||||
case MergingFlag.Split:
|
||||
jtw.WriteValue("split");
|
||||
break;
|
||||
case MergingFlag.Merged:
|
||||
jtw.WriteValue("merged");
|
||||
break;
|
||||
case MergingFlag.NonMerged:
|
||||
jtw.WriteValue("unmerged");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (!string.IsNullOrWhiteSpace(Header.SampleMode))
|
||||
if (Header.SampleMode != MergingFlag.None)
|
||||
{
|
||||
jtw.WritePropertyName("samplemode");
|
||||
jtw.WriteValue(Header.SampleMode);
|
||||
switch (Header.SampleMode)
|
||||
{
|
||||
case MergingFlag.Merged:
|
||||
jtw.WriteValue("merged");
|
||||
break;
|
||||
case MergingFlag.NonMerged:
|
||||
jtw.WriteValue("unmerged");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (Header.LockRomMode != null)
|
||||
|
||||
@@ -221,14 +221,14 @@ namespace SabreTools.Library.DatFiles
|
||||
if (Header.HeaderSkipper == null)
|
||||
Header.HeaderSkipper = reader.GetAttribute("header");
|
||||
|
||||
if (Header.ForceMerging == ForceMerging.None)
|
||||
Header.ForceMerging = reader.GetAttribute("forcemerging").AsForceMerging();
|
||||
if (Header.ForceMerging == MergingFlag.None)
|
||||
Header.ForceMerging = reader.GetAttribute("forcemerging").AsMergingFlag();
|
||||
|
||||
if (Header.ForceNodump == ForceNodump.None)
|
||||
Header.ForceNodump = reader.GetAttribute("forcenodump").AsForceNodump();
|
||||
if (Header.ForceNodump == NodumpFlag.None)
|
||||
Header.ForceNodump = reader.GetAttribute("forcenodump").AsNodumpFlag();
|
||||
|
||||
if (Header.ForcePacking == ForcePacking.None)
|
||||
Header.ForcePacking = reader.GetAttribute("forcepacking").AsForcePacking();
|
||||
if (Header.ForcePacking == PackingFlag.None)
|
||||
Header.ForcePacking = reader.GetAttribute("forcepacking").AsPackingFlag();
|
||||
|
||||
reader.Read();
|
||||
break;
|
||||
@@ -238,13 +238,13 @@ namespace SabreTools.Library.DatFiles
|
||||
Header.System = reader.GetAttribute("plugin");
|
||||
|
||||
if (Header.RomMode == null)
|
||||
Header.RomMode = reader.GetAttribute("rommode");
|
||||
Header.RomMode = reader.GetAttribute("rommode").AsMergingFlag();
|
||||
|
||||
if (Header.BiosMode == null)
|
||||
Header.BiosMode = reader.GetAttribute("biosmode");
|
||||
Header.BiosMode = reader.GetAttribute("biosmode").AsMergingFlag();
|
||||
|
||||
if (Header.SampleMode == null)
|
||||
Header.SampleMode = reader.GetAttribute("samplemode");
|
||||
Header.SampleMode = reader.GetAttribute("samplemode").AsMergingFlag();
|
||||
|
||||
if (Header.LockRomMode == null)
|
||||
Header.LockRomMode = reader.GetAttribute("lockrommode").AsYesNo();
|
||||
@@ -799,47 +799,47 @@ namespace SabreTools.Library.DatFiles
|
||||
if (!string.IsNullOrWhiteSpace(Header.Type))
|
||||
xtw.WriteElementString("type", Header.Type);
|
||||
|
||||
if (Header.ForcePacking != ForcePacking.None
|
||||
|| Header.ForceMerging != ForceMerging.None
|
||||
|| Header.ForceNodump != ForceNodump.None
|
||||
if (Header.ForcePacking != PackingFlag.None
|
||||
|| Header.ForceMerging != MergingFlag.None
|
||||
|| Header.ForceNodump != NodumpFlag.None
|
||||
|| !string.IsNullOrWhiteSpace(Header.HeaderSkipper))
|
||||
{
|
||||
xtw.WriteStartElement("clrmamepro");
|
||||
switch (Header.ForcePacking)
|
||||
{
|
||||
case ForcePacking.Unzip:
|
||||
case PackingFlag.Unzip:
|
||||
xtw.WriteAttributeString("forcepacking", "unzip");
|
||||
break;
|
||||
case ForcePacking.Zip:
|
||||
case PackingFlag.Zip:
|
||||
xtw.WriteAttributeString("forcepacking", "zip");
|
||||
break;
|
||||
}
|
||||
|
||||
switch (Header.ForceMerging)
|
||||
{
|
||||
case ForceMerging.Full:
|
||||
case MergingFlag.Full:
|
||||
xtw.WriteAttributeString("forcemerging", "full");
|
||||
break;
|
||||
case ForceMerging.Split:
|
||||
case MergingFlag.Split:
|
||||
xtw.WriteAttributeString("forcemerging", "split");
|
||||
break;
|
||||
case ForceMerging.Merged:
|
||||
case MergingFlag.Merged:
|
||||
xtw.WriteAttributeString("forcemerging", "merged");
|
||||
break;
|
||||
case ForceMerging.NonMerged:
|
||||
case MergingFlag.NonMerged:
|
||||
xtw.WriteAttributeString("forcemerging", "nonmerged");
|
||||
break;
|
||||
}
|
||||
|
||||
switch (Header.ForceNodump)
|
||||
{
|
||||
case ForceNodump.Ignore:
|
||||
case NodumpFlag.Ignore:
|
||||
xtw.WriteAttributeString("forcenodump", "ignore");
|
||||
break;
|
||||
case ForceNodump.Obsolete:
|
||||
case NodumpFlag.Obsolete:
|
||||
xtw.WriteAttributeString("forcenodump", "obsolete");
|
||||
break;
|
||||
case ForceNodump.Required:
|
||||
case NodumpFlag.Required:
|
||||
xtw.WriteAttributeString("forcenodump", "required");
|
||||
break;
|
||||
}
|
||||
@@ -852,23 +852,50 @@ namespace SabreTools.Library.DatFiles
|
||||
}
|
||||
|
||||
if (Header.System != null
|
||||
|| Header.RomMode != null || Header.LockRomMode != null
|
||||
|| Header.BiosMode != null || Header.LockBiosMode != null
|
||||
|| Header.SampleMode != null || Header.LockSampleMode != null)
|
||||
|| Header.RomMode != MergingFlag.None || Header.LockRomMode != null
|
||||
|| Header.BiosMode != MergingFlag.None || Header.LockBiosMode != null
|
||||
|| Header.SampleMode != MergingFlag.None || Header.LockSampleMode != null)
|
||||
{
|
||||
xtw.WriteStartElement("romcenter");
|
||||
|
||||
if (!string.IsNullOrWhiteSpace(Header.System))
|
||||
xtw.WriteAttributeString("plugin", Header.System);
|
||||
|
||||
if (!string.IsNullOrWhiteSpace(Header.RomMode))
|
||||
xtw.WriteAttributeString("rommode", Header.RomMode);
|
||||
switch (Header.RomMode)
|
||||
{
|
||||
case MergingFlag.Split:
|
||||
xtw.WriteAttributeString("rommode", "split");
|
||||
break;
|
||||
case MergingFlag.Merged:
|
||||
xtw.WriteAttributeString("rommode", "merged");
|
||||
break;
|
||||
case MergingFlag.NonMerged:
|
||||
xtw.WriteAttributeString("rommode", "unmerged");
|
||||
break;
|
||||
}
|
||||
|
||||
if (!string.IsNullOrWhiteSpace(Header.BiosMode))
|
||||
xtw.WriteAttributeString("biosmode", Header.BiosMode);
|
||||
switch (Header.BiosMode)
|
||||
{
|
||||
case MergingFlag.Split:
|
||||
xtw.WriteAttributeString("biosmode", "split");
|
||||
break;
|
||||
case MergingFlag.Merged:
|
||||
xtw.WriteAttributeString("biosmode", "merged");
|
||||
break;
|
||||
case MergingFlag.NonMerged:
|
||||
xtw.WriteAttributeString("biosmode", "unmerged");
|
||||
break;
|
||||
}
|
||||
|
||||
if (!string.IsNullOrWhiteSpace(Header.SampleMode))
|
||||
xtw.WriteAttributeString("samplemode", Header.SampleMode);
|
||||
switch (Header.SampleMode)
|
||||
{
|
||||
case MergingFlag.Merged:
|
||||
xtw.WriteAttributeString("samplemode", "merged");
|
||||
break;
|
||||
case MergingFlag.NonMerged:
|
||||
xtw.WriteAttributeString("samplemode", "unmerged");
|
||||
break;
|
||||
}
|
||||
|
||||
if (Header.LockRomMode != null)
|
||||
{
|
||||
|
||||
@@ -212,15 +212,15 @@ namespace SabreTools.Library.DatFiles
|
||||
break;
|
||||
|
||||
case "split":
|
||||
if (Header.ForceMerging == ForceMerging.None && kvp?.Value == "1")
|
||||
Header.ForceMerging = ForceMerging.Split;
|
||||
if (Header.ForceMerging == MergingFlag.None && kvp?.Value == "1")
|
||||
Header.ForceMerging = MergingFlag.Split;
|
||||
|
||||
reader.ReadNextLine();
|
||||
break;
|
||||
|
||||
case "merge":
|
||||
if (Header.ForceMerging == ForceMerging.None && kvp?.Value == "1")
|
||||
Header.ForceMerging = ForceMerging.Merged;
|
||||
if (Header.ForceMerging == MergingFlag.None && kvp?.Value == "1")
|
||||
Header.ForceMerging = MergingFlag.Merged;
|
||||
|
||||
reader.ReadNextLine();
|
||||
break;
|
||||
@@ -475,8 +475,8 @@ namespace SabreTools.Library.DatFiles
|
||||
iw.WriteSection("DAT");
|
||||
iw.WriteKeyValuePair("version", Header.RomCenterVersion ?? "2.50");
|
||||
iw.WriteKeyValuePair("plugin", Header.System);
|
||||
iw.WriteKeyValuePair("split", Header.ForceMerging == ForceMerging.Split ? "1" : "0");
|
||||
iw.WriteKeyValuePair("merge", Header.ForceMerging == ForceMerging.Full || Header.ForceMerging == ForceMerging.Merged ? "1" : "0");
|
||||
iw.WriteKeyValuePair("split", Header.ForceMerging == MergingFlag.Split ? "1" : "0");
|
||||
iw.WriteKeyValuePair("merge", Header.ForceMerging == MergingFlag.Full || Header.ForceMerging == MergingFlag.Merged ? "1" : "0");
|
||||
|
||||
iw.WriteSection("EMULATOR");
|
||||
iw.WriteKeyValuePair("refname", Header.Name);
|
||||
|
||||
@@ -516,20 +516,20 @@ namespace SabreTools.Library.DatFiles
|
||||
break;
|
||||
|
||||
case "forcemerging":
|
||||
if (Header.ForceMerging == ForceMerging.None)
|
||||
Header.ForceMerging = content.AsForceMerging();
|
||||
if (Header.ForceMerging == MergingFlag.None)
|
||||
Header.ForceMerging = content.AsMergingFlag();
|
||||
|
||||
break;
|
||||
|
||||
case "forcenodump":
|
||||
if (Header.ForceNodump == ForceNodump.None)
|
||||
Header.ForceNodump = content.AsForceNodump();
|
||||
if (Header.ForceNodump == NodumpFlag.None)
|
||||
Header.ForceNodump = content.AsNodumpFlag();
|
||||
|
||||
break;
|
||||
|
||||
case "forcepacking":
|
||||
if (Header.ForcePacking == ForcePacking.None)
|
||||
Header.ForcePacking = content.AsForcePacking();
|
||||
if (Header.ForcePacking == PackingFlag.None)
|
||||
Header.ForcePacking = content.AsPackingFlag();
|
||||
|
||||
break;
|
||||
}
|
||||
@@ -676,9 +676,9 @@ namespace SabreTools.Library.DatFiles
|
||||
if (!string.IsNullOrWhiteSpace(Header.Comment))
|
||||
xtw.WriteElementString("comment", Header.Comment);
|
||||
if (!string.IsNullOrWhiteSpace(Header.Type)
|
||||
|| Header.ForcePacking != ForcePacking.None
|
||||
|| Header.ForceMerging != ForceMerging.None
|
||||
|| Header.ForceNodump != ForceNodump.None)
|
||||
|| Header.ForcePacking != PackingFlag.None
|
||||
|| Header.ForceMerging != MergingFlag.None
|
||||
|| Header.ForceNodump != NodumpFlag.None)
|
||||
{
|
||||
xtw.WriteStartElement("flags");
|
||||
|
||||
@@ -692,13 +692,13 @@ namespace SabreTools.Library.DatFiles
|
||||
|
||||
switch (Header.ForcePacking)
|
||||
{
|
||||
case ForcePacking.Unzip:
|
||||
case PackingFlag.Unzip:
|
||||
xtw.WriteStartElement("flag");
|
||||
xtw.WriteAttributeString("name", "forcepacking");
|
||||
xtw.WriteAttributeString("value", "unzip");
|
||||
xtw.WriteEndElement();
|
||||
break;
|
||||
case ForcePacking.Zip:
|
||||
case PackingFlag.Zip:
|
||||
xtw.WriteStartElement("flag");
|
||||
xtw.WriteAttributeString("name", "forcepacking");
|
||||
xtw.WriteAttributeString("value", "zip");
|
||||
@@ -708,25 +708,25 @@ namespace SabreTools.Library.DatFiles
|
||||
|
||||
switch (Header.ForceMerging)
|
||||
{
|
||||
case ForceMerging.Full:
|
||||
case MergingFlag.Full:
|
||||
xtw.WriteStartElement("flag");
|
||||
xtw.WriteAttributeString("name", "forcemerging");
|
||||
xtw.WriteAttributeString("value", "full");
|
||||
xtw.WriteEndElement();
|
||||
break;
|
||||
case ForceMerging.Split:
|
||||
case MergingFlag.Split:
|
||||
xtw.WriteStartElement("flag");
|
||||
xtw.WriteAttributeString("name", "forcemerging");
|
||||
xtw.WriteAttributeString("value", "split");
|
||||
xtw.WriteEndElement();
|
||||
break;
|
||||
case ForceMerging.Merged:
|
||||
case MergingFlag.Merged:
|
||||
xtw.WriteStartElement("flag");
|
||||
xtw.WriteAttributeString("name", "forcemerging");
|
||||
xtw.WriteAttributeString("value", "merged");
|
||||
xtw.WriteEndElement();
|
||||
break;
|
||||
case ForceMerging.NonMerged:
|
||||
case MergingFlag.NonMerged:
|
||||
xtw.WriteStartElement("flag");
|
||||
xtw.WriteAttributeString("name", "forcemerging");
|
||||
xtw.WriteAttributeString("value", "nonmerged");
|
||||
@@ -736,19 +736,19 @@ namespace SabreTools.Library.DatFiles
|
||||
|
||||
switch (Header.ForceNodump)
|
||||
{
|
||||
case ForceNodump.Ignore:
|
||||
case NodumpFlag.Ignore:
|
||||
xtw.WriteStartElement("flag");
|
||||
xtw.WriteAttributeString("name", "forcenodump");
|
||||
xtw.WriteAttributeString("value", "ignore");
|
||||
xtw.WriteEndElement();
|
||||
break;
|
||||
case ForceNodump.Obsolete:
|
||||
case NodumpFlag.Obsolete:
|
||||
xtw.WriteStartElement("flag");
|
||||
xtw.WriteAttributeString("name", "forcenodump");
|
||||
xtw.WriteAttributeString("value", "obsolete");
|
||||
xtw.WriteEndElement();
|
||||
break;
|
||||
case ForceNodump.Required:
|
||||
case NodumpFlag.Required:
|
||||
xtw.WriteStartElement("flag");
|
||||
xtw.WriteAttributeString("name", "forcenodump");
|
||||
xtw.WriteAttributeString("value", "required");
|
||||
|
||||
@@ -175,15 +175,15 @@ namespace SabreTools.Library.DatFiles
|
||||
break;
|
||||
|
||||
case "DatFile.ForceMerging":
|
||||
Header.ForceMerging = (Header.ForceMerging == ForceMerging.None ? value.AsForceMerging() : Header.ForceMerging);
|
||||
Header.ForceMerging = (Header.ForceMerging == MergingFlag.None ? value.AsMergingFlag() : Header.ForceMerging);
|
||||
break;
|
||||
|
||||
case "DatFile.ForceNodump":
|
||||
Header.ForceNodump = (Header.ForceNodump == ForceNodump.None ? value.AsForceNodump() : Header.ForceNodump);
|
||||
Header.ForceNodump = (Header.ForceNodump == NodumpFlag.None ? value.AsNodumpFlag() : Header.ForceNodump);
|
||||
break;
|
||||
|
||||
case "DatFile.ForcePacking":
|
||||
Header.ForcePacking = (Header.ForcePacking == ForcePacking.None ? value.AsForcePacking() : Header.ForcePacking);
|
||||
Header.ForcePacking = (Header.ForcePacking == PackingFlag.None ? value.AsPackingFlag() : Header.ForcePacking);
|
||||
break;
|
||||
|
||||
#endregion
|
||||
@@ -207,15 +207,15 @@ namespace SabreTools.Library.DatFiles
|
||||
break;
|
||||
|
||||
case "DatFile.RomMode":
|
||||
Header.RomMode = (Header.RomMode == null ? value : Header.RomMode);
|
||||
Header.RomMode = (Header.RomMode == MergingFlag.None ? value.AsMergingFlag() : Header.RomMode);
|
||||
break;
|
||||
|
||||
case "DatFile.BiosMode":
|
||||
Header.BiosMode = (Header.BiosMode == null ? value : Header.BiosMode);
|
||||
Header.BiosMode = (Header.BiosMode == MergingFlag.None ? value.AsMergingFlag() : Header.BiosMode);
|
||||
break;
|
||||
|
||||
case "DatFile.SampleMode":
|
||||
Header.SampleMode = (Header.SampleMode == null ? value : Header.SampleMode);
|
||||
Header.SampleMode = (Header.SampleMode == MergingFlag.None ? value.AsMergingFlag() : Header.SampleMode);
|
||||
break;
|
||||
|
||||
case "DatFile.LockRomMode":
|
||||
|
||||
@@ -64,14 +64,14 @@ namespace SabreTools.Library.DatFiles
|
||||
case "softwarelist":
|
||||
Header.Name = (Header.Name == null ? xtr.GetAttribute("name") ?? string.Empty : Header.Name);
|
||||
Header.Description = (Header.Description == null ? xtr.GetAttribute("description") ?? string.Empty : Header.Description);
|
||||
if (Header.ForceMerging == ForceMerging.None)
|
||||
Header.ForceMerging = xtr.GetAttribute("forcemerging").AsForceMerging();
|
||||
if (Header.ForceMerging == MergingFlag.None)
|
||||
Header.ForceMerging = xtr.GetAttribute("forcemerging").AsMergingFlag();
|
||||
|
||||
if (Header.ForceNodump == ForceNodump.None)
|
||||
Header.ForceNodump = xtr.GetAttribute("forcenodump").AsForceNodump();
|
||||
if (Header.ForceNodump == NodumpFlag.None)
|
||||
Header.ForceNodump = xtr.GetAttribute("forcenodump").AsNodumpFlag();
|
||||
|
||||
if (Header.ForcePacking == ForcePacking.None)
|
||||
Header.ForcePacking = xtr.GetAttribute("forcepacking").AsForcePacking();
|
||||
if (Header.ForcePacking == PackingFlag.None)
|
||||
Header.ForcePacking = xtr.GetAttribute("forcepacking").AsPackingFlag();
|
||||
|
||||
xtr.Read();
|
||||
break;
|
||||
@@ -644,39 +644,39 @@ namespace SabreTools.Library.DatFiles
|
||||
|
||||
switch (Header.ForcePacking)
|
||||
{
|
||||
case ForcePacking.Unzip:
|
||||
case PackingFlag.Unzip:
|
||||
xtw.WriteAttributeString("forcepacking", "unzip");
|
||||
break;
|
||||
case ForcePacking.Zip:
|
||||
case PackingFlag.Zip:
|
||||
xtw.WriteAttributeString("forcepacking", "zip");
|
||||
break;
|
||||
}
|
||||
|
||||
switch (Header.ForceMerging)
|
||||
{
|
||||
case ForceMerging.Full:
|
||||
case MergingFlag.Full:
|
||||
xtw.WriteAttributeString("forcemerging", "full");
|
||||
break;
|
||||
case ForceMerging.Split:
|
||||
case MergingFlag.Split:
|
||||
xtw.WriteAttributeString("forcemerging", "split");
|
||||
break;
|
||||
case ForceMerging.Merged:
|
||||
case MergingFlag.Merged:
|
||||
xtw.WriteAttributeString("forcemerging", "merged");
|
||||
break;
|
||||
case ForceMerging.NonMerged:
|
||||
case MergingFlag.NonMerged:
|
||||
xtw.WriteAttributeString("forcemerging", "nonmerged");
|
||||
break;
|
||||
}
|
||||
|
||||
switch (Header.ForceNodump)
|
||||
{
|
||||
case ForceNodump.Ignore:
|
||||
case NodumpFlag.Ignore:
|
||||
xtw.WriteAttributeString("forcenodump", "ignore");
|
||||
break;
|
||||
case ForceNodump.Obsolete:
|
||||
case NodumpFlag.Obsolete:
|
||||
xtw.WriteAttributeString("forcenodump", "obsolete");
|
||||
break;
|
||||
case ForceNodump.Required:
|
||||
case NodumpFlag.Required:
|
||||
xtw.WriteAttributeString("forcenodump", "required");
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -357,106 +357,6 @@ namespace SabreTools.Library.Tools
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Get ForceMerging value from input string
|
||||
/// </summary>
|
||||
/// <param name="forcemerge">String to get value from</param>
|
||||
/// <returns>ForceMerging value corresponding to the string</returns>
|
||||
public static ForceMerging AsForceMerging(this string forcemerge)
|
||||
{
|
||||
#if NET_FRAMEWORK
|
||||
switch (forcemerge?.ToLowerInvariant())
|
||||
{
|
||||
case "split":
|
||||
return ForceMerging.Split;
|
||||
case "merged":
|
||||
return ForceMerging.Merged;
|
||||
case "nonmerged":
|
||||
return ForceMerging.NonMerged;
|
||||
case "full":
|
||||
return ForceMerging.Full;
|
||||
case "none":
|
||||
default:
|
||||
return ForceMerging.None;
|
||||
}
|
||||
#else
|
||||
return forcemerge?.ToLowerInvariant() switch
|
||||
{
|
||||
"split" => ForceMerging.Split,
|
||||
"merged" => ForceMerging.Merged,
|
||||
"nonmerged" => ForceMerging.NonMerged,
|
||||
"full" => ForceMerging.Full,
|
||||
"none" => ForceMerging.None,
|
||||
_ => ForceMerging.None,
|
||||
};
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Get ForceNodump value from input string
|
||||
/// </summary>
|
||||
/// <param name="forcend">String to get value from</param>
|
||||
/// <returns>ForceNodump value corresponding to the string</returns>
|
||||
public static ForceNodump AsForceNodump(this string forcend)
|
||||
{
|
||||
#if NET_FRAMEWORK
|
||||
switch (forcend?.ToLowerInvariant())
|
||||
{
|
||||
case "obsolete":
|
||||
return ForceNodump.Obsolete;
|
||||
case "required":
|
||||
return ForceNodump.Required;
|
||||
case "ignore":
|
||||
return ForceNodump.Ignore;
|
||||
case "none":
|
||||
default:
|
||||
return ForceNodump.None;
|
||||
}
|
||||
#else
|
||||
return forcend?.ToLowerInvariant() switch
|
||||
{
|
||||
"obsolete" => ForceNodump.Obsolete,
|
||||
"required" => ForceNodump.Required,
|
||||
"ignore" => ForceNodump.Ignore,
|
||||
"none" => ForceNodump.None,
|
||||
_ => ForceNodump.None,
|
||||
};
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Get ForcePacking value from input string
|
||||
/// </summary>
|
||||
/// <param name="forcepack">String to get value from</param>
|
||||
/// <returns>ForcePacking value corresponding to the string</returns>
|
||||
public static ForcePacking AsForcePacking(this string forcepack)
|
||||
{
|
||||
#if NET_FRAMEWORK
|
||||
switch (forcepack?.ToLowerInvariant())
|
||||
{
|
||||
case "yes":
|
||||
case "zip":
|
||||
return ForcePacking.Zip;
|
||||
case "no":
|
||||
case "unzip":
|
||||
return ForcePacking.Unzip;
|
||||
case "none":
|
||||
default:
|
||||
return ForcePacking.None;
|
||||
}
|
||||
#else
|
||||
return forcepack?.ToLowerInvariant() switch
|
||||
{
|
||||
"yes" => ForcePacking.Zip,
|
||||
"zip" => ForcePacking.Zip,
|
||||
"no" => ForcePacking.Unzip,
|
||||
"unzip" => ForcePacking.Unzip,
|
||||
"none" => ForcePacking.None,
|
||||
_ => ForcePacking.None,
|
||||
};
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Get ItemStatus value from input string
|
||||
/// </summary>
|
||||
@@ -574,36 +474,138 @@ namespace SabreTools.Library.Tools
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Get MergingFlag value from input string
|
||||
/// </summary>
|
||||
/// <param name="merging">String to get value from</param>
|
||||
/// <returns>MergingFlag value corresponding to the string</returns>
|
||||
public static MergingFlag AsMergingFlag(this string merging)
|
||||
{
|
||||
#if NET_FRAMEWORK
|
||||
switch (merging?.ToLowerInvariant())
|
||||
{
|
||||
case "split":
|
||||
return MergingFlag.Split;
|
||||
case "merged":
|
||||
return MergingFlag.Merged;
|
||||
case "nonmerged":
|
||||
case "unmerged":
|
||||
return MergingFlag.NonMerged;
|
||||
case "full":
|
||||
return MergingFlag.Full;
|
||||
case "none":
|
||||
default:
|
||||
return MergingFlag.None;
|
||||
}
|
||||
#else
|
||||
return merging?.ToLowerInvariant() switch
|
||||
{
|
||||
"split" => MergingFlag.Split,
|
||||
"merged" => MergingFlag.Merged,
|
||||
"nonmerged" => MergingFlag.NonMerged,
|
||||
"unmerged" => MergingFlag.NonMerged,
|
||||
"full" => MergingFlag.Full,
|
||||
"none" => MergingFlag.None,
|
||||
_ => MergingFlag.None,
|
||||
};
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Get NodumpFlag value from input string
|
||||
/// </summary>
|
||||
/// <param name="nodump">String to get value from</param>
|
||||
/// <returns>NodumpFlag value corresponding to the string</returns>
|
||||
public static NodumpFlag AsNodumpFlag(this string nodump)
|
||||
{
|
||||
#if NET_FRAMEWORK
|
||||
switch (nodump?.ToLowerInvariant())
|
||||
{
|
||||
case "obsolete":
|
||||
return NodumpFlag.Obsolete;
|
||||
case "required":
|
||||
return NodumpFlag.Required;
|
||||
case "ignore":
|
||||
return NodumpFlag.Ignore;
|
||||
case "none":
|
||||
default:
|
||||
return NodumpFlag.None;
|
||||
}
|
||||
#else
|
||||
return nodump?.ToLowerInvariant() switch
|
||||
{
|
||||
"obsolete" => NodumpFlag.Obsolete,
|
||||
"required" => NodumpFlag.Required,
|
||||
"ignore" => NodumpFlag.Ignore,
|
||||
"none" => NodumpFlag.None,
|
||||
_ => NodumpFlag.None,
|
||||
};
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Get PackingFlag value from input string
|
||||
/// </summary>
|
||||
/// <param name="packing">String to get value from</param>
|
||||
/// <returns>PackingFlag value corresponding to the string</returns>
|
||||
public static PackingFlag AsPackingFlag(this string packing)
|
||||
{
|
||||
#if NET_FRAMEWORK
|
||||
switch (packing?.ToLowerInvariant())
|
||||
{
|
||||
case "yes":
|
||||
case "zip":
|
||||
return PackingFlag.Zip;
|
||||
case "no":
|
||||
case "unzip":
|
||||
return PackingFlag.Unzip;
|
||||
case "none":
|
||||
default:
|
||||
return PackingFlag.None;
|
||||
}
|
||||
#else
|
||||
return packing?.ToLowerInvariant() switch
|
||||
{
|
||||
"yes" => PackingFlag.Zip,
|
||||
"zip" => PackingFlag.Zip,
|
||||
"no" => PackingFlag.Unzip,
|
||||
"unzip" => PackingFlag.Unzip,
|
||||
"none" => PackingFlag.None,
|
||||
_ => PackingFlag.None,
|
||||
};
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Get SplitType value from input ForceMerging
|
||||
/// </summary>
|
||||
/// <param name="forceMerging">ForceMerging to get value from</param>
|
||||
/// <returns>SplitType value corresponding to the string</returns>
|
||||
public static SplitType AsSplitType(this ForceMerging forceMerging)
|
||||
public static SplitType AsSplitType(this MergingFlag forceMerging)
|
||||
{
|
||||
#if NET_FRAMEWORK
|
||||
switch (forceMerging)
|
||||
{
|
||||
case ForceMerging.Split:
|
||||
case MergingFlag.Split:
|
||||
return SplitType.Split;
|
||||
case ForceMerging.Merged:
|
||||
case MergingFlag.Merged:
|
||||
return SplitType.Merged;
|
||||
case ForceMerging.NonMerged:
|
||||
case MergingFlag.NonMerged:
|
||||
return SplitType.NonMerged;
|
||||
case ForceMerging.Full:
|
||||
case MergingFlag.Full:
|
||||
return SplitType.FullNonMerged;
|
||||
case ForceMerging.None:
|
||||
case MergingFlag.None:
|
||||
default:
|
||||
return SplitType.None;
|
||||
}
|
||||
#else
|
||||
return forceMerging switch
|
||||
{
|
||||
ForceMerging.Split => SplitType.Split,
|
||||
ForceMerging.Merged => SplitType.Merged,
|
||||
ForceMerging.NonMerged => SplitType.NonMerged,
|
||||
ForceMerging.Full => SplitType.FullNonMerged,
|
||||
ForceMerging.None => SplitType.None,
|
||||
MergingFlag.Split => SplitType.Split,
|
||||
MergingFlag.Merged => SplitType.Merged,
|
||||
MergingFlag.NonMerged => SplitType.NonMerged,
|
||||
MergingFlag.Full => SplitType.FullNonMerged,
|
||||
MergingFlag.None => SplitType.None,
|
||||
_ => SplitType.None,
|
||||
};
|
||||
#endif
|
||||
|
||||
@@ -2634,6 +2634,7 @@ Some special strings that can be used:
|
||||
/// </summary>
|
||||
private DatHeader GetDatHeader(Dictionary<string, Feature> features)
|
||||
{
|
||||
// TODO: Sort this by region, like the actual header
|
||||
DatHeader datHeader = new DatHeader
|
||||
{
|
||||
AddExtension = GetString(features, AddExtensionStringValue),
|
||||
@@ -2645,9 +2646,9 @@ Some special strings that can be used:
|
||||
Description = GetString(features, DescriptionStringValue),
|
||||
Email = GetString(features, EmailStringValue),
|
||||
FileName = GetString(features, FilenameStringValue),
|
||||
ForceMerging = GetString(features, ForceMergingStringValue).AsForceMerging(),
|
||||
ForceNodump = GetString(features, ForceNodumpStringValue).AsForceNodump(),
|
||||
ForcePacking = GetString(features, ForcePackingStringValue).AsForcePacking(),
|
||||
ForceMerging = GetString(features, ForceMergingStringValue).AsMergingFlag(),
|
||||
ForceNodump = GetString(features, ForceNodumpStringValue).AsNodumpFlag(),
|
||||
ForcePacking = GetString(features, ForcePackingStringValue).AsPackingFlag(),
|
||||
GameName = GetBoolean(features, GamePrefixValue),
|
||||
HeaderSkipper = GetString(features, HeaderStringValue),
|
||||
Homepage = GetString(features, HomepageStringValue),
|
||||
|
||||
Reference in New Issue
Block a user