public static VsConfigInfo GetCurrentGameConfig(bool createNew) { string crc = InteropEmu.GetRomInfo().GetCrcString(); foreach (VsConfigInfo config in ConfigManager.Config.VsConfig) { if (config.GameCrc == crc) { return(config); } } VsConfigInfo newConfig = new VsConfigInfo(); newConfig.GameCrc = crc; newConfig.GameID = VsGameConfig.GetGameID(); VsGameConfig gameConfig = VsGameConfig.GetGameConfig(newConfig.GameID); if (gameConfig != null) { newConfig.PpuModel = gameConfig.PpuModel; newConfig.DipSwitches = gameConfig.DefaultDipSwitches; newConfig.InputType = gameConfig.InputType; } if (createNew) { ConfigManager.Config.VsConfig.Add(newConfig); } return(newConfig); }
public static void ApplyConfig() { VsConfigInfo configInfo = GetCurrentGameConfig(false); InteropEmu.VsSetGameConfig(configInfo.PpuModel, configInfo.InputType, configInfo.DipSwitches); }