mirror of
https://github.com/claunia/SabreTools.git
synced 2025-12-16 19:14:27 +00:00
[Utilities] More helpers
This commit is contained in:
@@ -113,29 +113,7 @@ namespace SabreTools.Library.DatFiles
|
||||
}
|
||||
|
||||
// Create the proper DatItem based on the type
|
||||
DatItem item;
|
||||
switch (temptype)
|
||||
{
|
||||
case ItemType.Archive:
|
||||
item = new Archive();
|
||||
break;
|
||||
case ItemType.BiosSet:
|
||||
item = new BiosSet();
|
||||
break;
|
||||
case ItemType.Disk:
|
||||
item = new Disk();
|
||||
break;
|
||||
case ItemType.Release:
|
||||
item = new Release();
|
||||
break;
|
||||
case ItemType.Sample:
|
||||
item = new Sample();
|
||||
break;
|
||||
case ItemType.Rom:
|
||||
default:
|
||||
item = new Rom();
|
||||
break;
|
||||
}
|
||||
DatItem item = Utilities.GetDatItem(temptype);
|
||||
|
||||
// Then populate it with information
|
||||
item.MachineName = tempgamename;
|
||||
|
||||
@@ -204,27 +204,7 @@ namespace SabreTools.Library.DatFiles
|
||||
machineDesc = value;
|
||||
break;
|
||||
case "DatItem.Type":
|
||||
switch (value.ToLowerInvariant())
|
||||
{
|
||||
case "archive":
|
||||
itemType = ItemType.Archive;
|
||||
break;
|
||||
case "biosset":
|
||||
itemType = ItemType.BiosSet;
|
||||
break;
|
||||
case "disk":
|
||||
itemType = ItemType.Disk;
|
||||
break;
|
||||
case "release":
|
||||
itemType = ItemType.Release;
|
||||
break;
|
||||
case "rom":
|
||||
itemType = ItemType.Rom;
|
||||
break;
|
||||
case "sample":
|
||||
itemType = ItemType.Sample;
|
||||
break;
|
||||
}
|
||||
itemType = Utilities.GetItemType(value) ?? ItemType.Rom;
|
||||
break;
|
||||
case "Rom.Name":
|
||||
case "Disk.Name":
|
||||
@@ -255,26 +235,7 @@ namespace SabreTools.Library.DatFiles
|
||||
sha512 = value;
|
||||
break;
|
||||
case "DatItem.Nodump":
|
||||
switch (value.ToLowerInvariant())
|
||||
{
|
||||
case "baddump":
|
||||
status = ItemStatus.BadDump;
|
||||
break;
|
||||
case "good":
|
||||
status = ItemStatus.Good;
|
||||
break;
|
||||
case "no":
|
||||
case "none":
|
||||
status = ItemStatus.None;
|
||||
break;
|
||||
case "nodump":
|
||||
case "yes":
|
||||
status = ItemStatus.Nodump;
|
||||
break;
|
||||
case "verified":
|
||||
status = ItemStatus.Verified;
|
||||
break;
|
||||
}
|
||||
status = Utilities.GetItemStatus(value);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -372,6 +372,7 @@ namespace SabreTools.Library.Tools
|
||||
switch (status?.ToLowerInvariant())
|
||||
{
|
||||
case "none":
|
||||
case "no":
|
||||
default:
|
||||
return ItemStatus.None;
|
||||
case "good":
|
||||
@@ -379,12 +380,39 @@ namespace SabreTools.Library.Tools
|
||||
case "baddump":
|
||||
return ItemStatus.BadDump;
|
||||
case "nodump":
|
||||
case "yes":
|
||||
return ItemStatus.Nodump;
|
||||
case "verified":
|
||||
return ItemStatus.Verified;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Get ItemType? value from input string
|
||||
/// </summary>
|
||||
/// <param name="itemType">String to get value from</param>
|
||||
/// <returns>ItemType? value corresponding to the string</returns>
|
||||
public static ItemType? GetItemType(string itemType)
|
||||
{
|
||||
switch (itemType?.ToLowerInvariant())
|
||||
{
|
||||
case "archive":
|
||||
return ItemType.Archive;
|
||||
case "biosset":
|
||||
return ItemType.BiosSet;
|
||||
case "disk":
|
||||
return ItemType.Disk;
|
||||
case "release":
|
||||
return ItemType.Release;
|
||||
case "rom":
|
||||
return ItemType.Rom;
|
||||
case "sample":
|
||||
return ItemType.Sample;
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Get MachineType value from input string
|
||||
/// </summary>
|
||||
@@ -754,6 +782,31 @@ namespace SabreTools.Library.Tools
|
||||
return null;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Create a specific type of DatItem to be used based on an ItemType
|
||||
/// </summary>
|
||||
/// <param name="itemType">Type of the DatItem to be created</param>
|
||||
/// <returns>DatItem of the specific internal type that corresponds to the inputs</returns>
|
||||
public static DatItem GetDatItem(ItemType itemType)
|
||||
{
|
||||
switch (itemType)
|
||||
{
|
||||
case ItemType.Archive:
|
||||
return new Archive();
|
||||
case ItemType.BiosSet:
|
||||
return new BiosSet();
|
||||
case ItemType.Disk:
|
||||
return new Disk();
|
||||
case ItemType.Release:
|
||||
return new Release();
|
||||
case ItemType.Sample:
|
||||
return new Sample();
|
||||
case ItemType.Rom:
|
||||
default:
|
||||
return new Rom();
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region File Information
|
||||
|
||||
Reference in New Issue
Block a user