diff --git a/RombaSharp/Partials/RombaSharp_Helpers.cs b/RombaSharp/Partials/RombaSharp_Helpers.cs index 8656b938..23937a19 100644 --- a/RombaSharp/Partials/RombaSharp_Helpers.cs +++ b/RombaSharp/Partials/RombaSharp_Helpers.cs @@ -358,7 +358,7 @@ namespace SabreTools { // Parse the Dat if possible Dat tempdat = new Dat(); - tempdat = DatTools.Parse(toscan[key], 0, 0, tempdat, _logger); + DatTools.Parse(toscan[key], 0, 0, ref tempdat, _logger); // If the Dat wasn't empty, add the information if (tempdat.Files.Count != 0) diff --git a/SabreTools.Helper/Objects/GenerateTwo.cs b/SabreTools.Helper/Objects/GenerateTwo.cs index 2ff64a90..41d6c82d 100644 --- a/SabreTools.Helper/Objects/GenerateTwo.cs +++ b/SabreTools.Helper/Objects/GenerateTwo.cs @@ -173,7 +173,7 @@ namespace SabreTools { Int32.TryParse(sourcemap[hash], out tempSrcId); } - datdata = DatTools.Parse(file, 0, tempSrcId, datdata, _logger); + DatTools.Parse(file, 0, tempSrcId, ref datdata, _logger); } // If the dictionary is empty for any reason, tell the user and exit diff --git a/SabreTools.Helper/Objects/Import.cs b/SabreTools.Helper/Objects/Import.cs index 43642474..2834b292 100644 --- a/SabreTools.Helper/Objects/Import.cs +++ b/SabreTools.Helper/Objects/Import.cs @@ -367,7 +367,7 @@ namespace SabreTools // Get all roms that are found in the DAT to see what needs to be added Dat datdata = new Dat(); - datdata = DatTools.Parse(_filepath, sysid, srcid, datdata, _logger); + DatTools.Parse(_filepath, sysid, srcid, ref datdata, _logger); // Sort inputted roms into games SortedDictionary> sortable = new SortedDictionary>(); diff --git a/SabreTools.Helper/Objects/Stats.cs b/SabreTools.Helper/Objects/Stats.cs index 0f1e8602..f50236d2 100644 --- a/SabreTools.Helper/Objects/Stats.cs +++ b/SabreTools.Helper/Objects/Stats.cs @@ -48,7 +48,7 @@ namespace SabreTools.Helper _logger.Log("Beginning stat collection for '" + filename + "'"); List games = new List(); Dat datdata = new Dat(); - datdata = DatTools.Parse(filename, 0, 0, datdata, _logger); + DatTools.Parse(filename, 0, 0, ref datdata, _logger); SortedDictionary> newroms = DatTools.BucketByGame(datdata.Files, false, true, _logger, false); // Output single DAT stats (if asked) diff --git a/SabreTools.Helper/Tools/DatTools.cs b/SabreTools.Helper/Tools/DatTools.cs index 64dfed87..c289ebdc 100644 --- a/SabreTools.Helper/Tools/DatTools.cs +++ b/SabreTools.Helper/Tools/DatTools.cs @@ -103,10 +103,9 @@ namespace SabreTools.Helper /// True if game names are sanitized, false otherwise (default) /// True if SL XML names should be kept, false otherwise (default) /// True if original extension should be kept, false otherwise (default) - /// DatData object representing the read-in data - public static Dat Parse(string filename, int sysid, int srcid, Dat datdata, Logger logger, bool keep = false, bool clean = false, bool softlist = false, bool keepext = false) + public static void Parse(string filename, int sysid, int srcid, ref Dat datdata, Logger logger, bool keep = false, bool clean = false, bool softlist = false, bool keepext = false) { - return Parse(filename, sysid, srcid, datdata, null, null, null, -1, -1, -1, null, null, null, null, false, false, "", logger, keep, clean, softlist, keepext); + Parse(filename, sysid, srcid, ref datdata, null, null, null, -1, -1, -1, null, null, null, null, false, false, "", logger, keep, clean, softlist, keepext); } /// @@ -134,13 +133,12 @@ namespace SabreTools.Helper /// True if game names are sanitized, false otherwise (default) /// True if SL XML names should be kept, false otherwise (default) /// True if original extension should be kept, false otherwise (default) - /// DatData object representing the read-in data public static Dat Parse( // Standard Dat parsing string filename, int sysid, int srcid, - Dat datdata, + ref Dat datdata, // Rom filtering string gamename, @@ -2271,7 +2269,7 @@ namespace SabreTools.Helper { Dat innerDatdata = (Dat)datdata.CloneHeader(); logger.User("Processing \"" + Path.GetFileName(inputFileName) + "\""); - innerDatdata = Parse(inputFileName, 0, 0, innerDatdata, gamename, romname, + Parse(inputFileName, 0, 0, ref innerDatdata, gamename, romname, romtype, sgt, slt, seq, crc, md5, sha1, nodump, trim, single, root, logger, true, clean, softlist, keepext: (innerDatdata.XSV != null)); @@ -2292,7 +2290,7 @@ namespace SabreTools.Helper logger.User("Processing \"" + Path.GetFullPath(file).Remove(0, inputFileName.Length) + "\""); Dat innerDatdata = (Dat)datdata.Clone(); innerDatdata.Files = null; - innerDatdata = Parse(file, 0, 0, innerDatdata, gamename, romname, romtype, sgt, + Parse(file, 0, 0, ref innerDatdata, gamename, romname, romtype, sgt, slt, seq, crc, md5, sha1, nodump, trim, single, root, logger, true, clean, keepext: (datdata.XSV != null)); // If we have roms, output them @@ -2357,7 +2355,7 @@ namespace SabreTools.Helper MergeRoms = inputDat.MergeRoms, }; - datHeaders[i] = Parse(input.Split('¬')[0], i, 0, datHeaders[i], gamename, romname, romtype, sgt, slt, seq, + Parse(input.Split('¬')[0], i, 0, ref datHeaders[i], gamename, romname, romtype, sgt, slt, seq, crc, md5, sha1, nodump, trim, single, root, logger, true, clean, softlist); }); @@ -3417,7 +3415,7 @@ namespace SabreTools.Helper // Get the file data to be split Dat datdata = new Dat(); - datdata = Parse(filename, 0, 0, datdata, logger, softlist:true); + Parse(filename, 0, 0, ref datdata, logger, softlist:true); // Set all of the appropriate outputs for each of the subsets Dat datdataA = new Dat @@ -3555,7 +3553,7 @@ namespace SabreTools.Helper // Get the file data to be split Dat datdata = new Dat(); - datdata = Parse(filename, 0, 0, datdata, logger, true, softlist:true); + Parse(filename, 0, 0, ref datdata, logger, true, softlist:true); // Create each of the respective output DATs logger.User("Creating and populating new DATs"); @@ -3769,7 +3767,7 @@ namespace SabreTools.Helper // Get the file data to be split Dat datdata = new Dat(); - datdata = Parse(filename, 0, 0, datdata, logger, true, softlist:true); + Parse(filename, 0, 0, ref datdata, logger, true, softlist:true); // Create each of the respective output DATs logger.User("Creating and populating new DATs"); diff --git a/SabreTools/Partials/SabreTools_Inits.cs b/SabreTools/Partials/SabreTools_Inits.cs index defd583d..62ca2fcb 100644 --- a/SabreTools/Partials/SabreTools_Inits.cs +++ b/SabreTools/Partials/SabreTools_Inits.cs @@ -387,7 +387,7 @@ namespace SabreTools Dat datdata = new Dat(); foreach (string datfile in datfiles) { - datdata = DatTools.Parse(datfile, 99, 99, datdata, logger); + DatTools.Parse(datfile, 99, 99, ref datdata, logger); } SimpleSort ss = new SimpleSort(datdata, inputs, outDir, tempDir, quickScan, toFolder, verify, diff --git a/SimpleSort/SimpleSortApp.cs b/SimpleSort/SimpleSortApp.cs index 5957466f..a57a6e4c 100644 --- a/SimpleSort/SimpleSortApp.cs +++ b/SimpleSort/SimpleSortApp.cs @@ -254,7 +254,7 @@ namespace SabreTools Dat datdata = new Dat(); foreach (string datfile in datfiles) { - datdata = DatTools.Parse(datfile, 99, 99, datdata, logger, keep: true, softlist: true); + DatTools.Parse(datfile, 99, 99, ref datdata, logger, keep: true, softlist: true); } SimpleSort ss = new SimpleSort(datdata, inputs, outDir, tempDir, quickScan, toFolder, verify,