diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 91b3b3b..b69879e 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -21,12 +21,21 @@ file(GLOB mmp_extractor_src "mmp_extractor/*") add_executable(mmp_extractor ${mmp_extractor_src}) target_link_libraries(mmp_extractor common) -file(GLOB mod_converter_src "mod_converter/*") -add_executable(mod_converter ${mod_converter_src}) -target_link_libraries(mod_converter - common - pvt.cppan.demo.eigen -) +if (DEFINED FBX_SDK_ROOT) + file(GLOB mod_converter_src "mod_converter/*") + add_executable(mod_converter ${mod_converter_src}) + target_link_libraries(mod_converter + common + #pvt.cppan.demo.eigen + debug "${FBX_SDK_ROOT}/lib/vs2015/x86/debug/libfbxsdk.lib" + optimized "${FBX_SDK_ROOT}/lib/vs2015/x86/release/libfbxsdk.lib" + ) + target_include_directories(mod_converter + PUBLIC "${FBX_SDK_ROOT}/include" + ) +else() + message(STATUS "provide fbx sdk path to build mod converter") +endif() file(GLOB mpj_loader_src "mpj_loader/*") add_executable(mpj_loader ${mpj_loader_src}) diff --git a/src/mod_converter/mod_converter.cpp b/src/mod_converter/mod_converter.cpp index f1c18ee..3f088b6 100644 --- a/src/mod_converter/mod_converter.cpp +++ b/src/mod_converter/mod_converter.cpp @@ -85,6 +85,7 @@ void convert_model(string fn) // write all m.print(filename); + m.printFbx(filename); return; // write obj and mtl diff --git a/src/mod_converter/model.cpp b/src/mod_converter/model.cpp index d5f367a..734c090 100644 --- a/src/mod_converter/model.cpp +++ b/src/mod_converter/model.cpp @@ -27,6 +27,8 @@ #include +#include + //#include //#include @@ -324,7 +326,7 @@ std::string block::printObj(int group_offset, bool rotate_x_90) const x += "/" + x + "/" + x; y += "/" + y + "/" + y; z += "/" + z + "/" + z; - s += "f " + x + " " + y + " " + z + "\n"; + s += "f " + x + " " + z + " " + y + "\n"; } } diff --git a/src/mod_converter/model.h b/src/mod_converter/model.h index a4a2a63..922649b 100644 --- a/src/mod_converter/model.h +++ b/src/mod_converter/model.h @@ -249,4 +249,5 @@ struct model void load(const buffer &b); void print(const std::string &fn); + void printFbx(const std::string &fn); };