Beispiel #1
0
        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);
        }
Beispiel #2
0
        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);
            }
        }
Beispiel #3
0
        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);
        }