diff --git a/SabreTools.Helper/Objects/DATFromDir.cs b/SabreTools.Helper/Objects/DATFromDir.cs index c297365b..51c1d0b7 100644 --- a/SabreTools.Helper/Objects/DATFromDir.cs +++ b/SabreTools.Helper/Objects/DATFromDir.cs @@ -432,7 +432,9 @@ namespace SabreTools if (!encounteredErrors) { _logger.Log(Path.GetFileName(item) + " treated like an archive"); - foreach (string entry in Directory.EnumerateFiles(tempdir, "*", SearchOption.AllDirectories)) + List entries = Directory.EnumerateFiles(tempdir, "*", SearchOption.AllDirectories).ToList(); + entries.Sort(Style.CompareNumeric); + foreach (string entry in entries) { string tempbasepath = (Path.GetDirectoryName(Path.GetFullPath(item)) + Path.DirectorySeparatorChar); lastparent = ProcessFile(Path.GetFullPath(entry), sw, Path.GetFullPath(tempdir), diff --git a/SabreTools.Helper/Objects/DATFromDirParallel.cs b/SabreTools.Helper/Objects/DATFromDirParallel.cs index 38aa6d37..183fb933 100644 --- a/SabreTools.Helper/Objects/DATFromDirParallel.cs +++ b/SabreTools.Helper/Objects/DATFromDirParallel.cs @@ -245,7 +245,9 @@ namespace SabreTools List extracted = FileTools.GetArchiveFileInfo(item, _logger); foreach (Rom rom in extracted) { - ProcessFileHelper(item, rom, _basePath, + ProcessFileHelper(item, + rom, + _basePath, (Path.GetDirectoryName(Path.GetFullPath(item)) + Path.DirectorySeparatorChar).Remove(0, _basePath.Length) + Path.GetFileNameWithoutExtension(item)); } } @@ -274,7 +276,12 @@ namespace SabreTools new ParallelOptions { MaxDegreeOfParallelism = _maxDegreeOfParallelism }, entry => { - ProcessFile(entry, tempSubDir, Path.GetFileNameWithoutExtension(item)); + ProcessFile(entry, + tempSubDir, + Path.Combine((_datdata.Type == "SuperDAT" + ? (Path.GetDirectoryName(Path.GetFullPath(item)) + Path.DirectorySeparatorChar).Remove(0, _basePath.Length) + : ""), + Path.GetFileNameWithoutExtension(item))); }); // Clear the temp directory diff --git a/SabreTools.Helper/Tools/DatTools.cs b/SabreTools.Helper/Tools/DatTools.cs index 4ccd47cf..679d1e61 100644 --- a/SabreTools.Helper/Tools/DatTools.cs +++ b/SabreTools.Helper/Tools/DatTools.cs @@ -2940,7 +2940,7 @@ namespace SabreTools.Helper "\t\t" + HttpUtility.HtmlEncode(datdata.Homepage) + "\n" + "\t\t" + HttpUtility.HtmlEncode(datdata.Url) + "\n" + "\t\t" + HttpUtility.HtmlEncode(datdata.Comment) + "\n" + - (!String.IsNullOrEmpty(datdata.Type) ? "\t\t" + datdata.Type + "\n" : "") + + (!String.IsNullOrEmpty(datdata.Type) ? "\t\t" + HttpUtility.HtmlEncode(datdata.Type) + "\n" : "") + (datdata.ForcePacking != ForcePacking.None || datdata.ForceMerging != ForceMerging.None || datdata.ForceNodump != ForceNodump.None ? "\t\t