예제 #1
0
 public override void Deserialize(CRioArchive arc)
 {
     Version = arc.ReadInt32();
     if (Version >= 2)
     {
         field_04 = arc.ReadString();
     }
     field_08 = arc.ReadString();
     field_0C = arc.ReadString();
     field_14 = arc.ReadString();
     field_1C = arc.ReadString();
     field_18 = arc.ReadInt32();
     if (0 == Version)
     {
         return;
     }
     if (Version >= 2)
     {
         field_28 = arc.ReadBytes(16);
         field_38 = arc.ReadInt32();
     }
     field_3C = arc.ReadString();
     field_40 = arc.ReadString();
     if (Version >= 3)
     {
         field_44 = arc.ReadString();
     }
     if (Version >= 4)
     {
         field_10 = arc.ReadString();
         field_20 = arc.ReadInt32();
     }
     if (Version >= 5)
     {
         field_24 = arc.ReadInt32();
     }
     else if (Version >= 2)
     {
         if (field_28.ToUInt16(0) < 0x7D3)
         {
             field_24 = 2;
         }
         else
         {
             field_24 = 1;
         }
     }
     if (Version >= 6)
     {
         field_48 = arc.ReadString();
         field_4C = arc.ReadString();
         field_50 = arc.ReadString();
     }
 }
예제 #2
0
        public override void Deserialize(CRioArchive arc)
        {
            Version      = arc.ReadInt32();
            m_width      = arc.ReadUInt16();
            m_height     = arc.ReadUInt16();
            m_x          = arc.ReadUInt16();
            m_y          = arc.ReadUInt16();
            m_w          = arc.ReadUInt16();
            m_h          = arc.ReadUInt16();
            m_flags      = arc.ReadInt32();
            CompressInfo = arc.ReadBytes(7);
            if (arc.GetObjectSchema() >= 2)
            {
                field_4C = arc.ReadRioReference("CSbm");
            }
            int size = arc.ReadInt32();

            arc.ReadInt32(); // field_3C
            var data = arc.ReadBytes(size);

            m_pixels = Uncompress(data);
            Format   = HasAlpha ? PixelFormats.Bgra32 : PixelFormats.Bgr32;
        }
예제 #3
0
        public override void Deserialize(CRioArchive arc)
        {
            Version = arc.ReadUInt16();
            if (Version >= 7)
            {
                field_14 = arc.ReadInt32();
                field_18 = arc.ReadInt32();
                arc.ReadByte();
                arc.ReadString();
            }
            arc.ReadString(); // registry branch
            arc.ReadString(); // disk name
            arc.ReadString(); // rio filename [src]
            arc.ReadString();
            arc.ReadString();
            arc.ReadInt64(); // rio offset [=0]
            arc.ReadInt64(); // rio size
            if (Version < 6)
            {
                arc.ReadInt32();
                arc.ReadInt32();
            }
            else
            {
                arc.ReadInt32();
            }
            RioName   = arc.ReadString();
            RioOffset = arc.ReadInt64();
            RioSize   = arc.ReadInt64();
            if (Version < 6)
            {
                arc.ReadInt64();
            }
            arc.ReadInt32();
            arc.ReadString();
            arc.ReadInt32();
            arc.ReadInt32();
            arc.ReadInt32();
            arc.ReadInt32();
            arc.ReadInt32();
            arc.ReadString();
            int count = arc.ReadCount();

            arc.ReadBytes(count * 4);
            PrepareBuffer(); // sub_10011700 (this);
            arc.Read(field_D4, 0, field_D4.Length);
        }
예제 #4
0
        public override void Deserialize(CRioArchive arc)
        {
            Version  = arc.ReadInt32();
            m_x      = arc.ReadUInt16();
            m_y      = arc.ReadUInt16();
            m_width  = arc.ReadUInt16();
            m_height = arc.ReadUInt16();
            m_w      = arc.ReadUInt16();
            m_h      = arc.ReadUInt16();
            m_flags  = arc.ReadInt32();
            int size = arc.ReadInt32();

            arc.ReadInt32(); // field_34
            var data = arc.ReadBytes(size);

            m_pixels = Uncompress(data);
        }