Example #1
0
        private void OnClickBGUnpack(object sender, EventArgs eventArgs)
        {
            TreeNode pbNode = treeView1.SelectedNode;
            BGFile   bg     = (BGFile)pbNode.Tag;

            Enabled = false;
            bg.Unpack();
            Enabled = true;
            _state.SaveProject();
        }
        public void Update(BaseFile baseFile)
        {
            if (baseFile == null)
            {
                if (EnabledLZB)
                {
                    lzbControl.Visible = false;
                }
                if (EnabledTIM)
                {
                    timControl.Visible = false;
                }
                if (EnabledPB)
                {
                    pbControl.Visible = false;
                }
                if (EnabledBG)
                {
                    bgControl.Visible = false;
                }
                textControl.Visible = false;
                return;
            }
            if (baseFile.GetType() == typeof(TIMFile) && EnabledTIM)
            {
                TIMFile timFile = (TIMFile)baseFile;
                timControl.Update(timFile);
                timControl.Visible = true;
                if (EnabledLZB)
                {
                    lzbControl.Visible = false;
                }
                if (EnabledPB)
                {
                    pbControl.Visible = false;
                }
                if (EnabledBG)
                {
                    bgControl.Visible = false;
                }
                textControl.Visible = false;
                return;
            }
            if (baseFile.GetType() == typeof(LZBFile) && EnabledLZB)
            {
                LZBFile lzbFile = (LZBFile)baseFile;
                lzbControl.Update(lzbFile);
                lzbControl.Visible = true;
                if (EnabledTIM)
                {
                    timControl.Visible = false;
                }
                if (EnabledPB)
                {
                    pbControl.Visible = false;
                }
                if (EnabledBG)
                {
                    bgControl.Visible = false;
                }
                textControl.Visible = false;
                return;
            }
            if (baseFile.GetType() == typeof(PBFile) && EnabledPB)
            {
                PBFile pbFile = (PBFile)baseFile;
                pbControl.Update(pbFile);
                pbControl.Visible = true;
                if (EnabledTIM)
                {
                    timControl.Visible = false;
                }
                if (EnabledLZB)
                {
                    lzbControl.Visible = false;
                }
                if (EnabledBG)
                {
                    bgControl.Visible = false;
                }
                textControl.Visible = false;
                return;
            }
            if (baseFile.GetType() == typeof(BGFile) && EnabledBG)
            {
                BGFile bgFile = (BGFile)baseFile;
                bgControl.Update(bgFile);
                bgControl.Visible = true;
                if (EnabledTIM)
                {
                    timControl.Visible = false;
                }
                if (EnabledLZB)
                {
                    lzbControl.Visible = false;
                }
                if (EnabledPB)
                {
                    pbControl.Visible = false;
                }
                textControl.Visible = false;
                return;
            }

            textControl.Update(baseFile);
            textControl.Visible = true;
            if (EnabledLZB)
            {
                lzbControl.Visible = false;
            }
            if (EnabledTIM)
            {
                timControl.Visible = false;
            }
            if (EnabledPB)
            {
                pbControl.Visible = false;
            }
            if (EnabledBG)
            {
                bgControl.Visible = false;
            }
        }
Example #3
0
        private void UpdateTreeNodes()
        {
            treeView1.Nodes.Clear();
            if (_state.ProjectFile == null)
            {
                return;
            }

            PSXImage image     = _state.ProjectFile.ModifiedImage;
            TreeNode imageNode = new TreeNode(image.ToString());

            imageNode.Tag     = image;
            imageNode.Checked = false;

            foreach (string directory in ConanImage.Directories)
            {
                TreeNode directoryNode = new TreeNode(directory);
                directoryNode.ImageIndex = 0;

                PKNFile pkn = image.PKNFiles.Find(e => e.Name == directory);
                if (pkn != null)
                {
                    TreeNode pknNode = new TreeNode(pkn.FileName);
                    pknNode.ImageIndex         = 1;
                    pknNode.SelectedImageIndex = 1;
                    pknNode.Tag = pkn;

                    if (pkn.Files.Count != 0)
                    {
                        foreach (BaseFile file in pkn.Files)
                        {
                            TreeNode fileNode = new TreeNode(file.FileName);
                            fileNode.Tag = file;

                            if (file.GetType() == typeof(PBFile))
                            {
                                PBFile pbFile = (PBFile)file;
                                foreach (PBFileEntry entry in pbFile.Files)
                                {
                                    TreeNode entryNode = new TreeNode(entry.File.FileName);
                                    entryNode.Tag = entry.File;
                                    fileNode.Nodes.Add(entryNode);
                                }
                            }
                            if (file.GetType() == typeof(BGFile))
                            {
                                BGFile bgFile = (BGFile)file;
                                foreach (BaseFile entry in bgFile.Files)
                                {
                                    TreeNode entryNode = new TreeNode(entry.FileName);
                                    entryNode.Tag = entry;
                                    fileNode.Nodes.Add(entryNode);
                                }
                            }
                            pknNode.Nodes.Add(fileNode);
                        }
                    }
                    directoryNode.Nodes.Add(pknNode);
                }
                else
                {
                    foreach (ConanImageFile file in ConanImage.Files)
                    {
                        if (Path.GetDirectoryName(file.FilePath) == directory)
                        {
                            TreeNode fileNode = new TreeNode(Path.GetFileName(file.FilePath));
                            fileNode.Tag = file;
                            //fileNode.Tag = HeaderList.GetTypeFromFile(Path.Combine(_state.ProjectFile.ModifiedImage.RippedDirectory,file.FilePath)); //LAAAAG
                            directoryNode.Nodes.Add(fileNode);
                        }
                    }
                }
                imageNode.Nodes.Add(directoryNode);
            }
            treeView1.Nodes.Add(imageNode);
        }
Example #4
0
 public void Update(BGFile bgFile)
 {
     textBox_FileCount.Text = bgFile.Header.FileCount.ToString();
     textBox_Mask.Text      = Conversion.BoolArrayToBinary(bgFile.Header.IndicesMask);
 }