Example #1
0
        public MDL0ShaderNode NewShader()
        {
            MDL0Node model = (MDL0Node)_resource;

            if (model._shadGroup == null)
            {
                MDL0GroupNode g = model._shadGroup;
                if (g == null)
                {
                    model.AddChild(g = new MDL0GroupNode(MDLResourceType.Shaders), true);
                    model._shadGroup = g;
                    model._shadList  = g.Children;
                }
            }

            if (model._shadList != null &&
                model._matList != null &&
                model._shadList.Count < model._matList.Count)
            {
                MDL0ShaderNode shader = new MDL0ShaderNode();
                model._shadGroup.AddChild(shader);
                shader.Default();
                shader.Rebuild(true);

                BaseWrapper b = FindResource(shader, true);
                b?.EnsureVisible();

                return(shader);
            }

            MessageBox.Show("Shader could not be added. Make sure that you do not have more shaders than materials",
                            "Error");
            return(null);
        }
Example #2
0
        public void NewShader()
        {
            MDL0Node model = (MDL0Node)_resource;

            if (model._shadGroup == null)
            {
                MDL0GroupNode g = model._shadGroup;
                if (g == null)
                {
                    model.AddChild(g = new MDL0GroupNode(MDLResourceType.Shaders), true);
                    model._shadGroup = g;
                    model._shadList  = g.Children;
                }
            }

            if (model._shadList != null &&
                model._matList != null &&
                model._shadList.Count < model._matList.Count)
            {
                MDL0ShaderNode shader = new MDL0ShaderNode();
                model._shadGroup.AddChild(shader);
                shader.Default();
                shader.Rebuild(true);

                BaseWrapper b = FindResource(shader, true);
                if (b != null)
                {
                    b.EnsureVisible();
                }
            }
        }
Example #3
0
        public void ImportTexture()
        {
            int index = Program.OpenFile(FileFilters.TEX0, out string path);

            if (index == 8)
            {
                TEX0Node node = NodeFactory.FromFile(null, path) as TEX0Node;
                ((BRRESNode)_resource).GetOrCreateFolder <TEX0Node>().AddChild(node);

                string palette = Path.ChangeExtension(path, ".plt0");
                if (File.Exists(palette) && node.HasPalette)
                {
                    PLT0Node n = NodeFactory.FromFile(null, palette) as PLT0Node;
                    ((BRRESNode)_resource).GetOrCreateFolder <PLT0Node>().AddChild(n);
                }

                BaseWrapper w = FindResource(node, true);
                w.EnsureVisible();
                w.TreeView.SelectedNode = w;
            }
            else if (index > 0)
            {
                using (TextureConverterDialog dlg = new TextureConverterDialog())
                {
                    dlg.ImageSource = path;
                    if (dlg.ShowDialog(MainForm.Instance, Resource as BRRESNode) == DialogResult.OK)
                    {
                        BaseWrapper w = FindResource(dlg.TEX0TextureNode, true);
                        w.EnsureVisible();
                        w.TreeView.SelectedNode = w;
                    }
                }
            }
        }
Example #4
0
        public TLSTEntryNode NewEntry()
        {
            if (Resource.Children.Count >= 64)
            {
                return(null);
            }
            StringInputDialog d = new StringInputDialog("New TLST Entry", "");

            if (d.ShowDialog() == DialogResult.OK)
            {
                // Get an unused expanded song id
                uint songID = 0x0000F000;
                while (Resource.Children.Count(n => ((TLSTEntryNode)n)._songID == songID) > 0)
                {
                    songID++;
                }
                TLSTEntryNode node = new TLSTEntryNode
                {
                    _name     = d.resultString,
                    _songID   = songID,
                    Volume    = 80,
                    Frequency = 40
                };

                _resource.AddChild(node);
                BaseWrapper w = FindResource(node, false);
                w.EnsureVisible();
                w.TreeView.SelectedNode = w;
                return(node);
            }

            return(null);
        }
Example #5
0
        public void ImportTexture()
        {
            int index = Program.OpenFile(FileFilters.Images, out string path);

            if (index == 8)
            {
                TPLTextureNode t = new TPLTextureNode()
                {
                    Name = "Texture"
                };
                _resource.AddChild(t);
                t.Replace(path);

                BaseWrapper w = FindResource(t, true);
                w.EnsureVisible();
                w.TreeView.SelectedNode = w;
            }
            else if (index > 0)
            {
                using (TextureConverterDialog dlg = new TextureConverterDialog())
                {
                    dlg.ImageSource = path;
                    if (dlg.ShowDialog(MainForm.Instance, Resource as TPLNode) == DialogResult.OK)
                    {
                        BaseWrapper w = FindResource(dlg.TPLTextureNode, true);
                        w.EnsureVisible();
                        w.TreeView.SelectedNode = w;
                    }
                }
            }
        }
Example #6
0
        private void Append()
        {
            ((VIS0Node)_resource).Append();
            BaseWrapper res = FindResource(_resource, false);

            res.EnsureVisible();
            res.TreeView.SelectedNode = res;
        }
Example #7
0
        public void Reverse(bool appendReverse)
        {
            ((CHR0Node)_resource).Reverse(appendReverse);
            BaseWrapper res = FindResource(_resource, false);

            res.EnsureVisible();
            res.TreeView.SelectedNode = res;
        }
Example #8
0
        public void newCamera()
        {
            SCN0EntryNode node = ((SCN0Node)_resource).CreateResource <SCN0CameraNode>("NewCamera");
            BaseWrapper   res  = FindResource(node, true);

            res.EnsureVisible();
            //res.TreeView.SelectedNode = res;
        }
Example #9
0
        public void newAmbLight()
        {
            SCN0EntryNode node = ((SCN0Node)_resource).CreateResource <SCN0AmbientLightNode>("NewAmbientLight");
            BaseWrapper   res  = FindResource(node, true);

            res.EnsureVisible();
            //res.TreeView.SelectedNode = res;
        }
Example #10
0
        public void NewEntry()
        {
            SHP0EntryNode node = ((SHP0Node)_resource).FindOrCreateEntry(_resource.FindName(null));
            BaseWrapper   res  = FindResource(node, false);

            res.EnsureVisible();
            res.TreeView.SelectedNode = res;
        }
Example #11
0
        public void Loop(int timesToLoop)
        {
            ((CHR0Node)_resource).Append((CHR0Node)_resource, timesToLoop);
            BaseWrapper res = FindResource(_resource, false);

            res.EnsureVisible();
            res.TreeView.SelectedNode = res;
        }
Example #12
0
        private void Resize()
        {
            ((SRT0Node)_resource).Resize();
            BaseWrapper res = FindResource(_resource, false);

            res.EnsureVisible();
            res.TreeView.SelectedNode = res;
        }
Example #13
0
        public void NewBone()
        {
            CHR0EntryNode node = ((CHR0Node)_resource).CreateEntry();
            BaseWrapper   res  = FindResource(node, false);

            res.EnsureVisible();
            res.TreeView.SelectedNode = res;
        }
Example #14
0
        public void Merge()
        {
            ((CHR0Node)_resource).MergeWith();
            BaseWrapper res = FindResource(_resource, false);

            res.EnsureVisible();
            res.TreeView.SelectedNode = res;
        }
Example #15
0
        public void NewModel()
        {
            MDL0Node    node = ((BRRESNode)_resource).CreateResource <MDL0Node>("NewModel");
            BaseWrapper res  = FindResource(node, true);

            res = res.FindResource(node, false);
            res.EnsureVisible();
            res.TreeView.SelectedNode = res;
        }
Example #16
0
        public void NewTpl()
        {
            TPLNode     node = ((U8FolderNode)_resource).CreateResource <TPLNode>("TPL");
            BaseWrapper res  = FindResource(node, true);

            res = res.FindResource(node, false);
            res.EnsureVisible();
            res.TreeView.SelectedNode = res;
        }
Example #17
0
        public BRRESNode NewBrres()
        {
            BRRESNode   node = ((U8FolderNode)_resource).CreateResource <BRRESNode>("NewBrres");
            BaseWrapper res  = FindResource(node, true);

            res = res.FindResource(node, false);
            res.EnsureVisible();
            res.TreeView.SelectedNode = res;
            return(node);
        }
Example #18
0
        private void NewCLR()
        {
            CLR0MaterialEntryNode n = ((CLR0Node)_resource).CreateEntry();

            if (n != null)
            {
                BaseWrapper b = FindResource(n, true);
                b?.EnsureVisible();
            }
        }
Example #19
0
        public void NewClr()
        {
            CLR0Node node = ((BRRESNode)_resource).CreateResource <CLR0Node>("NewCLR");

            node.Version = 3;
            BaseWrapper res = FindResource(node, true);

            res = res.FindResource(node, false);
            res.EnsureVisible();
            res.TreeView.SelectedNode = res;
        }
Example #20
0
        public void Clear()
        {
            while (((RSTCNode)_resource).cssList.HasChildren)
            {
                ((RSTCNode)_resource).cssList.RemoveChild(((RSTCNode)_resource).cssList.Children[0]);
            }

            while (((RSTCNode)_resource).randList.HasChildren)
            {
                ((RSTCNode)_resource).randList.RemoveChild(((RSTCNode)_resource).randList.Children[0]);
            }

            BaseWrapper w = FindResource(((RSTCNode)_resource).cssList, false);

            w.EnsureVisible();
            w.Expand();
            w = FindResource(((RSTCNode)_resource).randList, false);
            w.EnsureVisible();
            w.Expand();
        }
Example #21
0
        public ItmFreqEntryNode NewEntry()
        {
            ItmFreqEntryNode node = new ItmFreqEntryNode();
            node.UpdateName();
            _resource.AddChild(node);

            BaseWrapper w = FindResource(node, false);
            w.EnsureVisible();
            w.TreeView.SelectedNode = w;
            return node;
        }
Example #22
0
        public void ImportBrres()
        {
            if (Program.OpenFile(FileFilters.BRES, out string path) > 0)
            {
                BRRESNode node = NodeFactory.FromFile(null, path) as BRRESNode;
                ((U8FolderNode)_resource).AddChild(node);

                BaseWrapper w = FindResource(node, true);
                w.EnsureVisible();
                w.TreeView.SelectedNode = w;
            }
        }
Example #23
0
        public GITMNode NewGITM()
        {
            GITMNode node = new GITMNode();

            _resource.AddChild(node);

            BaseWrapper w = FindResource(node, false);

            w.EnsureVisible();
            w.TreeView.SelectedNode = w;
            return(node);
        }
        public void Clear()
        {
            while (_resource.HasChildren)
            {
                _resource.RemoveChild(_resource.Children[0]);
            }

            BaseWrapper w = FindResource(_resource, false);

            w.EnsureVisible();
            w.Expand();
        }
Example #25
0
        public void ImportChr()
        {
            if (Program.OpenFile(FileFilters.CHR0Import, out string path) > 0)
            {
                CHR0Node node = CHR0Node.FromFile(path);
                ((BRRESNode)_resource).GetOrCreateFolder <CHR0Node>().AddChild(node);

                BaseWrapper w = FindResource(node, true);
                w.EnsureVisible();
                w.TreeView.SelectedNode = w;
            }
        }
Example #26
0
        public void ImportClr()
        {
            if (Program.OpenFile(FileFilters.CLR0, out string path) > 0)
            {
                CLR0Node node = NodeFactory.FromFile(null, path) as CLR0Node;
                ((BRRESNode)_resource).GetOrCreateFolder <CLR0Node>().AddChild(node);

                BaseWrapper w = FindResource(node, true);
                w.EnsureVisible();
                w.TreeView.SelectedNode = w;
            }
        }
Example #27
0
        public RawDataNode NewEntry()
        {
            RawDataNode node = new RawDataNode
            {
                _name = (((STEXNode)Resource).IsOldSubstage ? "_" : "") + $"{Resource.Children.Count:D2}"
            };

            _resource.AddChild(node);
            BaseWrapper w = FindResource(node, false);

            w.EnsureVisible();
            return(node);
        }
Example #28
0
        public HavokNode NewHavok()
        {
            HavokNode node = new HavokNode {
                Name = _resource.FindName("NewHavokData"), FileType = ARCFileType.MiscData
            };

            _resource.AddChild(node);

            BaseWrapper w = FindResource(node, false);

            w.EnsureVisible();
            w.TreeView.SelectedNode = w;
            return(node);
        }
Example #29
0
        public ADSJNode NewADSJ()
        {
            ADSJNode node = new ADSJNode {
                FileType = ARCFileType.MiscData
            };

            _resource.AddChild(node);

            BaseWrapper w = FindResource(node, false);

            w.EnsureVisible();
            w.TreeView.SelectedNode = w;
            return(node);
        }
Example #30
0
        public void NewMaterial()
        {
            MDL0Node model = (MDL0Node)_resource;

            if (model._matGroup == null)
            {
                MDL0GroupNode g = model._matGroup;
                if (g == null)
                {
                    model.AddChild(g = new MDL0GroupNode(MDLResourceType.Materials), true);
                    model._matGroup  = g;
                    model._matList   = g.Children;
                }
            }

            MDL0MaterialNode mat = new MDL0MaterialNode();

            model._matGroup.AddChild(mat);
            mat.Name = "Material" + mat.Index;

            if (model._shadGroup == null)
            {
                MDL0GroupNode g = model._shadGroup;
                if (g == null)
                {
                    model.AddChild(g = new MDL0GroupNode(MDLResourceType.Shaders), true);
                    model._shadGroup = g;
                    model._shadList  = g.Children;
                }
            }

            if (model._shadList.Count == 0)
            {
                NewShader();
            }

            mat.ShaderNode = (MDL0ShaderNode)model._shadList[0];
            MDL0MaterialRefNode mr = new MDL0MaterialRefNode();

            mat.AddChild(mr);
            mr.Name = "MatRef0";
            mat.Rebuild(true);

            BaseWrapper b = FindResource(mat, true);

            if (b != null)
            {
                b.EnsureVisible();
            }
        }