Example #1
0
        public void Read(System.IO.Stream r)
        {
            Header = new RW4Header();
            Header.Read(r);

            foreach (var section in Header.Sections)
            {
                switch (section.type_code)
                {
                case RW4Mesh.type_code:
                {
                    try
                    {
                        RW4Mesh t;
                        section.GetObject(this, r, out t);
                        break;
                    }
                    catch
                    {
                        break;
                    }
                }

                case RW4Material.type_code:
                {
                    RW4Material t;
                    section.GetObject(this, r, out t);
                    break;
                }

                /* case RW4Skeleton.type_code:
                 *    {
                 *        RW4Skeleton t;
                 *        section.GetObject(this, r, out t);
                 *        break;
                 *    }*/
                case Texture.type_code:
                {
                    Texture t;
                    section.GetObject(this, r, out t);
                    break;
                }

                /* case RW4HierarchyInfo.type_code:
                 *   {
                 *       RW4HierarchyInfo t;
                 *       section.GetObject(this, r, out t);
                 *       break;
                 *   } */
                /* case RWMeshMaterialAssignment.type_code:
                 *   {
                 *       RWMeshMaterialAssignment t;
                 *       section.GetObject(this, r, out t);
                 *       break;
                 *   }*/
                /*  case RW4BBox.type_code:
                 *    {
                 *        RW4BBox b;
                 *        section.GetObject(this, r, out b);
                 *        break;
                 *    }*/
                case VertexFormat.type_code:
                {
                    VertexFormat vf;
                    section.GetObject(this, r, out vf);
                    break;
                }

                    /*
                     * case ModelHandles.type_code:
                     * {
                     * ModelHandles t;
                     * section.GetObject(this, r, out t);
                     * break;
                     * }*/
                    /*  case Anim.type_code:
                     *    {
                     *        Anim t;
                     *        section.GetObject(this, r, out t);
                     *        break;
                     *    }*/
                    /*  case Animations.type_code:
                     *    {
                     *        Animations t;
                     *        section.GetObject(this, r, out t);
                     *        break;
                     *    }*/

                    /*   case Matrices4x4.type_code:
                     *     {
                     *         Matrices4x4 t;
                     *         section.GetObject(this, r, out t);
                     *         break;
                     *     }
                     * case Matrices4x3.type_code:
                     *     {
                     *         Matrices4x3 t;
                     *         section.GetObject(this, r, out t);
                     *         break;
                     *     }*/
                }
            }
            foreach (var section in Header.Sections)
            {
                if (section.obj == null)
                {
                    try
                    {
                        section.LoadObject(this, new UnreferencedSection(), r);
                    }
                    catch
                    {
                    }
                }
            }
        }
Example #2
0
 public void New()
 {
     Header = new RW4Header();
 }