Example #1
0
        public static void Pack(string path, U8EntryNode parent)
        {
            foreach (var file in Directory.EnumerateFiles(path))
            {
                Console.WriteLine(file);

                var node = new ARCEntryNode {
                    Name = Path.GetFileName(file)
                };
                parent.AddChild(node);

                byte[] data = File.ReadAllBytes(file);
                using (var ms = new MemoryStream(data)) {
                    node.Initialize(parent, new DataSource(ms));
                }
            }
            foreach (var directory in Directory.EnumerateDirectories(path))
            {
                Console.WriteLine(directory);

                var node = new U8FolderNode {
                    Name = Path.GetFileName(directory)
                };
                parent.AddChild(node);
                Pack(directory, node);
            }
        }
Example #2
0
        public U8FolderNode NewFolder()
        {
            U8FolderNode node = ((U8FolderNode)_resource).CreateResource <U8FolderNode>("NewFolder");
            BaseWrapper  res  = this.FindResource(node, true);

            res = res.FindResource(node, false);
            res.EnsureVisible();
            res.TreeView.SelectedNode = res;
            return(node);
        }
Example #3
0
        public U8FolderNode NewFolder()
        {
            U8FolderNode node = new U8FolderNode {
                Name = _resource.FindName("NewFolder")
            };

            _resource.AddChild(node);

            BaseWrapper w = FindResource(node, false);

            w.EnsureVisible();
            w.TreeView.SelectedNode = w;
            return(node);
        }
Example #4
0
        public void ImportU8()
        {
            if (Program.OpenFile(FileFilters.U8Import, out string path) > 0)
            {
                U8Node       node = NodeFactory.FromFile(null, path) as U8Node;
                U8FolderNode n    = new U8FolderNode();
                foreach (ResourceNode r in node.Children)
                {
                    n.AddChild(r);
                }

                n.Name = node.Name;
                ((U8FolderNode)_resource).AddChild(n);

                BaseWrapper w = FindResource(n, true);
                w.EnsureVisible();
                w.TreeView.SelectedNode = w;
            }
        }
Example #5
0
        public void ImportU8()
        {
            string path;

            if (Program.OpenFile("U8 Archive (*.arc)|*.arc|" +
                                 "Compressed U8 Archive (*.szs)|*.szs|" +
                                 "Archive Pair (*.pair)|*.pair", out path) > 0)
            {
                U8Node       node = NodeFactory.FromFile(null, path) as U8Node;
                U8FolderNode n    = new U8FolderNode();
                foreach (ResourceNode r in node.Children)
                {
                    n.AddChild(r);
                }
                n.Name = node.Name;
                ((U8FolderNode)_resource).AddChild(n);

                BaseWrapper w = this.FindResource(n, true);
                w.EnsureVisible();
                w.TreeView.SelectedNode = w;
            }
        }
Example #6
0
        public void searchU8Folder(U8FolderNode u8, out bool hasModels, out bool hasTextures)
        {
            hasModels   = false;
            hasTextures = false;
            foreach (ResourceNode r in u8.Children)
            {
                if (hasModels && hasTextures)
                {
                    break;
                }

                if (r is BRRESNode)
                {
                    foreach (BRESGroupNode e in r.Children)
                    {
                        if (e.Type == BRESGroupNode.BRESGroupType.Textures)
                        {
                            hasTextures = true;
                        }
                        else if (e.Type == BRESGroupNode.BRESGroupType.Models)
                        {
                            hasModels = true;
                        }

                        if (hasModels && hasTextures)
                        {
                            break;
                        }
                    }
                }
                else if (r is U8FolderNode)
                {
                    searchU8Folder((U8FolderNode)r, out bool hasModelsTemp, out bool hasTexturesTemp);
                    hasModels   = hasModels || hasModelsTemp;
                    hasTextures = hasTextures || hasTexturesTemp;
                }
            }
        }
        public U8FolderNode NewFolder()
        {
            U8FolderNode node = new U8FolderNode() { Name = _resource.FindName("NewFolder") };
            _resource.AddChild(node);

            BaseWrapper w = this.FindResource(node, false);
            w.EnsureVisible();
            w.TreeView.SelectedNode = w;
            return node;
        }
        public void ImportU8()
        {
            string path;
            if (Program.OpenFile("U8 Archive (*.arc)|*.arc|" +
                    "Compressed U8 Archive (*.szs)|*.szs|" +
                    "Archive Pair (*.pair)|*.pair", out path) > 0)
            {
                U8Node node = NodeFactory.FromFile(null, path) as U8Node;
                U8FolderNode n = new U8FolderNode();
                foreach (ResourceNode r in node.Children) n.AddChild(r);
                n.Name = node.Name;
                ((U8FolderNode)_resource).AddChild(n);

                BaseWrapper w = this.FindResource(n, true);
                w.EnsureVisible();
                w.TreeView.SelectedNode = w;
            }
        }