Add RomCenter INI deserialization test, fix issues

This commit is contained in:
Matt Nadareski
2023-07-13 21:27:45 -04:00
parent 5e6bb7f189
commit fa2f1659b8
9 changed files with 1259 additions and 15 deletions

View File

@@ -4,24 +4,31 @@ namespace SabreTools.Models.RomCenter
public class Credits
{
/// <remarks>author</remarks>
public string Author { get; set; }
public string? Author { get; set; }
/// <remarks>version</remarks>
public string Version { get; set; }
public string? Version { get; set; }
/// <remarks>email</remarks>
public string Email { get; set; }
public string? Email { get; set; }
/// <remarks>homepage</remarks>
public string Homepage { get; set; }
public string? Homepage { get; set; }
/// <remarks>url</remarks>
public string Url { get; set; }
public string? Url { get; set; }
/// <remarks>date</remarks>
public string Date { get; set; }
public string? Date { get; set; }
/// <remarks>comment</remarks>
public string Comment { get; set; }
public string? Comment { get; set; }
#region DO NOT USE IN PRODUCTION
/// <remarks>Should be empty</remarks>
public string[]? ADDITIONAL_ELEMENTS { get; set; }
#endregion
}
}

View File

@@ -4,15 +4,22 @@ namespace SabreTools.Models.RomCenter
public class Dat
{
/// <remarks>version</remarks>
public string Version { get; set; }
public string? Version { get; set; }
/// <remarks>plugin</remarks>
public string Plugin { get; set; }
public string? Plugin { get; set; }
/// <remarks>split</remarks>
public string Split { get; set; }
public string? Split { get; set; }
/// <remarks>merge</remarks>
public string Merge { get; set; }
public string? Merge { get; set; }
#region DO NOT USE IN PRODUCTION
/// <remarks>Should be empty</remarks>
public string[]? ADDITIONAL_ELEMENTS { get; set; }
#endregion
}
}

View File

@@ -4,9 +4,16 @@ namespace SabreTools.Models.RomCenter
public class Emulator
{
/// <remarks>refname</remarks>
public string RefName { get; set; }
public string? RefName { get; set; }
/// <remarks>version</remarks>
public string Version { get; set; }
public string? Version { get; set; }
#region DO NOT USE IN PRODUCTION
/// <remarks>Should be empty</remarks>
public string[]? ADDITIONAL_ELEMENTS { get; set; }
#endregion
}
}

View File

@@ -4,5 +4,12 @@ namespace SabreTools.Models.RomCenter
public class Games
{
public Rom[]? Rom { get; set; }
#region DO NOT USE IN PRODUCTION
/// <remarks>Should be empty</remarks>
public string[]? ADDITIONAL_ELEMENTS { get; set; }
#endregion
}
}

View File

@@ -0,0 +1,24 @@
namespace SabreTools.Models.RomCenter
{
public class MetadataFile
{
/// <remarks>[credits]</remarks>
public Credits? Credits { get; set; }
/// <remarks>[dat]</remarks>
public Dat? Dat { get; set; }
/// <remarks>[emulator]</remarks>
public Emulator? Emulator { get; set; }
/// <remarks>[games]</remarks>
public Games? Games { get; set; }
#region DO NOT USE IN PRODUCTION
/// <remarks>Should be empty</remarks>
public string[]? ADDITIONAL_ELEMENTS { get; set; }
#endregion
}
}

View File

@@ -22,12 +22,19 @@ namespace SabreTools.Models.RomCenter
public string? RomCRC { get; set; }
/// <remarks>6</remarks>
public long? RomSize { get; set; }
public string? RomSize { get; set; }
/// <remarks>7</remarks>
public string? RomOf { get; set; }
/// <remarks>8</remarks>
public string? MergeName { get; set; }
#region DO NOT USE IN PRODUCTION
/// <remarks>Should be empty</remarks>
public string[]? ADDITIONAL_ELEMENTS { get; set; }
#endregion
}
}