internal Tag ReadTag()
        {
            long posBefore = SWFBinary.BaseStream.Position;
            var rh = new RecordHeader();
            rh.ReadData(SWFBinary);

            var offset = (int) (SWFBinary.BaseStream.Position - posBefore);
            SWFBinary.BaseStream.Position = posBefore;

            Tag resTag;

            switch (rh.TagCode)
            {
                case (int) TagCodes.DoABC:
                    resTag = new DoABC();
                    break;
                case (int) TagCodes.End:
                    resTag = new End();
                    break;
                default:
                    resTag = new Tag(SWFBinary.ReadBytes(Convert.ToInt32(rh.TagLength + offset)));
                    break;
            }

            resTag.ReadData(SWFVersion, SWFBinary);

            return resTag;
        }
Ejemplo n.º 2
0
        public override void ReadData(byte version, BinaryReader binaryReader)
        {
            var rh = new RecordHeader();
            rh.ReadData(binaryReader);

            int length = Convert.ToInt32(rh.TagLength);
            actionRecord = binaryReader.ReadBytes(length);

            //This doesn't read correctly but it reads as good as we need
            using (var b = new BinaryReader(new MemoryStream(actionRecord)))
            {
                Flags = b.ReadUInt32();
                Name = b.ReadString();
                ABCData = b.ReadBytes((int) (b.BaseStream.Length - b.BaseStream.Position)); //Might wrap around
            }
        }
Ejemplo n.º 3
0
        public override void ReadData(byte version, BinaryReader binaryReader)
        {
            var rh = new RecordHeader();

            rh.ReadData(binaryReader);

            int length = Convert.ToInt32(rh.TagLength);

            actionRecord = binaryReader.ReadBytes(length);

            //This doesn't read correctly but it reads as good as we need
            using (var b = new BinaryReader(new MemoryStream(actionRecord)))
            {
                Flags   = b.ReadUInt32();
                Name    = b.ReadString();
                ABCData = b.ReadBytes((int)(b.BaseStream.Length - b.BaseStream.Position));  //Might wrap around
            }
        }
Ejemplo n.º 4
0
 public override void ReadData(byte version, BinaryReader binaryReader)
 {
     var rh = new RecordHeader();
     rh.ReadData(binaryReader);
 }
Ejemplo n.º 5
0
        public override void ReadData(byte version, BinaryReader binaryReader)
        {
            var rh = new RecordHeader();

            rh.ReadData(binaryReader);
        }