diff --git a/AssetStudio/Classes/Shader.cs b/AssetStudio/Classes/Shader.cs index 7bf15c1..0ec15d8 100644 --- a/AssetStudio/Classes/Shader.cs +++ b/AssetStudio/Classes/Shader.cs @@ -605,6 +605,17 @@ namespace AssetStudio m_GpuProgramType = (ShaderGpuProgramType)reader.ReadSByte(); reader.AlignStream(); + if (reader.Game.Type.IsGI() && (m_GpuProgramType == ShaderGpuProgramType.Unknown || !Enum.IsDefined(typeof(ShaderGpuProgramType), m_GpuProgramType))) + { + reader.Position -= 4; + var m_LocalKeywordIndices = reader.ReadUInt16Array(); + reader.AlignStream(); + + m_ShaderHardwareTier = reader.ReadSByte(); + m_GpuProgramType = (ShaderGpuProgramType)reader.ReadSByte(); + reader.AlignStream(); + } + if ((version[0] == 2020 && version[1] > 3) || (version[0] == 2020 && version[1] == 3 && version[2] >= 2) || //2020.3.2f1 and up (version[0] > 2021) ||