public bool Fix() { // already converted if (!adt.Valid || !obj.Valid || !tex.Valid || adt.ReadUInt(0x18) > 0) { return(false); } // Update the version adt.WriteInt(8, 12); CreateMCIN(); if (adt.HasChunk("MTEX")) { RetrieveMTEX(); } if (adt.HasChunk("MMDX")) { RetrieveMMDX(); } if (tex.HasChunk("MDID") && tex.HasChunk("MHID")) //< Textures. { RetrieveTextures(); WriteMTEX(); } if (obj.HasChunk("MMID") && obj.HasChunk("MWMO") && obj.HasChunk("MWID")) { RetrieveMMID(); RetrieveMWMO(); RetrieveMWID(); } if (obj.HasChunk("MDDF") && obj.HasChunk("MODF")) { } CheckMH2O(); for (int i = 0; i < 256; ++i) { RetrieveMCNK(i); } CheckMFBO(); RetrieveMTXF(); return(true); }