Esempio n. 1
0
        private async void LoadBios()
        {
            var currentBios = Extensions.Unescape(pcsx2_ui.Read("Filenames", "BIOS"));
            var bioses      = new List <Legacy.Bios>();
            await Task.Run(delegate {
                foreach (var str in Directory.GetFiles(Settings.Default.pcsx2DataDir + @"\bios"))
                {
                    using (var reader = new StreamReader(str)) {
                        string str2;
                        while ((str2 = reader.ReadLine()) != null)
                        {
                            if (str2.Contains("ROMconf"))
                            {
                                var bytes = (from i in Encoding.UTF8.GetBytes(str2)
                                             where i != 0
                                             select i).ToArray <byte>();
                                var src  = Encoding.UTF8.GetString(bytes);
                                var str4 = Extensions.Between(src, (string)"OSDSYS", (string)"@rom");
                                if (Extensions.IsEmpty(str4))
                                {
                                    str4 = Extensions.Between(src, (string)"OSDSYS", (string)"@");
                                }
                                var item = new Legacy.Bios {
                                    DisplayInfo = GetValue(str4),
                                    Tag         = str,
                                    Location    = str
                                };
                                bioses.Add(item);
                            }
                        }
                    }
                }
            });

            bioses.ForEach(b => lbBios.Items.Add(b));
            var enumerator = ((IEnumerable)lbBios.Items).GetEnumerator();

            try {
                while (enumerator.MoveNext())
                {
                    var current = enumerator.Current;
                    var bios    = (Legacy.Bios)current;
                    if (bios.Tag.ToString() != currentBios)
                    {
                        continue;
                    }
                    lbBios.SelectedItem = bioses;
                    return;
                }
            }
            finally {
                var disposable = enumerator as IDisposable;
                if (disposable != null)
                {
                    disposable.Dispose();
                }
            }
        }
		private async void LoadBios() {
			var currentBios = Extensions.Unescape(pcsx2_ui.Read("Filenames", "BIOS"));
			var bioses = new List<Legacy.Bios>();
			await Task.Run(delegate {
				foreach (var str in Directory.GetFiles(Settings.Default.pcsx2DataDir + @"\bios")) {
					using (var reader = new StreamReader(str)) {
						string str2;
						while ((str2 = reader.ReadLine()) != null) {
							if (str2.Contains("ROMconf")) {
								var bytes = (from i in Encoding.UTF8.GetBytes(str2)
											 where i != 0
											 select i).ToArray<byte>();
								var src = Encoding.UTF8.GetString(bytes);
								var str4 = Extensions.Between(src, (string) "OSDSYS", (string) "@rom");
								if (Extensions.IsEmpty(str4)) {
									str4 = Extensions.Between(src, (string) "OSDSYS", (string) "@");
								}
								var item = new Legacy.Bios {
									DisplayInfo = GetValue(str4),
									Tag = str,
									Location = str
								};
								bioses.Add(item);
							}
						}
					}
				}
			});
			bioses.ForEach(b => lbBios.Items.Add(b));
			var enumerator = ((IEnumerable)lbBios.Items).GetEnumerator();
			try {
				while (enumerator.MoveNext()) {
					var current = enumerator.Current;
					var bios = (Legacy.Bios)current;
					if (bios.Tag.ToString() != currentBios) continue;
					lbBios.SelectedItem = bioses;
					return;
				}
			}
			finally {
				var disposable = enumerator as IDisposable;
				if (disposable != null) {
					disposable.Dispose();
				}
			}
		}