From 8732e561a1d70974ad60ca145b1aeed03ca8cc45 Mon Sep 17 00:00:00 2001
From: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
Date: Sun, 2 Oct 2022 18:53:34 -0700
Subject: [PATCH] Better Jaguar Virtual Width/Height Jaguar VPad Proper Jaguar
 default controls Remove a lot of unneeded `ReSharper disable once
 UnusedMember.Global` in vpads (Global has been gone for a while now...) Set
 VirtualJaguar to released

---
 Assets/defctrl.json                           | 23 +++++++
 .../Consoles/Atari/jaguar/VirtualJaguar.cs    |  6 +-
 .../vpads_schemata/A26Schema.cs               |  1 -
 .../vpads_schemata/A78Schema.cs               |  1 -
 .../vpads_schemata/AppleIISchema.cs           |  1 -
 .../vpads_schemata/C64Schema.cs               |  1 -
 .../vpads_schemata/ColecoSchema.cs            |  1 -
 .../vpads_schemata/DualGBSchema.cs            |  1 -
 .../vpads_schemata/GBASchema.cs               |  1 -
 .../vpads_schemata/GBSchema.cs                |  1 -
 .../vpads_schemata/GGLSchema.cs               |  1 -
 .../vpads_schemata/GenSchema.cs               |  1 -
 .../vpads_schemata/IntvSchema.cs              |  1 -
 .../vpads_schemata/JaguarSchema.cs            | 65 +++++++++++++++++++
 .../vpads_schemata/LynxSchema.cs              |  1 -
 .../vpads_schemata/N64Schema.cs               |  1 -
 .../vpads_schemata/NdsSchema.cs               |  1 -
 .../vpads_schemata/NesSchema.cs               |  1 -
 .../vpads_schemata/NgpSchema.cs               |  1 -
 .../vpads_schemata/O2Schema.cs                |  1 -
 .../vpads_schemata/PSXSchema.cs               |  1 -
 .../vpads_schemata/PceSchema.cs               |  3 -
 .../vpads_schemata/PcfxSchema.cs              |  1 -
 .../vpads_schemata/SGBSchema.cs               |  1 -
 .../vpads_schemata/SaturnSchema.cs            |  1 -
 .../vpads_schemata/SnesSchema.cs              |  1 -
 .../vpads_schemata/VECSchema.cs               |  1 -
 .../vpads_schemata/VirtualBoySchema.cs        |  1 -
 .../vpads_schemata/WonderSwanSchema.cs        |  1 -
 .../vpads_schemata/ZXSpectrumSchema.cs        |  1 -
 30 files changed, 91 insertions(+), 32 deletions(-)
 create mode 100644 src/BizHawk.Emulation.Cores/vpads_schemata/JaguarSchema.cs

diff --git a/Assets/defctrl.json b/Assets/defctrl.json
index 60c2a11596..608db04562 100644
--- a/Assets/defctrl.json
+++ b/Assets/defctrl.json
@@ -1029,6 +1029,29 @@
 			"YES": "Y",
 			"NO": "N",
 			"ENT": "KeypadEnter"
+		},
+		"Jaguar Controller": {
+            "P1 Up": "Up",
+            "P1 Down": "Down",
+            "P1 Left": "Left",
+            "P1 Right": "Right",
+            "P1 A": "C",
+            "P1 B": "X",
+            "P1 C": "Z",
+            "P1 Option": "Space",
+            "P1 Pause": "Enter",
+            "P1 0": "Keypad0",
+            "P1 1": "Keypad1",
+            "P1 2": "Keypad2",
+            "P1 3": "Keypad3",
+            "P1 4": "Keypad4",
+            "P1 5": "Keypad5",
+            "P1 6": "Keypad6",
+            "P1 7": "Keypad7",
+            "P1 8": "Keypad8",
+            "P1 9": "Keypad9",
+            "P1 Asterisk": "KeypadMultiply",
+            "P1 Pound": "KeypadDivide",
 		}
 	},
 	"AllTrollersAutoFire": {
diff --git a/src/BizHawk.Emulation.Cores/Consoles/Atari/jaguar/VirtualJaguar.cs b/src/BizHawk.Emulation.Cores/Consoles/Atari/jaguar/VirtualJaguar.cs
index 6a486fa0b4..cc41817e98 100644
--- a/src/BizHawk.Emulation.Cores/Consoles/Atari/jaguar/VirtualJaguar.cs
+++ b/src/BizHawk.Emulation.Cores/Consoles/Atari/jaguar/VirtualJaguar.cs
@@ -12,7 +12,7 @@ using BizHawk.Emulation.DiscSystem;
 
 namespace BizHawk.Emulation.Cores.Atari.Jaguar
 {
-	[PortedCore(CoreNames.VirtualJaguar, "Niels Wagenaar, Carwin Jones, Adam Green, James L. Hammons", "2.1.3", "https://icculus.org/virtualjaguar/", isReleased: false)]
+	[PortedCore(CoreNames.VirtualJaguar, "Niels Wagenaar, Carwin Jones, Adam Green, James L. Hammons", "2.1.3", "https://icculus.org/virtualjaguar/")]
 	public partial class VirtualJaguar : WaterboxCore, IRegionable, IDriveLight
 	{
 		private readonly LibVirtualJaguar _core;
@@ -250,8 +250,8 @@ namespace BizHawk.Emulation.Cores.Atari.Jaguar
 
 		public DisplayType Region { get; }
 
-		public override int VirtualWidth => 1304;
-		public override int VirtualHeight => Region is DisplayType.PAL ? 1024 : 960;
+		public override int VirtualWidth => 326;
+		public override int VirtualHeight => Region is DisplayType.PAL ? 256 : 240;
 
 		public bool IsJaguarCD => _cd != null;
 		public bool DriveLightEnabled => IsJaguarCD;
diff --git a/src/BizHawk.Emulation.Cores/vpads_schemata/A26Schema.cs b/src/BizHawk.Emulation.Cores/vpads_schemata/A26Schema.cs
index 706ec27971..0201dc9963 100644
--- a/src/BizHawk.Emulation.Cores/vpads_schemata/A26Schema.cs
+++ b/src/BizHawk.Emulation.Cores/vpads_schemata/A26Schema.cs
@@ -8,7 +8,6 @@ using BizHawk.Emulation.Cores.Atari.Atari2600;
 namespace BizHawk.Emulation.Cores
 {
 	[Schema(VSystemID.Raw.A26)]
-	// ReSharper disable once UnusedMember.Global
 	public class A26Schema : IVirtualPadSchema
 	{
 		public IEnumerable<PadSchema> GetPadSchemas(IEmulator core, Action<string> showMessageBox)
diff --git a/src/BizHawk.Emulation.Cores/vpads_schemata/A78Schema.cs b/src/BizHawk.Emulation.Cores/vpads_schemata/A78Schema.cs
index 70abc244b4..361e5a16f0 100644
--- a/src/BizHawk.Emulation.Cores/vpads_schemata/A78Schema.cs
+++ b/src/BizHawk.Emulation.Cores/vpads_schemata/A78Schema.cs
@@ -9,7 +9,6 @@ using BizHawk.Emulation.Cores.Atari.A7800Hawk;
 namespace BizHawk.Emulation.Cores
 {
 	[Schema(VSystemID.Raw.A78)]
-	// ReSharper disable once UnusedMember.Global
 	public class A78Schema : IVirtualPadSchema
 	{
 		private static string StandardControllerName => typeof(StandardController).DisplayName();
diff --git a/src/BizHawk.Emulation.Cores/vpads_schemata/AppleIISchema.cs b/src/BizHawk.Emulation.Cores/vpads_schemata/AppleIISchema.cs
index cc2384478b..4c7975055d 100644
--- a/src/BizHawk.Emulation.Cores/vpads_schemata/AppleIISchema.cs
+++ b/src/BizHawk.Emulation.Cores/vpads_schemata/AppleIISchema.cs
@@ -7,7 +7,6 @@ using BizHawk.Emulation.Common;
 namespace BizHawk.Emulation.Cores
 {
 	[Schema(VSystemID.Raw.AppleII)]
-	// ReSharper disable once UnusedMember.Global
 	public class AppleIISchema : IVirtualPadSchema
 	{
 		public IEnumerable<PadSchema> GetPadSchemas(IEmulator core, Action<string> showMessageBox)
diff --git a/src/BizHawk.Emulation.Cores/vpads_schemata/C64Schema.cs b/src/BizHawk.Emulation.Cores/vpads_schemata/C64Schema.cs
index 74317ab13c..e350af63f0 100644
--- a/src/BizHawk.Emulation.Cores/vpads_schemata/C64Schema.cs
+++ b/src/BizHawk.Emulation.Cores/vpads_schemata/C64Schema.cs
@@ -7,7 +7,6 @@ using BizHawk.Emulation.Common;
 namespace BizHawk.Emulation.Cores
 {
 	[Schema(VSystemID.Raw.C64)]
-	// ReSharper disable once UnusedMember.Global
 	public class C64Schema : IVirtualPadSchema
 	{
 		public IEnumerable<PadSchema> GetPadSchemas(IEmulator core, Action<string> showMessageBox)
diff --git a/src/BizHawk.Emulation.Cores/vpads_schemata/ColecoSchema.cs b/src/BizHawk.Emulation.Cores/vpads_schemata/ColecoSchema.cs
index 63b88e38d4..81d7e3b8fe 100644
--- a/src/BizHawk.Emulation.Cores/vpads_schemata/ColecoSchema.cs
+++ b/src/BizHawk.Emulation.Cores/vpads_schemata/ColecoSchema.cs
@@ -8,7 +8,6 @@ using BizHawk.Emulation.Cores.ColecoVision;
 namespace BizHawk.Emulation.Cores
 {
 	[Schema(VSystemID.Raw.Coleco)]
-	// ReSharper disable once UnusedMember.Global
 	public class ColecoSchema : IVirtualPadSchema
 	{
 		public IEnumerable<PadSchema> GetPadSchemas(IEmulator core, Action<string> showMessageBox)
diff --git a/src/BizHawk.Emulation.Cores/vpads_schemata/DualGBSchema.cs b/src/BizHawk.Emulation.Cores/vpads_schemata/DualGBSchema.cs
index 42a3362c32..71c1fd0bdc 100644
--- a/src/BizHawk.Emulation.Cores/vpads_schemata/DualGBSchema.cs
+++ b/src/BizHawk.Emulation.Cores/vpads_schemata/DualGBSchema.cs
@@ -7,7 +7,6 @@ using BizHawk.Emulation.Common;
 namespace BizHawk.Emulation.Cores
 {
 	[Schema(VSystemID.Raw.GBL)]
-	// ReSharper disable once UnusedMember.Global
 	public class DualGbSchema : IVirtualPadSchema
 	{
 		public IEnumerable<PadSchema> GetPadSchemas(IEmulator core, Action<string> showMessageBox)
diff --git a/src/BizHawk.Emulation.Cores/vpads_schemata/GBASchema.cs b/src/BizHawk.Emulation.Cores/vpads_schemata/GBASchema.cs
index 8770bbc88a..0b1373c792 100644
--- a/src/BizHawk.Emulation.Cores/vpads_schemata/GBASchema.cs
+++ b/src/BizHawk.Emulation.Cores/vpads_schemata/GBASchema.cs
@@ -8,7 +8,6 @@ using BizHawk.Emulation.Cores.Nintendo.GBA;
 namespace BizHawk.Emulation.Cores
 {
 	[Schema(VSystemID.Raw.GBA)]
-	// ReSharper disable once UnusedMember.Global
 	public class GbaSchema : IVirtualPadSchema
 	{
 		public IEnumerable<PadSchema> GetPadSchemas(IEmulator core, Action<string> showMessageBox)
diff --git a/src/BizHawk.Emulation.Cores/vpads_schemata/GBSchema.cs b/src/BizHawk.Emulation.Cores/vpads_schemata/GBSchema.cs
index fd8d83aa03..3c282ed333 100644
--- a/src/BizHawk.Emulation.Cores/vpads_schemata/GBSchema.cs
+++ b/src/BizHawk.Emulation.Cores/vpads_schemata/GBSchema.cs
@@ -7,7 +7,6 @@ using BizHawk.Emulation.Common;
 namespace BizHawk.Emulation.Cores
 {
 	[Schema(VSystemID.Raw.GB)]
-	// ReSharper disable once UnusedMember.Global
 	public class GbSchema : IVirtualPadSchema
 	{
 		public virtual IEnumerable<PadSchema> GetPadSchemas(IEmulator core, Action<string> showMessageBox)
diff --git a/src/BizHawk.Emulation.Cores/vpads_schemata/GGLSchema.cs b/src/BizHawk.Emulation.Cores/vpads_schemata/GGLSchema.cs
index 524cdcfa58..cabb1d1547 100644
--- a/src/BizHawk.Emulation.Cores/vpads_schemata/GGLSchema.cs
+++ b/src/BizHawk.Emulation.Cores/vpads_schemata/GGLSchema.cs
@@ -7,7 +7,6 @@ using BizHawk.Emulation.Common;
 namespace BizHawk.Emulation.Cores
 {
 	[Schema(VSystemID.Raw.GGL)]
-	// ReSharper disable once UnusedMember.Global
 	public class GGLSchema : IVirtualPadSchema
 	{
 		public IEnumerable<PadSchema> GetPadSchemas(IEmulator core, Action<string> showMessageBox)
diff --git a/src/BizHawk.Emulation.Cores/vpads_schemata/GenSchema.cs b/src/BizHawk.Emulation.Cores/vpads_schemata/GenSchema.cs
index 5c24e52b5d..1fbce3d218 100644
--- a/src/BizHawk.Emulation.Cores/vpads_schemata/GenSchema.cs
+++ b/src/BizHawk.Emulation.Cores/vpads_schemata/GenSchema.cs
@@ -10,7 +10,6 @@ using BizHawk.Emulation.Cores.Consoles.Sega.gpgx;
 namespace BizHawk.Emulation.Cores
 {
 	[Schema(VSystemID.Raw.GEN)]
-	// ReSharper disable once UnusedMember.Global
 	public class GenSchema : IVirtualPadSchema
 	{
 		public IEnumerable<PadSchema> GetPadSchemas(IEmulator core, Action<string> showMessageBox)
diff --git a/src/BizHawk.Emulation.Cores/vpads_schemata/IntvSchema.cs b/src/BizHawk.Emulation.Cores/vpads_schemata/IntvSchema.cs
index 94aaa6b6f6..c128f4e0f9 100644
--- a/src/BizHawk.Emulation.Cores/vpads_schemata/IntvSchema.cs
+++ b/src/BizHawk.Emulation.Cores/vpads_schemata/IntvSchema.cs
@@ -10,7 +10,6 @@ using BizHawk.Emulation.Cores.Intellivision;
 namespace BizHawk.Emulation.Cores
 {
 	[Schema(VSystemID.Raw.INTV)]
-	// ReSharper disable once UnusedMember.Global
 	public class IntvSchema : IVirtualPadSchema
 	{
 		private string StandardControllerName => typeof(StandardController).DisplayName();
diff --git a/src/BizHawk.Emulation.Cores/vpads_schemata/JaguarSchema.cs b/src/BizHawk.Emulation.Cores/vpads_schemata/JaguarSchema.cs
new file mode 100644
index 0000000000..d3a3915ac6
--- /dev/null
+++ b/src/BizHawk.Emulation.Cores/vpads_schemata/JaguarSchema.cs
@@ -0,0 +1,65 @@
+using System;
+using System.Collections.Generic;
+using System.Drawing;
+
+using BizHawk.Emulation.Common;
+using BizHawk.Emulation.Cores.Atari.Jaguar;
+
+namespace BizHawk.Emulation.Cores
+{
+	[Schema(VSystemID.Raw.Jaguar)]
+	public class JaguarSchema : IVirtualPadSchema
+	{
+		public IEnumerable<PadSchema> GetPadSchemas(IEmulator core, Action<string> showMessageBox)
+		{
+			var ss = ((VirtualJaguar)core).GetSyncSettings();
+			if (ss.P1Active) yield return StandardController(1);
+			if (ss.P2Active) yield return StandardController(2);
+			yield return ConsoleButtons();
+		}
+
+		private static PadSchema StandardController(int controller)
+		{
+			return new PadSchema
+			{
+				Size = new Size(184, 200),
+				Buttons = new[]
+				{
+					ButtonSchema.Up(14, 12, controller),
+					ButtonSchema.Down(14, 56, controller),
+					ButtonSchema.Left(2, 34, controller),
+					ButtonSchema.Right(24, 34, controller),
+					new ButtonSchema(106, 62, controller, "C"),
+					new ButtonSchema(130, 62, controller, "B"),
+					new ButtonSchema(154, 62, controller, "A"),
+					new ButtonSchema(130, 12, controller, "Option"),
+					new ButtonSchema(130, 37, controller, "Pause"),
+					new ButtonSchema(52, 96, controller, "1"),
+					new ButtonSchema(76, 96, controller, "2"),
+					new ButtonSchema(100, 96, controller, "3"),
+					new ButtonSchema(52, 120, controller, "4"),
+					new ButtonSchema(76, 120, controller, "5"),
+					new ButtonSchema(100, 120, controller, "6"),
+					new ButtonSchema(52, 144, controller, "7"),
+					new ButtonSchema(76, 144, controller, "8"),
+					new ButtonSchema(100, 144, controller, "9"),
+					new ButtonSchema(52, 168, controller, "Asterisk") { DisplayName = "*" },
+					new ButtonSchema(76, 168, controller, "0"),
+					new ButtonSchema(100, 168, controller, "Pound") { DisplayName = "#" },
+				}
+			};
+		}
+
+		private static PadSchema ConsoleButtons()
+		{
+			return new ConsoleSchema
+			{
+				Size = new Size(70, 50),
+				Buttons = new[]
+				{
+					new ButtonSchema(10, 15, "Power"),
+				}
+			};
+		}
+	}
+}
diff --git a/src/BizHawk.Emulation.Cores/vpads_schemata/LynxSchema.cs b/src/BizHawk.Emulation.Cores/vpads_schemata/LynxSchema.cs
index f82b281140..8373e2416c 100644
--- a/src/BizHawk.Emulation.Cores/vpads_schemata/LynxSchema.cs
+++ b/src/BizHawk.Emulation.Cores/vpads_schemata/LynxSchema.cs
@@ -7,7 +7,6 @@ using BizHawk.Emulation.Common;
 namespace BizHawk.Emulation.Cores
 {
 	[Schema(VSystemID.Raw.Lynx)]
-	// ReSharper disable once UnusedMember.Global
 	public class LynxSchema : IVirtualPadSchema
 	{
 		public IEnumerable<PadSchema> GetPadSchemas(IEmulator core, Action<string> showMessageBox)
diff --git a/src/BizHawk.Emulation.Cores/vpads_schemata/N64Schema.cs b/src/BizHawk.Emulation.Cores/vpads_schemata/N64Schema.cs
index 647b3ff835..481573139b 100644
--- a/src/BizHawk.Emulation.Cores/vpads_schemata/N64Schema.cs
+++ b/src/BizHawk.Emulation.Cores/vpads_schemata/N64Schema.cs
@@ -10,7 +10,6 @@ using BizHawk.Emulation.Cores.Nintendo.N64;
 namespace BizHawk.Emulation.Cores
 {
 	[Schema(VSystemID.Raw.N64)]
-	// ReSharper disable once UnusedMember.Global
 	public class N64Schema : IVirtualPadSchema
 	{
 		public IEnumerable<PadSchema> GetPadSchemas(IEmulator core, Action<string> showMessageBox)
diff --git a/src/BizHawk.Emulation.Cores/vpads_schemata/NdsSchema.cs b/src/BizHawk.Emulation.Cores/vpads_schemata/NdsSchema.cs
index ce2ba7ca9c..22965830c8 100644
--- a/src/BizHawk.Emulation.Cores/vpads_schemata/NdsSchema.cs
+++ b/src/BizHawk.Emulation.Cores/vpads_schemata/NdsSchema.cs
@@ -6,7 +6,6 @@ using BizHawk.Emulation.Common;
 namespace BizHawk.Emulation.Cores
 {
 	[Schema(VSystemID.Raw.NDS)]
-	// ReSharper disable once UnusedMember.Global
 	public class NdsSchema : IVirtualPadSchema
 	{
 		public IEnumerable<PadSchema> GetPadSchemas(IEmulator core, Action<string> showMessageBox)
diff --git a/src/BizHawk.Emulation.Cores/vpads_schemata/NesSchema.cs b/src/BizHawk.Emulation.Cores/vpads_schemata/NesSchema.cs
index 5080855395..77f29aa8bd 100644
--- a/src/BizHawk.Emulation.Cores/vpads_schemata/NesSchema.cs
+++ b/src/BizHawk.Emulation.Cores/vpads_schemata/NesSchema.cs
@@ -11,7 +11,6 @@ using BizHawk.Emulation.Cores.Consoles.Nintendo.QuickNES;
 namespace BizHawk.Emulation.Cores
 {
 	[Schema(VSystemID.Raw.NES)]
-	// ReSharper disable once UnusedMember.Global
 	public class NesSchema : IVirtualPadSchema
 	{
 		/// <exception cref="Exception">found <c>ControllerSNES</c></exception>
diff --git a/src/BizHawk.Emulation.Cores/vpads_schemata/NgpSchema.cs b/src/BizHawk.Emulation.Cores/vpads_schemata/NgpSchema.cs
index 7dba1f4459..2e5c42010d 100644
--- a/src/BizHawk.Emulation.Cores/vpads_schemata/NgpSchema.cs
+++ b/src/BizHawk.Emulation.Cores/vpads_schemata/NgpSchema.cs
@@ -7,7 +7,6 @@ using BizHawk.Emulation.Common;
 namespace BizHawk.Emulation.Cores
 {
 	[Schema(VSystemID.Raw.NGP)]
-	// ReSharper disable once UnusedMember.Global
 	public class NgpSchema : IVirtualPadSchema
 	{
 		public IEnumerable<PadSchema> GetPadSchemas(IEmulator core, Action<string> showMessageBox)
diff --git a/src/BizHawk.Emulation.Cores/vpads_schemata/O2Schema.cs b/src/BizHawk.Emulation.Cores/vpads_schemata/O2Schema.cs
index 70919a6296..7ea4991238 100644
--- a/src/BizHawk.Emulation.Cores/vpads_schemata/O2Schema.cs
+++ b/src/BizHawk.Emulation.Cores/vpads_schemata/O2Schema.cs
@@ -6,7 +6,6 @@ using BizHawk.Emulation.Common;
 namespace BizHawk.Emulation.Cores
 {
 	[Schema(VSystemID.Raw.O2)]
-	// ReSharper disable once UnusedMember.Global
 	public class O2Schema : IVirtualPadSchema
 	{
 		public IEnumerable<PadSchema> GetPadSchemas(IEmulator core, Action<string> showMessageBox)
diff --git a/src/BizHawk.Emulation.Cores/vpads_schemata/PSXSchema.cs b/src/BizHawk.Emulation.Cores/vpads_schemata/PSXSchema.cs
index 7238fe6c4e..b2b7a8f92b 100644
--- a/src/BizHawk.Emulation.Cores/vpads_schemata/PSXSchema.cs
+++ b/src/BizHawk.Emulation.Cores/vpads_schemata/PSXSchema.cs
@@ -10,7 +10,6 @@ using BizHawk.Emulation.Cores.Sony.PSX;
 namespace BizHawk.Emulation.Cores
 {
 	[Schema(VSystemID.Raw.PSX)]
-	// ReSharper disable once UnusedMember.Global
 	public class PsxSchema : IVirtualPadSchema
 	{
 		public IEnumerable<PadSchema> GetPadSchemas(IEmulator core, Action<string> showMessageBox)
diff --git a/src/BizHawk.Emulation.Cores/vpads_schemata/PceSchema.cs b/src/BizHawk.Emulation.Cores/vpads_schemata/PceSchema.cs
index 517efd57a7..d9dbff0623 100644
--- a/src/BizHawk.Emulation.Cores/vpads_schemata/PceSchema.cs
+++ b/src/BizHawk.Emulation.Cores/vpads_schemata/PceSchema.cs
@@ -11,15 +11,12 @@ using BizHawk.Emulation.Cores.Waterbox;
 namespace BizHawk.Emulation.Cores
 {
 	[Schema(VSystemID.Raw.SGXCD)]
-	// ReSharper disable once UnusedMember.Global
 	public class SgxCdSchema : PceSchema { }
 
 	[Schema(VSystemID.Raw.PCECD)]
-	// ReSharper disable once UnusedMember.Global
 	public class PceCdSchema : PceSchema { }
 
 	[Schema(VSystemID.Raw.SGX)]
-	// ReSharper disable once UnusedMember.Global
 	public class SgxSchema : PceSchema { }
 
 	[Schema(VSystemID.Raw.PCE)]
diff --git a/src/BizHawk.Emulation.Cores/vpads_schemata/PcfxSchema.cs b/src/BizHawk.Emulation.Cores/vpads_schemata/PcfxSchema.cs
index 38878abdcf..f561ec063a 100644
--- a/src/BizHawk.Emulation.Cores/vpads_schemata/PcfxSchema.cs
+++ b/src/BizHawk.Emulation.Cores/vpads_schemata/PcfxSchema.cs
@@ -10,7 +10,6 @@ using BizHawk.Emulation.Cores.Waterbox;
 namespace BizHawk.Emulation.Cores
 {
 	[Schema(VSystemID.Raw.PCFX)]
-	// ReSharper disable once UnusedMember.Global
 	public class PcfxSchema : IVirtualPadSchema
 	{
 		public IEnumerable<PadSchema> GetPadSchemas(IEmulator core, Action<string> showMessageBox)
diff --git a/src/BizHawk.Emulation.Cores/vpads_schemata/SGBSchema.cs b/src/BizHawk.Emulation.Cores/vpads_schemata/SGBSchema.cs
index 35ffd65b24..4f2a6daa51 100644
--- a/src/BizHawk.Emulation.Cores/vpads_schemata/SGBSchema.cs
+++ b/src/BizHawk.Emulation.Cores/vpads_schemata/SGBSchema.cs
@@ -7,7 +7,6 @@ using BizHawk.Emulation.Common;
 namespace BizHawk.Emulation.Cores
 {
 	[Schema(VSystemID.Raw.SGB)]
-	// ReSharper disable once UnusedMember.Global
 	public class SgbSchema : IVirtualPadSchema
 	{
 		public IEnumerable<PadSchema> GetPadSchemas(IEmulator core, Action<string> showMessageBox)
diff --git a/src/BizHawk.Emulation.Cores/vpads_schemata/SaturnSchema.cs b/src/BizHawk.Emulation.Cores/vpads_schemata/SaturnSchema.cs
index 92505587bc..68a61b7509 100644
--- a/src/BizHawk.Emulation.Cores/vpads_schemata/SaturnSchema.cs
+++ b/src/BizHawk.Emulation.Cores/vpads_schemata/SaturnSchema.cs
@@ -10,7 +10,6 @@ using BizHawk.Emulation.Cores.Waterbox;
 namespace BizHawk.Emulation.Cores
 {
 	[Schema(VSystemID.Raw.SAT)]
-	// ReSharper disable once UnusedMember.Global
 	public class SaturnSchema : IVirtualPadSchema
 	{
 		private static readonly AxisSpec AxisRange = new AxisSpec(0.RangeTo(0xffff), 0x8000);
diff --git a/src/BizHawk.Emulation.Cores/vpads_schemata/SnesSchema.cs b/src/BizHawk.Emulation.Cores/vpads_schemata/SnesSchema.cs
index f69f0bfab5..f517c2036b 100644
--- a/src/BizHawk.Emulation.Cores/vpads_schemata/SnesSchema.cs
+++ b/src/BizHawk.Emulation.Cores/vpads_schemata/SnesSchema.cs
@@ -11,7 +11,6 @@ using BizHawk.Emulation.Cores.Waterbox;
 namespace BizHawk.Emulation.Cores
 {
 	[Schema(VSystemID.Raw.SNES)]
-	// ReSharper disable once UnusedMember.Global
 	public class SnesSchema : IVirtualPadSchema
 	{
 		public IEnumerable<PadSchema> GetPadSchemas(IEmulator core, Action<string> showMessageBox)
diff --git a/src/BizHawk.Emulation.Cores/vpads_schemata/VECSchema.cs b/src/BizHawk.Emulation.Cores/vpads_schemata/VECSchema.cs
index 536ed66823..dfeabd79c0 100644
--- a/src/BizHawk.Emulation.Cores/vpads_schemata/VECSchema.cs
+++ b/src/BizHawk.Emulation.Cores/vpads_schemata/VECSchema.cs
@@ -8,7 +8,6 @@ using BizHawk.Emulation.Cores.Consoles.Vectrex;
 namespace BizHawk.Emulation.Cores
 {
 	[Schema(VSystemID.Raw.VEC)]
-	// ReSharper disable once UnusedMember.Global
 	public class VecSchema : IVirtualPadSchema
 	{
 		public IEnumerable<PadSchema> GetPadSchemas(IEmulator core, Action<string> showMessageBox)
diff --git a/src/BizHawk.Emulation.Cores/vpads_schemata/VirtualBoySchema.cs b/src/BizHawk.Emulation.Cores/vpads_schemata/VirtualBoySchema.cs
index ee714c18cd..c2776514d3 100644
--- a/src/BizHawk.Emulation.Cores/vpads_schemata/VirtualBoySchema.cs
+++ b/src/BizHawk.Emulation.Cores/vpads_schemata/VirtualBoySchema.cs
@@ -7,7 +7,6 @@ using BizHawk.Emulation.Common;
 namespace BizHawk.Emulation.Cores
 {
 	[Schema(VSystemID.Raw.VB)]
-	// ReSharper disable once UnusedMember.Global
 	public class VirtualBoySchema : IVirtualPadSchema
 	{
 		public IEnumerable<PadSchema> GetPadSchemas(IEmulator core, Action<string> showMessageBox)
diff --git a/src/BizHawk.Emulation.Cores/vpads_schemata/WonderSwanSchema.cs b/src/BizHawk.Emulation.Cores/vpads_schemata/WonderSwanSchema.cs
index a82f71a281..8eb20a10eb 100644
--- a/src/BizHawk.Emulation.Cores/vpads_schemata/WonderSwanSchema.cs
+++ b/src/BizHawk.Emulation.Cores/vpads_schemata/WonderSwanSchema.cs
@@ -7,7 +7,6 @@ using BizHawk.Emulation.Common;
 namespace BizHawk.Emulation.Cores
 {
 	[Schema(VSystemID.Raw.WSWAN)]
-	// ReSharper disable once UnusedMember.Global
 	public class WonderSwanSchema : IVirtualPadSchema
 	{
 		public IEnumerable<PadSchema> GetPadSchemas(IEmulator core, Action<string> showMessageBox)
diff --git a/src/BizHawk.Emulation.Cores/vpads_schemata/ZXSpectrumSchema.cs b/src/BizHawk.Emulation.Cores/vpads_schemata/ZXSpectrumSchema.cs
index 6cbc24de5d..ba8389cc13 100644
--- a/src/BizHawk.Emulation.Cores/vpads_schemata/ZXSpectrumSchema.cs
+++ b/src/BizHawk.Emulation.Cores/vpads_schemata/ZXSpectrumSchema.cs
@@ -7,7 +7,6 @@ using BizHawk.Emulation.Common;
 namespace BizHawk.Emulation.Cores
 {
 	[Schema(VSystemID.Raw.ZXSpectrum)]
-	// ReSharper disable once UnusedMember.Global
 	internal class ZxSpectrumSchema : IVirtualPadSchema
 	{
 		public IEnumerable<PadSchema> GetPadSchemas(IEmulator core, Action<string> showMessageBox)