private void ExtractList1(byte[] fData) { if (List1Start <= 0) { return; } if (List1End <= 0) { return; } if (List1End <= List1Start) { return; } NodeCount = 0; Nodes.Clear(); for (int lstPoint = List1Start; lstPoint < List1End; lstPoint += 4) { int entry = BitConverter.ToInt32(fData, lstPoint); string childType = GetTypeFromPointer(BitConverter.ToInt32(fData, entry)); if ((childType == "CNode") || (childType == "CModel") || childType == "CWorld") { CA_Node tNode = new CA_Node(); tNode.ExtractNode(fData, entry); tNode.Parent = this; //AddNode(tNode); Nodes.Add(tNode); NodeCount++; } } }
private void button2_Click(object sender, EventArgs e) { byte[] fData; nodeTree.Nodes.Clear(); if (System.IO.File.Exists(txtFile.Text) == false) { return; } try { fData = System.IO.File.ReadAllBytes(txtFile.Text); } catch { MessageBox.Show("File Read Error"); return; } int entry = int.Parse(txtAddr.Text, System.Globalization.NumberStyles.HexNumber); if (!CurrentModel.ExtractNode(fData, entry)) { MessageBox.Show("Load Error"); return; } //nodeTree.Nodes.Add(CurrentModel.NodeType); //textBox1.Text = CurrentModel.DumpTreeText(""); FillTreeNode(CurrentModel); }