mirror of
https://github.com/claunia/SabreTools.git
synced 2025-12-16 19:14:27 +00:00
[DatFile] Remove cloneable, use constructor instead
This commit is contained in:
@@ -5,7 +5,7 @@ using SabreTools.Helper.Data;
|
|||||||
|
|
||||||
namespace SabreTools.Helper.Dats
|
namespace SabreTools.Helper.Dats
|
||||||
{
|
{
|
||||||
public partial class DatFile : ICloneable
|
public partial class DatFile
|
||||||
{
|
{
|
||||||
#region Private instance variables
|
#region Private instance variables
|
||||||
|
|
||||||
@@ -486,43 +486,52 @@ namespace SabreTools.Helper.Dats
|
|||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region Cloning Methods [MODULAR DONE]
|
#region Constructors
|
||||||
|
|
||||||
public object Clone()
|
/// <summary>
|
||||||
|
/// Create a new, empty DatFile object
|
||||||
|
/// </summary>
|
||||||
|
public DatFile()
|
||||||
{
|
{
|
||||||
return new DatFile
|
_files = new SortedDictionary<string, List<DatItem>>();
|
||||||
{
|
}
|
||||||
FileName = _fileName,
|
|
||||||
Name = _name,
|
/// <summary>
|
||||||
Description = _description,
|
/// Create a new DatFile from an existing one
|
||||||
RootDir = _rootDir,
|
/// </summary>
|
||||||
Category = _category,
|
/// <param name="df"></param>
|
||||||
Version = _version,
|
public DatFile(DatFile datFile)
|
||||||
Date = _date,
|
{
|
||||||
Author = _author,
|
_fileName = datFile.FileName;
|
||||||
Email = _email,
|
_name = datFile.Name;
|
||||||
Homepage = _homepage,
|
_description = datFile.Description;
|
||||||
Url = _url,
|
_rootDir = datFile.RootDir;
|
||||||
Comment = _comment,
|
_category = datFile.Category;
|
||||||
Header = _header,
|
_version = datFile.Version;
|
||||||
Type = _type,
|
_date = datFile.Date;
|
||||||
ForceMerging = _forceMerging,
|
_author = datFile.Author;
|
||||||
ForceNodump = _forceNodump,
|
_email = datFile.Email;
|
||||||
ForcePacking = _forcePacking,
|
_homepage = datFile.Homepage;
|
||||||
ExcludeOf = _excludeOf,
|
_url = datFile.Url;
|
||||||
DatFormat = _datFormat,
|
_comment = datFile.Comment;
|
||||||
MergeRoms = _mergeRoms,
|
_header = datFile.Header;
|
||||||
SortedBy = SortedBy.Default,
|
_type = datFile.Type;
|
||||||
UseGame = _useGame,
|
_forceMerging = datFile.ForceMerging;
|
||||||
Prefix = _prefix,
|
_forceNodump = datFile.ForceNodump;
|
||||||
Postfix = _postfix,
|
_forcePacking = datFile.ForcePacking;
|
||||||
Quotes = _quotes,
|
_excludeOf = datFile.ExcludeOf;
|
||||||
RepExt = _repExt,
|
_datFormat = datFile.DatFormat;
|
||||||
AddExt = _addExt,
|
_mergeRoms = datFile.MergeRoms;
|
||||||
RemExt = _remExt,
|
_sortedBy = SortedBy.Default;
|
||||||
GameName = _gameName,
|
_useGame = datFile.UseGame;
|
||||||
Romba = _romba,
|
_prefix = datFile.Prefix;
|
||||||
};
|
_postfix = datFile.Postfix;
|
||||||
|
_quotes = datFile.Quotes;
|
||||||
|
_repExt = datFile.RepExt;
|
||||||
|
_addExt = datFile.AddExt;
|
||||||
|
_remExt = datFile.RemExt;
|
||||||
|
_gameName = datFile.GameName;
|
||||||
|
_romba = datFile.Romba;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|||||||
@@ -157,7 +157,7 @@ namespace SabreTools.Helper.Dats
|
|||||||
if ((diff & DiffMode.NoDupes) != 0)
|
if ((diff & DiffMode.NoDupes) != 0)
|
||||||
{
|
{
|
||||||
post = " (No Duplicates)";
|
post = " (No Duplicates)";
|
||||||
outerDiffData = (DatFile)Clone();
|
outerDiffData = new DatFile(this);
|
||||||
outerDiffData.FileName += post;
|
outerDiffData.FileName += post;
|
||||||
outerDiffData.Name += post;
|
outerDiffData.Name += post;
|
||||||
outerDiffData.Description += post;
|
outerDiffData.Description += post;
|
||||||
@@ -168,7 +168,7 @@ namespace SabreTools.Helper.Dats
|
|||||||
if ((diff & DiffMode.Dupes) != 0)
|
if ((diff & DiffMode.Dupes) != 0)
|
||||||
{
|
{
|
||||||
post = " (Duplicates)";
|
post = " (Duplicates)";
|
||||||
dupeData = (DatFile)Clone();
|
dupeData = new DatFile(this);
|
||||||
dupeData.FileName += post;
|
dupeData.FileName += post;
|
||||||
dupeData.Name += post;
|
dupeData.Name += post;
|
||||||
dupeData.Description += post;
|
dupeData.Description += post;
|
||||||
@@ -186,7 +186,7 @@ namespace SabreTools.Helper.Dats
|
|||||||
Parallel.For(0, inputs.Count, j =>
|
Parallel.For(0, inputs.Count, j =>
|
||||||
{
|
{
|
||||||
string innerpost = " (" + Path.GetFileNameWithoutExtension(inputs[j].Split('¬')[0]) + " Only)";
|
string innerpost = " (" + Path.GetFileNameWithoutExtension(inputs[j].Split('¬')[0]) + " Only)";
|
||||||
DatFile diffData = (DatFile)Clone();
|
DatFile diffData = new DatFile(this);
|
||||||
diffData.FileName += innerpost;
|
diffData.FileName += innerpost;
|
||||||
diffData.Name += innerpost;
|
diffData.Name += innerpost;
|
||||||
diffData.Description += innerpost;
|
diffData.Description += innerpost;
|
||||||
@@ -319,7 +319,7 @@ namespace SabreTools.Helper.Dats
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
diffData = (DatFile)Clone();
|
diffData = new DatFile(this);
|
||||||
diffData.FileName += post;
|
diffData.FileName += post;
|
||||||
diffData.Name += post;
|
diffData.Name += post;
|
||||||
diffData.Description += post;
|
diffData.Description += post;
|
||||||
@@ -459,7 +459,7 @@ namespace SabreTools.Helper.Dats
|
|||||||
|
|
||||||
if (File.Exists(inputFileName))
|
if (File.Exists(inputFileName))
|
||||||
{
|
{
|
||||||
DatFile innerDatdata = (DatFile)Clone();
|
DatFile innerDatdata = new DatFile(this);
|
||||||
logger.User("Processing \"" + Path.GetFileName(inputFileName) + "\"");
|
logger.User("Processing \"" + Path.GetFileName(inputFileName) + "\"");
|
||||||
innerDatdata.Parse(inputFileName, 0, 0, filter, trim, single,
|
innerDatdata.Parse(inputFileName, 0, 0, filter, trim, single,
|
||||||
root, logger, true, clean, softlist,
|
root, logger, true, clean, softlist,
|
||||||
@@ -480,7 +480,7 @@ namespace SabreTools.Helper.Dats
|
|||||||
file =>
|
file =>
|
||||||
{
|
{
|
||||||
logger.User("Processing \"" + Path.GetFullPath(file).Remove(0, inputFileName.Length) + "\"");
|
logger.User("Processing \"" + Path.GetFullPath(file).Remove(0, inputFileName.Length) + "\"");
|
||||||
DatFile innerDatdata = (DatFile)Clone();
|
DatFile innerDatdata = new DatFile(this);
|
||||||
innerDatdata.Parse(file, 0, 0, filter,
|
innerDatdata.Parse(file, 0, 0, filter,
|
||||||
trim, single, root, logger, true, clean, softlist,
|
trim, single, root, logger, true, clean, softlist,
|
||||||
keepext: ((innerDatdata.DatFormat & DatFormat.TSV) != 0 || (innerDatdata.DatFormat & DatFormat.CSV) != 0));
|
keepext: ((innerDatdata.DatFormat & DatFormat.TSV) != 0 || (innerDatdata.DatFormat & DatFormat.CSV) != 0));
|
||||||
|
|||||||
@@ -511,7 +511,7 @@ namespace SabreTools.Helper.Dats
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Setup the fixdat
|
// Setup the fixdat
|
||||||
DatFile matched = (DatFile)Clone();
|
DatFile matched = new DatFile(this);
|
||||||
matched.Reset();
|
matched.Reset();
|
||||||
matched.FileName = "fixDat_" + matched.FileName;
|
matched.FileName = "fixDat_" + matched.FileName;
|
||||||
matched.Name = "fixDat_" + matched.Name;
|
matched.Name = "fixDat_" + matched.Name;
|
||||||
|
|||||||
@@ -337,7 +337,7 @@ namespace SabreTools.Helper.Dats
|
|||||||
BucketByGame(false, true, logger, output: false, lower: false);
|
BucketByGame(false, true, logger, output: false, lower: false);
|
||||||
|
|
||||||
// Create a temporary DAT to add things to
|
// Create a temporary DAT to add things to
|
||||||
DatFile tempDat = (DatFile)Clone();
|
DatFile tempDat = new DatFile(this);
|
||||||
tempDat.Name = null;
|
tempDat.Name = null;
|
||||||
|
|
||||||
// Sort the input keys
|
// Sort the input keys
|
||||||
@@ -354,7 +354,7 @@ namespace SabreTools.Helper.Dats
|
|||||||
SplitByLevelHelper(tempDat, outDir, shortname, basedat, logger);
|
SplitByLevelHelper(tempDat, outDir, shortname, basedat, logger);
|
||||||
|
|
||||||
// Reset the DAT for the next items
|
// Reset the DAT for the next items
|
||||||
tempDat = (DatFile)Clone();
|
tempDat = new DatFile(this);
|
||||||
tempDat.Name = null;
|
tempDat.Name = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -113,7 +113,7 @@ namespace SabreTools
|
|||||||
if (Directory.Exists(path) || File.Exists(path))
|
if (Directory.Exists(path) || File.Exists(path))
|
||||||
{
|
{
|
||||||
// Clone the base Dat for information
|
// Clone the base Dat for information
|
||||||
DatFile datdata = (DatFile)basedat.Clone();
|
DatFile datdata = new DatFile(basedat);
|
||||||
|
|
||||||
string basePath = Path.GetFullPath(path);
|
string basePath = Path.GetFullPath(path);
|
||||||
bool success = datdata.PopulateFromDir(basePath, noMD5, noSHA1, removeDateFromAutomaticName, parseArchivesAsFiles, enableGzip,
|
bool success = datdata.PopulateFromDir(basePath, noMD5, noSHA1, removeDateFromAutomaticName, parseArchivesAsFiles, enableGzip,
|
||||||
|
|||||||
Reference in New Issue
Block a user