private void Parse(AssetsReader reader) { MetadataSize = reader.ReadBEInt32(); FileSize = reader.ReadBEInt32(); Version = reader.ReadBEInt32(); ObjectDataOffset = reader.ReadBEInt32(); IsBigEndian = reader.ReadBoolean(); //padding apparently //reader.ReadBytes(3); reader.AlignTo(4); }
private void Parse(AssetsReader reader) { Version = reader.ReadInt16(); Depth = reader.ReadSByte(); IsArray = reader.ReadBoolean(); TypeOffset = reader.ReadInt32(); NameOffset = reader.ReadInt32(); Size = reader.ReadInt32(); Index = reader.ReadInt32(); Flags = reader.ReadInt32(); }
public void Parse(AssetsReader reader) { Version = reader.ReadCStr(); Platform = reader.ReadInt32(); HasTypeTrees = reader.ReadBoolean(); int numTypes = reader.ReadInt32(); for (int i = 0; i < numTypes; i++) { Types.Add(new AssetsType(reader, HasTypeTrees)); } List <ObjectRecord> records = new List <ObjectRecord>(); int numObj = reader.ReadInt32(); for (int i = 0; i < numObj; i++) { reader.AlignTo(4); var obj = new ObjectRecord(reader); records.Add(obj); } int numAdds = reader.ReadInt32(); for (int i = 0; i < numAdds; i++) { reader.AlignTo(4); Adds.Add(new RawPtr(reader)); } int numExt = reader.ReadInt32(); for (int i = 0; i < numExt; i++) { ExternalFiles.Add(new ExternalFile(reader)); } reader.ReadCStr(); //load the object infos in order based on their type foreach (var record in records.OrderBy(x => PreloadObjectOrder(x)).ThenBy(x => x.ObjectID)) { var obj = ObjectInfo <AssetsObject> .Parse(ParentFile, record); ObjectInfos.Add(obj); if (ShouldForceLoadObject(record)) { var o = obj.Object; } } }
public override void ParseObject(AssetsReader reader) { Name = reader.ReadString(); Rect = new RectF(reader); Offset = new Vector2F(reader); Border = new Vector4F(reader); PixelsToUnits = reader.ReadSingle(); Pivot = new Vector2F(reader); Extrude = reader.ReadUInt32(); IsPolygon = reader.ReadBoolean(); reader.AlignTo(4); RenderDataKey = new Map <Guid, long>(reader.ReadGuid(), reader.ReadInt64()); AtlasTags = reader.ReadArrayOf(r => r.ReadString()); SpriteAtlas = SmartPtr <AssetsObject> .Read(ObjectInfo.ParentFile, this, reader); RenderData = new SpriteRenderData(ObjectInfo.ParentFile, this, reader); PhysicsShape = reader.ReadArrayOf(r => r.ReadArrayOf(r2 => new Vector2F(r2))); Bones = reader.ReadArrayOf(r => (ISmartPtr <Transform>)SmartPtr <Transform> .Read(ObjectInfo.ParentFile, this, reader)); }