// Load the roms associated with the loaded consoles static void LoadRoms() { foreach (var kv in _consoles) { Console console = kv.Value; List <Rom> roms = new List <Rom>(); _consoleRoms.Add(console, roms); string dir = console.romDirectory.Replace(".\\", Directory.GetCurrentDirectory() + "\\"); if (!Directory.Exists(dir)) { continue; } string[] files = Directory.GetFiles(dir, "*", SearchOption.AllDirectories); foreach (var location in files) { Rom rom = new Rom(location, console); // Ensure we're not using an illegal extension bool illegalExtension = false; foreach (string ext in ILLEGAL_EXT) { illegalExtension |= rom.fileName.ToLower().Contains(ext); } if (illegalExtension) { continue; } _roms.Add(rom.fileName, rom); _romList.Add(rom); roms.Add(rom); } // Apply Rom Settings LoadRomSettings(); } }
// Load the extra settings from file static void LoadRomSettings() { if (!File.Exists(ROM_SETTINGS_FILE)) { return; } string[] lines = File.ReadAllLines(ROM_SETTINGS_FILE); foreach (string line in lines) { // Format // fileName | displayName | tags | players string[] param = line.Split(new string[] { SEPERATOR_TOKEN }, StringSplitOptions.None); try { string fileName = param[0].Trim(); string displayName = param[1].Trim(); string tags = param[2].Trim(); string players = param[3].Trim(); Rom rom = _roms[fileName]; if (displayName != "") { rom.displayName = displayName; } if (players != "") { rom.players = int.Parse(players); } rom.tags = tags; } catch { continue; } } }
public static bool Run(Rom rom) { return(Run(rom.console, rom.console.cmdArguments.Replace("{{rom}}", rom.location))); }
// Static public static void Edit(Rom r) { new RomSettings(r); }
RomSettings(Rom rom) : this() { SetRom(rom); ShowDialog(); }
// Emulator Process Management public static bool RunEmulator(Rom r) { return(EmulatorExecuter.Run(r)); }