diff --git a/Unity Studio/Unity Classes/Material.cs b/Unity Studio/Unity Classes/Material.cs index a7c3f03..d20082c 100644 --- a/Unity Studio/Unity Classes/Material.cs +++ b/Unity Studio/Unity Classes/Material.cs @@ -15,7 +15,7 @@ namespace Unity_Studio public TexEnv[] m_TexEnvs; public strFloatPair[] m_Floats; public strColorPair[] m_Colors; - + public Material(AssetPreloadData preloadData) { var sourceFile = preloadData.sourceFile; @@ -44,6 +44,11 @@ namespace Unity_Studio { m_ShaderKeywords = new string[1] { a_Stream.ReadAlignedString(a_Stream.ReadInt32()) }; uint m_LightmapFlags = a_Stream.ReadUInt32(); + if ((sourceFile.version[0] == 5 && sourceFile.version[1] >= 6) || sourceFile.version[0] > 5)//5.6.0 and up + { + var m_EnableInstancingVariants = a_Stream.ReadBoolean(); + a_Stream.AlignStream(4); + } } if (sourceFile.version[0] > 4 || (sourceFile.version[0] == 4 && sourceFile.version[1] >= 3)) { m_CustomRenderQueue = a_Stream.ReadInt32(); } @@ -56,9 +61,17 @@ namespace Unity_Studio stringTagMap[i] = new string[2] { a_Stream.ReadAlignedString(a_Stream.ReadInt32()), a_Stream.ReadAlignedString(a_Stream.ReadInt32()) }; } } - - //m_SavedProperties - m_TexEnvs = new TexEnv[a_Stream.ReadInt32()]; + //disabledShaderPasses + if ((sourceFile.version[0] == 5 && sourceFile.version[1] >= 6) || sourceFile.version[0] > 5)//5.6.0 and up + { + var size = a_Stream.ReadInt32(); + for (int i = 0; i < size; i++) + { + a_Stream.ReadAlignedString(a_Stream.ReadInt32()); + } + } + //m_SavedProperties + m_TexEnvs = new TexEnv[a_Stream.ReadInt32()]; for (int i = 0; i < m_TexEnvs.Length; i++) { TexEnv m_TexEnv = new TexEnv() diff --git a/Unity Studio/Unity Classes/Texture2D.cs b/Unity Studio/Unity Classes/Texture2D.cs index f7465af..84a8d48 100644 --- a/Unity Studio/Unity Classes/Texture2D.cs +++ b/Unity Studio/Unity Classes/Texture2D.cs @@ -126,7 +126,7 @@ namespace Unity_Studio } m_IsReadable = a_Stream.ReadBoolean(); //2.6.0 and up - m_ReadAllowed = a_Stream.ReadBoolean(); //3.0.0 and up + m_ReadAllowed = a_Stream.ReadBoolean(); //3.0.0 - 5.4 a_Stream.AlignStream(4); m_ImageCount = a_Stream.ReadInt32();