Exemple #1
0
        public Model(string path)
        {
            _stream = MpqManager.GetFile(FixModelPath(path));
            Header = new ModelHeader();
            Header.Read(_stream);

            if (Header.OffsetBoundingNormals > 0 && Header.OffsetBoundingVertices > 0 &&
                Header.OffsetBoundingTriangles > 0 && Header.BoundingRadius > 0.0f)
            {
                IsCollidable = true;
                ReadVertices(_stream);
                ReadBoundingNormals(_stream);
                ReadBoundingTriangles(_stream);
            }
        }
Exemple #2
0
        public Model(string path)
        {
            _stream = MpqManager.GetFile(FixModelPath(path));
            Header  = new ModelHeader();
            Header.Read(_stream);

            if (Header.OffsetBoundingNormals > 0 && Header.OffsetBoundingVertices > 0 &&
                Header.OffsetBoundingTriangles > 0 && Header.BoundingRadius > 0.0f)
            {
                IsCollidable = true;
                ReadVertices(_stream);
                ReadBoundingNormals(_stream);
                ReadBoundingTriangles(_stream);
            }
        }
Exemple #3
0
        public Model(string path)
        {
            uint fileId;

            uint.TryParse(path, out fileId);

            _stream = fileId == 0 ? MpqManager.GetFile(FixModelPath(path)) : MpqManager.GetFile(fileId);
            //if (_stream == null) // required for file list
            //    return;
            Header = new ModelHeader();
            Header.Read(_stream);

            if (Header.OffsetBoundingNormals > 0 && Header.OffsetBoundingVertices > 0 &&
                Header.OffsetBoundingTriangles > 0 && Header.BoundingRadius > 0.0f)
            {
                IsCollidable = true;
                ReadVertices(_stream, Header.IsMD21);
                ReadBoundingNormals(_stream, Header.IsMD21);
                ReadBoundingTriangles(_stream, Header.IsMD21);
            }
        }