diff --git a/src/BizHawk.Emulation.Cores/Computers/Amiga/LibUAE.cs b/src/BizHawk.Emulation.Cores/Computers/Amiga/LibUAE.cs index 410c31ace6..dd0ba79b33 100644 --- a/src/BizHawk.Emulation.Cores/Computers/Amiga/LibUAE.cs +++ b/src/BizHawk.Emulation.Cores/Computers/Amiga/LibUAE.cs @@ -88,14 +88,32 @@ namespace BizHawk.Emulation.Cores.Computers.Amiga public int MouseY; } +#if true public enum ControllerType : int { - None, - Joystick, - Mouse, + None = 0, + [Display(Name = "Joystick")] + DJoy = 1, + Mouse = 2, [Display(Name = "CD32 pad")] - CD32_pad + CD32Joy = 3, } +#else //TODO matches upstream -- requires unmanaged change + public enum ControllerType : int + { + None = 0, + Mouse = 1, +// MouseNoWheel, + [Display(Name = "Joystick")] + DJoy = 3, +// Gamepad, +// AJoy, +// CDTVJoy, + [Display(Name = "CD32 pad")] + CD32Joy = 7, +// Lightpen, + } +#endif public enum DriveAction : int { diff --git a/src/BizHawk.Emulation.Cores/Computers/Amiga/UAE.Controllers.cs b/src/BizHawk.Emulation.Cores/Computers/Amiga/UAE.Controllers.cs index e968b10089..cb50008d0d 100644 --- a/src/BizHawk.Emulation.Cores/Computers/Amiga/UAE.Controllers.cs +++ b/src/BizHawk.Emulation.Cores/Computers/Amiga/UAE.Controllers.cs @@ -68,7 +68,7 @@ namespace BizHawk.Emulation.Cores.Computers.Amiga switch (type) { - case LibUAE.ControllerType.Joystick: + case LibUAE.ControllerType.DJoy: { foreach (var (name, _) in _joystickMap) { @@ -76,7 +76,7 @@ namespace BizHawk.Emulation.Cores.Computers.Amiga } break; } - case LibUAE.ControllerType.CD32_pad: + case LibUAE.ControllerType.CD32Joy: { foreach (var (name, _) in _cd32padMap) { diff --git a/src/BizHawk.Emulation.Cores/Computers/Amiga/UAE.ISettable.cs b/src/BizHawk.Emulation.Cores/Computers/Amiga/UAE.ISettable.cs index 32e95c93c9..44791b9639 100644 --- a/src/BizHawk.Emulation.Cores/Computers/Amiga/UAE.ISettable.cs +++ b/src/BizHawk.Emulation.Cores/Computers/Amiga/UAE.ISettable.cs @@ -261,22 +261,9 @@ namespace BizHawk.Emulation.Cores.Computers.Amiga LibUAE.ControllerType type = port == 0 ? settings.ControllerPort1 : settings.ControllerPort2; - - switch (type) - { - case LibUAE.ControllerType.None: - AppendSetting($"joyport{port}=none"); - break; - case LibUAE.ControllerType.Joystick: - AppendSetting($"joyport{port}mode=djoy"); - break; - case LibUAE.ControllerType.CD32_pad: - AppendSetting($"joyport{port}mode=cd32joy"); - break; - case LibUAE.ControllerType.Mouse: - AppendSetting($"joyport{port}mode=mouse"); - break; - } + AppendSetting(type is LibUAE.ControllerType.None + ? $"joyport{port}=none" + : $"joyport{port}mode={type.ToString().ToLowerInvariant()}"); } } @@ -374,7 +361,7 @@ namespace BizHawk.Emulation.Cores.Computers.Amiga [DisplayName("Controller port 2")] [Description("")] - [DefaultValue(LibUAE.ControllerType.Joystick)] + [DefaultValue(LibUAE.ControllerType.DJoy)] [TypeConverter(typeof(DescribableEnumConverter))] public LibUAE.ControllerType ControllerPort2 { get; set; } diff --git a/src/BizHawk.Emulation.Cores/Computers/Amiga/UAE.cs b/src/BizHawk.Emulation.Cores/Computers/Amiga/UAE.cs index c4af40256f..39273f78dc 100644 --- a/src/BizHawk.Emulation.Cores/Computers/Amiga/UAE.cs +++ b/src/BizHawk.Emulation.Cores/Computers/Amiga/UAE.cs @@ -162,7 +162,7 @@ namespace BizHawk.Emulation.Cores.Computers.Amiga switch (_ports[port - 1]) { - case LibUAE.ControllerType.Joystick: + case LibUAE.ControllerType.DJoy: { foreach (var (name, button) in _joystickMap) { @@ -173,7 +173,7 @@ namespace BizHawk.Emulation.Cores.Computers.Amiga } break; } - case LibUAE.ControllerType.CD32_pad: + case LibUAE.ControllerType.CD32Joy: { foreach (var (name, button) in _cd32padMap) {