Ejemplo n.º 1
0
 public void Deserialize(IUnrealStream stream)
 {
     FileName     = stream.ReadText();
     SerialOffset = (uint)stream.ReadIndex();
     SerialSize   = (uint)stream.ReadIndex();
     FileFlags    = stream.ReadUInt32();
 }
Ejemplo n.º 2
0
 public void Deserialize( IUnrealStream stream )
 {
     FileName = stream.ReadText();
     SerialOffset = (uint)stream.ReadIndex();
     SerialSize = (uint)stream.ReadIndex();
     FileFlags = stream.ReadUInt32();
 }
Ejemplo n.º 3
0
        public void Deserialize( IUnrealStream stream )
        {
            Name = stream.ReadText();

            // Mass effect 2
            if (stream.Version == 512)
            {
                Flags = stream.ReadUInt32();
            }
            else
            {
                Flags = stream.Version >= QWORDVersion ? stream.ReadUInt64() : stream.ReadUInt32();
            }
            #if DEOBFUSCATE
            // De-obfuscate names that contain unprintable characters!
            foreach( char c in Name )
            {
                if( !char.IsLetterOrDigit( c ) )
                {
                    Name = "N" + TableIndex + "_OBF";
                    break;
                }
            }
            #endif
        }
Ejemplo n.º 4
0
        public void Deserialize(IUnrealStream stream)
        {
            Name = stream.ReadText();

            // Mass effect 2
            if (stream.Version == 512)
            {
                Flags = stream.ReadUInt32();
            }
            else
            {
                Flags = stream.Version >= QWORDVersion?stream.ReadUInt64() : stream.ReadUInt32();
            }
#if DEOBFUSCATE
            // De-obfuscate names that contain unprintable characters!
            foreach (char c in Name)
            {
                if (!char.IsLetterOrDigit(c))
                {
                    Name = "N" + TableIndex + "_OBF";
                    break;
                }
            }
#endif
        }
Ejemplo n.º 5
0
 public void Deserialize( IUnrealStream stream )
 {
     if( stream.Version <= 540 )
     {
         // e.g. Core.Object.X
         FieldName = stream.ReadText();
     }
     else
     {
         FieldIndex = stream.ReadObjectIndex();
     }
     MetaTags = new UArray<UMetaTag>();
     MetaTags.Deserialize( stream, tag => tag.Owner = Owner );
 }
Ejemplo n.º 6
0
 public void Deserialize(IUnrealStream stream)
 {
     if (stream.Version <= 540)
     {
         // e.g. Core.Object.X
         FieldName = stream.ReadText();
     }
     else
     {
         FieldIndex = stream.ReadObjectIndex();
     }
     MetaTags = new UArray <UMetaTag>();
     MetaTags.Deserialize(stream, tag => tag.Owner = Owner);
 }
            public void Deserialize(IUnrealStream stream)
            {
                if (stream.Version <= 540)
                {
                    // e.g. Core.Object.X
                    _FieldName = stream.ReadText();
                }
                else
                {
                    // TODO: Possibly linked to a non-ufield?
                    _Field          = (UField)stream.ReadObject();
                    _Field.MetaData = this;
                }

                int length = stream.ReadInt32();

                Tags = new Dictionary <string, string>(length);
                for (var i = 0; i < length; ++i)
                {
                    var    key   = stream.ReadNameReference();
                    string value = stream.ReadText();
                    Tags.Add(key.Name, value);
                }
            }
Ejemplo n.º 8
0
        public void Deserialize(IUnrealStream stream)
        {
#if DCUO
            if (stream.Package.Build == UnrealPackage.GameBuild.BuildName.DCUO)
            {
                //DCUO doesn't null terminate name table entries
                int size     = stream.ReadInt32();
                var strBytes = new byte[size];
                stream.Read(strBytes, 0, size);
                if (stream.BigEndianCode)
                {
                    Array.Reverse(strBytes);
                }
                Name = System.Text.Encoding.ASCII.GetString(strBytes);
            }
            else
            {
#endif
            Name = stream.ReadText();
#if DCUO
        }
#endif
            Flags = stream.Version >= QWORDVersion?stream.ReadUInt64() : stream.ReadUInt32();

#if DEOBFUSCATE
            // De-obfuscate names that contain unprintable characters!
            foreach (char c in Name)
            {
                if (!char.IsLetterOrDigit(c))
                {
                    Name = "N" + TableIndex + "_OBF";
                    break;
                }
            }
#endif
        }
Ejemplo n.º 9
0
 public void Deserialize( IUnrealStream stream )
 {
     TagName = stream.ReadNameReference();
     TagValue = stream.ReadText();
 }
Ejemplo n.º 10
0
 public void Deserialize(IUnrealStream stream)
 {
     Name  = stream.ReadText();
     Flags = stream.Version >= QWORDVersion?stream.ReadUInt64() : stream.ReadUInt32();
 }
Ejemplo n.º 11
0
 public void Deserialize(IUnrealStream stream)
 {
     TagName  = stream.ReadNameReference();
     TagValue = stream.ReadText();
 }