diff --git a/build/osx/polyimport/polyimport.xcodeproj/project.pbxproj b/build/osx/polyimport/polyimport.xcodeproj/project.pbxproj index 50e402910..53cbf7a2c 100644 --- a/build/osx/polyimport/polyimport.xcodeproj/project.pbxproj +++ b/build/osx/polyimport/polyimport.xcodeproj/project.pbxproj @@ -7,9 +7,9 @@ objects = { /* Begin PBXBuildFile section */ + 763EA67C1D55847F003CD4EB /* libarchive.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 763EA67B1D55847F003CD4EB /* libarchive.a */; }; 8AA42A941D135B5200007A63 /* polyimport.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AA42A931D135B5200007A63 /* polyimport.cpp */; }; - 8AA42AA21D135B6C00007A63 /* libarchive.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 8AA42A951D135B6C00007A63 /* libarchive.a */; }; - 8AA42AA31D135B6C00007A63 /* libassimp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 8AA42A961D135B6C00007A63 /* libassimp.a */; }; + 8AA42AA21D135B6C00007A63 /* libassimp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 8AA42A951D135B6C00007A63 /* libassimp.a */; }; 8AA42AA41D135B6C00007A63 /* libfreetype.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 8AA42A971D135B6C00007A63 /* libfreetype.a */; }; 8AA42AA51D135B6C00007A63 /* liblibogg.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 8AA42A981D135B6C00007A63 /* liblibogg.a */; }; 8AA42AA61D135B6C00007A63 /* liblibvorbis.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 8AA42A991D135B6C00007A63 /* liblibvorbis.a */; }; @@ -42,20 +42,20 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ + 763EA67B1D55847F003CD4EB /* libarchive.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libarchive.a; path = ../../../lib/osx/libarchive.a; sourceTree = ""; }; 8AA42A931D135B5200007A63 /* polyimport.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = polyimport.cpp; path = ../../../src/tools/polyimport.cpp; sourceTree = SOURCE_ROOT; }; - 8AA42A951D135B6C00007A63 /* libarchive.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libarchive.a; path = ../../../../lib/osx/libarchive.a; sourceTree = ""; }; - 8AA42A961D135B6C00007A63 /* libassimp.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libassimp.a; path = ../../../../lib/osx/libassimp.a; sourceTree = ""; }; - 8AA42A971D135B6C00007A63 /* libfreetype.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libfreetype.a; path = ../../../../lib/osx/libfreetype.a; sourceTree = ""; }; - 8AA42A981D135B6C00007A63 /* liblibogg.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = liblibogg.a; path = ../../../../lib/osx/liblibogg.a; sourceTree = ""; }; - 8AA42A991D135B6C00007A63 /* liblibvorbis.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = liblibvorbis.a; path = ../../../../lib/osx/liblibvorbis.a; sourceTree = ""; }; - 8AA42A9A1D135B6C00007A63 /* liblibvorbisfile.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = liblibvorbisfile.a; path = ../../../../lib/osx/liblibvorbisfile.a; sourceTree = ""; }; - 8AA42A9B1D135B6C00007A63 /* libLinearMath.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libLinearMath.a; path = ../../../../lib/osx/libLinearMath.a; sourceTree = ""; }; - 8AA42A9C1D135B6C00007A63 /* liblua.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = liblua.a; path = ../../../../lib/osx/liblua.a; sourceTree = ""; }; - 8AA42A9D1D135B6C00007A63 /* libphysfs.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libphysfs.a; path = ../../../../lib/osx/libphysfs.a; sourceTree = ""; }; - 8AA42A9E1D135B6C00007A63 /* libPolycodeUI.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libPolycodeUI.a; path = ../../../../lib/osx/libPolycodeUI.a; sourceTree = ""; }; - 8AA42A9F1D135B6C00007A63 /* libPolycore.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libPolycore.a; path = ../../../../lib/osx/libPolycore.a; sourceTree = ""; }; - 8AA42AA01D135B6C00007A63 /* libportaudio.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libportaudio.a; path = ../../../../lib/osx/libportaudio.a; sourceTree = ""; }; - 8AA42AA11D135B6C00007A63 /* libz.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libz.a; path = ../../../../lib/osx/libz.a; sourceTree = ""; }; + 8AA42A951D135B6C00007A63 /* libassimp.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libassimp.a; path = ../../../lib/osx/libassimp.a; sourceTree = ""; }; + 8AA42A971D135B6C00007A63 /* libfreetype.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libfreetype.a; path = ../../../lib/osx/libfreetype.a; sourceTree = ""; }; + 8AA42A981D135B6C00007A63 /* liblibogg.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = liblibogg.a; path = ../../../lib/osx/liblibogg.a; sourceTree = ""; }; + 8AA42A991D135B6C00007A63 /* liblibvorbis.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = liblibvorbis.a; path = ../../../lib/osx/liblibvorbis.a; sourceTree = ""; }; + 8AA42A9A1D135B6C00007A63 /* liblibvorbisfile.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = liblibvorbisfile.a; path = ../../../lib/osx/liblibvorbisfile.a; sourceTree = ""; }; + 8AA42A9B1D135B6C00007A63 /* libLinearMath.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libLinearMath.a; path = ../../../lib/osx/libLinearMath.a; sourceTree = ""; }; + 8AA42A9C1D135B6C00007A63 /* liblua.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = liblua.a; path = ../../../lib/osx/liblua.a; sourceTree = ""; }; + 8AA42A9D1D135B6C00007A63 /* libphysfs.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libphysfs.a; path = ../../../lib/osx/libphysfs.a; sourceTree = ""; }; + 8AA42A9E1D135B6C00007A63 /* libPolycodeUI.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libPolycodeUI.a; path = ../../../lib/osx/libPolycodeUI.a; sourceTree = ""; }; + 8AA42A9F1D135B6C00007A63 /* libPolycore.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libPolycore.a; path = ../../../lib/osx/libPolycore.a; sourceTree = ""; }; + 8AA42AA01D135B6C00007A63 /* libportaudio.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libportaudio.a; path = ../../../lib/osx/libportaudio.a; sourceTree = ""; }; + 8AA42AA11D135B6C00007A63 /* libz.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libz.a; path = ../../../lib/osx/libz.a; sourceTree = ""; }; 8AA42AAF1D135BBF00007A63 /* polyimport.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = polyimport.h; path = ../../../include/polycode/tools/polyimport.h; sourceTree = SOURCE_ROOT; }; 8AE1F6AB1CB82FBD0001557D /* polyimport */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = polyimport; sourceTree = BUILT_PRODUCTS_DIR; }; 8AE1F6ED1CB83C850001557D /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; }; @@ -71,6 +71,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 763EA67C1D55847F003CD4EB /* libarchive.a in Frameworks */, 8AA42AA71D135B6C00007A63 /* liblibvorbisfile.a in Frameworks */, 8AA42AA81D135B6C00007A63 /* libLinearMath.a in Frameworks */, 8AA42AAB1D135B6C00007A63 /* libPolycodeUI.a in Frameworks */, @@ -79,7 +80,7 @@ 8AE1F6FA1CB83CE10001557D /* AudioUnit.framework in Frameworks */, 8AA42AAC1D135B6C00007A63 /* libPolycore.a in Frameworks */, 8AA42AA41D135B6C00007A63 /* libfreetype.a in Frameworks */, - 8AA42AA21D135B6C00007A63 /* libarchive.a in Frameworks */, + 8AA42AA21D135B6C00007A63 /* libassimp.a in Frameworks */, 8AE1F6F81CB83CD80001557D /* CoreAudio.framework in Frameworks */, 8AA42AAD1D135B6C00007A63 /* libportaudio.a in Frameworks */, 8AA42AA51D135B6C00007A63 /* liblibogg.a in Frameworks */, @@ -87,7 +88,6 @@ 8AE1F6F41CB83CC20001557D /* IOKit.framework in Frameworks */, 8AA42AA91D135B6C00007A63 /* liblua.a in Frameworks */, 8AE1F6F01CB83C8B0001557D /* OpenGL.framework in Frameworks */, - 8AA42AA31D135B6C00007A63 /* libassimp.a in Frameworks */, 8AA42AAA1D135B6C00007A63 /* libphysfs.a in Frameworks */, 8AE1F6EE1CB83C850001557D /* Cocoa.framework in Frameworks */, ); @@ -121,8 +121,8 @@ 8AE1F6AD1CB82FBD0001557D /* polyimport */ = { isa = PBXGroup; children = ( - 8AA42A951D135B6C00007A63 /* libarchive.a */, - 8AA42A961D135B6C00007A63 /* libassimp.a */, + 763EA67B1D55847F003CD4EB /* libarchive.a */, + 8AA42A951D135B6C00007A63 /* libassimp.a */, 8AA42A971D135B6C00007A63 /* libfreetype.a */, 8AA42A981D135B6C00007A63 /* liblibogg.a */, 8AA42A991D135B6C00007A63 /* liblibvorbis.a */, @@ -314,6 +314,7 @@ 8AE1F6B31CB82FBD0001557D /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { + CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; PRODUCT_NAME = "$(TARGET_NAME)"; SYMROOT = build; }; @@ -322,6 +323,7 @@ 8AE1F6B41CB82FBD0001557D /* Release */ = { isa = XCBuildConfiguration; buildSettings = { + CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; PRODUCT_NAME = "$(TARGET_NAME)"; SYMROOT = build; }; diff --git a/src/tools/polyimport.cpp b/src/tools/polyimport.cpp index 9f337c848..2aad20293 100644 --- a/src/tools/polyimport.cpp +++ b/src/tools/polyimport.cpp @@ -65,7 +65,7 @@ aiMatrix4x4 getFullTransform(const struct aiNode *nd) { } } -void addToMesh(String prefix, Polycode::Mesh *tmesh, const struct aiScene *sc, const struct aiNode* nd, bool swapZY, bool addSubmeshes, bool listOnly, ObjectEntry *parentSceneObject, String overrideMaterial, ObjectEntry *materialsParent, String assetPrefixPath, String baseFileName) { +void addToMesh(Core* core, String prefix, Polycode::Mesh *tmesh, const struct aiScene *sc, const struct aiNode* nd, bool swapZY, bool addSubmeshes, bool listOnly, ObjectEntry *parentSceneObject, String overrideMaterial, ObjectEntry *materialsParent, String assetPrefixPath, String baseFileName) { int i, nIgnoredPolygons = 0; unsigned int n = 0, t; // draw all meshes assigned to this node @@ -205,7 +205,7 @@ void addToMesh(String prefix, Polycode::Mesh *tmesh, const struct aiScene *sc, c Mesh *nmesh = new Polycode::Mesh(); nmesh->addSubmesh(geometry); - nmesh->saveToFile(fileNameMesh, writeNormals, writeTangents, writeColors, writeBoneWeights, writeUVs, writeSecondaryUVs); + nmesh->saveToFile(core, fileNameMesh, writeNormals, writeTangents, writeColors, writeBoneWeights, writeUVs, writeSecondaryUVs); delete nmesh; ObjectEntry *meshEntry = parentSceneObject->addChild("child"); @@ -313,7 +313,7 @@ void addToMesh(String prefix, Polycode::Mesh *tmesh, const struct aiScene *sc, c // draw all children for (n = 0; n < nd->mNumChildren; ++n) { - addToMesh(prefix, tmesh, sc, nd->mChildren[n], swapZY, addSubmeshes, listOnly, parentSceneObject, overrideMaterial, materialsParent, assetPrefixPath, baseFileName); + addToMesh(core, prefix, tmesh, sc, nd->mChildren[n], swapZY, addSubmeshes, listOnly, parentSceneObject, overrideMaterial, materialsParent, assetPrefixPath, baseFileName); } } @@ -344,7 +344,7 @@ void addToISkeleton(ISkeleton *skel, IBone *parent, const struct aiScene *sc, co skel->addIBone(bone, getBoneID(bone->name)); } -int exportToFile(String prefix, bool swapZY, bool addSubmeshes, bool listOnly, bool exportEntity, bool generateMaterialFile, String overrideMaterial, String assetPrefixPath, String baseFileName) { +int exportToFile(Core* core, String prefix, bool swapZY, bool addSubmeshes, bool listOnly, bool exportEntity, bool generateMaterialFile, String overrideMaterial, String assetPrefixPath, String baseFileName) { Object materialObject; ObjectEntry *materialsParent = NULL;; @@ -388,7 +388,7 @@ int exportToFile(String prefix, bool swapZY, bool addSubmeshes, bool listOnly, b Polycode::Mesh *mesh = new Polycode::Mesh(); - addToMesh(prefix, mesh, scene, scene->mRootNode, swapZY, addSubmeshes, listOnly, children, overrideMaterial, materialsParent, assetPrefixPath, baseFileName); + addToMesh(core, prefix, mesh, scene, scene->mRootNode, swapZY, addSubmeshes, listOnly, children, overrideMaterial, materialsParent, assetPrefixPath, baseFileName); if(addSubmeshes) { @@ -402,7 +402,7 @@ int exportToFile(String prefix, bool swapZY, bool addSubmeshes, bool listOnly, b if(listOnly) { printf("%s\n", fileNameMesh.c_str()); } else { - mesh->saveToFile(fileNameMesh, writeNormals, writeTangents, writeColors, writeBoneWeights, writeUVs, writeSecondaryUVs); + mesh->saveToFile(core, fileNameMesh, writeNormals, writeTangents, writeColors, writeBoneWeights, writeUVs, writeSecondaryUVs); } } @@ -472,7 +472,7 @@ int exportToFile(String prefix, bool swapZY, bool addSubmeshes, bool listOnly, b String matFileName = baseFileName+".mat"; if(!listOnly && materialsParent) { - materialObject.saveToXML(matFileName); + materialObject.saveToXML(core, matFileName); } if(!listOnly && exportEntity) { @@ -486,7 +486,7 @@ int exportToFile(String prefix, bool swapZY, bool addSubmeshes, bool listOnly, b } String entityFileName = baseFileName+".entity"; - sceneObject.saveToXML(entityFileName); + sceneObject.saveToXML(core, entityFileName); } if(mesh) { @@ -654,7 +654,7 @@ int main(int argc, char **argv) { aiApplyPostProcessing(scene, aiProcess_GenSmoothNormals); } - exportToFile(prefix, swapZYAxis, addSubmeshes, listOnly, exportEntity, generateMaterialFile, overrideMaterial, assetPrefixPath, baseFileName); + exportToFile(core, prefix, swapZYAxis, addSubmeshes, listOnly, exportEntity, generateMaterialFile, overrideMaterial, assetPrefixPath, baseFileName); } else { printf("Error opening scene (%s)\n", aiGetErrorString()); }