コード例 #1
0
        public void ResolveObjects()
        {
            int off1 = 0;
            if (objectPointerList.Length > 1)
            {
                DataTree.Nodes.Add(new BaseNode("Character Nodes"));
                while (off1 < objectPointerList.Length)
                {
                    long pEntry = GetWord(objectPointerList, off1);
                    long lEntry = FromWord(GetWord(objectPointerList, off1 + 0x04));
                    string Name = GetString(nameList, GetWord(objectPointerList, 0x4 + off1));

                    if (Name.Contains("aram") || Name.Contains("CollData") || Name.Contains("hitData"))
                    {
                        ParamNode Node = new ParamNode(Name, pEntry, lEntry);
                        Node.BackColor = Color.GreenYellow;
                        DataTree.Nodes[1].Nodes.Add(Node);
                    }
                    else if (Name.Contains("AnimCmd") && !Name.Contains("Disguise"))
                    {
                        ScriptNode Node = new ScriptNode(Name, pEntry);
                        Node.BackColor = Color.Yellow;
                        DataTree.Nodes[1].Nodes.Add(Node);
                    }
                    else
                    {
                        BaseNode Node = new BaseNode(Name);
                        Node.BackColor = Color.Gray;
                        if (Node.Text != "data") { DataTree.Nodes[1].Nodes.Add(Node); }
                    }
                    off1 += 8;
                }
            }
        }
コード例 #2
0
        public void ResolveExternals()
        {
            int off1 = 0;
            if (ExternalPointerList.Length > 1)
            {
                BaseNode root = new BaseNode("Externals");
                BaseNode effect = new BaseNode("effectAnimCmd");
                BaseNode game = new BaseNode("gameAnimCmd");
                BaseNode status = new BaseNode("statusAnimCmd");

                while (off1 < ExternalPointerList.Length)
                {
                    long pEntry = GetWord(ExternalPointerList, off1);
                    long lEntry = FromWord(GetWord(ExternalPointerList, off1 + 0x04));
                    string Name = GetString(nameList, GetWord(ExternalPointerList, 0x4 + off1));
                    BaseNode n = new BaseNode(Name);
                    n.BackColor = Color.Gray;

                    if (Name.Contains("effectAnim"))
                        effect.Nodes.Add(n);
                    else if (Name.Contains("gameAnim"))
                        game.Nodes.Add(n);
                    else if (Name.Contains("statusAnim"))
                        status.Nodes.Add(n);
                    else
                        root.Nodes.Add(new BaseNode(Name));
                    off1 += 8;
                }
                root.Nodes.Add(effect); root.Nodes.Add(game); root.Nodes.Add(status);
                DataTree.Nodes.Add(root);
            }
        }