public static void ReadShaderParams(this FMAT m, Material mat) { m.matparam.Clear(); if (mat.ShaderParamData == null) { return; } using (FileReader reader = new FileReader(new System.IO.MemoryStream(mat.ShaderParamData))) { reader.ByteOrder = Syroot.BinaryData.ByteOrder.BigEndian; foreach (ShaderParam param in mat.ShaderParams.Values) { BfresShaderParam shaderParam = new BfresShaderParam(); shaderParam.Type = shaderParam.GetTypeWiiU(param.Type); shaderParam.Name = param.Name; shaderParam.HasPadding = param.UsePadding; shaderParam.PaddingLength = param.PaddingLength; reader.Seek(param.DataOffset, System.IO.SeekOrigin.Begin); shaderParam.ReadValue(reader, (int)param.DataSize); m.matparam.Add(param.Name, shaderParam); } reader.Close(); } }
public static void ReadShaderParams(this FMAT m, Material mat) { m.matparam.Clear(); if (mat.ShaderParamData == null) { return; } using (FileReader reader = new FileReader(new System.IO.MemoryStream(mat.ShaderParamData))) { reader.ByteOrder = Syroot.BinaryData.ByteOrder.LittleEndian; foreach (ShaderParam param in mat.ShaderParams) { BfresShaderParam shaderParam = new BfresShaderParam(); shaderParam.Type = param.Type; shaderParam.Name = param.Name; shaderParam.DependedIndex = param.DependedIndex; shaderParam.DependIndex = param.DependIndex; reader.Seek(param.DataOffset, System.IO.SeekOrigin.Begin); shaderParam.ReadValue(reader, (int)param.DataSize); m.matparam.Add(param.Name, shaderParam); } reader.Close(); } }