private void SaveRomAs(bool saveAsIps, CdlStripOption cdlStripOption) { using (SaveFileDialog sfd = new SaveFileDialog()) { if (saveAsIps) { sfd.SetFilter("IPS files (*.ips)|*.ips"); sfd.FileName = EmuApi.GetRomInfo().GetRomName() + ".ips"; } else if (_cpuType == CpuType.Gameboy) { sfd.SetFilter("GB files (*.gb,*.gbc)|*.gb;*.gbc"); sfd.FileName = EmuApi.GetRomInfo().GetRomName() + "_Modified.gb"; } else { sfd.SetFilter("SFC files (*.sfc)|*.sfc"); sfd.FileName = EmuApi.GetRomInfo().GetRomName() + "_Modified.sfc"; } sfd.InitialDirectory = ConfigManager.DebuggerFolder; if (sfd.ShowDialog() == DialogResult.OK) { DebugApi.SaveRomToDisk(sfd.FileName, saveAsIps, cdlStripOption); } } }
[DllImport(DllPath)] public static extern void SaveRomToDisk([MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(Utf8Marshaler))] string filename, [MarshalAs(UnmanagedType.I1)] bool saveAsIps, CdlStripOption cdlStripOption);