Ejemplo n.º 1
0
                    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);
                        }
                    }
Ejemplo n.º 2
0
 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();
 }
Ejemplo n.º 3
0
                    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();
                        }
                    }