mirror of
https://github.com/SabreTools/SabreTools.Models.git
synced 2026-02-09 05:35:36 +00:00
Compare commits
16 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ecca68822d | ||
|
|
58c2dcbe4f | ||
|
|
f9b8717abb | ||
|
|
6a356a5874 | ||
|
|
88c6a0302f | ||
|
|
5282db965f | ||
|
|
33217a7efe | ||
|
|
c8583589d6 | ||
|
|
6ed2b406d7 | ||
|
|
4b08e0f5dd | ||
|
|
e8259fed12 | ||
|
|
d06df28f72 | ||
|
|
f73ff87922 | ||
|
|
dd6b79a21b | ||
|
|
d3daa2c4aa | ||
|
|
1620d00edf |
2
.github/workflows/build_nupkg.yml
vendored
2
.github/workflows/build_nupkg.yml
vendored
@@ -16,7 +16,7 @@ jobs:
|
||||
- name: Setup .NET
|
||||
uses: actions/setup-dotnet@v4
|
||||
with:
|
||||
dotnet-version: 8.0.x
|
||||
dotnet-version: 9.0.x
|
||||
|
||||
- name: Restore dependencies
|
||||
run: dotnet restore
|
||||
|
||||
2
.github/workflows/check_pr.yml
vendored
2
.github/workflows/check_pr.yml
vendored
@@ -11,7 +11,7 @@ jobs:
|
||||
- name: Setup .NET
|
||||
uses: actions/setup-dotnet@v4
|
||||
with:
|
||||
dotnet-version: 8.0.x
|
||||
dotnet-version: 9.0.x
|
||||
|
||||
- name: Build
|
||||
run: dotnet build
|
||||
18
README.MD
18
README.MD
@@ -4,24 +4,6 @@ This library comprises of models that represent either directly serializable or
|
||||
|
||||
Find the link to the Nuget package [here](https://www.nuget.org/packages/SabreTools.Models).
|
||||
|
||||
In most completed models for serialization, there is a section that looks like the following:
|
||||
|
||||
```c#
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyAttribute]
|
||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyElement]
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
|
||||
#endregion
|
||||
```
|
||||
|
||||
This code should be removed before the models are used. This is only included during debugging and implementation as to ensure that there are no notable holes in the models that would disallow 1:1 replication of inputs.
|
||||
|
||||
## Missing Metadata Models
|
||||
|
||||
The following metadata file formats do not have models included in this library yet and, as such, do not have serializers:
|
||||
|
||||
@@ -201,17 +201,5 @@ namespace SabreTools.Models.ArchiveDotOrg
|
||||
public string? Width { get; set; }
|
||||
|
||||
#endregion
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyAttribute]
|
||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyElement]
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -8,17 +8,5 @@ namespace SabreTools.Models.ArchiveDotOrg
|
||||
{
|
||||
[XmlElement("file")]
|
||||
public File?[]? File { get; set; }
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyAttribute]
|
||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyElement]
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -47,12 +47,5 @@ namespace SabreTools.Models.AttractMode
|
||||
public string? PlayedTime { get; set; }
|
||||
|
||||
public string? FileIsAvailable { get; set; }
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
public string[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -2,7 +2,7 @@ namespace SabreTools.Models.BFPK
|
||||
{
|
||||
public static class Constants
|
||||
{
|
||||
public static readonly byte[] SignatureBytes = new byte[] { 0x42, 0x46, 0x50, 0x4b };
|
||||
public static readonly byte[] SignatureBytes = [0x42, 0x46, 0x50, 0x4b];
|
||||
|
||||
public const string SignatureString = "BFPK";
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ namespace SabreTools.Models.CFB
|
||||
{
|
||||
public static class Constants
|
||||
{
|
||||
public static readonly byte[] SignatureBytes = new byte[] { 0xD0, 0xCF, 0x11, 0xE0, 0xA1, 0xB1, 0x1A, 0xE1 };
|
||||
public static readonly byte[] SignatureBytes = [0xD0, 0xCF, 0x11, 0xE0, 0xA1, 0xB1, 0x1A, 0xE1];
|
||||
|
||||
public const ulong SignatureUInt64 = 0xE11AB1A1E011CFD0;
|
||||
|
||||
@@ -15,17 +15,17 @@ namespace SabreTools.Models.CFB
|
||||
/// <summary>
|
||||
/// Installer Package (msi), Merge Module (msm), Patch Creation Properties (pcp)
|
||||
/// </summary>
|
||||
public static readonly Guid InstallerPackage = new Guid("000c1084-0000-0000-c000-000000000046");
|
||||
public static readonly Guid InstallerPackage = new("000c1084-0000-0000-c000-000000000046");
|
||||
|
||||
/// <summary>
|
||||
/// Patch Package (msp)
|
||||
/// </summary>
|
||||
public static readonly Guid PatchPackage = new Guid("000C1086-0000-0000-C000-000000000046");
|
||||
public static readonly Guid PatchPackage = new("000C1086-0000-0000-C000-000000000046");
|
||||
|
||||
/// <summary>
|
||||
/// Transform (mst)
|
||||
/// </summary>
|
||||
public static readonly Guid Transform = new Guid("000C1082-0000-0000-C000-000000000046");
|
||||
public static readonly Guid Transform = new("000C1082-0000-0000-C000-000000000046");
|
||||
|
||||
#endregion
|
||||
|
||||
@@ -35,17 +35,17 @@ namespace SabreTools.Models.CFB
|
||||
/// <summary>
|
||||
/// The Summary Information Property Set
|
||||
/// </summary>
|
||||
public static readonly Guid FMTID_SummaryInformation = new Guid("F29F85E0-4FF9-1068-AB91-08002B27B3D9");
|
||||
public static readonly Guid FMTID_SummaryInformation = new("F29F85E0-4FF9-1068-AB91-08002B27B3D9");
|
||||
|
||||
/// <summary>
|
||||
/// The DocumentSummaryInformation and UserDefined Property Sets
|
||||
/// </summary>
|
||||
public static readonly Guid FMTID_DocSummaryInformation = new Guid("D5CDD502-2E9C-101B-9397-08002B2CF9AE");
|
||||
public static readonly Guid FMTID_DocSummaryInformation = new("D5CDD502-2E9C-101B-9397-08002B2CF9AE");
|
||||
|
||||
/// <summary>
|
||||
/// The DocumentSummaryInformation and UserDefined Property Sets
|
||||
/// </summary>
|
||||
public static readonly Guid FMTID_UserDefinedProperties = new Guid("D5CDD505-2E9C-101B-9397-08002B2CF9AE");
|
||||
public static readonly Guid FMTID_UserDefinedProperties = new("D5CDD505-2E9C-101B-9397-08002B2CF9AE");
|
||||
|
||||
#endregion
|
||||
}
|
||||
|
||||
@@ -1,21 +1,25 @@
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace SabreTools.Models.CHD
|
||||
{
|
||||
/// <see href="https://github.com/mamedev/mame/blob/master/src/lib/util/chd.h"/>
|
||||
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
|
||||
public abstract class Header
|
||||
{
|
||||
/// <summary>
|
||||
/// 'MComprHD'
|
||||
/// </summary>
|
||||
public string? Tag { get; set; }
|
||||
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 8)]
|
||||
public string? Tag;
|
||||
|
||||
/// <summary>
|
||||
/// Length of header (including tag and length fields)
|
||||
/// </summary>
|
||||
public uint Length { get; set; }
|
||||
public uint Length;
|
||||
|
||||
/// <summary>
|
||||
/// Drive format version
|
||||
/// </summary>
|
||||
public uint Version { get; set; }
|
||||
public uint Version;
|
||||
}
|
||||
}
|
||||
@@ -1,51 +1,58 @@
|
||||
namespace SabreTools.Models.CHD
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace SabreTools.Models.CHD
|
||||
{
|
||||
/// <see href="https://github.com/mamedev/mame/blob/master/src/lib/util/chd.h"/>
|
||||
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
|
||||
public class HeaderV1 : Header
|
||||
{
|
||||
/// <summary>
|
||||
/// Flags
|
||||
/// </summary>
|
||||
public Flags Flags { get; set; }
|
||||
[MarshalAs(UnmanagedType.U4)]
|
||||
public Flags Flags;
|
||||
|
||||
/// <summary>
|
||||
/// Compression type
|
||||
/// </summary>
|
||||
public CompressionType Compression { get; set; }
|
||||
[MarshalAs(UnmanagedType.U4)]
|
||||
public CompressionType Compression;
|
||||
|
||||
/// <summary>
|
||||
/// 512-byte sectors per hunk
|
||||
/// </summary>
|
||||
public uint HunkSize { get; set; }
|
||||
public uint HunkSize;
|
||||
|
||||
/// <summary>
|
||||
/// Total # of hunks represented
|
||||
/// </summary>
|
||||
public uint TotalHunks { get; set; }
|
||||
public uint TotalHunks;
|
||||
|
||||
/// <summary>
|
||||
/// Number of cylinders on hard disk
|
||||
/// </summary>
|
||||
public uint Cylinders { get; set; }
|
||||
public uint Cylinders;
|
||||
|
||||
/// <summary>
|
||||
/// Number of heads on hard disk
|
||||
/// </summary>
|
||||
public uint Heads { get; set; }
|
||||
public uint Heads;
|
||||
|
||||
/// <summary>
|
||||
/// Number of sectors on hard disk
|
||||
/// </summary>
|
||||
public uint Sectors { get; set; }
|
||||
public uint Sectors;
|
||||
|
||||
/// <summary>
|
||||
/// MD5 checksum of raw data
|
||||
/// </summary>
|
||||
public byte[]? MD5 { get; set; } = new byte[16];
|
||||
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)]
|
||||
public byte[] MD5 = new byte[16];
|
||||
|
||||
/// <summary>
|
||||
/// MD5 checksum of parent file
|
||||
/// </summary>
|
||||
public byte[]? ParentMD5 { get; set; } = new byte[16];
|
||||
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)]
|
||||
public byte[] ParentMD5 = new byte[16];
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,56 +1,63 @@
|
||||
namespace SabreTools.Models.CHD
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace SabreTools.Models.CHD
|
||||
{
|
||||
/// <see href="https://github.com/mamedev/mame/blob/master/src/lib/util/chd.h"/>
|
||||
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
|
||||
public class HeaderV2 : Header
|
||||
{
|
||||
/// <summary>
|
||||
/// Flags
|
||||
/// </summary>
|
||||
public Flags Flags { get; set; }
|
||||
[MarshalAs(UnmanagedType.U4)]
|
||||
public Flags Flags;
|
||||
|
||||
/// <summary>
|
||||
/// Compression type
|
||||
/// </summary>
|
||||
public CompressionType Compression { get; set; }
|
||||
[MarshalAs(UnmanagedType.U4)]
|
||||
public CompressionType Compression;
|
||||
|
||||
/// <summary>
|
||||
/// Seclen-byte sectors per hunk
|
||||
/// </summary>
|
||||
public uint HunkSize { get; set; }
|
||||
public uint HunkSize;
|
||||
|
||||
/// <summary>
|
||||
/// Total # of hunks represented
|
||||
/// </summary>
|
||||
public uint TotalHunks { get; set; }
|
||||
public uint TotalHunks;
|
||||
|
||||
/// <summary>
|
||||
/// Number of cylinders on hard disk
|
||||
/// </summary>
|
||||
public uint Cylinders { get; set; }
|
||||
public uint Cylinders;
|
||||
|
||||
/// <summary>
|
||||
/// Number of heads on hard disk
|
||||
/// </summary>
|
||||
public uint Heads { get; set; }
|
||||
public uint Heads;
|
||||
|
||||
/// <summary>
|
||||
/// Number of sectors on hard disk
|
||||
/// </summary>
|
||||
public uint Sectors { get; set; }
|
||||
public uint Sectors;
|
||||
|
||||
/// <summary>
|
||||
/// MD5 checksum of raw data
|
||||
/// </summary>
|
||||
public byte[]? MD5 { get; set; } = new byte[16];
|
||||
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)]
|
||||
public byte[]? MD5 = new byte[16];
|
||||
|
||||
/// <summary>
|
||||
/// MD5 checksum of parent file
|
||||
/// </summary>
|
||||
public byte[]? ParentMD5 { get; set; } = new byte[16];
|
||||
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)]
|
||||
public byte[]? ParentMD5 = new byte[16];
|
||||
|
||||
/// <summary>
|
||||
/// Number of bytes per sector
|
||||
/// </summary>
|
||||
public uint BytesPerSector { get; set; }
|
||||
public uint BytesPerSector;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,56 +1,65 @@
|
||||
namespace SabreTools.Models.CHD
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace SabreTools.Models.CHD
|
||||
{
|
||||
/// <see href="https://github.com/mamedev/mame/blob/master/src/lib/util/chd.h"/>
|
||||
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
|
||||
public class HeaderV3 : Header
|
||||
{
|
||||
/// <summary>
|
||||
/// Flags
|
||||
/// </summary>
|
||||
public Flags Flags { get; set; }
|
||||
[MarshalAs(UnmanagedType.U4)]
|
||||
public Flags Flags;
|
||||
|
||||
/// <summary>
|
||||
/// Compression type
|
||||
/// </summary>
|
||||
public CompressionType Compression { get; set; }
|
||||
[MarshalAs(UnmanagedType.U4)]
|
||||
public CompressionType Compression;
|
||||
|
||||
/// <summary>
|
||||
/// Total # of hunks represented
|
||||
/// </summary>
|
||||
public uint TotalHunks { get; set; }
|
||||
public uint TotalHunks;
|
||||
|
||||
/// <summary>
|
||||
/// Logical size of the data (in bytes)
|
||||
/// </summary>
|
||||
public ulong LogicalBytes { get; set; }
|
||||
public ulong LogicalBytes;
|
||||
|
||||
/// <summary>
|
||||
/// Offset to the first blob of metadata
|
||||
/// </summary>
|
||||
public ulong MetaOffset { get; set; }
|
||||
public ulong MetaOffset;
|
||||
|
||||
/// <summary>
|
||||
/// MD5 checksum of raw data
|
||||
/// </summary>
|
||||
public byte[]? MD5 { get; set; } = new byte[16];
|
||||
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)]
|
||||
public byte[]? MD5 = new byte[16];
|
||||
|
||||
/// <summary>
|
||||
/// MD5 checksum of parent file
|
||||
/// </summary>
|
||||
public byte[]? ParentMD5 { get; set; } = new byte[16];
|
||||
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)]
|
||||
public byte[]? ParentMD5 = new byte[16];
|
||||
|
||||
/// <summary>
|
||||
/// Number of bytes per hunk
|
||||
/// </summary>
|
||||
public uint HunkBytes { get; set; }
|
||||
public uint HunkBytes;
|
||||
|
||||
/// <summary>
|
||||
/// SHA1 checksum of raw data
|
||||
/// </summary>
|
||||
public byte[]? SHA1 { get; set; } = new byte[20];
|
||||
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 20)]
|
||||
public byte[]? SHA1 = new byte[20];
|
||||
|
||||
/// <summary>
|
||||
/// SHA1 checksum of parent file
|
||||
/// </summary>
|
||||
public byte[]? ParentSHA1 { get; set; } = new byte[20];
|
||||
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 20)]
|
||||
public byte[]? ParentSHA1 = new byte[20];
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,51 +1,59 @@
|
||||
namespace SabreTools.Models.CHD
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace SabreTools.Models.CHD
|
||||
{
|
||||
/// <see href="https://github.com/mamedev/mame/blob/master/src/lib/util/chd.h"/>
|
||||
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
|
||||
public class HeaderV4 : Header
|
||||
{
|
||||
/// <summary>
|
||||
/// Flags
|
||||
/// </summary>
|
||||
public Flags Flags { get; set; }
|
||||
[MarshalAs(UnmanagedType.U4)]
|
||||
public Flags Flags;
|
||||
|
||||
/// <summary>
|
||||
/// Compression type
|
||||
/// </summary>
|
||||
public CompressionType Compression { get; set; }
|
||||
[MarshalAs(UnmanagedType.U4)]
|
||||
public CompressionType Compression;
|
||||
|
||||
/// <summary>
|
||||
/// Total # of hunks represented
|
||||
/// </summary>
|
||||
public uint TotalHunks { get; set; }
|
||||
public uint TotalHunks;
|
||||
|
||||
/// <summary>
|
||||
/// Logical size of the data (in bytes)
|
||||
/// </summary>
|
||||
public ulong LogicalBytes { get; set; }
|
||||
public ulong LogicalBytes;
|
||||
|
||||
/// <summary>
|
||||
/// Offset to the first blob of metadata
|
||||
/// </summary>
|
||||
public ulong MetaOffset { get; set; }
|
||||
public ulong MetaOffset;
|
||||
|
||||
/// <summary>
|
||||
/// Number of bytes per hunk
|
||||
/// </summary>
|
||||
public uint HunkBytes { get; set; }
|
||||
public uint HunkBytes;
|
||||
|
||||
/// <summary>
|
||||
/// Combined raw+meta SHA1
|
||||
/// </summary>
|
||||
public byte[]? SHA1 { get; set; } = new byte[20];
|
||||
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 20)]
|
||||
public byte[]? SHA1 = new byte[20];
|
||||
|
||||
/// <summary>
|
||||
/// Combined raw+meta SHA1 of parent
|
||||
/// </summary>
|
||||
public byte[]? ParentSHA1 { get; set; } = new byte[20];
|
||||
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 20)]
|
||||
public byte[]? ParentSHA1 = new byte[20];
|
||||
|
||||
/// <summary>
|
||||
/// Raw data SHA1
|
||||
/// </summary>
|
||||
public byte[]? RawSHA1 { get; set; } = new byte[20];
|
||||
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 20)]
|
||||
public byte[]? RawSHA1 = new byte[20];
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,12 +1,15 @@
|
||||
namespace SabreTools.Models.CHD
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace SabreTools.Models.CHD
|
||||
{
|
||||
/// <see href="https://github.com/mamedev/mame/blob/master/src/lib/util/chd.h"/>
|
||||
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
|
||||
public class HeaderV5 : Header
|
||||
{
|
||||
/// <summary>
|
||||
/// Which custom compressors are used?
|
||||
/// </summary>
|
||||
public uint[] Compressors { get; set; } = new uint[4];
|
||||
public CodecType[] Compressors { get; set; } = new CodecType[4];
|
||||
|
||||
/// <summary>
|
||||
/// Logical size of the data (in bytes)
|
||||
|
||||
@@ -6,12 +6,5 @@ namespace SabreTools.Models.ClrMamePro
|
||||
/// <remarks>name</remarks>
|
||||
[Required]
|
||||
public string? Name { get; set; }
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
public string[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -13,12 +13,5 @@ namespace SabreTools.Models.ClrMamePro
|
||||
|
||||
/// <remarks>default</remarks>
|
||||
public string? Default { get; set; }
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
public string[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -16,12 +16,5 @@ namespace SabreTools.Models.ClrMamePro
|
||||
|
||||
/// <remarks>clock, Numeric?</remarks>
|
||||
public string? Clock { get; set; }
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -47,12 +47,5 @@ namespace SabreTools.Models.ClrMamePro
|
||||
|
||||
/// <remarks>forcepacking</remarks>
|
||||
public string? ForcePacking { get; set; }
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
public string[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -12,12 +12,5 @@ namespace SabreTools.Models.ClrMamePro
|
||||
|
||||
/// <remarks>default, (yes|no) "no"</remarks>
|
||||
public string? Default { get; set; }
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -21,12 +21,5 @@ namespace SabreTools.Models.ClrMamePro
|
||||
|
||||
/// <remarks>flags</remarks>
|
||||
public string? Flags { get; set; }
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
public string[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -18,12 +18,5 @@ namespace SabreTools.Models.ClrMamePro
|
||||
|
||||
/// <remarks>blit, (plain|dirty)</remarks>
|
||||
public string? Blit { get; set; }
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -76,12 +76,5 @@ namespace SabreTools.Models.ClrMamePro
|
||||
public Driver? Driver { get; set; }
|
||||
|
||||
#endregion
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
public string[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -22,12 +22,5 @@ namespace SabreTools.Models.ClrMamePro
|
||||
|
||||
/// <remarks>service, (yes|no) "no"</remarks>
|
||||
public string? Service { get; set; }
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -18,12 +18,5 @@ namespace SabreTools.Models.ClrMamePro
|
||||
|
||||
/// <remarks>spamsum</remarks>
|
||||
public string? SpamSum { get; set; }
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
public string[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -7,12 +7,5 @@ namespace SabreTools.Models.ClrMamePro
|
||||
|
||||
/// <remarks>game, machine, resource, set</remarks>
|
||||
public GameBase?[]? Game { get; set; }
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
public string[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -19,12 +19,5 @@ namespace SabreTools.Models.ClrMamePro
|
||||
|
||||
/// <remarks>default</remarks>
|
||||
public string? Default { get; set; }
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
public string[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -87,12 +87,5 @@ namespace SabreTools.Models.ClrMamePro
|
||||
public string? MIA { get; set; }
|
||||
|
||||
#endregion
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
public string[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -6,12 +6,5 @@ namespace SabreTools.Models.ClrMamePro
|
||||
/// <remarks>name</remarks>
|
||||
[Required]
|
||||
public string? Name { get; set; }
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
public string[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -6,12 +6,5 @@ namespace SabreTools.Models.ClrMamePro
|
||||
/// <remarks>channels, Numeric?</remarks>
|
||||
[Required]
|
||||
public string? Channels { get; set; }
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -25,12 +25,5 @@ namespace SabreTools.Models.ClrMamePro
|
||||
|
||||
/// <remarks>freq, Numeric?</remarks>
|
||||
public string? Freq { get; set; }
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -8,7 +8,7 @@ namespace SabreTools.Models.Compression.LZ
|
||||
|
||||
public const int LZ_HEADER_LEN = 14;
|
||||
|
||||
public static readonly byte[] MagicBytes = new byte[] { 0x53, 0x5a, 0x44, 0x44, 0x88, 0xf0, 0x27, 0x33 };
|
||||
public static readonly byte[] MagicBytes = [0x53, 0x5a, 0x44, 0x44, 0x88, 0xf0, 0x27, 0x33];
|
||||
|
||||
public static readonly string MagicString = System.Text.Encoding.ASCII.GetString(MagicBytes);
|
||||
|
||||
|
||||
@@ -33,56 +33,56 @@ namespace SabreTools.Models.Compression.MSZIP
|
||||
/// <summary>
|
||||
/// Order of the bit length code lengths
|
||||
/// </summary>
|
||||
public static readonly byte[] BitLengthOrder = new byte[]
|
||||
{
|
||||
public static readonly byte[] BitLengthOrder =
|
||||
[
|
||||
16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15
|
||||
};
|
||||
];
|
||||
|
||||
/// <summary>
|
||||
/// Copy lengths for literal codes 257..285
|
||||
/// </summary>
|
||||
public static readonly ushort[] CopyLengths = new ushort[]
|
||||
{
|
||||
public static readonly ushort[] CopyLengths =
|
||||
[
|
||||
3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31, 35, 43, 51,
|
||||
59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 0, 0
|
||||
};
|
||||
];
|
||||
|
||||
/// <summary>
|
||||
/// Extra bits for literal codes 257..285
|
||||
/// </summary>
|
||||
/// <remarks>99 == invalid</remarks>
|
||||
public static readonly ushort[] LiteralExtraBits = new ushort[]
|
||||
{
|
||||
public static readonly ushort[] LiteralExtraBits =
|
||||
[
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4,
|
||||
4, 5, 5, 5, 5, 0, 99, 99
|
||||
};
|
||||
];
|
||||
|
||||
/// <summary>
|
||||
/// Copy offsets for distance codes 0..29
|
||||
/// </summary>
|
||||
public static readonly ushort[] CopyOffsets = new ushort[]
|
||||
{
|
||||
public static readonly ushort[] CopyOffsets =
|
||||
[
|
||||
1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193, 257, 385,
|
||||
513, 769, 1025, 1537, 2049, 3073, 4097, 6145, 8193, 12289, 16385, 24577
|
||||
};
|
||||
];
|
||||
|
||||
/// <summary>
|
||||
/// Extra bits for distance codes
|
||||
/// </summary>
|
||||
public static readonly ushort[] DistanceExtraBits = new ushort[]
|
||||
{
|
||||
public static readonly ushort[] DistanceExtraBits =
|
||||
[
|
||||
0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10,
|
||||
10, 11, 11, 12, 12, 13, 13
|
||||
};
|
||||
];
|
||||
|
||||
/// <summary>
|
||||
/// And'ing with Zipmask[n] masks the lower n bits
|
||||
/// </summary>
|
||||
public static readonly ushort[] BitMasks = new ushort[17]
|
||||
{
|
||||
public static readonly ushort[] BitMasks =
|
||||
[
|
||||
0x0000, 0x0001, 0x0003, 0x0007, 0x000f, 0x001f, 0x003f, 0x007f, 0x00ff,
|
||||
0x01ff, 0x03ff, 0x07ff, 0x0fff, 0x1fff, 0x3fff, 0x7fff, 0xffff
|
||||
};
|
||||
];
|
||||
|
||||
#endregion
|
||||
}
|
||||
|
||||
@@ -3,48 +3,48 @@ namespace SabreTools.Models.Compression.Quantum
|
||||
/// <see href="www.russotto.net/quantumcomp.html"/>
|
||||
public static class Constants
|
||||
{
|
||||
public static readonly int[] PositionSlot = new int[]
|
||||
{
|
||||
public static readonly int[] PositionSlot =
|
||||
[
|
||||
0x00000, 0x00001, 0x00002, 0x00003, 0x00004, 0x00006, 0x00008, 0x0000c,
|
||||
0x00010, 0x00018, 0x00020, 0x00030, 0x00040, 0x00060, 0x00080, 0x000c0,
|
||||
0x00100, 0x00180, 0x00200, 0x00300, 0x00400, 0x00600, 0x00800, 0x00c00,
|
||||
0x01000, 0x01800, 0x02000, 0x03000, 0x04000, 0x06000, 0x08000, 0x0c000,
|
||||
0x10000, 0x18000, 0x20000, 0x30000, 0x40000, 0x60000, 0x80000, 0xc0000,
|
||||
0x100000, 0x180000
|
||||
};
|
||||
];
|
||||
|
||||
public static readonly int[] PositionExtraBits = new int[]
|
||||
{
|
||||
public static readonly int[] PositionExtraBits =
|
||||
[
|
||||
0, 0, 0, 0, 1, 1, 2, 2,
|
||||
3, 3, 4, 4, 5, 5, 6, 6,
|
||||
7, 7, 8, 8, 9, 9, 10, 10,
|
||||
11, 11, 12, 12, 13, 13, 14, 14,
|
||||
15, 15, 16, 16, 17, 17, 18, 18,
|
||||
19, 19
|
||||
};
|
||||
];
|
||||
|
||||
public static readonly int[] LengthSlot = new int[]
|
||||
{
|
||||
public static readonly int[] LengthSlot =
|
||||
[
|
||||
0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x08,
|
||||
0x0a, 0x0c, 0x0e, 0x12, 0x16, 0x1a, 0x1e, 0x26,
|
||||
0x2e, 0x36, 0x3e, 0x4e, 0x5e, 0x6e, 0x7e, 0x9e,
|
||||
0xbe, 0xde, 0xfe
|
||||
};
|
||||
];
|
||||
|
||||
public static readonly int[] LengthExtraBits = new int[]
|
||||
{
|
||||
public static readonly int[] LengthExtraBits =
|
||||
[
|
||||
0, 0, 0, 0, 0, 0, 1, 1,
|
||||
1, 1, 2, 2, 2, 2, 3, 3,
|
||||
3, 3, 4, 4, 4, 4, 5, 5,
|
||||
5, 5, 0
|
||||
};
|
||||
];
|
||||
|
||||
/// <summary>
|
||||
/// Number of position slots for (tsize - 10)
|
||||
/// </summary>
|
||||
public static readonly int[] NumPositionSlots = new int[]
|
||||
{
|
||||
public static readonly int[] NumPositionSlots =
|
||||
[
|
||||
20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42
|
||||
};
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -23,12 +23,5 @@ namespace SabreTools.Models.DosCenter
|
||||
|
||||
/// <remarks>comment</remarks>
|
||||
public string? Comment { get; set; }
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
public string[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -17,12 +17,5 @@ namespace SabreTools.Models.DosCenter
|
||||
|
||||
/// <remarks>date, attribute</remarks>
|
||||
public string? Date { get; set; }
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
public string[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -9,12 +9,5 @@ namespace SabreTools.Models.DosCenter
|
||||
|
||||
/// <remarks>file</remarks>
|
||||
public File[]? File { get; set; }
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
public string[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -7,12 +7,5 @@ namespace SabreTools.Models.DosCenter
|
||||
|
||||
/// <remarks>game</remarks>
|
||||
public Game[]? Game { get; set; }
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
public string[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -21,12 +21,5 @@ namespace SabreTools.Models.EverdriveSMDB
|
||||
public string? CRC32 { get; set; }
|
||||
|
||||
public string? Size { get; set; }
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
public string[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
32
SabreTools.Models/GameHeader/FileData.cs
Normal file
32
SabreTools.Models/GameHeader/FileData.cs
Normal file
@@ -0,0 +1,32 @@
|
||||
namespace SabreTools.Models.GameHeader
|
||||
{
|
||||
/// <summary>
|
||||
/// File Data section for all files
|
||||
/// </summary>
|
||||
public sealed class FileData
|
||||
{
|
||||
public string? System { get; set; }
|
||||
|
||||
public string? Path { get; set; }
|
||||
|
||||
public string? Archive { get; set; }
|
||||
|
||||
public string? File { get; set; }
|
||||
|
||||
public string? BitSize { get; set; }
|
||||
|
||||
public long SizeBytes { get; set; }
|
||||
|
||||
// Hex string, no prefix
|
||||
public string? CRC32 { get; set; }
|
||||
|
||||
// Hex string, no prefix
|
||||
public string? MD5 { get; set; }
|
||||
|
||||
// Hex string, no prefix
|
||||
public string? SHA1 { get; set; }
|
||||
|
||||
// Hex string, no prefix
|
||||
public string? SHA256 { get; set; }
|
||||
}
|
||||
}
|
||||
22
SabreTools.Models/GameHeader/NitroEncryptedData.cs
Normal file
22
SabreTools.Models/GameHeader/NitroEncryptedData.cs
Normal file
@@ -0,0 +1,22 @@
|
||||
namespace SabreTools.Models.GameHeader
|
||||
{
|
||||
/// <summary>
|
||||
/// Encrypted Data section for an NDS cart image
|
||||
/// </summary>
|
||||
public sealed class NitroEncryptedData
|
||||
{
|
||||
public ushort EncryptedSecure { get; set; }
|
||||
|
||||
// Hex string, no prefix
|
||||
public string? EncryptedCRC32 { get; set; }
|
||||
|
||||
// Hex string, no prefix
|
||||
public string? EncryptedMD5 { get; set; }
|
||||
|
||||
// Hex string, no prefix
|
||||
public string? EncryptedSHA1 { get; set; }
|
||||
|
||||
// Hex string, no prefix
|
||||
public string? EncryptedSHA256 { get; set; }
|
||||
}
|
||||
}
|
||||
202
SabreTools.Models/GameHeader/NitroHeaderData.cs
Normal file
202
SabreTools.Models/GameHeader/NitroHeaderData.cs
Normal file
@@ -0,0 +1,202 @@
|
||||
namespace SabreTools.Models.GameHeader
|
||||
{
|
||||
/// <summary>
|
||||
/// Header Data section for an NDS cart image
|
||||
/// </summary>
|
||||
public sealed class NitroHeaderData
|
||||
{
|
||||
public string? GameTitle { get; set; }
|
||||
|
||||
public string? GameSerial { get; set; }
|
||||
|
||||
public string? MakerCode { get; set; }
|
||||
|
||||
public byte UnitCode { get; set; }
|
||||
|
||||
public byte EncryptionSeed { get; set; }
|
||||
|
||||
public byte DeviceSize { get; set; }
|
||||
|
||||
public string? DeviceSizeInfo { get; set; }
|
||||
|
||||
public byte AsianRegion { get; set; }
|
||||
|
||||
// Hex string, prefixed
|
||||
public string? Reserved1 { get; set; }
|
||||
|
||||
public byte Version { get; set; }
|
||||
|
||||
public string? VersionInfo { get; set; }
|
||||
|
||||
public byte Autostart { get; set; }
|
||||
|
||||
public string? AutostartInfo { get; set; }
|
||||
|
||||
public uint ARM9ROMOffset { get; set; }
|
||||
|
||||
public uint ARM9EntryAddress { get; set; }
|
||||
|
||||
public uint ARM9RAMOffset { get; set; }
|
||||
|
||||
public uint ARM7ROMOffset { get; set; }
|
||||
|
||||
public uint ARM7EntryAddress { get; set; }
|
||||
|
||||
public uint ARM7RAMOffset { get; set; }
|
||||
|
||||
public uint FNTOffset { get; set; }
|
||||
|
||||
public uint FNTSize { get; set; }
|
||||
|
||||
public uint FATOffset { get; set; }
|
||||
|
||||
public uint FATSize { get; set; }
|
||||
|
||||
public uint ARM9OverlayOffset { get; set; }
|
||||
|
||||
public uint ARM9OverlaySize { get; set; }
|
||||
|
||||
public uint ARM7OverlayOffset { get; set; }
|
||||
|
||||
public uint ARM7OverlaySize { get; set; }
|
||||
|
||||
public uint NormalCMDSetting { get; set; }
|
||||
|
||||
public uint Key1CMDSetting { get; set; }
|
||||
|
||||
public uint IconAddress { get; set; }
|
||||
|
||||
public ushort SecureCRC16 { get; set; }
|
||||
|
||||
public string? SecureCRC16Info { get; set; }
|
||||
|
||||
public ushort SecureTimeout { get; set; }
|
||||
|
||||
public uint ARM9AutoloadAddress { get; set; }
|
||||
|
||||
public uint ARM7AutoloadAddress { get; set; }
|
||||
|
||||
public ulong SecureDisable { get; set; }
|
||||
|
||||
public uint UsedRomSize { get; set; }
|
||||
|
||||
public string? UsedRomSizeInfo { get; set; }
|
||||
|
||||
public uint HeaderSize { get; set; }
|
||||
|
||||
public string? HeaderSizeInfo { get; set; }
|
||||
|
||||
// Hex string, no prefix
|
||||
public string? Reserved2 { get; set; }
|
||||
|
||||
// Hex string, no prefix
|
||||
public string? NintendoLogo { get; set; }
|
||||
|
||||
public ushort LogoCRC16 { get; set; }
|
||||
|
||||
public string? LogoCRC16Info { get; set; }
|
||||
|
||||
public ushort HeaderCRC16 { get; set; }
|
||||
|
||||
public string? HeaderCRC16Info { get; set; }
|
||||
|
||||
// Hex string, prefixed
|
||||
public string? Reserved3 { get; set; }
|
||||
|
||||
// Hex string, prefixed
|
||||
public string? ConfigSettings { get; set; }
|
||||
|
||||
public uint DsiRegionMask { get; set; }
|
||||
|
||||
public uint AccessControl { get; set; }
|
||||
|
||||
public uint ARM7SCFG { get; set; }
|
||||
|
||||
public uint DSiAppFlags { get; set; }
|
||||
|
||||
public uint DSi9RomOffset { get; set; }
|
||||
|
||||
public uint DSi9EntryAddress { get; set; }
|
||||
|
||||
public uint DSi9RamAddress { get; set; }
|
||||
|
||||
public uint DSi9Size { get; set; }
|
||||
|
||||
public uint DSi7RomOffset { get; set; }
|
||||
|
||||
public uint DSi7EntryAddress { get; set; }
|
||||
|
||||
public uint DSi7RamAddress { get; set; }
|
||||
|
||||
public uint DSi7Size { get; set; }
|
||||
|
||||
public uint DigestNTROffset { get; set; }
|
||||
|
||||
public uint DigestNTRSize { get; set; }
|
||||
|
||||
public uint DigestTWLOffset { get; set; }
|
||||
|
||||
public uint DigestTWLSize { get; set; }
|
||||
|
||||
public uint DigestSectorHashTableOffset { get; set; }
|
||||
|
||||
public uint DigestSectorHashTableSize { get; set; }
|
||||
|
||||
public uint DigestBlockHashTableOffset { get; set; }
|
||||
|
||||
public uint DigestBlockHashTableLength { get; set; }
|
||||
|
||||
public uint DigestSectorSize { get; set; }
|
||||
|
||||
public uint DigestBlockSectorCount { get; set; }
|
||||
|
||||
// Hex string, prefixed
|
||||
public string? Reserved4 { get; set; }
|
||||
|
||||
public uint Modcrypt1Offset { get; set; }
|
||||
|
||||
public uint Modcrypt1Size { get; set; }
|
||||
|
||||
public uint Modcrypt2Offset { get; set; }
|
||||
|
||||
public uint Modcrypt2Size { get; set; }
|
||||
|
||||
public ulong TitleID { get; set; }
|
||||
|
||||
// Hex string, prefixed
|
||||
public string? Reserved5 { get; set; }
|
||||
|
||||
// Hex string, prefixed
|
||||
public string? ARM9SHA1HMAC { get; set; }
|
||||
|
||||
// Hex string, prefixed
|
||||
public string? ARM7SHA1HMAC { get; set; }
|
||||
|
||||
// Hex string, prefixed
|
||||
public string? DigestMasterSHA1HMAC { get; set; }
|
||||
|
||||
// Hex string, prefixed
|
||||
public string? BannerSHA1HMAC { get; set; }
|
||||
|
||||
// Hex string, prefixed
|
||||
public string? ARM9iSHA1HMAC { get; set; }
|
||||
|
||||
// Hex string, prefixed
|
||||
public string? ARM7iSHA1HMAC { get; set; }
|
||||
|
||||
// Hex string, prefixed
|
||||
public string? Reserved6 { get; set; }
|
||||
|
||||
// Hex string, prefixed
|
||||
public string? UnknownHash { get; set; }
|
||||
|
||||
// Hex string, prefixed
|
||||
public string? Reserved7 { get; set; }
|
||||
|
||||
// Hex string, prefixed
|
||||
public string? Reserved8 { get; set; }
|
||||
|
||||
// Hex string, prefixed
|
||||
public string? RSASignature { get; set; }
|
||||
}
|
||||
}
|
||||
26
SabreTools.Models/GameHeader/NitroIconTitleData.cs
Normal file
26
SabreTools.Models/GameHeader/NitroIconTitleData.cs
Normal file
@@ -0,0 +1,26 @@
|
||||
namespace SabreTools.Models.GameHeader
|
||||
{
|
||||
/// <summary>
|
||||
/// Icon/Title Data section for an NDS cart image
|
||||
/// </summary>
|
||||
public sealed class NitroIconTitleData
|
||||
{
|
||||
public ushort IconVersion { get; set; }
|
||||
|
||||
public ushort IconCRC16 { get; set; }
|
||||
|
||||
public string? IconCRCInfo { get; set; }
|
||||
|
||||
public string? JapaneseTitle { get; set; }
|
||||
|
||||
public string? EnglishTitle { get; set; }
|
||||
|
||||
public string? FrenchTitle { get; set; }
|
||||
|
||||
public string? GermanTitle { get; set; }
|
||||
|
||||
public string? SpanishTitle { get; set; }
|
||||
|
||||
public string? ItalianTitle { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -5,6 +5,10 @@ namespace SabreTools.Models.Hashfile
|
||||
{
|
||||
public SFV[]? SFV { get; set; }
|
||||
|
||||
public MD2[]? MD2 { get; set; }
|
||||
|
||||
public MD4[]? MD4 { get; set; }
|
||||
|
||||
public MD5[]? MD5 { get; set; }
|
||||
|
||||
public SHA1[]? SHA1 { get; set; }
|
||||
@@ -16,12 +20,5 @@ namespace SabreTools.Models.Hashfile
|
||||
public SHA512[]? SHA512 { get; set; }
|
||||
|
||||
public SpamSum[]? SpamSum { get; set; }
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
public string[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
14
SabreTools.Models/Hashfile/MD2.cs
Normal file
14
SabreTools.Models/Hashfile/MD2.cs
Normal file
@@ -0,0 +1,14 @@
|
||||
namespace SabreTools.Models.Hashfile
|
||||
{
|
||||
/// <summary>
|
||||
/// MD2 File
|
||||
/// </summary>
|
||||
public class MD2
|
||||
{
|
||||
[Required]
|
||||
public string? Hash { get; set; }
|
||||
|
||||
[Required]
|
||||
public string? File { get; set; }
|
||||
}
|
||||
}
|
||||
14
SabreTools.Models/Hashfile/MD4.cs
Normal file
14
SabreTools.Models/Hashfile/MD4.cs
Normal file
@@ -0,0 +1,14 @@
|
||||
namespace SabreTools.Models.Hashfile
|
||||
{
|
||||
/// <summary>
|
||||
/// MD4 File
|
||||
/// </summary>
|
||||
public class MD4
|
||||
{
|
||||
[Required]
|
||||
public string? Hash { get; set; }
|
||||
|
||||
[Required]
|
||||
public string? File { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -2,7 +2,7 @@ namespace SabreTools.Models.InstallShieldCabinet
|
||||
{
|
||||
public static class Constants
|
||||
{
|
||||
public static readonly byte[] SignatureBytes = new byte[] { 0x49, 0x53, 0x63, 0x28 };
|
||||
public static readonly byte[] SignatureBytes = [0x49, 0x53, 0x63, 0x28];
|
||||
|
||||
public const string SignatureString = "ISc(";
|
||||
|
||||
|
||||
@@ -2,17 +2,17 @@ namespace SabreTools.Models.LinearExecutable
|
||||
{
|
||||
public static class Constants
|
||||
{
|
||||
public static readonly byte[] DebugInformationSignatureBytes = new byte[] { 0x4e, 0x42, 0x30 };
|
||||
public static readonly byte[] DebugInformationSignatureBytes = [0x4e, 0x42, 0x30];
|
||||
|
||||
public const string DebugInformationSignatureString = "NB0";
|
||||
|
||||
public static readonly byte[] LESignatureBytes = new byte[] { 0x4c, 0x45 };
|
||||
public static readonly byte[] LESignatureBytes = [0x4c, 0x45];
|
||||
|
||||
public const string LESignatureString = "LE";
|
||||
|
||||
public const ushort LESignatureUInt16 = 0x454c;
|
||||
|
||||
public static readonly byte[] LXSignatureBytes = new byte[] { 0x4c, 0x58 };
|
||||
public static readonly byte[] LXSignatureBytes = [0x4c, 0x58];
|
||||
|
||||
public const string LXSignatureString = "LX";
|
||||
|
||||
|
||||
@@ -3,12 +3,5 @@ namespace SabreTools.Models.Listrom
|
||||
public class MetadataFile
|
||||
{
|
||||
public Set[]? Set { get; set; }
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
public string[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -16,17 +16,5 @@ namespace SabreTools.Models.Listxml
|
||||
|
||||
[XmlElement("condition")]
|
||||
public Condition? Condition { get; set; }
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyAttribute]
|
||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyElement]
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -9,17 +9,5 @@ namespace SabreTools.Models.Listxml
|
||||
[Required]
|
||||
[XmlAttribute("mask")]
|
||||
public string? Mask { get; set; }
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyAttribute]
|
||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyElement]
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -17,17 +17,5 @@ namespace SabreTools.Models.Listxml
|
||||
/// <remarks>(yes|no) "no"</remarks>
|
||||
[XmlAttribute("default")]
|
||||
public string? Default { get; set; }
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyAttribute]
|
||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyElement]
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -24,17 +24,5 @@ namespace SabreTools.Models.Listxml
|
||||
|
||||
[XmlAttribute("clock")]
|
||||
public string? Clock { get; set; }
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyAttribute]
|
||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyElement]
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -22,17 +22,5 @@ namespace SabreTools.Models.Listxml
|
||||
[Required]
|
||||
[XmlAttribute("value")]
|
||||
public string? Value { get; set; }
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyAttribute]
|
||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyElement]
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -18,17 +18,5 @@ namespace SabreTools.Models.Listxml
|
||||
/// <remarks>(yes|no) "no"</remarks>
|
||||
[XmlAttribute("inverted")]
|
||||
public string? Inverted { get; set; }
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyAttribute]
|
||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyElement]
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -20,17 +20,5 @@ namespace SabreTools.Models.Listxml
|
||||
|
||||
[XmlElement("condition")]
|
||||
public Condition? Condition { get; set; }
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyAttribute]
|
||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyElement]
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -25,17 +25,5 @@ namespace SabreTools.Models.Listxml
|
||||
|
||||
[XmlElement("confsetting")]
|
||||
public ConfSetting[]? ConfSetting { get; set; }
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyAttribute]
|
||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyElement]
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -54,17 +54,5 @@ namespace SabreTools.Models.Listxml
|
||||
/// <remarks>Numeric?</remarks>
|
||||
[XmlAttribute("ways3")]
|
||||
public string? Ways3 { get; set; }
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyAttribute]
|
||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyElement]
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -28,17 +28,5 @@ namespace SabreTools.Models.Listxml
|
||||
|
||||
[XmlElement("extension")]
|
||||
public Extension[]? Extension { get; set; }
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyAttribute]
|
||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyElement]
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -9,17 +9,5 @@ namespace SabreTools.Models.Listxml
|
||||
[Required]
|
||||
[XmlAttribute("name")]
|
||||
public string? Name { get; set; }
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyAttribute]
|
||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyElement]
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -18,17 +18,5 @@ namespace SabreTools.Models.Listxml
|
||||
/// <remarks>(yes|no) "no"</remarks>
|
||||
[XmlAttribute("inverted")]
|
||||
public string? Inverted { get; set; }
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyAttribute]
|
||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyElement]
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -25,17 +25,5 @@ namespace SabreTools.Models.Listxml
|
||||
|
||||
[XmlElement("dipvalue")]
|
||||
public DipValue[]? DipValue { get; set; }
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyAttribute]
|
||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyElement]
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -20,17 +20,5 @@ namespace SabreTools.Models.Listxml
|
||||
|
||||
[XmlElement("condition")]
|
||||
public Condition? Condition { get; set; }
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyAttribute]
|
||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyElement]
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -38,17 +38,5 @@ namespace SabreTools.Models.Listxml
|
||||
/// <remarks>(yes|no) "no"</remarks>
|
||||
[XmlAttribute("optional")]
|
||||
public string? Optional { get; set; }
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyAttribute]
|
||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyElement]
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -62,17 +62,5 @@ namespace SabreTools.Models.Listxml
|
||||
/// <remarks>Numeric</remarks>
|
||||
[XmlAttribute("vbstart")]
|
||||
public string? VBStart { get; set; }
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyAttribute]
|
||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyElement]
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -53,17 +53,5 @@ namespace SabreTools.Models.Listxml
|
||||
/// <remarks>(yes|no) "no"</remarks>
|
||||
[XmlAttribute("incomplete")]
|
||||
public string? Incomplete { get; set; }
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyAttribute]
|
||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyElement]
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -9,17 +9,5 @@ namespace SabreTools.Models.Listxml
|
||||
[Required]
|
||||
[XmlAttribute("name")]
|
||||
public string? Name { get; set; }
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyAttribute]
|
||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyElement]
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -18,17 +18,5 @@ namespace SabreTools.Models.Listxml
|
||||
/// <remarks>(unemulated|imperfect)</remarks>
|
||||
[XmlAttribute("overall")]
|
||||
public string? Overall { get; set; }
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyAttribute]
|
||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyElement]
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -115,17 +115,5 @@ namespace SabreTools.Models.Listxml
|
||||
|
||||
[XmlElement("ramoption")]
|
||||
public RamOption[]? RamOption { get; set; }
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyAttribute]
|
||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyElement]
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -33,17 +33,5 @@ namespace SabreTools.Models.Listxml
|
||||
|
||||
[XmlElement("control")]
|
||||
public Control[]? Control { get; set; }
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyAttribute]
|
||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyElement]
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -13,17 +13,5 @@ namespace SabreTools.Models.Listxml
|
||||
[Required]
|
||||
[XmlAttribute("briefname")]
|
||||
public string? BriefName { get; set; }
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyAttribute]
|
||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyElement]
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -12,17 +12,5 @@ namespace SabreTools.Models.Listxml
|
||||
[XmlElement("machine", typeof(Machine))]
|
||||
[XmlElement("game", typeof(Game))]
|
||||
public GameBase[]? Game { get; set; }
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyAttribute]
|
||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyElement]
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -20,17 +20,5 @@ namespace SabreTools.Models.Listxml
|
||||
[XmlElement("machine", typeof(Machine))]
|
||||
[XmlElement("game", typeof(Game))]
|
||||
public GameBase[]? Game { get; set; }
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyAttribute]
|
||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyElement]
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -12,17 +12,5 @@ namespace SabreTools.Models.Listxml
|
||||
|
||||
[XmlElement("analog")]
|
||||
public Analog[]? Analog { get; set; }
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyAttribute]
|
||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyElement]
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -15,17 +15,5 @@ namespace SabreTools.Models.Listxml
|
||||
|
||||
[XmlText]
|
||||
public string? Content { get; set; }
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyAttribute]
|
||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyElement]
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -49,17 +49,5 @@ namespace SabreTools.Models.Listxml
|
||||
/// <remarks>(yes|no) "no", Only present in older versions</remarks>
|
||||
[XmlAttribute("soundonly")]
|
||||
public string? SoundOnly { get; set; }
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyAttribute]
|
||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyElement]
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -9,17 +9,5 @@ namespace SabreTools.Models.Listxml
|
||||
[Required]
|
||||
[XmlAttribute("name")]
|
||||
public string? Name { get; set; }
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyAttribute]
|
||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyElement]
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -12,17 +12,5 @@ namespace SabreTools.Models.Listxml
|
||||
|
||||
[XmlElement("slotoption")]
|
||||
public SlotOption[]? SlotOption { get; set; }
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyAttribute]
|
||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyElement]
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -17,17 +17,5 @@ namespace SabreTools.Models.Listxml
|
||||
/// <remarks>(yes|no) "no"</remarks>
|
||||
[XmlAttribute("default")]
|
||||
public string? Default { get; set; }
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyAttribute]
|
||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyElement]
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -21,17 +21,5 @@ namespace SabreTools.Models.Listxml
|
||||
|
||||
[XmlAttribute("filter")]
|
||||
public string? Filter { get; set; }
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyAttribute]
|
||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyElement]
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -10,17 +10,5 @@ namespace SabreTools.Models.Listxml
|
||||
[Required]
|
||||
[XmlAttribute("channels")]
|
||||
public string? Channels { get; set; }
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyAttribute]
|
||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyElement]
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -35,17 +35,5 @@ namespace SabreTools.Models.Listxml
|
||||
/// <remarks>Numeric</remarks>
|
||||
[XmlAttribute("refresh")]
|
||||
public string? Refresh { get; set; }
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyAttribute]
|
||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyElement]
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -9,17 +9,5 @@ namespace SabreTools.Models.Logiqx
|
||||
[Required]
|
||||
[XmlAttribute("name")]
|
||||
public string? Name { get; set; }
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyAttribute]
|
||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyElement]
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -17,17 +17,5 @@ namespace SabreTools.Models.Logiqx
|
||||
/// <remarks>(yes|no) "no"</remarks>
|
||||
[XmlAttribute("default")]
|
||||
public string? Default { get; set; }
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyAttribute]
|
||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyElement]
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -20,17 +20,5 @@ namespace SabreTools.Models.Logiqx
|
||||
/// <remarks>(zip|unzip) "zip"</remarks>
|
||||
[XmlAttribute("forcepacking")]
|
||||
public string? ForcePacking { get; set; }
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyAttribute]
|
||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyElement]
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -27,17 +27,5 @@ namespace SabreTools.Models.Logiqx
|
||||
/// <remarks>RomVault extension</remarks>
|
||||
[XmlElement("dir")]
|
||||
public Dir[]? Dir { get; set; }
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyAttribute]
|
||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyElement]
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -9,17 +9,5 @@ namespace SabreTools.Models.Logiqx
|
||||
[Required]
|
||||
[XmlAttribute("name")]
|
||||
public string? Name { get; set; }
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyAttribute]
|
||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyElement]
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -13,17 +13,5 @@ namespace SabreTools.Models.Logiqx
|
||||
[XmlElement("game", typeof(Game))]
|
||||
[XmlElement("machine", typeof(Machine))]
|
||||
public GameBase[]? Game { get; set; }
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyAttribute]
|
||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyElement]
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -26,17 +26,5 @@ namespace SabreTools.Models.Logiqx
|
||||
/// <remarks>MAME extension</remarks>
|
||||
[XmlAttribute("region")]
|
||||
public string? Region { get; set; }
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyAttribute]
|
||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyElement]
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -41,17 +41,5 @@ namespace SabreTools.Models.Logiqx
|
||||
/// <remarks>(yes|no) "no"</remarks>
|
||||
[XmlAttribute("incomplete")]
|
||||
public string? Incomplete { get; set; }
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyAttribute]
|
||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyElement]
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -111,17 +111,5 @@ namespace SabreTools.Models.Logiqx
|
||||
/// <remarks>MAME extension</remarks>
|
||||
[XmlElement("softwarelist")]
|
||||
public SoftwareList[]? SoftwareList { get; set; }
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyAttribute]
|
||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyElement]
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -57,17 +57,5 @@ namespace SabreTools.Models.Logiqx
|
||||
|
||||
[XmlElement("romcenter")]
|
||||
public RomCenter? RomCenter { get; set; }
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyAttribute]
|
||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyElement]
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -21,17 +21,5 @@ namespace SabreTools.Models.Logiqx
|
||||
|
||||
[XmlAttribute("spamsum")]
|
||||
public string? SpamSum { get; set; }
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyAttribute]
|
||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyElement]
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -23,17 +23,5 @@ namespace SabreTools.Models.Logiqx
|
||||
/// <remarks>(yes|no) "no"</remarks>
|
||||
[XmlAttribute("default")]
|
||||
public string? Default { get; set; }
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyAttribute]
|
||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyElement]
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -72,17 +72,5 @@ namespace SabreTools.Models.Logiqx
|
||||
/// <remarks>Boolean; RomVault extension</remarks>
|
||||
[XmlAttribute("mia")]
|
||||
public string? MIA { get; set; }
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyAttribute]
|
||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyElement]
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -32,17 +32,5 @@ namespace SabreTools.Models.Logiqx
|
||||
/// <remarks>(yes|no) "no"</remarks>
|
||||
[XmlAttribute("locksamplemode")]
|
||||
public string? LockSampleMode { get; set; }
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyAttribute]
|
||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyElement]
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -9,17 +9,5 @@ namespace SabreTools.Models.Logiqx
|
||||
[Required]
|
||||
[XmlAttribute("name")]
|
||||
public string? Name { get; set; }
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyAttribute]
|
||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyElement]
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -21,17 +21,5 @@ namespace SabreTools.Models.Logiqx
|
||||
|
||||
[XmlAttribute("filter")]
|
||||
public string? Filter { get; set; }
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyAttribute]
|
||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyElement]
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -48,17 +48,5 @@ namespace SabreTools.Models.Logiqx
|
||||
|
||||
[XmlElement("relatedto")]
|
||||
public string? RelatedTo { get; set; }
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyAttribute]
|
||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyElement]
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -2,7 +2,7 @@ namespace SabreTools.Models.MSDOS
|
||||
{
|
||||
public static class Constants
|
||||
{
|
||||
public static readonly byte[] SignatureBytes = new byte[] { 0x4d, 0x5a };
|
||||
public static readonly byte[] SignatureBytes = [0x4d, 0x5a];
|
||||
|
||||
public const string SignatureString = "MZ";
|
||||
|
||||
|
||||
@@ -113,6 +113,12 @@ namespace SabreTools.Models.Metadata
|
||||
/// <remarks>string; ArchiveDotOrg.File</remarks>
|
||||
public const string MatrixNumberKey = "matrix_number";
|
||||
|
||||
/// <remarks>string</remarks>
|
||||
public const string MD2Key = "md2";
|
||||
|
||||
/// <remarks>string</remarks>
|
||||
public const string MD4Key = "md4";
|
||||
|
||||
/// <remarks>string</remarks>
|
||||
public const string MD5Key = "md5";
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user