Exemple #1
0
        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 { }
            }
        }