private void btnLibretroLaunchGame_Click(object sender, EventArgs e) { //build a list of extensions suggested for use for this core StringWriter sw = new StringWriter(); foreach (var ext in CurrentDescription.ValidExtensions.Split('|')) { sw.Write("*.{0};", ext); } var filter = sw.ToString(); filter = filter.Substring(0, filter.Length - 1); //remove last semicolon List <string> args = new List <string>(); args.Add("Rom Files"); if (!CurrentDescription.NeedsArchives) { filter += ";%ARCH%"; } args.Add(filter); if (!CurrentDescription.NeedsArchives) { args.Add("Archive Files"); args.Add("%ARCH%"); } args.Add("All Files"); args.Add("*.*"); filter = MainForm.FormatFilter(args.ToArray()); SuggestedExtensionFilter = filter; Result = Command.RetroLaunchGame; DialogResult = DialogResult.OK; Close(); }