diff --git a/src/mod_converter/mod_converter.cpp b/src/mod_converter/mod_converter.cpp index e31c206..1efe01e 100644 --- a/src/mod_converter/mod_converter.cpp +++ b/src/mod_converter/mod_converter.cpp @@ -39,7 +39,7 @@ using namespace std; bool silent = false; bool printMaxPolygonBlock = false; -cl::opt p(cl::Positional, cl::desc(""), cl::value_desc("file or directory"), cl::Required); +cl::opt p(cl::Positional, cl::desc(""), cl::value_desc("file or directory"), cl::Required); cl::opt all_formats("af", cl::desc("All formats (.obj, .fbx)")); cl::opt link_faces("lf", cl::desc("Link faces (default: true)"), cl::init(true)); @@ -79,7 +79,17 @@ auto read_model(const path &fn) { buffer b(read_file(fn)); model m; - m.load(b); + if (fn.extension() == ".mod") // single block file from m2 sdk viewer + { + block bl; + bl.h.name = fn.stem().u8string(); + bl.loadPayload(b); + m.blocks.push_back(bl); + } + else + { + m.load(b); + } if (link_faces) m.linkFaces();