Beispiel #1
0
        public LBL1(ref FileBase file)
        {
            int start = file.ReadInt32();

            file.Skip(0x8);

            int  baseOffs = file.Position();
            uint count    = file.ReadUInt32();

            mEntries = new List <LabelEntry>();

            for (int i = 0; i < count; i++)
            {
                LabelEntry e = new LabelEntry();
                e.PairCount = file.ReadUInt32();

                int offs = file.ReadInt32();

                List <LabelPair> pairs = new List <LabelPair>();

                int pos = file.Position();
                file.Seek(baseOffs + offs);

                for (int j = 0; j < e.PairCount; j++)
                {
                    LabelPair p = new LabelPair();
                    p.Label      = file.ReadStringLenPrefix();
                    p.TextOffset = file.ReadUInt32();

                    pairs.Add(p);
                }

                file.Seek(pos);

                e.Pairs = pairs;
                mEntries.Add(e);
            }

            file.Seek(start + baseOffs);

            while (file.Position() % 0x10 != 0)
            {
                file.Skip(0x1);
            }
        }