public Material(EndianBinaryReader er) { itemTag = er.ReadUInt16(); size = er.ReadUInt16(); diffAmb = er.ReadUInt32(); specEmi = er.ReadUInt32(); polyAttr = er.ReadUInt32(); polyAttrMask = er.ReadUInt32(); texImageParam = er.ReadUInt32(); texImageParamMask = er.ReadUInt32(); texPlttBase = er.ReadUInt16(); flag = (NNS_G3D_MATFLAG)er.ReadUInt16(); origWidth = er.ReadUInt16(); origHeight = er.ReadUInt16(); magW = er.ReadFx32(); magH = er.ReadFx32(); if ((flag & NNS_G3D_MATFLAG.NNS_G3D_MATFLAG_TEXMTX_SCALEONE) == 0) { scaleS = er.ReadFx32(); scaleT = er.ReadFx32(); } if ((flag & NNS_G3D_MATFLAG.NNS_G3D_MATFLAG_TEXMTX_ROTZERO) == 0) { rotSin = er.ReadFx16(); rotCos = er.ReadFx16(); } if ((flag & NNS_G3D_MATFLAG.NNS_G3D_MATFLAG_TEXMTX_TRANSZERO) == 0) { transS = er.ReadFx32(); transT = er.ReadFx32(); } if ((flag & NNS_G3D_MATFLAG.NNS_G3D_MATFLAG_EFFECTMTX) == NNS_G3D_MATFLAG.NNS_G3D_MATFLAG_EFFECTMTX) { effectMtx = er.ReadFx32s(16); } }
public ModelInfo(EndianBinaryReader er) { sbcType = er.ReadByte(); scalingRule = er.ReadByte(); texMtxMode = er.ReadByte(); numNode = er.ReadByte(); numMat = er.ReadByte(); numShp = er.ReadByte(); firstUnusedMtxStackID = er.ReadByte(); er.ReadByte();//PADDING(1 byte); posScale = er.ReadFx32(); invPosScale = er.ReadFx32(); numVertex = er.ReadUInt16(); numPolygon = er.ReadUInt16(); numTriangle = er.ReadUInt16(); numQuad = er.ReadUInt16(); boxX = er.ReadFx16(); boxY = er.ReadFx16(); boxZ = er.ReadFx16(); boxW = er.ReadFx16(); boxH = er.ReadFx16(); boxD = er.ReadFx16(); boxPosScale = er.ReadFx32(); boxInvPosScale = er.ReadFx32(); }
public NodeData(EndianBinaryReader er) { flag = er.ReadUInt16(); _00 = er.ReadInt16(); if ((flag & NNS_G3D_SRTFLAG_TRANS_ZERO) == 0) { Tx = er.ReadFx32(); Ty = er.ReadFx32(); Tz = er.ReadFx32(); } if ((flag & NNS_G3D_SRTFLAG_ROT_ZERO) == 0 && (flag & NNS_G3D_SRTFLAG_PIVOT_EXIST) == 0) { _01 = er.ReadFx16(); _02 = er.ReadFx16(); _10 = er.ReadFx16(); _11 = er.ReadFx16(); _12 = er.ReadFx16(); _20 = er.ReadFx16(); _21 = er.ReadFx16(); _22 = er.ReadFx16(); } if ((flag & NNS_G3D_SRTFLAG_ROT_ZERO) == 0 && (flag & NNS_G3D_SRTFLAG_PIVOT_EXIST) != 0) { A = er.ReadFx16(); B = er.ReadFx16(); } if ((flag & NNS_G3D_SRTFLAG_SCALE_ONE) == 0) { Sx = er.ReadFx32(); Sy = er.ReadFx32(); Sz = er.ReadFx32(); InvSx = er.ReadFx32(); InvSy = er.ReadFx32(); InvSz = er.ReadFx32(); } }