Пример #1
0
        public SarcEntry SetupFileEntry(string fullName, byte[] data, string HashName)
        {
            SarcEntry sarcEntry = new SarcEntry();

            sarcEntry.FileName = fullName;
            sarcEntry.FileData = data;
            sarcEntry.HashName = HashName;
            return(sarcEntry);
        }
Пример #2
0
        private void SaveFileEntryData(SarcEntry sarc)
        {
            string dir = Path.GetDirectoryName(sarc.FullName);

            if (dir == string.Empty)
            {
                sarc.FullName = sarc.Text;
            }
            else
            {
                sarc.FullName = Path.Combine(dir, sarc.Text);
            }

            sarcData.Files.Add(sarc.FullName, sarc.Data);
        }
Пример #3
0
        private void SaveFileEntryData(SarcEntry sarc)
        {
            string dir = Path.GetDirectoryName(sarc.FullName);

            Console.WriteLine(sarc.FullName);

            if (dir == string.Empty)
            {
                sarc.FullName = sarc.Text;
            }
            else
            {
                sarc.FullName = dir + "/" + sarc.Text;
            }

            Console.WriteLine(sarc.FullName);

            sarcData.Files.Add(sarc.FullName, sarc.Data);
        }
Пример #4
0
        public SarcEntry SetupFileEntry(byte[] data, string name, string fullName, string SarchHash)
        {
            SarcEntry sarcEntry = new SarcEntry();

            sarcEntry.FullName = fullName;
            sarcEntry.Name     = name;
            sarcEntry.Text     = name;
            sarcEntry.sarc     = this;
            sarcEntry.Data     = data;
            sarcEntry.sarcHash = SarcHash;

            Console.WriteLine(name);

            string ext    = Path.GetExtension(name);
            string SarcEx = SARCExt.SARC.GuessFileExtension(data);

            if (SarcEx == ".bfres" || ext == ".sbfres")
            {
                sarcEntry.ImageKey         = "bfres";
                sarcEntry.SelectedImageKey = "bfres";
            }
            if (SarcEx == ".bntx")
            {
                sarcEntry.ImageKey         = "bntx";
                sarcEntry.SelectedImageKey = "bntx";
            }
            if (SarcEx == ".byaml")
            {
                sarcEntry.ImageKey         = "byaml";
                sarcEntry.SelectedImageKey = "byaml";
            }
            if (SarcEx == ".aamp")
            {
                sarcEntry.ImageKey         = "aamp";
                sarcEntry.SelectedImageKey = "aamp";
            }
            return(sarcEntry);
        }
Пример #5
0
        public static TreeNode OpenFile(string FileName, byte[] data, SarcEntry sarcEntry, bool Compressed = false, CompressionType CompType = 0)
        {
            Cursor.Current = Cursors.WaitCursor;
            FileReader fileReader = new FileReader(data);
            string     Magic4     = fileReader.ReadMagic(0, 4);
            string     Magic2     = fileReader.ReadMagic(0, 2);

            if (Magic4 == "Yaz0")
            {
                data = EveryFileExplorer.YAZ0.Decompress(data);
                return(OpenFile(FileName, data, sarcEntry, true, (CompressionType)1));
            }
            if (Magic4 == "ZLIB")
            {
                data = FileReader.InflateZLIB(fileReader.getSection(64, data.Length - 64));
                return(OpenFile(FileName, data, sarcEntry, true, (CompressionType)2));
            }
            fileReader.Dispose();
            fileReader.Close();
            foreach (IFileFormat fileFormat in FileManager.GetFileFormats())
            {
                if (fileFormat.Magic == Magic4 || fileFormat.Magic == Magic2)
                {
                    fileFormat.CompressionType  = CompType;
                    fileFormat.FileIsCompressed = Compressed;
                    fileFormat.Data             = data;
                    fileFormat.Load();
                    fileFormat.FileName              = Path.GetFileName(FileName);
                    fileFormat.FilePath              = FileName;
                    fileFormat.IFileInfo             = new IFileInfo();
                    fileFormat.IFileInfo.ArchiveHash = sarcEntry.sarcHash;
                    fileFormat.IFileInfo.InArchive   = true;
                    if (fileFormat.EditorRoot == null)
                    {
                        return(null);
                    }
                    fileFormat.EditorRoot.ImageKey         = sarcEntry.ImageKey;
                    fileFormat.EditorRoot.SelectedImageKey = sarcEntry.SelectedImageKey;
                    fileFormat.EditorRoot.Text             = sarcEntry.Text;

                    return(fileFormat.EditorRoot);
                }
                if (fileFormat.Magic == string.Empty)
                {
                    foreach (string str3 in fileFormat.Extension)
                    {
                        if (str3.Remove(0, 1) == Path.GetExtension(FileName))
                        {
                            fileFormat.Data = data;
                            fileFormat.Load();
                            fileFormat.FileName              = Path.GetFileName(FileName);
                            fileFormat.FilePath              = FileName;
                            fileFormat.IFileInfo             = new IFileInfo();
                            fileFormat.IFileInfo.ArchiveHash = sarcEntry.sarcHash;
                            fileFormat.IFileInfo.InArchive   = true;
                            if (fileFormat.EditorRoot == null)
                            {
                                return(null);
                            }
                            fileFormat.EditorRoot.ImageKey         = sarcEntry.ImageKey;
                            fileFormat.EditorRoot.SelectedImageKey = sarcEntry.SelectedImageKey;
                            fileFormat.EditorRoot.Text             = sarcEntry.Text;
                            return(fileFormat.EditorRoot);
                        }
                    }
                }
            }
            return((TreeNode)null);
        }