Inheritance: TerrainDisplay.MPQ.WMO.Components.DoodadDefinition
Esempio n. 1
0
        private static void ReadWMODoodadDefs(BinaryReader br, ExtractedWMO wmo)
        {
            var numSets = br.ReadInt32();
            var setList = new List <Dictionary <int, ExtractedWMOM2Definition> >(numSets);

            for (var i = 0; i < numSets; i++)
            {
                var numDefs = br.ReadInt32();
                var defDict = new Dictionary <int, ExtractedWMOM2Definition>(numDefs);
                for (var j = 0; j < numDefs; j++)
                {
                    var key = br.ReadInt32();
                    var def = new ExtractedWMOM2Definition {
                        FilePath   = br.ReadString(),
                        Position   = br.ReadVector3(),
                        Extents    = br.ReadBoundingBox(),
                        WMOToModel = br.ReadMatrix(),
                        ModeltoWMO = br.ReadMatrix()
                    };
                    defDict.Add(key, def);
                }
                setList.Add(defDict);
            }
            wmo.WMOM2Defs = setList;
        }
Esempio n. 2
0
 private static void ReadWMODoodadDefs(BinaryReader br, ExtractedWMO wmo)
 {
     var numSets = br.ReadInt32();
     var setList = new List<Dictionary<int, ExtractedWMOM2Definition>>(numSets);
     for (var i = 0; i < numSets; i++)
     {
         var numDefs = br.ReadInt32();
         var defDict = new Dictionary<int, ExtractedWMOM2Definition>(numDefs);
         for (var j = 0; j < numDefs; j++)
         {
             var key = br.ReadInt32();
             var def = new ExtractedWMOM2Definition {
                                                        FilePath = br.ReadString(),
                                                        Position = br.ReadVector3(),
                                                        Extents = br.ReadBoundingBox(),
                                                        WMOToModel = br.ReadMatrix(),
                                                        ModeltoWMO = br.ReadMatrix()
                                                    };
             defDict.Add(key, def);
         }
         setList.Add(defDict);
     }
     wmo.WMOM2Defs = setList;
 }
Esempio n. 3
0
        private static void TransformM2(ExtractedM2 m2, ExtractedWMOM2Definition m2Def)
        {
            for (var i = 0; i < m2.BoundingVertices.Count; i++)
            {
                var vec = m2.BoundingVertices[i];
                Vector3 rotatedVec;
                Vector3.Transform(ref vec, ref m2Def.ModeltoWMO, out rotatedVec);

                Vector3 finalVec;
                Vector3.Add(ref rotatedVec, ref m2Def.Position, out finalVec);

                m2.BoundingVertices[i] = finalVec;
            }
        }