using System; using System.Collections.Generic; namespace NW4RTools.Models { public class ChanCtrl { public UInt32 Flags; public Color MatColor, AmbColor; public UInt32 FlagC, FlagA; } // TODO: Rename this class? public class SRTSettingInfo { public float ScaleX, ScaleY, Rotate, TranslateX, TranslateY; public byte CameraID; public byte LightID; public byte MapType; public byte Flags; public Matrix TexMatrix; } public class BoundTextureInfo { public string TextureName, PaletteName; public UInt32 TexMapID, TlutID, WrapS, WrapT, MinFilt, MagFilt; public float LODBias; public UInt32 MaxAniso; public bool BiasClamp, DoEdgeLOD; } public class Material { public UInt32 Index, Flags; // ResGenMode public byte TexCoordGenCount, ChanCount, TevStageCount, IndStageCount; public UInt32 CullMode; // ResMatMisc public byte ZCompLoc, LightSetID, FogID; public byte[] IndirectTexMtxCalcMethod1; public byte[] IndirectTexMtxCalcMethod2; // ResTexObj and ResTlutObj public byte[][] TexObj; public byte[] TlutObj; // ResTexSrt public UInt32 TexMatrixType; public SRTSettingInfo[] SRTSettings; // ResMatChan public ChanCtrl[] ChanCtrls; // Other public List BoundTextures; public Shader ShaderRef; // Display Lists public byte[] PixDL; public byte[] TevColorDL; public byte[] IndMtxAndScaleDL; public byte[] TexCoordGenDL; public Material() { } } }