From 98b07c42d587eacd8fda870690a640a6131d2e0c Mon Sep 17 00:00:00 2001 From: YoshiRulz Date: Fri, 7 May 2021 00:14:37 +1000 Subject: [PATCH] Extract subtype PortedCoreAttribute from CoreAttribute --- .../BizBoxInfoControl.cs | 6 +-- .../Extensions/CoreExtensions.cs | 2 +- src/BizHawk.Client.EmuHawk/MainForm.cs | 2 +- .../Base Implementations/NullEmulator.cs | 2 +- src/BizHawk.Emulation.Common/CoreAttribute.cs | 48 +++++++++++++------ .../Arcades/MAME/MAME.cs | 11 +---- .../Calculator/TI83.cs | 6 +-- .../Computers/AmstradCPC/AmstradCPC.cs | 6 +-- .../Computers/AppleII/AppleII.cs | 6 +-- .../Computers/Commodore64/C64.cs | 6 +-- .../Computers/MSX/MSX.cs | 2 +- .../Computers/SinclairSpectrum/ZXSpectrum.cs | 6 +-- .../Consoles/Atari/2600/Atari2600.cs | 2 +- .../Consoles/Atari/A7800Hawk/A7800Hawk.cs | 6 +-- .../Consoles/Atari/lynx/Lynx.cs | 2 +- .../Consoles/Belogic/Uzem.cs | 2 +- .../Consoles/Coleco/ColecoVision.cs | 6 +-- .../Consoles/Fairchild/ChannelF/ChannelF.cs | 6 +-- .../Consoles/GCE/Vectrex/VectrexHawk.cs | 2 +- .../Consoles/Intellivision/Intellivision.cs | 6 +-- .../Consoles/Magnavox/Odyssey2/O2Hawk.cs | 2 +- .../Consoles/NEC/PCE/HyperNyma.cs | 2 +- .../Consoles/NEC/PCE/TurboNyma.cs | 2 +- .../Consoles/NEC/PCFX/Tst.cs | 8 +--- .../Consoles/Nintendo/Faust/Faust.cs | 2 +- .../Consoles/Nintendo/GBA/MGBAHawk.cs | 2 +- .../Consoles/Nintendo/GBHawk/GBHawk.cs | 6 +-- .../Nintendo/GBHawkLink/GBHawkLink.cs | 2 +- .../Nintendo/GBHawkLink3x/GBHawkLink3x.cs | 2 +- .../Nintendo/GBHawkLink4x/GBHawkLink4x.cs | 2 +- .../Consoles/Nintendo/Gameboy/Gambatte.cs | 9 +--- .../Consoles/Nintendo/Gameboy/GambatteLink.cs | 6 +-- .../Consoles/Nintendo/Gameboy/Sameboy.cs | 3 +- .../Consoles/Nintendo/N64/N64.cs | 9 +--- .../Consoles/Nintendo/NDS/MelonDS.cs | 9 +--- .../Consoles/Nintendo/NES/NES.cs | 6 +-- .../Consoles/Nintendo/QuickNES/QuickNES.cs | 9 +--- .../Consoles/Nintendo/SNES/LibsnesCore.cs | 9 +--- .../Consoles/Nintendo/SNES9X/Snes9x.cs | 3 +- .../Consoles/Nintendo/SubGBHawk/SubGBHawk.cs | 6 +-- .../Nintendo/SubNESHawk/SubNESHawk.cs | 6 +-- .../Consoles/Nintendo/VB/VirtualBoyee.cs | 8 +--- .../Consoles/PC Engine/PCEngine.cs | 2 +- .../Consoles/SNK/NeoGeoPort.cs | 8 +--- .../Consoles/Sega/GGHawkLink/GGHawkLink.cs | 2 +- .../Consoles/Sega/PicoDrive/PicoDrive.cs | 3 +- .../Consoles/Sega/SMS/SMS.cs | 6 +-- .../Consoles/Sega/Saturn/Saturnus.cs | 8 +--- .../Consoles/Sega/gpgx64/GPGX.cs | 9 +--- .../Consoles/Sony/PS2/DobieStation.cs | 2 +- .../Consoles/Sony/PSX/Octoshock.cs | 6 +-- .../Consoles/WonderSwan/WonderSwan.cs | 2 +- .../Libretro/LibretroCore.cs | 2 +- 53 files changed, 89 insertions(+), 209 deletions(-) diff --git a/src/BizHawk.Client.EmuHawk/BizBoxInfoControl.cs b/src/BizHawk.Client.EmuHawk/BizBoxInfoControl.cs index 1a5cac307cd..eb7f8c6bc5d 100644 --- a/src/BizHawk.Client.EmuHawk/BizBoxInfoControl.cs +++ b/src/BizHawk.Client.EmuHawk/BizBoxInfoControl.cs @@ -21,11 +21,11 @@ public BizBoxInfoControl(CoreAttribute attributes) CoreAuthorLabel.Visible = false; } - if (attributes.Ported) + if (attributes is PortedCoreAttribute ported) { CorePortedLabel.Text = " (Ported)"; - _url = attributes.PortedUrl; - CoreUrlLink.Text = attributes.PortedVersion; + _url = ported.PortedUrl; + CoreUrlLink.Text = ported.PortedVersion; CoreUrlLink.Visible = true; } } diff --git a/src/BizHawk.Client.EmuHawk/Extensions/CoreExtensions.cs b/src/BizHawk.Client.EmuHawk/Extensions/CoreExtensions.cs index fad20848776..47fd0ff3bc0 100644 --- a/src/BizHawk.Client.EmuHawk/Extensions/CoreExtensions.cs +++ b/src/BizHawk.Client.EmuHawk/Extensions/CoreExtensions.cs @@ -19,7 +19,7 @@ public static Bitmap Icon(this IEmulator core) { var attributes = core.Attributes(); - if (!attributes.Ported) + if (attributes is not PortedCoreAttribute) { return Properties.Resources.CorpHawkSmall; } diff --git a/src/BizHawk.Client.EmuHawk/MainForm.cs b/src/BizHawk.Client.EmuHawk/MainForm.cs index e5055cfde67..f3770f30014 100644 --- a/src/BizHawk.Client.EmuHawk/MainForm.cs +++ b/src/BizHawk.Client.EmuHawk/MainForm.cs @@ -2795,7 +2795,7 @@ private void UpdateCoreStatusBarButton() CoreNameStatusBarButton.Text = coreDispName; CoreNameStatusBarButton.Image = Emulator.Icon(); - CoreNameStatusBarButton.ToolTipText = attributes.Ported ? "(ported) " : ""; + CoreNameStatusBarButton.ToolTipText = attributes is PortedCoreAttribute ? "(ported) " : ""; if (Emulator.SystemId == "ZXSpectrum") diff --git a/src/BizHawk.Emulation.Common/Base Implementations/NullEmulator.cs b/src/BizHawk.Emulation.Common/Base Implementations/NullEmulator.cs index 630343f4904..be0ba194940 100644 --- a/src/BizHawk.Emulation.Common/Base Implementations/NullEmulator.cs +++ b/src/BizHawk.Emulation.Common/Base Implementations/NullEmulator.cs @@ -2,7 +2,7 @@ namespace BizHawk.Emulation.Common { - [Core("NullHawk", "", false, true)] + [Core("NullHawk", "")] [ServiceNotApplicable(new[] { typeof(IVideoProvider), typeof(IBoardInfo), diff --git a/src/BizHawk.Emulation.Common/CoreAttribute.cs b/src/BizHawk.Emulation.Common/CoreAttribute.cs index 626721938ed..215dc76bb27 100644 --- a/src/BizHawk.Emulation.Common/CoreAttribute.cs +++ b/src/BizHawk.Emulation.Common/CoreAttribute.cs @@ -1,27 +1,47 @@ -using System; +#nullable enable + +using System; namespace BizHawk.Emulation.Common { [AttributeUsage(AttributeTargets.Class)] - public sealed class CoreAttribute : Attribute + public class CoreAttribute : Attribute { - public CoreAttribute(string name, string author, bool isPorted, bool isReleased, string portedVersion = null, string portedUrl = null, bool singleInstance = false) + public readonly string Author; + + public readonly string CoreName; + + public readonly bool Released; + + public readonly bool SingleInstance; + + public CoreAttribute(string name, string author, bool singleInstance = false, bool isReleased = true) { - CoreName = name; Author = author; - Ported = isPorted; + CoreName = name; Released = isReleased; - PortedVersion = portedVersion ?? string.Empty; - PortedUrl = portedUrl ?? string.Empty; SingleInstance = singleInstance; } + } + + [AttributeUsage(AttributeTargets.Class)] + public sealed class PortedCoreAttribute : CoreAttribute + { + public readonly string PortedUrl; - public string CoreName { get; } - public string Author { get; } - public bool Ported { get; } - public bool Released { get; } - public string PortedVersion { get; } - public string PortedUrl { get; } - public bool SingleInstance { get; } + public readonly string PortedVersion; + + public PortedCoreAttribute( + string name, + string author, + string portedVersion = "", + string portedUrl = "", + bool singleInstance = false, + bool isReleased = true) + : base(name, author, singleInstance, isReleased) + { + PortedUrl = portedUrl; + PortedVersion = portedVersion; + } } } diff --git a/src/BizHawk.Emulation.Cores/Arcades/MAME/MAME.cs b/src/BizHawk.Emulation.Cores/Arcades/MAME/MAME.cs index c02a765b9a1..adcd588cb36 100644 --- a/src/BizHawk.Emulation.Cores/Arcades/MAME/MAME.cs +++ b/src/BizHawk.Emulation.Cores/Arcades/MAME/MAME.cs @@ -83,14 +83,7 @@ made that way to make the buffer persist actoss C API calls. namespace BizHawk.Emulation.Cores.Arcades.MAME { - [Core( - name: CoreNames.MAME, - author: "MAMEDev", - isPorted: true, - isReleased: false, - portedVersion: "0.230", - portedUrl: "https://github.com/mamedev/mame.git", - singleInstance: false)] + [PortedCore(CoreNames.MAME, "MAMEDev", "0.230", "https://github.com/mamedev/mame.git", isReleased: false)] public partial class MAME : IEmulator, IVideoProvider, ISoundProvider, ISettable, IStatable, IInputPollable { public MAME(string dir, string file, MAME.SyncSettings syncSettings, out string gamename) @@ -210,7 +203,7 @@ private void UpdateGameName() private void CheckVersions() { var mameVersion = MameGetString(MAMELuaCommand.GetVersion); - var version = this.Attributes().PortedVersion; + var version = ((PortedCoreAttribute) this.Attributes()).PortedVersion; Debug.Assert(version == mameVersion, "MAME versions desync!\n\n" + $"MAME is { mameVersion }\n" + diff --git a/src/BizHawk.Emulation.Cores/Calculator/TI83.cs b/src/BizHawk.Emulation.Cores/Calculator/TI83.cs index 2e150e5db9d..9d93dd08c08 100644 --- a/src/BizHawk.Emulation.Cores/Calculator/TI83.cs +++ b/src/BizHawk.Emulation.Cores/Calculator/TI83.cs @@ -6,11 +6,7 @@ // http://www.ticalc.org/pub/text/calcinfo/ namespace BizHawk.Emulation.Cores.Calculators { - [Core( - CoreNames.TI83Hawk, - "zeromus", - isPorted: false, - isReleased: true)] + [Core(CoreNames.TI83Hawk, "zeromus")] [ServiceNotApplicable(new[] { typeof(IBoardInfo), typeof(IDriveLight), typeof(IRegionable), typeof(ISaveRam), typeof(ISoundProvider) })] public partial class TI83 : IEmulator, IVideoProvider, IDebuggable, IInputPollable, ISettable { diff --git a/src/BizHawk.Emulation.Cores/Computers/AmstradCPC/AmstradCPC.cs b/src/BizHawk.Emulation.Cores/Computers/AmstradCPC/AmstradCPC.cs index 1e0ee2c0c53..57349cbfd41 100644 --- a/src/BizHawk.Emulation.Cores/Computers/AmstradCPC/AmstradCPC.cs +++ b/src/BizHawk.Emulation.Cores/Computers/AmstradCPC/AmstradCPC.cs @@ -13,11 +13,7 @@ namespace BizHawk.Emulation.Cores.Computers.AmstradCPC /// CPCHawk: Core Class /// * Main Initialization * /// - [Core( - CoreNames.CPCHawk, - "Asnivor", - isPorted: false, - isReleased: false)] + [Core(CoreNames.CPCHawk, "Asnivor", isReleased: false)] public partial class AmstradCPC : IRegionable, IDriveLight { [CoreConstructor("AmstradCPC")] diff --git a/src/BizHawk.Emulation.Cores/Computers/AppleII/AppleII.cs b/src/BizHawk.Emulation.Cores/Computers/AppleII/AppleII.cs index 3f905bcb4e0..aa1f381e17d 100644 --- a/src/BizHawk.Emulation.Cores/Computers/AppleII/AppleII.cs +++ b/src/BizHawk.Emulation.Cores/Computers/AppleII/AppleII.cs @@ -6,11 +6,7 @@ namespace BizHawk.Emulation.Cores.Computers.AppleII { - [Core( - CoreNames.Virtu, - "fool", - isPorted: true, - isReleased: true)] + [PortedCore(CoreNames.Virtu, "fool")] [ServiceNotApplicable(new[] { typeof(IBoardInfo), typeof(IRegionable), typeof(ISaveRam) })] public partial class AppleII : IEmulator, ISoundProvider, IVideoProvider, IStatable, IDriveLight { diff --git a/src/BizHawk.Emulation.Cores/Computers/Commodore64/C64.cs b/src/BizHawk.Emulation.Cores/Computers/Commodore64/C64.cs index ddfeaf23295..048b7021c3a 100644 --- a/src/BizHawk.Emulation.Cores/Computers/Commodore64/C64.cs +++ b/src/BizHawk.Emulation.Cores/Computers/Commodore64/C64.cs @@ -9,11 +9,7 @@ namespace BizHawk.Emulation.Cores.Computers.Commodore64 { - [Core( - CoreNames.C64Hawk, - "SaxxonPike", - isPorted: false, - isReleased: true)] + [Core(CoreNames.C64Hawk, "SaxxonPike")] public sealed partial class C64 : IEmulator, IRegionable, IBoardInfo, IRomInfo { [CoreConstructor("C64")] diff --git a/src/BizHawk.Emulation.Cores/Computers/MSX/MSX.cs b/src/BizHawk.Emulation.Cores/Computers/MSX/MSX.cs index dec398cc724..bd3ef1579cd 100644 --- a/src/BizHawk.Emulation.Cores/Computers/MSX/MSX.cs +++ b/src/BizHawk.Emulation.Cores/Computers/MSX/MSX.cs @@ -4,7 +4,7 @@ namespace BizHawk.Emulation.Cores.Computers.MSX { - [Core(CoreNames.MSXHawk, "", isPorted: false, isReleased: false)] + [Core(CoreNames.MSXHawk, "", isReleased: false)] [ServiceNotApplicable(new[] { typeof(IDriveLight) })] public partial class MSX : IEmulator, IVideoProvider, ISoundProvider, ISaveRam, IInputPollable, IRegionable, ISettable { diff --git a/src/BizHawk.Emulation.Cores/Computers/SinclairSpectrum/ZXSpectrum.cs b/src/BizHawk.Emulation.Cores/Computers/SinclairSpectrum/ZXSpectrum.cs index 57c31817598..10970c1366c 100644 --- a/src/BizHawk.Emulation.Cores/Computers/SinclairSpectrum/ZXSpectrum.cs +++ b/src/BizHawk.Emulation.Cores/Computers/SinclairSpectrum/ZXSpectrum.cs @@ -14,11 +14,7 @@ namespace BizHawk.Emulation.Cores.Computers.SinclairSpectrum /// ZXHawk: Core Class /// * Main Initialization * /// - [Core( - CoreNames.ZXHawk, - "Asnivor, Alyosha", - isPorted: false, - isReleased: true)] + [Core(CoreNames.ZXHawk, "Asnivor, Alyosha")] public partial class ZXSpectrum : IRegionable, IDriveLight { [CoreConstructor("ZXSpectrum")] diff --git a/src/BizHawk.Emulation.Cores/Consoles/Atari/2600/Atari2600.cs b/src/BizHawk.Emulation.Cores/Consoles/Atari/2600/Atari2600.cs index 4a650ffb686..edb1f4b7d5a 100644 --- a/src/BizHawk.Emulation.Cores/Consoles/Atari/2600/Atari2600.cs +++ b/src/BizHawk.Emulation.Cores/Consoles/Atari/2600/Atari2600.cs @@ -6,7 +6,7 @@ namespace BizHawk.Emulation.Cores.Atari.Atari2600 { - [Core(CoreNames.Atari2600Hawk, "Micro500, Alyosha, adelikat, natt", isPorted: false, isReleased: true)] + [Core(CoreNames.Atari2600Hawk, "Micro500, Alyosha, adelikat, natt")] [ServiceNotApplicable(new[] { typeof(IDriveLight), typeof(ISaveRam) })] public partial class Atari2600 : IEmulator, IDebuggable, IInputPollable, IBoardInfo, IRomInfo, IRegionable, ICreateGameDBEntries, ISettable diff --git a/src/BizHawk.Emulation.Cores/Consoles/Atari/A7800Hawk/A7800Hawk.cs b/src/BizHawk.Emulation.Cores/Consoles/Atari/A7800Hawk/A7800Hawk.cs index 10ca180aeec..e3ea7fdd4fc 100644 --- a/src/BizHawk.Emulation.Cores/Consoles/Atari/A7800Hawk/A7800Hawk.cs +++ b/src/BizHawk.Emulation.Cores/Consoles/Atari/A7800Hawk/A7800Hawk.cs @@ -7,11 +7,7 @@ namespace BizHawk.Emulation.Cores.Atari.A7800Hawk { - [Core( - CoreNames.A7800Hawk, - "", - isPorted: false, - isReleased: true)] + [Core(CoreNames.A7800Hawk, "")] [ServiceNotApplicable(new[] { typeof(IDriveLight), typeof(ISettable<,>) })] public partial class A7800Hawk : IEmulator, ISaveRam, IDebuggable, IInputPollable, IRegionable, IBoardInfo, ISettable diff --git a/src/BizHawk.Emulation.Cores/Consoles/Atari/lynx/Lynx.cs b/src/BizHawk.Emulation.Cores/Consoles/Atari/lynx/Lynx.cs index 58894537984..acce99383f8 100644 --- a/src/BizHawk.Emulation.Cores/Consoles/Atari/lynx/Lynx.cs +++ b/src/BizHawk.Emulation.Cores/Consoles/Atari/lynx/Lynx.cs @@ -7,7 +7,7 @@ namespace BizHawk.Emulation.Cores.Atari.Lynx { - [Core(CoreNames.Handy, "K. Wilkins, Mednafen Team", true, true, "mednafen 0-9-34-1", "http://mednafen.sourceforge.net/", false)] + [PortedCore(CoreNames.Handy, "K. Wilkins, Mednafen Team", "mednafen 0-9-34-1", "http://mednafen.sourceforge.net/")] [ServiceNotApplicable(new[] { typeof(IDriveLight), typeof(IRegionable), typeof(ISettable<,>) })] public partial class Lynx : IEmulator, IVideoProvider, ISoundProvider, ISaveRam, IStatable, IInputPollable { diff --git a/src/BizHawk.Emulation.Cores/Consoles/Belogic/Uzem.cs b/src/BizHawk.Emulation.Cores/Consoles/Belogic/Uzem.cs index b0b0aa2f6dd..2ac61aac6f7 100644 --- a/src/BizHawk.Emulation.Cores/Consoles/Belogic/Uzem.cs +++ b/src/BizHawk.Emulation.Cores/Consoles/Belogic/Uzem.cs @@ -6,7 +6,7 @@ namespace BizHawk.Emulation.Cores.Consoles.Belogic { - [Core(CoreNames.Uzem, "David Etherton", true, true, "", "", false)] + [PortedCore(CoreNames.Uzem, "David Etherton")] public class Uzem : WaterboxCore { private LibUzem _uze; diff --git a/src/BizHawk.Emulation.Cores/Consoles/Coleco/ColecoVision.cs b/src/BizHawk.Emulation.Cores/Consoles/Coleco/ColecoVision.cs index c958fc474ba..fdd92f03729 100644 --- a/src/BizHawk.Emulation.Cores/Consoles/Coleco/ColecoVision.cs +++ b/src/BizHawk.Emulation.Cores/Consoles/Coleco/ColecoVision.cs @@ -4,11 +4,7 @@ namespace BizHawk.Emulation.Cores.ColecoVision { - [Core( - CoreNames.ColecoHawk, - "Vecna", - isPorted: false, - isReleased: true)] + [Core(CoreNames.ColecoHawk, "Vecna")] [ServiceNotApplicable(new[] { typeof(IDriveLight), typeof(ISaveRam) })] public sealed partial class ColecoVision : IEmulator, IDebuggable, IInputPollable, ISettable { diff --git a/src/BizHawk.Emulation.Cores/Consoles/Fairchild/ChannelF/ChannelF.cs b/src/BizHawk.Emulation.Cores/Consoles/Fairchild/ChannelF/ChannelF.cs index af5f4573091..7d032b27d4b 100644 --- a/src/BizHawk.Emulation.Cores/Consoles/Fairchild/ChannelF/ChannelF.cs +++ b/src/BizHawk.Emulation.Cores/Consoles/Fairchild/ChannelF/ChannelF.cs @@ -3,11 +3,7 @@ namespace BizHawk.Emulation.Cores.Consoles.ChannelF { - [Core( - CoreNames.ChannelFHawk, - "Asnivor", - isPorted: false, - isReleased: false)] + [Core(CoreNames.ChannelFHawk, "Asnivor", isReleased: false)] [ServiceNotApplicable(new[] { typeof(IDriveLight) })] public partial class ChannelF { diff --git a/src/BizHawk.Emulation.Cores/Consoles/GCE/Vectrex/VectrexHawk.cs b/src/BizHawk.Emulation.Cores/Consoles/GCE/Vectrex/VectrexHawk.cs index 2d7b38f7c65..733cbcb7083 100644 --- a/src/BizHawk.Emulation.Cores/Consoles/GCE/Vectrex/VectrexHawk.cs +++ b/src/BizHawk.Emulation.Cores/Consoles/GCE/Vectrex/VectrexHawk.cs @@ -6,7 +6,7 @@ namespace BizHawk.Emulation.Cores.Consoles.Vectrex { - [Core(CoreNames.VectrexHawk, "", isPorted: false, isReleased: true)] + [Core(CoreNames.VectrexHawk, "")] [ServiceNotApplicable(new[] { typeof(IDriveLight) })] public partial class VectrexHawk : IEmulator, ISaveRam, IDebuggable, IInputPollable, IRegionable, ISettable diff --git a/src/BizHawk.Emulation.Cores/Consoles/Intellivision/Intellivision.cs b/src/BizHawk.Emulation.Cores/Consoles/Intellivision/Intellivision.cs index aae83f66da8..0b140a17077 100644 --- a/src/BizHawk.Emulation.Cores/Consoles/Intellivision/Intellivision.cs +++ b/src/BizHawk.Emulation.Cores/Consoles/Intellivision/Intellivision.cs @@ -5,11 +5,7 @@ namespace BizHawk.Emulation.Cores.Intellivision { - [Core( - CoreNames.IntelliHawk, - "BrandonE, Alyosha", - isPorted: false, - isReleased: true)] + [Core(CoreNames.IntelliHawk, "BrandonE, Alyosha")] [ServiceNotApplicable(new[] { typeof(IDriveLight), typeof(IRegionable), typeof(ISaveRam) })] public sealed partial class Intellivision : IEmulator, IInputPollable, IDisassemblable, IBoardInfo, IDebuggable, ISettable diff --git a/src/BizHawk.Emulation.Cores/Consoles/Magnavox/Odyssey2/O2Hawk.cs b/src/BizHawk.Emulation.Cores/Consoles/Magnavox/Odyssey2/O2Hawk.cs index dc34c3a2e10..89d40c875c0 100644 --- a/src/BizHawk.Emulation.Cores/Consoles/Magnavox/Odyssey2/O2Hawk.cs +++ b/src/BizHawk.Emulation.Cores/Consoles/Magnavox/Odyssey2/O2Hawk.cs @@ -6,7 +6,7 @@ namespace BizHawk.Emulation.Cores.Consoles.O2Hawk { - [Core(CoreNames.O2Hawk, "", isPorted: false, isReleased: true)] + [Core(CoreNames.O2Hawk, "")] [ServiceNotApplicable(new[] { typeof(IDriveLight) })] public partial class O2Hawk : IEmulator, ISaveRam, IDebuggable, IInputPollable, IRegionable, ISettable, IBoardInfo { diff --git a/src/BizHawk.Emulation.Cores/Consoles/NEC/PCE/HyperNyma.cs b/src/BizHawk.Emulation.Cores/Consoles/NEC/PCE/HyperNyma.cs index d2a1148da32..30f5c469d6e 100644 --- a/src/BizHawk.Emulation.Cores/Consoles/NEC/PCE/HyperNyma.cs +++ b/src/BizHawk.Emulation.Cores/Consoles/NEC/PCE/HyperNyma.cs @@ -9,7 +9,7 @@ namespace BizHawk.Emulation.Cores.Consoles.NEC.PCE { - [Core(CoreNames.HyperNyma, "Mednafen Team", true, true, "1.26.1", "https://mednafen.github.io/releases/", false)] + [PortedCore(CoreNames.HyperNyma, "Mednafen Team", "1.26.1", "https://mednafen.github.io/releases/")] public class HyperNyma : NymaCore, IRegionable, IPceGpuView { private readonly LibHyperNyma _hyperNyma; diff --git a/src/BizHawk.Emulation.Cores/Consoles/NEC/PCE/TurboNyma.cs b/src/BizHawk.Emulation.Cores/Consoles/NEC/PCE/TurboNyma.cs index f636794c351..ffea6fedf3c 100644 --- a/src/BizHawk.Emulation.Cores/Consoles/NEC/PCE/TurboNyma.cs +++ b/src/BizHawk.Emulation.Cores/Consoles/NEC/PCE/TurboNyma.cs @@ -11,7 +11,7 @@ namespace BizHawk.Emulation.Cores.Consoles.NEC.PCE { - [Core(CoreNames.TurboNyma, "Mednafen Team", true, true, "1.26.1", "https://mednafen.github.io/releases/", false)] + [PortedCore(CoreNames.TurboNyma, "Mednafen Team", "1.26.1", "https://mednafen.github.io/releases/")] public class TurboNyma : NymaCore, IRegionable, IPceGpuView { private readonly LibTurboNyma _turboNyma; diff --git a/src/BizHawk.Emulation.Cores/Consoles/NEC/PCFX/Tst.cs b/src/BizHawk.Emulation.Cores/Consoles/NEC/PCFX/Tst.cs index 7fc4ce16f91..2ba2a2512c9 100644 --- a/src/BizHawk.Emulation.Cores/Consoles/NEC/PCFX/Tst.cs +++ b/src/BizHawk.Emulation.Cores/Consoles/NEC/PCFX/Tst.cs @@ -5,13 +5,7 @@ namespace BizHawk.Emulation.Cores.Consoles.NEC.PCFX { - [Core(CoreNames.TST, - author: "Mednafen Team", - isPorted: true, - isReleased: true, - portedVersion: "1.26.1", - portedUrl: "https://mednafen.github.io/releases/", - singleInstance: false)] + [PortedCore(CoreNames.TST, "Mednafen Team", "1.26.1", "https://mednafen.github.io/releases/")] public class Tst : NymaCore { [CoreConstructor("PCFX")] diff --git a/src/BizHawk.Emulation.Cores/Consoles/Nintendo/Faust/Faust.cs b/src/BizHawk.Emulation.Cores/Consoles/Nintendo/Faust/Faust.cs index 1368255f96c..fbd2cac9b6c 100644 --- a/src/BizHawk.Emulation.Cores/Consoles/Nintendo/Faust/Faust.cs +++ b/src/BizHawk.Emulation.Cores/Consoles/Nintendo/Faust/Faust.cs @@ -4,7 +4,7 @@ namespace BizHawk.Emulation.Cores.Consoles.Nintendo.Faust { - [Core(CoreNames.Faust, "Mednafen Team", true, true, "1.26.1", "https://mednafen.github.io/releases/", false)] + [PortedCore(CoreNames.Faust, "Mednafen Team", "1.26.1", "https://mednafen.github.io/releases/")] public class Faust : NymaCore, IRegionable { [CoreConstructor("SNES")] diff --git a/src/BizHawk.Emulation.Cores/Consoles/Nintendo/GBA/MGBAHawk.cs b/src/BizHawk.Emulation.Cores/Consoles/Nintendo/GBA/MGBAHawk.cs index cc47ff72a02..53db311ec81 100644 --- a/src/BizHawk.Emulation.Cores/Consoles/Nintendo/GBA/MGBAHawk.cs +++ b/src/BizHawk.Emulation.Cores/Consoles/Nintendo/GBA/MGBAHawk.cs @@ -6,7 +6,7 @@ namespace BizHawk.Emulation.Cores.Nintendo.GBA { - [Core(CoreNames.Mgba, "endrift", true, true, "0.8", "https://mgba.io/", false)] + [PortedCore(CoreNames.Mgba, "endrift", "0.8", "https://mgba.io/")] [ServiceNotApplicable(new[] { typeof(IDriveLight), typeof(IRegionable) })] public partial class MGBAHawk : IEmulator, IVideoProvider, ISoundProvider, IGBAGPUViewable, ISaveRam, IStatable, IInputPollable, ISettable, diff --git a/src/BizHawk.Emulation.Cores/Consoles/Nintendo/GBHawk/GBHawk.cs b/src/BizHawk.Emulation.Cores/Consoles/Nintendo/GBHawk/GBHawk.cs index b35530fcca2..5e1791f8c49 100644 --- a/src/BizHawk.Emulation.Cores/Consoles/Nintendo/GBHawk/GBHawk.cs +++ b/src/BizHawk.Emulation.Cores/Consoles/Nintendo/GBHawk/GBHawk.cs @@ -20,11 +20,7 @@ namespace BizHawk.Emulation.Cores.Nintendo.GBHawk { - [Core( - CoreNames.GbHawk, - "", - isPorted: false, - isReleased: true)] + [Core(CoreNames.GbHawk, "")] [ServiceNotApplicable(new[] { typeof(IDriveLight) })] public partial class GBHawk : IEmulator, ISaveRam, IDebuggable, IInputPollable, IRegionable, IGameboyCommon, ISettable diff --git a/src/BizHawk.Emulation.Cores/Consoles/Nintendo/GBHawkLink/GBHawkLink.cs b/src/BizHawk.Emulation.Cores/Consoles/Nintendo/GBHawkLink/GBHawkLink.cs index 4602505adec..f059dfc3880 100644 --- a/src/BizHawk.Emulation.Cores/Consoles/Nintendo/GBHawkLink/GBHawkLink.cs +++ b/src/BizHawk.Emulation.Cores/Consoles/Nintendo/GBHawkLink/GBHawkLink.cs @@ -3,7 +3,7 @@ namespace BizHawk.Emulation.Cores.Nintendo.GBHawkLink { - [Core(CoreNames.GBHawkLink, "", isPorted: false, isReleased: true)] + [Core(CoreNames.GBHawkLink, "")] [ServiceNotApplicable(new[] { typeof(IDriveLight) })] public partial class GBHawkLink : IEmulator, ISaveRam, IDebuggable, IStatable, IInputPollable, IRegionable, ILinkable, ISettable diff --git a/src/BizHawk.Emulation.Cores/Consoles/Nintendo/GBHawkLink3x/GBHawkLink3x.cs b/src/BizHawk.Emulation.Cores/Consoles/Nintendo/GBHawkLink3x/GBHawkLink3x.cs index e6c2d7b1260..8abd707e6c9 100644 --- a/src/BizHawk.Emulation.Cores/Consoles/Nintendo/GBHawkLink3x/GBHawkLink3x.cs +++ b/src/BizHawk.Emulation.Cores/Consoles/Nintendo/GBHawkLink3x/GBHawkLink3x.cs @@ -3,7 +3,7 @@ namespace BizHawk.Emulation.Cores.Nintendo.GBHawkLink3x { - [Core(CoreNames.GBHawkLink3x, "", isPorted: false, isReleased: true)] + [Core(CoreNames.GBHawkLink3x, "")] [ServiceNotApplicable(new[] { typeof(IDriveLight) })] public partial class GBHawkLink3x : IEmulator, ISaveRam, IDebuggable, IStatable, IInputPollable, IRegionable, ISettable diff --git a/src/BizHawk.Emulation.Cores/Consoles/Nintendo/GBHawkLink4x/GBHawkLink4x.cs b/src/BizHawk.Emulation.Cores/Consoles/Nintendo/GBHawkLink4x/GBHawkLink4x.cs index c8911c33623..260977e246f 100644 --- a/src/BizHawk.Emulation.Cores/Consoles/Nintendo/GBHawkLink4x/GBHawkLink4x.cs +++ b/src/BizHawk.Emulation.Cores/Consoles/Nintendo/GBHawkLink4x/GBHawkLink4x.cs @@ -3,7 +3,7 @@ namespace BizHawk.Emulation.Cores.Nintendo.GBHawkLink4x { - [Core(CoreNames.GBHawkLink4x, "", isPorted: false, isReleased: true)] + [Core(CoreNames.GBHawkLink4x, "")] [ServiceNotApplicable(new[] { typeof(IDriveLight) })] public partial class GBHawkLink4x : IEmulator, ISaveRam, IDebuggable, IStatable, IInputPollable, IRegionable, ISettable diff --git a/src/BizHawk.Emulation.Cores/Consoles/Nintendo/Gameboy/Gambatte.cs b/src/BizHawk.Emulation.Cores/Consoles/Nintendo/Gameboy/Gambatte.cs index 87f2b816b06..4ea90177ea5 100644 --- a/src/BizHawk.Emulation.Cores/Consoles/Nintendo/Gameboy/Gambatte.cs +++ b/src/BizHawk.Emulation.Cores/Consoles/Nintendo/Gameboy/Gambatte.cs @@ -10,14 +10,7 @@ namespace BizHawk.Emulation.Cores.Nintendo.Gameboy /// /// a gameboy/gameboy color emulator wrapped around native C++ libgambatte /// - [Core( - CoreNames.Gambatte, - "", - isPorted: true, - isReleased: true, - portedVersion: "Gambatte-Speedrun r717+", - portedUrl: "https://github.com/pokemon-speedrunning/gambatte-speedrun", - singleInstance: false)] + [PortedCore(CoreNames.Gambatte, "", "Gambatte-Speedrun r717+", "https://github.com/pokemon-speedrunning/gambatte-speedrun")] [ServiceNotApplicable(new[] { typeof(IDriveLight) })] public partial class Gameboy : IEmulator, IVideoProvider, ISoundProvider, ISaveRam, IStatable, IInputPollable, ICodeDataLogger, IBoardInfo, IRomInfo, IDebuggable, ISettable, diff --git a/src/BizHawk.Emulation.Cores/Consoles/Nintendo/Gameboy/GambatteLink.cs b/src/BizHawk.Emulation.Cores/Consoles/Nintendo/Gameboy/GambatteLink.cs index 5834677edc9..985840295c4 100644 --- a/src/BizHawk.Emulation.Cores/Consoles/Nintendo/Gameboy/GambatteLink.cs +++ b/src/BizHawk.Emulation.Cores/Consoles/Nintendo/Gameboy/GambatteLink.cs @@ -3,11 +3,7 @@ namespace BizHawk.Emulation.Cores.Nintendo.Gameboy { - [Core( - CoreNames.DualGambatte, - "sinamas/natt", - isPorted: true, - isReleased: true)] + [PortedCore(CoreNames.DualGambatte, "sinamas/natt")] [ServiceNotApplicable(new[] { typeof(IDriveLight) })] public partial class GambatteLink : IEmulator, IVideoProvider, ISoundProvider, IInputPollable, ISaveRam, IStatable, ILinkable, IBoardInfo, IRomInfo, IDebuggable, ISettable, ICodeDataLogger diff --git a/src/BizHawk.Emulation.Cores/Consoles/Nintendo/Gameboy/Sameboy.cs b/src/BizHawk.Emulation.Cores/Consoles/Nintendo/Gameboy/Sameboy.cs index 59ec6a3b998..d2830ce23d2 100644 --- a/src/BizHawk.Emulation.Cores/Consoles/Nintendo/Gameboy/Sameboy.cs +++ b/src/BizHawk.Emulation.Cores/Consoles/Nintendo/Gameboy/Sameboy.cs @@ -10,8 +10,7 @@ namespace BizHawk.Emulation.Cores.Consoles.Nintendo.Gameboy { - [Core(CoreNames.SameBoy, "LIJI32", true, true, "efc11783c7fb6da66e1dd084e41ba6a85c0bd17e", - "https://sameboy.github.io/", false)] + [PortedCore(CoreNames.SameBoy, "LIJI32", "efc11783c7fb6da66e1dd084e41ba6a85c0bd17e", "https://sameboy.github.io/")] public class Sameboy : WaterboxCore, IGameboyCommon, ISaveRam, ISettable diff --git a/src/BizHawk.Emulation.Cores/Consoles/Nintendo/N64/N64.cs b/src/BizHawk.Emulation.Cores/Consoles/Nintendo/N64/N64.cs index afc29fc4540..2d49c7f01fb 100644 --- a/src/BizHawk.Emulation.Cores/Consoles/Nintendo/N64/N64.cs +++ b/src/BizHawk.Emulation.Cores/Consoles/Nintendo/N64/N64.cs @@ -6,14 +6,7 @@ namespace BizHawk.Emulation.Cores.Nintendo.N64 { - [Core( - CoreNames.Mupen64Plus, - "", - isPorted: true, - isReleased: true, - portedVersion: "2.0", - portedUrl: "https://code.google.com/p/mupen64plus/", - singleInstance: true)] + [PortedCore(CoreNames.Mupen64Plus, "", "2.0", "https://code.google.com/p/mupen64plus/", singleInstance: true)] [ServiceNotApplicable(new[] { typeof(IDriveLight) })] public partial class N64 : IEmulator, ISaveRam, IDebuggable, IStatable, IInputPollable, IDisassemblable, IRegionable, ISettable diff --git a/src/BizHawk.Emulation.Cores/Consoles/Nintendo/NDS/MelonDS.cs b/src/BizHawk.Emulation.Cores/Consoles/Nintendo/NDS/MelonDS.cs index 12bad7c0047..26b1aff4414 100644 --- a/src/BizHawk.Emulation.Cores/Consoles/Nintendo/NDS/MelonDS.cs +++ b/src/BizHawk.Emulation.Cores/Consoles/Nintendo/NDS/MelonDS.cs @@ -7,14 +7,7 @@ namespace BizHawk.Emulation.Cores.Consoles.Nintendo.NDS { - [Core( - CoreNames.MelonDS, - "Arisotura", - isPorted: true, - isReleased: false, - portedVersion: "0.8.2", - portedUrl: "http://melonds.kuribo64.net/", - singleInstance: true)] + [PortedCore(CoreNames.MelonDS, "Arisotura", "0.8.2", "http://melonds.kuribo64.net/", singleInstance: true, isReleased: false)] public unsafe partial class MelonDS : IEmulator { private readonly BasicServiceProvider _serviceProvider; diff --git a/src/BizHawk.Emulation.Cores/Consoles/Nintendo/NES/NES.cs b/src/BizHawk.Emulation.Cores/Consoles/Nintendo/NES/NES.cs index ddf1bb3061e..231eaf6da80 100644 --- a/src/BizHawk.Emulation.Cores/Consoles/Nintendo/NES/NES.cs +++ b/src/BizHawk.Emulation.Cores/Consoles/Nintendo/NES/NES.cs @@ -9,11 +9,7 @@ //TODO - redo all timekeeping in terms of master clock namespace BizHawk.Emulation.Cores.Nintendo.NES { - [Core( - CoreNames.NesHawk, - "zeromus, natt, alyosha, adelikat", - isPorted: false, - isReleased: true)] + [Core(CoreNames.NesHawk, "zeromus, natt, alyosha, adelikat")] public partial class NES : IEmulator, ISaveRam, IDebuggable, IInputPollable, IRegionable, IVideoLogicalOffsets, IBoardInfo, IRomInfo, ISettable, ICodeDataLogger { diff --git a/src/BizHawk.Emulation.Cores/Consoles/Nintendo/QuickNES/QuickNES.cs b/src/BizHawk.Emulation.Cores/Consoles/Nintendo/QuickNES/QuickNES.cs index 39fc2d8c62f..c7fda8519be 100644 --- a/src/BizHawk.Emulation.Cores/Consoles/Nintendo/QuickNES/QuickNES.cs +++ b/src/BizHawk.Emulation.Cores/Consoles/Nintendo/QuickNES/QuickNES.cs @@ -13,14 +13,7 @@ namespace BizHawk.Emulation.Cores.Consoles.Nintendo.QuickNES { - [Core( - CoreNames.QuickNes, - "", - isPorted: true, - isReleased: true, - portedVersion: "0.7.0", - portedUrl: "https://github.com/kode54/QuickNES", - singleInstance: false)] + [PortedCore(CoreNames.QuickNes, "", "0.7.0", "https://github.com/kode54/QuickNES")] [ServiceNotApplicable(new[] { typeof(IDriveLight) })] public partial class QuickNES : IEmulator, IVideoProvider, ISoundProvider, ISaveRam, IInputPollable, IBoardInfo, IVideoLogicalOffsets, IStatable, IDebuggable, ISettable, INESPPUViewable diff --git a/src/BizHawk.Emulation.Cores/Consoles/Nintendo/SNES/LibsnesCore.cs b/src/BizHawk.Emulation.Cores/Consoles/Nintendo/SNES/LibsnesCore.cs index 3e65c3d9daa..7d9288b9e70 100644 --- a/src/BizHawk.Emulation.Cores/Consoles/Nintendo/SNES/LibsnesCore.cs +++ b/src/BizHawk.Emulation.Cores/Consoles/Nintendo/SNES/LibsnesCore.cs @@ -17,14 +17,7 @@ // wrap dll code around some kind of library-accessing interface so that it doesn't malfunction if the dll is unavailable namespace BizHawk.Emulation.Cores.Nintendo.SNES { - [Core( - CoreNames.Bsnes, - "byuu", - isPorted: true, - isReleased: true, - portedVersion: "v87", - portedUrl: "http://byuu.org/", - singleInstance: false)] + [PortedCore(CoreNames.Bsnes, "byuu", "v87", "http://byuu.org/")] [ServiceNotApplicable(new[] { typeof(IDriveLight) })] public unsafe partial class LibsnesCore : IEmulator, IVideoProvider, ISaveRam, IStatable, IInputPollable, IRegionable, ICodeDataLogger, IDebuggable, ISettable diff --git a/src/BizHawk.Emulation.Cores/Consoles/Nintendo/SNES9X/Snes9x.cs b/src/BizHawk.Emulation.Cores/Consoles/Nintendo/SNES9X/Snes9x.cs index 8f42c1fc1a1..4c16b15fe54 100644 --- a/src/BizHawk.Emulation.Cores/Consoles/Nintendo/SNES9X/Snes9x.cs +++ b/src/BizHawk.Emulation.Cores/Consoles/Nintendo/SNES9X/Snes9x.cs @@ -11,8 +11,7 @@ namespace BizHawk.Emulation.Cores.Nintendo.SNES9X { - [Core(CoreNames.Snes9X, "", true, true, - "5e0319ab3ef9611250efb18255186d0dc0d7e125", "https://github.com/snes9xgit/snes9x", false)] + [PortedCore(CoreNames.Snes9X, "", "5e0319ab3ef9611250efb18255186d0dc0d7e125", "https://github.com/snes9xgit/snes9x")] [ServiceNotApplicable(new[] { typeof(IDriveLight) })] public class Snes9x : WaterboxCore, ISettable, IRegionable diff --git a/src/BizHawk.Emulation.Cores/Consoles/Nintendo/SubGBHawk/SubGBHawk.cs b/src/BizHawk.Emulation.Cores/Consoles/Nintendo/SubGBHawk/SubGBHawk.cs index 2c8b6f2d728..8046910768b 100644 --- a/src/BizHawk.Emulation.Cores/Consoles/Nintendo/SubGBHawk/SubGBHawk.cs +++ b/src/BizHawk.Emulation.Cores/Consoles/Nintendo/SubGBHawk/SubGBHawk.cs @@ -5,11 +5,7 @@ namespace BizHawk.Emulation.Cores.Nintendo.SubGBHawk { - [Core( - CoreNames.SubGbHawk, - "", - isPorted: false, - isReleased: true)] + [Core(CoreNames.SubGbHawk, "")] [ServiceNotApplicable(new[] { typeof(IDriveLight) })] public partial class SubGBHawk : IEmulator, IStatable, IInputPollable, ISettable, IDebuggable diff --git a/src/BizHawk.Emulation.Cores/Consoles/Nintendo/SubNESHawk/SubNESHawk.cs b/src/BizHawk.Emulation.Cores/Consoles/Nintendo/SubNESHawk/SubNESHawk.cs index 5014ef8b659..485d2f64a8b 100644 --- a/src/BizHawk.Emulation.Cores/Consoles/Nintendo/SubNESHawk/SubNESHawk.cs +++ b/src/BizHawk.Emulation.Cores/Consoles/Nintendo/SubNESHawk/SubNESHawk.cs @@ -3,11 +3,7 @@ namespace BizHawk.Emulation.Cores.Nintendo.SubNESHawk { - [Core( - CoreNames.SubNesHawk, - "", - isPorted: false, - isReleased: true)] + [Core(CoreNames.SubNesHawk, "")] [ServiceNotApplicable(new[] { typeof(IDriveLight) })] public partial class SubNESHawk : IEmulator, IStatable, IInputPollable, ISettable diff --git a/src/BizHawk.Emulation.Cores/Consoles/Nintendo/VB/VirtualBoyee.cs b/src/BizHawk.Emulation.Cores/Consoles/Nintendo/VB/VirtualBoyee.cs index de06ac2d899..dd2ace52c45 100644 --- a/src/BizHawk.Emulation.Cores/Consoles/Nintendo/VB/VirtualBoyee.cs +++ b/src/BizHawk.Emulation.Cores/Consoles/Nintendo/VB/VirtualBoyee.cs @@ -10,13 +10,7 @@ namespace BizHawk.Emulation.Cores.Consoles.Nintendo.VB { - [Core(CoreNames.VirtualBoyee, - author: "Mednafen Team", - isPorted: true, - isReleased: true, - portedVersion: "0.9.44.1", - portedUrl: "https://mednafen.github.io/releases/", - singleInstance: false)] + [PortedCore(CoreNames.VirtualBoyee, "Mednafen Team", "0.9.44.1", "https://mednafen.github.io/releases/")] public class VirtualBoyee : WaterboxCore, ISettable { private readonly LibVirtualBoyee _boyee; diff --git a/src/BizHawk.Emulation.Cores/Consoles/PC Engine/PCEngine.cs b/src/BizHawk.Emulation.Cores/Consoles/PC Engine/PCEngine.cs index 51a47270be1..8c0e1c24b11 100644 --- a/src/BizHawk.Emulation.Cores/Consoles/PC Engine/PCEngine.cs +++ b/src/BizHawk.Emulation.Cores/Consoles/PC Engine/PCEngine.cs @@ -11,7 +11,7 @@ namespace BizHawk.Emulation.Cores.PCEngine { public enum NecSystemType { TurboGrafx, TurboCD, SuperGrafx } - [Core(CoreNames.PceHawk, "Vecna", isPorted: false, isReleased: true)] + [Core(CoreNames.PceHawk, "Vecna")] public sealed partial class PCEngine : IEmulator, ISaveRam, IInputPollable, IVideoLogicalOffsets, IRomInfo, IDebuggable, ISettable, IDriveLight, ICodeDataLogger, IPceGpuView diff --git a/src/BizHawk.Emulation.Cores/Consoles/SNK/NeoGeoPort.cs b/src/BizHawk.Emulation.Cores/Consoles/SNK/NeoGeoPort.cs index d961fac62c3..84f5cdc00c0 100644 --- a/src/BizHawk.Emulation.Cores/Consoles/SNK/NeoGeoPort.cs +++ b/src/BizHawk.Emulation.Cores/Consoles/SNK/NeoGeoPort.cs @@ -5,13 +5,7 @@ namespace BizHawk.Emulation.Cores.Consoles.SNK { - [Core(CoreNames.NeoPop, - author: "Thomas Klausner, Mednafen Team", - isPorted: true, - isReleased: true, - portedVersion: "1.26.1", - portedUrl: "https://mednafen.github.io/releases/", - singleInstance: false)] + [PortedCore(CoreNames.NeoPop, "Thomas Klausner, Mednafen Team", "1.26.1", "https://mednafen.github.io/releases/")] public class NeoGeoPort : NymaCore, ISaveRam // NGP provides its own saveram interface { diff --git a/src/BizHawk.Emulation.Cores/Consoles/Sega/GGHawkLink/GGHawkLink.cs b/src/BizHawk.Emulation.Cores/Consoles/Sega/GGHawkLink/GGHawkLink.cs index e48d3481b63..074bfee09a4 100644 --- a/src/BizHawk.Emulation.Cores/Consoles/Sega/GGHawkLink/GGHawkLink.cs +++ b/src/BizHawk.Emulation.Cores/Consoles/Sega/GGHawkLink/GGHawkLink.cs @@ -4,7 +4,7 @@ namespace BizHawk.Emulation.Cores.Sega.GGHawkLink { - [Core(CoreNames.GGHawkLink, "", isPorted: false, isReleased: false)] + [Core(CoreNames.GGHawkLink, "", isReleased: false)] [ServiceNotApplicable(new[] { typeof(IDriveLight) })] public partial class GGHawkLink : IEmulator, ISaveRam, IDebuggable, IStatable, IInputPollable, IRegionable, ILinkable, ISettable diff --git a/src/BizHawk.Emulation.Cores/Consoles/Sega/PicoDrive/PicoDrive.cs b/src/BizHawk.Emulation.Cores/Consoles/Sega/PicoDrive/PicoDrive.cs index d322c3e2e4f..a4e15c2a2b9 100644 --- a/src/BizHawk.Emulation.Cores/Consoles/Sega/PicoDrive/PicoDrive.cs +++ b/src/BizHawk.Emulation.Cores/Consoles/Sega/PicoDrive/PicoDrive.cs @@ -9,8 +9,7 @@ namespace BizHawk.Emulation.Cores.Consoles.Sega.PicoDrive { - [Core(CoreNames.PicoDrive, "notaz", true, true, - "0e352905c7aa80b166933970abbcecfce96ad64e", "https://github.com/notaz/picodrive", false)] + [PortedCore(CoreNames.PicoDrive, "notaz", "0e352905c7aa80b166933970abbcecfce96ad64e", "https://github.com/notaz/picodrive")] public class PicoDrive : WaterboxCore, IDriveLight, IRegionable, ISettable { private readonly LibPicoDrive _core; diff --git a/src/BizHawk.Emulation.Cores/Consoles/Sega/SMS/SMS.cs b/src/BizHawk.Emulation.Cores/Consoles/Sega/SMS/SMS.cs index 0abeff4ab48..dfaa897e6f5 100644 --- a/src/BizHawk.Emulation.Cores/Consoles/Sega/SMS/SMS.cs +++ b/src/BizHawk.Emulation.Cores/Consoles/Sega/SMS/SMS.cs @@ -14,11 +14,7 @@ namespace BizHawk.Emulation.Cores.Sega.MasterSystem { - [Core( - CoreNames.SMSHawk, - "Vecna", - isPorted: false, - isReleased: true)] + [Core(CoreNames.SMSHawk, "Vecna")] [ServiceNotApplicable(new[] { typeof(IDriveLight) })] public partial class SMS : IEmulator, ISoundProvider, ISaveRam, IInputPollable, IRegionable, IDebuggable, ISettable, ICodeDataLogger diff --git a/src/BizHawk.Emulation.Cores/Consoles/Sega/Saturn/Saturnus.cs b/src/BizHawk.Emulation.Cores/Consoles/Sega/Saturn/Saturnus.cs index 660442d651b..4019200da64 100644 --- a/src/BizHawk.Emulation.Cores/Consoles/Sega/Saturn/Saturnus.cs +++ b/src/BizHawk.Emulation.Cores/Consoles/Sega/Saturn/Saturnus.cs @@ -5,13 +5,7 @@ namespace BizHawk.Emulation.Cores.Consoles.Sega.Saturn { - [Core(CoreNames.Saturnus, - author: "Mednafen Team", - isPorted: true, - isReleased: true, - portedVersion: "1.26.1", - portedUrl: "https://mednafen.github.io/releases/", - singleInstance: false)] + [PortedCore(CoreNames.Saturnus, "Mednafen Team", "1.26.1", "https://mednafen.github.io/releases/")] public class Saturnus : NymaCore, IRegionable { [CoreConstructor("SAT")] diff --git a/src/BizHawk.Emulation.Cores/Consoles/Sega/gpgx64/GPGX.cs b/src/BizHawk.Emulation.Cores/Consoles/Sega/gpgx64/GPGX.cs index 798fc8aeab8..303986ec8bf 100644 --- a/src/BizHawk.Emulation.Cores/Consoles/Sega/gpgx64/GPGX.cs +++ b/src/BizHawk.Emulation.Cores/Consoles/Sega/gpgx64/GPGX.cs @@ -10,14 +10,7 @@ namespace BizHawk.Emulation.Cores.Consoles.Sega.gpgx { - [Core( - CoreNames.Gpgx, - "", - isPorted: true, - isReleased: true, - portedVersion: "r874", - portedUrl: "https://code.google.com/p/genplus-gx/", - singleInstance: false)] + [PortedCore(CoreNames.Gpgx, "", "r874", "https://code.google.com/p/genplus-gx/")] public partial class GPGX : IEmulator, IVideoProvider, ISaveRam, IStatable, IRegionable, IInputPollable, IDebuggable, IDriveLight, ICodeDataLogger, IDisassemblable { diff --git a/src/BizHawk.Emulation.Cores/Consoles/Sony/PS2/DobieStation.cs b/src/BizHawk.Emulation.Cores/Consoles/Sony/PS2/DobieStation.cs index b1e61362953..f96bc15ea61 100644 --- a/src/BizHawk.Emulation.Cores/Consoles/Sony/PS2/DobieStation.cs +++ b/src/BizHawk.Emulation.Cores/Consoles/Sony/PS2/DobieStation.cs @@ -7,7 +7,7 @@ namespace BizHawk.Emulation.Cores.Sony.PS2 { - [Core(CoreNames.DobieStation, "PSI", true, false, "fa33778b056aa32", "https://github.com/PSI-Rockin/DobieStation", false)] + [PortedCore(CoreNames.DobieStation, "PSI", "fa33778b056aa32", "https://github.com/PSI-Rockin/DobieStation", isReleased: false)] public unsafe class DobieStation : WaterboxCore, ISettable { private readonly LibDobieStation _core; diff --git a/src/BizHawk.Emulation.Cores/Consoles/Sony/PSX/Octoshock.cs b/src/BizHawk.Emulation.Cores/Consoles/Sony/PSX/Octoshock.cs index df75dead802..7176afefc10 100644 --- a/src/BizHawk.Emulation.Cores/Consoles/Sony/PSX/Octoshock.cs +++ b/src/BizHawk.Emulation.Cores/Consoles/Sony/PSX/Octoshock.cs @@ -29,11 +29,7 @@ namespace BizHawk.Emulation.Cores.Sony.PSX { - [Core( - CoreNames.Octoshock, - "Mednafen Team", - isPorted: true, - isReleased: true)] + [PortedCore(CoreNames.Octoshock, "Mednafen Team")] public unsafe partial class Octoshock : IEmulator, IVideoProvider, ISoundProvider, ISaveRam, IStatable, IDriveLight, ISettable, IRegionable, IInputPollable, IRomInfo { public Octoshock(CoreComm comm, PSF psf, Octoshock.Settings settings, Octoshock.SyncSettings syncSettings) diff --git a/src/BizHawk.Emulation.Cores/Consoles/WonderSwan/WonderSwan.cs b/src/BizHawk.Emulation.Cores/Consoles/WonderSwan/WonderSwan.cs index 57e82bf1bd6..2afaa1c89b4 100644 --- a/src/BizHawk.Emulation.Cores/Consoles/WonderSwan/WonderSwan.cs +++ b/src/BizHawk.Emulation.Cores/Consoles/WonderSwan/WonderSwan.cs @@ -6,7 +6,7 @@ namespace BizHawk.Emulation.Cores.WonderSwan { - [Core(CoreNames.Cygne, "Dox, Mednafen Team", true, true, "1.24.3", "https://mednafen.github.io/releases/", false)] + [PortedCore(CoreNames.Cygne, "Dox, Mednafen Team", "1.24.3", "https://mednafen.github.io/releases/")] [ServiceNotApplicable(new[] { typeof(IDriveLight), typeof(IRegionable) })] public partial class WonderSwan : IEmulator, IVideoProvider, ISoundProvider, IInputPollable, IDebuggable diff --git a/src/BizHawk.Emulation.Cores/Libretro/LibretroCore.cs b/src/BizHawk.Emulation.Cores/Libretro/LibretroCore.cs index edc38608c24..960315e1c19 100644 --- a/src/BizHawk.Emulation.Cores/Libretro/LibretroCore.cs +++ b/src/BizHawk.Emulation.Cores/Libretro/LibretroCore.cs @@ -13,7 +13,7 @@ namespace BizHawk.Emulation.Cores.Libretro { - [Core(CoreNames.Libretro, "zeromus", isPorted: false, isReleased: false)] + [Core(CoreNames.Libretro, "zeromus", isReleased: false)] [ServiceNotApplicable(new[] { typeof(IDriveLight) })] public unsafe partial class LibretroCore : IEmulator, ISettable, ISaveRam, IStatable, IVideoProvider, IInputPollable