mirror of
https://github.com/claunia/SabreTools.git
synced 2025-12-16 19:14:27 +00:00
[SabreTools, Flags, DatFile, README] Add replace year, manufacturer
This commit is contained in:
@@ -1796,8 +1796,8 @@ namespace SabreTools.Library.DatFiles
|
||||
intDat.Parse(path, 1, 1, keep: true, clean: clean, remUnicode: remUnicode, descAsName: descAsName);
|
||||
|
||||
// If we are matching based on hashes of any sort
|
||||
if ((replaceMode & ReplaceMode.Names) != 0
|
||||
|| (replaceMode & ReplaceMode.Hashes) != 0)
|
||||
if ((replaceMode & ReplaceMode.ItemName) != 0
|
||||
|| (replaceMode & ReplaceMode.Hash) != 0)
|
||||
{
|
||||
// For comparison's sake, we want to use CRC as the base ordering
|
||||
BucketBy(SortedBy.CRC, DedupeType.Full);
|
||||
@@ -1824,13 +1824,13 @@ namespace SabreTools.Library.DatFiles
|
||||
if (dupes.Count > 0)
|
||||
{
|
||||
// If we're updating names, replace using the first found name
|
||||
if ((replaceMode & ReplaceMode.Names) != 0)
|
||||
if ((replaceMode & ReplaceMode.ItemName) != 0)
|
||||
{
|
||||
newDatItem.Name = dupes[0].Name;
|
||||
}
|
||||
|
||||
// If we're updating hashes, only replace if the current item doesn't have them
|
||||
if ((replaceMode & ReplaceMode.Hashes) != 0)
|
||||
if ((replaceMode & ReplaceMode.Hash) != 0)
|
||||
{
|
||||
if (newDatItem.Type == ItemType.Rom)
|
||||
{
|
||||
@@ -1901,7 +1901,9 @@ namespace SabreTools.Library.DatFiles
|
||||
}
|
||||
|
||||
// If we are matching based on names of any sort
|
||||
if ((replaceMode & ReplaceMode.Descriptions) != 0)
|
||||
if ((replaceMode & ReplaceMode.Description) != 0
|
||||
|| (replaceMode & ReplaceMode.Year) != 0
|
||||
|| (replaceMode & ReplaceMode.Manufacturer) != 0)
|
||||
{
|
||||
// For comparison's sake, we want to use Machine Name as the base ordering
|
||||
BucketBy(SortedBy.Game, DedupeType.Full);
|
||||
@@ -1918,7 +1920,18 @@ namespace SabreTools.Library.DatFiles
|
||||
DatItem newDatItem = (DatItem)datItem.Clone();
|
||||
if (Contains(key) && this[key].Count() > 0)
|
||||
{
|
||||
newDatItem.MachineDescription = this[key][0].MachineDescription;
|
||||
if ((replaceMode & ReplaceMode.Description) != 0)
|
||||
{
|
||||
newDatItem.MachineDescription = this[key][0].MachineDescription;
|
||||
}
|
||||
if ((replaceMode & ReplaceMode.Year) != 0)
|
||||
{
|
||||
newDatItem.Year = this[key][0].Year;
|
||||
}
|
||||
if ((replaceMode & ReplaceMode.Manufacturer) != 0)
|
||||
{
|
||||
newDatItem.Manufacturer = this[key][0].Manufacturer;
|
||||
}
|
||||
}
|
||||
|
||||
newDatItems.Add(newDatItem);
|
||||
|
||||
@@ -249,9 +249,15 @@ namespace SabreTools.Library.Data
|
||||
public enum ReplaceMode
|
||||
{
|
||||
None = 0x0,
|
||||
Names = 0x1,
|
||||
Hashes = Names << 1,
|
||||
Descriptions = Hashes << 1,
|
||||
|
||||
// Sorted by hash
|
||||
ItemName = 0x1,
|
||||
Hash = ItemName << 1,
|
||||
|
||||
// Sorted by machine name
|
||||
Description = Hash << 1,
|
||||
Year = Description << 1,
|
||||
Manufacturer = Year << 1,
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -1159,12 +1159,20 @@ Options:
|
||||
-un, --update-names Update item names from base DATs
|
||||
This flag enables updating of item names from base DATs.
|
||||
|
||||
-uh, --update-hashes Update hashes from base DATs
|
||||
This flag enables updating of hashes from base DATs.
|
||||
|
||||
-udd, --update-desc Update machine descriptions from base DATs
|
||||
This flag enables updating of machine descriptions from base
|
||||
DATs
|
||||
|
||||
-uh, --update-hashes Update hashes from base DATs
|
||||
This flag enables updating of hashes from base DATs.
|
||||
|
||||
-udd, --update-years Update machine years from base DATs
|
||||
This flag enables updating of machine years from base
|
||||
DATs
|
||||
|
||||
-udd, --update-manu Update machine manufacturers from base DATs
|
||||
This flag enables updating of machine manufacturers from base
|
||||
DATs
|
||||
|
||||
-gn=, --not-game= Filter by game name
|
||||
-ngn=, --game-name= Exclude by game name
|
||||
|
||||
Reference in New Issue
Block a user