public pic1(EndianBinaryReader er) : base(er) { VertexColorLT = er.ReadColor8(); VertexColorRT = er.ReadColor8(); VertexColorLB = er.ReadColor8(); VertexColorRB = er.ReadColor8(); MaterialId = er.ReadUInt16(); NrTexCoordEntries = er.ReadUInt16(); TexCoordEntries = new TexCoord[NrTexCoordEntries]; for (int i = 0; i < NrTexCoordEntries; i++) { TexCoordEntries[i] = new TexCoord(er); } }
public txt1(EndianBinaryReader er) : base(er) { long baseoffset = er.BaseStream.Position - 0x4C; NrCharacters = er.ReadUInt16(); NrCharacters2 = er.ReadUInt16(); MaterialId = er.ReadUInt16(); FontId = er.ReadUInt16(); PositionType = er.ReadByte(); TextAlignment = er.ReadByte(); TextFlags = er.ReadByte(); Padding = er.ReadByte(); StringOffset = er.ReadUInt32(); TopColor = er.ReadColor8(); BottomColor = er.ReadColor8(); FontSize = er.ReadVector2(); CharSize = er.ReadSingle(); LineSize = er.ReadSingle(); er.BaseStream.Position = baseoffset + StringOffset; Text = er.ReadStringNT(Encoding.Unicode); er.BaseStream.Position = baseoffset + SectionSize; }
public MaterialEntry(EndianBinaryReader er) { Name = er.ReadString(Encoding.ASCII, 20).Replace("\0", ""); BufferColor = er.ReadColor8(); ConstColors = new Color[6]; ConstColors[0] = er.ReadColor8(); ConstColors[1] = er.ReadColor8(); ConstColors[2] = er.ReadColor8(); ConstColors[3] = er.ReadColor8(); ConstColors[4] = er.ReadColor8(); ConstColors[5] = er.ReadColor8(); Flags = er.ReadUInt32(); //Material Flag: // 0-1: Nr texMap // 2-3: Nr texMatrix // 4-5: Nr texCoordGen // 6-8: Nr tevStage // 9: Has alphaCompare // 10: Has blendMode // 11: Use Texture Only // 12: Separate Blend Mode // 14: Has Indirect Parameter //15-16: Nr projectionTexGenParameter // 17: Has Font Shadow Parameter TexMaps = new TexMap[Flags & 3]; for (int i = 0; i < (Flags & 3); i++) { TexMaps[i] = new TexMap(er); } TexMatrices = new TexMatrix[(Flags >> 2) & 3]; for (int i = 0; i < ((Flags >> 2) & 3); i++) { TexMatrices[i] = new TexMatrix(er); } TexCoordGens = new TexCoordGen[(Flags >> 4) & 3]; for (int i = 0; i < ((Flags >> 4) & 3); i++) { TexCoordGens[i] = new TexCoordGen(er); } TevStages = new TevStage[(Flags >> 6) & 7]; for (int i = 0; i < ((Flags >> 6) & 7); i++) { TevStages[i] = new TevStage(er); } if (((Flags >> 9) & 1) == 1) AlphaTest = new AlphaCompare(er); if (((Flags >> 10) & 1) == 1) ColorBlendMode = new BlendMode(er); if (((Flags >> 12) & 1) == 1) AlphaBlendMode = new BlendMode(er); //Some more things }