diff --git a/BizHawk.Client.ApiHawk/Classes/BizHawkSystemIdToCoreSystemEnumConverter.cs b/BizHawk.Client.ApiHawk/Classes/BizHawkSystemIdToCoreSystemEnumConverter.cs index 9e674f84fd..ed1e729aca 100644 --- a/BizHawk.Client.ApiHawk/Classes/BizHawkSystemIdToCoreSystemEnumConverter.cs +++ b/BizHawk.Client.ApiHawk/Classes/BizHawkSystemIdToCoreSystemEnumConverter.cs @@ -25,117 +25,50 @@ namespace BizHawk.Client.ApiHawk /// Thrown when SystemId hasn't been found public object Convert(object value, Type targetType, object parameter, CultureInfo cultureInfo) { - switch ((string)value) + return (string) value switch { - case "AppleII": - return CoreSystem.AppleII; - - case "A26": - return CoreSystem.Atari2600; - - case "A78": - return CoreSystem.Atari7800; - - case "Coleco": - return CoreSystem.ColecoVision; - - case "C64": - return CoreSystem.Commodore64; - - case "DGB": - return CoreSystem.DualGameBoy; - - case "GB": - return CoreSystem.GameBoy; - - case "GBA": - return CoreSystem.GameBoyAdvance; - - case "GEN": - return CoreSystem.Genesis; - - case "INTV": - return CoreSystem.Intellivision; - - case "Libretro": - return CoreSystem.Libretro; - - case "Lynx": - return CoreSystem.Lynx; - - case "SMS": - return CoreSystem.MasterSystem; - - case "NES": - return CoreSystem.NES; - - case "N64": - return CoreSystem.Nintendo64; - - case "NULL": - return CoreSystem.Null; - - case "PCE": - case "PCECD": - case "SGX": - return CoreSystem.PCEngine; - - case "PSX": - return CoreSystem.Playstation; - - case "SAT": - return CoreSystem.Saturn; - - case "SNES": - return CoreSystem.SNES; - - case "TI83": - return CoreSystem.TI83; - - case "VEC": - return CoreSystem.Vectrex; - - case "WSWAN": - return CoreSystem.WonderSwan; - - case "ZXSpectrum": - return CoreSystem.ZXSpectrum; - - case "AmstradCPC": - return CoreSystem.AmstradCPC; - - case "GGL": - return CoreSystem.GGL; - - case "ChannelF": - return CoreSystem.ChannelF; - - case "GB3x": - return CoreSystem.GB3x; - - case "GB4x": - return CoreSystem.GB4x; - - case "MAME": - return CoreSystem.MAME; - - case "O2": - return CoreSystem.Odyssey2; - - case "MSX": - return CoreSystem.MSX; - - case "VB": - case "NGP": - case "DNGP": - case "SGB": - case "UZE": - case "PCFX": - return 0; // like I give a shit - - default: - throw new IndexOutOfRangeException($"{value} is missing in convert list"); - } + "AppleII" => CoreSystem.AppleII, + "A26" => CoreSystem.Atari2600, + "A78" => CoreSystem.Atari7800, + "Coleco" => CoreSystem.ColecoVision, + "C64" => CoreSystem.Commodore64, + "DGB" => CoreSystem.DualGameBoy, + "GB" => CoreSystem.GameBoy, + "GBA" => CoreSystem.GameBoyAdvance, + "GEN" => CoreSystem.Genesis, + "INTV" => CoreSystem.Intellivision, + "Libretro" => CoreSystem.Libretro, + "Lynx" => CoreSystem.Lynx, + "SMS" => CoreSystem.MasterSystem, + "NES" => CoreSystem.NES, + "N64" => CoreSystem.Nintendo64, + "NULL" => CoreSystem.Null, + "PCE" => CoreSystem.PCEngine, + "PCECD" => CoreSystem.PCEngine, + "SGX" => CoreSystem.PCEngine, + "PSX" => CoreSystem.Playstation, + "SAT" => CoreSystem.Saturn, + "SNES" => CoreSystem.SNES, + "TI83" => CoreSystem.TI83, + "VEC" => CoreSystem.Vectrex, + "WSWAN" => CoreSystem.WonderSwan, + "ZXSpectrum" => CoreSystem.ZXSpectrum, + "AmstradCPC" => CoreSystem.AmstradCPC, + "GGL" => CoreSystem.GGL, + "ChannelF" => CoreSystem.ChannelF, + "GB3x" => CoreSystem.GB3x, + "GB4x" => CoreSystem.GB4x, + "MAME" => CoreSystem.MAME, + "O2" => CoreSystem.Odyssey2, + "MSX" => CoreSystem.MSX, + "VB" => CoreSystem.VirtualBoy, + "NGP" => CoreSystem.NeoGeoPocket, + "DNGP" => CoreSystem.NeoGeoPocket, + "SGB" => CoreSystem.SuperGameBoy, + "UZE" => CoreSystem.UzeBox, + "PCFX" => CoreSystem.PcFx, + _ => throw new IndexOutOfRangeException($"{value} is missing in convert list") + }; } @@ -162,89 +95,35 @@ namespace BizHawk.Client.ApiHawk /// Thrown when hasn't been found public object ConvertBack(object value, Type targetType, object parameter, CultureInfo cultureInfo) { - switch ((CoreSystem)value) + return (CoreSystem) value switch { - case CoreSystem.AppleII: - return "AppleII"; - - case CoreSystem.Atari2600: - return "A26"; - - case CoreSystem.Atari7800: - return "A78"; - - case CoreSystem.ColecoVision: - return "Coleco"; - - case CoreSystem.Commodore64: - return "C64"; - - case CoreSystem.DualGameBoy: - return "DGB"; - - case CoreSystem.GameBoy: - return "GB"; - - case CoreSystem.GameBoyAdvance: - return "GBA"; - - case CoreSystem.Genesis: - return "GEN"; - - case CoreSystem.Intellivision: - return "INTV"; - - case CoreSystem.Libretro: - return "Libretro"; - - case CoreSystem.Lynx: - return "Lynx"; - - case CoreSystem.MasterSystem: - return "SMS"; - - case CoreSystem.NES: - return "NES"; - - case CoreSystem.Nintendo64: - return "N64"; - - case CoreSystem.Null: - return "NULL"; - - case CoreSystem.PCEngine: - return "PCE"; - - case CoreSystem.Playstation: - return "PSX"; - - case CoreSystem.PSP: - return "PSP"; - - case CoreSystem.Saturn: - return "SAT"; - - case CoreSystem.SNES: - return "SNES"; - - case CoreSystem.TI83: - return "TI83"; - - case CoreSystem.WonderSwan: - return "WSWAN"; - - case CoreSystem.ZXSpectrum: - return "ZXSpectrum"; - - case CoreSystem.AmstradCPC: - return "AmstradCPC"; - - case CoreSystem.Odyssey2: - return "O2"; - - default: - throw new IndexOutOfRangeException($"{value} is missing in convert list"); - } + CoreSystem.AppleII => "AppleII", + CoreSystem.Atari2600 => "A26", + CoreSystem.Atari7800 => "A78", + CoreSystem.ColecoVision => "Coleco", + CoreSystem.Commodore64 => "C64", + CoreSystem.DualGameBoy => "DGB", + CoreSystem.GameBoy => "GB", + CoreSystem.GameBoyAdvance => "GBA", + CoreSystem.Genesis => "GEN", + CoreSystem.Intellivision => "INTV", + CoreSystem.Libretro => "Libretro", + CoreSystem.Lynx => "Lynx", + CoreSystem.MasterSystem => "SMS", + CoreSystem.NES => "NES", + CoreSystem.Nintendo64 => "N64", + CoreSystem.Null => "NULL", + CoreSystem.PCEngine => "PCE", + CoreSystem.Playstation => "PSX", + CoreSystem.Saturn => "SAT", + CoreSystem.SNES => "SNES", + CoreSystem.TI83 => "TI83", + CoreSystem.WonderSwan => "WSWAN", + CoreSystem.ZXSpectrum => "ZXSpectrum", + CoreSystem.AmstradCPC => "AmstradCPC", + CoreSystem.Odyssey2 => "O2", + _ => throw new IndexOutOfRangeException($"{value} is missing in convert list") + }; } diff --git a/BizHawk.Client.Common/Api/CoreSystem.cs b/BizHawk.Client.Common/Api/CoreSystem.cs index 70eac9f893..bdb751b80a 100644 --- a/BizHawk.Client.Common/Api/CoreSystem.cs +++ b/BizHawk.Client.Common/Api/CoreSystem.cs @@ -38,6 +38,9 @@ ChannelF, Odyssey2, MAME, - MSX + MSX, + SuperGameBoy, + UzeBox, + PcFx } }