Add normalization to all from metadata methods

This commit is contained in:
Matt Nadareski
2024-03-11 20:57:24 -04:00
parent 482746995f
commit 1c8575adaf
6 changed files with 389 additions and 21 deletions

View File

@@ -1,6 +1,7 @@
using System;
using System.Collections.Generic;
using SabreTools.Core;
using SabreTools.Core.Tools;
using SabreTools.DatItems;
using SabreTools.DatItems.Formats;
@@ -90,7 +91,7 @@ namespace SabreTools.DatFiles.Formats
break;
case Chip chip:
if (chip.GetFieldValue<ChipType>(Models.Metadata.Chip.ChipTypeKey) == ChipType.NULL)
if (chip.GetStringFieldValue(Models.Metadata.Chip.ChipTypeKey).AsEnumValue<ChipType>() == ChipType.NULL)
missingFields.Add(Models.Metadata.Chip.ChipTypeKey);
if (string.IsNullOrEmpty(chip.GetName()))
missingFields.Add(Models.Metadata.Chip.NameKey);

View File

@@ -53,7 +53,11 @@ namespace SabreTools.DatFiles.Formats
{
logger.User($"Writing to '{outfile}'...");
var metadataFile = CreateMetadataFile(ignoreblanks);
//var metadataFile = CreateMetadataFile(ignoreblanks);
// Serialize the input file
var metadata = ConvertMetadata(ignoreblanks);
var metadataFile = new Serialization.CrossModel.DosCenter().Deserialize(metadata);
if (!(new Serialization.Files.DosCenter().Serialize(metadataFile, outfile)))
{
logger.Warning($"File '{outfile}' could not be written! See the log for more details.");

View File

@@ -89,7 +89,7 @@ namespace SabreTools.DatFiles.Formats
case Chip chip:
if (string.IsNullOrEmpty(chip.GetName()))
missingFields.Add(Models.Metadata.Chip.NameKey);
if (chip.GetFieldValue<ChipType>(Models.Metadata.Chip.ChipTypeKey) == ChipType.NULL)
if (chip.GetStringFieldValue(Models.Metadata.Chip.ChipTypeKey).AsEnumValue<ChipType>() == ChipType.NULL)
missingFields.Add(Models.Metadata.Chip.ChipTypeKey);
break;