Пример #1
0
        public object Deserialize(teStructuredData data, STUField_Info field)
        {
            if (data.Format == teStructuredDataFormat.V2)
            {
                int offset = data.Data.ReadInt32();
                if (offset == -1)
                {
                    return(null);
                }
                data.DynData.BaseStream.Position = offset;
                Deserialize(data, data.DynData, out string value);

                return(new teString(value));
            }
            if (data.Format == teStructuredDataFormat.V1)
            {
                long infoOffset = data.Data.ReadInt64(); data.Data.ReadInt64(); // haHAAA 64-bit
                if (infoOffset == -1 || infoOffset == 0)
                {
                    return(null);
                }

                long posAfter = data.Data.Position();
                data.Data.BaseStream.Position = infoOffset + data.StartPos;

                Deserialize(data, data.Data, out string value);
                data.Data.BaseStream.Position = posAfter;

                return(new teString(value));
            }
            throw new NotImplementedException();
        }
Пример #2
0
 public object Deserialize(teStructuredData data, STUField_Info field)
 {
     if (data.Format == teStructuredDataFormat.V1)
     {
         return((byte)data.DynData.ReadUInt32());
     }
     return(data.Data.ReadByte());
 }
Пример #3
0
 public object DeserializeArray(teStructuredData data, STUField_Info field)
 {
     if (data.Format == teStructuredDataFormat.V2)
     {
         return(data.DynData.ReadUInt32());
     }
     else
     {
         return(data.Data.ReadUInt32());
     }
 }
Пример #4
0
        public object DeserializeArray(teStructuredData data, STUField_Info field)
        {
            BinaryReader dynData = data.DynData;
            long         offset  = dynData.ReadInt64();

            Enums.SDAM mutability = (Enums.SDAM)dynData.ReadInt64(); // SDAM_NONE = 0, SDAM_MUTABLE = 1, SDAM_IMMUTABLE = 2
            // Debug.Assert(Mutability == teEnums.SDAM.IMMUTABLE, "teString.unk != 2 (not immutable)");

            long pos = dynData.BaseStream.Position;

            dynData.Seek(offset);

            Deserialize(data, dynData, out string value);
            dynData.Seek(pos);

            return(new teString(value, mutability));
        }
Пример #5
0
 public object Deserialize(teStructuredData data, STUField_Info field)
 {
     return(data.Data.ReadSingle());
 }
Пример #6
0
 public object DeserializeArray(teStructuredData data, STUField_Info field)
 {
     return(data.DynData.ReadUInt64());
 }
Пример #7
0
 public object Deserialize(teStructuredData data, STUField_Info field)
 {
     return data.Data.ReadInt32();
 }
Пример #8
0
 public void Deserialize(teStructuredData data, STUField_Info field)
 {
     Value = data.Data.ReadBytes(16);
 }