mirror of
https://github.com/SabreTools/SabreTools.Serialization.git
synced 2026-09-22 14:55:11 +00:00
String Machine keys to properties
This commit is contained in:
@@ -332,8 +332,8 @@ namespace SabreTools.Metadata.DatFiles
|
||||
continue;
|
||||
|
||||
// Get the string values
|
||||
string? cloneOf = machine.ReadString(Data.Models.Metadata.Machine.CloneOfKey)?.ToLowerInvariant();
|
||||
string? romOf = machine.ReadString(Data.Models.Metadata.Machine.RomOfKey)?.ToLowerInvariant();
|
||||
string? cloneOf = machine.CloneOf?.ToLowerInvariant();
|
||||
string? romOf = machine.RomOf?.ToLowerInvariant();
|
||||
|
||||
// Match on CloneOf first
|
||||
if (!string.IsNullOrEmpty(cloneOf))
|
||||
@@ -411,8 +411,8 @@ namespace SabreTools.Metadata.DatFiles
|
||||
continue;
|
||||
|
||||
// Get the string values
|
||||
string? cloneOf = machineObj.ReadString(Data.Models.Metadata.Machine.CloneOfKey)?.ToLowerInvariant();
|
||||
string? romOf = machineObj.ReadString(Data.Models.Metadata.Machine.RomOfKey)?.ToLowerInvariant();
|
||||
string? cloneOf = machineObj.CloneOf?.ToLowerInvariant();
|
||||
string? romOf = machineObj.RomOf?.ToLowerInvariant();
|
||||
|
||||
// Match on CloneOf first
|
||||
if (!string.IsNullOrEmpty(cloneOf))
|
||||
@@ -733,9 +733,9 @@ namespace SabreTools.Metadata.DatFiles
|
||||
|
||||
// Get the values to check against
|
||||
string? machineName = machine.Name;
|
||||
string? cloneOf = machine.ReadString(Data.Models.Metadata.Machine.CloneOfKey);
|
||||
string? romOf = machine.ReadString(Data.Models.Metadata.Machine.RomOfKey);
|
||||
string? sampleOf = machine.ReadString(Data.Models.Metadata.Machine.SampleOfKey);
|
||||
string? cloneOf = machine.CloneOf;
|
||||
string? romOf = machine.RomOf;
|
||||
string? sampleOf = machine.SampleOf;
|
||||
|
||||
// Update machine name
|
||||
if (machineName is not null && mapping.TryGetValue(machineName, out string? mappedMachineName))
|
||||
@@ -743,15 +743,15 @@ namespace SabreTools.Metadata.DatFiles
|
||||
|
||||
// Update cloneof
|
||||
if (cloneOf is not null && mapping.TryGetValue(cloneOf, out string? mappedCloneOf))
|
||||
machine.Write<string?>(Data.Models.Metadata.Machine.CloneOfKey, mappedCloneOf);
|
||||
machine.CloneOf = mappedCloneOf;
|
||||
|
||||
// Update romof
|
||||
if (romOf is not null && mapping.TryGetValue(romOf, out string? mappedRomOf))
|
||||
machine.Write<string?>(Data.Models.Metadata.Machine.RomOfKey, mappedRomOf);
|
||||
machine.RomOf = mappedRomOf;
|
||||
|
||||
// Update sampleof
|
||||
if (sampleOf is not null && mapping.TryGetValue(sampleOf, out string? mappedSampleOf))
|
||||
machine.Write<string?>(Data.Models.Metadata.Machine.SampleOfKey, mappedSampleOf);
|
||||
machine.SampleOf = mappedSampleOf;
|
||||
}
|
||||
#if NET40_OR_GREATER || NETCOREAPP || NETSTANDARD2_0_OR_GREATER
|
||||
});
|
||||
@@ -774,9 +774,9 @@ namespace SabreTools.Metadata.DatFiles
|
||||
|
||||
// Get the values to check against
|
||||
string? machineName = machine.Value.Name;
|
||||
string? cloneOf = machine.Value.ReadString(Data.Models.Metadata.Machine.CloneOfKey);
|
||||
string? romOf = machine.Value.ReadString(Data.Models.Metadata.Machine.RomOfKey);
|
||||
string? sampleOf = machine.Value.ReadString(Data.Models.Metadata.Machine.SampleOfKey);
|
||||
string? cloneOf = machine.Value.CloneOf;
|
||||
string? romOf = machine.Value.RomOf;
|
||||
string? sampleOf = machine.Value.SampleOf;
|
||||
|
||||
// Update machine name
|
||||
if (machineName is not null && mapping.TryGetValue(machineName, out string? mappedMachineName))
|
||||
@@ -784,15 +784,15 @@ namespace SabreTools.Metadata.DatFiles
|
||||
|
||||
// Update cloneof
|
||||
if (cloneOf is not null && mapping.TryGetValue(cloneOf, out string? mappedCloneOf))
|
||||
machine.Value.Write<string?>(Data.Models.Metadata.Machine.CloneOfKey, mappedCloneOf);
|
||||
machine.Value.CloneOf = mappedCloneOf;
|
||||
|
||||
// Update romof
|
||||
if (romOf is not null && mapping.TryGetValue(romOf, out string? mappedRomOf))
|
||||
machine.Value.Write<string?>(Data.Models.Metadata.Machine.RomOfKey, mappedRomOf);
|
||||
machine.Value.RomOf = mappedRomOf;
|
||||
|
||||
// Update sampleof
|
||||
if (sampleOf is not null && mapping.TryGetValue(sampleOf, out string? mappedSampleOf))
|
||||
machine.Value.Write<string?>(Data.Models.Metadata.Machine.SampleOfKey, mappedSampleOf);
|
||||
machine.Value.SampleOf = mappedSampleOf;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -273,7 +273,7 @@ namespace SabreTools.Metadata.DatFiles
|
||||
continue;
|
||||
|
||||
// Get the cloneof parent items
|
||||
string? cloneOf = machine.ReadString(Data.Models.Metadata.Machine.CloneOfKey);
|
||||
string? cloneOf = machine.CloneOf;
|
||||
List<DatItem> parentItems = GetItemsForBucket(cloneOf);
|
||||
if (cloneOf is null)
|
||||
continue;
|
||||
@@ -408,7 +408,7 @@ namespace SabreTools.Metadata.DatFiles
|
||||
continue;
|
||||
|
||||
// Get the clone parent
|
||||
string? cloneOf = machine.Value.ReadString(Data.Models.Metadata.Machine.CloneOfKey);
|
||||
string? cloneOf = machine.Value.CloneOf;
|
||||
if (string.IsNullOrEmpty(cloneOf))
|
||||
continue;
|
||||
|
||||
@@ -542,7 +542,7 @@ namespace SabreTools.Metadata.DatFiles
|
||||
continue;
|
||||
|
||||
// Get the cloneof parent items
|
||||
string? cloneOf = machine.ReadString(Data.Models.Metadata.Machine.CloneOfKey);
|
||||
string? cloneOf = machine.CloneOf;
|
||||
List<DatItem> parentItems = GetItemsForBucket(cloneOf);
|
||||
if (parentItems.Count == 0)
|
||||
continue;
|
||||
@@ -562,10 +562,10 @@ namespace SabreTools.Metadata.DatFiles
|
||||
|
||||
// Now we want to get the parent romof tag and put it in each of the items
|
||||
items = GetItemsForBucket(bucket);
|
||||
string? romof = GetItemsForBucket(cloneOf)[0].Machine!.ReadString(Data.Models.Metadata.Machine.RomOfKey);
|
||||
string? romof = GetItemsForBucket(cloneOf)[0].Machine!.RomOf;
|
||||
foreach (DatItem item in items)
|
||||
{
|
||||
item.Machine!.Write<string?>(Data.Models.Metadata.Machine.RomOfKey, romof);
|
||||
item.Machine!.RomOf = romof;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -596,7 +596,7 @@ namespace SabreTools.Metadata.DatFiles
|
||||
continue;
|
||||
|
||||
// Get the clone parent
|
||||
string? cloneOf = machine.Value.ReadString(Data.Models.Metadata.Machine.CloneOfKey);
|
||||
string? cloneOf = machine.Value.CloneOf;
|
||||
if (string.IsNullOrEmpty(cloneOf))
|
||||
continue;
|
||||
|
||||
@@ -623,7 +623,7 @@ namespace SabreTools.Metadata.DatFiles
|
||||
|
||||
// Now we want to get the parent romof tag and put it in each of the items
|
||||
items = GetItemsForBucketDB(bucket);
|
||||
string? romof = parentMachine.Value.ReadString(Data.Models.Metadata.Machine.RomOfKey);
|
||||
string? romof = parentMachine.Value.RomOf;
|
||||
foreach (var key in items.Keys)
|
||||
{
|
||||
var itemMachine = GetMachineForItemDB(key);
|
||||
@@ -631,7 +631,7 @@ namespace SabreTools.Metadata.DatFiles
|
||||
continue;
|
||||
|
||||
// TODO: Remove merge tags here
|
||||
itemMachine.Value.Write<string?>(Data.Models.Metadata.Machine.RomOfKey, romof);
|
||||
itemMachine.Value.RomOf = romof;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -981,7 +981,7 @@ namespace SabreTools.Metadata.DatFiles
|
||||
continue;
|
||||
|
||||
// Get the romof parent items
|
||||
string? romOf = machine.ReadString(Data.Models.Metadata.Machine.RomOfKey);
|
||||
string? romOf = machine.RomOf;
|
||||
List<DatItem> parentItems = GetItemsForBucket(romOf);
|
||||
if (parentItems.Count == 0)
|
||||
continue;
|
||||
@@ -1024,7 +1024,7 @@ namespace SabreTools.Metadata.DatFiles
|
||||
continue;
|
||||
|
||||
// Get the romof parent items
|
||||
string? romOf = machine.Value.ReadString(Data.Models.Metadata.Machine.RomOfKey);
|
||||
string? romOf = machine.Value.RomOf;
|
||||
Dictionary<long, DatItem> parentItems = GetItemsForBucketDB(romOf);
|
||||
if (parentItems.Count == 0)
|
||||
continue;
|
||||
@@ -1163,7 +1163,7 @@ namespace SabreTools.Metadata.DatFiles
|
||||
continue;
|
||||
|
||||
// Get the cloneof parent items
|
||||
string? cloneOf = machine.ReadString(Data.Models.Metadata.Machine.CloneOfKey);
|
||||
string? cloneOf = machine.CloneOf;
|
||||
List<DatItem> parentItems = GetItemsForBucket(cloneOf);
|
||||
if (parentItems.Count == 0)
|
||||
continue;
|
||||
@@ -1186,10 +1186,10 @@ namespace SabreTools.Metadata.DatFiles
|
||||
|
||||
// Now we want to get the parent romof tag and put it in each of the remaining items
|
||||
items = GetItemsForBucket(bucket);
|
||||
string? romof = GetItemsForBucket(cloneOf)[0].Machine!.ReadString(Data.Models.Metadata.Machine.RomOfKey);
|
||||
string? romof = GetItemsForBucket(cloneOf)[0].Machine!.RomOf;
|
||||
foreach (DatItem item in items)
|
||||
{
|
||||
item.Machine!.Write<string?>(Data.Models.Metadata.Machine.RomOfKey, romof);
|
||||
item.Machine!.RomOf = romof;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1217,7 +1217,7 @@ namespace SabreTools.Metadata.DatFiles
|
||||
continue;
|
||||
|
||||
// Get the cloneof parent items
|
||||
string? cloneOf = machine.Value.ReadString(Data.Models.Metadata.Machine.CloneOfKey);
|
||||
string? cloneOf = machine.Value.CloneOf;
|
||||
Dictionary<long, DatItem> parentItems = GetItemsForBucketDB(cloneOf);
|
||||
if (parentItems is null || parentItems.Count == 0)
|
||||
continue;
|
||||
@@ -1238,14 +1238,14 @@ namespace SabreTools.Metadata.DatFiles
|
||||
if (machine.Value is null)
|
||||
continue;
|
||||
|
||||
string? romof = machine.Value.ReadString(Data.Models.Metadata.Machine.RomOfKey);
|
||||
string? romof = machine.Value.RomOf;
|
||||
foreach (var item in items)
|
||||
{
|
||||
machine = GetMachineForItemDB(item.Key);
|
||||
if (machine.Value is null)
|
||||
continue;
|
||||
|
||||
machine.Value.Write<string?>(Data.Models.Metadata.Machine.RomOfKey, romof);
|
||||
machine.Value.RomOf = romof;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1273,7 +1273,7 @@ namespace SabreTools.Metadata.DatFiles
|
||||
continue;
|
||||
|
||||
// Get the romof parent items
|
||||
string? romOf = machine.ReadString(Data.Models.Metadata.Machine.RomOfKey);
|
||||
string? romOf = machine.RomOf;
|
||||
List<DatItem> parentItems = GetItemsForBucket(romOf);
|
||||
if (parentItems.Count == 0)
|
||||
continue;
|
||||
@@ -1320,7 +1320,7 @@ namespace SabreTools.Metadata.DatFiles
|
||||
continue;
|
||||
|
||||
// Get the romof parent items
|
||||
string? romOf = machine.Value.ReadString(Data.Models.Metadata.Machine.RomOfKey);
|
||||
string? romOf = machine.Value.RomOf;
|
||||
Dictionary<long, DatItem> parentItems = GetItemsForBucketDB(romOf);
|
||||
if (parentItems.Count == 0)
|
||||
continue;
|
||||
@@ -1370,9 +1370,9 @@ namespace SabreTools.Metadata.DatFiles
|
||||
if (machine is null)
|
||||
continue;
|
||||
|
||||
machine.Write<string?>(Data.Models.Metadata.Machine.CloneOfKey, null);
|
||||
machine.Write<string?>(Data.Models.Metadata.Machine.RomOfKey, null);
|
||||
machine.Write<string?>(Data.Models.Metadata.Machine.SampleOfKey, null);
|
||||
machine.CloneOf = null;
|
||||
machine.RomOf = null;
|
||||
machine.SampleOf = null;
|
||||
}
|
||||
#if NET40_OR_GREATER || NETCOREAPP || NETSTANDARD2_0_OR_GREATER
|
||||
});
|
||||
@@ -1404,9 +1404,9 @@ namespace SabreTools.Metadata.DatFiles
|
||||
continue;
|
||||
#endif
|
||||
|
||||
machine.Value.Write<string?>(Data.Models.Metadata.Machine.CloneOfKey, null);
|
||||
machine.Value.Write<string?>(Data.Models.Metadata.Machine.RomOfKey, null);
|
||||
machine.Value.Write<string?>(Data.Models.Metadata.Machine.SampleOfKey, null);
|
||||
machine.Value.CloneOf = null;
|
||||
machine.Value.RomOf = null;
|
||||
machine.Value.SampleOf = null;
|
||||
#if NET40_OR_GREATER || NETCOREAPP || NETSTANDARD2_0_OR_GREATER
|
||||
});
|
||||
#else
|
||||
|
||||
@@ -84,11 +84,11 @@ namespace SabreTools.Metadata.DatFiles
|
||||
if (trurip is not null)
|
||||
{
|
||||
var truripItem = trurip.ConvertToLogiqx();
|
||||
truripItem.Publisher = machine.ReadString(Data.Models.Metadata.Machine.PublisherKey);
|
||||
truripItem.Year = machine.ReadString(Data.Models.Metadata.Machine.YearKey);
|
||||
truripItem.Players = machine.ReadString(Data.Models.Metadata.Machine.PlayersKey);
|
||||
truripItem.Source = machine.ReadString(Data.Models.Metadata.Machine.SourceFileKey);
|
||||
truripItem.CloneOf = machine.ReadString(Data.Models.Metadata.Machine.CloneOfKey);
|
||||
truripItem.Publisher = machine.Publisher;
|
||||
truripItem.Year = machine.Year;
|
||||
truripItem.Players = machine.Players;
|
||||
truripItem.Source = machine.SourceFile;
|
||||
truripItem.CloneOf = machine.CloneOf;
|
||||
machine[Data.Models.Metadata.Machine.TruripKey] = truripItem;
|
||||
}
|
||||
}
|
||||
@@ -513,11 +513,11 @@ namespace SabreTools.Metadata.DatFiles
|
||||
if (trurip is not null)
|
||||
{
|
||||
var truripItem = trurip.ConvertToLogiqx();
|
||||
truripItem.Publisher = machine.ReadString(Data.Models.Metadata.Machine.PublisherKey);
|
||||
truripItem.Year = machine.ReadString(Data.Models.Metadata.Machine.YearKey);
|
||||
truripItem.Players = machine.ReadString(Data.Models.Metadata.Machine.PlayersKey);
|
||||
truripItem.Source = machine.ReadString(Data.Models.Metadata.Machine.SourceFileKey);
|
||||
truripItem.CloneOf = machine.ReadString(Data.Models.Metadata.Machine.CloneOfKey);
|
||||
truripItem.Publisher = machine.Publisher;
|
||||
truripItem.Year = machine.Year;
|
||||
truripItem.Players = machine.Players;
|
||||
truripItem.Source = machine.SourceFile;
|
||||
truripItem.CloneOf = machine.CloneOf;
|
||||
machine[Data.Models.Metadata.Machine.TruripKey] = truripItem;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -584,8 +584,8 @@ namespace SabreTools.Metadata.DatFiles
|
||||
Data.Models.Metadata.ItemType type = item.ItemType;
|
||||
string
|
||||
game = machine?.Name ?? string.Empty,
|
||||
manufacturer = machine?.ReadString(Data.Models.Metadata.Machine.ManufacturerKey) ?? string.Empty,
|
||||
publisher = machine?.ReadString(Data.Models.Metadata.Machine.PublisherKey) ?? string.Empty,
|
||||
manufacturer = machine?.Manufacturer ?? string.Empty,
|
||||
publisher = machine?.Publisher ?? string.Empty,
|
||||
category = machine?.ReadString(Data.Models.Metadata.Machine.CategoryKey) ?? string.Empty,
|
||||
name = item.GetName() ?? type.AsStringValue() ?? string.Empty,
|
||||
crc16 = string.Empty,
|
||||
|
||||
@@ -558,8 +558,8 @@ namespace SabreTools.Metadata.DatFiles
|
||||
}
|
||||
|
||||
// If the saved machine is a child of the current machine, use the current machine instead
|
||||
if (savedMachine?.ReadString(Data.Models.Metadata.Machine.CloneOfKey) == itemMachine?.Name
|
||||
|| savedMachine?.ReadString(Data.Models.Metadata.Machine.RomOfKey) == itemMachine?.Name)
|
||||
if (savedMachine?.CloneOf == itemMachine?.Name
|
||||
|| savedMachine?.RomOf == itemMachine?.Name)
|
||||
{
|
||||
savedItem.CopyMachineInformation(datItem);
|
||||
savedItem.SetName(datItem.GetName());
|
||||
|
||||
@@ -940,8 +940,8 @@ namespace SabreTools.Metadata.DatFiles
|
||||
}
|
||||
|
||||
// If the saved machine is a child of the current machine, use the current machine instead
|
||||
if (savedMachine.ReadString(Data.Models.Metadata.Machine.CloneOfKey) == itemMachine.Name
|
||||
|| savedMachine.ReadString(Data.Models.Metadata.Machine.RomOfKey) == itemMachine.Name)
|
||||
if (savedMachine.CloneOf == itemMachine.Name
|
||||
|| savedMachine.RomOf == itemMachine.Name)
|
||||
{
|
||||
_machines[_itemToMachineMapping[savedIndex]] = (itemMachine.Clone() as Machine)!;
|
||||
savedItem.SetName(datItem.GetName());
|
||||
|
||||
Reference in New Issue
Block a user