diff --git a/SabreTools.DatItems/DatItemTool.cs b/SabreTools.DatItems/DatItemTool.cs index c61ff632..22bcef32 100644 --- a/SabreTools.DatItems/DatItemTool.cs +++ b/SabreTools.DatItems/DatItemTool.cs @@ -478,7 +478,7 @@ namespace SabreTools.DatItems List> output = []; // First we want to make sure the list is in alphabetical order - Sort(ref mappings, true); + SortDB(ref mappings, true); // Now we want to loop through and check names DatItem? lastItem = null; @@ -556,7 +556,7 @@ namespace SabreTools.DatItems } // One last sort to make sure this is ordered - Sort(ref output, true); + SortDB(ref output, true); return output; } @@ -591,8 +591,8 @@ namespace SabreTools.DatItems var nc = new NaturalComparer(); // If machine names don't match - string? xMachineName = x.GetFieldValue(DatItem.MachineKey)!.GetStringFieldValue(Models.Metadata.Machine.NameKey); - string? yMachineName = y.GetFieldValue(DatItem.MachineKey)!.GetStringFieldValue(Models.Metadata.Machine.NameKey); + string? xMachineName = x.GetFieldValue(DatItem.MachineKey)?.GetStringFieldValue(Models.Metadata.Machine.NameKey); + string? yMachineName = y.GetFieldValue(DatItem.MachineKey)?.GetStringFieldValue(Models.Metadata.Machine.NameKey); if (xMachineName != yMachineName) return nc.Compare(xMachineName, yMachineName); @@ -635,7 +635,7 @@ namespace SabreTools.DatItems /// List of item ID to DatItem mappings representing the items to be sorted /// True if files are not renamed, false otherwise /// True if it sorted correctly, false otherwise - public static bool Sort(ref List> mappings, bool norename) + public static bool SortDB(ref List> mappings, bool norename) { mappings.Sort(delegate (KeyValuePair x, KeyValuePair y) { @@ -643,9 +643,11 @@ namespace SabreTools.DatItems { var nc = new NaturalComparer(); + // TODO: Fix this since DB uses an external map for machines + // If machine names don't match - string? xMachineName = x.Value.GetFieldValue(DatItem.MachineKey)!.GetStringFieldValue(Models.Metadata.Machine.NameKey); - string? yMachineName = y.Value.GetFieldValue(DatItem.MachineKey)!.GetStringFieldValue(Models.Metadata.Machine.NameKey); + string? xMachineName = x.Value.GetFieldValue(DatItem.MachineKey)?.GetStringFieldValue(Models.Metadata.Machine.NameKey); + string? yMachineName = y.Value.GetFieldValue(DatItem.MachineKey)?.GetStringFieldValue(Models.Metadata.Machine.NameKey); if (xMachineName != yMachineName) return nc.Compare(xMachineName, yMachineName);