Add TOSEC dump flag support
This commit is contained in:
@@ -397,11 +397,11 @@ namespace gaseous_identifier.classes
|
|||||||
(
|
(
|
||||||
token != romObject.RomTypeMedia &&
|
token != romObject.RomTypeMedia &&
|
||||||
token != gameObject.Publisher &&
|
token != gameObject.Publisher &&
|
||||||
|
token != gameObject.SystemVariant &&
|
||||||
|
token != gameObject.Video &&
|
||||||
token != gameObject.Country.Key &&
|
token != gameObject.Country.Key &&
|
||||||
token != gameObject.Copyright.Key &&
|
token != gameObject.Copyright.Key &&
|
||||||
token != gameObject.Language.Key &&
|
token != gameObject.Language.Key &&
|
||||||
token != gameObject.SystemVariant &&
|
|
||||||
token != gameObject.Video &&
|
|
||||||
token != gameObject.DevelopmentStatus.Key
|
token != gameObject.DevelopmentStatus.Key
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
@@ -409,6 +409,55 @@ namespace gaseous_identifier.classes
|
|||||||
// likely the media label?
|
// likely the media label?
|
||||||
romObject.MediaLabel = token;
|
romObject.MediaLabel = token;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// process dump flags
|
||||||
|
if (rawToken.IndexOf("[") > 0)
|
||||||
|
{
|
||||||
|
// has dump flags
|
||||||
|
string rawDumpFlags = rawToken.Substring(rawToken.IndexOf("["));
|
||||||
|
string[] dumpFlags = rawDumpFlags.Split("[");
|
||||||
|
foreach (string dumpFlag in dumpFlags)
|
||||||
|
{
|
||||||
|
string dToken = dumpFlag.Replace("]", "");
|
||||||
|
if (dToken.Length > 0)
|
||||||
|
{
|
||||||
|
string[] dTokenCompare = dToken.Split(" ");
|
||||||
|
switch (dTokenCompare[0].Trim().ToLower())
|
||||||
|
{
|
||||||
|
case "cr":
|
||||||
|
// cracked
|
||||||
|
case "f":
|
||||||
|
// fixed
|
||||||
|
case "h":
|
||||||
|
// hacked
|
||||||
|
case "m":
|
||||||
|
// modified
|
||||||
|
case "p":
|
||||||
|
// pirated
|
||||||
|
case "t":
|
||||||
|
// trained
|
||||||
|
case "tr":
|
||||||
|
// translated
|
||||||
|
case "o":
|
||||||
|
// overdump
|
||||||
|
case "u":
|
||||||
|
// underdump
|
||||||
|
case "v":
|
||||||
|
// virus
|
||||||
|
case "b":
|
||||||
|
// bad dump
|
||||||
|
case "a":
|
||||||
|
// alternate
|
||||||
|
case "!":
|
||||||
|
// known verified dump
|
||||||
|
// -------------------
|
||||||
|
romObject.flags.Add(dToken);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
gameObject.Roms.Add(romObject);
|
gameObject.Roms.Add(romObject);
|
||||||
|
@@ -56,7 +56,7 @@ namespace gaseous_identifier.objects
|
|||||||
public string? Md5 { get; set; }
|
public string? Md5 { get; set; }
|
||||||
public string? Sha1 { get; set; }
|
public string? Sha1 { get; set; }
|
||||||
|
|
||||||
public string? flags { get; set; }
|
public List<string> flags { get; set; } = new List<string>();
|
||||||
|
|
||||||
public RomTypes RomType { get; set; }
|
public RomTypes RomType { get; set; }
|
||||||
public string? RomTypeMedia { get; set; }
|
public string? RomTypeMedia { get; set; }
|
||||||
|
@@ -3,6 +3,7 @@ using System.Security.Cryptography;
|
|||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Xml;
|
using System.Xml;
|
||||||
using System.Xml.Serialization;
|
using System.Xml.Serialization;
|
||||||
|
using Newtonsoft.Json;
|
||||||
|
|
||||||
string[] commandLineArgs = Environment.GetCommandLineArgs();
|
string[] commandLineArgs = Environment.GetCommandLineArgs();
|
||||||
|
|
||||||
@@ -135,7 +136,10 @@ foreach (string romFile in romPathContents)
|
|||||||
gameSignature.Roms.Clear();
|
gameSignature.Roms.Clear();
|
||||||
gameSignature.Roms.Add(romObject);
|
gameSignature.Roms.Add(romObject);
|
||||||
|
|
||||||
Console.WriteLine(Newtonsoft.Json.JsonConvert.SerializeObject(gameSignature, Newtonsoft.Json.Formatting.Indented));
|
var jsonSerializerSettings = new JsonSerializerSettings();
|
||||||
|
jsonSerializerSettings.Converters.Add(new Newtonsoft.Json.Converters.StringEnumConverter());
|
||||||
|
jsonSerializerSettings.NullValueHandling = NullValueHandling.Ignore;
|
||||||
|
Console.WriteLine(Newtonsoft.Json.JsonConvert.SerializeObject(gameSignature, Newtonsoft.Json.Formatting.Indented, jsonSerializerSettings));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user