Beispiel #1
0
        static void ReadMOMT(BinaryReader br, WMORoot wmo)
        {
            wmo.Materials = new Material[wmo.Header.TextureCount];

            for (int i = 0; i < wmo.Materials.Length; i++)
            {
                var mt = new Material
                {
                    Flags            = (MaterialFlags)br.ReadUInt32(),
                    Int_1            = br.ReadUInt32(),
                    BlendMode        = br.ReadInt32(),
                    TextureNameStart = br.ReadInt32(),
                    SidnColor        = br.ReadColor4(),
                    FrameSidnColor   = br.ReadColor4(),
                    TextureNameEnd   = br.ReadInt32(),
                    DiffColor        = br.ReadColor4(),
                    GroundType       = br.ReadInt32(),
                    Float_1          = br.ReadSingle(),
                    Float_2          = br.ReadSingle(),
                    Int_2            = br.ReadInt32(),
                    Int_3            = br.ReadInt32(),
                    Int_4            = br.ReadInt32()
                };

                // these 2 are set in RAM in the client to the associated HTEXTUREs
                br.ReadUInt32(); // 0x38
                br.ReadUInt32(); // 0x3C

                wmo.Materials[i] = mt;

                //if (mt.Flags != 0)
                //Console.WriteLine();
            }
        }
Beispiel #2
0
        static void ReadMOMT(BinaryReader br, WMORoot wmo)
        {
            wmo.Materials = new Material[wmo.Header.TextureCount];

            for (int i = 0; i < wmo.Materials.Length; i++)
            {
                var mt = new Material
                             {
                                 Flags = (MaterialFlags)br.ReadUInt32(),
                                 Int_1 = br.ReadUInt32(),
                                 BlendMode = br.ReadInt32(),
                                 TextureNameStart = br.ReadInt32(),
                                 SidnColor = br.ReadColor4(),
                                 FrameSidnColor = br.ReadColor4(),
                                 TextureNameEnd = br.ReadInt32(),
                                 DiffColor = br.ReadColor4(),
                                 GroundType = br.ReadInt32(),
                                 Float_1 = br.ReadSingle(),
                                 Float_2 = br.ReadSingle(),
                                 Int_2 = br.ReadInt32(),
                                 Int_3 = br.ReadInt32(),
                                 Int_4 = br.ReadInt32()
                             };

                // these 2 are set in RAM in the client to the associated HTEXTUREs
                br.ReadUInt32();// 0x38
                br.ReadUInt32();// 0x3C

                wmo.Materials[i] = mt;

                //if (mt.Flags != 0)
                    //Console.WriteLine();
            }
        }