Reduce enum overhead in metadata

This commit is contained in:
Matt Nadareski
2026-03-26 22:51:14 -04:00
parent 29620c0c4f
commit 8de1fbc52f
38 changed files with 2022 additions and 2370 deletions

View File

@@ -1,7 +1,9 @@
using System.Collections.Generic;
using SabreTools.Data.Extensions;
using SabreTools.Hashing;
using SabreTools.Metadata.DatItems;
using SabreTools.Metadata.DatItems.Formats;
using ItemStatus = SabreTools.Data.Models.Metadata.ItemStatus;
namespace SabreTools.Metadata.DatFiles
{
@@ -406,7 +408,7 @@ namespace SabreTools.Metadata.DatFiles
/// <param name="disk">Item to add info from</param>
private void AddItemStatistics(Disk disk)
{
ItemStatus status = disk.ReadString(Data.Models.Metadata.Disk.StatusKey).AsItemStatus();
ItemStatus? status = disk.ReadString(Data.Models.Metadata.Disk.StatusKey).AsItemStatus();
if (status != ItemStatus.Nodump)
{
AddHashCount(HashType.MD5, string.IsNullOrEmpty(disk.ReadString(Data.Models.Metadata.Disk.MD5Key)) ? 0 : 1);
@@ -425,7 +427,7 @@ namespace SabreTools.Metadata.DatFiles
/// <param name="disk">Item to add info from</param>
private void AddItemStatistics(Data.Models.Metadata.Disk disk)
{
ItemStatus status = disk.ReadString(Data.Models.Metadata.Disk.StatusKey).AsItemStatus();
ItemStatus? status = disk.ReadString(Data.Models.Metadata.Disk.StatusKey).AsItemStatus();
if (status != ItemStatus.Nodump)
{
AddHashCount(HashType.MD5, string.IsNullOrEmpty(disk.ReadString(Data.Models.Metadata.Disk.MD5Key)) ? 0 : 1);
@@ -481,7 +483,7 @@ namespace SabreTools.Metadata.DatFiles
/// <param name="rom">Item to add info from</param>
private void AddItemStatistics(Rom rom)
{
ItemStatus status = rom.ReadString(Data.Models.Metadata.Rom.StatusKey).AsItemStatus();
ItemStatus? status = rom.ReadString(Data.Models.Metadata.Rom.StatusKey).AsItemStatus();
if (status != ItemStatus.Nodump)
{
TotalSize += rom.ReadLong(Data.Models.Metadata.Rom.SizeKey) ?? 0;
@@ -512,7 +514,7 @@ namespace SabreTools.Metadata.DatFiles
/// <param name="rom">Item to add info from</param>
private void AddItemStatistics(Data.Models.Metadata.Rom rom)
{
ItemStatus status = rom.ReadString(Data.Models.Metadata.Rom.StatusKey).AsItemStatus();
ItemStatus? status = rom.ReadString(Data.Models.Metadata.Rom.StatusKey).AsItemStatus();
if (status != ItemStatus.Nodump)
{
TotalSize += rom.ReadLong(Data.Models.Metadata.Rom.SizeKey) ?? 0;
@@ -597,7 +599,7 @@ namespace SabreTools.Metadata.DatFiles
/// <param name="disk">Item to remove info for</param>
private void RemoveItemStatistics(Disk disk)
{
ItemStatus status = disk.ReadString(Data.Models.Metadata.Disk.StatusKey).AsItemStatus();
ItemStatus? status = disk.ReadString(Data.Models.Metadata.Disk.StatusKey).AsItemStatus();
if (status != ItemStatus.Nodump)
{
RemoveHashCount(HashType.MD5, string.IsNullOrEmpty(disk.ReadString(Data.Models.Metadata.Disk.MD5Key)) ? 0 : 1);
@@ -616,7 +618,7 @@ namespace SabreTools.Metadata.DatFiles
/// <param name="disk">Item to remove info for</param>
private void RemoveItemStatistics(Data.Models.Metadata.Disk disk)
{
ItemStatus status = disk.ReadString(Data.Models.Metadata.Disk.StatusKey).AsItemStatus();
ItemStatus? status = disk.ReadString(Data.Models.Metadata.Disk.StatusKey).AsItemStatus();
if (status != ItemStatus.Nodump)
{
RemoveHashCount(HashType.MD5, string.IsNullOrEmpty(disk.ReadString(Data.Models.Metadata.Disk.MD5Key)) ? 0 : 1);
@@ -672,7 +674,7 @@ namespace SabreTools.Metadata.DatFiles
/// <param name="rom">Item to remove info for</param>
private void RemoveItemStatistics(Rom rom)
{
ItemStatus status = rom.ReadString(Data.Models.Metadata.Rom.StatusKey).AsItemStatus();
ItemStatus? status = rom.ReadString(Data.Models.Metadata.Rom.StatusKey).AsItemStatus();
if (status != ItemStatus.Nodump)
{
TotalSize -= rom.ReadLong(Data.Models.Metadata.Rom.SizeKey) ?? 0;
@@ -703,7 +705,7 @@ namespace SabreTools.Metadata.DatFiles
/// <param name="rom">Item to remove info for</param>
private void RemoveItemStatistics(Data.Models.Metadata.Rom rom)
{
ItemStatus status = rom.ReadString(Data.Models.Metadata.Rom.StatusKey).AsItemStatus();
ItemStatus? status = rom.ReadString(Data.Models.Metadata.Rom.StatusKey).AsItemStatus();
if (status != ItemStatus.Nodump)
{
TotalSize -= rom.ReadLong(Data.Models.Metadata.Rom.SizeKey) ?? 0;