Beispiel #1
0
 public void LoadROMS()
 {
     try
     {
         string name = Path.Combine(Path.GetDirectoryName(Process.GetCurrentProcess().MainModule.FileName), "roms.zip");
         using (ZipFile zipFile = new ZipFile(name))
         {
             foreach (object obj in zipFile)
             {
                 ZipEntry zipEntry = (ZipEntry)obj;
                 if (zipEntry.IsFile && zipEntry.CanDecompress)
                 {
                     string value = Path.GetFileNameWithoutExtension(zipEntry.Name).ToLower();
                     foreach (object obj2 in Enum.GetValues(typeof(RomName)))
                     {
                         RomName romName = (RomName)obj2;
                         if (romName.ToString().Equals(value, StringComparison.InvariantCultureIgnoreCase))
                         {
                             using (Stream inputStream = zipFile.GetInputStream(zipEntry))
                             {
                                 int num = (int)zipEntry.Size;
                                 if (num >= 16384)
                                 {
                                     num = 16384;
                                 }
                                 byte[] array = new byte[num];
                                 inputStream.Read(array, 0, num);
                                 this._spec.SetRomImage(romName, array, 0, num);
                                 break;
                             }
                         }
                     }
                 }
             }
         }
     }
     catch (FileNotFoundException)
     {
         PlatformFactory.Platform.ShowWarning("Load ROM images failed!\nFile not found: roms.zip", "Error");
     }
 }