public override void Parse(VoidPtr address) { if (DataOffset1 > 0) { MoveDefGroupNode g = new MoveDefGroupNode() { _name = "Data1", _offsetID = 0 }; g.Initialize(this, BaseAddress + DataOffset1, 0); for (int i = 0; i < Count1; i++) { MoveDefOffsetNode d = new MoveDefOffsetNode() { _name = "Offset" + i }; d.Initialize(g, BaseAddress + DataOffset1 + i * 4, 4); if (d.DataOffset > 0) { MoveDefListOffsetNode o = new MoveDefListOffsetNode() { _name = "Data" }; o.Initialize(d, BaseAddress + d.DataOffset, 0); for (int x = 0; x < o.Count; x++) { MoveDefOffsetNode d2 = new MoveDefOffsetNode() { _name = "Offset" + i }; d2.Initialize(o, BaseAddress + o.DataOffset + x * 4, 4); new MoveDefIndexNode() { _name = "Index" + x }.Initialize(d2, BaseAddress + d2.DataOffset, 0); } } } } if (DataOffset2 > 0) { MoveDefGroupNode g = new MoveDefGroupNode() { _name = "Data2", _offsetID = 1 }; g.Initialize(this, BaseAddress + DataOffset2, 0); for (int i = 0; i < Count2; i++) { MoveDefOffsetNode d = new MoveDefOffsetNode() { _name = "Offset" + i }; d.Initialize(g, BaseAddress + DataOffset2 + i * 4, 4); if (d.DataOffset > 0) { MoveDefListOffsetNode o = new MoveDefListOffsetNode() { _name = "Data" }; o.Initialize(d, BaseAddress + d.DataOffset, 0); for (int x = 0; x < o.Count; x++) { MoveDefOffsetNode d2 = new MoveDefOffsetNode() { _name = "Offset" + i }; d2.Initialize(o, BaseAddress + o.DataOffset + x * 4, 4); new MoveDefIndexNode() { _name = "Index" + x }.Initialize(d2, BaseAddress + d2.DataOffset, 0); } } } } }
public override void Parse(VoidPtr address) { int size = -1; if (DataOffset1 > 0) size = _root.GetSize(DataOffset1) / Count; if (size > 0) { MoveDefGroupNode g1 = new MoveDefGroupNode() { _name = "Data1", _offsetID = 0 }; g1.Initialize(this, BaseAddress + DataOffset1, size * Count); for (int i = 0; i < Count; i++) new RawParamList(i) { _name = "Part" + i }.Initialize(g1, BaseAddress + DataOffset1 + i * size, size); } size = -1; if (DataOffset2 > 0) size = _root.GetSize(DataOffset2) / Count; if (size > 0) { MoveDefGroupNode g2 = new MoveDefGroupNode() { _name = "Data2", _offsetID = 1 }; g2.Initialize(this, BaseAddress + DataOffset2, size * Count); for (int i = 0; i < Count; i++) new RawParamList(i) { _name = "Part" + i }.Initialize(g2, BaseAddress + DataOffset2 + i * size, size); } }