diff --git a/Makefile b/Makefile index 63b15d7a..430f22a1 100644 --- a/Makefile +++ b/Makefile @@ -778,11 +778,24 @@ $(INSTALLDIR)/libassimp_.$(DLL): \ libs/assimp/code/AssetLib/X/XFileImporter.o \ libs/assimp/code/AssetLib/X/XFileParser.o \ libs/assimp/code/AssetLib/X3D/X3DImporter.o \ + libs/assimp/code/AssetLib/X3D/X3DGeoHelper.o \ + libs/assimp/code/AssetLib/X3D/X3DImporter_Geometry2D.o \ + libs/assimp/code/AssetLib/X3D/X3DImporter_Geometry3D.o \ + libs/assimp/code/AssetLib/X3D/X3DImporter_Group.o \ + libs/assimp/code/AssetLib/X3D/X3DImporter_Light.o \ + libs/assimp/code/AssetLib/X3D/X3DImporter_Metadata.o \ + libs/assimp/code/AssetLib/X3D/X3DImporter_Networking.o \ + libs/assimp/code/AssetLib/X3D/X3DImporter_Postprocess.o \ + libs/assimp/code/AssetLib/X3D/X3DImporter_Rendering.o \ + libs/assimp/code/AssetLib/X3D/X3DImporter_Shape.o \ + libs/assimp/code/AssetLib/X3D/X3DImporter_Texturing.o \ + libs/assimp/code/AssetLib/X3D/X3DXmlHelper.o \ libs/assimp/code/AssetLib/glTF/glTFCommon.o \ libs/assimp/code/AssetLib/glTF/glTFImporter.o \ libs/assimp/code/AssetLib/glTF2/glTF2Importer.o \ libs/assimp/code/AssetLib/3MF/D3MFImporter.o \ libs/assimp/code/AssetLib/3MF/D3MFOpcPackage.o \ + libs/assimp/code/AssetLib/3MF/XmlSerializer.o \ libs/assimp/code/AssetLib/MMD/MMDImporter.o \ libs/assimp/code/AssetLib/MMD/MMDPmxParser.o \ libs/assimp/contrib/unzip/crypt.o \ diff --git a/libs/assimp/code/AssetLib/M3D/M3DWrapper.cpp b/libs/assimp/code/AssetLib/M3D/M3DWrapper.cpp index f2691289..a589209d 100644 --- a/libs/assimp/code/AssetLib/M3D/M3DWrapper.cpp +++ b/libs/assimp/code/AssetLib/M3D/M3DWrapper.cpp @@ -40,7 +40,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ---------------------------------------------------------------------- */ #ifndef ASSIMP_BUILD_NO_M3D_IMPORTER -#if !(ASSIMP_BUILD_NO_EXPORT || ASSIMP_BUILD_NO_M3D_EXPORTER) +// #if !(ASSIMP_BUILD_NO_EXPORT || ASSIMP_BUILD_NO_M3D_EXPORTER) #include "M3DWrapper.h" @@ -148,5 +148,5 @@ void M3DWrapper::ClearSave() { } } // namespace Assimp -#endif +// #endif #endif diff --git a/libs/assimp/code/AssetLib/M3D/M3DWrapper.h b/libs/assimp/code/AssetLib/M3D/M3DWrapper.h index 547dac1d..80db9e01 100644 --- a/libs/assimp/code/AssetLib/M3D/M3DWrapper.h +++ b/libs/assimp/code/AssetLib/M3D/M3DWrapper.h @@ -48,7 +48,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #define AI_M3DWRAPPER_H_INC #ifndef ASSIMP_BUILD_NO_M3D_IMPORTER -#if !(ASSIMP_BUILD_NO_EXPORT || ASSIMP_BUILD_NO_M3D_EXPORTER) +// #if !(ASSIMP_BUILD_NO_EXPORT || ASSIMP_BUILD_NO_M3D_EXPORTER) #include #include @@ -128,7 +128,7 @@ inline m3d_t *M3DWrapper::M3D() const { } // namespace Assimp -#endif +// #endif #endif // ASSIMP_BUILD_NO_M3D_IMPORTER #endif // AI_M3DWRAPPER_H_INC diff --git a/libs/assimp/include/assimp/config.h b/libs/assimp/include/assimp/config.h index 97e70b32..41b027b0 100644 --- a/libs/assimp/include/assimp/config.h +++ b/libs/assimp/include/assimp/config.h @@ -547,6 +547,15 @@ enum aiComponent // Various stuff to fine-tune the behaviour of specific importer plugins. // ########################################################################### +// --------------------------------------------------------------------------- +/** @brief Importers which parse JSON may use this to obtain a pointer to a + * rapidjson::IRemoteSchemaDocumentProvider. + * + * The default value is nullptr + * Property type: void* + */ +#define AI_CONFIG_IMPORT_SCHEMA_DOCUMENT_PROVIDER \ + "IMPORT_SCHEMA_DOCUMENT_PROVIDER" // --------------------------------------------------------------------------- /** @brief Set whether the fbx importer will merge all geometry layers present @@ -1075,6 +1084,23 @@ enum aiComponent */ #define AI_CONFIG_EXPORT_POINT_CLOUDS "EXPORT_POINT_CLOUDS" +/** + * @brief Specifies the blob name, assimp uses for exporting. + * + * Some formats require auxiliary files to be written, that need to be linked back into + * the original file. For example, OBJ files export materials to a separate MTL file and + * use the `mtllib` keyword to reference this file. + * + * When exporting blobs using #ExportToBlob, assimp does not know the name of the blob + * file and thus outputs `mtllib $blobfile.mtl`, which might not be desired, since the + * MTL file might be called differently. + * + * This property can be used to give the exporter a hint on how to use the magic + * `$blobfile` keyword. If the exporter detects the keyword and is provided with a name + * for the blob, it instead uses this name. + */ +#define AI_CONFIG_EXPORT_BLOB_NAME "EXPORT_BLOB_NAME" + /** * @brief Specifies a gobal key factor for scale, float value */ diff --git a/plugins/assmodel/plugin.cpp b/plugins/assmodel/plugin.cpp index e4965f2c..367fc3c5 100644 --- a/plugins/assmodel/plugin.cpp +++ b/plugins/assmodel/plugin.cpp @@ -344,18 +344,16 @@ AI_CONFIG_IMPORT_GLOBAL_KEYFRAME // vertex anim frame to load fbx orientation fix https://github.com/assimp/assimp/issues/849 ? aiProcess_GenSmoothNormals //if it does not join disconnected verts "ase ask" asc? // 'c' check in the code -crashes: irr irrmesh !lwo/lwo2/UglyVertexColors.lwo !cube_normals.m3d !regr01.obj !openGEX triangle_with_empty_solid.stl ter x3d invalid -crashes: irr !pk3 x3d - //x3d: File extension not known, trying signature-based detection //not implemented +crashes: !regr01.obj !openGEX et mdc 0 + weapons2/thompson crash hl mdl flipped faces + texture hl mdl multiple texs, number of fails in models/ hl spr 'models'? mdl# flipped normals -q4 lwo, *.md5mesh: mat name should be preferred + q4 lwo, *.md5mesh: mat name should be preferred // done so due to models/ textures/ prefix *.3d;*.3ds;*.3mf;*.ac;*.ac3d;*.acc;*.amf;*.ase;*.ask;*.assbin;*.b3d;*.blend;*.bvh;*.cob;*.csm;*.dae;*.dxf;*.enff;*.fbx;*.glb;*.gltf;*.hmp;*.ifc;*.ifczip;*.irr;*.irrmesh;*.lwo;*.lws;*.lxo;*.m3d;*.md2;*.md3;*.md5anim;*.md5camera;*.md5mesh;*.mdc;*.mdl;*.mesh;*.mesh.xml;*.mot;*.ms3d;*.ndo;*.nff;*.obj;*.off;*.ogex;*.pk3;*.ply;*.pmx;*.prj;*.q3o;*.q3s;*.raw;*.scn;*.sib;*.smd;*.stl;*.stp;*.ter;*.uc;*.vta;*.x;*.x3d;*.x3db;*.xgl;*.xml;*.zae;*.zgl Enabled importer formats: AMF 3DS AC ASE ASSBIN B3D BVH COLLADA DXF CSM HMP IRRMESH IRR LWO LWS M3D MD2 MD3 MD5 MDC MDL NFF NDO OFF OBJ OGRE OPENGEX PLY MS3D COB BLEND IFC XGL FBX Q3D Q3BSP RAW SIB SMD STL TERRAGEN 3D X X3D GLTF 3MF MMD -_minus: pk3 md5anim md5camera ogex +_minus: bsp pk3 md5anim md5camera ogex old list: md2 md3 ase lwo obj 3ds picoterrain mdl md5mesh ms3d fm -DNDEBUG disable crashy loaders