mirror of
https://github.com/SabreTools/SabreTools.Models.git
synced 2026-02-04 13:45:37 +00:00
Compare commits
133 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0451af3eb4 | ||
|
|
7967eb29eb | ||
|
|
6bbe904cc3 | ||
|
|
dce9d98885 | ||
|
|
f862e018fb | ||
|
|
b4a5154da8 | ||
|
|
077aa3c57e | ||
|
|
ea8630ba8c | ||
|
|
385491c67b | ||
|
|
f57461e0c3 | ||
|
|
18f49ac43f | ||
|
|
28fd81adab | ||
|
|
ecca68822d | ||
|
|
58c2dcbe4f | ||
|
|
f9b8717abb | ||
|
|
6a356a5874 | ||
|
|
88c6a0302f | ||
|
|
5282db965f | ||
|
|
33217a7efe | ||
|
|
c8583589d6 | ||
|
|
6ed2b406d7 | ||
|
|
4b08e0f5dd | ||
|
|
e8259fed12 | ||
|
|
d06df28f72 | ||
|
|
f73ff87922 | ||
|
|
dd6b79a21b | ||
|
|
d3daa2c4aa | ||
|
|
1620d00edf | ||
|
|
5565fa2fc3 | ||
|
|
e088e203ea | ||
|
|
acc8d95930 | ||
|
|
1a76c59827 | ||
|
|
8725ec0337 | ||
|
|
8991cc460d | ||
|
|
98ce8b65ec | ||
|
|
ca58343c30 | ||
|
|
2f637e0012 | ||
|
|
80172942fd | ||
|
|
aa0960b42f | ||
|
|
2554f64277 | ||
|
|
4c5c960915 | ||
|
|
1cb49163dd | ||
|
|
d144dd47a1 | ||
|
|
c4247c7ccb | ||
|
|
1e77437167 | ||
|
|
3d79e07d76 | ||
|
|
9d50d577ab | ||
|
|
494ca175fb | ||
|
|
73b3d4a7a8 | ||
|
|
bd40158423 | ||
|
|
149a45d871 | ||
|
|
e18d8d7543 | ||
|
|
38f0d4aef5 | ||
|
|
3959993255 | ||
|
|
00df5bdd6e | ||
|
|
00c087d8e0 | ||
|
|
6bc948784a | ||
|
|
c4f14854c2 | ||
|
|
adaac68898 | ||
|
|
a9bc4a2bfe | ||
|
|
262b91de65 | ||
|
|
62bd6a4bde | ||
|
|
7f14f0c5b0 | ||
|
|
33d63fddae | ||
|
|
209be57bf4 | ||
|
|
a1581e9d9b | ||
|
|
521664d5a8 | ||
|
|
73a8d91a83 | ||
|
|
438e87f833 | ||
|
|
2cdedbb456 | ||
|
|
b57a545598 | ||
|
|
8dc6eb2eee | ||
|
|
b58436d71a | ||
|
|
925c20021f | ||
|
|
9bebf95599 | ||
|
|
089e13ca03 | ||
|
|
de07b3b0dd | ||
|
|
22cb5360e6 | ||
|
|
a422ec7e6d | ||
|
|
f60afd6368 | ||
|
|
b8f67a8ab0 | ||
|
|
d844a8b582 | ||
|
|
8583baa862 | ||
|
|
8f3be17850 | ||
|
|
5856967794 | ||
|
|
8f78c73c6f | ||
|
|
af4ff3d383 | ||
|
|
3e638a5c57 | ||
|
|
638d0226c1 | ||
|
|
07c6d5b43a | ||
|
|
108e63a099 | ||
|
|
c636d3252b | ||
|
|
b19dbf2254 | ||
|
|
111b84170c | ||
|
|
2d7df0d4fb | ||
|
|
aba02663e5 | ||
|
|
594fec923a | ||
|
|
b5cf4e870d | ||
|
|
e6976796c2 | ||
|
|
295d8c7612 | ||
|
|
4dd184583c | ||
|
|
081c9c9245 | ||
|
|
b974380ccf | ||
|
|
41ed2cbc9a | ||
|
|
2cfcb49e35 | ||
|
|
b3f3f12b3e | ||
|
|
b41700ff92 | ||
|
|
e8a357546b | ||
|
|
68f0201c11 | ||
|
|
25b6493249 | ||
|
|
a551363c0b | ||
|
|
2fd92aea8f | ||
|
|
a61b3d0ed9 | ||
|
|
a40a6871df | ||
|
|
5792ec64c0 | ||
|
|
3b13c7cc96 | ||
|
|
894d7b62e2 | ||
|
|
38e37b1a63 | ||
|
|
1f340bd244 | ||
|
|
e582ce8726 | ||
|
|
dad71add36 | ||
|
|
cb2a28016e | ||
|
|
46a814ac73 | ||
|
|
8fabe9c02d | ||
|
|
21e22a1476 | ||
|
|
016057a837 | ||
|
|
69ca889ac7 | ||
|
|
cd67a7282b | ||
|
|
948edbad58 | ||
|
|
d445f02ba6 | ||
|
|
835fce7876 | ||
|
|
97513840e0 | ||
|
|
6112dcb391 |
43
.github/workflows/build_nupkg.yml
vendored
Normal file
43
.github/workflows/build_nupkg.yml
vendored
Normal file
@@ -0,0 +1,43 @@
|
||||
name: Nuget Pack
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ "main" ]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: recursive
|
||||
|
||||
- name: Setup .NET
|
||||
uses: actions/setup-dotnet@v4
|
||||
with:
|
||||
dotnet-version: 9.0.x
|
||||
|
||||
- name: Restore dependencies
|
||||
run: dotnet restore
|
||||
|
||||
- name: Pack
|
||||
run: dotnet pack
|
||||
|
||||
- name: Upload build
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: 'Nuget Package'
|
||||
path: 'SabreTools.Models/bin/Release/*.nupkg'
|
||||
|
||||
- name: Upload to rolling
|
||||
uses: ncipollo/release-action@v1.14.0
|
||||
with:
|
||||
allowUpdates: True
|
||||
artifacts: 'SabreTools.Models/bin/Release/*.nupkg'
|
||||
body: 'Last built commit: ${{ github.sha }}'
|
||||
name: 'Rolling Release'
|
||||
prerelease: True
|
||||
replacesArtifacts: True
|
||||
tag: "rolling"
|
||||
updateOnlyUnreleased: True
|
||||
17
.github/workflows/check_pr.yml
vendored
Normal file
17
.github/workflows/check_pr.yml
vendored
Normal file
@@ -0,0 +1,17 @@
|
||||
name: Build PR
|
||||
|
||||
on: [pull_request]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Setup .NET
|
||||
uses: actions/setup-dotnet@v4
|
||||
with:
|
||||
dotnet-version: 9.0.x
|
||||
|
||||
- name: Build
|
||||
run: dotnet build
|
||||
@@ -1,36 +0,0 @@
|
||||
using System.Xml;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
namespace SabreTools.Models.ArchiveDotOrg
|
||||
{
|
||||
[XmlRoot("files")]
|
||||
public class Files
|
||||
{
|
||||
[XmlElement("file")]
|
||||
#if NET48
|
||||
public File[] File { get; set; }
|
||||
#else
|
||||
public File?[]? File { get; set; }
|
||||
#endif
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyAttribute]
|
||||
#if NET48
|
||||
public XmlAttribute[] ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#else
|
||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyElement]
|
||||
#if NET48
|
||||
public object[] ADDITIONAL_ELEMENTS { get; set; }
|
||||
#else
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -1,150 +0,0 @@
|
||||
namespace SabreTools.Models.AttractMode
|
||||
{
|
||||
public class Row
|
||||
{
|
||||
/// <remarks>Also called Romname</remarks>
|
||||
[Required]
|
||||
#if NET48
|
||||
public string Name { get; set; }
|
||||
#else
|
||||
public string? Name { get; set; }
|
||||
#endif
|
||||
|
||||
#if NET48
|
||||
public string Title { get; set; }
|
||||
#else
|
||||
public string? Title { get; set; }
|
||||
#endif
|
||||
|
||||
#if NET48
|
||||
public string Emulator { get; set; }
|
||||
#else
|
||||
public string? Emulator { get; set; }
|
||||
#endif
|
||||
|
||||
#if NET48
|
||||
public string CloneOf { get; set; }
|
||||
#else
|
||||
public string? CloneOf { get; set; }
|
||||
#endif
|
||||
|
||||
#if NET48
|
||||
public string Year { get; set; }
|
||||
#else
|
||||
public string? Year { get; set; }
|
||||
#endif
|
||||
|
||||
#if NET48
|
||||
public string Manufacturer { get; set; }
|
||||
#else
|
||||
public string? Manufacturer { get; set; }
|
||||
#endif
|
||||
|
||||
#if NET48
|
||||
public string Category { get; set; }
|
||||
#else
|
||||
public string? Category { get; set; }
|
||||
#endif
|
||||
|
||||
#if NET48
|
||||
public string Players { get; set; }
|
||||
#else
|
||||
public string? Players { get; set; }
|
||||
#endif
|
||||
|
||||
#if NET48
|
||||
public string Rotation { get; set; }
|
||||
#else
|
||||
public string? Rotation { get; set; }
|
||||
#endif
|
||||
|
||||
#if NET48
|
||||
public string Control { get; set; }
|
||||
#else
|
||||
public string? Control { get; set; }
|
||||
#endif
|
||||
|
||||
#if NET48
|
||||
public string Status { get; set; }
|
||||
#else
|
||||
public string? Status { get; set; }
|
||||
#endif
|
||||
|
||||
#if NET48
|
||||
public string DisplayCount { get; set; }
|
||||
#else
|
||||
public string? DisplayCount { get; set; }
|
||||
#endif
|
||||
|
||||
#if NET48
|
||||
public string DisplayType { get; set; }
|
||||
#else
|
||||
public string? DisplayType { get; set; }
|
||||
#endif
|
||||
|
||||
#if NET48
|
||||
public string AltRomname { get; set; }
|
||||
#else
|
||||
public string? AltRomname { get; set; }
|
||||
#endif
|
||||
|
||||
#if NET48
|
||||
public string AltTitle { get; set; }
|
||||
#else
|
||||
public string? AltTitle { get; set; }
|
||||
#endif
|
||||
|
||||
#if NET48
|
||||
public string Extra { get; set; }
|
||||
#else
|
||||
public string? Extra { get; set; }
|
||||
#endif
|
||||
|
||||
#if NET48
|
||||
public string Buttons { get; set; }
|
||||
#else
|
||||
public string? Buttons { get; set; }
|
||||
#endif
|
||||
|
||||
#if NET48
|
||||
public string Favorite { get; set; }
|
||||
#else
|
||||
public string? Favorite { get; set; }
|
||||
#endif
|
||||
|
||||
#if NET48
|
||||
public string Tags { get; set; }
|
||||
#else
|
||||
public string? Tags { get; set; }
|
||||
#endif
|
||||
|
||||
#if NET48
|
||||
public string PlayedCount { get; set; }
|
||||
#else
|
||||
public string? PlayedCount { get; set; }
|
||||
#endif
|
||||
|
||||
#if NET48
|
||||
public string PlayedTime { get; set; }
|
||||
#else
|
||||
public string? PlayedTime { get; set; }
|
||||
#endif
|
||||
|
||||
#if NET48
|
||||
public string FileIsAvailable { get; set; }
|
||||
#else
|
||||
public string? FileIsAvailable { get; set; }
|
||||
#endif
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
#if NET48
|
||||
public string[] ADDITIONAL_ELEMENTS { get; set; }
|
||||
#else
|
||||
public string[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -1,25 +0,0 @@
|
||||
namespace SabreTools.Models.BSP
|
||||
{
|
||||
public static class Constants
|
||||
{
|
||||
/// <summary>
|
||||
/// Number of lumps in a BSP
|
||||
/// </summary>
|
||||
public const int HL_BSP_LUMP_COUNT = 15;
|
||||
|
||||
/// <summary>
|
||||
/// Index for the entities lump
|
||||
/// </summary>
|
||||
public const int HL_BSP_LUMP_ENTITIES = 0;
|
||||
|
||||
/// <summary>
|
||||
/// Index for the texture data lump
|
||||
/// </summary>
|
||||
public const int HL_BSP_LUMP_TEXTUREDATA = 2;
|
||||
|
||||
/// <summary>
|
||||
/// Number of valid mipmap levels
|
||||
/// </summary>
|
||||
public const int HL_BSP_MIPMAP_COUNT = 4;
|
||||
}
|
||||
}
|
||||
45
BSP/File.cs
45
BSP/File.cs
@@ -1,45 +0,0 @@
|
||||
namespace SabreTools.Models.BSP
|
||||
{
|
||||
/// <summary>
|
||||
/// Half-Life Level
|
||||
/// </summary>
|
||||
/// <see href="https://github.com/RavuAlHemio/hllib/blob/master/HLLib/BSPFile.h"/>
|
||||
public sealed class File
|
||||
{
|
||||
/// <summary>
|
||||
/// Header data
|
||||
/// </summary>
|
||||
#if NET48
|
||||
public Header Header { get; set; }
|
||||
#else
|
||||
public Header? Header { get; set; }
|
||||
#endif
|
||||
|
||||
/// <summary>
|
||||
/// Lumps
|
||||
/// </summary>
|
||||
#if NET48
|
||||
public Lump[] Lumps { get; set; }
|
||||
#else
|
||||
public Lump?[]? Lumps { get; set; }
|
||||
#endif
|
||||
|
||||
/// <summary>
|
||||
/// Texture header data
|
||||
/// </summary>
|
||||
#if NET48
|
||||
public TextureHeader TextureHeader { get; set; }
|
||||
#else
|
||||
public TextureHeader? TextureHeader { get; set; }
|
||||
#endif
|
||||
|
||||
/// <summary>
|
||||
/// Textures
|
||||
/// </summary>
|
||||
#if NET48
|
||||
public Texture[] Textures { get; set; }
|
||||
#else
|
||||
public Texture?[]? Textures { get; set; }
|
||||
#endif
|
||||
}
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
namespace SabreTools.Models.BSP
|
||||
{
|
||||
/// <see href="https://github.com/RavuAlHemio/hllib/blob/master/HLLib/BSPFile.h"/>
|
||||
public sealed class Header
|
||||
{
|
||||
/// <summary>
|
||||
/// Version
|
||||
/// </summary>
|
||||
public uint Version { get; set; }
|
||||
}
|
||||
}
|
||||
16
BSP/Lump.cs
16
BSP/Lump.cs
@@ -1,16 +0,0 @@
|
||||
namespace SabreTools.Models.BSP
|
||||
{
|
||||
/// <see href="https://github.com/RavuAlHemio/hllib/blob/master/HLLib/BSPFile.h"/>
|
||||
public sealed class Lump
|
||||
{
|
||||
/// <summary>
|
||||
/// Offset
|
||||
/// </summary>
|
||||
public uint Offset { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Length
|
||||
/// </summary>
|
||||
public uint Length { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -1,57 +0,0 @@
|
||||
namespace SabreTools.Models.BSP
|
||||
{
|
||||
/// <see href="https://github.com/RavuAlHemio/hllib/blob/master/HLLib/BSPFile.h"/>
|
||||
public sealed class Texture
|
||||
{
|
||||
/// <summary>
|
||||
/// Name
|
||||
/// </summary>
|
||||
#if NET48
|
||||
public string Name { get; set; }
|
||||
#else
|
||||
public string? Name { get; set; }
|
||||
#endif
|
||||
|
||||
/// <summary>
|
||||
/// Width
|
||||
/// </summary>
|
||||
public uint Width { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Height
|
||||
/// </summary>
|
||||
public uint Height { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Offsets
|
||||
/// </summary>
|
||||
#if NET48
|
||||
public uint[] Offsets { get; set; }
|
||||
#else
|
||||
public uint[]? Offsets { get; set; }
|
||||
#endif
|
||||
|
||||
/// <summary>
|
||||
/// Texture data
|
||||
/// </summary>
|
||||
#if NET48
|
||||
public byte[] TextureData { get; set; }
|
||||
#else
|
||||
public byte[]? TextureData { get; set; }
|
||||
#endif
|
||||
|
||||
/// <summary>
|
||||
/// Palette size
|
||||
/// </summary>
|
||||
public uint PaletteSize { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Palette data
|
||||
/// </summary>
|
||||
#if NET48
|
||||
public byte[] PaletteData { get; set; }
|
||||
#else
|
||||
public byte[]? PaletteData { get; set; }
|
||||
#endif
|
||||
}
|
||||
}
|
||||
42
CHD/Enums.cs
42
CHD/Enums.cs
@@ -1,42 +0,0 @@
|
||||
using System;
|
||||
|
||||
namespace SabreTools.Models.CHD
|
||||
{
|
||||
/// <see href="https://github.com/mamedev/mame/blob/master/src/lib/util/chd.h"/>
|
||||
public enum CompressionType : uint
|
||||
{
|
||||
#region V1
|
||||
|
||||
CHDCOMPRESSION_NONE = 0,
|
||||
CHDCOMPRESSION_ZLIB = 1,
|
||||
|
||||
#endregion
|
||||
|
||||
#region V3
|
||||
|
||||
CHDCOMPRESSION_ZLIB_PLUS = 2,
|
||||
|
||||
#endregion
|
||||
|
||||
#region V4
|
||||
|
||||
CHDCOMPRESSION_AV = 3,
|
||||
|
||||
#endregion
|
||||
}
|
||||
|
||||
/// <see href="https://github.com/mamedev/mame/blob/master/src/lib/util/chd.h"/>
|
||||
[Flags]
|
||||
public enum Flags : uint
|
||||
{
|
||||
/// <summary>
|
||||
/// Set if this drive has a parent
|
||||
/// </summary>
|
||||
DriveHasParent = 0x00000001,
|
||||
|
||||
/// <summary>
|
||||
/// Set if this drive allows writes
|
||||
/// </summary>
|
||||
DriveAllowsWrites = 0x00000002,
|
||||
}
|
||||
}
|
||||
@@ -1,29 +0,0 @@
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace SabreTools.Models.Charts
|
||||
{
|
||||
/// <see href="https://github.com/TheNathannator/GuitarGame_ChartFormats/blob/main/doc/FileFormats/Other/Frets%20on%20Fire%20X/Careers.md"/>
|
||||
/// <remarks>[titles]</remarks>
|
||||
internal class TitlesIni
|
||||
{
|
||||
/// <summary>
|
||||
/// A space-separated list of .ini sections to include in the career.
|
||||
/// </summary>
|
||||
/// <remarks>sections</remarks>
|
||||
#if NET48
|
||||
public string[] SectionList { get; set; }
|
||||
#else
|
||||
public string[]? SectionList { get; set; }
|
||||
#endif
|
||||
|
||||
/// <summary>
|
||||
/// `name` - Display name of the tier.
|
||||
/// `unlock_id` - Name used for associating a song with this tier, and for checking unlock requirements.
|
||||
/// </summary>
|
||||
#if NET48
|
||||
public Dictionary<string, (string Name, string UnlockId)> Sections { get; set; }
|
||||
#else
|
||||
public Dictionary<string, (string? Name, string? UnlockId)>? Sections { get; set; }
|
||||
#endif
|
||||
}
|
||||
}
|
||||
@@ -1,25 +0,0 @@
|
||||
namespace SabreTools.Models.ClrMamePro
|
||||
{
|
||||
/// <remarks>archive</remarks>
|
||||
public class Archive
|
||||
{
|
||||
/// <remarks>name</remarks>
|
||||
[Required]
|
||||
#if NET48
|
||||
public string Name { get; set; }
|
||||
#else
|
||||
public string? Name { get; set; }
|
||||
#endif
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
#if NET48
|
||||
public string[] ADDITIONAL_ELEMENTS { get; set; }
|
||||
#else
|
||||
public string[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -1,40 +0,0 @@
|
||||
namespace SabreTools.Models.ClrMamePro
|
||||
{
|
||||
/// <remarks>biosset</remarks>
|
||||
public class BiosSet
|
||||
{
|
||||
/// <remarks>name</remarks>
|
||||
[Required]
|
||||
#if NET48
|
||||
public string Name { get; set; }
|
||||
#else
|
||||
public string? Name { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>description</remarks>
|
||||
[Required]
|
||||
#if NET48
|
||||
public string Description { get; set; }
|
||||
#else
|
||||
public string? Description { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>default</remarks>
|
||||
#if NET48
|
||||
public string Default { get; set; }
|
||||
#else
|
||||
public string? Default { get; set; }
|
||||
#endif
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
#if NET48
|
||||
public string[] ADDITIONAL_ELEMENTS { get; set; }
|
||||
#else
|
||||
public string[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -1,47 +0,0 @@
|
||||
namespace SabreTools.Models.ClrMamePro
|
||||
{
|
||||
/// <remarks>chip</remarks>
|
||||
public class Chip
|
||||
{
|
||||
/// <remarks>type, (cpu|audio)</remarks>
|
||||
[Required]
|
||||
#if NET48
|
||||
public string Type { get; set; }
|
||||
#else
|
||||
public string? Type { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>name</remarks>
|
||||
[Required]
|
||||
#if NET48
|
||||
public string Name { get; set; }
|
||||
#else
|
||||
public string? Name { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>flags</remarks>
|
||||
#if NET48
|
||||
public string Flags { get; set; }
|
||||
#else
|
||||
public string? Flags { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>clock, Numeric?</remarks>
|
||||
#if NET48
|
||||
public string Clock { get; set; }
|
||||
#else
|
||||
public string? Clock { get; set; }
|
||||
#endif
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
#if NET48
|
||||
public object[] ADDITIONAL_ELEMENTS { get; set; }
|
||||
#else
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -1,39 +0,0 @@
|
||||
namespace SabreTools.Models.ClrMamePro
|
||||
{
|
||||
/// <remarks>dipswitch</remarks>
|
||||
public class DipSwitch
|
||||
{
|
||||
/// <remarks>name</remarks>
|
||||
[Required]
|
||||
#if NET48
|
||||
public string Name { get; set; }
|
||||
#else
|
||||
public string? Name { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>entry</remarks>
|
||||
#if NET48
|
||||
public string[] Entry { get; set; }
|
||||
#else
|
||||
public string[]? Entry { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>default, (yes|no) "no"</remarks>
|
||||
#if NET48
|
||||
public string Default { get; set; }
|
||||
#else
|
||||
public string? Default { get; set; }
|
||||
#endif
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
#if NET48
|
||||
public object[] ADDITIONAL_ELEMENTS { get; set; }
|
||||
#else
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -1,60 +0,0 @@
|
||||
namespace SabreTools.Models.ClrMamePro
|
||||
{
|
||||
/// <remarks>disk</remarks>
|
||||
public class Disk
|
||||
{
|
||||
/// <remarks>name</remarks>
|
||||
[Required]
|
||||
#if NET48
|
||||
public string Name { get; set; }
|
||||
#else
|
||||
public string? Name { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>md5</remarks>
|
||||
#if NET48
|
||||
public string MD5 { get; set; }
|
||||
#else
|
||||
public string? MD5 { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>sha1</remarks>
|
||||
#if NET48
|
||||
public string SHA1 { get; set; }
|
||||
#else
|
||||
public string? SHA1 { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>merge</remarks>
|
||||
#if NET48
|
||||
public string Merge { get; set; }
|
||||
#else
|
||||
public string? Merge { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>status</remarks>
|
||||
#if NET48
|
||||
public string Status { get; set; }
|
||||
#else
|
||||
public string? Status { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>flags</remarks>
|
||||
#if NET48
|
||||
public string Flags { get; set; }
|
||||
#else
|
||||
public string? Flags { get; set; }
|
||||
#endif
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
#if NET48
|
||||
public string[] ADDITIONAL_ELEMENTS { get; set; }
|
||||
#else
|
||||
public string[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -1,53 +0,0 @@
|
||||
namespace SabreTools.Models.ClrMamePro
|
||||
{
|
||||
/// <remarks>media</remarks>
|
||||
public class Media
|
||||
{
|
||||
/// <remarks>name</remarks>
|
||||
[Required]
|
||||
#if NET48
|
||||
public string Name { get; set; }
|
||||
#else
|
||||
public string? Name { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>md5</remarks>
|
||||
#if NET48
|
||||
public string MD5 { get; set; }
|
||||
#else
|
||||
public string? MD5 { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>sha1</remarks>
|
||||
#if NET48
|
||||
public string SHA1 { get; set; }
|
||||
#else
|
||||
public string? SHA1 { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>sha256</remarks>
|
||||
#if NET48
|
||||
public string SHA256 { get; set; }
|
||||
#else
|
||||
public string? SHA256 { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>spamsum</remarks>
|
||||
#if NET48
|
||||
public string SpamSum { get; set; }
|
||||
#else
|
||||
public string? SpamSum { get; set; }
|
||||
#endif
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
#if NET48
|
||||
public string[] ADDITIONAL_ELEMENTS { get; set; }
|
||||
#else
|
||||
public string[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -1,30 +0,0 @@
|
||||
namespace SabreTools.Models.ClrMamePro
|
||||
{
|
||||
public class MetadataFile
|
||||
{
|
||||
/// <remarks>clrmamepro</remarks>
|
||||
#if NET48
|
||||
public ClrMamePro ClrMamePro { get; set; }
|
||||
#else
|
||||
public ClrMamePro? ClrMamePro { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>game, machine, resource, set</remarks>
|
||||
#if NET48
|
||||
public GameBase[] Game { get; set; }
|
||||
#else
|
||||
public GameBase?[]? Game { get; set; }
|
||||
#endif
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
#if NET48
|
||||
public string[] ADDITIONAL_ELEMENTS { get; set; }
|
||||
#else
|
||||
public string[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -1,54 +0,0 @@
|
||||
namespace SabreTools.Models.ClrMamePro
|
||||
{
|
||||
/// <remarks>release</remarks>
|
||||
public class Release
|
||||
{
|
||||
/// <remarks>name</remarks>
|
||||
[Required]
|
||||
#if NET48
|
||||
public string Name { get; set; }
|
||||
#else
|
||||
public string? Name { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>region</remarks>
|
||||
[Required]
|
||||
#if NET48
|
||||
public string Region { get; set; }
|
||||
#else
|
||||
public string? Region { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>language</remarks>
|
||||
#if NET48
|
||||
public string Language { get; set; }
|
||||
#else
|
||||
public string? Language { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>date</remarks>
|
||||
#if NET48
|
||||
public string Date { get; set; }
|
||||
#else
|
||||
public string? Date { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>default</remarks>
|
||||
#if NET48
|
||||
public string Default { get; set; }
|
||||
#else
|
||||
public string? Default { get; set; }
|
||||
#endif
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
#if NET48
|
||||
public string[] ADDITIONAL_ELEMENTS { get; set; }
|
||||
#else
|
||||
public string[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -1,25 +0,0 @@
|
||||
namespace SabreTools.Models.ClrMamePro
|
||||
{
|
||||
/// <remarks>sample</remarks>
|
||||
public class Sample
|
||||
{
|
||||
/// <remarks>name</remarks>
|
||||
[Required]
|
||||
#if NET48
|
||||
public string Name { get; set; }
|
||||
#else
|
||||
public string? Name { get; set; }
|
||||
#endif
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
#if NET48
|
||||
public string[] ADDITIONAL_ELEMENTS { get; set; }
|
||||
#else
|
||||
public string[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -1,25 +0,0 @@
|
||||
namespace SabreTools.Models.ClrMamePro
|
||||
{
|
||||
/// <remarks>sound</remarks>
|
||||
public class Sound
|
||||
{
|
||||
/// <remarks>channels, Numeric?</remarks>
|
||||
[Required]
|
||||
#if NET48
|
||||
public string Channels { get; set; }
|
||||
#else
|
||||
public string? Channels { get; set; }
|
||||
#endif
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
#if NET48
|
||||
public object[] ADDITIONAL_ELEMENTS { get; set; }
|
||||
#else
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -1,21 +0,0 @@
|
||||
namespace SabreTools.Models.Compression.LZ
|
||||
{
|
||||
/// <summary>
|
||||
/// Format of first 14 byte of LZ compressed file
|
||||
/// </summary>
|
||||
/// <see href="https://github.com/wine-mirror/wine/blob/master/dlls/kernel32/lzexpand.c"/>
|
||||
public sealed class FileHeaader
|
||||
{
|
||||
#if NET48
|
||||
public string Magic { get; set; }
|
||||
#else
|
||||
public string? Magic { get; set; }
|
||||
#endif
|
||||
|
||||
public byte CompressionType { get; set; }
|
||||
|
||||
public char LastChar { get; set; }
|
||||
|
||||
public uint RealLength { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -1,89 +0,0 @@
|
||||
namespace SabreTools.Models.Compression.MSZIP
|
||||
{
|
||||
/// <see href="https://github.com/wine-mirror/wine/blob/master/dlls/cabinet/cabinet.h"/>
|
||||
public static class Constants
|
||||
{
|
||||
/// <summary>
|
||||
/// Window size
|
||||
/// </summary>
|
||||
public const ushort ZIPWSIZE = 0x8000;
|
||||
|
||||
/// <summary>
|
||||
/// Bits in base literal/length lookup table
|
||||
/// </summary>
|
||||
public const int ZIPLBITS = 9;
|
||||
|
||||
/// <summary>
|
||||
/// Bits in base distance lookup table
|
||||
/// </summary>
|
||||
public const int ZIPDBITS = 6;
|
||||
|
||||
/// <summary>
|
||||
/// Maximum bit length of any code
|
||||
/// </summary>
|
||||
public const int ZIPBMAX = 16;
|
||||
|
||||
/// <summary>
|
||||
/// Maximum number of codes in any set
|
||||
/// </summary>
|
||||
public const int ZIPN_MAX = 288;
|
||||
|
||||
#region THOSE_ZIP_CONSTS
|
||||
|
||||
/// <summary>
|
||||
/// Order of the bit length code lengths
|
||||
/// </summary>
|
||||
public static readonly byte[] BitLengthOrder = new byte[]
|
||||
{
|
||||
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[]
|
||||
{
|
||||
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[]
|
||||
{
|
||||
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[]
|
||||
{
|
||||
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[]
|
||||
{
|
||||
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]
|
||||
{
|
||||
0x0000, 0x0001, 0x0003, 0x0007, 0x000f, 0x001f, 0x003f, 0x007f, 0x00ff,
|
||||
0x01ff, 0x03ff, 0x07ff, 0x0fff, 0x1fff, 0x3fff, 0x7fff, 0xffff
|
||||
};
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -1,110 +0,0 @@
|
||||
using System;
|
||||
|
||||
namespace SabreTools.Models.Compression.MSZIP
|
||||
{
|
||||
/// <summary>
|
||||
/// Compression with fixed Huffman codes (BTYPE=01)
|
||||
/// </summary>
|
||||
/// <see href="https://interoperability.blob.core.windows.net/files/MS-MCI/%5bMS-MCI%5d.pdf"/>
|
||||
/// <see href="https://www.rfc-editor.org/rfc/rfc1951"/>
|
||||
public class FixedCompressedDataHeader : CompressedDataHeader
|
||||
{
|
||||
#region Properties
|
||||
|
||||
/// <summary>
|
||||
/// Huffman code lengths for the literal / length alphabet
|
||||
/// </summary>
|
||||
#if NET48
|
||||
public override uint[] LiteralLengths
|
||||
#else
|
||||
public override uint[]? LiteralLengths
|
||||
#endif
|
||||
{
|
||||
get
|
||||
{
|
||||
// If we have cached lengths, use those
|
||||
if (_literalLengths != null)
|
||||
return _literalLengths;
|
||||
|
||||
// Otherwise, build it from scratch
|
||||
_literalLengths = new uint[288];
|
||||
|
||||
// Literal Value 0 - 143, 8 bits
|
||||
for (int i = 0; i < 144; i++)
|
||||
_literalLengths[i] = 8;
|
||||
|
||||
// Literal Value 144 - 255, 9 bits
|
||||
for (int i = 144; i < 256; i++)
|
||||
_literalLengths[i] = 9;
|
||||
|
||||
// Literal Value 256 - 279, 7 bits
|
||||
for (int i = 256; i < 280; i++)
|
||||
_literalLengths[i] = 7;
|
||||
|
||||
// Literal Value 280 - 287, 8 bits
|
||||
for (int i = 280; i < 288; i++)
|
||||
_literalLengths[i] = 8;
|
||||
|
||||
return _literalLengths;
|
||||
}
|
||||
set
|
||||
{
|
||||
throw new FieldAccessException();
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Huffman distance codes for the literal / length alphabet
|
||||
/// </summary>
|
||||
#if NET48
|
||||
public override uint[] DistanceCodes
|
||||
#else
|
||||
public override uint[]? DistanceCodes
|
||||
#endif
|
||||
{
|
||||
get
|
||||
{
|
||||
// If we have cached distances, use those
|
||||
if (_distanceCodes != null)
|
||||
return _distanceCodes;
|
||||
|
||||
// Otherwise, build it from scratch
|
||||
_distanceCodes = new uint[30];
|
||||
|
||||
// Fixed length, 5 bits
|
||||
for (int i = 0; i < 30; i++)
|
||||
_distanceCodes[i] = 5;
|
||||
|
||||
return _distanceCodes;
|
||||
}
|
||||
set
|
||||
{
|
||||
throw new FieldAccessException();
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Instance Variables
|
||||
|
||||
/// <summary>
|
||||
/// Huffman code lengths for the literal / length alphabet
|
||||
/// </summary>
|
||||
#if NET48
|
||||
private uint[] _literalLengths = null;
|
||||
#else
|
||||
private uint[]? _literalLengths = null;
|
||||
#endif
|
||||
|
||||
/// <summary>
|
||||
/// Huffman distance codes for the literal / length alphabet
|
||||
/// </summary>
|
||||
#if NET48
|
||||
private uint[] _distanceCodes = null;
|
||||
#else
|
||||
private uint[]? _distanceCodes = null;
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -1,66 +0,0 @@
|
||||
namespace SabreTools.Models.DosCenter
|
||||
{
|
||||
/// <remarks>doscenter</remarks>
|
||||
public class DosCenter
|
||||
{
|
||||
/// <remarks>name</remarks>
|
||||
#if NET48
|
||||
public string Name { get; set; }
|
||||
#else
|
||||
public string? Name { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>description</remarks>
|
||||
#if NET48
|
||||
public string Description { get; set; }
|
||||
#else
|
||||
public string? Description { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>version</remarks>
|
||||
#if NET48
|
||||
public string Version { get; set; }
|
||||
#else
|
||||
public string? Version { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>date</remarks>
|
||||
#if NET48
|
||||
public string Date { get; set; }
|
||||
#else
|
||||
public string? Date { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>author</remarks>
|
||||
#if NET48
|
||||
public string Author { get; set; }
|
||||
#else
|
||||
public string? Author { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>homepage</remarks>
|
||||
#if NET48
|
||||
public string Homepage { get; set; }
|
||||
#else
|
||||
public string? Homepage { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>comment</remarks>
|
||||
#if NET48
|
||||
public string Comment { get; set; }
|
||||
#else
|
||||
public string? Comment { get; set; }
|
||||
#endif
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
#if NET48
|
||||
public string[] ADDITIONAL_ELEMENTS { get; set; }
|
||||
#else
|
||||
public string[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -1,32 +0,0 @@
|
||||
namespace SabreTools.Models.DosCenter
|
||||
{
|
||||
/// <remarks>game</remarks>
|
||||
public class Game
|
||||
{
|
||||
/// <remarks>name</remarks>
|
||||
[Required]
|
||||
#if NET48
|
||||
public string Name { get; set; }
|
||||
#else
|
||||
public string? Name { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>file</remarks>
|
||||
#if NET48
|
||||
public File[] File { get; set; }
|
||||
#else
|
||||
public File[]? File { get; set; }
|
||||
#endif
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
#if NET48
|
||||
public string[] ADDITIONAL_ELEMENTS { get; set; }
|
||||
#else
|
||||
public string[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -1,30 +0,0 @@
|
||||
namespace SabreTools.Models.DosCenter
|
||||
{
|
||||
public class MetadataFile
|
||||
{
|
||||
/// <remarks>doscenter</remarks>
|
||||
#if NET48
|
||||
public DosCenter DosCenter { get; set; }
|
||||
#else
|
||||
public DosCenter? DosCenter { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>game</remarks>
|
||||
#if NET48
|
||||
public Game[] Game { get; set; }
|
||||
#else
|
||||
public Game[]? Game { get; set; }
|
||||
#endif
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
#if NET48
|
||||
public string[] ADDITIONAL_ELEMENTS { get; set; }
|
||||
#else
|
||||
public string[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -1,60 +0,0 @@
|
||||
namespace SabreTools.Models.EverdriveSMDB
|
||||
{
|
||||
/// <summary>
|
||||
/// SHA-256 \t Machine Name/Filename \t SHA-1 \t MD5 \t CRC32 \t Size (Optional)
|
||||
/// </summary>
|
||||
public class Row
|
||||
{
|
||||
[Required]
|
||||
#if NET48
|
||||
public string SHA256 { get; set; }
|
||||
#else
|
||||
public string? SHA256 { get; set; }
|
||||
#endif
|
||||
|
||||
[Required]
|
||||
#if NET48
|
||||
public string Name { get; set; }
|
||||
#else
|
||||
public string? Name { get; set; }
|
||||
#endif
|
||||
|
||||
[Required]
|
||||
#if NET48
|
||||
public string SHA1 { get; set; }
|
||||
#else
|
||||
public string? SHA1 { get; set; }
|
||||
#endif
|
||||
|
||||
[Required]
|
||||
#if NET48
|
||||
public string MD5 { get; set; }
|
||||
#else
|
||||
public string? MD5 { get; set; }
|
||||
#endif
|
||||
|
||||
[Required]
|
||||
#if NET48
|
||||
public string CRC32 { get; set; }
|
||||
#else
|
||||
public string? CRC32 { get; set; }
|
||||
#endif
|
||||
|
||||
#if NET48
|
||||
public string Size { get; set; }
|
||||
#else
|
||||
public string? Size { get; set; }
|
||||
#endif
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
#if NET48
|
||||
public string[] ADDITIONAL_ELEMENTS { get; set; }
|
||||
#else
|
||||
public string[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -1,59 +0,0 @@
|
||||
namespace SabreTools.Models.Hashfile
|
||||
{
|
||||
/// <remarks>Hashfiles can only contain one type of hash at a time</remarks>
|
||||
public class Hashfile
|
||||
{
|
||||
#if NET48
|
||||
public SFV[] SFV { get; set; }
|
||||
#else
|
||||
public SFV[]? SFV { get; set; }
|
||||
#endif
|
||||
|
||||
#if NET48
|
||||
public MD5[] MD5 { get; set; }
|
||||
#else
|
||||
public MD5[]? MD5 { get; set; }
|
||||
#endif
|
||||
|
||||
#if NET48
|
||||
public SHA1[] SHA1 { get; set; }
|
||||
#else
|
||||
public SHA1[]? SHA1 { get; set; }
|
||||
#endif
|
||||
|
||||
#if NET48
|
||||
public SHA256[] SHA256 { get; set; }
|
||||
#else
|
||||
public SHA256[]? SHA256 { get; set; }
|
||||
#endif
|
||||
|
||||
#if NET48
|
||||
public SHA384[] SHA384 { get; set; }
|
||||
#else
|
||||
public SHA384[]? SHA384 { get; set; }
|
||||
#endif
|
||||
|
||||
#if NET48
|
||||
public SHA512[] SHA512 { get; set; }
|
||||
#else
|
||||
public SHA512[]? SHA512 { get; set; }
|
||||
#endif
|
||||
|
||||
#if NET48
|
||||
public SpamSum[] SpamSum { get; set; }
|
||||
#else
|
||||
public SpamSum[]? SpamSum { get; set; }
|
||||
#endif
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
#if NET48
|
||||
public string[] ADDITIONAL_ELEMENTS { get; set; }
|
||||
#else
|
||||
public string[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -1,23 +0,0 @@
|
||||
using System;
|
||||
|
||||
namespace SabreTools.Models.InstallShieldCabinet
|
||||
{
|
||||
/// <see href="https://github.com/twogood/unshield/blob/main/lib/cabfile.h"/>
|
||||
[Flags]
|
||||
public enum FileFlags : ushort
|
||||
{
|
||||
FILE_SPLIT = 1,
|
||||
FILE_OBFUSCATED = 2,
|
||||
FILE_COMPRESSED = 4,
|
||||
FILE_INVALID = 8,
|
||||
}
|
||||
|
||||
/// <see href="https://github.com/twogood/unshield/blob/main/lib/cabfile.h"/>
|
||||
public enum LinkFlags : byte
|
||||
{
|
||||
LINK_NONE = 0,
|
||||
LINK_PREV = 1,
|
||||
LINK_NEXT = 2,
|
||||
LINK_BOTH = 3,
|
||||
}
|
||||
}
|
||||
@@ -1,162 +0,0 @@
|
||||
namespace SabreTools.Models.InstallShieldCabinet
|
||||
{
|
||||
/// <see href="https://github.com/twogood/unshield/blob/main/lib/libunshield.h"/>
|
||||
public sealed class FileGroup
|
||||
{
|
||||
/// <summary>
|
||||
/// Offset to the file group name
|
||||
/// </summary>
|
||||
public uint NameOffset { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// File group name
|
||||
/// </summary>
|
||||
#if NET48
|
||||
public string Name { get; set; }
|
||||
#else
|
||||
public string? Name { get; set; }
|
||||
#endif
|
||||
|
||||
/// <summary>
|
||||
/// Size of the expanded data
|
||||
/// </summary>
|
||||
public uint ExpandedSize { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Reserved
|
||||
/// </summary>
|
||||
#if NET48
|
||||
public byte[] Reserved0 { get; set; }
|
||||
#else
|
||||
public byte[]? Reserved0 { get; set; }
|
||||
#endif
|
||||
|
||||
/// <summary>
|
||||
/// Size of the compressed data
|
||||
/// </summary>
|
||||
public uint CompressedSize { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Reserved
|
||||
/// </summary>
|
||||
#if NET48
|
||||
public byte[] Reserved1 { get; set; }
|
||||
#else
|
||||
public byte[]? Reserved1 { get; set; }
|
||||
#endif
|
||||
|
||||
/// <summary>
|
||||
/// Reserved
|
||||
/// </summary>
|
||||
#if NET48
|
||||
public byte[] Reserved2 { get; set; }
|
||||
#else
|
||||
public byte[]? Reserved2 { get; set; }
|
||||
#endif
|
||||
|
||||
/// <summary>
|
||||
/// Attribute(?)
|
||||
/// </summary>
|
||||
public ushort Attribute1 { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Attribute(?)
|
||||
/// </summary>
|
||||
public ushort Attribute2 { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Index of the first file
|
||||
/// </summary>
|
||||
public uint FirstFile { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Index of the last file
|
||||
/// </summary>
|
||||
public uint LastFile { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Unknown offset(?)
|
||||
/// </summary>
|
||||
public uint UnknownOffset { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Var 4 offset(?)
|
||||
/// </summary>
|
||||
public uint Var4Offset { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Var 1 offset(?)
|
||||
/// </summary>
|
||||
public uint Var1Offset { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Offset to the HTTP location
|
||||
/// </summary>
|
||||
public uint HTTPLocationOffset { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Offset to the FTP location
|
||||
/// </summary>
|
||||
public uint FTPLocationOffset { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Misc offset(?)
|
||||
/// </summary>
|
||||
public uint MiscOffset { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Var 2 offset(?)
|
||||
/// </summary>
|
||||
public uint Var2Offset { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Offset to the target directory
|
||||
/// </summary>
|
||||
public uint TargetDirectoryOffset { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Reserved
|
||||
/// </summary>
|
||||
#if NET48
|
||||
public byte[] Reserved3 { get; set; }
|
||||
#else
|
||||
public byte[]? Reserved3 { get; set; }
|
||||
#endif
|
||||
|
||||
/// <summary>
|
||||
/// Reserved
|
||||
/// </summary>
|
||||
#if NET48
|
||||
public byte[] Reserved4 { get; set; }
|
||||
#else
|
||||
public byte[]? Reserved4 { get; set; }
|
||||
#endif
|
||||
|
||||
/// <summary>
|
||||
/// Reserved
|
||||
/// </summary>
|
||||
#if NET48
|
||||
public byte[] Reserved5 { get; set; }
|
||||
#else
|
||||
public byte[]? Reserved5 { get; set; }
|
||||
#endif
|
||||
|
||||
/// <summary>
|
||||
/// Reserved
|
||||
/// </summary>
|
||||
#if NET48
|
||||
public byte[] Reserved6 { get; set; }
|
||||
#else
|
||||
public byte[]? Reserved6 { get; set; }
|
||||
#endif
|
||||
|
||||
/// <summary>
|
||||
/// Reserved
|
||||
/// </summary>
|
||||
#if NET48
|
||||
public byte[] Reserved7 { get; set; }
|
||||
#else
|
||||
public byte[]? Reserved7 { get; set; }
|
||||
#endif
|
||||
}
|
||||
}
|
||||
@@ -1,22 +0,0 @@
|
||||
namespace SabreTools.Models.Listrom
|
||||
{
|
||||
public class MetadataFile
|
||||
{
|
||||
#if NET48
|
||||
public Set[] Set { get; set; }
|
||||
#else
|
||||
public Set[]? Set { get; set; }
|
||||
#endif
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
#if NET48
|
||||
public string[] ADDITIONAL_ELEMENTS { get; set; }
|
||||
#else
|
||||
public string[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -1,52 +0,0 @@
|
||||
using System.Xml;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
namespace SabreTools.Models.Listxml
|
||||
{
|
||||
[XmlRoot("adjuster")]
|
||||
public class Adjuster
|
||||
{
|
||||
[Required]
|
||||
[XmlAttribute("name")]
|
||||
#if NET48
|
||||
public string Name { get; set; }
|
||||
#else
|
||||
public string? Name { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>(yes|no) "no"</remarks>
|
||||
[XmlAttribute("default")]
|
||||
#if NET48
|
||||
public string Default { get; set; }
|
||||
#else
|
||||
public string? Default { get; set; }
|
||||
#endif
|
||||
|
||||
[XmlElement("condition")]
|
||||
#if NET48
|
||||
public Condition Condition { get; set; }
|
||||
#else
|
||||
public Condition? Condition { get; set; }
|
||||
#endif
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyAttribute]
|
||||
#if NET48
|
||||
public XmlAttribute[] ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#else
|
||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyElement]
|
||||
#if NET48
|
||||
public object[] ADDITIONAL_ELEMENTS { get; set; }
|
||||
#else
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -1,37 +0,0 @@
|
||||
using System.Xml;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
namespace SabreTools.Models.Listxml
|
||||
{
|
||||
[XmlRoot("analog")]
|
||||
public class Analog
|
||||
{
|
||||
[Required]
|
||||
[XmlAttribute("mask")]
|
||||
#if NET48
|
||||
public string Mask { get; set; }
|
||||
#else
|
||||
public string? Mask { get; set; }
|
||||
#endif
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyAttribute]
|
||||
#if NET48
|
||||
public XmlAttribute[] ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#else
|
||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyElement]
|
||||
#if NET48
|
||||
public object[] ADDITIONAL_ELEMENTS { get; set; }
|
||||
#else
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -1,53 +0,0 @@
|
||||
using System.Xml;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
namespace SabreTools.Models.Listxml
|
||||
{
|
||||
[XmlRoot("biosset")]
|
||||
public class BiosSet
|
||||
{
|
||||
[Required]
|
||||
[XmlAttribute("name")]
|
||||
#if NET48
|
||||
public string Name { get; set; }
|
||||
#else
|
||||
public string? Name { get; set; }
|
||||
#endif
|
||||
|
||||
[Required]
|
||||
[XmlAttribute("description")]
|
||||
#if NET48
|
||||
public string Description { get; set; }
|
||||
#else
|
||||
public string? Description { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>(yes|no) "no"</remarks>
|
||||
[XmlAttribute("default")]
|
||||
#if NET48
|
||||
public string Default { get; set; }
|
||||
#else
|
||||
public string? Default { get; set; }
|
||||
#endif
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyAttribute]
|
||||
#if NET48
|
||||
public XmlAttribute[] ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#else
|
||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyElement]
|
||||
#if NET48
|
||||
public object[] ADDITIONAL_ELEMENTS { get; set; }
|
||||
#else
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -1,68 +0,0 @@
|
||||
using System.Xml;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
namespace SabreTools.Models.Listxml
|
||||
{
|
||||
[XmlRoot("chip")]
|
||||
public class Chip
|
||||
{
|
||||
[Required]
|
||||
[XmlAttribute("name")]
|
||||
#if NET48
|
||||
public string Name { get; set; }
|
||||
#else
|
||||
public string? Name { get; set; }
|
||||
#endif
|
||||
|
||||
[XmlAttribute("tag")]
|
||||
#if NET48
|
||||
public string Tag { get; set; }
|
||||
#else
|
||||
public string? Tag { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>(cpu|audio)</remarks>
|
||||
[Required]
|
||||
[XmlAttribute("type")]
|
||||
#if NET48
|
||||
public string Type { get; set; }
|
||||
#else
|
||||
public string? Type { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>Only present in older versions</remarks>
|
||||
[XmlAttribute("soundonly")]
|
||||
#if NET48
|
||||
public string SoundOnly { get; set; }
|
||||
#else
|
||||
public string? SoundOnly { get; set; }
|
||||
#endif
|
||||
|
||||
[XmlAttribute("clock")]
|
||||
#if NET48
|
||||
public string Clock { get; set; }
|
||||
#else
|
||||
public string? Clock { get; set; }
|
||||
#endif
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyAttribute]
|
||||
#if NET48
|
||||
public XmlAttribute[] ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#else
|
||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyElement]
|
||||
#if NET48
|
||||
public object[] ADDITIONAL_ELEMENTS { get; set; }
|
||||
#else
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -1,62 +0,0 @@
|
||||
using System.Xml;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
namespace SabreTools.Models.Listxml
|
||||
{
|
||||
[XmlRoot("condition")]
|
||||
public class Condition
|
||||
{
|
||||
[Required]
|
||||
[XmlAttribute("tag")]
|
||||
#if NET48
|
||||
public string Tag { get; set; }
|
||||
#else
|
||||
public string? Tag { get; set; }
|
||||
#endif
|
||||
|
||||
[Required]
|
||||
[XmlAttribute("mask")]
|
||||
#if NET48
|
||||
public string Mask { get; set; }
|
||||
#else
|
||||
public string? Mask { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>(eq|ne|gt|le|lt|ge)</remarks>
|
||||
[Required]
|
||||
[XmlAttribute("relation")]
|
||||
#if NET48
|
||||
public string Relation { get; set; }
|
||||
#else
|
||||
public string? Relation { get; set; }
|
||||
#endif
|
||||
|
||||
[Required]
|
||||
[XmlAttribute("value")]
|
||||
#if NET48
|
||||
public string Value { get; set; }
|
||||
#else
|
||||
public string? Value { get; set; }
|
||||
#endif
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyAttribute]
|
||||
#if NET48
|
||||
public XmlAttribute[] ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#else
|
||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyElement]
|
||||
#if NET48
|
||||
public object[] ADDITIONAL_ELEMENTS { get; set; }
|
||||
#else
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -1,54 +0,0 @@
|
||||
using System.Xml;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
namespace SabreTools.Models.Listxml
|
||||
{
|
||||
[XmlRoot("conflocation")]
|
||||
public class ConfLocation
|
||||
{
|
||||
[Required]
|
||||
[XmlAttribute("name")]
|
||||
#if NET48
|
||||
public string Name { get; set; }
|
||||
#else
|
||||
public string? Name { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>Numeric?</remarks>
|
||||
[Required]
|
||||
[XmlAttribute("number")]
|
||||
#if NET48
|
||||
public string Number { get; set; }
|
||||
#else
|
||||
public string? Number { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>(yes|no) "no"</remarks>
|
||||
[XmlAttribute("inverted")]
|
||||
#if NET48
|
||||
public string Inverted { get; set; }
|
||||
#else
|
||||
public string? Inverted { get; set; }
|
||||
#endif
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyAttribute]
|
||||
#if NET48
|
||||
public XmlAttribute[] ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#else
|
||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyElement]
|
||||
#if NET48
|
||||
public object[] ADDITIONAL_ELEMENTS { get; set; }
|
||||
#else
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -1,60 +0,0 @@
|
||||
using System.Xml;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
namespace SabreTools.Models.Listxml
|
||||
{
|
||||
[XmlRoot("confsetting")]
|
||||
public class ConfSetting
|
||||
{
|
||||
[Required]
|
||||
[XmlAttribute("name")]
|
||||
#if NET48
|
||||
public string Name { get; set; }
|
||||
#else
|
||||
public string? Name { get; set; }
|
||||
#endif
|
||||
|
||||
[Required]
|
||||
[XmlAttribute("value")]
|
||||
#if NET48
|
||||
public string Value { get; set; }
|
||||
#else
|
||||
public string? Value { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>(yes|no) "no"</remarks>
|
||||
[XmlAttribute("default")]
|
||||
#if NET48
|
||||
public string Default { get; set; }
|
||||
#else
|
||||
public string? Default { get; set; }
|
||||
#endif
|
||||
|
||||
[XmlElement("condition")]
|
||||
#if NET48
|
||||
public Condition Condition { get; set; }
|
||||
#else
|
||||
public Condition? Condition { get; set; }
|
||||
#endif
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyAttribute]
|
||||
#if NET48
|
||||
public XmlAttribute[] ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#else
|
||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyElement]
|
||||
#if NET48
|
||||
public object[] ADDITIONAL_ELEMENTS { get; set; }
|
||||
#else
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -1,73 +0,0 @@
|
||||
using System.Xml;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
namespace SabreTools.Models.Listxml
|
||||
{
|
||||
[XmlRoot("configuration")]
|
||||
public class Configuration
|
||||
{
|
||||
[Required]
|
||||
[XmlAttribute("name")]
|
||||
#if NET48
|
||||
public string Name { get; set; }
|
||||
#else
|
||||
public string? Name { get; set; }
|
||||
#endif
|
||||
|
||||
[Required]
|
||||
[XmlAttribute("tag")]
|
||||
#if NET48
|
||||
public string Tag { get; set; }
|
||||
#else
|
||||
public string? Tag { get; set; }
|
||||
#endif
|
||||
|
||||
[XmlAttribute("mask")]
|
||||
#if NET48
|
||||
public string Mask { get; set; }
|
||||
#else
|
||||
public string? Mask { get; set; }
|
||||
#endif
|
||||
|
||||
[XmlElement("condition")]
|
||||
#if NET48
|
||||
public Condition Condition { get; set; }
|
||||
#else
|
||||
public Condition? Condition { get; set; }
|
||||
#endif
|
||||
|
||||
[XmlElement("conflocation")]
|
||||
#if NET48
|
||||
public ConfLocation[] ConfLocation { get; set; }
|
||||
#else
|
||||
public ConfLocation[]? ConfLocation { get; set; }
|
||||
#endif
|
||||
|
||||
[XmlElement("confsetting")]
|
||||
#if NET48
|
||||
public ConfSetting[] ConfSetting { get; set; }
|
||||
#else
|
||||
public ConfSetting[]? ConfSetting { get; set; }
|
||||
#endif
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyAttribute]
|
||||
#if NET48
|
||||
public XmlAttribute[] ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#else
|
||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyElement]
|
||||
#if NET48
|
||||
public object[] ADDITIONAL_ELEMENTS { get; set; }
|
||||
#else
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -1,80 +0,0 @@
|
||||
using System.Xml;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
namespace SabreTools.Models.Listxml
|
||||
{
|
||||
[XmlRoot("device")]
|
||||
public class Device
|
||||
{
|
||||
[Required]
|
||||
[XmlAttribute("type")]
|
||||
#if NET48
|
||||
public string Type { get; set; }
|
||||
#else
|
||||
public string? Type { get; set; }
|
||||
#endif
|
||||
|
||||
[XmlAttribute("tag")]
|
||||
#if NET48
|
||||
public string Tag { get; set; }
|
||||
#else
|
||||
public string? Tag { get; set; }
|
||||
#endif
|
||||
|
||||
[XmlAttribute("fixed_image")]
|
||||
#if NET48
|
||||
public string FixedImage { get; set; }
|
||||
#else
|
||||
public string? FixedImage { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>Numeric boolean</remarks>
|
||||
[XmlAttribute("mandatory")]
|
||||
#if NET48
|
||||
public string Mandatory { get; set; }
|
||||
#else
|
||||
public string? Mandatory { get; set; }
|
||||
#endif
|
||||
|
||||
[XmlAttribute("interface")]
|
||||
#if NET48
|
||||
public string Interface { get; set; }
|
||||
#else
|
||||
public string? Interface { get; set; }
|
||||
#endif
|
||||
|
||||
[XmlElement("instance")]
|
||||
#if NET48
|
||||
public Instance Instance { get; set; }
|
||||
#else
|
||||
public Instance? Instance { get; set; }
|
||||
#endif
|
||||
|
||||
[XmlElement("extension")]
|
||||
#if NET48
|
||||
public Extension[] Extension { get; set; }
|
||||
#else
|
||||
public Extension[]? Extension { get; set; }
|
||||
#endif
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyAttribute]
|
||||
#if NET48
|
||||
public XmlAttribute[] ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#else
|
||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyElement]
|
||||
#if NET48
|
||||
public object[] ADDITIONAL_ELEMENTS { get; set; }
|
||||
#else
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -1,37 +0,0 @@
|
||||
using System.Xml;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
namespace SabreTools.Models.Listxml
|
||||
{
|
||||
[XmlRoot("device_ref")]
|
||||
public class DeviceRef
|
||||
{
|
||||
[Required]
|
||||
[XmlAttribute("name")]
|
||||
#if NET48
|
||||
public string Name { get; set; }
|
||||
#else
|
||||
public string? Name { get; set; }
|
||||
#endif
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyAttribute]
|
||||
#if NET48
|
||||
public XmlAttribute[] ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#else
|
||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyElement]
|
||||
#if NET48
|
||||
public object[] ADDITIONAL_ELEMENTS { get; set; }
|
||||
#else
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -1,54 +0,0 @@
|
||||
using System.Xml;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
namespace SabreTools.Models.Listxml
|
||||
{
|
||||
[XmlRoot("diplocation")]
|
||||
public class DipLocation
|
||||
{
|
||||
[Required]
|
||||
[XmlAttribute("name")]
|
||||
#if NET48
|
||||
public string Name { get; set; }
|
||||
#else
|
||||
public string? Name { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>Numeric?</remarks>
|
||||
[Required]
|
||||
[XmlAttribute("number")]
|
||||
#if NET48
|
||||
public string Number { get; set; }
|
||||
#else
|
||||
public string? Number { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>(yes|no) "no"</remarks>
|
||||
[XmlAttribute("inverted")]
|
||||
#if NET48
|
||||
public string Inverted { get; set; }
|
||||
#else
|
||||
public string? Inverted { get; set; }
|
||||
#endif
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyAttribute]
|
||||
#if NET48
|
||||
public XmlAttribute[] ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#else
|
||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyElement]
|
||||
#if NET48
|
||||
public object[] ADDITIONAL_ELEMENTS { get; set; }
|
||||
#else
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -1,73 +0,0 @@
|
||||
using System.Xml;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
namespace SabreTools.Models.Listxml
|
||||
{
|
||||
[XmlRoot("dipswitch")]
|
||||
public class DipSwitch
|
||||
{
|
||||
[Required]
|
||||
[XmlAttribute("name")]
|
||||
#if NET48
|
||||
public string Name { get; set; }
|
||||
#else
|
||||
public string? Name { get; set; }
|
||||
#endif
|
||||
|
||||
[Required]
|
||||
[XmlAttribute("tag")]
|
||||
#if NET48
|
||||
public string Tag { get; set; }
|
||||
#else
|
||||
public string? Tag { get; set; }
|
||||
#endif
|
||||
|
||||
[XmlAttribute("mask")]
|
||||
#if NET48
|
||||
public string Mask { get; set; }
|
||||
#else
|
||||
public string? Mask { get; set; }
|
||||
#endif
|
||||
|
||||
[XmlElement("condition")]
|
||||
#if NET48
|
||||
public Condition Condition { get; set; }
|
||||
#else
|
||||
public Condition? Condition { get; set; }
|
||||
#endif
|
||||
|
||||
[XmlElement("diplocation")]
|
||||
#if NET48
|
||||
public DipLocation[] DipLocation { get; set; }
|
||||
#else
|
||||
public DipLocation[]? DipLocation { get; set; }
|
||||
#endif
|
||||
|
||||
[XmlElement("dipvalue")]
|
||||
#if NET48
|
||||
public DipValue[] DipValue { get; set; }
|
||||
#else
|
||||
public DipValue[]? DipValue { get; set; }
|
||||
#endif
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyAttribute]
|
||||
#if NET48
|
||||
public XmlAttribute[] ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#else
|
||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyElement]
|
||||
#if NET48
|
||||
public object[] ADDITIONAL_ELEMENTS { get; set; }
|
||||
#else
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -1,60 +0,0 @@
|
||||
using System.Xml;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
namespace SabreTools.Models.Listxml
|
||||
{
|
||||
[XmlRoot("dipvalue")]
|
||||
public class DipValue
|
||||
{
|
||||
[Required]
|
||||
[XmlAttribute("name")]
|
||||
#if NET48
|
||||
public string Name { get; set; }
|
||||
#else
|
||||
public string? Name { get; set; }
|
||||
#endif
|
||||
|
||||
[Required]
|
||||
[XmlAttribute("value")]
|
||||
#if NET48
|
||||
public string Value { get; set; }
|
||||
#else
|
||||
public string? Value { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>(yes|no) "no"</remarks>
|
||||
[XmlAttribute("default")]
|
||||
#if NET48
|
||||
public string Default { get; set; }
|
||||
#else
|
||||
public string? Default { get; set; }
|
||||
#endif
|
||||
|
||||
[XmlElement("condition")]
|
||||
#if NET48
|
||||
public Condition Condition { get; set; }
|
||||
#else
|
||||
public Condition? Condition { get; set; }
|
||||
#endif
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyAttribute]
|
||||
#if NET48
|
||||
public XmlAttribute[] ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#else
|
||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyElement]
|
||||
#if NET48
|
||||
public object[] ADDITIONAL_ELEMENTS { get; set; }
|
||||
#else
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -1,37 +0,0 @@
|
||||
using System.Xml;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
namespace SabreTools.Models.Listxml
|
||||
{
|
||||
[XmlRoot("extension")]
|
||||
public class Extension
|
||||
{
|
||||
[Required]
|
||||
[XmlAttribute("name")]
|
||||
#if NET48
|
||||
public string Name { get; set; }
|
||||
#else
|
||||
public string? Name { get; set; }
|
||||
#endif
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyAttribute]
|
||||
#if NET48
|
||||
public XmlAttribute[] ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#else
|
||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyElement]
|
||||
#if NET48
|
||||
public object[] ADDITIONAL_ELEMENTS { get; set; }
|
||||
#else
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -1,54 +0,0 @@
|
||||
using System.Xml;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
namespace SabreTools.Models.Listxml
|
||||
{
|
||||
[XmlRoot("feature")]
|
||||
public class Feature
|
||||
{
|
||||
/// <remarks>(protection|timing|graphics|palette|sound|capture|camera|microphone|controls|keyboard|mouse|media|disk|printer|tape|punch|drum|rom|comms|lan|wan)</remarks>
|
||||
[Required]
|
||||
[XmlAttribute("type")]
|
||||
#if NET48
|
||||
public string Type { get; set; }
|
||||
#else
|
||||
public string? Type { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>(unemulated|imperfect)</remarks>
|
||||
[XmlAttribute("status")]
|
||||
#if NET48
|
||||
public string Status { get; set; }
|
||||
#else
|
||||
public string? Status { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>(unemulated|imperfect)</remarks>
|
||||
[XmlAttribute("overall")]
|
||||
#if NET48
|
||||
public string Overall { get; set; }
|
||||
#else
|
||||
public string? Overall { get; set; }
|
||||
#endif
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyAttribute]
|
||||
#if NET48
|
||||
public XmlAttribute[] ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#else
|
||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyElement]
|
||||
#if NET48
|
||||
public object[] ADDITIONAL_ELEMENTS { get; set; }
|
||||
#else
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -1,45 +0,0 @@
|
||||
using System.Xml;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
namespace SabreTools.Models.Listxml
|
||||
{
|
||||
[XmlRoot("instance")]
|
||||
public class Instance
|
||||
{
|
||||
[Required]
|
||||
[XmlAttribute("name")]
|
||||
#if NET48
|
||||
public string Name { get; set; }
|
||||
#else
|
||||
public string? Name { get; set; }
|
||||
#endif
|
||||
|
||||
[Required]
|
||||
[XmlAttribute("briefname")]
|
||||
#if NET48
|
||||
public string BriefName { get; set; }
|
||||
#else
|
||||
public string? BriefName { get; set; }
|
||||
#endif
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyAttribute]
|
||||
#if NET48
|
||||
public XmlAttribute[] ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#else
|
||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyElement]
|
||||
#if NET48
|
||||
public object[] ADDITIONAL_ELEMENTS { get; set; }
|
||||
#else
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -1,44 +0,0 @@
|
||||
using System.Xml;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
namespace SabreTools.Models.Listxml
|
||||
{
|
||||
[XmlRoot("m1")]
|
||||
public class M1
|
||||
{
|
||||
[XmlAttribute("version")]
|
||||
#if NET48
|
||||
public string Version { get; set; }
|
||||
#else
|
||||
public string? Version { get; set; }
|
||||
#endif
|
||||
|
||||
[XmlElement("machine", typeof(Machine))]
|
||||
[XmlElement("game", typeof(Game))]
|
||||
#if NET48
|
||||
public GameBase[] Game { get; set; }
|
||||
#else
|
||||
public GameBase[]? Game { get; set; }
|
||||
#endif
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyAttribute]
|
||||
#if NET48
|
||||
public XmlAttribute[] ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#else
|
||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyElement]
|
||||
#if NET48
|
||||
public object[] ADDITIONAL_ELEMENTS { get; set; }
|
||||
#else
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -1,60 +0,0 @@
|
||||
using System.Xml;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
namespace SabreTools.Models.Listxml
|
||||
{
|
||||
[XmlRoot("mame")]
|
||||
public class Mame
|
||||
{
|
||||
[XmlAttribute("build")]
|
||||
#if NET48
|
||||
public string Build { get; set; }
|
||||
#else
|
||||
public string? Build { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>(yes|no) "no"</remarks>
|
||||
[XmlAttribute("debug")]
|
||||
#if NET48
|
||||
public string Debug { get; set; }
|
||||
#else
|
||||
public string? Debug { get; set; }
|
||||
#endif
|
||||
|
||||
[Required]
|
||||
[XmlAttribute("mameconfig")]
|
||||
#if NET48
|
||||
public string MameConfig { get; set; }
|
||||
#else
|
||||
public string? MameConfig { get; set; }
|
||||
#endif
|
||||
|
||||
[XmlElement("machine", typeof(Machine))]
|
||||
[XmlElement("game", typeof(Game))]
|
||||
#if NET48
|
||||
public GameBase[] Game { get; set; }
|
||||
#else
|
||||
public GameBase[]? Game { get; set; }
|
||||
#endif
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyAttribute]
|
||||
#if NET48
|
||||
public XmlAttribute[] ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#else
|
||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyElement]
|
||||
#if NET48
|
||||
public object[] ADDITIONAL_ELEMENTS { get; set; }
|
||||
#else
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -1,44 +0,0 @@
|
||||
using System.Xml;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
namespace SabreTools.Models.Listxml
|
||||
{
|
||||
[XmlRoot("port")]
|
||||
public class Port
|
||||
{
|
||||
[Required]
|
||||
[XmlAttribute("tag")]
|
||||
#if NET48
|
||||
public string Tag { get; set; }
|
||||
#else
|
||||
public string? Tag { get; set; }
|
||||
#endif
|
||||
|
||||
[XmlElement("analog")]
|
||||
#if NET48
|
||||
public Analog[] Analog { get; set; }
|
||||
#else
|
||||
public Analog[]? Analog { get; set; }
|
||||
#endif
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyAttribute]
|
||||
#if NET48
|
||||
public XmlAttribute[] ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#else
|
||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyElement]
|
||||
#if NET48
|
||||
public object[] ADDITIONAL_ELEMENTS { get; set; }
|
||||
#else
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -1,51 +0,0 @@
|
||||
using System.Xml;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
namespace SabreTools.Models.Listxml
|
||||
{
|
||||
[XmlRoot("ramoption")]
|
||||
public class RamOption
|
||||
{
|
||||
[Required]
|
||||
[XmlAttribute("name")]
|
||||
#if NET48
|
||||
public string Name { get; set; }
|
||||
#else
|
||||
public string? Name { get; set; }
|
||||
#endif
|
||||
|
||||
[XmlAttribute("default")]
|
||||
#if NET48
|
||||
public string Default { get; set; }
|
||||
#else
|
||||
public string? Default { get; set; }
|
||||
#endif
|
||||
|
||||
[XmlText]
|
||||
#if NET48
|
||||
public string Content { get; set; }
|
||||
#else
|
||||
public string? Content { get; set; }
|
||||
#endif
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyAttribute]
|
||||
#if NET48
|
||||
public XmlAttribute[] ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#else
|
||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyElement]
|
||||
#if NET48
|
||||
public object[] ADDITIONAL_ELEMENTS { get; set; }
|
||||
#else
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -1,37 +0,0 @@
|
||||
using System.Xml;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
namespace SabreTools.Models.Listxml
|
||||
{
|
||||
[XmlRoot("sample")]
|
||||
public class Sample
|
||||
{
|
||||
[Required]
|
||||
[XmlAttribute("name")]
|
||||
#if NET48
|
||||
public string Name { get; set; }
|
||||
#else
|
||||
public string? Name { get; set; }
|
||||
#endif
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyAttribute]
|
||||
#if NET48
|
||||
public XmlAttribute[] ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#else
|
||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyElement]
|
||||
#if NET48
|
||||
public object[] ADDITIONAL_ELEMENTS { get; set; }
|
||||
#else
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -1,44 +0,0 @@
|
||||
using System.Xml;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
namespace SabreTools.Models.Listxml
|
||||
{
|
||||
[XmlRoot("slot")]
|
||||
public class Slot
|
||||
{
|
||||
[Required]
|
||||
[XmlAttribute("name")]
|
||||
#if NET48
|
||||
public string Name { get; set; }
|
||||
#else
|
||||
public string? Name { get; set; }
|
||||
#endif
|
||||
|
||||
[XmlElement("slotoption")]
|
||||
#if NET48
|
||||
public SlotOption[] SlotOption { get; set; }
|
||||
#else
|
||||
public SlotOption[]? SlotOption { get; set; }
|
||||
#endif
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyAttribute]
|
||||
#if NET48
|
||||
public XmlAttribute[] ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#else
|
||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyElement]
|
||||
#if NET48
|
||||
public object[] ADDITIONAL_ELEMENTS { get; set; }
|
||||
#else
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -1,53 +0,0 @@
|
||||
using System.Xml;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
namespace SabreTools.Models.Listxml
|
||||
{
|
||||
[XmlRoot("slotoption")]
|
||||
public class SlotOption
|
||||
{
|
||||
[Required]
|
||||
[XmlAttribute("name")]
|
||||
#if NET48
|
||||
public string Name { get; set; }
|
||||
#else
|
||||
public string? Name { get; set; }
|
||||
#endif
|
||||
|
||||
[Required]
|
||||
[XmlAttribute("devname")]
|
||||
#if NET48
|
||||
public string DevName { get; set; }
|
||||
#else
|
||||
public string? DevName { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>(yes|no) "no"</remarks>
|
||||
[XmlAttribute("default")]
|
||||
#if NET48
|
||||
public string Default { get; set; }
|
||||
#else
|
||||
public string? Default { get; set; }
|
||||
#endif
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyAttribute]
|
||||
#if NET48
|
||||
public XmlAttribute[] ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#else
|
||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyElement]
|
||||
#if NET48
|
||||
public object[] ADDITIONAL_ELEMENTS { get; set; }
|
||||
#else
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -1,61 +0,0 @@
|
||||
using System.Xml;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
namespace SabreTools.Models.Listxml
|
||||
{
|
||||
[XmlRoot("softwarelist")]
|
||||
public class SoftwareList
|
||||
{
|
||||
[Required]
|
||||
[XmlAttribute("tag")]
|
||||
#if NET48
|
||||
public string Tag { get; set; }
|
||||
#else
|
||||
public string? Tag { get; set; }
|
||||
#endif
|
||||
|
||||
[Required]
|
||||
[XmlAttribute("name")]
|
||||
#if NET48
|
||||
public string Name { get; set; }
|
||||
#else
|
||||
public string? Name { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>(original|compatible)</remarks>
|
||||
[Required]
|
||||
[XmlAttribute("status")]
|
||||
#if NET48
|
||||
public string Status { get; set; }
|
||||
#else
|
||||
public string? Status { get; set; }
|
||||
#endif
|
||||
|
||||
[XmlAttribute("filter")]
|
||||
#if NET48
|
||||
public string Filter { get; set; }
|
||||
#else
|
||||
public string? Filter { get; set; }
|
||||
#endif
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyAttribute]
|
||||
#if NET48
|
||||
public XmlAttribute[] ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#else
|
||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyElement]
|
||||
#if NET48
|
||||
public object[] ADDITIONAL_ELEMENTS { get; set; }
|
||||
#else
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -1,38 +0,0 @@
|
||||
using System.Xml;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
namespace SabreTools.Models.Listxml
|
||||
{
|
||||
[XmlRoot("sound")]
|
||||
public class Sound
|
||||
{
|
||||
/// <remarks>Numeric</remarks>
|
||||
[Required]
|
||||
[XmlAttribute("channels")]
|
||||
#if NET48
|
||||
public string Channels { get; set; }
|
||||
#else
|
||||
public string? Channels { get; set; }
|
||||
#endif
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyAttribute]
|
||||
#if NET48
|
||||
public XmlAttribute[] ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#else
|
||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyElement]
|
||||
#if NET48
|
||||
public object[] ADDITIONAL_ELEMENTS { get; set; }
|
||||
#else
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -1,37 +0,0 @@
|
||||
using System.Xml;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
namespace SabreTools.Models.Logiqx
|
||||
{
|
||||
[XmlRoot("archive")]
|
||||
public class Archive
|
||||
{
|
||||
[Required]
|
||||
[XmlAttribute("name")]
|
||||
#if NET48
|
||||
public string Name { get; set; }
|
||||
#else
|
||||
public string? Name { get; set; }
|
||||
#endif
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyAttribute]
|
||||
#if NET48
|
||||
public XmlAttribute[] ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#else
|
||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyElement]
|
||||
#if NET48
|
||||
public object[] ADDITIONAL_ELEMENTS { get; set; }
|
||||
#else
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -1,53 +0,0 @@
|
||||
using System.Xml;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
namespace SabreTools.Models.Logiqx
|
||||
{
|
||||
[XmlRoot("biosset")]
|
||||
public class BiosSet
|
||||
{
|
||||
[Required]
|
||||
[XmlAttribute("name")]
|
||||
#if NET48
|
||||
public string Name { get; set; }
|
||||
#else
|
||||
public string? Name { get; set; }
|
||||
#endif
|
||||
|
||||
[Required]
|
||||
[XmlAttribute("description")]
|
||||
#if NET48
|
||||
public string Description { get; set; }
|
||||
#else
|
||||
public string? Description { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>(yes|no) "no"</remarks>
|
||||
[XmlAttribute("default")]
|
||||
#if NET48
|
||||
public string Default { get; set; }
|
||||
#else
|
||||
public string? Default { get; set; }
|
||||
#endif
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyAttribute]
|
||||
#if NET48
|
||||
public XmlAttribute[] ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#else
|
||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyElement]
|
||||
#if NET48
|
||||
public object[] ADDITIONAL_ELEMENTS { get; set; }
|
||||
#else
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -1,60 +0,0 @@
|
||||
using System.Xml;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
namespace SabreTools.Models.Logiqx
|
||||
{
|
||||
[XmlRoot("clrmamepro")]
|
||||
public class ClrMamePro
|
||||
{
|
||||
[XmlAttribute("header")]
|
||||
#if NET48
|
||||
public string Header { get; set; }
|
||||
#else
|
||||
public string? Header { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>(none|split|merged|nonmerged|fullmerged|device|full) "split"</remarks>
|
||||
[XmlAttribute("forcemerging")]
|
||||
#if NET48
|
||||
public string ForceMerging { get; set; }
|
||||
#else
|
||||
public string? ForceMerging { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>(obsolete|required|ignore) "obsolete"</remarks>
|
||||
[XmlAttribute("forcenodump")]
|
||||
#if NET48
|
||||
public string ForceNodump { get; set; }
|
||||
#else
|
||||
public string? ForceNodump { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>(zip|unzip) "zip"</remarks>
|
||||
[XmlAttribute("forcepacking")]
|
||||
#if NET48
|
||||
public string ForcePacking { get; set; }
|
||||
#else
|
||||
public string? ForcePacking { get; set; }
|
||||
#endif
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyAttribute]
|
||||
#if NET48
|
||||
public XmlAttribute[] ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#else
|
||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyElement]
|
||||
#if NET48
|
||||
public object[] ADDITIONAL_ELEMENTS { get; set; }
|
||||
#else
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -1,75 +0,0 @@
|
||||
using System.Xml;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
namespace SabreTools.Models.Logiqx
|
||||
{
|
||||
[XmlRoot("datafile")]
|
||||
public class Datafile
|
||||
{
|
||||
[XmlAttribute("build")]
|
||||
#if NET48
|
||||
public string Build { get; set; }
|
||||
#else
|
||||
public string? Build { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>(yes|no) "no"</remarks>
|
||||
[XmlAttribute("debug")]
|
||||
#if NET48
|
||||
public string Debug { get; set; }
|
||||
#else
|
||||
public string? Debug { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>No-Intro extension</remarks>
|
||||
[XmlAttribute(Namespace = "http://www.w3.org/2001/XMLSchema-instance", AttributeName = "schemaLocation")]
|
||||
#if NET48
|
||||
public string SchemaLocation { get; set; }
|
||||
#else
|
||||
public string? SchemaLocation { get; set; }
|
||||
#endif
|
||||
|
||||
[XmlElement("header")]
|
||||
#if NET48
|
||||
public Header Header { get; set; }
|
||||
#else
|
||||
public Header? Header { get; set; }
|
||||
#endif
|
||||
|
||||
[XmlElement("game", typeof(Game))]
|
||||
[XmlElement("machine", typeof(Machine))]
|
||||
#if NET48
|
||||
public GameBase[] Game { get; set; }
|
||||
#else
|
||||
public GameBase[]? Game { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>RomVault extension</remarks>
|
||||
[XmlElement("dir")]
|
||||
#if NET48
|
||||
public Dir[] Dir { get; set; }
|
||||
#else
|
||||
public Dir[]? Dir { get; set; }
|
||||
#endif
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyAttribute]
|
||||
#if NET48
|
||||
public XmlAttribute[] ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#else
|
||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyElement]
|
||||
#if NET48
|
||||
public object[] ADDITIONAL_ELEMENTS { get; set; }
|
||||
#else
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -1,37 +0,0 @@
|
||||
using System.Xml;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
namespace SabreTools.Models.Logiqx
|
||||
{
|
||||
[XmlRoot("device_ref")]
|
||||
public class DeviceRef
|
||||
{
|
||||
[Required]
|
||||
[XmlAttribute("name")]
|
||||
#if NET48
|
||||
public string Name { get; set; }
|
||||
#else
|
||||
public string? Name { get; set; }
|
||||
#endif
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyAttribute]
|
||||
#if NET48
|
||||
public XmlAttribute[] ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#else
|
||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyElement]
|
||||
#if NET48
|
||||
public object[] ADDITIONAL_ELEMENTS { get; set; }
|
||||
#else
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -1,45 +0,0 @@
|
||||
using System.Xml;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
namespace SabreTools.Models.Logiqx
|
||||
{
|
||||
[XmlRoot("dir")]
|
||||
public class Dir
|
||||
{
|
||||
[Required]
|
||||
[XmlAttribute("name")]
|
||||
#if NET48
|
||||
public string Name { get; set; }
|
||||
#else
|
||||
public string? Name { get; set; }
|
||||
#endif
|
||||
|
||||
[XmlElement("game", typeof(Game))]
|
||||
[XmlElement("machine", typeof(Machine))]
|
||||
#if NET48
|
||||
public GameBase[] Game { get; set; }
|
||||
#else
|
||||
public GameBase[]? Game { get; set; }
|
||||
#endif
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyAttribute]
|
||||
#if NET48
|
||||
public XmlAttribute[] ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#else
|
||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyElement]
|
||||
#if NET48
|
||||
public object[] ADDITIONAL_ELEMENTS { get; set; }
|
||||
#else
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -1,74 +0,0 @@
|
||||
using System.Xml;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
namespace SabreTools.Models.Logiqx
|
||||
{
|
||||
[XmlRoot("disk")]
|
||||
public class Disk
|
||||
{
|
||||
[Required]
|
||||
[XmlAttribute("name")]
|
||||
#if NET48
|
||||
public string Name { get; set; }
|
||||
#else
|
||||
public string? Name { get; set; }
|
||||
#endif
|
||||
|
||||
[XmlAttribute("md5")]
|
||||
#if NET48
|
||||
public string MD5 { get; set; }
|
||||
#else
|
||||
public string? MD5 { get; set; }
|
||||
#endif
|
||||
|
||||
[XmlAttribute("sha1")]
|
||||
#if NET48
|
||||
public string SHA1 { get; set; }
|
||||
#else
|
||||
public string? SHA1 { get; set; }
|
||||
#endif
|
||||
|
||||
[XmlAttribute("merge")]
|
||||
#if NET48
|
||||
public string Merge { get; set; }
|
||||
#else
|
||||
public string? Merge { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>(baddump|nodump|good|verified) "good"</remarks>
|
||||
[XmlAttribute("status")]
|
||||
#if NET48
|
||||
public string Status { get; set; }
|
||||
#else
|
||||
public string? Status { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>MAME extension</remarks>
|
||||
[XmlAttribute("region")]
|
||||
#if NET48
|
||||
public string Region { get; set; }
|
||||
#else
|
||||
public string? Region { get; set; }
|
||||
#endif
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyAttribute]
|
||||
#if NET48
|
||||
public XmlAttribute[] ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#else
|
||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyElement]
|
||||
#if NET48
|
||||
public object[] ADDITIONAL_ELEMENTS { get; set; }
|
||||
#else
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -1,65 +0,0 @@
|
||||
using System.Xml;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
namespace SabreTools.Models.Logiqx
|
||||
{
|
||||
[XmlRoot("media")]
|
||||
public class Media
|
||||
{
|
||||
[Required]
|
||||
[XmlAttribute("name")]
|
||||
#if NET48
|
||||
public string Name { get; set; }
|
||||
#else
|
||||
public string? Name { get; set; }
|
||||
#endif
|
||||
|
||||
[XmlAttribute("md5")]
|
||||
#if NET48
|
||||
public string MD5 { get; set; }
|
||||
#else
|
||||
public string? MD5 { get; set; }
|
||||
#endif
|
||||
|
||||
[XmlAttribute("sha1")]
|
||||
#if NET48
|
||||
public string SHA1 { get; set; }
|
||||
#else
|
||||
public string? SHA1 { get; set; }
|
||||
#endif
|
||||
|
||||
[XmlAttribute("sha256")]
|
||||
#if NET48
|
||||
public string SHA256 { get; set; }
|
||||
#else
|
||||
public string? SHA256 { get; set; }
|
||||
#endif
|
||||
|
||||
[XmlAttribute("spamsum")]
|
||||
#if NET48
|
||||
public string SpamSum { get; set; }
|
||||
#else
|
||||
public string? SpamSum { get; set; }
|
||||
#endif
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyAttribute]
|
||||
#if NET48
|
||||
public XmlAttribute[] ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#else
|
||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyElement]
|
||||
#if NET48
|
||||
public object[] ADDITIONAL_ELEMENTS { get; set; }
|
||||
#else
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -1,67 +0,0 @@
|
||||
using System.Xml;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
namespace SabreTools.Models.Logiqx
|
||||
{
|
||||
[XmlRoot("release")]
|
||||
public class Release
|
||||
{
|
||||
[Required]
|
||||
[XmlAttribute("name")]
|
||||
#if NET48
|
||||
public string Name { get; set; }
|
||||
#else
|
||||
public string? Name { get; set; }
|
||||
#endif
|
||||
|
||||
[Required]
|
||||
[XmlAttribute("region")]
|
||||
#if NET48
|
||||
public string Region { get; set; }
|
||||
#else
|
||||
public string? Region { get; set; }
|
||||
#endif
|
||||
|
||||
[XmlAttribute("language")]
|
||||
#if NET48
|
||||
public string Language { get; set; }
|
||||
#else
|
||||
public string? Language { get; set; }
|
||||
#endif
|
||||
|
||||
[XmlAttribute("date")]
|
||||
#if NET48
|
||||
public string Date { get; set; }
|
||||
#else
|
||||
public string? Date { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>(yes|no) "no"</remarks>
|
||||
[XmlAttribute("default")]
|
||||
#if NET48
|
||||
public string Default { get; set; }
|
||||
#else
|
||||
public string? Default { get; set; }
|
||||
#endif
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyAttribute]
|
||||
#if NET48
|
||||
public XmlAttribute[] ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#else
|
||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyElement]
|
||||
#if NET48
|
||||
public object[] ADDITIONAL_ELEMENTS { get; set; }
|
||||
#else
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -1,37 +0,0 @@
|
||||
using System.Xml;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
namespace SabreTools.Models.Logiqx
|
||||
{
|
||||
[XmlRoot("sample")]
|
||||
public class Sample
|
||||
{
|
||||
[Required]
|
||||
[XmlAttribute("name")]
|
||||
#if NET48
|
||||
public string Name { get; set; }
|
||||
#else
|
||||
public string? Name { get; set; }
|
||||
#endif
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyAttribute]
|
||||
#if NET48
|
||||
public XmlAttribute[] ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#else
|
||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyElement]
|
||||
#if NET48
|
||||
public object[] ADDITIONAL_ELEMENTS { get; set; }
|
||||
#else
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -1,61 +0,0 @@
|
||||
using System.Xml;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
namespace SabreTools.Models.Logiqx
|
||||
{
|
||||
[XmlRoot("softwarelist")]
|
||||
public class SoftwareList
|
||||
{
|
||||
[Required]
|
||||
[XmlAttribute("tag")]
|
||||
#if NET48
|
||||
public string Tag { get; set; }
|
||||
#else
|
||||
public string? Tag { get; set; }
|
||||
#endif
|
||||
|
||||
[Required]
|
||||
[XmlAttribute("name")]
|
||||
#if NET48
|
||||
public string Name { get; set; }
|
||||
#else
|
||||
public string? Name { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>(original|compatible)</remarks>
|
||||
[Required]
|
||||
[XmlAttribute("status")]
|
||||
#if NET48
|
||||
public string Status { get; set; }
|
||||
#else
|
||||
public string? Status { get; set; }
|
||||
#endif
|
||||
|
||||
[XmlAttribute("filter")]
|
||||
#if NET48
|
||||
public string Filter { get; set; }
|
||||
#else
|
||||
public string? Filter { get; set; }
|
||||
#endif
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyAttribute]
|
||||
#if NET48
|
||||
public XmlAttribute[] ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#else
|
||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyElement]
|
||||
#if NET48
|
||||
public object[] ADDITIONAL_ELEMENTS { get; set; }
|
||||
#else
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
128
Logiqx/Trurip.cs
128
Logiqx/Trurip.cs
@@ -1,128 +0,0 @@
|
||||
using System.Xml;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
namespace SabreTools.Models.Logiqx
|
||||
{
|
||||
[XmlRoot("trurip")]
|
||||
public class Trurip
|
||||
{
|
||||
[XmlElement("titleid")]
|
||||
#if NET48
|
||||
public string TitleID { get; set; }
|
||||
#else
|
||||
public string? TitleID { get; set; }
|
||||
#endif
|
||||
|
||||
[XmlElement("publisher")]
|
||||
#if NET48
|
||||
public string Publisher { get; set; }
|
||||
#else
|
||||
public string? Publisher { get; set; }
|
||||
#endif
|
||||
|
||||
[XmlElement("developer")]
|
||||
#if NET48
|
||||
public string Developer { get; set; }
|
||||
#else
|
||||
public string? Developer { get; set; }
|
||||
#endif
|
||||
|
||||
[XmlElement("year")]
|
||||
#if NET48
|
||||
public string Year { get; set; }
|
||||
#else
|
||||
public string? Year { get; set; }
|
||||
#endif
|
||||
|
||||
[XmlElement("genre")]
|
||||
#if NET48
|
||||
public string Genre { get; set; }
|
||||
#else
|
||||
public string? Genre { get; set; }
|
||||
#endif
|
||||
|
||||
[XmlElement("subgenre")]
|
||||
#if NET48
|
||||
public string Subgenre { get; set; }
|
||||
#else
|
||||
public string? Subgenre { get; set; }
|
||||
#endif
|
||||
|
||||
[XmlElement("ratings")]
|
||||
#if NET48
|
||||
public string Ratings { get; set; }
|
||||
#else
|
||||
public string? Ratings { get; set; }
|
||||
#endif
|
||||
|
||||
[XmlElement("score")]
|
||||
#if NET48
|
||||
public string Score { get; set; }
|
||||
#else
|
||||
public string? Score { get; set; }
|
||||
#endif
|
||||
|
||||
[XmlElement("players")]
|
||||
#if NET48
|
||||
public string Players { get; set; }
|
||||
#else
|
||||
public string? Players { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>Boolean?</remarks>
|
||||
[XmlElement("enabled")]
|
||||
#if NET48
|
||||
public string Enabled { get; set; }
|
||||
#else
|
||||
public string? Enabled { get; set; }
|
||||
#endif
|
||||
|
||||
[XmlElement("crc")]
|
||||
#if NET48
|
||||
public string CRC { get; set; }
|
||||
#else
|
||||
public string? CRC { get; set; }
|
||||
#endif
|
||||
|
||||
[XmlElement("source")]
|
||||
#if NET48
|
||||
public string Source { get; set; }
|
||||
#else
|
||||
public string? Source { get; set; }
|
||||
#endif
|
||||
|
||||
[XmlElement("cloneof")]
|
||||
#if NET48
|
||||
public string CloneOf { get; set; }
|
||||
#else
|
||||
public string? CloneOf { get; set; }
|
||||
#endif
|
||||
|
||||
[XmlElement("relatedto")]
|
||||
#if NET48
|
||||
public string RelatedTo { get; set; }
|
||||
#else
|
||||
public string? RelatedTo { get; set; }
|
||||
#endif
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyAttribute]
|
||||
#if NET48
|
||||
public XmlAttribute[] ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#else
|
||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyElement]
|
||||
#if NET48
|
||||
public object[] ADDITIONAL_ELEMENTS { get; set; }
|
||||
#else
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -1,33 +0,0 @@
|
||||
namespace SabreTools.Models.N3DS
|
||||
{
|
||||
/// <see href="https://www.3dbrew.org/wiki/NCCH/Extended_Header#Access_Control_Info"/>
|
||||
public sealed class AccessControlInfo
|
||||
{
|
||||
/// <summary>
|
||||
/// ARM11 local system capabilities
|
||||
/// </summary>
|
||||
#if NET48
|
||||
public ARM11LocalSystemCapabilities ARM11LocalSystemCapabilities { get; set; }
|
||||
#else
|
||||
public ARM11LocalSystemCapabilities? ARM11LocalSystemCapabilities { get; set; }
|
||||
#endif
|
||||
|
||||
/// <summary>
|
||||
/// ARM11 kernel capabilities
|
||||
/// </summary>
|
||||
#if NET48
|
||||
public ARM11KernelCapabilities ARM11KernelCapabilities { get; set; }
|
||||
#else
|
||||
public ARM11KernelCapabilities? ARM11KernelCapabilities { get; set; }
|
||||
#endif
|
||||
|
||||
/// <summary>
|
||||
/// ARM9 access control
|
||||
/// </summary>
|
||||
#if NET48
|
||||
public ARM9AccessControl ARM9AccessControl { get; set; }
|
||||
#else
|
||||
public ARM9AccessControl? ARM9AccessControl { get; set; }
|
||||
#endif
|
||||
}
|
||||
}
|
||||
@@ -1,81 +0,0 @@
|
||||
namespace SabreTools.Models.N3DS
|
||||
{
|
||||
/// <see href="https://www.3dbrew.org/wiki/NCSD#Card_Info_Header"/>
|
||||
public sealed class CardInfoHeader
|
||||
{
|
||||
/// <summary>
|
||||
/// CARD2: Writable Address In Media Units (For 'On-Chip' Savedata). CARD1: Always 0xFFFFFFFF.
|
||||
/// </summary>
|
||||
public uint WritableAddressMediaUnits { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Card Info Bitmask
|
||||
/// </summary>
|
||||
public uint CardInfoBitmask { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Reserved
|
||||
/// </summary>
|
||||
#if NET48
|
||||
public byte[] Reserved1 { get; set; }
|
||||
#else
|
||||
public byte[]? Reserved1 { get; set; }
|
||||
#endif
|
||||
|
||||
/// <summary>
|
||||
/// Filled size of cartridge
|
||||
/// </summary>
|
||||
public uint FilledSize { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Reserved
|
||||
/// </summary>
|
||||
#if NET48
|
||||
public byte[] Reserved2 { get; set; }
|
||||
#else
|
||||
public byte[]? Reserved2 { get; set; }
|
||||
#endif
|
||||
|
||||
/// <summary>
|
||||
/// Title version
|
||||
/// </summary>
|
||||
public ushort TitleVersion { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Card revision
|
||||
/// </summary>
|
||||
public ushort CardRevision { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Reserved
|
||||
/// </summary>
|
||||
#if NET48
|
||||
public byte[] Reserved3 { get; set; }
|
||||
#else
|
||||
public byte[]? Reserved3 { get; set; }
|
||||
#endif
|
||||
|
||||
/// <summary>
|
||||
/// Title ID of CVer in included update partition
|
||||
/// </summary>
|
||||
#if NET48
|
||||
public byte[] CVerTitleID { get; set; }
|
||||
#else
|
||||
public byte[]? CVerTitleID { get; set; }
|
||||
#endif
|
||||
|
||||
/// <summary>
|
||||
/// Version number of CVer in included update partition
|
||||
/// </summary>
|
||||
public ushort CVerVersionNumber { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Reserved
|
||||
/// </summary>
|
||||
#if NET48
|
||||
public byte[] Reserved4 { get; set; }
|
||||
#else
|
||||
public byte[]? Reserved4 { get; set; }
|
||||
#endif
|
||||
}
|
||||
}
|
||||
@@ -1,51 +0,0 @@
|
||||
namespace SabreTools.Models.N3DS
|
||||
{
|
||||
/// <see href="https://www.3dbrew.org/wiki/NCSD#Development_Card_Info_Header_Extension"/>
|
||||
public sealed class DevelopmentCardInfoHeader
|
||||
{
|
||||
/// <summary>
|
||||
/// InitialData
|
||||
/// </summary>
|
||||
#if NET48
|
||||
public InitialData InitialData { get; set; }
|
||||
#else
|
||||
public InitialData? InitialData { get; set; }
|
||||
#endif
|
||||
|
||||
/// <summary>
|
||||
/// CardDeviceReserved1
|
||||
/// </summary>
|
||||
#if NET48
|
||||
public byte[] CardDeviceReserved1 { get; set; }
|
||||
#else
|
||||
public byte[]? CardDeviceReserved1 { get; set; }
|
||||
#endif
|
||||
|
||||
/// <summary>
|
||||
/// TitleKey
|
||||
/// </summary>
|
||||
#if NET48
|
||||
public byte[] TitleKey { get; set; }
|
||||
#else
|
||||
public byte[]? TitleKey { get; set; }
|
||||
#endif
|
||||
|
||||
/// <summary>
|
||||
/// CardDeviceReserved2
|
||||
/// </summary>
|
||||
#if NET48
|
||||
public byte[] CardDeviceReserved2 { get; set; }
|
||||
#else
|
||||
public byte[]? CardDeviceReserved2 { get; set; }
|
||||
#endif
|
||||
|
||||
/// <summary>
|
||||
/// TestData
|
||||
/// </summary>
|
||||
#if NET48
|
||||
public TestData TestData { get; set; }
|
||||
#else
|
||||
public TestData? TestData { get; set; }
|
||||
#endif
|
||||
}
|
||||
}
|
||||
@@ -1,60 +0,0 @@
|
||||
namespace SabreTools.Models.N3DS
|
||||
{
|
||||
/// <see href="https://www.3dbrew.org/wiki/NCSD#InitialData"/>
|
||||
public sealed class InitialData
|
||||
{
|
||||
/// <summary>
|
||||
/// Card seed keyY (first u64 is Media ID (same as first NCCH partitionId))
|
||||
/// </summary>
|
||||
#if NET48
|
||||
public byte[] CardSeedKeyY { get; set; }
|
||||
#else
|
||||
public byte[]? CardSeedKeyY { get; set; }
|
||||
#endif
|
||||
|
||||
/// <summary>
|
||||
/// Encrypted card seed (AES-CCM, keyslot 0x3B for retail cards, see CTRCARD_SECSEED)
|
||||
/// </summary>
|
||||
#if NET48
|
||||
public byte[] EncryptedCardSeed { get; set; }
|
||||
#else
|
||||
public byte[]? EncryptedCardSeed { get; set; }
|
||||
#endif
|
||||
|
||||
/// <summary>
|
||||
/// Card seed AES-MAC
|
||||
/// </summary>
|
||||
#if NET48
|
||||
public byte[] CardSeedAESMAC { get; set; }
|
||||
#else
|
||||
public byte[]? CardSeedAESMAC { get; set; }
|
||||
#endif
|
||||
|
||||
/// <summary>
|
||||
/// Card seed nonce
|
||||
/// </summary>
|
||||
#if NET48
|
||||
public byte[] CardSeedNonce { get; set; }
|
||||
#else
|
||||
public byte[]? CardSeedNonce { get; set; }
|
||||
#endif
|
||||
|
||||
/// <summary>
|
||||
/// Reserved3
|
||||
/// </summary>
|
||||
#if NET48
|
||||
public byte[] Reserved { get; set; }
|
||||
#else
|
||||
public byte[]? Reserved { get; set; }
|
||||
#endif
|
||||
|
||||
/// <summary>
|
||||
/// Copy of first NCCH header (excluding RSA signature)
|
||||
/// </summary>
|
||||
#if NET48
|
||||
public NCCHHeader BackupHeader { get; set; }
|
||||
#else
|
||||
public NCCHHeader? BackupHeader { get; set; }
|
||||
#endif
|
||||
}
|
||||
}
|
||||
@@ -1,48 +0,0 @@
|
||||
namespace SabreTools.Models.N3DS
|
||||
{
|
||||
/// <see href="https://www.3dbrew.org/wiki/CIA#Meta"/>
|
||||
public sealed class MetaData
|
||||
{
|
||||
/// <summary>
|
||||
/// Title ID dependency list - Taken from the application's ExHeader
|
||||
/// </summary>
|
||||
/// TODO: Determine numeric format of each entry
|
||||
#if NET48
|
||||
public byte[] TitleIDDependencyList { get; set; }
|
||||
#else
|
||||
public byte[]? TitleIDDependencyList { get; set; }
|
||||
#endif
|
||||
|
||||
/// <summary>
|
||||
/// Reserved
|
||||
/// </summary>
|
||||
#if NET48
|
||||
public byte[] Reserved1 { get; set; }
|
||||
#else
|
||||
public byte[]? Reserved1 { get; set; }
|
||||
#endif
|
||||
|
||||
/// <summary>
|
||||
/// Core Version
|
||||
/// </summary>
|
||||
public uint CoreVersion { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Reserved
|
||||
/// </summary>
|
||||
#if NET48
|
||||
public byte[] Reserved2 { get; set; }
|
||||
#else
|
||||
public byte[]? Reserved2 { get; set; }
|
||||
#endif
|
||||
|
||||
/// <summary>
|
||||
/// Icon Data(.ICN) - Taken from the application's ExeFS
|
||||
/// </summary>
|
||||
#if NET48
|
||||
public byte[] IconData { get; set; }
|
||||
#else
|
||||
public byte[]? IconData { get; set; }
|
||||
#endif
|
||||
}
|
||||
}
|
||||
@@ -1,98 +0,0 @@
|
||||
namespace SabreTools.Models.N3DS
|
||||
{
|
||||
/// <see href="https://www.3dbrew.org/wiki/NCCH/Extended_Header#System_Control_Info"/>
|
||||
public sealed class SystemControlInfo
|
||||
{
|
||||
/// <summary>
|
||||
/// Application title (default is "CtrApp")
|
||||
/// </summary>
|
||||
#if NET48
|
||||
public string ApplicationTitle { get; set; }
|
||||
#else
|
||||
public string? ApplicationTitle { get; set; }
|
||||
#endif
|
||||
|
||||
/// <summary>
|
||||
/// Reserved
|
||||
/// </summary>
|
||||
#if NET48
|
||||
public byte[] Reserved1 { get; set; }
|
||||
#else
|
||||
public byte[]? Reserved1 { get; set; }
|
||||
#endif
|
||||
|
||||
/// <summary>
|
||||
/// Flag (bit 0: CompressExefsCode, bit 1: SDApplication)
|
||||
/// </summary>
|
||||
public byte Flag { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Remaster version
|
||||
/// </summary>
|
||||
public ushort RemasterVersion { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Text code set info
|
||||
/// </summary>
|
||||
#if NET48
|
||||
public CodeSetInfo TextCodeSetInfo { get; set; }
|
||||
#else
|
||||
public CodeSetInfo? TextCodeSetInfo { get; set; }
|
||||
#endif
|
||||
|
||||
/// <summary>
|
||||
/// Stack size
|
||||
/// </summary>
|
||||
public uint StackSize { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Read-only code set info
|
||||
/// </summary>
|
||||
#if NET48
|
||||
public CodeSetInfo ReadOnlyCodeSetInfo { get; set; }
|
||||
#else
|
||||
public CodeSetInfo? ReadOnlyCodeSetInfo { get; set; }
|
||||
#endif
|
||||
|
||||
/// <summary>
|
||||
/// Reserved
|
||||
/// </summary>
|
||||
#if NET48
|
||||
public byte[] Reserved2 { get; set; }
|
||||
#else
|
||||
public byte[]? Reserved2 { get; set; }
|
||||
#endif
|
||||
|
||||
/// <summary>
|
||||
/// Data code set info
|
||||
/// </summary>
|
||||
#if NET48
|
||||
public CodeSetInfo DataCodeSetInfo { get; set; }
|
||||
#else
|
||||
public CodeSetInfo? DataCodeSetInfo { get; set; }
|
||||
#endif
|
||||
|
||||
/// <summary>
|
||||
/// BSS size
|
||||
/// </summary>
|
||||
public uint BSSSize { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Dependency module (program ID) list
|
||||
/// </summary>
|
||||
#if NET48
|
||||
public ulong[] DependencyModuleList { get; set; }
|
||||
#else
|
||||
public ulong[]? DependencyModuleList { get; set; }
|
||||
#endif
|
||||
|
||||
/// <summary>
|
||||
/// SystemInfo
|
||||
/// </summary>
|
||||
#if NET48
|
||||
public SystemInfo SystemInfo { get; set; }
|
||||
#else
|
||||
public SystemInfo? SystemInfo { get; set; }
|
||||
#endif
|
||||
}
|
||||
}
|
||||
@@ -1,95 +0,0 @@
|
||||
namespace SabreTools.Models.N3DS
|
||||
{
|
||||
/// <summary>
|
||||
/// The test data is the same one encountered in development DS/DSi cartridges.
|
||||
/// </summary>
|
||||
/// <see href="https://www.3dbrew.org/wiki/NCSD#TestData"/>
|
||||
public sealed class TestData
|
||||
{
|
||||
/// <summary>
|
||||
/// The bytes FF 00 FF 00 AA 55 AA 55.
|
||||
/// </summary>
|
||||
#if NET48
|
||||
public byte[] Signature { get; set; }
|
||||
#else
|
||||
public byte[]? Signature { get; set; }
|
||||
#endif
|
||||
|
||||
/// <summary>
|
||||
/// An ascending byte sequence equal to the offset mod 256 (08 09 0A ... FE FF 00 01 ... FF).
|
||||
/// </summary>
|
||||
#if NET48
|
||||
public byte[] AscendingByteSequence { get; set; }
|
||||
#else
|
||||
public byte[]? AscendingByteSequence { get; set; }
|
||||
#endif
|
||||
|
||||
/// <summary>
|
||||
/// A descending byte sequence equal to 255 minus the offset mod 256 (FF FE FD ... 00 FF DE ... 00).
|
||||
/// </summary>
|
||||
#if NET48
|
||||
public byte[] DescendingByteSequence { get; set; }
|
||||
#else
|
||||
public byte[]? DescendingByteSequence { get; set; }
|
||||
#endif
|
||||
|
||||
/// <summary>
|
||||
/// Filled with 00 (0b00000000) bytes.
|
||||
/// </summary>
|
||||
#if NET48
|
||||
public byte[] Filled00 { get; set; }
|
||||
#else
|
||||
public byte[]? Filled00 { get; set; }
|
||||
#endif
|
||||
|
||||
/// <summary>
|
||||
/// Filled with FF (0b11111111) bytes.
|
||||
/// </summary>
|
||||
#if NET48
|
||||
public byte[] FilledFF { get; set; }
|
||||
#else
|
||||
public byte[]? FilledFF { get; set; }
|
||||
#endif
|
||||
|
||||
/// <summary>
|
||||
/// Filled with 0F (0b00001111) bytes.
|
||||
/// </summary>
|
||||
#if NET48
|
||||
public byte[] Filled0F { get; set; }
|
||||
#else
|
||||
public byte[]? Filled0F { get; set; }
|
||||
#endif
|
||||
|
||||
/// <summary>
|
||||
/// Filled with F0 (0b11110000) bytes.
|
||||
/// </summary>
|
||||
#if NET48
|
||||
public byte[] FilledF0 { get; set; }
|
||||
#else
|
||||
public byte[]? FilledF0 { get; set; }
|
||||
#endif
|
||||
|
||||
/// <summary>
|
||||
/// Filled with 55 (0b01010101) bytes.
|
||||
/// </summary>
|
||||
#if NET48
|
||||
public byte[] Filled55 { get; set; }
|
||||
#else
|
||||
public byte[]? Filled55 { get; set; }
|
||||
#endif
|
||||
|
||||
/// <summary>
|
||||
/// Filled with AA (0b10101010) bytes.
|
||||
/// </summary>
|
||||
#if NET48
|
||||
public byte[] FilledAA { get; set; }
|
||||
#else
|
||||
public byte[]? FilledAA { get; set; }
|
||||
#endif
|
||||
|
||||
/// <summary>
|
||||
/// The final byte is 00 (0b00000000).
|
||||
/// </summary>
|
||||
public byte FinalByte { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -1,36 +0,0 @@
|
||||
using System.Xml;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
namespace SabreTools.Models.OfflineList
|
||||
{
|
||||
[XmlRoot("canOpen")]
|
||||
public class CanOpen
|
||||
{
|
||||
[XmlElement("extension")]
|
||||
#if NET48
|
||||
public string[] Extension { get; set; }
|
||||
#else
|
||||
public string[]? Extension { get; set; }
|
||||
#endif
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyAttribute]
|
||||
#if NET48
|
||||
public XmlAttribute[] ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#else
|
||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyElement]
|
||||
#if NET48
|
||||
public object[] ADDITIONAL_ELEMENTS { get; set; }
|
||||
#else
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -1,108 +0,0 @@
|
||||
using System.Xml;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
namespace SabreTools.Models.OfflineList
|
||||
{
|
||||
[XmlRoot("configuration")]
|
||||
public class Configuration
|
||||
{
|
||||
[XmlElement("datName")]
|
||||
#if NET48
|
||||
public string DatName { get; set; }
|
||||
#else
|
||||
public string? DatName { get; set; }
|
||||
#endif
|
||||
|
||||
[XmlElement("imFolder")]
|
||||
#if NET48
|
||||
public string ImFolder { get; set; }
|
||||
#else
|
||||
public string? ImFolder { get; set; }
|
||||
#endif
|
||||
|
||||
[XmlElement("datVersion")]
|
||||
#if NET48
|
||||
public string DatVersion { get; set; }
|
||||
#else
|
||||
public string? DatVersion { get; set; }
|
||||
#endif
|
||||
|
||||
[XmlElement("system")]
|
||||
#if NET48
|
||||
public string System { get; set; }
|
||||
#else
|
||||
public string? System { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>Numeric?</remarks>
|
||||
[XmlElement("screenshotsWidth")]
|
||||
#if NET48
|
||||
public string ScreenshotsWidth { get; set; }
|
||||
#else
|
||||
public string? ScreenshotsWidth { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>Numeric?</remarks>
|
||||
[XmlElement("screenshotsHeight")]
|
||||
#if NET48
|
||||
public string ScreenshotsHeight { get; set; }
|
||||
#else
|
||||
public string? ScreenshotsHeight { get; set; }
|
||||
#endif
|
||||
|
||||
[XmlElement("infos")]
|
||||
#if NET48
|
||||
public Infos Infos { get; set; }
|
||||
#else
|
||||
public Infos? Infos { get; set; }
|
||||
#endif
|
||||
|
||||
[XmlElement("canOpen")]
|
||||
#if NET48
|
||||
public CanOpen CanOpen { get; set; }
|
||||
#else
|
||||
public CanOpen? CanOpen { get; set; }
|
||||
#endif
|
||||
|
||||
[XmlElement("newDat")]
|
||||
#if NET48
|
||||
public NewDat NewDat { get; set; }
|
||||
#else
|
||||
public NewDat? NewDat { get; set; }
|
||||
#endif
|
||||
|
||||
[XmlElement("search")]
|
||||
#if NET48
|
||||
public Search Search { get; set; }
|
||||
#else
|
||||
public Search? Search { get; set; }
|
||||
#endif
|
||||
|
||||
[XmlElement("romTitle")]
|
||||
#if NET48
|
||||
public string RomTitle { get; set; }
|
||||
#else
|
||||
public string? RomTitle { get; set; }
|
||||
#endif
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyAttribute]
|
||||
#if NET48
|
||||
public XmlAttribute[] ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#else
|
||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyElement]
|
||||
#if NET48
|
||||
public object[] ADDITIONAL_ELEMENTS { get; set; }
|
||||
#else
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -1,57 +0,0 @@
|
||||
using System.Xml;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
namespace SabreTools.Models.OfflineList
|
||||
{
|
||||
[XmlRoot("dat")]
|
||||
public class Dat
|
||||
{
|
||||
[XmlAttribute(Namespace = "http://www.w3.org/2001/XMLSchema-instance", AttributeName = "noNamespaceSchemaLocation")]
|
||||
#if NET48
|
||||
public string NoNamespaceSchemaLocation { get; set; }
|
||||
#else
|
||||
public string? NoNamespaceSchemaLocation { get; set; }
|
||||
#endif
|
||||
|
||||
[XmlElement("configuration")]
|
||||
#if NET48
|
||||
public Configuration Configuration { get; set; }
|
||||
#else
|
||||
public Configuration? Configuration { get; set; }
|
||||
#endif
|
||||
|
||||
[XmlElement("games")]
|
||||
#if NET48
|
||||
public Games Games { get; set; }
|
||||
#else
|
||||
public Games? Games { get; set; }
|
||||
#endif
|
||||
|
||||
[XmlElement("gui")]
|
||||
#if NET48
|
||||
public GUI GUI { get; set; }
|
||||
#else
|
||||
public GUI? GUI { get; set; }
|
||||
#endif
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyAttribute]
|
||||
#if NET48
|
||||
public XmlAttribute[] ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#else
|
||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyElement]
|
||||
#if NET48
|
||||
public object[] ADDITIONAL_ELEMENTS { get; set; }
|
||||
#else
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -1,43 +0,0 @@
|
||||
using System.Xml;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
namespace SabreTools.Models.OfflineList
|
||||
{
|
||||
[XmlRoot("datURL")]
|
||||
public class DatUrl
|
||||
{
|
||||
[XmlAttribute("fileName")]
|
||||
#if NET48
|
||||
public string FileName { get; set; }
|
||||
#else
|
||||
public string? FileName { get; set; }
|
||||
#endif
|
||||
|
||||
[XmlText]
|
||||
#if NET48
|
||||
public string Content { get; set; }
|
||||
#else
|
||||
public string? Content { get; set; }
|
||||
#endif
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyAttribute]
|
||||
#if NET48
|
||||
public XmlAttribute[] ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#else
|
||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyElement]
|
||||
#if NET48
|
||||
public object[] ADDITIONAL_ELEMENTS { get; set; }
|
||||
#else
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -1,43 +0,0 @@
|
||||
using System.Xml;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
namespace SabreTools.Models.OfflineList
|
||||
{
|
||||
[XmlRoot("romCRC")]
|
||||
public class FileRomCRC
|
||||
{
|
||||
[XmlAttribute("extension")]
|
||||
#if NET48
|
||||
public string Extension { get; set; }
|
||||
#else
|
||||
public string? Extension { get; set; }
|
||||
#endif
|
||||
|
||||
[XmlText]
|
||||
#if NET48
|
||||
public string Content { get; set; }
|
||||
#else
|
||||
public string? Content { get; set; }
|
||||
#endif
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyAttribute]
|
||||
#if NET48
|
||||
public XmlAttribute[] ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#else
|
||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyElement]
|
||||
#if NET48
|
||||
public object[] ADDITIONAL_ELEMENTS { get; set; }
|
||||
#else
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -1,36 +0,0 @@
|
||||
using System.Xml;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
namespace SabreTools.Models.OfflineList
|
||||
{
|
||||
[XmlRoot("files")]
|
||||
public class Files
|
||||
{
|
||||
[XmlElement("romCRC")]
|
||||
#if NET48
|
||||
public FileRomCRC[] RomCRC { get; set; }
|
||||
#else
|
||||
public FileRomCRC[]? RomCRC { get; set; }
|
||||
#endif
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyAttribute]
|
||||
#if NET48
|
||||
public XmlAttribute[] ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#else
|
||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyElement]
|
||||
#if NET48
|
||||
public object[] ADDITIONAL_ELEMENTS { get; set; }
|
||||
#else
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -1,51 +0,0 @@
|
||||
using System.Xml;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
namespace SabreTools.Models.OfflineList
|
||||
{
|
||||
[XmlRoot("find")]
|
||||
public class Find
|
||||
{
|
||||
[XmlAttribute("operation")]
|
||||
#if NET48
|
||||
public string Operation { get; set; }
|
||||
#else
|
||||
public string? Operation { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>Numeric?</remarks>
|
||||
[XmlAttribute("value")]
|
||||
#if NET48
|
||||
public string Value { get; set; }
|
||||
#else
|
||||
public string? Value { get; set; }
|
||||
#endif
|
||||
|
||||
[XmlText]
|
||||
#if NET48
|
||||
public string Content { get; set; }
|
||||
#else
|
||||
public string? Content { get; set; }
|
||||
#endif
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyAttribute]
|
||||
#if NET48
|
||||
public XmlAttribute[] ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#else
|
||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyElement]
|
||||
#if NET48
|
||||
public object[] ADDITIONAL_ELEMENTS { get; set; }
|
||||
#else
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -1,36 +0,0 @@
|
||||
using System.Xml;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
namespace SabreTools.Models.OfflineList
|
||||
{
|
||||
[XmlRoot("gui")]
|
||||
public class GUI
|
||||
{
|
||||
[XmlElement("images")]
|
||||
#if NET48
|
||||
public Images Images { get; set; }
|
||||
#else
|
||||
public Images? Images { get; set; }
|
||||
#endif
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyAttribute]
|
||||
#if NET48
|
||||
public XmlAttribute[] ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#else
|
||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyElement]
|
||||
#if NET48
|
||||
public object[] ADDITIONAL_ELEMENTS { get; set; }
|
||||
#else
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -1,128 +0,0 @@
|
||||
using System.Xml;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
namespace SabreTools.Models.OfflineList
|
||||
{
|
||||
[XmlRoot("game")]
|
||||
public class Game
|
||||
{
|
||||
[XmlElement("imageNumber")]
|
||||
#if NET48
|
||||
public string ImageNumber { get; set; }
|
||||
#else
|
||||
public string? ImageNumber { get; set; }
|
||||
#endif
|
||||
|
||||
[XmlElement("releaseNumber")]
|
||||
#if NET48
|
||||
public string ReleaseNumber { get; set; }
|
||||
#else
|
||||
public string? ReleaseNumber { get; set; }
|
||||
#endif
|
||||
|
||||
[XmlElement("title")]
|
||||
#if NET48
|
||||
public string Title { get; set; }
|
||||
#else
|
||||
public string? Title { get; set; }
|
||||
#endif
|
||||
|
||||
[XmlElement("saveType")]
|
||||
#if NET48
|
||||
public string SaveType { get; set; }
|
||||
#else
|
||||
public string? SaveType { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>Numeric</remarks>
|
||||
[XmlElement("romSize")]
|
||||
#if NET48
|
||||
public string RomSize { get; set; }
|
||||
#else
|
||||
public string? RomSize { get; set; }
|
||||
#endif
|
||||
|
||||
[XmlElement("publisher")]
|
||||
#if NET48
|
||||
public string Publisher { get; set; }
|
||||
#else
|
||||
public string? Publisher { get; set; }
|
||||
#endif
|
||||
|
||||
[XmlElement("location")]
|
||||
#if NET48
|
||||
public string Location { get; set; }
|
||||
#else
|
||||
public string? Location { get; set; }
|
||||
#endif
|
||||
|
||||
[XmlElement("sourceRom")]
|
||||
#if NET48
|
||||
public string SourceRom { get; set; }
|
||||
#else
|
||||
public string? SourceRom { get; set; }
|
||||
#endif
|
||||
|
||||
[XmlElement("language")]
|
||||
#if NET48
|
||||
public string Language { get; set; }
|
||||
#else
|
||||
public string? Language { get; set; }
|
||||
#endif
|
||||
|
||||
[XmlElement("files")]
|
||||
#if NET48
|
||||
public Files Files { get; set; }
|
||||
#else
|
||||
public Files? Files { get; set; }
|
||||
#endif
|
||||
|
||||
[XmlElement("im1CRC")]
|
||||
#if NET48
|
||||
public string Im1CRC { get; set; }
|
||||
#else
|
||||
public string? Im1CRC { get; set; }
|
||||
#endif
|
||||
|
||||
[XmlElement("im2CRC")]
|
||||
#if NET48
|
||||
public string Im2CRC { get; set; }
|
||||
#else
|
||||
public string? Im2CRC { get; set; }
|
||||
#endif
|
||||
|
||||
[XmlElement("comment")]
|
||||
#if NET48
|
||||
public string Comment { get; set; }
|
||||
#else
|
||||
public string? Comment { get; set; }
|
||||
#endif
|
||||
|
||||
[XmlElement("duplicateID")]
|
||||
#if NET48
|
||||
public string DuplicateID { get; set; }
|
||||
#else
|
||||
public string? DuplicateID { get; set; }
|
||||
#endif
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyAttribute]
|
||||
#if NET48
|
||||
public XmlAttribute[] ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#else
|
||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyElement]
|
||||
#if NET48
|
||||
public object[] ADDITIONAL_ELEMENTS { get; set; }
|
||||
#else
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -1,36 +0,0 @@
|
||||
using System.Xml;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
namespace SabreTools.Models.OfflineList
|
||||
{
|
||||
[XmlRoot("games")]
|
||||
public class Games
|
||||
{
|
||||
[XmlElement("game")]
|
||||
#if NET48
|
||||
public Game[] Game { get; set; }
|
||||
#else
|
||||
public Game[]? Game { get; set; }
|
||||
#endif
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyAttribute]
|
||||
#if NET48
|
||||
public XmlAttribute[] ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#else
|
||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyElement]
|
||||
#if NET48
|
||||
public object[] ADDITIONAL_ELEMENTS { get; set; }
|
||||
#else
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -1,57 +0,0 @@
|
||||
using System.Xml;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
namespace SabreTools.Models.OfflineList
|
||||
{
|
||||
[XmlRoot("image")]
|
||||
public class Image
|
||||
{
|
||||
[XmlAttribute("x")]
|
||||
#if NET48
|
||||
public string X { get; set; }
|
||||
#else
|
||||
public string? X { get; set; }
|
||||
#endif
|
||||
|
||||
[XmlAttribute("y")]
|
||||
#if NET48
|
||||
public string Y { get; set; }
|
||||
#else
|
||||
public string? Y { get; set; }
|
||||
#endif
|
||||
|
||||
[XmlAttribute("width")]
|
||||
#if NET48
|
||||
public string Width { get; set; }
|
||||
#else
|
||||
public string? Width { get; set; }
|
||||
#endif
|
||||
|
||||
[XmlAttribute("height")]
|
||||
#if NET48
|
||||
public string Height { get; set; }
|
||||
#else
|
||||
public string? Height { get; set; }
|
||||
#endif
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyAttribute]
|
||||
#if NET48
|
||||
public XmlAttribute[] ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#else
|
||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyElement]
|
||||
#if NET48
|
||||
public object[] ADDITIONAL_ELEMENTS { get; set; }
|
||||
#else
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -1,50 +0,0 @@
|
||||
using System.Xml;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
namespace SabreTools.Models.OfflineList
|
||||
{
|
||||
[XmlRoot("images")]
|
||||
public class Images
|
||||
{
|
||||
[XmlAttribute("width")]
|
||||
#if NET48
|
||||
public string Width { get; set; }
|
||||
#else
|
||||
public string? Width { get; set; }
|
||||
#endif
|
||||
|
||||
[XmlAttribute("height")]
|
||||
#if NET48
|
||||
public string Height { get; set; }
|
||||
#else
|
||||
public string? Height { get; set; }
|
||||
#endif
|
||||
|
||||
[XmlElement("image")]
|
||||
#if NET48
|
||||
public Image[] Image { get; set; }
|
||||
#else
|
||||
public Image[]? Image { get; set; }
|
||||
#endif
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyAttribute]
|
||||
#if NET48
|
||||
public XmlAttribute[] ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#else
|
||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyElement]
|
||||
#if NET48
|
||||
public object[] ADDITIONAL_ELEMENTS { get; set; }
|
||||
#else
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -1,120 +0,0 @@
|
||||
using System.Xml;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
namespace SabreTools.Models.OfflineList
|
||||
{
|
||||
[XmlRoot("infos")]
|
||||
public class Infos
|
||||
{
|
||||
[XmlElement("title")]
|
||||
#if NET48
|
||||
public Title Title { get; set; }
|
||||
#else
|
||||
public Title? Title { get; set; }
|
||||
#endif
|
||||
|
||||
[XmlElement("location")]
|
||||
#if NET48
|
||||
public Location Location { get; set; }
|
||||
#else
|
||||
public Location? Location { get; set; }
|
||||
#endif
|
||||
|
||||
[XmlElement("publisher")]
|
||||
#if NET48
|
||||
public Publisher Publisher { get; set; }
|
||||
#else
|
||||
public Publisher? Publisher { get; set; }
|
||||
#endif
|
||||
|
||||
[XmlElement("sourceRom")]
|
||||
#if NET48
|
||||
public SourceRom SourceRom { get; set; }
|
||||
#else
|
||||
public SourceRom? SourceRom { get; set; }
|
||||
#endif
|
||||
|
||||
[XmlElement("saveType")]
|
||||
#if NET48
|
||||
public SaveType SaveType { get; set; }
|
||||
#else
|
||||
public SaveType? SaveType { get; set; }
|
||||
#endif
|
||||
|
||||
[XmlElement("romSize")]
|
||||
#if NET48
|
||||
public RomSize RomSize { get; set; }
|
||||
#else
|
||||
public RomSize? RomSize { get; set; }
|
||||
#endif
|
||||
|
||||
[XmlElement("releaseNumber")]
|
||||
#if NET48
|
||||
public ReleaseNumber ReleaseNumber { get; set; }
|
||||
#else
|
||||
public ReleaseNumber? ReleaseNumber { get; set; }
|
||||
#endif
|
||||
|
||||
[XmlElement("languageNumber")]
|
||||
#if NET48
|
||||
public LanguageNumber LanguageNumber { get; set; }
|
||||
#else
|
||||
public LanguageNumber? LanguageNumber { get; set; }
|
||||
#endif
|
||||
|
||||
[XmlElement("comment")]
|
||||
#if NET48
|
||||
public Comment Comment { get; set; }
|
||||
#else
|
||||
public Comment? Comment { get; set; }
|
||||
#endif
|
||||
|
||||
[XmlElement("romCRC")]
|
||||
#if NET48
|
||||
public RomCRC RomCRC { get; set; }
|
||||
#else
|
||||
public RomCRC? RomCRC { get; set; }
|
||||
#endif
|
||||
|
||||
[XmlElement("im1CRC")]
|
||||
#if NET48
|
||||
public Im1CRC Im1CRC { get; set; }
|
||||
#else
|
||||
public Im1CRC? Im1CRC { get; set; }
|
||||
#endif
|
||||
|
||||
[XmlElement("im2CRC")]
|
||||
#if NET48
|
||||
public Im2CRC Im2CRC { get; set; }
|
||||
#else
|
||||
public Im2CRC? Im2CRC { get; set; }
|
||||
#endif
|
||||
|
||||
[XmlElement("languages")]
|
||||
#if NET48
|
||||
public Languages Languages { get; set; }
|
||||
#else
|
||||
public Languages? Languages { get; set; }
|
||||
#endif
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyAttribute]
|
||||
#if NET48
|
||||
public XmlAttribute[] ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#else
|
||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyElement]
|
||||
#if NET48
|
||||
public object[] ADDITIONAL_ELEMENTS { get; set; }
|
||||
#else
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -1,50 +0,0 @@
|
||||
using System.Xml;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
namespace SabreTools.Models.OfflineList
|
||||
{
|
||||
[XmlRoot("newDat")]
|
||||
public class NewDat
|
||||
{
|
||||
[XmlElement("datVersionURL")]
|
||||
#if NET48
|
||||
public string DatVersionUrl { get; set; }
|
||||
#else
|
||||
public string? DatVersionUrl { get; set; }
|
||||
#endif
|
||||
|
||||
[XmlElement("datURL")]
|
||||
#if NET48
|
||||
public DatUrl DatUrl { get; set; }
|
||||
#else
|
||||
public DatUrl? DatUrl { get; set; }
|
||||
#endif
|
||||
|
||||
[XmlElement("imURL")]
|
||||
#if NET48
|
||||
public string ImUrl { get; set; }
|
||||
#else
|
||||
public string? ImUrl { get; set; }
|
||||
#endif
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyAttribute]
|
||||
#if NET48
|
||||
public XmlAttribute[] ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#else
|
||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyElement]
|
||||
#if NET48
|
||||
public object[] ADDITIONAL_ELEMENTS { get; set; }
|
||||
#else
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -1,36 +0,0 @@
|
||||
using System.Xml;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
namespace SabreTools.Models.OfflineList
|
||||
{
|
||||
[XmlRoot("search")]
|
||||
public class Search
|
||||
{
|
||||
[XmlElement("to")]
|
||||
#if NET48
|
||||
public To[] To { get; set; }
|
||||
#else
|
||||
public To[]? To { get; set; }
|
||||
#endif
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyAttribute]
|
||||
#if NET48
|
||||
public XmlAttribute[] ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#else
|
||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyElement]
|
||||
#if NET48
|
||||
public object[] ADDITIONAL_ELEMENTS { get; set; }
|
||||
#else
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -1,59 +0,0 @@
|
||||
using System.Xml;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
namespace SabreTools.Models.OfflineList
|
||||
{
|
||||
[XmlRoot("to")]
|
||||
public class To
|
||||
{
|
||||
[XmlAttribute("value")]
|
||||
#if NET48
|
||||
public string Value { get; set; }
|
||||
#else
|
||||
public string? Value { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>Boolean</remarks>
|
||||
[XmlAttribute("default")]
|
||||
#if NET48
|
||||
public string Default { get; set; }
|
||||
#else
|
||||
public string? Default { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>Boolean</remarks>
|
||||
[XmlAttribute("auto")]
|
||||
#if NET48
|
||||
public string Auto { get; set; }
|
||||
#else
|
||||
public string? Auto { get; set; }
|
||||
#endif
|
||||
|
||||
[XmlElement("find")]
|
||||
#if NET48
|
||||
public Find[] Find { get; set; }
|
||||
#else
|
||||
public Find[]? Find { get; set; }
|
||||
#endif
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyAttribute]
|
||||
#if NET48
|
||||
public XmlAttribute[] ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#else
|
||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyElement]
|
||||
#if NET48
|
||||
public object[] ADDITIONAL_ELEMENTS { get; set; }
|
||||
#else
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -1,45 +0,0 @@
|
||||
using System.Xml;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
namespace SabreTools.Models.OpenMSX
|
||||
{
|
||||
[XmlRoot("dump")]
|
||||
public class Dump
|
||||
{
|
||||
[XmlElement("original")]
|
||||
#if NET48
|
||||
public Original Original { get; set; }
|
||||
#else
|
||||
public Original? Original { get; set; }
|
||||
#endif
|
||||
|
||||
[XmlElement("rom", typeof(Rom))]
|
||||
[XmlElement("megarom", typeof(MegaRom))]
|
||||
[XmlElement("sccpluscart", typeof(SCCPlusCart))]
|
||||
#if NET48
|
||||
public RomBase Rom { get; set; }
|
||||
#else
|
||||
public RomBase? Rom { get; set; }
|
||||
#endif
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyAttribute]
|
||||
#if NET48
|
||||
public XmlAttribute[] ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#else
|
||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyElement]
|
||||
#if NET48
|
||||
public object[] ADDITIONAL_ELEMENTS { get; set; }
|
||||
#else
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -1,44 +0,0 @@
|
||||
using System.Xml;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
namespace SabreTools.Models.OpenMSX
|
||||
{
|
||||
[XmlRoot("original")]
|
||||
public class Original
|
||||
{
|
||||
/// <remarks>Boolean?</remarks>
|
||||
[XmlAttribute("value")]
|
||||
#if NET48
|
||||
public string Value { get; set; }
|
||||
#else
|
||||
public string? Value { get; set; }
|
||||
#endif
|
||||
|
||||
[XmlText]
|
||||
#if NET48
|
||||
public string Content { get; set; }
|
||||
#else
|
||||
public string? Content { get; set; }
|
||||
#endif
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyAttribute]
|
||||
#if NET48
|
||||
public XmlAttribute[] ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#else
|
||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyElement]
|
||||
#if NET48
|
||||
public object[] ADDITIONAL_ELEMENTS { get; set; }
|
||||
#else
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -1,60 +0,0 @@
|
||||
using System.Xml;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
namespace SabreTools.Models.OpenMSX
|
||||
{
|
||||
/// <summary>
|
||||
/// Base class to unify the various rom types
|
||||
/// </summary>
|
||||
public abstract class RomBase
|
||||
{
|
||||
[XmlElement("start")]
|
||||
#if NET48
|
||||
public string Start { get; set; }
|
||||
#else
|
||||
public string? Start { get; set; }
|
||||
#endif
|
||||
|
||||
[XmlElement("type")]
|
||||
#if NET48
|
||||
public string Type { get; set; }
|
||||
#else
|
||||
public string? Type { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>SHA-1 hash</remarks>
|
||||
[XmlElement("hash")]
|
||||
#if NET48
|
||||
public string Hash { get; set; }
|
||||
#else
|
||||
public string? Hash { get; set; }
|
||||
#endif
|
||||
|
||||
[XmlElement("remark")]
|
||||
#if NET48
|
||||
public string Remark { get; set; }
|
||||
#else
|
||||
public string? Remark { get; set; }
|
||||
#endif
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyAttribute]
|
||||
#if NET48
|
||||
public XmlAttribute[] ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#else
|
||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyElement]
|
||||
#if NET48
|
||||
public object[] ADDITIONAL_ELEMENTS { get; set; }
|
||||
#else
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -1,83 +0,0 @@
|
||||
using System.Xml;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
namespace SabreTools.Models.OpenMSX
|
||||
{
|
||||
[XmlRoot("software")]
|
||||
public class Software
|
||||
{
|
||||
[Required]
|
||||
[XmlElement("title")]
|
||||
#if NET48
|
||||
public string Title { get; set; }
|
||||
#else
|
||||
public string? Title { get; set; }
|
||||
#endif
|
||||
|
||||
[XmlElement("genmsxid")]
|
||||
#if NET48
|
||||
public string GenMSXID { get; set; }
|
||||
#else
|
||||
public string? GenMSXID { get; set; }
|
||||
#endif
|
||||
|
||||
[Required]
|
||||
[XmlElement("system")]
|
||||
#if NET48
|
||||
public string System { get; set; }
|
||||
#else
|
||||
public string? System { get; set; }
|
||||
#endif
|
||||
|
||||
[Required]
|
||||
[XmlElement("company")]
|
||||
#if NET48
|
||||
public string Company { get; set; }
|
||||
#else
|
||||
public string? Company { get; set; }
|
||||
#endif
|
||||
|
||||
[Required]
|
||||
[XmlElement("year")]
|
||||
#if NET48
|
||||
public string Year { get; set; }
|
||||
#else
|
||||
public string? Year { get; set; }
|
||||
#endif
|
||||
|
||||
[Required]
|
||||
[XmlElement("country")]
|
||||
#if NET48
|
||||
public string Country { get; set; }
|
||||
#else
|
||||
public string? Country { get; set; }
|
||||
#endif
|
||||
|
||||
[XmlElement("dump")]
|
||||
#if NET48
|
||||
public Dump[] Dump { get; set; }
|
||||
#else
|
||||
public Dump[]? Dump { get; set; }
|
||||
#endif
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyAttribute]
|
||||
#if NET48
|
||||
public XmlAttribute[] ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#else
|
||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyElement]
|
||||
#if NET48
|
||||
public object[] ADDITIONAL_ELEMENTS { get; set; }
|
||||
#else
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -1,43 +0,0 @@
|
||||
using System.Xml;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
namespace SabreTools.Models.OpenMSX
|
||||
{
|
||||
[XmlRoot("softwaredb")]
|
||||
public class SoftwareDb
|
||||
{
|
||||
[XmlAttribute("timestamp")]
|
||||
#if NET48
|
||||
public string Timestamp { get; set; }
|
||||
#else
|
||||
public string? Timestamp { get; set; }
|
||||
#endif
|
||||
|
||||
[XmlElement("software")]
|
||||
#if NET48
|
||||
public Software[] Software { get; set; }
|
||||
#else
|
||||
public Software[]? Software { get; set; }
|
||||
#endif
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyAttribute]
|
||||
#if NET48
|
||||
public XmlAttribute[] ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#else
|
||||
public XmlAttribute[]? ADDITIONAL_ATTRIBUTES { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
[XmlAnyElement]
|
||||
#if NET48
|
||||
public object[] ADDITIONAL_ELEMENTS { get; set; }
|
||||
#else
|
||||
public object[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -1,70 +0,0 @@
|
||||
namespace SabreTools.Models.PortableExecutable
|
||||
{
|
||||
/// <summary>
|
||||
/// Contains information about each item in a menu resource that does not open a menu
|
||||
/// or a submenu. The structure definition provided here is for explanation only; it
|
||||
/// is not present in any standard header file.
|
||||
///
|
||||
/// Contains information about the menu items in a menu resource that open a menu
|
||||
/// or a submenu. The structure definition provided here is for explanation only;
|
||||
/// it is not present in any standard header file.
|
||||
/// </summary>
|
||||
/// <see href="https://learn.microsoft.com/en-us/windows/win32/menurc/normalmenuitem"/>
|
||||
/// <see href="https://learn.microsoft.com/en-us/windows/win32/menurc/popupmenuitem"/>
|
||||
public sealed class MenuItem
|
||||
{
|
||||
#region NORMALMENUITEM
|
||||
|
||||
/// <summary>
|
||||
/// The type of menu item.
|
||||
/// </summary>
|
||||
public MenuFlags NormalResInfo { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// A null-terminated Unicode string that contains the text for this menu item.
|
||||
/// There is no fixed limit on the size of this string.
|
||||
/// </summary>
|
||||
#if NET48
|
||||
public string NormalMenuText { get; set; }
|
||||
#else
|
||||
public string? NormalMenuText { get; set; }
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
|
||||
#region POPUPMENUITEM
|
||||
|
||||
/// <summary>
|
||||
/// Describes the menu item.
|
||||
/// </summary>
|
||||
public MenuFlags PopupItemType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Describes the menu item.
|
||||
/// </summary>
|
||||
public MenuFlags PopupState { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// A numeric expression that identifies the menu item that is passed in the
|
||||
/// WM_COMMAND message.
|
||||
/// </summary>
|
||||
public uint PopupID { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// A set of bit flags that specify the type of menu item.
|
||||
/// </summary>
|
||||
public MenuFlags PopupResInfo { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// A null-terminated Unicode string that contains the text for this menu item.
|
||||
/// There is no fixed limit on the size of this string.
|
||||
/// </summary>
|
||||
#if NET48
|
||||
public string PopupMenuText { get; set; }
|
||||
#else
|
||||
public string? PopupMenuText { get; set; }
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
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:
|
||||
|
||||
@@ -1,66 +0,0 @@
|
||||
namespace SabreTools.Models.RomCenter
|
||||
{
|
||||
/// <remarks>[credits]</remarks>
|
||||
public class Credits
|
||||
{
|
||||
/// <remarks>author</remarks>
|
||||
#if NET48
|
||||
public string Author { get; set; }
|
||||
#else
|
||||
public string? Author { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>version</remarks>
|
||||
#if NET48
|
||||
public string Version { get; set; }
|
||||
#else
|
||||
public string? Version { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>email</remarks>
|
||||
#if NET48
|
||||
public string Email { get; set; }
|
||||
#else
|
||||
public string? Email { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>homepage</remarks>
|
||||
#if NET48
|
||||
public string Homepage { get; set; }
|
||||
#else
|
||||
public string? Homepage { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>url</remarks>
|
||||
#if NET48
|
||||
public string Url { get; set; }
|
||||
#else
|
||||
public string? Url { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>date</remarks>
|
||||
#if NET48
|
||||
public string Date { get; set; }
|
||||
#else
|
||||
public string? Date { get; set; }
|
||||
#endif
|
||||
|
||||
/// <remarks>comment</remarks>
|
||||
#if NET48
|
||||
public string Comment { get; set; }
|
||||
#else
|
||||
public string? Comment { get; set; }
|
||||
#endif
|
||||
|
||||
#region DO NOT USE IN PRODUCTION
|
||||
|
||||
/// <remarks>Should be empty</remarks>
|
||||
#if NET48
|
||||
public string[] ADDITIONAL_ELEMENTS { get; set; }
|
||||
#else
|
||||
public string[]? ADDITIONAL_ELEMENTS { get; set; }
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user