public static int GetNumLowIndices(int hIndex) { Data data = GetHighIndexDataBase(hIndex); if (!HighIndexUsesPointer(hIndex)) { return(1); } data = data.NextData; FileParser parser = Project.GetFileWithLabel(data.GetValue(0)); data = parser.GetData(data.GetValue(0)); int count = 0; do { for (int i = 0; i < 4; i++) { data = data.NextData; } count++; }while (data != null && parser.GetDataLabel(data) == null); return(count); }
public static void RemoveHighIndex(int hIndex) { if (hIndex >= GetNumHighIndices()) { return; } Data data = GetHighIndexDataBase(hIndex); FileParser parser = data.FileParser; string pointerString = ""; int n = 4; if (HighIndexUsesPointer(hIndex)) { pointerString = data.NextData.GetValue(0); n = 3; } for (int i = 0; i < n; i++) { Data d2 = data; data = data.NextData; parser.RemoveFileComponent(d2); } if (pointerString != "") { data = parser.GetData(pointerString); LynnaLab.Label l = parser.GetDataLabel(data); parser.RemoveFileComponent(l); do { Data d2 = data; data = data.NextData; parser.RemoveFileComponent(d2); }while (data != null && parser.GetDataLabel(data) == null); } }
public static int GetNumHighIndices() { // Read until the first label after treasureData. FileParser parser = Project.GetFileWithLabel("treasureObjectData"); Data data = parser.GetData("treasureObjectData"); int count = 0; do { for (int i = 0; i < 4;) { i += data.Size; data = data.NextData; } count++; }while (data != null && parser.GetDataLabel(data) == null); return(count); }