예제 #1
0
        public ATR1(ref FileBase file)
        {
            int start = file.ReadInt32();

            file.Skip(0x8);
            int baseOffset = file.Position();
            int entryCount = file.ReadInt32();

            file.Skip(0x4);

            mAttributes = new List <AttributeEntry>();

            for (int i = 0; i < entryCount; i++)
            {
                AttributeEntry e = new AttributeEntry
                {
                    _0 = file.ReadByte(),
                    _1 = file.ReadByte(),
                    _2 = file.ReadByte(),
                    _3 = file.ReadByte(),
                    _4 = file.ReadByte(),
                    _5 = file.ReadByte(),
                    _6 = file.ReadByte(),
                    _7 = file.ReadByte()
                };

                int offs = file.ReadInt32();
                int orig = file.Position();

                file.Seek(baseOffset + offs);
                e.mString = file.ReadStringUTF16();

                file.Seek(orig);
            }

            file.Seek(start + baseOffset);

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