2016-05-16 11:59:33 -07:00
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
|
|
|
|
|
|
|
namespace SabreTools.Helper
|
2016-04-12 15:03:47 -07:00
|
|
|
|
{
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// Intermediate struct for holding and processing rom data
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public struct RomData
|
|
|
|
|
|
{
|
|
|
|
|
|
public string Manufacturer;
|
|
|
|
|
|
public string System;
|
|
|
|
|
|
public int SystemID;
|
|
|
|
|
|
public string Source;
|
|
|
|
|
|
public string URL;
|
|
|
|
|
|
public int SourceID;
|
|
|
|
|
|
public string Game;
|
|
|
|
|
|
public string Name;
|
|
|
|
|
|
public string Type;
|
|
|
|
|
|
public long Size;
|
|
|
|
|
|
public string CRC;
|
|
|
|
|
|
public string MD5;
|
|
|
|
|
|
public string SHA1;
|
2016-05-10 20:55:51 -07:00
|
|
|
|
public DupeType Dupe;
|
2016-05-18 16:59:34 -07:00
|
|
|
|
public bool Nodump;
|
2016-05-20 10:21:24 -07:00
|
|
|
|
public string Date;
|
2016-04-12 15:03:47 -07:00
|
|
|
|
}
|
2016-05-15 14:34:06 -07:00
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// Intermediate struct for holding DAT information
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public struct DatData
|
|
|
|
|
|
{
|
2016-05-16 21:52:49 -07:00
|
|
|
|
// Data common to most DAT types
|
2016-05-25 11:11:54 -07:00
|
|
|
|
public string FileName;
|
2016-05-15 14:34:06 -07:00
|
|
|
|
public string Name;
|
|
|
|
|
|
public string Description;
|
|
|
|
|
|
public string Category;
|
|
|
|
|
|
public string Version;
|
|
|
|
|
|
public string Date;
|
|
|
|
|
|
public string Author;
|
|
|
|
|
|
public string Email;
|
|
|
|
|
|
public string Homepage;
|
|
|
|
|
|
public string Url;
|
|
|
|
|
|
public string Comment;
|
|
|
|
|
|
public string Header;
|
2016-05-17 11:23:06 -07:00
|
|
|
|
public string Type; // Generally only used for SuperDAT
|
2016-05-15 14:34:06 -07:00
|
|
|
|
public ForceMerging ForceMerging;
|
|
|
|
|
|
public ForceNodump ForceNodump;
|
|
|
|
|
|
public ForcePacking ForcePacking;
|
|
|
|
|
|
public OutputFormat OutputFormat;
|
2016-05-16 11:59:33 -07:00
|
|
|
|
public bool MergeRoms;
|
|
|
|
|
|
public Dictionary<string, List<RomData>> Roms;
|
2016-05-16 21:52:49 -07:00
|
|
|
|
|
|
|
|
|
|
// Data specific to the Miss DAT type
|
|
|
|
|
|
public bool UseGame;
|
|
|
|
|
|
public string Prefix;
|
|
|
|
|
|
public string Postfix;
|
|
|
|
|
|
public bool Quotes;
|
|
|
|
|
|
public string RepExt;
|
|
|
|
|
|
public string AddExt;
|
|
|
|
|
|
public bool GameName;
|
|
|
|
|
|
public bool Romba;
|
2016-05-29 00:44:37 -07:00
|
|
|
|
public bool TSV; // tab-deliminated output
|
2016-05-31 23:34:19 -07:00
|
|
|
|
|
|
|
|
|
|
// Statistical data related to the DAT
|
|
|
|
|
|
public long RomCount;
|
|
|
|
|
|
public long DiskCount;
|
|
|
|
|
|
public long TotalSize;
|
|
|
|
|
|
public long CRCCount;
|
|
|
|
|
|
public long MD5Count;
|
|
|
|
|
|
public long SHA1Count;
|
|
|
|
|
|
public long NodumpCount;
|
2016-05-15 14:34:06 -07:00
|
|
|
|
}
|
2016-04-12 15:03:47 -07:00
|
|
|
|
}
|