public SkinnedMeshRenderer(ObjectReader reader) : base(reader) { int m_Quality = reader.ReadInt32(); var m_UpdateWhenOffscreen = reader.ReadBoolean(); var m_SkinNormals = reader.ReadBoolean(); //3.1.0 and below reader.AlignStream(); if (version[0] == 2 && version[1] < 6) //2.6 down { var m_DisableAnimationWhenOffscreen = new PPtr <Animation>(reader); } m_Mesh = new PPtr <Mesh>(reader); m_Bones = new PPtr <Transform> [reader.ReadInt32()]; for (int b = 0; b < m_Bones.Length; b++) { m_Bones[b] = new PPtr <Transform>(reader); } if (version[0] > 4 || (version[0] == 4 && version[1] >= 3)) //4.3 and up { m_BlendShapeWeights = reader.ReadSingleArray(); } }
public SerializedPass(ObjectReader reader) { var version = reader.version; if (version[0] > 2020 || (version[0] == 2020 && version[1] >= 2)) //2020.2 and up { int numEditorDataHash = reader.ReadInt32(); m_EditorDataHash = new Hash128[numEditorDataHash]; for (int i = 0; i < numEditorDataHash; i++) { m_EditorDataHash[i] = new Hash128(reader); } reader.AlignStream(); m_Platforms = reader.ReadUInt8Array(); reader.AlignStream(); if (version[0] < 2021 || (version[0] == 2021 && version[1] < 2)) //2021.1 and down { m_LocalKeywordMask = reader.ReadUInt16Array(); reader.AlignStream(); m_GlobalKeywordMask = reader.ReadUInt16Array(); reader.AlignStream(); } } int numIndices = reader.ReadInt32(); m_NameIndices = new KeyValuePair <string, int> [numIndices]; for (int i = 0; i < numIndices; i++) { m_NameIndices[i] = new KeyValuePair <string, int>(reader.ReadAlignedString(), reader.ReadInt32()); } m_Type = (PassType)reader.ReadInt32(); m_State = new SerializedShaderState(reader); m_ProgramMask = reader.ReadUInt32(); progVertex = new SerializedProgram(reader); progFragment = new SerializedProgram(reader); progGeometry = new SerializedProgram(reader); progHull = new SerializedProgram(reader); progDomain = new SerializedProgram(reader); if (version[0] > 2019 || (version[0] == 2019 && version[1] >= 3)) //2019.3 and up { progRayTracing = new SerializedProgram(reader); } m_HasInstancingVariant = reader.ReadBoolean(); if (version[0] >= 2018) //2018 and up { var m_HasProceduralInstancingVariant = reader.ReadBoolean(); } reader.AlignStream(); m_UseName = reader.ReadAlignedString(); m_Name = reader.ReadAlignedString(); m_TextureName = reader.ReadAlignedString(); m_Tags = new SerializedTagMap(reader); if (version[0] > 2021 || (version[0] == 2021 && version[1] >= 2)) //2021.2 and up { m_SerializedKeywordStateMask = reader.ReadUInt16Array(); reader.AlignStream(); } }
public SerializedPass(ObjectReader reader) { var version = reader.version; int numIndices = reader.ReadInt32(); m_NameIndices = new KeyValuePair <string, int> [numIndices]; for (int i = 0; i < numIndices; i++) { m_NameIndices[i] = new KeyValuePair <string, int>(reader.ReadAlignedString(), reader.ReadInt32()); } m_Type = (PassType)reader.ReadInt32(); m_State = new SerializedShaderState(reader); m_ProgramMask = reader.ReadUInt32(); progVertex = new SerializedProgram(reader); progFragment = new SerializedProgram(reader); progGeometry = new SerializedProgram(reader); progHull = new SerializedProgram(reader); progDomain = new SerializedProgram(reader); m_HasInstancingVariant = reader.ReadBoolean(); if (version[0] >= 2018) //2018 and up { var m_HasProceduralInstancingVariant = reader.ReadBoolean(); } reader.AlignStream(); m_UseName = reader.ReadAlignedString(); m_Name = reader.ReadAlignedString(); m_TextureName = reader.ReadAlignedString(); m_Tags = new SerializedTagMap(reader); }
public MeshBlendShape(ObjectReader reader) { firstVertex = reader.ReadUInt32(); vertexCount = reader.ReadUInt32(); hasNormals = reader.ReadBoolean(); hasTangents = reader.ReadBoolean(); reader.AlignStream(); }
public Texture2D(ObjectReader reader) : base(reader) { m_Width = reader.ReadInt32(); m_Height = reader.ReadInt32(); var m_CompleteImageSize = reader.ReadInt32(); m_TextureFormat = (TextureFormat)reader.ReadInt32(); if (version[0] < 5 || (version[0] == 5 && version[1] < 2)) //5.2 down { m_MipMap = reader.ReadBoolean(); } else { m_MipCount = reader.ReadInt32(); } var m_IsReadable = reader.ReadBoolean(); //2.6.0 and up var m_ReadAllowed = reader.ReadBoolean(); //3.0.0 - 5.4 //bool m_StreamingMipmaps 2018.2 and up reader.AlignStream(); if (version[0] > 2018 || (version[0] == 2018 && version[1] >= 2)) //2018.2 and up { var m_StreamingMipmapsPriority = reader.ReadInt32(); } var m_ImageCount = reader.ReadInt32(); var m_TextureDimension = reader.ReadInt32(); m_TextureSettings = new GLTextureSettings(reader); if (version[0] >= 3) //3.0 and up { var m_LightmapFormat = reader.ReadInt32(); } if (version[0] > 3 || (version[0] == 3 && version[1] >= 5)) //3.5.0 and up { var m_ColorSpace = reader.ReadInt32(); } var image_data_size = reader.ReadInt32(); if (image_data_size == 0 && ((version[0] == 5 && version[1] >= 3) || version[0] > 5))//5.3.0 and up { m_StreamData = new StreamingInfo(reader); } ResourceReader resourceReader; if (!string.IsNullOrEmpty(m_StreamData?.path)) { resourceReader = new ResourceReader(m_StreamData.path, assetsFile, m_StreamData.offset, (int)m_StreamData.size); } else { resourceReader = new ResourceReader(reader, reader.BaseStream.Position, image_data_size); } image_data = resourceReader; }
public BuildSettings(ObjectReader reader) : base(reader) { var levels = reader.ReadStringArray(); var hasRenderTexture = reader.ReadBoolean(); var hasPROVersion = reader.ReadBoolean(); var hasPublishingRights = reader.ReadBoolean(); var hasShadows = reader.ReadBoolean(); m_Version = reader.ReadAlignedString(); }
public Human(ObjectReader reader) { var version = reader.version; m_RootX = new xform(reader); m_Skeleton = new Skeleton(reader); m_SkeletonPose = new SkeletonPose(reader); m_LeftHand = new Hand(reader); m_RightHand = new Hand(reader); if (version[0] < 2018 || (version[0] == 2018 && version[1] < 2)) //2018.2 down { var numHandles = reader.ReadInt32(); m_Handles = new Handle[numHandles]; for (var i = 0; i < numHandles; i++) { m_Handles[i] = new Handle(reader); } var numColliders = reader.ReadInt32(); m_ColliderArray = new Collider[numColliders]; for (var i = 0; i < numColliders; i++) { m_ColliderArray[i] = new Collider(reader); } } m_HumanBoneIndex = reader.ReadInt32Array(); m_HumanBoneMass = reader.ReadSingleArray(); if (version[0] < 2018 || (version[0] == 2018 && version[1] < 2)) //2018.2 down { m_ColliderIndex = reader.ReadInt32Array(); } m_Scale = reader.ReadSingle(); m_ArmTwist = reader.ReadSingle(); m_ForeArmTwist = reader.ReadSingle(); m_UpperLegTwist = reader.ReadSingle(); m_LegTwist = reader.ReadSingle(); m_ArmStretch = reader.ReadSingle(); m_LegStretch = reader.ReadSingle(); m_FeetSpacing = reader.ReadSingle(); m_HasLeftHand = reader.ReadBoolean(); m_HasRightHand = reader.ReadBoolean(); if (version[0] > 5 || (version[0] == 5 && version[1] >= 2)) //5.2 and up { m_HasTDoF = reader.ReadBoolean(); } reader.AlignStream(); }
public ValueArray(ObjectReader reader) { var version = reader.version; if (version[0] < 5 || (version[0] == 5 && version[1] < 5)) //5.5 down { int numBools = reader.ReadInt32(); m_BoolValues = new bool[numBools]; for (int i = 0; i < numBools; i++) { m_BoolValues[i] = reader.ReadBoolean(); } reader.AlignStream(4); m_IntValues = reader.ReadInt32Array(reader.ReadInt32()); m_FloatValues = reader.ReadSingleArray(reader.ReadInt32()); } int numPosValues = reader.ReadInt32(); m_PositionValues = new object[numPosValues]; for (int i = 0; i < numPosValues; i++) { m_PositionValues[i] = version[0] > 5 || (version[0] == 5 && version[1] >= 4) ? (object)reader.ReadVector3() : (object)reader.ReadVector4(); //5.4 and up } m_QuaternionValues = reader.ReadVector4Array(reader.ReadInt32()); int numScaleValues = reader.ReadInt32(); m_ScaleValues = new object[numScaleValues]; for (int i = 0; i < numScaleValues; i++) { m_ScaleValues[i] = version[0] > 5 || (version[0] == 5 && version[1] >= 4) ? (object)reader.ReadVector3() : (object)reader.ReadVector4(); //5.4 adn up } if (version[0] > 5 || (version[0] == 5 && version[1] >= 5)) //5.5 and up { m_FloatValues = reader.ReadSingleArray(reader.ReadInt32()); m_IntValues = reader.ReadInt32Array(reader.ReadInt32()); int numBools = reader.ReadInt32(); m_BoolValues = new bool[numBools]; for (int i = 0; i < numBools; i++) { m_BoolValues[i] = reader.ReadBoolean(); } reader.AlignStream(4); } }
protected Texture(ObjectReader reader) : base(reader) { if (version[0] > 2017 || (version[0] == 2017 && version[1] >= 3)) //2017.3 and up { var m_ForcedFallbackFormat = reader.ReadInt32(); var m_DownscaleFallback = reader.ReadBoolean(); if (version[0] > 2020 || (version[0] == 2020 && version[1] >= 2)) //2020.2 and up { var m_IsAlphaChannelOptional = reader.ReadBoolean(); } reader.AlignStream(); } }
public LayerConstant(ObjectReader reader) { m_StateMachineIndex = reader.ReadUInt32(); m_StateMachineMotionSetIndex = reader.ReadUInt32(); m_BodyMask = new HumanPoseMask(reader); m_SkeletonMask = new SkeletonMask(reader); m_Binding = reader.ReadUInt32(); m_LayerBlendingMode = reader.ReadInt32(); m_DefaultWeight = reader.ReadSingle(); m_IKPass = reader.ReadBoolean(); m_SyncedLayerAffectsTiming = reader.ReadBoolean(); reader.AlignStream(4); }
public VideoClip(ObjectReader reader) : base(reader) { m_OriginalPath = reader.ReadAlignedString(); var m_ProxyWidth = reader.ReadUInt32(); var m_ProxyHeight = reader.ReadUInt32(); var Width = reader.ReadUInt32(); var Height = reader.ReadUInt32(); if (version[0] > 2017 || (version[0] == 2017 && version[1] >= 2)) //2017.2 and up { var m_PixelAspecRatioNum = reader.ReadUInt32(); var m_PixelAspecRatioDen = reader.ReadUInt32(); } var m_FrameRate = reader.ReadDouble(); var m_FrameCount = reader.ReadUInt64(); var m_Format = reader.ReadInt32(); var m_AudioChannelCount = reader.ReadUInt16Array(); reader.AlignStream(); var m_AudioSampleRate = reader.ReadUInt32Array(); var m_AudioLanguage = reader.ReadStringArray(); if (version[0] >= 2020) //2020.1 and up { var m_VideoShadersSize = reader.ReadInt32(); var m_VideoShaders = new PPtr <Shader> [m_VideoShadersSize]; for (var i = 0; i < m_VideoShadersSize; i++) { m_VideoShaders[i] = new PPtr <Shader>(reader); } } m_ExternalResources = new StreamedResource(reader); var m_HasSplitAlpha = reader.ReadBoolean(); if (version[0] >= 2020) //2020.1 and up { var m_sRGB = reader.ReadBoolean(); } ResourceReader resourceReader; if (!string.IsNullOrEmpty(m_ExternalResources.m_Source)) { resourceReader = new ResourceReader(m_ExternalResources.m_Source, assetsFile, m_ExternalResources.m_Offset, (int)m_ExternalResources.m_Size); } else { resourceReader = new ResourceReader(reader, reader.BaseStream.Position, (int)m_ExternalResources.m_Size); } m_VideoData = resourceReader; }
public Human(ObjectReader reader) { var version = reader.version; m_RootX = new xform(reader); m_Skeleton = new Skeleton(reader); m_SkeletonPose = new SkeletonPose(reader); m_LeftHand = new Hand(reader); m_RightHand = new Hand(reader); if (version[0] < 2018 || (version[0] == 2018 && version[1] < 2)) //2018.2 down { int numHandles = reader.ReadInt32(); m_Handles = new List <Handle>(numHandles); for (int i = 0; i < numHandles; i++) { m_Handles.Add(new Handle(reader)); } int numColliders = reader.ReadInt32(); m_ColliderArray = new List <Collider>(numColliders); for (int i = 0; i < numColliders; i++) { m_ColliderArray.Add(new Collider(reader)); } } m_HumanBoneIndex = reader.ReadInt32Array(); m_HumanBoneMass = reader.ReadSingleArray(); if (version[0] < 2018 || (version[0] == 2018 && version[1] < 2)) //2018.2 down { m_ColliderIndex = reader.ReadInt32Array(); } m_Scale = reader.ReadSingle(); m_ArmTwist = reader.ReadSingle(); m_ForeArmTwist = reader.ReadSingle(); m_UpperLegTwist = reader.ReadSingle(); m_LegTwist = reader.ReadSingle(); m_ArmStretch = reader.ReadSingle(); m_LegStretch = reader.ReadSingle(); m_FeetSpacing = reader.ReadSingle(); m_HasLeftHand = reader.ReadBoolean(); m_HasRightHand = reader.ReadBoolean(); m_HasTDoF = reader.ReadBoolean(); reader.AlignStream(); }
public BlendTreeNodeConstant(ObjectReader reader) { var version = reader.version; m_BlendType = reader.ReadUInt32(); m_BlendEventID = reader.ReadUInt32(); m_BlendEventYID = reader.ReadUInt32(); m_ChildIndices = reader.ReadUInt32Array(reader.ReadInt32()); m_Blend1dData = new Blend1dDataConstant(reader); m_Blend2dData = new Blend2dDataConstant(reader); if (version[0] >= 5) //5.0 and up { m_BlendDirectData = new BlendDirectDataConstant(reader); } m_ClipID = reader.ReadUInt32(); if (version[0] < 5) //5.0 down { m_ClipIndex = reader.ReadUInt32(); } m_Duration = reader.ReadSingle(); m_CycleOffset = reader.ReadSingle(); m_Mirror = reader.ReadBoolean(); reader.AlignStream(4); }
public SpriteAtlas(ObjectReader reader) : base(reader) { var m_PackedSpritesSize = reader.ReadInt32(); m_PackedSprites = new PPtr <Sprite> [m_PackedSpritesSize]; for (int i = 0; i < m_PackedSpritesSize; i++) { m_PackedSprites[i] = new PPtr <Sprite>(reader); } var m_PackedSpriteNamesToIndex = reader.ReadStringArray(); var m_RenderDataMapSize = reader.ReadInt32(); m_RenderDataMap = new Dictionary <KeyValuePair <Guid, long>, SpriteAtlasData>(m_RenderDataMapSize); for (int i = 0; i < m_RenderDataMapSize; i++) { var first = new Guid(reader.ReadBytes(16)); var second = reader.ReadInt64(); var value = new SpriteAtlasData(reader); m_RenderDataMap.Add(new KeyValuePair <Guid, long>(first, second), value); } var m_Tag = reader.ReadAlignedString(); m_IsVariant = reader.ReadBoolean(); reader.AlignStream(); }
public BuildSettings(ObjectReader reader) : base(reader) { int levelsNum = reader.ReadInt32(); for (int i = 0; i < levelsNum; i++) { var level = reader.ReadAlignedString(); } var hasRenderTexture = reader.ReadBoolean(); var hasPROVersion = reader.ReadBoolean(); var hasPublishingRights = reader.ReadBoolean(); var hasShadows = reader.ReadBoolean(); m_Version = reader.ReadAlignedString(); }
public MonoScript(ObjectReader reader) : base(reader) { if (version[0] > 3 || (version[0] == 3 && version[1] >= 4)) //3.4 and up { var m_ExecutionOrder = reader.ReadInt32(); } if (version[0] < 5) //5.0 down { var m_PropertiesHash = reader.ReadUInt32(); } else { var m_PropertiesHash = reader.ReadBytes(16); } if (version[0] < 3) //3.0 down { var m_PathName = reader.ReadAlignedString(); } m_ClassName = reader.ReadAlignedString(); if (version[0] >= 3) //3.0 and up { m_Namespace = reader.ReadAlignedString(); } m_AssemblyName = reader.ReadAlignedString(); if (version[0] < 2018 || (version[0] == 2018 && version[1] < 2)) //2018.2 down { var m_IsEditorScript = reader.ReadBoolean(); } }
public SerializedShader(ObjectReader reader) { m_PropInfo = new SerializedProperties(reader); int numSubShaders = reader.ReadInt32(); m_SubShaders = new SerializedSubShader[numSubShaders]; for (int i = 0; i < numSubShaders; i++) { m_SubShaders[i] = new SerializedSubShader(reader); } m_Name = reader.ReadAlignedString(); m_CustomEditorName = reader.ReadAlignedString(); m_FallbackName = reader.ReadAlignedString(); int numDependencies = reader.ReadInt32(); m_Dependencies = new SerializedShaderDependency[numDependencies]; for (int i = 0; i < numDependencies; i++) { m_Dependencies[i] = new SerializedShaderDependency(reader); } m_DisableNoSubshadersMessage = reader.ReadBoolean(); reader.AlignStream(); }
public MovieTexture(ObjectReader reader) : base(reader) { var m_Loop = reader.ReadBoolean(); reader.AlignStream(4); m_AudioClip = new PPtr <AudioClip>(reader); m_MovieData = reader.ReadBytes(reader.ReadInt32()); }
protected Texture(ObjectReader reader) : base(reader) { if (version[0] > 2017 || (version[0] == 2017 && version[1] >= 3)) //2017.3 and up { var m_ForcedFallbackFormat = reader.ReadInt32(); var m_DownscaleFallback = reader.ReadBoolean(); reader.AlignStream(4); } }
public TransitionConstant(ObjectReader reader) { var version = reader.version; int numConditions = reader.ReadInt32(); m_ConditionConstantArray = new ConditionConstant[numConditions]; for (int i = 0; i < numConditions; i++) { m_ConditionConstantArray[i] = new ConditionConstant(reader); } m_DestinationState = reader.ReadUInt32(); if (version[0] >= 5) //5.0 and up { m_FullPathID = reader.ReadUInt32(); } m_ID = reader.ReadUInt32(); m_UserID = reader.ReadUInt32(); m_TransitionDuration = reader.ReadSingle(); m_TransitionOffset = reader.ReadSingle(); if (version[0] >= 5) //5.0 and up { m_ExitTime = reader.ReadSingle(); m_HasExitTime = reader.ReadBoolean(); m_HasFixedDuration = reader.ReadBoolean(); reader.AlignStream(); m_InterruptionSource = reader.ReadInt32(); m_OrderedInterruption = reader.ReadBoolean(); } else { m_Atomic = reader.ReadBoolean(); } if (version[0] > 4 || (version[0] == 4 && version[1] >= 5)) //4.5 and up { m_CanTransitionToSelf = reader.ReadBoolean(); } reader.AlignStream(); }
public SerializedShaderState(ObjectReader reader) { var version = reader.version; m_Name = reader.ReadAlignedString(); rtBlend = new SerializedShaderRTBlendState[8]; for (var i = 0; i < 8; i++) { rtBlend[i] = new SerializedShaderRTBlendState(reader); } rtSeparateBlend = reader.ReadBoolean(); reader.AlignStream(); if (version[0] > 2017 || (version[0] == 2017 && version[1] >= 2)) //2017.2 and up { zClip = new SerializedShaderFloatValue(reader); } zTest = new SerializedShaderFloatValue(reader); zWrite = new SerializedShaderFloatValue(reader); culling = new SerializedShaderFloatValue(reader); if (version[0] >= 2020) //2020.1 and up { conservative = new SerializedShaderFloatValue(reader); } offsetFactor = new SerializedShaderFloatValue(reader); offsetUnits = new SerializedShaderFloatValue(reader); alphaToMask = new SerializedShaderFloatValue(reader); stencilOp = new SerializedStencilOp(reader); stencilOpFront = new SerializedStencilOp(reader); stencilOpBack = new SerializedStencilOp(reader); stencilReadMask = new SerializedShaderFloatValue(reader); stencilWriteMask = new SerializedShaderFloatValue(reader); stencilRef = new SerializedShaderFloatValue(reader); fogStart = new SerializedShaderFloatValue(reader); fogEnd = new SerializedShaderFloatValue(reader); fogDensity = new SerializedShaderFloatValue(reader); fogColor = new SerializedShaderVectorValue(reader); fogMode = (FogMode)reader.ReadInt32(); gpuProgramID = reader.ReadInt32(); m_Tags = new SerializedTagMap(reader); m_LOD = reader.ReadInt32(); lighting = reader.ReadBoolean(); reader.AlignStream(); }
public Material(ObjectReader reader) : base(reader) { m_Shader = new PPtr <Shader>(reader); if (version[0] == 4 && version[1] >= 1) //4.x { var m_ShaderKeywords = reader.ReadStringArray(); } if (version[0] > 2021 || (version[0] == 2021 && version[1] >= 3)) //2021.3 and up { var m_ValidKeywords = reader.ReadStringArray(); var m_InvalidKeywords = reader.ReadStringArray(); } else if (version[0] >= 5) //5.0 ~ 2021.2 { var m_ShaderKeywords = reader.ReadAlignedString(); } if (version[0] >= 5) //5.0 and up { var m_LightmapFlags = reader.ReadUInt32(); } if (version[0] > 5 || (version[0] == 5 && version[1] >= 6)) //5.6 and up { var m_EnableInstancingVariants = reader.ReadBoolean(); //var m_DoubleSidedGI = a_Stream.ReadBoolean(); //2017 and up reader.AlignStream(); } if (version[0] > 4 || (version[0] == 4 && version[1] >= 3)) //4.3 and up { var m_CustomRenderQueue = reader.ReadInt32(); } if (version[0] > 5 || (version[0] == 5 && version[1] >= 1)) //5.1 and up { var stringTagMapSize = reader.ReadInt32(); for (int i = 0; i < stringTagMapSize; i++) { var first = reader.ReadAlignedString(); var second = reader.ReadAlignedString(); } } if (version[0] > 5 || (version[0] == 5 && version[1] >= 6)) //5.6 and up { var disabledShaderPasses = reader.ReadStringArray(); } m_SavedProperties = new UnityPropertySheet(reader); //vector m_BuildTextureStacks 2020 and up }
public Sprite(ObjectReader reader) : base(reader) { m_Rect = reader.ReadRectangleF(); m_Offset = reader.ReadVector2(); if (version[0] > 4 || (version[0] == 4 && version[1] >= 5)) //4.5 and up { m_Border = reader.ReadVector4(); } m_PixelsToUnits = reader.ReadSingle(); if (version[0] > 5 || (version[0] == 5 && version[1] > 4) || (version[0] == 5 && version[1] == 4 && version[2] >= 2)) //5.4.2 and up { m_Pivot = reader.ReadVector2(); } m_Extrude = reader.ReadUInt32(); if (version[0] > 5 || (version[0] == 5 && version[1] >= 3)) //5.3 and up { m_IsPolygon = reader.ReadBoolean(); reader.AlignStream(4); } if (version[0] >= 2017) //2017 and up { var first = new Guid(reader.ReadBytes(16)); var second = reader.ReadInt64(); m_RenderDataKey = new KeyValuePair <Guid, long>(first, second); var m_AtlasTagsSize = reader.ReadInt32(); m_AtlasTags = new string[m_AtlasTagsSize]; for (int i = 0; i < m_AtlasTagsSize; i++) { m_AtlasTags[i] = reader.ReadAlignedString(); } m_SpriteAtlas = new PPtr <SpriteAtlas>(reader); } m_RD = new SpriteRenderData(reader); if (version[0] >= 2017) //2017 and up { var m_PhysicsShapeSize = reader.ReadInt32(); m_PhysicsShape = new Vector2[m_PhysicsShapeSize][]; for (int i = 0; i < m_PhysicsShapeSize; i++) { m_PhysicsShape[i] = reader.ReadVector2Array(reader.ReadInt32()); } } //vector m_Bones 2018 and up }
public LayerConstant(ObjectReader reader) { var version = reader.version; m_StateMachineIndex = reader.ReadUInt32(); m_StateMachineMotionSetIndex = reader.ReadUInt32(); m_BodyMask = new HumanPoseMask(reader); m_SkeletonMask = new SkeletonMask(reader); m_Binding = reader.ReadUInt32(); m_LayerBlendingMode = reader.ReadInt32(); if (version[0] > 4 || (version[0] == 4 && version[1] >= 2)) //4.2 and up { m_DefaultWeight = reader.ReadSingle(); } m_IKPass = reader.ReadBoolean(); if (version[0] > 4 || (version[0] == 4 && version[1] >= 2)) //4.2 and up { m_SyncedLayerAffectsTiming = reader.ReadBoolean(); } reader.AlignStream(); }
public AudioClip(ObjectReader reader) : base(reader) { if (version[0] < 5) { m_Format = reader.ReadInt32(); m_Type = (AudioType)reader.ReadInt32(); m_3D = reader.ReadBoolean(); m_UseHardware = reader.ReadBoolean(); reader.AlignStream(4); if (version[0] >= 4 || (version[0] == 3 && version[1] >= 2)) //3.2.0 to 5 { int m_Stream = reader.ReadInt32(); m_Size = reader.ReadInt32(); var tsize = m_Size % 4 != 0 ? m_Size + 4 - m_Size % 4 : m_Size; if (reader.byteSize + reader.byteStart - reader.Position != tsize) { m_Offset = reader.ReadInt32(); m_Source = assetsFile.fullName + ".resS"; } } else { m_Size = reader.ReadInt32(); } } else { m_LoadType = reader.ReadInt32(); m_Channels = reader.ReadInt32(); m_Frequency = reader.ReadInt32(); m_BitsPerSample = reader.ReadInt32(); m_Length = reader.ReadSingle(); m_IsTrackerFormat = reader.ReadBoolean(); reader.AlignStream(4); m_SubsoundIndex = reader.ReadInt32(); m_PreloadAudioData = reader.ReadBoolean(); m_LoadInBackground = reader.ReadBoolean(); m_Legacy3D = reader.ReadBoolean(); reader.AlignStream(4); m_3D = m_Legacy3D; m_Source = reader.ReadAlignedString(); m_Offset = reader.ReadInt64(); m_Size = reader.ReadInt64(); m_CompressionFormat = (AudioCompressionFormat)reader.ReadInt32(); } ResourceReader resourceReader; if (!string.IsNullOrEmpty(m_Source)) { resourceReader = new ResourceReader(m_Source, assetsFile, m_Offset, (int)m_Size); } else { resourceReader = new ResourceReader(reader, reader.BaseStream.Position, (int)m_Size); } m_AudioData = new Lazy <byte[]>(resourceReader.GetData); }
public VideoClip(ObjectReader reader, bool readData) : base(reader) { m_OriginalPath = reader.ReadAlignedString(); var m_ProxyWidth = reader.ReadUInt32(); var m_ProxyHeight = reader.ReadUInt32(); var Width = reader.ReadUInt32(); var Height = reader.ReadUInt32(); if (version[0] >= 2017)//2017.x and up { var m_PixelAspecRatioNum = reader.ReadUInt32(); var m_PixelAspecRatioDen = reader.ReadUInt32(); } var m_FrameRate = reader.ReadDouble(); var m_FrameCount = reader.ReadUInt64(); var m_Format = reader.ReadInt32(); //m_AudioChannelCount var size = reader.ReadInt32(); reader.Position += size * 2; reader.AlignStream(4); //m_AudioSampleRate size = reader.ReadInt32(); reader.Position += size * 4; //m_AudioLanguage size = reader.ReadInt32(); for (int i = 0; i < size; i++) { reader.ReadAlignedString(); } //StreamedResource m_ExternalResources m_Source = reader.ReadAlignedString(); var m_Offset = reader.ReadUInt64(); m_Size = reader.ReadUInt64(); var m_HasSplitAlpha = reader.ReadBoolean(); if (readData) { if (!string.IsNullOrEmpty(m_Source)) { m_VideoData = ResourcesHelper.GetData(m_Source, sourceFile, (long)m_Offset, (int)m_Size); } else { if (m_Size > 0) { m_VideoData = reader.ReadBytes((int)m_Size); } } } }
public Shader(ObjectReader reader) : base(reader) { if (version[0] == 5 && version[1] >= 5 || version[0] > 5) //5.5 and up { m_ParsedForm = new SerializedShader(reader); platforms = reader.ReadUInt32Array().Select(x => (ShaderCompilerPlatform)x).ToArray(); if (version[0] > 2019 || (version[0] == 2019 && version[1] >= 3)) //2019.3 and up { offsets = reader.ReadUInt32ArrayArray().Select(x => x[0]).ToArray(); compressedLengths = reader.ReadUInt32ArrayArray().Select(x => x[0]).ToArray(); decompressedLengths = reader.ReadUInt32ArrayArray().Select(x => x[0]).ToArray(); } else { offsets = reader.ReadUInt32Array(); compressedLengths = reader.ReadUInt32Array(); decompressedLengths = reader.ReadUInt32Array(); } compressedBlob = reader.ReadUInt8Array(); reader.AlignStream(); var m_DependenciesCount = reader.ReadInt32(); for (int i = 0; i < m_DependenciesCount; i++) { new PPtr <Shader>(reader); } if (version[0] >= 2018) { var m_NonModifiableTexturesCount = reader.ReadInt32(); for (int i = 0; i < m_NonModifiableTexturesCount; i++) { var first = reader.ReadAlignedString(); new PPtr <Texture>(reader); } } var m_ShaderIsBaked = reader.ReadBoolean(); reader.AlignStream(); } else { m_Script = reader.ReadUInt8Array(); reader.AlignStream(); var m_PathName = reader.ReadAlignedString(); if (version[0] == 5 && version[1] >= 3) //5.3 - 5.4 { decompressedSize = reader.ReadUInt32(); m_SubProgramBlob = reader.ReadUInt8Array(); } } }
public PlayerSettings(ObjectReader reader) : base(reader) { if (version[0] > 5 || (version[0] == 5 && version[1] >= 4)) //5.4.0 nad up { var productGUID = reader.ReadBytes(16); } var AndroidProfiler = reader.ReadBoolean(); //bool AndroidFilterTouchesWhenObscured 2017.2 and up //bool AndroidEnableSustainedPerformanceMode 2018 and up reader.AlignStream(); var defaultScreenOrientation = reader.ReadInt32(); var targetDevice = reader.ReadInt32(); if (version[0] < 5 || (version[0] == 5 && version[1] < 3)) //5.3 down { if (version[0] < 5) //5.0 down { var targetPlatform = reader.ReadInt32(); //4.0 and up targetGlesGraphics if (version[0] > 4 || (version[0] == 4 && version[1] >= 6)) //4.6 and up { var targetIOSGraphics = reader.ReadInt32(); } } var targetResolution = reader.ReadInt32(); } else { var useOnDemandResources = reader.ReadBoolean(); reader.AlignStream(); } if (version[0] > 3 || (version[0] == 3 && version[1] >= 5)) //3.5 and up { var accelerometerFrequency = reader.ReadInt32(); } companyName = reader.ReadAlignedString(); productName = reader.ReadAlignedString(); }
public SkinnedMeshRenderer(ObjectReader reader) : base(reader) { int m_Quality = reader.ReadInt32(); var m_UpdateWhenOffscreen = reader.ReadBoolean(); var m_SkinNormals = reader.ReadBoolean(); //3.1.0 and below reader.AlignStream(4); if (version[0] == 2 && version[1] < 6)//2.6 down { var m_DisableAnimationWhenOffscreen = new PPtr <Animation>(reader); } m_Mesh = new PPtr <Mesh>(reader); m_Bones = new PPtr <Transform> [reader.ReadInt32()]; for (int b = 0; b < m_Bones.Length; b++) { m_Bones[b] = new PPtr <Transform>(reader); } if (version[0] < 3) { int m_BindPose = reader.ReadInt32(); reader.Position += m_BindPose * 16 * 4;//Matrix4x4f } else { if (version[0] > 4 || (version[0] == 4 && version[1] >= 3))//4.3 and up { int numBSWeights = reader.ReadInt32(); m_BlendShapeWeights = new List <float>(numBSWeights); for (int i = 0; i < numBSWeights; i++) { m_BlendShapeWeights.Add(reader.ReadSingle()); } } } }
public MeshBlendShape(ObjectReader reader) { var version = reader.version; if (version[0] == 4 && version[1] < 3) //4.3 down { var name = reader.ReadAlignedString(); } firstVertex = reader.ReadUInt32(); vertexCount = reader.ReadUInt32(); if (version[0] == 4 && version[1] < 3) //4.3 down { var aabbMinDelta = reader.ReadVector3(); var aabbMaxDelta = reader.ReadVector3(); } hasNormals = reader.ReadBoolean(); hasTangents = reader.ReadBoolean(); if (version[0] > 4 || (version[0] == 4 && version[1] >= 3)) //4.3 and up { reader.AlignStream(); } }