Beispiel #1
0
        internal override void Read(BinaryReaderEx br)
        {
            br.BigEndian = true;

            br.AssertASCII("BND3");
            Version = br.ReadASCII(8);
            br.AssertByte(0xE4);
            br.AssertByte(0);
            br.AssertByte(0);
            br.AssertByte(0);
            int fileCount = br.AssertInt32(1);

            br.AssertInt32(0);
            br.AssertInt32(0);
            br.AssertInt32(0);

            br.AssertByte(0xC0);
            br.AssertByte(0);
            br.AssertByte(0);
            br.AssertByte(0);
            int compressedSize = br.ReadInt32();
            int dataOffset     = br.ReadInt32();

            br.AssertInt32(0);
            int nameOffset       = br.ReadInt32();
            int uncompressedSize = br.ReadInt32();

            Name        = br.GetShiftJIS(nameOffset);
            br.Position = dataOffset;
            Data        = SFUtil.ReadZlib(br, compressedSize);
        }