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)); } int numObj = reader.ReadInt32(); for (int i = 0; i < numObj; i++) { reader.AlignTo(4); var obj = ObjectInfo <AssetsObject> .Parse(ParentFile, reader); ObjectInfos.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(); }
public override void Parse(AssetsReader reader) { base.ParseBase(reader); int startPosition = reader.Position; Name = reader.ReadString(); //int readLen = ObjectInfo.DataSize - (reader.Position - startPosition); //MeshData = reader.ReadBytes(readLen); SubMeshes = reader.ReadArrayOf(r => new Submesh(r)); BlendShapeData = new BlendShapeData(reader); BindPose = reader.ReadArrayOf(r => reader.ReadSingle()); BoneNameHashes = reader.ReadArrayOf(r => r.ReadUInt32()); RootBoneNameHash = reader.ReadUInt32(); MeshCompression = reader.ReadByte(); IsReadable = reader.ReadBoolean(); KeepVerticies = reader.ReadBoolean(); KeepIndicies = reader.ReadBoolean(); reader.AlignTo(4); IndexFormat = reader.ReadInt32(); IndexBuffer = reader.ReadArray(); reader.AlignTo(4); VertexData = new VertexData(reader); CompressedMesh = new CompressedMesh(reader); LocalAABB = new AABB(reader); MeshUsageFlags = reader.ReadInt32(); BakedConvexCollisionMesh = reader.ReadArray(); reader.AlignTo(4); BakedTriangleCollisionMesh = reader.ReadArray(); reader.AlignTo(4); MeshMetrics1 = reader.ReadSingle(); MeshMetrics2 = reader.ReadSingle(); StreamData = new StreamingInfo(reader); }
protected override void Parse(AssetsReader reader) { base.Parse(reader); Name = reader.ReadString(); ForcedFallbackFormat = reader.ReadInt32(); DownscaleFallback = reader.ReadBoolean(); reader.AlignTo(4); Width = reader.ReadInt32(); Height = reader.ReadInt32(); CompleteImageSize = reader.ReadInt32(); TextureFormat = (TextureFormatType)reader.ReadInt32(); MipCount = reader.ReadInt32(); IsReadable = reader.ReadBoolean(); StreamingMipmaps = reader.ReadBoolean(); reader.AlignTo(4); StreamingMipmapsPriority = reader.ReadInt32(); ImageCount = reader.ReadInt32(); TextureDimension = reader.ReadInt32(); TextureSettings = new GLTextureSettings(reader); LightmapFormat = reader.ReadInt32(); ColorSpace = reader.ReadInt32(); int imageDataSize = reader.ReadInt32(); ImageData = reader.ReadBytes(imageDataSize); reader.AlignTo(4); StreamData = new StreamingInfo(reader); }
public void Parse(AssetsReader reader) { NumItems = reader.ReadUInt32(); Data = reader.ReadArray(); reader.AlignTo(4); BitSize = reader.ReadByte(); reader.AlignTo(4); }
public void Parse(AssetsReader reader) { NumItems = reader.ReadUInt32(); Range = reader.ReadSingle(); Start = reader.ReadSingle(); Data = reader.ReadArrayOf(r => r.ReadByte()).ToArray(); reader.AlignTo(4); BitSize = reader.ReadByte(); reader.AlignTo(4); }
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 void Parse(AssetsReader reader) { VertexCount = reader.ReadUInt32(); Channels = reader.ReadArrayOf(r => new Channel(r)); Data = reader.ReadArray(); reader.AlignTo(4); }
public override void Parse(AssetsReader reader) { base.ParseBase(reader); IsEnabled = reader.ReadBoolean(); CastShadows = reader.ReadByte(); ReceiveShadows = reader.ReadByte(); DynamicOcclude = reader.ReadByte(); MotionVectors = reader.ReadByte(); LightProbeUsage = reader.ReadByte(); ReflectionProbeUsage = reader.ReadByte(); reader.AlignTo(4); RenderingLayerMask = reader.ReadUInt32(); if (ObjectInfo.ParentFile.Metadata.VersionGte("2018.3")) { RendererPriority = reader.ReadInt32(); } LightmapIndex = reader.ReadUInt16(); LightmapIndexDynamic = reader.ReadUInt16(); LightmapTilingOffset = new Vector4F(reader); LightmapTilingOffsetDynamic = new Vector4F(reader); Materials = reader.ReadArrayOf(r => (ISmartPtr <MaterialObject>)SmartPtr <MaterialObject> .Read(ObjectInfo.ParentFile, this, r)); StaticBatchInfo = new StaticBatchInfo(reader); StaticBatchRoot = SmartPtr <Transform> .Read(ObjectInfo.ParentFile, this, reader); ProbeAnchor = SmartPtr <Transform> .Read(ObjectInfo.ParentFile, this, reader); LightProbeVolumeOverride = SmartPtr <GameObject> .Read(ObjectInfo.ParentFile, this, reader); SortingLayerID = reader.ReadInt32(); SortingLayer = reader.ReadInt16(); SortingOrder = reader.ReadInt16(); AdditionalVertexStreams = SmartPtr <MeshObject> .Read(ObjectInfo.ParentFile, this, reader); }
private void ParseDetails(AssetsReader reader) { var readLength = ObjectInfo.DataSize - (reader.Position - ObjectInfo.DataOffset); ScriptParametersData = reader.ReadBytes(readLength); reader.AlignTo(4); }
public static SmartPtr <T> Read(AssetsFile assetsFile, AssetsObject owner, AssetsReader reader) { if (owner == null) { Log.LogErr("WARNING: SmartPtr created without an owner!"); } int fileID = reader.ReadInt32(); reader.AlignTo(4); Int64 pathID = reader.ReadInt64(); if (fileID == 0 && pathID == 0) { return(null); } var objInfo = assetsFile.GetObjectInfo <T>(fileID, pathID); if (objInfo == null) { Log.LogErr($"WARNING: Could not find objectinfo for creating SmartPtr of type {typeof(T).Name} on owner type {owner?.GetType()?.Name ?? "(null owner)"}! Returned a null pointer instead."); return(null); } SmartPtr <T> ptr = new SmartPtr <T>(owner, assetsFile.GetObjectInfo <T>(fileID, pathID)); //TODO: not sure this is only ever called by existing objects ptr.IsNew = false; return(ptr); }
public void Parse(AssetsReader reader) { FirstVertex = reader.ReadUInt32(); VertexCount = reader.ReadUInt32(); HasNormals = reader.ReadBoolean(); HasTangents = reader.ReadBoolean(); reader.AlignTo(4); }
public override void Parse(AssetsReader reader) { ParseBase(reader); var readLength = ObjectInfo.DataSize - (reader.Position - ObjectInfo.DataOffset); ScriptParametersData = reader.ReadBytes(readLength); reader.AlignTo(4); }
public override void Parse(AssetsReader reader) { base.ParseBase(reader); Name = reader.ReadString(); LoadType = reader.ReadInt32(); Channels = reader.ReadInt32(); Frequency = reader.ReadInt32(); BitsPerSample = reader.ReadInt32(); Length = reader.ReadSingle(); IsTrackerFormat = reader.ReadBoolean(); Ambisonic = reader.ReadBoolean(); reader.AlignTo(4); SubsoundIndex = reader.ReadInt32(); PreloadAudioData = reader.ReadBoolean(); LoadInBackground = reader.ReadBoolean(); Legacy3D = reader.ReadBoolean(); reader.AlignTo(4); Resource = new StreamedResource(reader); CompressionFormat = reader.ReadInt32(); }
protected override void Parse(AssetsReader reader) { base.Parse(reader); Name = reader.ReadString(); PreloadTable = reader.ReadArrayOf <ISmartPtr <AssetsObject> >(x => SmartPtr <AssetsObject> .Read(ObjectInfo.ParentFile, this, x)); Container = reader.ReadArrayOf(x => new Map(ObjectInfo.ParentFile, this, x)); MainAsset = new AssetInfo(ObjectInfo.ParentFile, this, reader); RuntimeCompatibility = reader.ReadUInt32(); AssetBundleName = reader.ReadString(); Dependencies = reader.ReadArrayOf <ISmartPtr <AssetsObject> >(x => SmartPtr <AssetsObject> .Read(ObjectInfo.ParentFile, this, x)); IsStreamedSceneAssetBundle = reader.ReadBoolean(); reader.AlignTo(4); ExplicitDataLayout = reader.ReadInt32(); PathFlags = reader.ReadInt32(); SceneHashes = reader.ReadArrayOf(x => new Map(ObjectInfo.ParentFile, this, x)); }
public override void Parse(AssetsReader reader) { base.ParseBase(reader); Name = reader.ReadString(); Shader = SmartPtr <AssetsObject> .Read(this.ObjectInfo.ParentFile, this, reader); ShaderKeywords = reader.ReadString(); LightmapFlags = reader.ReadUInt32(); EnableInstancingVariants = reader.ReadBoolean(); DoubleSidedGI = reader.ReadBoolean(); reader.AlignTo(4); CustomRenderQueue = reader.ReadInt32(); StringTagMap = reader.ReadArrayOf(r => new Map <string, string>(reader.ReadString(), reader.ReadString())); DisabledShaderPasses = reader.ReadArrayOf(r => r.ReadString()); SavedProperties = new PropertySheet(this.ObjectInfo.ParentFile, this, reader); }
public void Parse(AssetsFile assetsFile, AssetsObject owner, AssetsReader reader) { Texture = SmartPtr <Texture2DObject> .Read(assetsFile, owner, reader); AlphaTexture = SmartPtr <Texture2DObject> .Read(assetsFile, owner, reader); SubMeshes = reader.ReadArrayOf(r => new Submesh(reader)); IndexBuffer = reader.ReadArray(); reader.AlignTo(4); VertexData = new VertexData(reader); BindPose = reader.ReadArrayOf(r => r.ReadSingle()); TextureRect = new RectF(reader); TextureRectOffset = new Vector2F(reader); AtlasRectOffset = new Vector2F(reader); SettingsRaw = reader.ReadUInt32(); UVTransform = new Vector4F(reader); DownscaleMultiplier = reader.ReadSingle(); }
public static SmartPtr <T> Read(AssetsFile assetsFile, AssetsObject owner, AssetsReader reader) { int fileID = reader.ReadInt32(); reader.AlignTo(4); Int64 pathID = reader.ReadInt64(); if (fileID == 0 && pathID == 0) { return(null); } SmartPtr <T> ptr = new SmartPtr <T>(owner, assetsFile.GetObjectInfo <T>(fileID, pathID)); //TODO: not sure this is only ever called by existing objects ptr.IsNew = false; return(ptr); }
public override void Parse(AssetsReader reader) { base.ParseBase(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)); }
private void Parse(AssetsReader reader) { FileID = reader.ReadInt32(); reader.AlignTo(4); PathID = reader.ReadInt64(); }