Exemplo n.º 1
0
        /// <summary> Loads WMO from file </summary>
        /// <param name="fileName">Full name of file of the WMO</param>
        /// <returns>Loaded WMO</returns>
        private static Model LoadWMO(string fileName)
        {
            var  path = fileName;
            MOHD mohd;
            var  fileInfo = FileInfoFactory.Create();

            if (fileInfo.Exists(path) == false)
            {
                throw new Exception(String.Format("File does not exist: {0}", path));
            }

            using (var br = new BinaryReader(fileInfo.OpenRead(path)))
            {
                int version = new MVERChunkParser(br, br.BaseStream.Position).Parse();
                mohd = new MOHDChunkParser(br, br.BaseStream.Position).Parse();
            }

            var list = new TriangleListCollection();

            for (int wmoGroup = 0; wmoGroup < mohd.GroupsCount; wmoGroup++)
            {
                list.Add(LoadWMOSub(String.Format("{0}_{1:D3}.wmo", fileName.Substring(0, fileName.Length - 4), wmoGroup)));
            }

            return(new Model(list));
        }
Exemplo n.º 2
0
Arquivo: ADT.cs Projeto: hazzik/mpqnav
        private TriangleList BuildTriangleList()
        {
            var col = new TriangleListCollection();

            // Handle the ADTs
            col.Add(triangeList);
            col.Add(triangeListH2O);
            // Handle the WMOs
            foreach (Model w in wmos)
            {
                col.Add(w.TriangleList);
            }
            // Handle the M2s
            foreach (Model m in m2S)
            {
                col.Add(m.TriangleList);
            }
            return(col.Optimize());
        }
Exemplo n.º 3
0
        /// <summary> Loads WMO from file </summary>
        /// <param name="fileName">Full name of file of the WMO</param>
        /// <returns>Loaded WMO</returns>
        private static Model LoadWMO(string fileName)
        {
            var path = fileName;
            MOHD mohd;
            var fileInfo = FileInfoFactory.Create();
            if (fileInfo.Exists(path) == false)
                throw new Exception(String.Format("File does not exist: {0}", path));

            using (var br = new BinaryReader(fileInfo.OpenRead(path)))
            {
                int version = new MVERChunkParser(br, br.BaseStream.Position).Parse();
                mohd = new MOHDChunkParser(br, br.BaseStream.Position).Parse();
            }

            var list = new TriangleListCollection();
            for (int wmoGroup = 0; wmoGroup < mohd.GroupsCount; wmoGroup++)
            {
                list.Add(LoadWMOSub(String.Format("{0}_{1:D3}.wmo", fileName.Substring(0, fileName.Length - 4), wmoGroup)));
            }

            return new Model(list);
        }
Exemplo n.º 4
0
 private TriangleList BuildTriangleList()
 {
     var col = new TriangleListCollection();
     // Handle the ADTs
     col.Add(triangeList);
     col.Add(triangeListH2O);
     // Handle the WMOs
     foreach (Model w in wmos)
     {
         col.Add(w.TriangleList);
     }
     // Handle the M2s
     foreach (Model m in m2S)
     {
         col.Add(m.TriangleList);
     }
     return col.Optimize();
 }