diff --git a/SabreTools.Helper/Objects/Dat/DatItem.cs b/SabreTools.Helper/Objects/Dat/DatItem.cs index a35aacbd..691611d0 100644 --- a/SabreTools.Helper/Objects/Dat/DatItem.cs +++ b/SabreTools.Helper/Objects/Dat/DatItem.cs @@ -756,7 +756,11 @@ namespace SabreTools.Helper { if ((x.Type == ItemType.Rom || x.Type == ItemType.Disk) && (y.Type == ItemType.Rom || y.Type == ItemType.Disk)) { - return nc.Compare(x.Name, y.Name); + if (Path.GetDirectoryName(x.Name) == Path.GetDirectoryName(y.Name)) + { + return nc.Compare(Path.GetFileName(x.Name), Path.GetFileName(y.Name)); + } + return nc.Compare(Path.GetDirectoryName(x.Name), Path.GetDirectoryName(y.Name)); } else if ((x.Type == ItemType.Rom || x.Type == ItemType.Disk) && (y.Type != ItemType.Rom && y.Type != ItemType.Disk)) { @@ -768,7 +772,11 @@ namespace SabreTools.Helper } else { - return nc.Compare(x.Name, y.Name); + if (Path.GetDirectoryName(x.Name) == Path.GetDirectoryName(y.Name)) + { + return nc.Compare(Path.GetFileName(x.Name), Path.GetFileName(y.Name)); + } + return nc.Compare(Path.GetDirectoryName(x.Name), Path.GetDirectoryName(y.Name)); } } return nc.Compare(x.MachineName, y.MachineName);