Rename CoreAttributes to CoreAttribute as to not be a bad person

This commit is contained in:
adelikat 2017-07-12 14:10:55 -05:00
parent a0b2a04cd5
commit c6e0e9fa57
44 changed files with 56 additions and 56 deletions

View File

@ -486,8 +486,8 @@ namespace BizHawk.Client.Common
if (!record && emulator.SystemId == "NES") // For NES we need special logic since the movie will drive which core to load
{
var quicknesName = ((CoreAttributes)Attribute.GetCustomAttribute(typeof(QuickNES), typeof(CoreAttributes))).CoreName;
var neshawkName = ((CoreAttributes)Attribute.GetCustomAttribute(typeof(NES), typeof(CoreAttributes))).CoreName;
var quicknesName = ((CoreAttribute)Attribute.GetCustomAttribute(typeof(QuickNES), typeof(CoreAttribute))).CoreName;
var neshawkName = ((CoreAttribute)Attribute.GetCustomAttribute(typeof(NES), typeof(CoreAttribute))).CoreName;
// If either is specified use that, else use whatever is currently set
if (movie.Core == quicknesName)
@ -503,8 +503,8 @@ namespace BizHawk.Client.Common
}
else if (!record && emulator.SystemId == "SNES") // ditto with snes9x vs bsnes
{
var snes9xName = ((CoreAttributes)Attribute.GetCustomAttribute(typeof(Snes9x), typeof(CoreAttributes))).CoreName;
var bsnesName = ((CoreAttributes)Attribute.GetCustomAttribute(typeof(LibsnesCore), typeof(CoreAttributes))).CoreName;
var snes9xName = ((CoreAttribute)Attribute.GetCustomAttribute(typeof(Snes9x), typeof(CoreAttribute))).CoreName;
var bsnesName = ((CoreAttribute)Attribute.GetCustomAttribute(typeof(LibsnesCore), typeof(CoreAttribute))).CoreName;
if (movie.Core == snes9xName)
{
@ -519,8 +519,8 @@ namespace BizHawk.Client.Common
}
else if (!record && emulator.SystemId == "GBA") // ditto with GBA, we should probably architect this at some point, this isn't sustainable
{
var mGBAName = ((CoreAttributes)Attribute.GetCustomAttribute(typeof(MGBAHawk), typeof(CoreAttributes))).CoreName;
var vbaNextName = ((CoreAttributes)Attribute.GetCustomAttribute(typeof(VBANext), typeof(CoreAttributes))).CoreName;
var mGBAName = ((CoreAttribute)Attribute.GetCustomAttribute(typeof(MGBAHawk), typeof(CoreAttribute))).CoreName;
var vbaNextName = ((CoreAttribute)Attribute.GetCustomAttribute(typeof(VBANext), typeof(CoreAttribute))).CoreName;
if (movie.Core == mGBAName)
{
@ -535,8 +535,8 @@ namespace BizHawk.Client.Common
}
else if (!record && emulator.SystemId == "A78") // meh, copy pasta one more time, last time, I promise
{
var atari7800HawkName = ((CoreAttributes)Attribute.GetCustomAttribute(typeof(A7800Hawk), typeof(CoreAttributes))).CoreName;
var emu7800HawkName = ((CoreAttributes)Attribute.GetCustomAttribute(typeof(Atari7800), typeof(CoreAttributes))).CoreName;
var atari7800HawkName = ((CoreAttribute)Attribute.GetCustomAttribute(typeof(A7800Hawk), typeof(CoreAttribute))).CoreName;
var emu7800HawkName = ((CoreAttribute)Attribute.GetCustomAttribute(typeof(Atari7800), typeof(CoreAttribute))).CoreName;
if (movie.Core == atari7800HawkName)
{

View File

@ -336,8 +336,8 @@ namespace BizHawk.Client.Common.MovieConversionExtensions
movie.HeaderEntries.Add("Is32X", "1");
}
movie.Core = ((CoreAttributes)Attribute
.GetCustomAttribute(Global.Emulator.GetType(), typeof(CoreAttributes)))
movie.Core = ((CoreAttribute)Attribute
.GetCustomAttribute(Global.Emulator.GetType(), typeof(CoreAttribute)))
.CoreName;
}
}

View File

@ -45,7 +45,7 @@ namespace BizHawk.Client.EmuHawk
.Load("BizHawk.Emulation.Cores")
.GetTypes()
.Where(t => typeof(IEmulator).IsAssignableFrom(t))
.Select(t => t.GetCustomAttributes(false).OfType<CoreAttributes>().FirstOrDefault())
.Select(t => t.GetCustomAttributes(false).OfType<CoreAttribute>().FirstOrDefault())
.Where(a => a != null)
.Where(a => a.Released)
.OrderByDescending(a => a.CoreName.ToLower())

View File

@ -15,7 +15,7 @@ namespace BizHawk.Client.EmuHawk
{
private string url = "";
public BizBoxInfoControl(CoreAttributes attributes)
public BizBoxInfoControl(CoreAttribute attributes)
{
InitializeComponent();
CoreNameLabel.Text = attributes.CoreName;

View File

@ -223,7 +223,7 @@ namespace BizHawk.Client.EmuHawk
.Select(t => new
{
Type = t,
CoreAttributes = (CoreAttributes)t.GetCustomAttributes(typeof(CoreAttributes), false).First()
CoreAttributes = (CoreAttribute)t.GetCustomAttributes(typeof(CoreAttribute), false).First()
})
.OrderByDescending(t => t.CoreAttributes.Released)
.ThenBy(t => t.CoreAttributes.CoreName)

View File

@ -7,7 +7,7 @@ using BizHawk.Common;
namespace BizHawk.Emulation.Common
{
[CoreAttributes("NullHawk", "", false, true)]
[Core("NullHawk", "", false, true)]
[ServiceNotApplicable(typeof(IStatable), typeof(ISaveRam), typeof(IDriveLight), typeof(ICodeDataLogger), typeof(IMemoryDomains),
typeof(IDebuggable), typeof(IDisassemblable), typeof(IInputPollable), typeof(IRegionable), typeof(ITraceable), typeof(IBoardInfo))]
public class NullEmulator : IEmulator, IVideoProvider, ISoundProvider, ISettable<NullEmulator.NullEmulatorSettings, object>

View File

@ -73,7 +73,7 @@
<Compile Include="Base Implementations\TraceBuffer.cs" />
<Compile Include="Base Implementations\CodeDataLog.cs" />
<Compile Include="ControllerDefinitionMerger.cs" />
<Compile Include="CoreAttributes.cs" />
<Compile Include="CoreAttribute.cs" />
<Compile Include="CoreComms.cs" />
<Compile Include="Database\CRC32.cs" />
<Compile Include="Database\Database.cs" />

View File

@ -3,9 +3,9 @@
namespace BizHawk.Emulation.Common
{
[AttributeUsage(AttributeTargets.Class)]
public class CoreAttributes : Attribute
public class CoreAttribute : Attribute
{
public CoreAttributes(
public CoreAttribute(
string name,
string author,
bool isPorted = false,

View File

@ -7,9 +7,9 @@ namespace BizHawk.Emulation.Common.IEmulatorExtensions
{
public static class Extensions
{
public static CoreAttributes Attributes(this IEmulator core)
public static CoreAttribute Attributes(this IEmulator core)
{
return (CoreAttributes)Attribute.GetCustomAttribute(core.GetType(), typeof(CoreAttributes));
return (CoreAttribute)Attribute.GetCustomAttribute(core.GetType(), typeof(CoreAttribute));
}
// todo: most of the special cases involving the NullEmulator should probably go away

View File

@ -7,7 +7,7 @@ using BizHawk.Emulation.Cores.Components.Z80;
// http://www.ticalc.org/pub/text/calcinfo/
namespace BizHawk.Emulation.Cores.Calculators
{
[CoreAttributes(
[Core(
"TI83Hawk",
"zeromus",
isPorted: false,

View File

@ -6,7 +6,7 @@ using Jellyfish.Virtu;
namespace BizHawk.Emulation.Cores.Computers.AppleII
{
[CoreAttributes(
[Core(
"Virtu",
"fool",
isPorted: true,

View File

@ -9,7 +9,7 @@ using BizHawk.Emulation.Cores.Computers.Commodore64.Media;
namespace BizHawk.Emulation.Cores.Computers.Commodore64
{
[CoreAttributes(
[Core(
"C64Hawk",
"SaxxonPike",
isPorted: false,

View File

@ -7,7 +7,7 @@ using BizHawk.Emulation.Common;
namespace BizHawk.Emulation.Cores.Atari.Atari2600
{
[CoreAttributes(
[Core(
"Atari2600Hawk",
"Micro500, Alyosha, adelikat, natt",
isPorted: false,

View File

@ -7,7 +7,7 @@ using EMU7800.Win;
namespace BizHawk.Emulation.Cores.Atari.Atari7800
{
[CoreAttributes(
[Core(
"EMU7800",
"",
isPorted: true,

View File

@ -6,7 +6,7 @@ using BizHawk.Emulation.Cores.Components.M6502;
namespace BizHawk.Emulation.Cores.Atari.A7800Hawk
{
[CoreAttributes(
[Core(
"A7800Hawk",
"",
isPorted: false,

View File

@ -6,7 +6,7 @@ using BizHawk.Emulation.Common;
namespace BizHawk.Emulation.Cores.Atari.Lynx
{
[CoreAttributes("Handy", "K. Wilkins, Mednafen Team", true, true, "mednafen 0-9-34-1", "http://mednafen.sourceforge.net/")]
[Core("Handy", "K. Wilkins, Mednafen Team", true, true, "mednafen 0-9-34-1", "http://mednafen.sourceforge.net/")]
[ServiceNotApplicable(typeof(ISettable<,>), typeof(IDriveLight), typeof(IRegionable))]
public partial class Lynx : IEmulator, IVideoProvider, ISoundProvider, ISaveRam, IStatable, IInputPollable
{

View File

@ -8,7 +8,7 @@ using System.Threading.Tasks;
namespace BizHawk.Emulation.Cores.Consoles.Belogic
{
[CoreAttributes("uzem", "David Etherton", true, true, "", "", false)]
[Core("uzem", "David Etherton", true, true, "", "", false)]
public class Uzem : WaterboxCore
{
private LibUzem _uze;

View File

@ -4,7 +4,7 @@ using BizHawk.Emulation.Cores.Components.Z80;
namespace BizHawk.Emulation.Cores.ColecoVision
{
[CoreAttributes(
[Core(
"ColecoHawk",
"Vecna",
isPorted: false,

View File

@ -5,7 +5,7 @@ using BizHawk.Emulation.Cores.Components.CP1610;
namespace BizHawk.Emulation.Cores.Intellivision
{
[CoreAttributes(
[Core(
"IntelliHawk",
"BrandonE, Alyosha",
isPorted: false,

View File

@ -8,7 +8,7 @@ using System.Threading.Tasks;
namespace BizHawk.Emulation.Cores.Consoles.Magnavox
{
[CoreAttributes("o2em", "", true, false, "", "", false)]
[Core("o2em", "", true, false, "", "", false)]
public class O2Em : WaterboxCore
{
private LibO2Em _core;

View File

@ -15,7 +15,7 @@ using BizHawk.Common;
namespace BizHawk.Emulation.Cores.Consoles.NEC.PCFX
{
[CoreAttributes("T. S. T.", "Mednafen Team", true, false, "0.9.44.1",
[Core("T. S. T.", "Mednafen Team", true, false, "0.9.44.1",
"https://mednafen.github.io/releases/", false)]
public class Tst : WaterboxCore, IDriveLight,
ISettable<Tst.Settings, Tst.SyncSettings>

View File

@ -3,7 +3,7 @@ using BizHawk.Emulation.Common;
namespace BizHawk.Emulation.Cores.Nintendo.GBA
{
[CoreAttributes("mGBA", "endrift", true, true, "0.6.0 (24ab81f8db7745586cef246be8957ad272aded9b)", "https://mgba.io/", false)]
[Core("mGBA", "endrift", true, true, "0.6.0 (24ab81f8db7745586cef246be8957ad272aded9b)", "https://mgba.io/", false)]
[ServiceNotApplicable(typeof(IDriveLight), typeof(IRegionable))]
public partial class MGBAHawk : IEmulator, IVideoProvider, ISoundProvider, IGBAGPUViewable,
ISaveRam, IStatable, IInputPollable, ISettable<MGBAHawk.Settings, MGBAHawk.SyncSettings>,

View File

@ -7,7 +7,7 @@ using BizHawk.Emulation.Cores.Components.ARM;
namespace BizHawk.Emulation.Cores.Nintendo.GBA
{
[CoreAttributes("VBA-Next", "many authors", true, true, "cd508312a29ed8c29dacac1b11c2dce56c338a54", "https://github.com/libretro/vba-next")]
[Core("VBA-Next", "many authors", true, true, "cd508312a29ed8c29dacac1b11c2dce56c338a54", "https://github.com/libretro/vba-next")]
[ServiceNotApplicable(typeof(IDriveLight), typeof(IRegionable))]
public partial class VBANext : IEmulator, IVideoProvider, ISoundProvider, IInputPollable,
IGBAGPUViewable, ISaveRam, IStatable, IDebuggable, ISettable<object, VBANext.SyncSettings>

View File

@ -9,7 +9,7 @@ namespace BizHawk.Emulation.Cores.Nintendo.Gameboy
/// <summary>
/// a gameboy/gameboy color emulator wrapped around native C++ libgambatte
/// </summary>
[CoreAttributes(
[Core(
"Gambatte",
"",
isPorted: true,

View File

@ -2,7 +2,7 @@
namespace BizHawk.Emulation.Cores.Nintendo.Gameboy
{
[CoreAttributes(
[Core(
"DualGambatte",
"sinamas/natt",
isPorted: true,

View File

@ -11,7 +11,7 @@ using System.Threading.Tasks;
namespace BizHawk.Emulation.Cores.Consoles.Nintendo.Gameboy
{
[CoreAttributes("Pizza Boy", "Davide Berra", true, true, "c7bc6ee376028b3766de8d7a02e60ab794841f45",
[Core("Pizza Boy", "Davide Berra", true, true, "c7bc6ee376028b3766de8d7a02e60ab794841f45",
"https://github.com/davideberra/emu-pizza/", false)]
public class Pizza : WaterboxCore, IGameboyCommon
{

View File

@ -7,7 +7,7 @@ using BizHawk.Emulation.Cores.Nintendo.N64.NativeApi;
namespace BizHawk.Emulation.Cores.Nintendo.N64
{
[CoreAttributes(
[Core(
"Mupen64Plus",
"",
isPorted: true,

View File

@ -9,7 +9,7 @@ using BizHawk.Emulation.Common;
//TODO - redo all timekeeping in terms of master clock
namespace BizHawk.Emulation.Cores.Nintendo.NES
{
[CoreAttributes(
[Core(
"NesHawk",
"zeromus, natt, alyosha, adelikat",
isPorted: false,

View File

@ -8,7 +8,7 @@ using BizHawk.Common.BizInvoke;
namespace BizHawk.Emulation.Cores.Consoles.Nintendo.QuickNES
{
[CoreAttributes(
[Core(
"QuickNes",
"",
isPorted: true,

View File

@ -17,7 +17,7 @@ using BizHawk.Emulation.Cores.Components.W65816;
// wrap dll code around some kind of library-accessing interface so that it doesnt malfunction if the dll is unavailablecd
namespace BizHawk.Emulation.Cores.Nintendo.SNES
{
[CoreAttributes(
[Core(
"BSNES",
"byuu",
isPorted: true,

View File

@ -12,7 +12,7 @@ using System.Linq;
namespace BizHawk.Emulation.Cores.Nintendo.SNES9X
{
[CoreAttributes("Snes9x", "", true, true,
[Core("Snes9x", "", true, true,
"5e0319ab3ef9611250efb18255186d0dc0d7e125", "https://github.com/snes9xgit/snes9x", false)]
[ServiceNotApplicable(typeof(IDriveLight))]
public class Snes9x : WaterboxCore,

View File

@ -16,7 +16,7 @@ using System.Threading.Tasks;
namespace BizHawk.Emulation.Cores.Consoles.Nintendo.VB
{
[CoreAttributes("Virtual Boyee", "Mednafen Team", true, true, "0.9.44.1",
[Core("Virtual Boyee", "Mednafen Team", true, true, "0.9.44.1",
"https://mednafen.github.io/releases/", false)]
public class VirtualBoyee : WaterboxCore, ISettable<VirtualBoyee.Settings, VirtualBoyee.SyncSettings>
{

View File

@ -11,7 +11,7 @@ namespace BizHawk.Emulation.Cores.PCEngine
{
public enum NecSystemType { TurboGrafx, TurboCD, SuperGrafx }
[CoreAttributes(
[Core(
"PCEHawk",
"Vecna",
isPorted: false,

View File

@ -15,7 +15,7 @@ using System.Threading.Tasks;
namespace BizHawk.Emulation.Cores.Consoles.SNK
{
[CoreAttributes("Dual NeoPop", "Thomas Klausner, Mednafen Team, natt", true, false, "0.9.44.1",
[Core("Dual NeoPop", "Thomas Klausner, Mednafen Team, natt", true, false, "0.9.44.1",
"https://mednafen.github.io/releases/", false)]
public class DualNeoGeoPort : IEmulator
{

View File

@ -16,7 +16,7 @@ using System.Threading.Tasks;
namespace BizHawk.Emulation.Cores.Consoles.SNK
{
[CoreAttributes("NeoPop", "Thomas Klausner, Mednafen Team", true, true, "0.9.44.1",
[Core("NeoPop", "Thomas Klausner, Mednafen Team", true, true, "0.9.44.1",
"https://mednafen.github.io/releases/", false)]
public class NeoGeoPort : WaterboxCore,
ISaveRam, // NGP provides its own saveram interface

View File

@ -11,7 +11,7 @@ using System.IO;
namespace BizHawk.Emulation.Cores.Consoles.Sega.PicoDrive
{
[CoreAttributes("PicoDrive", "notaz", true, true,
[Core("PicoDrive", "notaz", true, true,
"0e352905c7aa80b166933970abbcecfce96ad64e", "https://github.com/notaz/picodrive", false)]
public class PicoDrive : WaterboxCore, IDriveLight, IRegionable
{

View File

@ -17,7 +17,7 @@ using BizHawk.Emulation.Cores.Components.Z80;
namespace BizHawk.Emulation.Cores.Sega.MasterSystem
{
[CoreAttributes(
[Core(
"SMSHawk",
"Vecna",
isPorted: false,

View File

@ -17,7 +17,7 @@ using System.Threading.Tasks;
namespace BizHawk.Emulation.Cores.Consoles.Sega.Saturn
{
[CoreAttributes("Saturnus", "Mednafen Team", true, false, "0.9.44.1",
[Core("Saturnus", "Mednafen Team", true, false, "0.9.44.1",
"https://mednafen.github.io/releases/", false)]
public class Saturnus : WaterboxCore,
IDriveLight, IRegionable,

View File

@ -10,7 +10,7 @@ using BizHawk.Emulation.DiscSystem;
namespace BizHawk.Emulation.Cores.Consoles.Sega.gpgx
{
[CoreAttributes(
[Core(
"Genplus-gx",
"",
isPorted: true,

View File

@ -5,7 +5,7 @@ using BizHawk.Emulation.Common;
namespace BizHawk.Emulation.Cores.Sony.PSP
{
[CoreAttributes(
[Core(
"PPSSPP",
"hrydgard",
isPorted: true,

View File

@ -25,7 +25,7 @@ using BizHawk.Common;
namespace BizHawk.Emulation.Cores.Sony.PSX
{
[CoreAttributes(
[Core(
"Octoshock",
"Mednafen Team",
isPorted: true,

View File

@ -6,7 +6,7 @@ using BizHawk.Emulation.Common;
namespace BizHawk.Emulation.Cores.WonderSwan
{
[CoreAttributes("Cygne/Mednafen", "Dox, Mednafen Team", true, true, "0.9.36.5", "http://mednafen.sourceforge.net/")]
[Core("Cygne/Mednafen", "Dox, Mednafen Team", true, true, "0.9.36.5", "http://mednafen.sourceforge.net/")]
[ServiceNotApplicable(typeof(IDriveLight), typeof(IRegionable))]
public partial class WonderSwan : IEmulator, IVideoProvider, ISoundProvider,
IInputPollable, IDebuggable

View File

@ -98,7 +98,7 @@ namespace BizHawk.Emulation.Cores
private readonly Dictionary<string, List<Core>> systems = new Dictionary<string, List<Core>>();
private void ProcessConstructor(Type type, string system, CoreAttributes coreattr, ConstructorInfo cons)
private void ProcessConstructor(Type type, string system, CoreAttribute coreattr, ConstructorInfo cons)
{
Core core = new Core(coreattr.CoreName, type, cons);
List<Core> ss;
@ -176,7 +176,7 @@ namespace BizHawk.Emulation.Cores
{
if (!typ.IsAbstract && typ.GetInterfaces().Contains(typeof(IEmulator)))
{
var coreattr = typ.GetCustomAttributes(typeof(CoreAttributes), false);
var coreattr = typ.GetCustomAttributes(typeof(CoreAttribute), false);
if (coreattr.Length != 1)
throw new InvalidOperationException(string.Format("IEmulator {0} without CoreAttributes!", typ));
var cons = typ.GetConstructors(BindingFlags.Public | BindingFlags.Instance)
@ -185,7 +185,7 @@ namespace BizHawk.Emulation.Cores
{
foreach (string system in ((CoreConstructorAttribute)con.GetCustomAttributes(typeof(CoreConstructorAttribute), false)[0]).Systems)
{
ProcessConstructor(typ, system, (CoreAttributes)coreattr[0], con);
ProcessConstructor(typ, system, (CoreAttribute)coreattr[0], con);
}
}
}

View File

@ -17,7 +17,7 @@ using BizHawk.Emulation.Common;
namespace BizHawk.Emulation.Cores.Libretro
{
[CoreAttributes("Libretro", "zeromus")]
[Core("Libretro", "zeromus")]
[ServiceNotApplicable(typeof(IDriveLight))]
public unsafe partial class LibretroCore : IEmulator, ISettable<LibretroCore.Settings, LibretroCore.SyncSettings>,
ISaveRam, IStatable, IVideoProvider, IInputPollable