using System.IO; namespace MyNes.Core { public class EmuSettings : ISettings { public string SnapsFolder = "Snaps"; public string WavesFolder = "SoundRecords"; public string SnapsFormat = ".png"; public bool SnapsReplace; public int RegionSetting; public string StateFolder = "States"; public string GameGenieFolder = "GMCodes"; public string SRAMFolder = "Srams"; public bool SaveSRAMAtEmuShutdown = true; public EmuSettings(string path) : base(path) { } public override void LoadSettings() { base.LoadSettings(); if (MyNesMain.WorkingFolder == null) { MyNesMain.MakeWorkingFolder(); } if (SnapsFolder == "Snaps") { SnapsFolder = Path.Combine(MyNesMain.WorkingFolder, "Snaps"); } if (StateFolder == "States") { StateFolder = Path.Combine(MyNesMain.WorkingFolder, "States"); } if (GameGenieFolder == "GMCodes") { GameGenieFolder = Path.Combine(MyNesMain.WorkingFolder, "GMCodes"); } if (SRAMFolder == "Srams") { SRAMFolder = Path.Combine(MyNesMain.WorkingFolder, "Srams"); } if (WavesFolder == "SoundRecords") { WavesFolder = Path.Combine(MyNesMain.WorkingFolder, "SoundRecords"); } try { Directory.CreateDirectory(WavesFolder); } catch { Tracer.WriteError("Cannot create sound records folder !!"); } try { Directory.CreateDirectory(SnapsFolder); } catch { Tracer.WriteError("Cannot create snaps folder !!"); } try { Directory.CreateDirectory(StateFolder); } catch { Tracer.WriteError("Cannot create states folder !!"); } try { Directory.CreateDirectory(SRAMFolder); } catch { Tracer.WriteError("Cannot create srams folder !!"); } try { Directory.CreateDirectory(GameGenieFolder); } catch { Tracer.WriteError("Cannot create game genie codes folder !!"); } StateHandler.StateFolder = StateFolder; } } }