public AfterBurnerMapEntry(DeflateShockwaveReader input)
        {
            Id                 = input.ReadVarInt();
            Offset             = input.ReadVarInt();
            Length             = input.ReadVarInt();
            DecompressedLength = input.ReadVarInt();
            CompressionType    = input.ReadVarInt();

            Header = new ChunkHeader((ChunkKind)input.ReadBEInt32())
            {
                Length = IsCompressed ? DecompressedLength : Length
            };
        }
        public AfterburnerMapChunk(ref ShockwaveReader input, ChunkHeader header)
            : base(header)
        {
            input.ReadByte();
            Remnants.Enqueue(input.ReadVarInt());

            using DeflateShockwaveReader deflaterInput = CreateDeflateReader(ref input);
            Remnants.Enqueue(deflaterInput.ReadVarInt());
            Remnants.Enqueue(deflaterInput.ReadVarInt());

            Entries = new AfterBurnerMapEntry[deflaterInput.ReadVarInt()];
            for (int i = 0; i < Entries.Length; i++)
            {
                Entries[i] = new AfterBurnerMapEntry(deflaterInput);
            }
        }
Beispiel #3
0
        public FileCompressionTypesChunk(ref ShockwaveReader input, ChunkHeader header)
            : base(header)
        {
            using DeflateShockwaveReader decompressedInput = CreateDeflateReader(ref input);

            CompressionTypeId = decompressedInput.ReadInt16();
            ImageQuality      = decompressedInput.ReadInt32();
            ImageTypes        = decompressedInput.ReadInt16();
            DirTypes          = decompressedInput.ReadInt16();

            CompressionLevel = decompressedInput.ReadInt32();
            Speed            = decompressedInput.ReadInt32();

            if (CompressionTypeId == 256)
            {
                Name = decompressedInput.ReadNullString();
            }
        }