From f5209ccfa26a45409e7066207c96bfe55a10883d Mon Sep 17 00:00:00 2001 From: adelikat Date: Mon, 14 Jul 2014 11:48:28 +0000 Subject: [PATCH] Profile config - fix getting of sync settings from non-instantiated cores --- .../config/ProfileConfig.cs | 22 +++++++++++++------ .../Consoles/Sega/Saturn/Yabause.cs | 2 +- 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/BizHawk.Client.EmuHawk/config/ProfileConfig.cs b/BizHawk.Client.EmuHawk/config/ProfileConfig.cs index fc9b5305b0..7bf7098c27 100644 --- a/BizHawk.Client.EmuHawk/config/ProfileConfig.cs +++ b/BizHawk.Client.EmuHawk/config/ProfileConfig.cs @@ -274,7 +274,8 @@ namespace BizHawk.Client.EmuHawk } else { - return (N64SyncSettings)Global.Config.GetCoreSyncSettings(); + return (N64SyncSettings)Global.Config.GetCoreSyncSettings() + ?? new N64SyncSettings(); } } @@ -298,7 +299,8 @@ namespace BizHawk.Client.EmuHawk } else { - return (LibsnesCore.SnesSyncSettings)Global.Config.GetCoreSyncSettings(); + return (LibsnesCore.SnesSyncSettings)Global.Config.GetCoreSyncSettings() + ?? new LibsnesCore.SnesSyncSettings() ; } } @@ -322,7 +324,8 @@ namespace BizHawk.Client.EmuHawk } else { - return (Yabause.SaturnSyncSettings)Global.Config.GetCoreSyncSettings(); + return (Yabause.SaturnSyncSettings)Global.Config.GetCoreSyncSettings() + ?? new Yabause.SaturnSyncSettings(); } } @@ -346,7 +349,8 @@ namespace BizHawk.Client.EmuHawk } else { - return (GPGX.GPGXSyncSettings)Global.Config.GetCoreSyncSettings(); + return (GPGX.GPGXSyncSettings)Global.Config.GetCoreSyncSettings() + ?? new GPGX.GPGXSyncSettings(); } } @@ -370,7 +374,8 @@ namespace BizHawk.Client.EmuHawk } else { - return (SMS.SMSSyncSettings)Global.Config.GetCoreSyncSettings(); + return (SMS.SMSSyncSettings)Global.Config.GetCoreSyncSettings() + ?? new SMS.SMSSyncSettings(); } } @@ -394,7 +399,8 @@ namespace BizHawk.Client.EmuHawk } else { - return (ColecoVision.ColecoSyncSettings)Global.Config.GetCoreSyncSettings(); + return (ColecoVision.ColecoSyncSettings)Global.Config.GetCoreSyncSettings() + ?? new ColecoVision.ColecoSyncSettings(); } } @@ -409,6 +415,7 @@ namespace BizHawk.Client.EmuHawk Global.Config.PutCoreSyncSettings(s); } } + private static Atari2600.A2600SyncSettings GetA2600SyncSettings() { if (Global.Emulator is Atari2600) @@ -417,7 +424,8 @@ namespace BizHawk.Client.EmuHawk } else { - return (Atari2600.A2600SyncSettings)Global.Config.GetCoreSyncSettings(); + return (Atari2600.A2600SyncSettings)Global.Config.GetCoreSyncSettings() + ?? new Atari2600.A2600SyncSettings(); } } diff --git a/BizHawk.Emulation.Cores/Consoles/Sega/Saturn/Yabause.cs b/BizHawk.Emulation.Cores/Consoles/Sega/Saturn/Yabause.cs index 1691184640..384d6dfd44 100644 --- a/BizHawk.Emulation.Cores/Consoles/Sega/Saturn/Yabause.cs +++ b/BizHawk.Emulation.Cores/Consoles/Sega/Saturn/Yabause.cs @@ -707,7 +707,7 @@ namespace BizHawk.Emulation.Cores.Sega.Saturn #endregion - SaturnSyncSettings SyncSettings; + public SaturnSyncSettings SyncSettings; public object GetSettings() { return null; } public object GetSyncSettings() { return SyncSettings.Clone(); }