public bool ExportFile(AAPakFileInfo pfi, string destName) { try { // Save file stream var filePakStream = pak.ExportFileAsStream(pfi); FileStream fs = new FileStream(destName, FileMode.Create); filePakStream.Position = 0; filePakStream.CopyTo(fs); filePakStream.Dispose(); fs.Dispose(); // Update file details File.SetCreationTime(destName, DateTime.FromFileTime(pfi.createTime)); File.SetLastWriteTime(destName, DateTime.FromFileTime(pfi.modifyTime)); } catch { return(false); } return(true); }
private void MakeModForm_Load(object sender, EventArgs e) { addFiles.Clear(); foreach (var fi in mainPak.files) { if (!fi.name.StartsWith(ModFileFolderName)) { addFiles.Add(fi.name); } } // Load Description if (mainPak.FileExists(ModInfoFileName)) { var descStream = mainPak.ExportFileAsStream(ModInfoFileName); var desc = AAPak.StreamToString(descStream); tDescription.Text = desc; } else { var s = ""; if (addFiles.Count < 50) { s = "Updating " + addFiles.Count.ToString() + " file(s):\r\n"; foreach (var a in addFiles) { s += a + "\r\n"; } } else { s = "This mod changes " + addFiles.Count.ToString() + " files"; } tDescription.Text += s; } // Load PNG if (mainPak.FileExists(ModPNGImageFileName)) { try { var imgStream = mainPak.ExportFileAsStream(ModPNGImageFileName); var img = Image.FromStream(imgStream); modIcon.Image = img; modIcon.BorderStyle = BorderStyle.None; useOldPNGImage = true; } catch { } } else // Load JPG if (mainPak.FileExists(ModJPGImageFileName)) { try { var imgStream = mainPak.ExportFileAsStream(ModJPGImageFileName); var img = Image.FromStream(imgStream); modIcon.Image = img; modIcon.BorderStyle = BorderStyle.None; useOldJPGImage = true; } catch { } } }