/// <summary> /// Builds a RomModel for every rom /// </summary> public static RomModel[] GetRomInformationFromDisk(string rootRomDirectory) { string consoleAliases = ConfigurationManager.AppSettings.Get("ConsoleAliases"); RomModel[] models = null; try { models = new RomModel[EnumerateRomFiles(rootRomDirectory)]; } catch (DirectoryNotFoundException ex) { DebugManager.ShowErrorDialog("An error occured getting the rom directory", ex); return(models); } string[] romExtensions = new EmuManagerModel().RomExtensions.Split(','); //TODO: We probably want to take a look at the nesting here int x = 0; try { foreach (string extension in romExtensions) { string[] files = System.IO.Directory.GetFiles(rootRomDirectory, "*." + extension, SearchOption.AllDirectories); for (int i = 0; i < files.Length; i++) { models[x] = PopulateRomModelFromRomPathRomFileName(files[i], consoleAliases); x++; } } } catch (NullReferenceException) { // This would mean an improperly formatted emulator association was present if hit } return(models); }