private void getAllVobObjects(ref List <zCVob> list, zCTree <zCVob> tree) { do { if (tree.Data != null && tree.Data.Address != 0) { list.Add(tree.Data); } if (tree.FirstChild != null && tree.FirstChild.Address != 0) { getAllVobObjects(ref list, tree.FirstChild); } } while ((tree = tree.Next).Address != 0); }
public void ReleaseVobSubTree(zCTree <zCVob> tree) { Process.THISCALL <NullReturnCall>(Address, FuncAddresses.ReleaseVobSubtree, tree); }
private void getAllVobObjects(ref Dictionary <zCVob.gVobTypes, List <zCVob> > list, zCTree <zCVob> tree, params zCVob.gVobTypes[] types) { do { if (tree.Data != null && tree.Data.Address != 0) { zCVob.gVobTypes type = tree.Data.VTBL; bool isInList = false; foreach (zCVob.gVobTypes vt in types) { if (vt == type) { isInList = true; break; } } if (isInList) { if (!list.ContainsKey(type)) { list.Add(type, new List <zCVob>()); } list[type].Add(tree.Data); } } if (tree.FirstChild != null && tree.FirstChild.Address != 0) { getAllVobObjects(ref list, tree.FirstChild, types); } } while ((tree = tree.Next).Address != 0); }
public void AddRefVobSubtree(zCTree <zCVob> tree, int count) { Process.THISCALL <NullReturnCall>(Address, FuncAddresses.AddRefVobSubtree, tree, new IntArg(count)); }