コード例 #1
0
ファイル: BFSHA.cs プロジェクト: swordlegend/BFRES-Viewer
            public StaticShaderOptions(FileData f)
            {
                StaticOptionName = f.readString(f.readOffset() + ExternalFiles.DataOffset + 2, -1);
                f.skip(36);

                Console.WriteLine(StaticOptionName);

                matnames.Add(StaticOptionName);

                ShaderSettingsWindow table = new ShaderSettingsWindow(matnames.ToArray());
            }
コード例 #2
0
        private void treeView1_DoubleClick(object sender, EventArgs e)
        {
            listView1.Visible     = false;
            propertyGrid1.Visible = false;

            if (treeView1.SelectedNode is FSKANode)
            {
                ((FSKANode)treeView1.SelectedNode).Display(listView1);
            }
            if (treeView1.SelectedNode is BRTI)
            {
                Swizzle.Surface Tex = new Swizzle.Surface();

                propertyGrid1.Visible = true;



                propertyGrid1.SelectedObject = Tex;
            }
            if (treeView1.SelectedNode is ShaderModel)
            {
                var window = new ShaderSettingsWindow();

                if (window.ShowDialog() == DialogResult.OK)
                {
                }
            }

            /*if (treeView1.SelectedNode is Skeleton)
             * {
             *  RenderableNodes.Clear();
             *  RenderableNodes.Add((Skeleton)treeView1.SelectedNode);
             *  glControl1.Invalidate();
             * }
             * if (treeView1.SelectedNode is BFRES.FMDL)
             * {
             *  RenderableNodes.Clear();
             *  RenderableNodes.Add((BFRES.FMDL)treeView1.SelectedNode);
             *  glControl1.Invalidate();
             * }
             * if (treeView1.SelectedNode is BFRES.FTEX)
             * {
             *  RenderableNodes.Clear();
             *  RenderableNodes.Add((BFRES.FTEX)treeView1.SelectedNode);
             *  glControl1.Invalidate();
             * }*/
            if (treeView1.SelectedNode is RenderableNode)
            {
                if (treeView1.SelectedNode is FSKA)
                {
                    List <RenderableNode> mod = new List <RenderableNode>();
                    foreach (RenderableNode node in RenderableNodes)
                    {
                        if (node is FMDL)
                        {
                            mod.Add(node);
                        }
                    }
                    RenderableNodes.Clear();
                    RenderableNodes.AddRange(mod);

                    // set transforms

                    loadedSkel      = ((FMDL)mod[0]).skel;
                    loadedAnimation = ((FSKA)treeView1.SelectedNode);

                    loadedAnimation.nextFrame(loadedSkel);
                }
                else
                {
                    RenderableNodes.Clear();
                }
                RenderableNodes.Add((RenderableNode)treeView1.SelectedNode);
                glControl1.Invalidate();
            }
            else
            if (treeView1.SelectedNode is RenderableNode)
            {
                RenderableNodes.Clear();
                RenderableNodes.Add((RenderableNode)treeView1.SelectedNode);
                glControl1.Invalidate();
            }

            /*if(treeView1.SelectedNode.Tag is FileData)
             * {
             *  using (SaveFileDialog d = new SaveFileDialog())
             *  {
             *      if(d.ShowDialog() == DialogResult.OK)
             *      {
             *          File.WriteAllBytes(d.FileName, ((FileData)treeView1.SelectedNode.Tag).b);
             *      }
             *  }
             * }*/
        }