diff --git a/SabreTools.Helper/Objects/Dat/DatFile.cs b/SabreTools.Helper/Objects/Dat/DatFile.cs
index 73a23f8f..e9d07454 100644
--- a/SabreTools.Helper/Objects/Dat/DatFile.cs
+++ b/SabreTools.Helper/Objects/Dat/DatFile.cs
@@ -2683,17 +2683,17 @@ Please check the log folder if the stats scrolled offscreen");
// Modify the Dictionary if necessary and output the results
if (diff != 0 && cascade == null)
{
- DiffNoCascade(diff, outDir, userData, newInputFileNames, logger);
+ userData.DiffNoCascade(diff, outDir, newInputFileNames, logger);
}
// If we're in cascade and diff, output only cascaded diffs
else if (diff != 0 && cascade != null)
{
- DiffCascade(outDir, inplace, userData, newInputFileNames, datHeaders, skip, logger);
+ userData.DiffCascade(outDir, inplace, newInputFileNames, datHeaders, skip, logger);
}
// Output all entries with user-defined merge
else
{
- MergeNoDiff(outDir, userData, newInputFileNames, datHeaders, logger);
+ userData.MergeNoDiff(outDir, newInputFileNames, datHeaders, logger);
}
}
// Otherwise, loop through all of the inputs individually
@@ -2832,10 +2832,9 @@ Please check the log folder if the stats scrolled offscreen");
///
/// Non-zero flag for diffing mode, zero otherwise
/// Output directory to write the DATs to
- /// Main DatData to draw information from
/// List of inputs to write out from
/// Logging object for console and file output
- public static void DiffNoCascade(DiffMode diff, string outDir, DatFile userData, List inputs, Logger logger)
+ public void DiffNoCascade(DiffMode diff, string outDir, List inputs, Logger logger)
{
DateTime start = DateTime.Now;
logger.User("Initializing all output DATs");
@@ -2849,7 +2848,7 @@ Please check the log folder if the stats scrolled offscreen");
if ((diff & DiffMode.NoDupes) != 0)
{
post = " (No Duplicates)";
- outerDiffData = (DatFile)userData.CloneHeader();
+ outerDiffData = (DatFile)CloneHeader();
outerDiffData.FileName += post;
outerDiffData.Name += post;
outerDiffData.Description += post;
@@ -2860,7 +2859,7 @@ Please check the log folder if the stats scrolled offscreen");
if ((diff & DiffMode.Dupes) != 0)
{
post = " (Duplicates)";
- dupeData = (DatFile)userData.CloneHeader();
+ dupeData = (DatFile)CloneHeader();
dupeData.FileName += post;
dupeData.Name += post;
dupeData.Description += post;
@@ -2878,7 +2877,7 @@ Please check the log folder if the stats scrolled offscreen");
Parallel.For(0, inputs.Count, j =>
{
string innerpost = " (" + Path.GetFileNameWithoutExtension(inputs[j].Split('¬')[0]) + " Only)";
- DatFile diffData = (DatFile)userData.CloneHeader();
+ DatFile diffData = (DatFile)CloneHeader();
diffData.FileName += innerpost;
diffData.Name += innerpost;
diffData.Description += innerpost;
@@ -2893,10 +2892,10 @@ Please check the log folder if the stats scrolled offscreen");
// Now, loop through the dictionary and populate the correct DATs
start = DateTime.Now;
logger.User("Populating all output DATs");
- List keys = userData.Files.Keys.ToList();
+ List keys = Files.Keys.ToList();
foreach (string key in keys)
{
- List roms = DatItem.Merge(userData.Files[key], logger);
+ List roms = DatItem.Merge(Files[key], logger);
if (roms != null && roms.Count > 0)
{
@@ -3006,12 +3005,11 @@ Please check the log folder if the stats scrolled offscreen");
///
/// Output directory to write the DATs to
/// True if cascaded diffs are outputted in-place, false otherwise
- /// Main DatData to draw information from
/// List of inputs to write out from
/// Dat headers used optionally
/// True if the first cascaded diff file should be skipped on output, false otherwise
/// Logging object for console and file output
- public static void DiffCascade(string outDir, bool inplace, DatFile userData, List inputs, List datHeaders, bool skip, Logger logger)
+ public void DiffCascade(string outDir, bool inplace, List inputs, List datHeaders, bool skip, Logger logger)
{
string post = "";
@@ -3036,7 +3034,7 @@ Please check the log folder if the stats scrolled offscreen");
}
else
{
- diffData = (DatFile)userData.CloneHeader();
+ diffData = (DatFile)CloneHeader();
diffData.FileName += post;
diffData.Name += post;
diffData.Description += post;
@@ -3052,11 +3050,11 @@ Please check the log folder if the stats scrolled offscreen");
// Now, loop through the dictionary and populate the correct DATs
start = DateTime.Now;
logger.User("Populating all output DATs");
- List keys = userData.Files.Keys.ToList();
+ List keys = Files.Keys.ToList();
foreach (string key in keys)
{
- List roms = DatItem.Merge(userData.Files[key], logger);
+ List roms = DatItem.Merge(Files[key], logger);
if (roms != null && roms.Count > 0)
{
@@ -3114,19 +3112,18 @@ Please check the log folder if the stats scrolled offscreen");
///
/// Output directory to write the DATs to
/// List of inputs to write out from
- /// Main DatData to draw information from
/// Dat headers used optionally
/// Logging object for console and file output
- public static void MergeNoDiff(string outDir, DatFile userData, List inputs, List datHeaders, Logger logger)
+ public void MergeNoDiff(string outDir, List inputs, List datHeaders, Logger logger)
{
// If we're in SuperDAT mode, prefix all games with their respective DATs
- if (userData.Type == "SuperDAT")
+ if (Type == "SuperDAT")
{
- List keys = userData.Files.Keys.ToList();
+ List keys = Files.Keys.ToList();
foreach (string key in keys)
{
List newroms = new List();
- foreach (DatItem rom in userData.Files[key])
+ foreach (DatItem rom in Files[key])
{
DatItem newrom = rom;
string filename = inputs[newrom.SystemID].Split('¬')[0];
@@ -3139,14 +3136,14 @@ Please check the log folder if the stats scrolled offscreen");
+ newrom.MachineName;
newroms.Add(newrom);
}
- userData.Files[key] = newroms;
+ Files[key] = newroms;
}
}
// Output a DAT only if there are roms
- if (userData.Files.Count != 0)
+ if (Files.Count != 0)
{
- WriteDatfile(userData, outDir, logger);
+ WriteDatfile(this, outDir, logger);
}
}