mirror of
https://github.com/claunia/SabreTools.git
synced 2025-12-16 19:14:27 +00:00
Clean up deheader a little
This commit is contained in:
@@ -7,7 +7,8 @@ namespace Deheader
|
|||||||
{
|
{
|
||||||
class Program
|
class Program
|
||||||
{
|
{
|
||||||
private static string help = @"Deheader.exe type filename|dirname
|
private static Dictionary<string, int> types;
|
||||||
|
private static string help = @"Deheader.exe type filename|dirname
|
||||||
|
|
||||||
Type can be one of the following:
|
Type can be one of the following:
|
||||||
a7800, fds, lynx, nes, snes";
|
a7800, fds, lynx, nes, snes";
|
||||||
@@ -15,7 +16,7 @@ Type can be one of the following:
|
|||||||
static void Main(string[] args)
|
static void Main(string[] args)
|
||||||
{
|
{
|
||||||
// Type mapped to header size (in decimal bytes)
|
// Type mapped to header size (in decimal bytes)
|
||||||
Dictionary<string, int> types = new Dictionary<string, int>();
|
types = new Dictionary<string, int>();
|
||||||
types.Add("a7800", 128);
|
types.Add("a7800", 128);
|
||||||
types.Add("fds", 16);
|
types.Add("fds", 16);
|
||||||
types.Add("lynx", 64);
|
types.Add("lynx", 64);
|
||||||
@@ -72,26 +73,20 @@ Type can be one of the following:
|
|||||||
switch (type)
|
switch (type)
|
||||||
{
|
{
|
||||||
case "a7800":
|
case "a7800":
|
||||||
bool a7800a = Regex.IsMatch(header, "^.415441524937383030");
|
hasHeader = Regex.IsMatch(header, "^.415441524937383030") || Regex.IsMatch(header, "^.{64}41435455414C20434152542044415441205354415254532048455245");
|
||||||
bool a7800b = Regex.IsMatch(header, "^.{64}41435455414C20434152542044415441205354415254532048455245");
|
|
||||||
hasHeader = a7800a || a7800b;
|
|
||||||
break;
|
break;
|
||||||
case "fds":
|
case "fds":
|
||||||
hasHeader = Regex.IsMatch(header, "^4644531A0[1-4]0000000000000000000000");
|
hasHeader = Regex.IsMatch(header, "^4644531A0[1-4]0000000000000000000000");
|
||||||
break;
|
break;
|
||||||
case "lynx":
|
case "lynx":
|
||||||
bool lynxa = Regex.IsMatch(header, "^4C594E58");
|
hasHeader = Regex.IsMatch(header, "^4C594E58") || Regex.IsMatch(header, "^425339");
|
||||||
bool lynxb = Regex.IsMatch(header, "^425339");
|
|
||||||
hasHeader = lynxa || lynxb;
|
|
||||||
break;
|
break;
|
||||||
case "nes":
|
case "nes":
|
||||||
hasHeader = Regex.IsMatch(header, "^4E45531A");
|
hasHeader = Regex.IsMatch(header, "^4E45531A");
|
||||||
break;
|
break;
|
||||||
case "snes":
|
case "snes":
|
||||||
bool fig = Regex.IsMatch(header, "^.{16}0000000000000000");
|
// fig, smc, ufo
|
||||||
bool smc = Regex.IsMatch(header, "^.{16}AABB040000000000");
|
hasHeader = Regex.IsMatch(header, "^.{16}0000000000000000") || Regex.IsMatch(header, "^.{16}AABB040000000000") || Regex.IsMatch(header, "^.{16}535550455255464F");
|
||||||
bool ufo = Regex.IsMatch(header, "^.{16}535550455255464F");
|
|
||||||
hasHeader = fig || smc || ufo;
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user