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 { } } } }
public void New() { Header = new RW4Header(); }