[SabreTools, Flags, DatFile] Add new base replacement flags

Update game type (bios, device, mechanical) and update parenting information (romof, cloneof, sampleof)
This commit is contained in:
Matt Nadareski
2018-03-20 14:49:04 -07:00
parent a033483774
commit 72830b5d98
5 changed files with 58 additions and 2 deletions

View File

@@ -1903,8 +1903,10 @@ namespace SabreTools.Library.DatFiles
// If we are matching based on names of any sort
if ((replaceMode & ReplaceMode.Description) != 0
|| (replaceMode & ReplaceMode.MachineType) != 0
|| (replaceMode & ReplaceMode.Year) != 0
|| (replaceMode & ReplaceMode.Manufacturer) != 0)
|| (replaceMode & ReplaceMode.Manufacturer) != 0
|| (replaceMode & ReplaceMode.Parents) != 0)
{
// For comparison's sake, we want to use Machine Name as the base ordering
BucketBy(SortedBy.Game, DedupeType.Full);
@@ -1928,6 +1930,10 @@ namespace SabreTools.Library.DatFiles
newDatItem.MachineDescription = this[key][0].MachineDescription;
}
}
if ((replaceMode & ReplaceMode.MachineType) != 0)
{
newDatItem.MachineType = this[key][0].MachineType;
}
if ((replaceMode & ReplaceMode.Year) != 0)
{
newDatItem.Year = this[key][0].Year;
@@ -1936,6 +1942,12 @@ namespace SabreTools.Library.DatFiles
{
newDatItem.Manufacturer = this[key][0].Manufacturer;
}
if ((replaceMode & ReplaceMode.Parents) != 0)
{
newDatItem.CloneOf = this[key][0].CloneOf;
newDatItem.RomOf = this[key][0].RomOf;
newDatItem.SampleOf = this[key][0].SampleOf;
}
}
newDatItems.Add(newDatItem);

View File

@@ -260,8 +260,10 @@ namespace SabreTools.Library.Data
// Sorted by machine name
Description = Hash << 1,
Year = Description << 1,
MachineType = Description << 1,
Year = MachineType << 1,
Manufacturer = Year << 1,
Parents = Manufacturer << 1,
}
/// <summary>

View File

@@ -1024,6 +1024,14 @@ Options:
will only be overwritten if they are the same as the machine
names.
-ugt, --update-game-type Update machine type from base DATs
This flag enables updating of machine type from base DATs.
[Both base-replace and reverse-base-replace]
-up, --update-parents Update machine parents from base DATs
This flag enables updating of machine parents (romof, cloneof,
sampleof) from base DATs. [Both base-replace and reverse-base-replace]
-uy, --update-year Update machine years from base DATs
This flag enables updating of machine years from base DATs.
[Both base-replace and reverse-base-replace]