Example #1
0
        /// <summary>
        /// Reads a <see cref="StaticMesh"/>
        /// </summary>
        /// <param name="br">The <see cref="BinaryReader"/> used to read the <see cref="StaticMesh"/></param>
        /// <returns>A <see cref="StaticMesh"/></returns>
        public static StaticMesh Read(BinaryReader br)
        {
            var ret = new StaticMesh();

            ret.ObjectID = br.ReadUInt32();
            ret.Mesh = br.ReadUInt16();

            ret.VisibilityBox = new Vertex[2];
            ret.VisibilityBox[0].X = br.ReadInt16();
            ret.VisibilityBox[1].X = br.ReadInt16();
            ret.VisibilityBox[0].Y = -br.ReadInt16();
            ret.VisibilityBox[1].Y = -br.ReadInt16();
            ret.VisibilityBox[0].Z = -br.ReadInt16();
            ret.VisibilityBox[1].Z = -br.ReadInt16();

            ret.CollisionBox = new Vertex[2];
            ret.CollisionBox[0].X = br.ReadInt16();
            ret.CollisionBox[1].X = br.ReadInt16();
            ret.CollisionBox[0].Y = -br.ReadInt16();
            ret.CollisionBox[1].Y = -br.ReadInt16();
            ret.CollisionBox[0].Z = -br.ReadInt16();
            ret.CollisionBox[1].Z = -br.ReadInt16();

            ret.Flags = br.ReadUInt16();

            return ret;
        }
Example #2
0
        /// <summary>
        /// Reads a <see cref="StaticMesh"/>
        /// </summary>
        /// <param name="br">The <see cref="BinaryReader"/> used to read the <see cref="StaticMesh"/></param>
        /// <returns>A <see cref="StaticMesh"/></returns>
        public static StaticMesh Read(BinaryReader br)
        {
            var ret = new StaticMesh();

            ret.ObjectID = br.ReadUInt32();
            ret.Mesh = br.ReadUInt16();

            ret.VisibilityBox = new[]
            {
                new Vertex(br.ReadInt16(), br.ReadInt16(), -br.ReadInt16()),
                new Vertex(-br.ReadInt16(), -br.ReadInt16(), -br.ReadInt16()) 
            };

            ret.CollisionBox = new[]
            {
                new Vertex(br.ReadInt16(), br.ReadInt16(), -br.ReadInt16()),
                new Vertex(-br.ReadInt16(), -br.ReadInt16(), -br.ReadInt16())
            };

            ret.Flags = br.ReadUInt16();

            return ret;
        }