public void Read(SerializedReader reader) { if (IsLongID(reader.Generation)) { reader.AlignStream(); PathID = reader.ReadInt64(); } else { PathID = reader.ReadInt32(); } Offset = reader.ReadUInt32(); Size = reader.ReadInt32(); if (HasTypeIndex(reader.Generation)) { TypeIndex = reader.ReadInt32(); } else { TypeID = reader.ReadInt32(); ClassID = (ClassIDType)reader.ReadInt16(); ScriptID = reader.ReadInt16(); } if (HasStripped(reader.Generation)) { IsStripped = reader.ReadBoolean(); } }
public void Read(SerializedReader reader) { if (HasSignature(reader.Generation)) { string signature = reader.ReadStringZeroTerm(); Version = Version.Parse(signature); } if (HasPlatform(reader.Generation)) { Platform = (Platform)reader.ReadUInt32(); } bool serializeTypeTree; if (HasSerializeTypeTrees(reader.Generation)) { SerializeTypeTrees = reader.ReadBoolean(); serializeTypeTree = SerializeTypeTrees; } else { serializeTypeTree = true; } Types = reader.ReadSerializedArray(() => new RTTIBaseClassDescriptor(serializeTypeTree)); if (HasUnknown(reader.Generation)) { Unknown = reader.ReadInt32(); } }
public void Read(SerializedReader reader) { if (IsLongID(reader.Generation)) { reader.AlignStream(); FileID = reader.ReadInt64(); } else { FileID = reader.ReadInt32(); } ByteStart = reader.ReadUInt32(); ByteSize = reader.ReadInt32(); TypeID = reader.ReadInt32(); if (HasClassID(reader.Generation)) { ClassID = (ClassIDType)reader.ReadInt16(); } if (HasScriptID(reader.Generation)) { ScriptTypeIndex = reader.ReadInt16(); } else if (HasIsDestroyed(reader.Generation)) { IsDestroyed = reader.ReadUInt16(); } if (HasStripped(reader.Generation)) { Stripped = reader.ReadBoolean(); } }
public void Read(SerializedReader reader) { LocalSerializedFileIndex = reader.ReadInt32(); if (ObjectInfo.IsLongID(reader.Generation)) { reader.AlignStream(); LocalIdentifierInFile = reader.ReadInt64(); } else { LocalIdentifierInFile = reader.ReadInt32(); } }
public void Read(SerializedReader reader) { FileID = reader.ReadInt32(); if (AssetEntry.IsLongID(reader.Generation)) { reader.AlignStream(); PathID = reader.ReadInt64(); } else { PathID = reader.ReadInt32(); } }
public void Read(SerializedReader reader) { Hierarchy.Read(reader); Entries = reader.ReadSerializedArray <AssetEntry>(); if (HasPreload(reader.Generation)) { Preloads = reader.ReadSerializedArray <ObjectPtr>(); } Dependencies = reader.ReadSerializedArray <FileIdentifier>(); if (HasUnknown(reader.Generation)) { Unknown = reader.ReadStringZeroTerm(); } }
private void ReadScheme() { using (PartialStream stream = new PartialStream(m_stream, m_offset, m_size)) { using (EndianReader reader = new EndianReader(stream, EndianType.BigEndian)) { Header.Read(reader); } EndianType endianess = EndianType.LittleEndian; if (SerializedFileHeader.HasEndian(Header.Generation)) { endianess = Header.SwapEndianess ? EndianType.BigEndian : EndianType.LittleEndian; } using (SerializedReader reader = new SerializedReader(stream, endianess, Name, Header.Generation)) { if (SerializedFileMetadata.IsMetadataAtTheEnd(reader.Generation)) { reader.BaseStream.Position = Header.FileSize - Header.MetadataSize; reader.BaseStream.Position++; } Metadata.Read(reader); } } SerializedFileMetadataConverter.CombineFormats(Header.Generation, Metadata); RTTIClassHierarchyDescriptorConverter.FixResourceVersion(Name, ref Metadata.Hierarchy); #warning TEMP HACK if (Metadata.Hierarchy.Platform == Platform.NoTarget) { Flags = TransferInstructionFlags.NoTransferInstructionFlags; } if (FilenameUtils.IsEngineResource(Name) || Header.Generation < FileGeneration.FG_500a1 && FilenameUtils.IsBuiltinExtra(Name)) { Flags |= TransferInstructionFlags.IsBuiltinResourcesFile; } if (Header.SwapEndianess) { Flags |= TransferInstructionFlags.SwapEndianess; } }
private void ReadScheme() { using (EndianReader reader = new EndianReader(Stream, EndianType.BigEndian)) { Header.Read(reader); } if (SerializedFileMetadata.IsMetadataAtTheEnd(Header.Generation)) { Stream.Position = Header.FileSize - Header.MetadataSize; Stream.Position++; } using (SerializedReader reader = new SerializedReader(Stream, Header.GetEndianType(), Name, Header.Generation)) { Metadata.Read(reader); } SerializedFileMetadataConverter.CombineFormats(Header.Generation, Metadata); RTTIClassHierarchyDescriptorConverter.FixResourceVersion(Name, ref Metadata.Hierarchy); UpdateFlags(); }
public void Read(SerializedReader reader) { Read((EndianReader)reader); }