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; } } }
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); } }