Exemplo n.º 1
0
        protected override void _Read(BinaryReader reader)
        {
            Buffer = reader.ReadBytes((int)reader.BaseStream.Length);
            reader.BaseStream.Seek(0, SeekOrigin.Begin);

            Identifier = reader.ReadUInt32();
            if (!IsValid(Identifier))
            {
                return;
            }

            TextureOffset   = reader.ReadUInt32();
            FirstNodeOffset = reader.ReadUInt32();

            if (TextureOffset != 0)
            {
                reader.BaseStream.Seek(TextureOffset, SeekOrigin.Begin);
                TEXD textureDatabase = new TEXD(reader);

                //Populate base class textures
                foreach (Texture tex in textureDatabase.Textures)
                {
                    Textures.Add(tex);
                }
            }

            reader.BaseStream.Seek(FirstNodeOffset, SeekOrigin.Begin);
            RootNode = new MT5Node(reader, null, this);

            //Resolve the textures in the faces
            RootNode.ResolveFaceTextures(Textures);
        }
Exemplo n.º 2
0
 /// <summary>
 /// Creates a new MT5 instance from the given model.
 /// </summary>
 public MT5(BaseModel model)
 {
     Textures = model.Textures;
     RootNode = new MT5Node(model.RootNode);
     RootNode.ResolveFaceTextures(Textures);
 }