From f498a395e4a52b6a73d2394a2320337d6d684a60 Mon Sep 17 00:00:00 2001 From: RichardTea <31507749+RichardTea@users.noreply.github.com> Date: Mon, 9 Dec 2019 14:05:41 +0000 Subject: [PATCH 001/105] Add common metadata to Collada Also add AI_METADATA_SOURCE_COPYRIGHT common metadata --- code/CMakeLists.txt | 2 + code/Collada/ColladaExporter.cpp | 5 +- code/Collada/ColladaHelper.cpp | 65 ++++++++++++++++ code/Collada/ColladaHelper.h | 5 ++ code/Collada/ColladaParser.cpp | 47 ++++++++---- code/Collada/ColladaParser.h | 4 +- include/assimp/commonMetaData.h | 4 + test/unit/utColladaImportExport.cpp | 111 ++++++++++++++++------------ 8 files changed, 176 insertions(+), 67 deletions(-) create mode 100644 code/Collada/ColladaHelper.cpp diff --git a/code/CMakeLists.txt b/code/CMakeLists.txt index 85aa620d9..8bad9365d 100644 --- a/code/CMakeLists.txt +++ b/code/CMakeLists.txt @@ -66,6 +66,7 @@ SET( PUBLIC_HEADERS ${HEADER_PATH}/color4.h ${HEADER_PATH}/color4.inl ${CMAKE_CURRENT_BINARY_DIR}/../include/assimp/config.h + ${HEADER_PATH}/commonMetaData.h ${HEADER_PATH}/defs.h ${HEADER_PATH}/Defines.h ${HEADER_PATH}/cfileio.h @@ -348,6 +349,7 @@ ADD_ASSIMP_IMPORTER( BVH ) ADD_ASSIMP_IMPORTER( COLLADA + Collada/ColladaHelper.cpp Collada/ColladaHelper.h Collada/ColladaLoader.cpp Collada/ColladaLoader.h diff --git a/code/Collada/ColladaExporter.cpp b/code/Collada/ColladaExporter.cpp index a93dfa59a..3e63990b8 100644 --- a/code/Collada/ColladaExporter.cpp +++ b/code/Collada/ColladaExporter.cpp @@ -45,6 +45,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include "ColladaExporter.h" #include +#include #include #include #include @@ -277,7 +278,7 @@ void ColladaExporter::WriteHeader() { mOutput << startstr << "" << XMLEscape(value.C_Str()) << "" << endstr; } - if (nullptr == meta || !meta->Get("AuthoringTool", value)) { + if (nullptr == meta || !meta->Get(AI_METADATA_SOURCE_GENERATOR, value)) { mOutput << startstr << "" << "Assimp Exporter" << "" << endstr; } else { mOutput << startstr << "" << XMLEscape(value.C_Str()) << "" << endstr; @@ -287,7 +288,7 @@ void ColladaExporter::WriteHeader() { if (meta->Get("Comments", value)) { mOutput << startstr << "" << XMLEscape(value.C_Str()) << "" << endstr; } - if (meta->Get("Copyright", value)) { + if (meta->Get(AI_METADATA_SOURCE_COPYRIGHT, value)) { mOutput << startstr << "" << XMLEscape(value.C_Str()) << "" << endstr; } if (meta->Get("SourceData", value)) { diff --git a/code/Collada/ColladaHelper.cpp b/code/Collada/ColladaHelper.cpp new file mode 100644 index 000000000..3a22d4db3 --- /dev/null +++ b/code/Collada/ColladaHelper.cpp @@ -0,0 +1,65 @@ +/** Helper structures for the Collada loader */ + +/* +Open Asset Import Library (assimp) +---------------------------------------------------------------------- + +Copyright (c) 2006-2019, assimp team + + +All rights reserved. + +Redistribution and use of this software in source and binary forms, +with or without modification, are permitted provided that the +following conditions are met: + +* Redistributions of source code must retain the above +copyright notice, this list of conditions and the +following disclaimer. + +* Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the +following disclaimer in the documentation and/or other +materials provided with the distribution. + +* Neither the name of the assimp team, nor the names of its +contributors may be used to endorse or promote products +derived from this software without specific prior +written permission of the assimp team. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +---------------------------------------------------------------------- +*/ + +#include "ColladaHelper.h" + +#include + +namespace Assimp { +namespace Collada { + +const MetaKeyPairVector MakeColladaAssimpMetaKeys() { + MetaKeyPairVector result; + result.emplace_back("authoring_tool", AI_METADATA_SOURCE_GENERATOR); + result.emplace_back("copyright", AI_METADATA_SOURCE_COPYRIGHT); + return result; +}; + +const MetaKeyPairVector &GetColladaAssimpMetaKeys() { + static const MetaKeyPairVector result = MakeColladaAssimpMetaKeys(); + return result; +} + +} // namespace Collada +} // namespace Assimp diff --git a/code/Collada/ColladaHelper.h b/code/Collada/ColladaHelper.h index b7d47da15..f9968f162 100644 --- a/code/Collada/ColladaHelper.h +++ b/code/Collada/ColladaHelper.h @@ -104,6 +104,11 @@ enum MorphMethod Relative }; +/** Common metadata keys as */ +typedef std::pair MetaKeyPair; +typedef std::vector MetaKeyPairVector; + +const MetaKeyPairVector &GetColladaAssimpMetaKeys(); /** Contains all data for one of the different transformation types */ struct Transform diff --git a/code/Collada/ColladaParser.cpp b/code/Collada/ColladaParser.cpp index e2e6626c3..1b5b3b4d6 100644 --- a/code/Collada/ColladaParser.cpp +++ b/code/Collada/ColladaParser.cpp @@ -50,6 +50,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include #include #include "ColladaParser.h" +#include #include #include #include @@ -276,6 +277,9 @@ void ColladaParser::ReadContents() if (attrib != -1) { const char* version = mReader->getAttributeValue(attrib); + // Store declared format version string + mAssetMetaData.emplace(AI_METADATA_SOURCE_FORMAT_VERSION, version); + if (!::strncmp(version, "1.5", 3)) { mFormat = FV_1_5_n; ASSIMP_LOG_DEBUG("Collada schema version is 1.5.n"); @@ -399,7 +403,7 @@ void ColladaParser::ReadAssetInfo() } else { - ReadMetaDataItem(mAssetMetaData); + ReadMetaDataItem(mAssetMetaData, GetColladaAssimpMetaKeys()); } } else if (mReader->getNodeType() == irr::io::EXN_ELEMENT_END) @@ -423,7 +427,7 @@ void ColladaParser::ReadContributorInfo() { if (mReader->getNodeType() == irr::io::EXN_ELEMENT) { - ReadMetaDataItem(mAssetMetaData); + ReadMetaDataItem(mAssetMetaData, GetColladaAssimpMetaKeys()); } else if (mReader->getNodeType() == irr::io::EXN_ELEMENT_END) { @@ -434,23 +438,36 @@ void ColladaParser::ReadContributorInfo() } } +bool FindCommonKey(const char *collada_key, const MetaKeyPairVector &key_renaming, size_t &found_index) { + for (size_t i = 0; i < key_renaming.size(); ++i) { + if (strcmp(key_renaming[i].first, collada_key) == 0) { + found_index = i; + return true; + } + } + return false; +} + // ------------------------------------------------------------------------------------------------ // Reads a single string metadata item -void ColladaParser::ReadMetaDataItem(StringMetaData &metadata) -{ - // Metadata such as created, keywords, subject etc - const char* key_char = mReader->getNodeName(); - if (key_char != nullptr) - { +void ColladaParser::ReadMetaDataItem(StringMetaData &metadata, const MetaKeyPairVector &key_renaming) { + // Metadata such as created, keywords, subject etc + const char *key_char = mReader->getNodeName(); + if (key_char != nullptr) { const std::string key_str(key_char); - const char* value_char = TestTextContent(); - if (value_char != nullptr) - { - std::string camel_key_str = key_str; - ToCamelCase(camel_key_str); + const char *value_char = TestTextContent(); + if (value_char != nullptr) { aiString aistr; - aistr.Set(value_char); - metadata.emplace(camel_key_str, aistr); + aistr.Set(value_char); + + size_t found_index; + if (FindCommonKey(key_str.c_str(), key_renaming, found_index)) { + metadata.emplace(key_renaming[found_index].second, aistr); + } else { + std::string camel_key_str(key_str); + ToCamelCase(camel_key_str); + metadata.emplace(camel_key_str, aistr); + } } TestClosing(key_str.c_str()); } diff --git a/code/Collada/ColladaParser.h b/code/Collada/ColladaParser.h index 4e8c8fccf..57d644aef 100644 --- a/code/Collada/ColladaParser.h +++ b/code/Collada/ColladaParser.h @@ -94,8 +94,8 @@ namespace Assimp /** Reads contributor information such as author and legal blah */ void ReadContributorInfo(); - /** Reads generic metadata into provided map */ - void ReadMetaDataItem(StringMetaData &metadata); + /** Reads generic metadata into provided map and renames keys for Assimp */ + void ReadMetaDataItem(StringMetaData &metadata, const Collada::MetaKeyPairVector &key_renaming); /** Convert underscore_seperated to CamelCase "authoring_tool" becomes "AuthoringTool" */ static void ToCamelCase(std::string &text); diff --git a/include/assimp/commonMetaData.h b/include/assimp/commonMetaData.h index 1e176725e..cca21ed2a 100644 --- a/include/assimp/commonMetaData.h +++ b/include/assimp/commonMetaData.h @@ -60,4 +60,8 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. /// Not all formats add this metadata. #define AI_METADATA_SOURCE_GENERATOR "SourceAsset_Generator" +/// Scene metadata holding the source asset copyright statement, if available. +/// Not all formats add this metadata. +#define AI_METADATA_SOURCE_COPYRIGHT "SourceAsset_Copyright" + #endif diff --git a/test/unit/utColladaImportExport.cpp b/test/unit/utColladaImportExport.cpp index 8bce3a3dd..1350d3607 100644 --- a/test/unit/utColladaImportExport.cpp +++ b/test/unit/utColladaImportExport.cpp @@ -40,76 +40,91 @@ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------- */ -#include "UnitTestPCH.h" #include "AbstractImportExportBase.h" +#include "UnitTestPCH.h" -#include -#include +#include #include +#include +#include using namespace Assimp; class utColladaImportExport : public AbstractImportExportBase { public: - virtual bool importerTest() { - Assimp::Importer importer; - const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/Collada/duck.dae", aiProcess_ValidateDataStructure); - if (scene == nullptr) - return false; + virtual bool importerTest() { + Assimp::Importer importer; + const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/Collada/duck.dae", aiProcess_ValidateDataStructure); + if (scene == nullptr) + return false; - // Expected number of items - EXPECT_EQ(scene->mNumMeshes, 1u); - EXPECT_EQ(scene->mNumMaterials, 1u); - EXPECT_EQ(scene->mNumAnimations, 0u); - EXPECT_EQ(scene->mNumTextures, 0u); - EXPECT_EQ(scene->mNumLights, 1u); - EXPECT_EQ(scene->mNumCameras, 1u); + // Expected number of items + EXPECT_EQ(scene->mNumMeshes, 1u); + EXPECT_EQ(scene->mNumMaterials, 1u); + EXPECT_EQ(scene->mNumAnimations, 0u); + EXPECT_EQ(scene->mNumTextures, 0u); + EXPECT_EQ(scene->mNumLights, 1u); + EXPECT_EQ(scene->mNumCameras, 1u); - return true; - } + // Expected common metadata + aiString value; + EXPECT_TRUE(scene->mMetaData->Get(AI_METADATA_SOURCE_FORMAT, value)) << "No importer format metadata"; + EXPECT_STREQ("Collada Importer", value.C_Str()); + + EXPECT_TRUE(scene->mMetaData->Get(AI_METADATA_SOURCE_FORMAT_VERSION, value)) << "No format version metadata"; + EXPECT_STREQ("1.4.1", value.C_Str()); + + EXPECT_TRUE(scene->mMetaData->Get(AI_METADATA_SOURCE_GENERATOR, value)) << "No generator metadata"; + EXPECT_EQ(strncmp(value.C_Str(), "Maya 8.0", 8), 0) << "AI_METADATA_SOURCE_GENERATOR was: " << value.C_Str(); + + EXPECT_TRUE(scene->mMetaData->Get(AI_METADATA_SOURCE_COPYRIGHT, value)); + EXPECT_EQ(strncmp(value.C_Str(), "Copyright 2006", 14), 0) << "AI_METADATA_SOURCE_COPYRIGHT was: " << value.C_Str(); + + return true; + } }; TEST_F(utColladaImportExport, importBlenFromFileTest) { - EXPECT_TRUE(importerTest()); + EXPECT_TRUE(importerTest()); } class utColladaZaeImportExport : public AbstractImportExportBase { public: - virtual bool importerTest() { - { - Assimp::Importer importer; - const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/Collada/duck.zae", aiProcess_ValidateDataStructure); - if (scene == nullptr) - return false; + virtual bool importerTest() { + { + Assimp::Importer importer; + const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/Collada/duck.zae", aiProcess_ValidateDataStructure); + if (scene == nullptr) + return false; - // Expected number of items - EXPECT_EQ(scene->mNumMeshes, 1u); - EXPECT_EQ(scene->mNumMaterials, 1u); - EXPECT_EQ(scene->mNumAnimations, 0u); - EXPECT_EQ(scene->mNumTextures, 1u); - EXPECT_EQ(scene->mNumLights, 1u); - EXPECT_EQ(scene->mNumCameras, 1u); - } + // Expected number of items + EXPECT_EQ(scene->mNumMeshes, 1u); + EXPECT_EQ(scene->mNumMaterials, 1u); + EXPECT_EQ(scene->mNumAnimations, 0u); + EXPECT_EQ(scene->mNumTextures, 1u); + EXPECT_EQ(scene->mNumLights, 1u); + EXPECT_EQ(scene->mNumCameras, 1u); + } - { - Assimp::Importer importer; - const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/Collada/duck_nomanifest.zae", aiProcess_ValidateDataStructure); - if (scene == nullptr) - return false; + { + Assimp::Importer importer; + const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/Collada/duck_nomanifest.zae", aiProcess_ValidateDataStructure); + if (scene == nullptr) + return false; - // Expected number of items - EXPECT_EQ(scene->mNumMeshes, 1u); - EXPECT_EQ(scene->mNumMaterials, 1u); - EXPECT_EQ(scene->mNumAnimations, 0u); - EXPECT_EQ(scene->mNumTextures, 1u); - EXPECT_EQ(scene->mNumLights, 1u); - EXPECT_EQ(scene->mNumCameras, 1u); - } + // Expected number of items + EXPECT_EQ(scene->mNumMeshes, 1u); + EXPECT_EQ(scene->mNumMaterials, 1u); + EXPECT_EQ(scene->mNumAnimations, 0u); + EXPECT_EQ(scene->mNumTextures, 1u); + EXPECT_EQ(scene->mNumLights, 1u); + EXPECT_EQ(scene->mNumCameras, 1u); + } - return true; - } + return true; + } }; TEST_F(utColladaZaeImportExport, importBlenFromFileTest) { - EXPECT_TRUE(importerTest()); + EXPECT_TRUE(importerTest()); } From 986b67801dd138c43de3e39593b92302405cde4b Mon Sep 17 00:00:00 2001 From: RichardTea <31507749+RichardTea@users.noreply.github.com> Date: Mon, 9 Dec 2019 14:30:12 +0000 Subject: [PATCH 002/105] Add Copyright common metadata to glTF importer/exporter Technically this only exists in glTF v2 but may as well include in both --- code/glTF/glTFAssetWriter.inl | 3 +++ code/glTF/glTFExporter.cpp | 7 +++++++ code/glTF/glTFImporter.cpp | 7 ++++++- code/glTF2/glTF2AssetWriter.inl | 2 ++ code/glTF2/glTF2Exporter.cpp | 7 +++++++ code/glTF2/glTF2Importer.cpp | 7 ++++++- 6 files changed, 31 insertions(+), 2 deletions(-) diff --git a/code/glTF/glTFAssetWriter.inl b/code/glTF/glTFAssetWriter.inl index a3c99a9a8..ed1f4c6bc 100644 --- a/code/glTF/glTFAssetWriter.inl +++ b/code/glTF/glTFAssetWriter.inl @@ -627,6 +627,9 @@ namespace glTF { asset.SetObject(); asset.AddMember("version", Value(mAsset.asset.version, mAl).Move(), mAl); asset.AddMember("generator", Value(mAsset.asset.generator, mAl).Move(), mAl); + if (!mAsset.asset.copyright.empty()) + asset.AddMember("copyright", Value(mAsset.asset.copyright, mAl).Move(), mAl); + mDoc.AddMember("asset", asset, mAl); } diff --git a/code/glTF/glTFExporter.cpp b/code/glTF/glTFExporter.cpp index 3faa1a84b..cf8ef974a 100644 --- a/code/glTF/glTFExporter.cpp +++ b/code/glTF/glTFExporter.cpp @@ -46,6 +46,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include "glTF/glTFAssetWriter.h" #include "PostProcessing/SplitLargeMeshes.h" +#include #include #include #include @@ -873,6 +874,12 @@ void glTFExporter::ExportMetadata() aiGetVersionMajor(), aiGetVersionMinor(), aiGetVersionRevision()); asset.generator = buffer; + + // Copyright + aiString copyright_str; + if (mScene->mMetaData->Get(AI_METADATA_SOURCE_COPYRIGHT, copyright_str)) { + asset.copyright = copyright_str.C_Str(); + } } inline void ExtractAnimationData(Asset& mAsset, std::string& animId, Ref& animRef, Ref& buffer, const aiNodeAnim* nodeChannel, float ticksPerSecond) diff --git a/code/glTF/glTFImporter.cpp b/code/glTF/glTFImporter.cpp index 59e7d9b92..9e743bf88 100644 --- a/code/glTF/glTFImporter.cpp +++ b/code/glTF/glTFImporter.cpp @@ -703,7 +703,8 @@ void glTFImporter::ImportCommonMetadata(glTF::Asset& a) ai_assert(mScene->mMetaData == nullptr); const bool hasVersion = !a.asset.version.empty(); const bool hasGenerator = !a.asset.generator.empty(); - if (hasVersion || hasGenerator) + const bool hasCopyright = !a.asset.copyright.empty(); + if (hasVersion || hasGenerator || hasCopyright) { mScene->mMetaData = new aiMetadata; if (hasVersion) @@ -714,6 +715,10 @@ void glTFImporter::ImportCommonMetadata(glTF::Asset& a) { mScene->mMetaData->Add(AI_METADATA_SOURCE_GENERATOR, aiString(a.asset.generator)); } + if (hasCopyright) + { + mScene->mMetaData->Add(AI_METADATA_SOURCE_COPYRIGHT, aiString(a.asset.copyright)); + } } } diff --git a/code/glTF2/glTF2AssetWriter.inl b/code/glTF2/glTF2AssetWriter.inl index 8ba4aa10b..ae69f3908 100644 --- a/code/glTF2/glTF2AssetWriter.inl +++ b/code/glTF2/glTF2AssetWriter.inl @@ -720,6 +720,8 @@ namespace glTF2 { asset.SetObject(); asset.AddMember("version", Value(mAsset.asset.version, mAl).Move(), mAl); asset.AddMember("generator", Value(mAsset.asset.generator, mAl).Move(), mAl); + if (!mAsset.asset.copyright.empty()) + asset.AddMember("copyright", Value(mAsset.asset.copyright, mAl).Move(), mAl); mDoc.AddMember("asset", asset, mAl); } diff --git a/code/glTF2/glTF2Exporter.cpp b/code/glTF2/glTF2Exporter.cpp index f85803b52..82f3907ef 100644 --- a/code/glTF2/glTF2Exporter.cpp +++ b/code/glTF2/glTF2Exporter.cpp @@ -46,6 +46,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include "glTF2/glTF2AssetWriter.h" #include "PostProcessing/SplitLargeMeshes.h" +#include #include #include #include @@ -996,6 +997,12 @@ void glTF2Exporter::ExportMetadata() aiGetVersionMajor(), aiGetVersionMinor(), aiGetVersionRevision()); asset.generator = buffer; + + // Copyright + aiString copyright_str; + if (mScene->mMetaData->Get(AI_METADATA_SOURCE_COPYRIGHT, copyright_str)) { + asset.copyright = copyright_str.C_Str(); + } } inline Ref GetSamplerInputRef(Asset& asset, std::string& animId, Ref& buffer, std::vector& times) diff --git a/code/glTF2/glTF2Importer.cpp b/code/glTF2/glTF2Importer.cpp index b14d68c27..4e3f111da 100644 --- a/code/glTF2/glTF2Importer.cpp +++ b/code/glTF2/glTF2Importer.cpp @@ -1306,7 +1306,8 @@ void glTF2Importer::ImportCommonMetadata(glTF2::Asset& a) { ai_assert(mScene->mMetaData == nullptr); const bool hasVersion = !a.asset.version.empty(); const bool hasGenerator = !a.asset.generator.empty(); - if (hasVersion || hasGenerator) + const bool hasCopyright = !a.asset.copyright.empty(); + if (hasVersion || hasGenerator || hasCopyright) { mScene->mMetaData = new aiMetadata; if (hasVersion) @@ -1317,6 +1318,10 @@ void glTF2Importer::ImportCommonMetadata(glTF2::Asset& a) { { mScene->mMetaData->Add(AI_METADATA_SOURCE_GENERATOR, aiString(a.asset.generator)); } + if (hasCopyright) + { + mScene->mMetaData->Add(AI_METADATA_SOURCE_COPYRIGHT, aiString(a.asset.copyright)); + } } } From 71d7ff63f5673df467ae86a9d55ffcefe51bbb28 Mon Sep 17 00:00:00 2001 From: Kim Kulling Date: Fri, 13 Dec 2019 08:25:45 +0100 Subject: [PATCH 003/105] Update ColladaHelper.cpp Add spaces instead of tabs. --- code/Collada/ColladaHelper.cpp | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/code/Collada/ColladaHelper.cpp b/code/Collada/ColladaHelper.cpp index 3a22d4db3..f19bb1047 100644 --- a/code/Collada/ColladaHelper.cpp +++ b/code/Collada/ColladaHelper.cpp @@ -6,7 +6,6 @@ Open Asset Import Library (assimp) Copyright (c) 2006-2019, assimp team - All rights reserved. Redistribution and use of this software in source and binary forms, @@ -50,15 +49,15 @@ namespace Assimp { namespace Collada { const MetaKeyPairVector MakeColladaAssimpMetaKeys() { - MetaKeyPairVector result; - result.emplace_back("authoring_tool", AI_METADATA_SOURCE_GENERATOR); + MetaKeyPairVector result; + result.emplace_back("authoring_tool", AI_METADATA_SOURCE_GENERATOR); result.emplace_back("copyright", AI_METADATA_SOURCE_COPYRIGHT); - return result; + return result; }; const MetaKeyPairVector &GetColladaAssimpMetaKeys() { - static const MetaKeyPairVector result = MakeColladaAssimpMetaKeys(); - return result; + static const MetaKeyPairVector result = MakeColladaAssimpMetaKeys(); + return result; } } // namespace Collada From 53bf442bebb54e57332a91aae749a70c18c48f08 Mon Sep 17 00:00:00 2001 From: Kim Kulling Date: Fri, 13 Dec 2019 08:30:40 +0100 Subject: [PATCH 004/105] Update ColladaParser.cpp Fix review findings. --- code/Collada/ColladaParser.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/code/Collada/ColladaParser.cpp b/code/Collada/ColladaParser.cpp index 1b5b3b4d6..1577c794a 100644 --- a/code/Collada/ColladaParser.cpp +++ b/code/Collada/ColladaParser.cpp @@ -438,13 +438,19 @@ void ColladaParser::ReadContributorInfo() } } -bool FindCommonKey(const char *collada_key, const MetaKeyPairVector &key_renaming, size_t &found_index) { +static bool FindCommonKey(const char *collada_key, const MetaKeyPairVector &key_renaming, size_t &found_index) { + found_index = 9999999u; + if ( nullptr == collada_key ) { + return false; + } + for (size_t i = 0; i < key_renaming.size(); ++i) { - if (strcmp(key_renaming[i].first, collada_key) == 0) { + if (strncmp(key_renaming[i].first, collada_key, strlen(collada_key)) == 0) { found_index = i; return true; } } + return false; } From 0ff04b97695b03c0824750b0c69c44057685e93a Mon Sep 17 00:00:00 2001 From: Kim Kulling Date: Fri, 13 Dec 2019 11:20:50 +0100 Subject: [PATCH 005/105] Update ColladaParser.cpp Fix the build and fix 2 possible nullptr dereferences. --- code/Collada/ColladaParser.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/code/Collada/ColladaParser.cpp b/code/Collada/ColladaParser.cpp index 1577c794a..df5a95c5b 100644 --- a/code/Collada/ColladaParser.cpp +++ b/code/Collada/ColladaParser.cpp @@ -250,6 +250,9 @@ void ColladaParser::UriDecodePath(aiString& ss) bool ColladaParser::ReadBoolFromTextContent() { const char* cur = GetTextContent(); + if ( nullptr == cur) { + return false; + } return (!ASSIMP_strincmp(cur, "true", 4) || '0' != *cur); } @@ -258,6 +261,9 @@ bool ColladaParser::ReadBoolFromTextContent() ai_real ColladaParser::ReadFloatFromTextContent() { const char* cur = GetTextContent(); + if ( nullptr == cur ) { + return 0.0; + } return fast_atof(cur); } @@ -278,7 +284,9 @@ void ColladaParser::ReadContents() const char* version = mReader->getAttributeValue(attrib); // Store declared format version string - mAssetMetaData.emplace(AI_METADATA_SOURCE_FORMAT_VERSION, version); + aiString v; + v.Set(version); + mAssetMetaData.emplace(AI_METADATA_SOURCE_FORMAT_VERSION, v ); if (!::strncmp(version, "1.5", 3)) { mFormat = FV_1_5_n; From 5ce373c312107589f32f541e6c91ee1e91bfbcb0 Mon Sep 17 00:00:00 2001 From: Felipeek Date: Sun, 29 Dec 2019 16:05:33 -0300 Subject: [PATCH 006/105] Don't combine Collada animations when channels are shared --- code/Collada/ColladaHelper.h | 26 ++++++++++++++++++++------ code/Collada/ColladaLoader.cpp | 26 +++++++++++++++++++++++--- 2 files changed, 43 insertions(+), 9 deletions(-) diff --git a/code/Collada/ColladaHelper.h b/code/Collada/ColladaHelper.h index b7d47da15..6c2154102 100644 --- a/code/Collada/ColladaHelper.h +++ b/code/Collada/ColladaHelper.h @@ -647,23 +647,37 @@ struct Animation void CombineSingleChannelAnimationsRecursively(Animation *pParent) { + std::set childrenTargets; + bool childrenAnimationsHaveDifferentChannels = true; + for (std::vector::iterator it = pParent->mSubAnims.begin(); it != pParent->mSubAnims.end();) { Animation *anim = *it; - CombineSingleChannelAnimationsRecursively(anim); - if (anim->mChannels.size() == 1) + if (childrenAnimationsHaveDifferentChannels && anim->mChannels.size() == 1 && + childrenTargets.find(anim->mChannels[0].mTarget) == childrenTargets.end()) { + childrenTargets.insert(anim->mChannels[0].mTarget); + } else { + childrenAnimationsHaveDifferentChannels = false; + } + + ++it; + } + + // We only want to combine animations if they have different channels + if (childrenAnimationsHaveDifferentChannels) + { + for (std::vector::iterator it = pParent->mSubAnims.begin(); it != pParent->mSubAnims.end();) { + Animation *anim = *it; + pParent->mChannels.push_back(anim->mChannels[0]); it = pParent->mSubAnims.erase(it); delete anim; - } - else - { - ++it; + continue; } } } diff --git a/code/Collada/ColladaLoader.cpp b/code/Collada/ColladaLoader.cpp index 37529bc98..0d8aa47c4 100644 --- a/code/Collada/ColladaLoader.cpp +++ b/code/Collada/ColladaLoader.cpp @@ -963,18 +963,38 @@ void ColladaLoader::StoreAnimations( aiScene* pScene, const ColladaParser& pPars // catch special case: many animations with the same length, each affecting only a single node. // we need to unite all those single-node-anims to a proper combined animation - for( size_t a = 0; a < mAnims.size(); ++a) { + for(size_t a = 0; a < mAnims.size(); ++a) { aiAnimation* templateAnim = mAnims[a]; - if( templateAnim->mNumChannels == 1) { + + if (templateAnim->mNumChannels == 1) { // search for other single-channel-anims with the same duration std::vector collectedAnimIndices; for( size_t b = a+1; b < mAnims.size(); ++b) { aiAnimation* other = mAnims[b]; if (other->mNumChannels == 1 && other->mDuration == templateAnim->mDuration && other->mTicksPerSecond == templateAnim->mTicksPerSecond) - collectedAnimIndices.push_back(b); + collectedAnimIndices.push_back(b); } + // We only want to combine the animations if they have different channels + std::set animTargets; + animTargets.insert(templateAnim->mChannels[0]->mNodeName.C_Str()); + bool collectedAnimationsHaveDifferentChannels = true; + for (size_t b = 0; b < collectedAnimIndices.size(); ++b) + { + aiAnimation* srcAnimation = mAnims[collectedAnimIndices[b]]; + std::string channelName = std::string(srcAnimation->mChannels[0]->mNodeName.C_Str()); + if (animTargets.find(channelName) == animTargets.end()) { + animTargets.insert(channelName); + } else { + collectedAnimationsHaveDifferentChannels = false; + break; + } + } + + if (!collectedAnimationsHaveDifferentChannels) + continue; + // if there are other animations which fit the template anim, combine all channels into a single anim if (!collectedAnimIndices.empty()) { From 6de5ff8f7d54e3fc7db0f91ff7599fb0540e2133 Mon Sep 17 00:00:00 2001 From: Marc-Antoine Lortie Date: Mon, 30 Dec 2019 08:30:34 -0500 Subject: [PATCH 007/105] Fixed UV coordinate swapped twice in big endian. --- code/MD3/MD3Loader.cpp | 2 +- code/MDC/MDCLoader.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/code/MD3/MD3Loader.cpp b/code/MD3/MD3Loader.cpp index 1e78b6e05..7d6c7ef4b 100644 --- a/code/MD3/MD3Loader.cpp +++ b/code/MD3/MD3Loader.cpp @@ -973,7 +973,7 @@ void MD3Importer::InternReadFile( const std::string& pFile, aiScene* pScene, IOS AI_SWAP2( pcVertices[i].Z ); AI_SWAP4( pcUVs[i].U ); - AI_SWAP4( pcUVs[i].U ); + AI_SWAP4( pcUVs[i].V ); } for (uint32_t i = 0; i < pcSurfaces->NUM_TRIANGLES;++i) { AI_SWAP4(pcTriangles[i].INDEXES[0]); diff --git a/code/MDC/MDCLoader.cpp b/code/MDC/MDCLoader.cpp index 084ec6024..42e1877f3 100644 --- a/code/MDC/MDCLoader.cpp +++ b/code/MDC/MDCLoader.cpp @@ -355,7 +355,7 @@ void MDCImporter::InternReadFile( // swap all texture coordinates for (unsigned int i = 0; i < pcSurface->ulNumVertices;++i) { - AI_SWAP4( pcUVs->v ); + AI_SWAP4( pcUVs->u ); AI_SWAP4( pcUVs->v ); } From d11af753f2a959f18a734af591819fc1510b6b5e Mon Sep 17 00:00:00 2001 From: RichardTea <31507749+RichardTea@users.noreply.github.com> Date: Thu, 2 Jan 2020 12:35:00 +0000 Subject: [PATCH 008/105] Fix Codacity warnings, test Exporter metadata Pass std::string around instead as need to create one anyway. Use CamelCase version to avoid caseSensiTivity issues as will usually want the camelcase edition anyway. Not UTF-8 but the standard XML tags are ASCII anyway --- code/Collada/ColladaHelper.cpp | 41 ++++++++++++++++++++ code/Collada/ColladaHelper.h | 8 +++- code/Collada/ColladaParser.cpp | 46 ++++++---------------- code/Collada/ColladaParser.h | 5 +-- test/models/Collada/lights.dae | 1 + test/unit/utColladaExportLight.cpp | 59 ++++++++++++++++++++++++++--- test/unit/utColladaImportExport.cpp | 2 +- 7 files changed, 116 insertions(+), 46 deletions(-) diff --git a/code/Collada/ColladaHelper.cpp b/code/Collada/ColladaHelper.cpp index f19bb1047..aeabb49c4 100644 --- a/code/Collada/ColladaHelper.cpp +++ b/code/Collada/ColladaHelper.cpp @@ -44,6 +44,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include "ColladaHelper.h" #include +#include namespace Assimp { namespace Collada { @@ -60,5 +61,45 @@ const MetaKeyPairVector &GetColladaAssimpMetaKeys() { return result; } +const MetaKeyPairVector MakeColladaAssimpMetaKeysCamelCase() { + MetaKeyPairVector result = MakeColladaAssimpMetaKeys(); + for (auto &val : result) + { + ToCamelCase(val.first); + } + return result; +}; + +const MetaKeyPairVector &GetColladaAssimpMetaKeysCamelCase() +{ + static const MetaKeyPairVector result = MakeColladaAssimpMetaKeysCamelCase(); + return result; +} + +// ------------------------------------------------------------------------------------------------ +// Convert underscore_separated to CamelCase: "authoring_tool" becomes "AuthoringTool" +void ToCamelCase(std::string &text) +{ + if (text.empty()) + return; + // Capitalise first character + text[0] = Assimp::ToUpper(text[0]); + for (auto it = text.begin(); it != text.end(); /*iterated below*/) + { + if ((*it) == '_') + { + it = text.erase(it); + if (it != text.end()) + (*it) = ToUpper(*it); + } + else + { + // Make lower case + (*it) = ToLower(*it); + ++it; + } + } +} + } // namespace Collada } // namespace Assimp diff --git a/code/Collada/ColladaHelper.h b/code/Collada/ColladaHelper.h index f9968f162..31285312c 100644 --- a/code/Collada/ColladaHelper.h +++ b/code/Collada/ColladaHelper.h @@ -105,10 +105,16 @@ enum MorphMethod }; /** Common metadata keys as */ -typedef std::pair MetaKeyPair; +typedef std::pair MetaKeyPair; typedef std::vector MetaKeyPairVector; +// Collada as lower_case (native) const MetaKeyPairVector &GetColladaAssimpMetaKeys(); +// Collada as CamelCase (used by Assimp for consistency) +const MetaKeyPairVector &GetColladaAssimpMetaKeysCamelCase(); + +/** Convert underscore_separated to CamelCase "authoring_tool" becomes "AuthoringTool" */ +void ToCamelCase(std::string &text); /** Contains all data for one of the different transformation types */ struct Transform diff --git a/code/Collada/ColladaParser.cpp b/code/Collada/ColladaParser.cpp index df5a95c5b..cced255f5 100644 --- a/code/Collada/ColladaParser.cpp +++ b/code/Collada/ColladaParser.cpp @@ -411,7 +411,7 @@ void ColladaParser::ReadAssetInfo() } else { - ReadMetaDataItem(mAssetMetaData, GetColladaAssimpMetaKeys()); + ReadMetaDataItem(mAssetMetaData); } } else if (mReader->getNodeType() == irr::io::EXN_ELEMENT_END) @@ -435,7 +435,7 @@ void ColladaParser::ReadContributorInfo() { if (mReader->getNodeType() == irr::io::EXN_ELEMENT) { - ReadMetaDataItem(mAssetMetaData, GetColladaAssimpMetaKeys()); + ReadMetaDataItem(mAssetMetaData); } else if (mReader->getNodeType() == irr::io::EXN_ELEMENT_END) { @@ -446,25 +446,21 @@ void ColladaParser::ReadContributorInfo() } } -static bool FindCommonKey(const char *collada_key, const MetaKeyPairVector &key_renaming, size_t &found_index) { - found_index = 9999999u; - if ( nullptr == collada_key ) { - return false; - } - +static bool FindCommonKey(const std::string &collada_key, const MetaKeyPairVector &key_renaming, size_t &found_index) { for (size_t i = 0; i < key_renaming.size(); ++i) { - if (strncmp(key_renaming[i].first, collada_key, strlen(collada_key)) == 0) { + if (key_renaming[i].first == collada_key) { found_index = i; return true; } } - + found_index = std::numeric_limits::max(); return false; } // ------------------------------------------------------------------------------------------------ // Reads a single string metadata item -void ColladaParser::ReadMetaDataItem(StringMetaData &metadata, const MetaKeyPairVector &key_renaming) { +void ColladaParser::ReadMetaDataItem(StringMetaData &metadata) { + const Collada::MetaKeyPairVector &key_renaming = GetColladaAssimpMetaKeysCamelCase(); // Metadata such as created, keywords, subject etc const char *key_char = mReader->getNodeName(); if (key_char != nullptr) { @@ -474,12 +470,13 @@ void ColladaParser::ReadMetaDataItem(StringMetaData &metadata, const MetaKeyPair aiString aistr; aistr.Set(value_char); + std::string camel_key_str(key_str); + ToCamelCase(camel_key_str); + size_t found_index; - if (FindCommonKey(key_str.c_str(), key_renaming, found_index)) { + if (FindCommonKey(camel_key_str, key_renaming, found_index)) { metadata.emplace(key_renaming[found_index].second, aistr); } else { - std::string camel_key_str(key_str); - ToCamelCase(camel_key_str); metadata.emplace(camel_key_str, aistr); } } @@ -489,27 +486,6 @@ void ColladaParser::ReadMetaDataItem(StringMetaData &metadata, const MetaKeyPair SkipElement(); } -// ------------------------------------------------------------------------------------------------ -// Convert underscore_seperated to CamelCase: "authoring_tool" becomes "AuthoringTool" -void ColladaParser::ToCamelCase(std::string &text) -{ - if (text.empty()) - return; - // Capitalise first character - text[0] = ToUpper(text[0]); - for (auto it = text.begin(); it != text.end(); /*iterated below*/) - { - if ((*it) == '_') - { - it = text.erase(it); - if (it != text.end()) - (*it) = ToUpper(*it); - } - else - ++it; - } -} - // ------------------------------------------------------------------------------------------------ // Reads the animation clips void ColladaParser::ReadAnimationClipLibrary() diff --git a/code/Collada/ColladaParser.h b/code/Collada/ColladaParser.h index 57d644aef..f421172c7 100644 --- a/code/Collada/ColladaParser.h +++ b/code/Collada/ColladaParser.h @@ -95,10 +95,7 @@ namespace Assimp void ReadContributorInfo(); /** Reads generic metadata into provided map and renames keys for Assimp */ - void ReadMetaDataItem(StringMetaData &metadata, const Collada::MetaKeyPairVector &key_renaming); - - /** Convert underscore_seperated to CamelCase "authoring_tool" becomes "AuthoringTool" */ - static void ToCamelCase(std::string &text); + void ReadMetaDataItem(StringMetaData &metadata); /** Reads the animation library */ void ReadAnimationLibrary(); diff --git a/test/models/Collada/lights.dae b/test/models/Collada/lights.dae index 9e040aac6..03507116c 100644 --- a/test/models/Collada/lights.dae +++ b/test/models/Collada/lights.dae @@ -4,6 +4,7 @@ Blender User Blender 2.74.0 commit date:2015-03-31, commit time:13:39, hash:000dfc0 + BSD 2015-05-17T21:55:44 2015-05-17T21:55:44 diff --git a/test/unit/utColladaExportLight.cpp b/test/unit/utColladaExportLight.cpp index 502cecf3a..9b3e8a0e7 100644 --- a/test/unit/utColladaExportLight.cpp +++ b/test/unit/utColladaExportLight.cpp @@ -43,6 +43,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include "UnitTestPCH.h" #include +#include #include #include #include @@ -75,7 +76,7 @@ TEST_F(ColladaExportLight, testExportLight) const char* file = "lightsExp.dae"; const aiScene* pTest = im->ReadFile(ASSIMP_TEST_MODELS_DIR "/Collada/lights.dae", aiProcess_ValidateDataStructure); - ASSERT_TRUE(pTest!=NULL); + ASSERT_NE(pTest, nullptr); ASSERT_TRUE(pTest->HasLights()); const unsigned int origNumLights( pTest->mNumLights ); @@ -86,15 +87,63 @@ TEST_F(ColladaExportLight, testExportLight) origLights[ i ] = *(pTest->mLights[ i ]); } - EXPECT_EQ(AI_SUCCESS,ex->Export(pTest,"collada",file)); + // Common metadata + // Confirm was loaded by the Collada importer + aiString origImporter; + EXPECT_TRUE(pTest->mMetaData->Get(AI_METADATA_SOURCE_FORMAT, origImporter)) << "No importer format metadata"; + EXPECT_STREQ("Collada Importer", origImporter.C_Str()); + + aiString origGenerator; + EXPECT_TRUE(pTest->mMetaData->Get(AI_METADATA_SOURCE_GENERATOR, origGenerator)) << "No generator metadata"; + EXPECT_EQ(strncmp(origGenerator.C_Str(), "Blender", 7), 0) << "AI_METADATA_SOURCE_GENERATOR was: " << origGenerator.C_Str(); + + aiString origCopyright; + EXPECT_TRUE(pTest->mMetaData->Get(AI_METADATA_SOURCE_COPYRIGHT, origCopyright)) << "No copyright metadata"; + EXPECT_STREQ("BSD", origCopyright.C_Str()); + + aiString origCreated; + EXPECT_TRUE(pTest->mMetaData->Get("Created", origCreated)) << "No created metadata"; + EXPECT_STREQ("2015-05-17T21:55:44", origCreated.C_Str()); + + aiString origModified; + EXPECT_TRUE(pTest->mMetaData->Get("Modified", origModified)) << "No modified metadata"; + EXPECT_STREQ("2015-05-17T21:55:44", origModified.C_Str()); + + EXPECT_EQ(AI_SUCCESS, ex->Export(pTest, "collada", file)); + + // Drop the pointer as about to become invalid + pTest = nullptr; const aiScene* imported = im->ReadFile(file, aiProcess_ValidateDataStructure); - ASSERT_TRUE(imported!=NULL); + ASSERT_TRUE(imported != NULL); + // Check common metadata survived roundtrip + aiString readImporter; + EXPECT_TRUE(imported->mMetaData->Get(AI_METADATA_SOURCE_FORMAT, readImporter)) << "No importer format metadata after export"; + EXPECT_STREQ(origImporter.C_Str(), readImporter.C_Str()) << "Assimp Importer Format changed"; + + aiString readGenerator; + EXPECT_TRUE(imported->mMetaData->Get(AI_METADATA_SOURCE_GENERATOR, readGenerator)) << "No generator metadata"; + EXPECT_STREQ(origGenerator.C_Str(), readGenerator.C_Str()) << "Generator changed"; + + aiString readCopyright; + EXPECT_TRUE(imported->mMetaData->Get(AI_METADATA_SOURCE_COPYRIGHT, readCopyright)) << "No copyright metadata"; + EXPECT_STREQ(origCopyright.C_Str(), readCopyright.C_Str()) << "Copyright changed"; + + aiString readCreated; + EXPECT_TRUE(imported->mMetaData->Get("Created", readCreated)) << "No created metadata"; + EXPECT_STREQ(origCreated.C_Str(), readCreated.C_Str()) << "Created date changed"; + + aiString readModified; + EXPECT_TRUE(imported->mMetaData->Get("Modified", readModified)) << "No modified metadata"; + EXPECT_STRNE(origModified.C_Str(), readModified.C_Str()) << "Modified date did not change"; + EXPECT_GT(readModified.length, 18) << "Modified date too short"; + + // Lights EXPECT_TRUE(imported->HasLights()); - EXPECT_EQ( origNumLights,imported->mNumLights ); - for(size_t i=0; i< origNumLights; i++) { + EXPECT_EQ(origNumLights, imported->mNumLights); + for(size_t i=0; i < origNumLights; i++) { const aiLight *orig = &origLights[ i ]; const aiLight *read = imported->mLights[i]; EXPECT_EQ( 0,strncmp(origNames[ i ].c_str(),read->mName.C_Str(), origNames[ i ].size() ) ); diff --git a/test/unit/utColladaImportExport.cpp b/test/unit/utColladaImportExport.cpp index 1350d3607..749e57010 100644 --- a/test/unit/utColladaImportExport.cpp +++ b/test/unit/utColladaImportExport.cpp @@ -77,7 +77,7 @@ public: EXPECT_TRUE(scene->mMetaData->Get(AI_METADATA_SOURCE_GENERATOR, value)) << "No generator metadata"; EXPECT_EQ(strncmp(value.C_Str(), "Maya 8.0", 8), 0) << "AI_METADATA_SOURCE_GENERATOR was: " << value.C_Str(); - EXPECT_TRUE(scene->mMetaData->Get(AI_METADATA_SOURCE_COPYRIGHT, value)); + EXPECT_TRUE(scene->mMetaData->Get(AI_METADATA_SOURCE_COPYRIGHT, value)) << "No copyright metadata"; EXPECT_EQ(strncmp(value.C_Str(), "Copyright 2006", 14), 0) << "AI_METADATA_SOURCE_COPYRIGHT was: " << value.C_Str(); return true; From ab50b5e18165b6529d68d52f2460e124e23caa95 Mon Sep 17 00:00:00 2001 From: RichardTea <31507749+RichardTea@users.noreply.github.com> Date: Thu, 2 Jan 2020 13:02:40 +0000 Subject: [PATCH 009/105] Fix typo, fix GCC build --- code/Collada/ColladaHelper.cpp | 5 +++-- test/unit/utColladaExportLight.cpp | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/code/Collada/ColladaHelper.cpp b/code/Collada/ColladaHelper.cpp index aeabb49c4..8fa42b4d9 100644 --- a/code/Collada/ColladaHelper.cpp +++ b/code/Collada/ColladaHelper.cpp @@ -94,9 +94,10 @@ void ToCamelCase(std::string &text) } else { - // Make lower case - (*it) = ToLower(*it); + // Make next one lower case ++it; + if (it != text.end()) + (*it) = ToLower(*it); } } } diff --git a/test/unit/utColladaExportLight.cpp b/test/unit/utColladaExportLight.cpp index 9b3e8a0e7..c2aa17b2b 100644 --- a/test/unit/utColladaExportLight.cpp +++ b/test/unit/utColladaExportLight.cpp @@ -138,7 +138,7 @@ TEST_F(ColladaExportLight, testExportLight) aiString readModified; EXPECT_TRUE(imported->mMetaData->Get("Modified", readModified)) << "No modified metadata"; EXPECT_STRNE(origModified.C_Str(), readModified.C_Str()) << "Modified date did not change"; - EXPECT_GT(readModified.length, 18) << "Modified date too short"; + EXPECT_GT(readModified.length, ai_uint32(18)) << "Modified date too short"; // Lights EXPECT_TRUE(imported->HasLights()); From 4e50b05b856e1cd20812079a73670f0a5338783a Mon Sep 17 00:00:00 2001 From: RichardTea <31507749+RichardTea@users.noreply.github.com> Date: Thu, 2 Jan 2020 13:24:50 +0000 Subject: [PATCH 010/105] Fix off-by-one error --- code/Collada/ColladaHelper.cpp | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/code/Collada/ColladaHelper.cpp b/code/Collada/ColladaHelper.cpp index 8fa42b4d9..510ac657e 100644 --- a/code/Collada/ColladaHelper.cpp +++ b/code/Collada/ColladaHelper.cpp @@ -83,8 +83,10 @@ void ToCamelCase(std::string &text) if (text.empty()) return; // Capitalise first character - text[0] = Assimp::ToUpper(text[0]); - for (auto it = text.begin(); it != text.end(); /*iterated below*/) + auto it = text.begin(); + (*it) = ToUpper(*it); + ++it; + for (/*started above*/ ; it != text.end(); /*iterated below*/) { if ((*it) == '_') { @@ -94,10 +96,9 @@ void ToCamelCase(std::string &text) } else { - // Make next one lower case - ++it; - if (it != text.end()) - (*it) = ToLower(*it); + // Make lower case + (*it) = ToLower(*it); + ++it; } } } From cce77345e59c24c10e933f11be57cfb336e4539a Mon Sep 17 00:00:00 2001 From: Kim Kulling Date: Sat, 4 Jan 2020 11:57:26 +0100 Subject: [PATCH 011/105] Update ColladaHelper.h Add missing include. --- code/Collada/ColladaHelper.h | 1 + 1 file changed, 1 insertion(+) diff --git a/code/Collada/ColladaHelper.h b/code/Collada/ColladaHelper.h index 1818ae721..76d39c197 100644 --- a/code/Collada/ColladaHelper.h +++ b/code/Collada/ColladaHelper.h @@ -47,6 +47,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include #include +#include #include #include #include From 52a7be775d82f8e738a336bc2eaca7a6d94c6511 Mon Sep 17 00:00:00 2001 From: Dunni <1390395+Dunni@users.noreply.github.com> Date: Mon, 6 Jan 2020 14:57:59 +0100 Subject: [PATCH 012/105] Fix PlyExporter to support faces with 0 vertices --- code/Ply/PlyExporter.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/code/Ply/PlyExporter.cpp b/code/Ply/PlyExporter.cpp index 5e21a88ac..a7498983b 100644 --- a/code/Ply/PlyExporter.cpp +++ b/code/Ply/PlyExporter.cpp @@ -373,10 +373,11 @@ void PlyExporter::WriteMeshIndices(const aiMesh* m, unsigned int offset) { for (unsigned int i = 0; i < m->mNumFaces; ++i) { const aiFace& f = m->mFaces[i]; - mOutput << f.mNumIndices << " "; + mOutput << f.mNumIndices; for(unsigned int c = 0; c < f.mNumIndices; ++c) { - mOutput << (f.mIndices[c] + offset) << (c == f.mNumIndices-1 ? endl : " "); + mOutput << " " << (f.mIndices[c] + offset); } + mOutput << endl; } } From e3988cc066a6fff9694fbf12bd0bfe415aa0081e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc?= Date: Tue, 7 Jan 2020 16:20:33 +0100 Subject: [PATCH 013/105] Fix possible null pointer exception on scene metadata when exporting a glTF2 file --- code/glTF2/glTF2Exporter.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/glTF2/glTF2Exporter.cpp b/code/glTF2/glTF2Exporter.cpp index 82f3907ef..d7b16ab04 100644 --- a/code/glTF2/glTF2Exporter.cpp +++ b/code/glTF2/glTF2Exporter.cpp @@ -1000,7 +1000,7 @@ void glTF2Exporter::ExportMetadata() // Copyright aiString copyright_str; - if (mScene->mMetaData->Get(AI_METADATA_SOURCE_COPYRIGHT, copyright_str)) { + if (mScene->mMetaData != nullptr && mScene->mMetaData->Get(AI_METADATA_SOURCE_COPYRIGHT, copyright_str)) { asset.copyright = copyright_str.C_Str(); } } From f04573984a51974eb8d52e34f077b9add1a7a7ef Mon Sep 17 00:00:00 2001 From: Kim Kulling Date: Tue, 7 Jan 2020 20:41:37 +0100 Subject: [PATCH 014/105] Update glTF2Importer.cpp Remove dead code --- code/glTF2/glTF2Importer.cpp | 65 ++++++++---------------------------- 1 file changed, 13 insertions(+), 52 deletions(-) diff --git a/code/glTF2/glTF2Importer.cpp b/code/glTF2/glTF2Importer.cpp index d607d27a5..edee9c8e6 100644 --- a/code/glTF2/glTF2Importer.cpp +++ b/code/glTF2/glTF2Importer.cpp @@ -139,45 +139,6 @@ static aiTextureMapMode ConvertWrappingMode(SamplerWrap gltfWrapMode) { } } -/*static void CopyValue(const glTF2::vec3& v, aiColor3D& out) -{ - out.r = v[0]; out.g = v[1]; out.b = v[2]; -} - - -static void CopyValue(const glTF2::vec4& v, aiColor4D& out) -{ - out.r = v[0]; out.g = v[1]; out.b = v[2]; out.a = v[3]; -}*/ - -/*static void CopyValue(const glTF2::vec4& v, aiColor3D& out) -{ - out.r = v[0]; out.g = v[1]; out.b = v[2]; -}*/ - -/*static void CopyValue(const glTF2::vec3& v, aiColor4D& out) -{ - out.r = v[0]; out.g = v[1]; out.b = v[2]; out.a = 1.0; -} - -static void CopyValue(const glTF2::vec3& v, aiVector3D& out) -{ - out.x = v[0]; out.y = v[1]; out.z = v[2]; -} - -static void CopyValue(const glTF2::vec4& v, aiQuaternion& out) -{ - out.x = v[0]; out.y = v[1]; out.z = v[2]; out.w = v[3]; -}*/ - -/*static void CopyValue(const glTF2::mat4& v, aiMatrix4x4& o) -{ - o.a1 = v[ 0]; o.b1 = v[ 1]; o.c1 = v[ 2]; o.d1 = v[ 3]; - o.a2 = v[ 4]; o.b2 = v[ 5]; o.c2 = v[ 6]; o.d2 = v[ 7]; - o.a3 = v[ 8]; o.b3 = v[ 9]; o.c3 = v[10]; o.d3 = v[11]; - o.a4 = v[12]; o.b4 = v[13]; o.c4 = v[14]; o.d4 = v[15]; -}*/ - inline void SetMaterialColorProperty(Asset & /*r*/, vec4 &prop, aiMaterial *mat, const char *pKey, unsigned int type, unsigned int idx) { aiColor4D col; CopyValue(prop, col); @@ -512,7 +473,7 @@ void glTF2Importer::ImportMeshes(glTF2::Asset &r) { } } - aiFace *faces = 0; + aiFace *faces = nullptr; size_t nFaces = 0; if (prim.indices) { @@ -674,13 +635,13 @@ void glTF2Importer::ImportMeshes(glTF2::Asset &r) { } } - if (faces) { + if (nullptr != faces) { aim->mFaces = faces; aim->mNumFaces = static_cast(nFaces); ai_assert(CheckValidFacesIndices(faces, static_cast(nFaces), aim->mNumVertices)); } - if (prim.material) { + if (nullptr != prim.material) { aim->mMaterialIndex = prim.material.GetIndex(); } else { aim->mMaterialIndex = mScene->mNumMaterials - 1; @@ -981,7 +942,9 @@ aiNode *ImportNode(aiScene *pScene, glTF2::Asset &r, std::vector & } void glTF2Importer::ImportNodes(glTF2::Asset &r) { - if (!r.scene) return; + if (!r.scene) { + return; + } std::vector> rootNodes = r.scene->nodes; @@ -1292,7 +1255,9 @@ void glTF2Importer::ImportEmbeddedTextures(glTF2::Asset &r) { if (!img.mimeType.empty()) { const char *ext = strchr(img.mimeType.c_str(), '/') + 1; if (ext) { - if (strcmp(ext, "jpeg") == 0) ext = "jpg"; + if (strcmp(ext, "jpeg") == 0) { + ext = "jpg"; + } size_t len = strlen(ext); if (len <= 3) { @@ -1308,19 +1273,15 @@ void glTF2Importer::ImportCommonMetadata(glTF2::Asset& a) { const bool hasVersion = !a.asset.version.empty(); const bool hasGenerator = !a.asset.generator.empty(); const bool hasCopyright = !a.asset.copyright.empty(); - if (hasVersion || hasGenerator || hasCopyright) - { + if (hasVersion || hasGenerator || hasCopyright) { mScene->mMetaData = new aiMetadata; - if (hasVersion) - { + if (hasVersion) { mScene->mMetaData->Add(AI_METADATA_SOURCE_FORMAT_VERSION, aiString(a.asset.version)); } - if (hasGenerator) - { + if (hasGenerator) { mScene->mMetaData->Add(AI_METADATA_SOURCE_GENERATOR, aiString(a.asset.generator)); } - if (hasCopyright) - { + if (hasCopyright) { mScene->mMetaData->Add(AI_METADATA_SOURCE_COPYRIGHT, aiString(a.asset.copyright)); } } From 9b8f2970c86ae982799872e286f315484da3eb49 Mon Sep 17 00:00:00 2001 From: Kim Kulling Date: Tue, 7 Jan 2020 21:22:41 +0100 Subject: [PATCH 015/105] Update glTF2Importer.cpp - fix compiler error: invalid == operator - Fix compiler warning: conversion from double to ai_real --- code/glTF2/glTF2Importer.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code/glTF2/glTF2Importer.cpp b/code/glTF2/glTF2Importer.cpp index edee9c8e6..250c790b1 100644 --- a/code/glTF2/glTF2Importer.cpp +++ b/code/glTF2/glTF2Importer.cpp @@ -179,8 +179,8 @@ inline void SetMaterialTextureProperty(std::vector &embeddedTexIdxs, Asset // coordinate of the actual meshes during import. const ai_real rcos(cos(-transform.mRotation)); const ai_real rsin(sin(-transform.mRotation)); - transform.mTranslation.x = (0.5 * transform.mScaling.x) * (-rcos + rsin + 1) + prop.TextureTransformExt_t.offset[0]; - transform.mTranslation.y = ((0.5 * transform.mScaling.y) * (rsin + rcos - 1)) + 1 - transform.mScaling.y - prop.TextureTransformExt_t.offset[1];; + transform.mTranslation.x = (static_cast( 0.5 ) * transform.mScaling.x) * (-rcos + rsin + 1) + prop.TextureTransformExt_t.offset[0]; + transform.mTranslation.y = ((static_cast( 0.5 ) * transform.mScaling.y) * (rsin + rcos - 1)) + 1 - transform.mScaling.y - prop.TextureTransformExt_t.offset[1];; mat->AddProperty(&transform, 1, _AI_MATKEY_UVTRANSFORM_BASE, texType, texSlot); } @@ -641,7 +641,7 @@ void glTF2Importer::ImportMeshes(glTF2::Asset &r) { ai_assert(CheckValidFacesIndices(faces, static_cast(nFaces), aim->mNumVertices)); } - if (nullptr != prim.material) { + if (prim.material) { aim->mMaterialIndex = prim.material.GetIndex(); } else { aim->mMaterialIndex = mScene->mNumMaterials - 1; From 37210372a8259ef7e82ad5210dfb117669989413 Mon Sep 17 00:00:00 2001 From: Kim Kulling Date: Tue, 7 Jan 2020 21:26:37 +0100 Subject: [PATCH 016/105] Update VertexTriangleAdjacency.cpp closes https://github.com/assimp/assimp/issues/2806: calculate corret number of vertices. --- code/Common/VertexTriangleAdjacency.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/Common/VertexTriangleAdjacency.cpp b/code/Common/VertexTriangleAdjacency.cpp index 7cfd1a350..83558f697 100644 --- a/code/Common/VertexTriangleAdjacency.cpp +++ b/code/Common/VertexTriangleAdjacency.cpp @@ -58,7 +58,7 @@ VertexTriangleAdjacency::VertexTriangleAdjacency(aiFace *pcFaces, { // compute the number of referenced vertices if it wasn't specified by the caller const aiFace* const pcFaceEnd = pcFaces + iNumFaces; - if (!iNumVertices) { + if (0 == iNumVertices) { for (aiFace* pcFace = pcFaces; pcFace != pcFaceEnd; ++pcFace) { ai_assert( nullptr != pcFace ); ai_assert(3 == pcFace->mNumIndices); @@ -68,7 +68,7 @@ VertexTriangleAdjacency::VertexTriangleAdjacency(aiFace *pcFaces, } } - mNumVertices = iNumVertices; + mNumVertices = iNumVertices + 1; unsigned int* pi; From 346ab9af357448f19ddd099085f8d83f80f5edb4 Mon Sep 17 00:00:00 2001 From: Kim Kulling Date: Wed, 8 Jan 2020 08:35:06 +0100 Subject: [PATCH 017/105] Update Readme.md Fix the assimp.net link, old repo was broken. --- Readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Readme.md b/Readme.md index 863e64f08..7e0a8cccc 100644 --- a/Readme.md +++ b/Readme.md @@ -131,7 +131,7 @@ Take a look into the https://github.com/assimp/assimp/blob/master/Build.md file. ### Ports ### * [Android](port/AndroidJNI/README.md) * [Python](port/PyAssimp/README.md) -* [.NET](https://github.com/kebby/assimp-net) +* [.NET](https://github.com/assimp/assimp-net) * [Pascal](port/AssimpPascal/Readme.md) * [Javascript (Alpha)](https://github.com/makc/assimp2json) * [Unity 3d Plugin](https://www.assetstore.unity3d.com/en/#!/content/91777) From 7b7100a94b2274f80be4c79759b118dd504d0695 Mon Sep 17 00:00:00 2001 From: Turo Lamminen Date: Wed, 8 Jan 2020 14:20:56 +0200 Subject: [PATCH 018/105] Revert 3_bananas.amf.7z to working version Was broken by a8a1ca9894a38164f3111f57fddb887b3549ea60. Partially revert that commit. Closes #2857 --- test/models-nonbsd/AMF/3_bananas.amf.7z | Bin 7652204 -> 7652329 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/test/models-nonbsd/AMF/3_bananas.amf.7z b/test/models-nonbsd/AMF/3_bananas.amf.7z index 9d035c5925798d4b67923125a2e93e60efae0c9b..c2b6785a3804e3636d2876b7297ebb934a721a7f 100644 GIT binary patch delta 1268 zcmWlYe^Aq99LH}AVN6E44Tf&YZ#K5vz$E!O;+L44{FIRn84Yj@1OnEn$FJhdb)Mi^ z9d=|4>jJD1sK7@GxQlY-NVo!2xRWk2q7EWoV)oX~yWrRJTlZFgkJ9+j4WQyC|6VcjY`K8ga$#`*YLiAtCXM&Ec%D^$ z$D8DLd<4uh;?<(xZ@>$DB7%G=@X5BA9T?{ew?kq`0_}iyLVlDl^bh(3{iY#*C;$qi zrlFuMshI2hdeER8y_C>kCIaswDCofHtzcO6zY(tyC5Z`qL8QIp_h=;d=N2q z96b-#Zs;ZQVC`|e51+TNC!KkozAF-X8QM$wuBcILtJQZh3W_G*$(ZXc$WG{Ey)59| zRBS{t$Q8t$Wc=pNxUW70#<#oU|K^f-GMA|BN$|XT)cphC&HRKuW}TLX zgqBHUSlU;JrA<`kpjO!up(Ik-k~4Y8G})77`S80rDb&qLwfq84yqwy#2!7+-*M@DQ zyp?^oE`a`xX%%(IwmeItmS_9@no-;9UWE>jy-u^X8<~&4)cj0f)iJH~4Ek*=T54N4 zs4jvxlaW5x3-)fLZ##jW!;(P`OJ->eJmnvm{gLn%Bw4f|$u7K%ldm4jwxjjeSax(D z7*v_lgJoGKT61Wk_0aMac-NzH^OW$ord;BhbUu1`{^L3+2TXJ7&ds7XZOfx++iTAs z!Mpw5VPgh7)#71NEgp$G53jshe?ry1b*Q9`kq5&L!nvELXyYFW`2XWde0QdoC1Dz zX$o^$b>pS;%yPo{W(wz*t!v>a3}snI;MEV8QT=fF0bFvc!{azqK@N{fxe?>l@=97Q zuR6u-n7O0s2J^WBx~tsZMNg)BgJi1eUgq6qKd(N)oG7iK#u*3tT&nqJ9ON5nIaT2H a$y#shGN}$(I>W%J2Ft?;aHP-DFZds-<-Bl7ntrY~d?2~pdHL*EXUHvU=A?~-Z)fotwXJ4`*GfQmB8Z%2a z))AQF+y3eX^M2d-dTf7TyW~I?ZrEbs#*X8IgvsSlZ%}q%a_tuxh_BoCwBfegL94>P zb_dCQsB#<^isApAqofEKQl~LOxMnBnO>oW5dy)~v-f3FEgQcCJ6|hU>%9;>&oBLBf z@euRiA$H04Cap>rv?^UE+epGAS0p^z#Vba3B!6v$L~rsbH$-pl4)-8>m$xVZO`C&2K~19Pql4FfRfqDHRCj#eTmF zXgC*itDJa@@qb?)J4S=9Y4LX}k>Uk}ohH#`DGNIq`_%wPGu669wUc=r;+^8y&2 z7tZ|#^z1$M?a!a?8(4#F?WfRM2DJ-L9M;H=nS58$R)UHyj zBf9cR=*p`agR$IOHNwHCm#cPsLM{e=h>L;MgL){xs%{v@q_*as0v#7>wkL2(Tg$1! ax#?P01HL?3XYz-#x$e&($cE~Mc>e*)rq{Os From d372d28d2e8bb8c62220b6db69de4fcfca24f70e Mon Sep 17 00:00:00 2001 From: Turo Lamminen Date: Thu, 9 Jan 2020 14:45:29 +0200 Subject: [PATCH 019/105] Revert more broken test models to working versions Was broken by a8a1ca9894a38164f3111f57fddb887b3549ea60. Partially revert that commit. Closes #2861 --- test/models-nonbsd/BLEND/Bob.blend | Bin 591623 -> 591624 bytes test/models-nonbsd/BLEND/fleurOptonl.blend | Bin 1460880 -> 1460900 bytes test/models-nonbsd/MD2/dolphin.md2 | Bin 95262 -> 95268 bytes test/models-nonbsd/MD2/horse.md2 | Bin 61319 -> 61320 bytes 4 files changed, 0 insertions(+), 0 deletions(-) diff --git a/test/models-nonbsd/BLEND/Bob.blend b/test/models-nonbsd/BLEND/Bob.blend index b73177ccbf17da553f1d4a3fdf96f160f7639992..3c784e8f8dc24726fa6de4b69c45b0d259c95828 100644 GIT binary patch delta 39 rcmZqgQ|ahaX=q_=VQOJ+VcEjEAdHc>eL)y25VHX>`}PH49O)YX6rTkhGzlkf43Mv=L6}FUQE}{0O{l6 z%p56X89)w6g%6?Vm}Wk#-qc!okxeQL<7if2w~ga5W-#*36%e|mVLSy zBkyE~OCsCn9${bj3@C56ngfVAx7)4e(tSjf^?|3i=U(J(Wds{!*KTl`ce}x5K1Kte dVTR27Kr8^nfq-*4VlH_-2pDuPNDz+ delta 193 zcmZ27HFCn#$PEscHalKo_uk%kgF7L3`>F!Q@T~1t(|A7TZ`Whv4LrTwU5vSvar;?u zW{#BhYt_u#uT``B6Wo5am&JZwyQmK9c2OO+5{>q*5Vq}IA?!tw+yAa*pDs4p@sh~) zl}FeYK5O@0%>l%m+r3wF={~|^)wMG~O?K_hmwC54U*=;pXm@4i2Vwyr76f7;AQlE< O5g-=b?#e6{?+yR}luP>n diff --git a/test/models-nonbsd/MD2/dolphin.md2 b/test/models-nonbsd/MD2/dolphin.md2 index 81827b66ada76b43361a9437e6b65a422cc6fcd9..af716d579049541455869b25fb16348459cb6b6e 100644 GIT binary patch delta 55 zcmbRDf_2FY)(wKM7eoAut?qbwMwGj0E5#dw{4`za?7JIR&tkRAZmXA`6V diff --git a/test/models-nonbsd/MD2/horse.md2 b/test/models-nonbsd/MD2/horse.md2 index 9f977677a2d2de80c2797eff7beeb4c8a738037d..88584134462b38079599a064507c62e6f5120a7e 100644 GIT binary patch delta 16 XcmZp_&)jjJc|(&sBk$%Wch(gEJVgeC delta 14 VcmeCU&)j~Wc|()?=4N-+6#z3`26q4e From 625357685cdf78295a281a0dba6a6a3f1468d64a Mon Sep 17 00:00:00 2001 From: Kim Kulling Date: Thu, 9 Jan 2020 22:04:46 +0100 Subject: [PATCH 020/105] Update EmbedTexturesProcess.cpp closes https://github.com/assimp/assimp/issues/2874 : fix leaked texture buffer. --- code/PostProcessing/EmbedTexturesProcess.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/PostProcessing/EmbedTexturesProcess.cpp b/code/PostProcessing/EmbedTexturesProcess.cpp index 739382a05..c83738563 100644 --- a/code/PostProcessing/EmbedTexturesProcess.cpp +++ b/code/PostProcessing/EmbedTexturesProcess.cpp @@ -128,7 +128,8 @@ bool EmbedTexturesProcess::addTexture(aiScene* pScene, std::string path) const { auto oldTextures = pScene->mTextures; pScene->mTextures = new aiTexture*[pScene->mNumTextures]; ::memmove(pScene->mTextures, oldTextures, sizeof(aiTexture*) * (pScene->mNumTextures - 1u)); - + delete [] oldTextures; + // Add the new texture auto pTexture = new aiTexture; pTexture->mHeight = 0; // Means that this is still compressed From 7e140ff912419a81aa3b0f5725f53d849e5c92e4 Mon Sep 17 00:00:00 2001 From: Turo Lamminen Date: Fri, 10 Jan 2020 13:50:16 +0200 Subject: [PATCH 021/105] Add MD2 importer unit tests --- test/CMakeLists.txt | 1 + test/unit/ImportExport/utMD2Importer.cpp | 87 ++++++++++++++++++++++++ 2 files changed, 88 insertions(+) create mode 100644 test/unit/ImportExport/utMD2Importer.cpp diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 2429ab25d..321aeea70 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -128,6 +128,7 @@ SET( IMPORTERS unit/ImportExport/utOFFImportExport.cpp unit/ImportExport/utNFFImportExport.cpp unit/ImportExport/utXGLImportExport.cpp + unit/ImportExport/utMD2Importer.cpp unit/ImportExport/utMDLImporter.cpp unit/ImportExport/MDL/MDLHL1TestFiles.h unit/ImportExport/MDL/utMDLImporter_HL1_ImportSettings.cpp diff --git a/test/unit/ImportExport/utMD2Importer.cpp b/test/unit/ImportExport/utMD2Importer.cpp new file mode 100644 index 000000000..9bafd881c --- /dev/null +++ b/test/unit/ImportExport/utMD2Importer.cpp @@ -0,0 +1,87 @@ +/* +--------------------------------------------------------------------------- +Open Asset Import Library (assimp) +--------------------------------------------------------------------------- + +Copyright (c) 2006-2020, assimp team + + + +All rights reserved. + +Redistribution and use of this software in source and binary forms, +with or without modification, are permitted provided that the following +conditions are met: + +* Redistributions of source code must retain the above +copyright notice, this list of conditions and the +following disclaimer. + +* Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the +following disclaimer in the documentation and/or other +materials provided with the distribution. + +* Neither the name of the assimp team, nor the names of its +contributors may be used to endorse or promote products +derived from this software without specific prior +written permission of the assimp team. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +--------------------------------------------------------------------------- +*/ + +#include "UnitTestPCH.h" + +#include +#include +#include + + +using namespace Assimp; + + + +TEST(utMD2Importer, importFaerie) { + Assimp::Importer importer; + const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/MD2/faerie.md2", aiProcess_ValidateDataStructure); + ASSERT_NE(nullptr, scene); +} + + +TEST(utMD2Importer, importSydney) { + Assimp::Importer importer; + const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/MD2/sydney.md2", aiProcess_ValidateDataStructure); + ASSERT_NE(nullptr, scene); +} + + +TEST(utMD2Importer, importDolphin) { + Assimp::Importer importer; + const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_NONBSD_DIR "/MD2/dolphin.md2", aiProcess_ValidateDataStructure); + ASSERT_NE(nullptr, scene); +} + + +TEST(utMD2Importer, importFlag) { + Assimp::Importer importer; + const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_NONBSD_DIR "/MD2/flag.md2", aiProcess_ValidateDataStructure); + ASSERT_NE(nullptr, scene); +} + + +TEST(utMD2Importer, importHorse) { + Assimp::Importer importer; + const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_NONBSD_DIR "/MD2/horse.md2", aiProcess_ValidateDataStructure); + ASSERT_NE(nullptr, scene); +} From 13a2f22835cfe4093860de3e3d33782f854a2e58 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc?= Date: Tue, 14 Jan 2020 16:26:24 +0100 Subject: [PATCH 022/105] Fix Assimp patch version to match the last bug fix release --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 23b6f6d61..e14c4aa21 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -51,7 +51,7 @@ IF(HUNTER_ENABLED) add_definitions(-DASSIMP_USE_HUNTER) ENDIF(HUNTER_ENABLED) -PROJECT( Assimp VERSION 5.0.0 ) +PROJECT( Assimp VERSION 5.0.1 ) # All supported options ############################################### From 122667b2b218a57085056d41d28af392f6555776 Mon Sep 17 00:00:00 2001 From: Kim Kulling Date: Wed, 15 Jan 2020 10:36:30 +0100 Subject: [PATCH 023/105] Update .travis.yml Set depth to 1 because we do not need the history. --- .travis.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.travis.yml b/.travis.yml index 8fe39d59c..79ccf5b1a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -30,6 +30,9 @@ env: - secure: "lZ7pHQvl5dpZWzBQAaIMf0wqrvtcZ4wiZKeIZjf83TEsflW8+z0uTpIuN30ZV6Glth/Sq1OhLnTP5+N57fZU/1ebA5twHdvP4bS5CIUUg71/CXQZNl36xeaqvxsG/xRrdpKOsPdjAOsQ9KPTQulsX43XDLS7CasMiLvYOpqKcPc=" - PV=r8e PLATF=linux-x86_64 NDK_HOME=${TRAVIS_BUILD_DIR}/android-ndk-${PV} PATH=${PATH}:${NDK_HOME} +git: + depth: 1 + matrix: include: - os: linux From babf9eac0f53e3e6a7533d028f594aad6715c204 Mon Sep 17 00:00:00 2001 From: Kim Kulling Date: Wed, 15 Jan 2020 10:39:48 +0100 Subject: [PATCH 024/105] Update appveyor.yml Enable git clone --depth 1 --- appveyor.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/appveyor.yml b/appveyor.yml index fa0a125f0..9aeac7832 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -4,6 +4,8 @@ # clone directory clone_folder: c:\projects\assimp +clone_depth: 1 + # branches to build branches: # whitelist From d6e9a15b1540c2550bafe3a90de292ca7161f7e7 Mon Sep 17 00:00:00 2001 From: Turo Lamminen Date: Wed, 15 Jan 2020 13:23:13 +0200 Subject: [PATCH 025/105] Add MD5 importer unit tests --- test/CMakeLists.txt | 1 + test/unit/ImportExport/utMD5Importer.cpp | 80 ++++++++++++++++++++++++ 2 files changed, 81 insertions(+) create mode 100644 test/unit/ImportExport/utMD5Importer.cpp diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 321aeea70..3d382490c 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -129,6 +129,7 @@ SET( IMPORTERS unit/ImportExport/utNFFImportExport.cpp unit/ImportExport/utXGLImportExport.cpp unit/ImportExport/utMD2Importer.cpp + unit/ImportExport/utMD5Importer.cpp unit/ImportExport/utMDLImporter.cpp unit/ImportExport/MDL/MDLHL1TestFiles.h unit/ImportExport/MDL/utMDLImporter_HL1_ImportSettings.cpp diff --git a/test/unit/ImportExport/utMD5Importer.cpp b/test/unit/ImportExport/utMD5Importer.cpp new file mode 100644 index 000000000..941d20e9d --- /dev/null +++ b/test/unit/ImportExport/utMD5Importer.cpp @@ -0,0 +1,80 @@ +/* +--------------------------------------------------------------------------- +Open Asset Import Library (assimp) +--------------------------------------------------------------------------- + +Copyright (c) 2006-2020, assimp team + + + +All rights reserved. + +Redistribution and use of this software in source and binary forms, +with or without modification, are permitted provided that the following +conditions are met: + +* Redistributions of source code must retain the above +copyright notice, this list of conditions and the +following disclaimer. + +* Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the +following disclaimer in the documentation and/or other +materials provided with the distribution. + +* Neither the name of the assimp team, nor the names of its +contributors may be used to endorse or promote products +derived from this software without specific prior +written permission of the assimp team. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +--------------------------------------------------------------------------- +*/ + +#include "UnitTestPCH.h" + +#include +#include +#include + + +using namespace Assimp; + + + +TEST(utMD5Importer, importEmpty) { + Assimp::Importer importer; + const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/MD5/invalid/empty.md5mesh", aiProcess_ValidateDataStructure); + ASSERT_EQ(nullptr, scene); +} + + +TEST(utMD5Importer, importSimpleCube) { + Assimp::Importer importer; + const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/MD5/SimpleCube.md5mesh", aiProcess_ValidateDataStructure); + ASSERT_NE(nullptr, scene); +} + + +TEST(utMD5Importer, importBoarMan) { + Assimp::Importer importer; + const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_NONBSD_DIR "/MD5/BoarMan.md5mesh", aiProcess_ValidateDataStructure); + ASSERT_NE(nullptr, scene); +} + + +TEST(utMD5Importer, importBob) { + Assimp::Importer importer; + const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_NONBSD_DIR "/MD5/Bob.md5mesh", aiProcess_ValidateDataStructure); + ASSERT_NE(nullptr, scene); +} From a50b94dd63dd63d5759dfc79751f9f1ea3226b18 Mon Sep 17 00:00:00 2001 From: Turo Lamminen Date: Wed, 15 Jan 2020 14:10:09 +0200 Subject: [PATCH 026/105] Revert test model dwarf.cob to working version --- test/models/COB/dwarf.cob | Bin 962911 -> 962915 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/test/models/COB/dwarf.cob b/test/models/COB/dwarf.cob index 718d0c786e9ff18237c991370c30027362079425..1e6e1ddd700a52770fc311cbd0a71cbf920cfba1 100644 GIT binary patch delta 109 zcmccr$m;PUtA-ZF7N!>F7M3ln-a?GL?cPGHK+Fcj>_E)1-CKxrl@A*)mlFd6%k+t7 xc!j4=IKw-seSSPA5OZyxAJ3g#!N@xus7F7M3ln-a^xPZ*VKM=LxX_F&hxG12M<;JR!~wpXoJccvrPA ejOPSmuI&rsxw9+UfvUIj-r&jmvK=V-{0RW!Y9LYo From 26a80bb0197b48ad4dd5b4478bdd1e6bf25f5474 Mon Sep 17 00:00:00 2001 From: Turo Lamminen Date: Wed, 15 Jan 2020 14:15:29 +0200 Subject: [PATCH 027/105] Refactor COB import test to not use a class --- test/unit/ImportExport/utCOBImportExport.cpp | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/test/unit/ImportExport/utCOBImportExport.cpp b/test/unit/ImportExport/utCOBImportExport.cpp index d80757e53..3147dc143 100644 --- a/test/unit/ImportExport/utCOBImportExport.cpp +++ b/test/unit/ImportExport/utCOBImportExport.cpp @@ -43,22 +43,17 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include "UnitTestPCH.h" #include "SceneDiffer.h" -#include "AbstractImportExportBase.h" #include #include using namespace Assimp; -class utCOBImportExport : public AbstractImportExportBase { -public: - virtual bool importerTest() { - Assimp::Importer importer; - const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/COB/molecule.cob", aiProcess_ValidateDataStructure); - return nullptr != scene; - } -}; -TEST_F(utCOBImportExport, importAMFFromFileTest) { - EXPECT_TRUE(importerTest()); +TEST(utCOBImporter, importMolecule) { + Assimp::Importer importer; + const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/COB/molecule.cob", aiProcess_ValidateDataStructure); + ASSERT_NE(nullptr, scene); } + + From 542b1f768858db91875680218e7ebdca3b9c969f Mon Sep 17 00:00:00 2001 From: Turo Lamminen Date: Wed, 15 Jan 2020 14:34:25 +0200 Subject: [PATCH 028/105] Add more COB importer unit tests --- test/unit/ImportExport/utCOBImportExport.cpp | 51 ++++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/test/unit/ImportExport/utCOBImportExport.cpp b/test/unit/ImportExport/utCOBImportExport.cpp index 3147dc143..c01487c84 100644 --- a/test/unit/ImportExport/utCOBImportExport.cpp +++ b/test/unit/ImportExport/utCOBImportExport.cpp @@ -50,6 +50,31 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. using namespace Assimp; +TEST(utCOBImporter, importDwarfASCII) { + Assimp::Importer importer; + const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/COB/dwarf_ascii.cob", aiProcess_ValidateDataStructure); + // FIXME: this is wrong, it should succeed + // change to ASSERT_NE after it's been fixed + ASSERT_EQ(nullptr, scene); +} + + +TEST(utCOBImporter, importDwarf) { + Assimp::Importer importer; + const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/COB/dwarf.cob", aiProcess_ValidateDataStructure); + ASSERT_NE(nullptr, scene); +} + + +TEST(utCOBImporter, importMoleculeASCII) { + Assimp::Importer importer; + const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/COB/molecule_ascii.cob", aiProcess_ValidateDataStructure); + // FIXME: this is wrong, it should succeed + // change to ASSERT_NE after it's been fixed + ASSERT_EQ(nullptr, scene); +} + + TEST(utCOBImporter, importMolecule) { Assimp::Importer importer; const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/COB/molecule.cob", aiProcess_ValidateDataStructure); @@ -57,3 +82,29 @@ TEST(utCOBImporter, importMolecule) { } +TEST(utCOBImporter, importSpider43ASCII) { + Assimp::Importer importer; + const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/COB/spider_4_3_ascii.cob", aiProcess_ValidateDataStructure); + ASSERT_NE(nullptr, scene); +} + + +TEST(utCOBImporter, importSpider43) { + Assimp::Importer importer; + const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/COB/spider_4_3.cob", aiProcess_ValidateDataStructure); + ASSERT_NE(nullptr, scene); +} + + +TEST(utCOBImporter, importSpider66ASCII) { + Assimp::Importer importer; + const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/COB/spider_6_6_ascii.cob", aiProcess_ValidateDataStructure); + ASSERT_NE(nullptr, scene); +} + + +TEST(utCOBImporter, importSpider66) { + Assimp::Importer importer; + const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/COB/spider_6_6.cob", aiProcess_ValidateDataStructure); + ASSERT_NE(nullptr, scene); +} From 23e4dd8ae5d06a9a3681ccc0b93396b56bbddee9 Mon Sep 17 00:00:00 2001 From: Kim Kulling Date: Wed, 15 Jan 2020 14:11:40 +0100 Subject: [PATCH 029/105] Update appveyor.yml Use cmake for build. --- appveyor.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/appveyor.yml b/appveyor.yml index 9aeac7832..4e1df941a 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -54,9 +54,11 @@ cache: - bin\.mtime_cache before_build: + - echo NUMBER_OF_PROCESSORS=%NUMBER_OF_PROCESSORS% - ruby scripts\AppVeyor\mtime_cache -g scripts\AppVeyor\cacheglobs.txt -c bin\.mtime_cache\cache.json build: + - cmake --build . --use-stderr --target Release -- -j%NUMBER_OF_PROCESSORS% parallel: true project: Assimp.sln From 9867bdd9841188396c848233d98f12998f7b5929 Mon Sep 17 00:00:00 2001 From: Kim Kulling Date: Wed, 15 Jan 2020 15:08:35 +0100 Subject: [PATCH 030/105] Update appveyor.yml Fix the build script. --- appveyor.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/appveyor.yml b/appveyor.yml index 4e1df941a..a5f2fd111 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -59,8 +59,6 @@ before_build: build: - cmake --build . --use-stderr --target Release -- -j%NUMBER_OF_PROCESSORS% - parallel: true - project: Assimp.sln after_build: - if "%APPVEYOR_BUILD_WORKER_IMAGE%"=="Visual Studio 2017" ( From f7ca69c07efbd0a021bb9870d78ad40d9be96b57 Mon Sep 17 00:00:00 2001 From: Kim Kulling Date: Wed, 15 Jan 2020 15:53:24 +0100 Subject: [PATCH 031/105] Update appveyor.yml Next try --- appveyor.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/appveyor.yml b/appveyor.yml index a5f2fd111..aadb90da3 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -58,7 +58,7 @@ before_build: - ruby scripts\AppVeyor\mtime_cache -g scripts\AppVeyor\cacheglobs.txt -c bin\.mtime_cache\cache.json build: - - cmake --build . --use-stderr --target Release -- -j%NUMBER_OF_PROCESSORS% + - cmake --build . --target Release -j%NUMBER_OF_PROCESSORS% after_build: - if "%APPVEYOR_BUILD_WORKER_IMAGE%"=="Visual Studio 2017" ( From ce087fe6e20100bb3b98b061b6d7ad424ee61e9d Mon Sep 17 00:00:00 2001 From: Kim Kulling Date: Wed, 15 Jan 2020 16:03:39 +0100 Subject: [PATCH 032/105] Update appveyor.yml Fix the build --- appveyor.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/appveyor.yml b/appveyor.yml index aadb90da3..857ddd849 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -58,7 +58,8 @@ before_build: - ruby scripts\AppVeyor\mtime_cache -g scripts\AppVeyor\cacheglobs.txt -c bin\.mtime_cache\cache.json build: - - cmake --build . --target Release -j%NUMBER_OF_PROCESSORS% + parallel: true + project: Assimp.sln after_build: - if "%APPVEYOR_BUILD_WORKER_IMAGE%"=="Visual Studio 2017" ( From 1cae51615f81f11cd4283c3e5792a7c226815111 Mon Sep 17 00:00:00 2001 From: "Hui.Du" Date: Thu, 16 Jan 2020 11:49:00 +1300 Subject: [PATCH 033/105] Fix: gltf exporting memory leak --- code/glTF/glTFAsset.inl | 4 +++- code/glTF/glTFExporter.cpp | 9 ++++----- code/glTF/glTFExporter.h | 2 +- code/glTF2/glTF2Asset.inl | 7 +++++-- code/glTF2/glTF2Exporter.cpp | 6 ++---- 5 files changed, 15 insertions(+), 13 deletions(-) diff --git a/code/glTF/glTFAsset.inl b/code/glTF/glTFAsset.inl index 500d49fcb..f93f195bb 100644 --- a/code/glTF/glTFAsset.inl +++ b/code/glTF/glTFAsset.inl @@ -688,7 +688,9 @@ inline void Image::SetData(uint8_t* data, size_t length, Asset& r) bufferView->byteOffset = b->AppendData(data, length); } else { // text file: will be stored as a data uri - this->mData.reset(data); + uint8_t *temp = new uint8_t[length]; + memcpy(temp, data, length); + this->mData.reset(temp); this->mDataLength = length; } } diff --git a/code/glTF/glTFExporter.cpp b/code/glTF/glTFExporter.cpp index cf8ef974a..4772c7dc6 100644 --- a/code/glTF/glTFExporter.cpp +++ b/code/glTF/glTFExporter.cpp @@ -100,17 +100,16 @@ glTFExporter::glTFExporter(const char* filename, IOSystem* pIOSystem, const aiSc { aiScene* sceneCopy_tmp; SceneCombiner::CopyScene(&sceneCopy_tmp, pScene); - aiScene *sceneCopy(sceneCopy_tmp); SplitLargeMeshesProcess_Triangle tri_splitter; tri_splitter.SetLimit(0xffff); - tri_splitter.Execute(sceneCopy); + tri_splitter.Execute(sceneCopy_tmp); SplitLargeMeshesProcess_Vertex vert_splitter; vert_splitter.SetLimit(0xffff); - vert_splitter.Execute(sceneCopy); + vert_splitter.Execute(sceneCopy_tmp); - mScene = sceneCopy; + mScene.reset(sceneCopy_tmp); mAsset.reset( new glTF::Asset( pIOSystem ) ); @@ -877,7 +876,7 @@ void glTFExporter::ExportMetadata() // Copyright aiString copyright_str; - if (mScene->mMetaData->Get(AI_METADATA_SOURCE_COPYRIGHT, copyright_str)) { + if (mScene->mMetaData != nullptr && mScene->mMetaData->Get(AI_METADATA_SOURCE_COPYRIGHT, copyright_str)) { asset.copyright = copyright_str.C_Str(); } } diff --git a/code/glTF/glTFExporter.h b/code/glTF/glTFExporter.h index d6c2e7f04..ffa2ce42e 100644 --- a/code/glTF/glTFExporter.h +++ b/code/glTF/glTFExporter.h @@ -90,7 +90,7 @@ namespace Assimp const char* mFilename; IOSystem* mIOSystem; - const aiScene* mScene; + std::shared_ptr mScene; const ExportProperties* mProperties; std::map mTexturesByPath; diff --git a/code/glTF2/glTF2Asset.inl b/code/glTF2/glTF2Asset.inl index e55857be1..3db37c72b 100644 --- a/code/glTF2/glTF2Asset.inl +++ b/code/glTF2/glTF2Asset.inl @@ -752,6 +752,7 @@ inline uint8_t* Image::StealData() return mData.release(); } +// Never take over the ownership of data whenever binary or not inline void Image::SetData(uint8_t* data, size_t length, Asset& r) { Ref b = r.GetBodyBuffer(); @@ -764,8 +765,10 @@ inline void Image::SetData(uint8_t* data, size_t length, Asset& r) bufferView->byteOffset = b->AppendData(data, length); } else { // text file: will be stored as a data uri - this->mData.reset(data); - this->mDataLength = length; + uint8_t *temp = new uint8_t[length]; + memcpy(temp, data, length); + this->mData.reset(temp); + this->mDataLength = length; } } diff --git a/code/glTF2/glTF2Exporter.cpp b/code/glTF2/glTF2Exporter.cpp index d7b16ab04..ee40694f9 100644 --- a/code/glTF2/glTF2Exporter.cpp +++ b/code/glTF2/glTF2Exporter.cpp @@ -352,10 +352,8 @@ void glTF2Exporter::GetMatTex(const aiMaterial* mat, Ref& texture, aiTe if (path[0] == '*') { // embedded aiTexture* tex = mScene->mTextures[atoi(&path[1])]; - // copy data since lifetime control is handed over to the asset - uint8_t* data = new uint8_t[tex->mWidth]; - memcpy(data, tex->pcData, tex->mWidth); - texture->source->SetData(data, tex->mWidth, *mAsset); + // The asset has its own buffer, see Image::SetData + texture->source->SetData(reinterpret_cast (tex->pcData), tex->mWidth, *mAsset); if (tex->achFormatHint[0]) { std::string mimeType = "image/"; From 08110be9f742b3167ff9bd6906b35e59d3595b4a Mon Sep 17 00:00:00 2001 From: Turo Lamminen Date: Thu, 16 Jan 2020 13:41:01 +0200 Subject: [PATCH 034/105] Revert BoxTextured.glb to working version --- .../BoxTextured-glTF-Binary/BoxTextured.glb | Bin 4695 -> 4696 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/test/models/glTF2/BoxTextured-glTF-Binary/BoxTextured.glb b/test/models/glTF2/BoxTextured-glTF-Binary/BoxTextured.glb index 19b5546b04f56818f70f8bf809863ec8853b72f1..03cd2acf941a0838722aa3e7243d33a8f459c22e 100644 GIT binary patch delta 14 Vcmcbvazkaq4Gu=$%{MseIRP+R1+f4C delta 12 Tcmcbia$RM^4UWw>IqEq9DEtMa From 2a366388c2f9326c5f8f515dd21251ef19ef9212 Mon Sep 17 00:00:00 2001 From: Turo Lamminen Date: Thu, 16 Jan 2020 13:55:34 +0200 Subject: [PATCH 035/105] Revert Wuson.ms3d to working version --- test/models/MS3D/Wuson.ms3d | Bin 330211 -> 330213 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/test/models/MS3D/Wuson.ms3d b/test/models/MS3D/Wuson.ms3d index e78cbaa58e0ded211393ecea424f8b8e6ade237f..2fc79ac82666277998e21202ce5914e971c93561 100644 GIT binary patch delta 33 ocmaDnS>)+tk%kt=7N!>FEi6}h70$Z73Z&0WVi7L~0PANB8~^|S delta 29 lcmaDlS>*9#k%kt=7N!>FEi6}hwqNaG`N6vV+$0w9asbB|4FdoG From 89e622060b02a5911bdabcb64afdd8a20c16c0e8 Mon Sep 17 00:00:00 2001 From: Turo Lamminen Date: Thu, 16 Jan 2020 14:02:04 +0200 Subject: [PATCH 036/105] Preserve more exceptions in Half-Life MDL loader --- code/MDL/HalfLife/HL1MDLLoader.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/MDL/HalfLife/HL1MDLLoader.cpp b/code/MDL/HalfLife/HL1MDLLoader.cpp index 785183950..90a1479a3 100644 --- a/code/MDL/HalfLife/HL1MDLLoader.cpp +++ b/code/MDL/HalfLife/HL1MDLLoader.cpp @@ -175,9 +175,9 @@ void HL1MDLLoader::load_file() { release_resources(); - } catch (const std::exception &e) { + } catch (...) { release_resources(); - throw e; + throw; } } From 715337aa0b95936b11fe622f9e658427c3814c07 Mon Sep 17 00:00:00 2001 From: Matthias Moulin Date: Thu, 16 Jan 2020 18:21:28 +0100 Subject: [PATCH 037/105] Suppressed MSVC++ warning C4244 'return': conversion from '__int64' to 'int', possible loss of data --- code/Assjson/cencode.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/code/Assjson/cencode.c b/code/Assjson/cencode.c index db99e7efa..bd302100b 100644 --- a/code/Assjson/cencode.c +++ b/code/Assjson/cencode.c @@ -42,7 +42,7 @@ int base64_encode_block(const char* plaintext_in, int length_in, char* code_out, { state_in->result = result; state_in->step = step_A; - return codechar - code_out; + return (int)(codechar - code_out); } fragment = *plainchar++; result = (fragment & 0x0fc) >> 2; @@ -53,7 +53,7 @@ int base64_encode_block(const char* plaintext_in, int length_in, char* code_out, { state_in->result = result; state_in->step = step_B; - return codechar - code_out; + return (int)(codechar - code_out); } fragment = *plainchar++; result |= (fragment & 0x0f0) >> 4; @@ -64,7 +64,7 @@ int base64_encode_block(const char* plaintext_in, int length_in, char* code_out, { state_in->result = result; state_in->step = step_C; - return codechar - code_out; + return (int)(codechar - code_out); } fragment = *plainchar++; result |= (fragment & 0x0c0) >> 6; @@ -81,7 +81,7 @@ int base64_encode_block(const char* plaintext_in, int length_in, char* code_out, } } /* control should not reach here */ - return codechar - code_out; + return (int)(codechar - code_out); } int base64_encode_blockend(char* code_out, base64_encodestate* state_in) @@ -104,6 +104,6 @@ int base64_encode_blockend(char* code_out, base64_encodestate* state_in) } *codechar++ = '\n'; - return codechar - code_out; + return (int)(codechar - code_out); } From e0e9ec720bc0eae2f5ed620d920a52cd046d84df Mon Sep 17 00:00:00 2001 From: Matthias Moulin Date: Thu, 16 Jan 2020 18:24:06 +0100 Subject: [PATCH 038/105] Suppressed MSVC++ warning C4267 '=': conversion from 'size_t' to 'ai_uint32', possible loss of data --- code/CSM/CSMLoader.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/CSM/CSMLoader.cpp b/code/CSM/CSMLoader.cpp index 9dbb38467..7fea06727 100644 --- a/code/CSM/CSMLoader.cpp +++ b/code/CSM/CSMLoader.cpp @@ -178,7 +178,7 @@ void CSMImporter::InternReadFile( const std::string& pFile, *ot++ = *buffer++; *ot = '\0'; - nda->mNodeName.length = (size_t)(ot-nda->mNodeName.data); + nda->mNodeName.length = (ai_uint32)(ot-nda->mNodeName.data); } anim->mNumChannels = static_cast(anims_temp.size()); From fb5a30efd09cd6a9735673ac75493141d1f78dd6 Mon Sep 17 00:00:00 2001 From: Matthias Moulin Date: Thu, 16 Jan 2020 18:25:37 +0100 Subject: [PATCH 039/105] Suppressed MSVC++ warning C4267 '=': conversion from 'size_t' to 'ai_uint32', possible loss of data --- code/MDL/MDLLoader.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/MDL/MDLLoader.cpp b/code/MDL/MDLLoader.cpp index 027c03cbd..57a6bda95 100644 --- a/code/MDL/MDLLoader.cpp +++ b/code/MDL/MDLLoader.cpp @@ -1575,7 +1575,7 @@ void MDLImporter::InternReadFile_3DGS_MDL7( ) const size_t maxSize(buffersize - (i*AI_MDL7_MAX_GROUPNAMESIZE)); pcNode->mName.length = ai_snprintf(szBuffer, maxSize, "Group_%u", p); } else { - pcNode->mName.length = ::strlen(szBuffer); + pcNode->mName.length = (ai_uint32)::strlen(szBuffer); } ::strncpy(pcNode->mName.data,szBuffer,MAXLEN-1); ++p; From 3ab21c926c29bab9bef8ff3bc8c01d08e72ffd4e Mon Sep 17 00:00:00 2001 From: Matthias Moulin Date: Thu, 16 Jan 2020 18:27:00 +0100 Subject: [PATCH 040/105] Suppressed MSVC++ warning C4267 '=': conversion from 'size_t' to 'ai_uint32', possible loss of data --- code/MDL/MDLMaterialLoader.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code/MDL/MDLMaterialLoader.cpp b/code/MDL/MDLMaterialLoader.cpp index 0a196761f..79b57128a 100644 --- a/code/MDL/MDLMaterialLoader.cpp +++ b/code/MDL/MDLMaterialLoader.cpp @@ -541,7 +541,7 @@ void MDLImporter::ParseSkinLump_3DGS_MDL7( size_t iLen2 = iLen+1; iLen2 = iLen2 > MAXLEN ? MAXLEN : iLen2; memcpy(szFile.data,(const char*)szCurrent,iLen2); - szFile.length = iLen; + szFile.length = (ai_uint32)iLen; szCurrent += iLen2; @@ -710,7 +710,7 @@ void MDLImporter::ParseSkinLump_3DGS_MDL7( aiString szFile; const size_t iLen = strlen((const char*)szCurrent); ::memcpy(szFile.data,(const char*)szCurrent,iLen+1); - szFile.length = iLen; + szFile.length = (ai_uint32)iLen; pcMatOut->AddProperty(&szFile,AI_MATKEY_TEXTURE_DIFFUSE(0)); @@ -831,7 +831,7 @@ void MDLImporter::ParseSkinLump_3DGS_MDL7( aiString szFile; ::memcpy(szFile.data,pcSkin->texture_name,sizeof(pcSkin->texture_name)); szFile.data[sizeof(pcSkin->texture_name)] = '\0'; - szFile.length = ::strlen(szFile.data); + szFile.length = (ai_uint32)::strlen(szFile.data); pcMatOut->AddProperty(&szFile,AI_MATKEY_NAME); } From 91ecad5da8ae31deceed17fe07ec8646a49babba Mon Sep 17 00:00:00 2001 From: Matthias Moulin Date: Thu, 16 Jan 2020 18:28:04 +0100 Subject: [PATCH 041/105] Suppressed MSVC++ warning C4267 '=': conversion from 'size_t' to 'ai_uint32', possible loss of data --- code/Material/MaterialSystem.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/Material/MaterialSystem.cpp b/code/Material/MaterialSystem.cpp index aa3df9ac2..befdb43d2 100644 --- a/code/Material/MaterialSystem.cpp +++ b/code/Material/MaterialSystem.cpp @@ -504,7 +504,7 @@ aiReturn aiMaterial::AddBinaryProperty (const void* pInput, pcNew->mData = new char[pSizeInBytes]; memcpy (pcNew->mData,pInput,pSizeInBytes); - pcNew->mKey.length = ::strlen(pKey); + pcNew->mKey.length = (ai_uint32)::strlen(pKey); ai_assert ( MAXLEN > pcNew->mKey.length); strcpy( pcNew->mKey.data, pKey ); From 633a37512f5faf60616d8450282e9dcdd991a581 Mon Sep 17 00:00:00 2001 From: Matthias Moulin Date: Thu, 16 Jan 2020 18:28:45 +0100 Subject: [PATCH 042/105] Suppressed MSVC++ warning C4267 '=': conversion from 'size_t' to 'ai_uint32', possible loss of data --- code/Q3BSP/Q3BSPFileImporter.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/Q3BSP/Q3BSPFileImporter.cpp b/code/Q3BSP/Q3BSPFileImporter.cpp index 4add00a07..a492cc92a 100644 --- a/code/Q3BSP/Q3BSPFileImporter.cpp +++ b/code/Q3BSP/Q3BSPFileImporter.cpp @@ -616,7 +616,7 @@ bool Q3BSPFileImporter::importTextureFromArchive( const Q3BSP::Q3BSPModel *model // We'll leave it up to the user to figure out which extension the file has. aiString name; strncpy( name.data, pTexture->strName, sizeof name.data ); - name.length = strlen( name.data ); + name.length = (ai_uint32)strlen( name.data ); pMatHelper->AddProperty( &name, AI_MATKEY_TEXTURE_DIFFUSE( 0 ) ); } } From 784a05651b175f7e8ae957d0fa269a915ec97947 Mon Sep 17 00:00:00 2001 From: Matthias Moulin Date: Thu, 16 Jan 2020 18:29:30 +0100 Subject: [PATCH 043/105] Suppressed MSVC++ warning C4267 '=': conversion from 'size_t' to 'ai_uint32', possible loss of data --- code/SMD/SMDLoader.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/SMD/SMDLoader.cpp b/code/SMD/SMDLoader.cpp index 7eb6b18d1..aa1f26cc8 100644 --- a/code/SMD/SMDLoader.cpp +++ b/code/SMD/SMDLoader.cpp @@ -616,7 +616,7 @@ void SMDImporter::CreateOutputMaterials() { if (aszTextures[iMat].length()) { ::strncpy(szName.data, aszTextures[iMat].c_str(),MAXLEN-1); - szName.length = aszTextures[iMat].length(); + szName.length = (ai_uint32)aszTextures[iMat].length(); pcMat->AddProperty(&szName,AI_MATKEY_TEXTURE_DIFFUSE(0)); } } From bdc10aa336a11344fd76919b8f3c640f571f57be Mon Sep 17 00:00:00 2001 From: Matthias Moulin Date: Thu, 16 Jan 2020 18:30:11 +0100 Subject: [PATCH 044/105] Suppressed MSVC++ warning C4267 '=': conversion from 'size_t' to 'ai_uint32', possible loss of data --- code/Unreal/UnrealLoader.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/Unreal/UnrealLoader.cpp b/code/Unreal/UnrealLoader.cpp index 0bd4650d0..00b6b812d 100644 --- a/code/Unreal/UnrealLoader.cpp +++ b/code/Unreal/UnrealLoader.cpp @@ -403,7 +403,7 @@ void UnrealImporter::InternReadFile( const std::string& pFile, // set color and name mat->AddProperty(&color,1,AI_MATKEY_COLOR_DIFFUSE); - s.length = ::strlen(s.data); + s.length = (ai_uint32)::strlen(s.data); mat->AddProperty(&s,AI_MATKEY_NAME); // set texture, if any From 986c18501a16dd05a1789cd71e5197e648e96053 Mon Sep 17 00:00:00 2001 From: Matthias Moulin Date: Thu, 16 Jan 2020 18:31:44 +0100 Subject: [PATCH 045/105] Suppressed MSVC++ warning C4267 '=': conversion from 'size_t' to 'ai_uint32', possible loss of data --- code/X/XFileImporter.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/X/XFileImporter.cpp b/code/X/XFileImporter.cpp index be7256d5c..122033b08 100644 --- a/code/X/XFileImporter.cpp +++ b/code/X/XFileImporter.cpp @@ -211,7 +211,7 @@ aiNode* XFileImporter::CreateNodes( aiScene* pScene, aiNode* pParent, const XFil // create node aiNode* node = new aiNode; - node->mName.length = pNode->mName.length(); + node->mName.length = (ai_uint32)pNode->mName.length(); node->mParent = pParent; memcpy( node->mName.data, pNode->mName.c_str(), pNode->mName.length()); node->mName.data[node->mName.length] = 0; From 25a11ac10168c74a53495ff31691079f555dc757 Mon Sep 17 00:00:00 2001 From: Kim Kulling Date: Fri, 17 Jan 2020 13:33:50 +0100 Subject: [PATCH 046/105] Update appveyor.yml Try to enable parallel build. --- appveyor.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/appveyor.yml b/appveyor.yml index 857ddd849..61ec49f8f 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -57,9 +57,8 @@ before_build: - echo NUMBER_OF_PROCESSORS=%NUMBER_OF_PROCESSORS% - ruby scripts\AppVeyor\mtime_cache -g scripts\AppVeyor\cacheglobs.txt -c bin\.mtime_cache\cache.json -build: - parallel: true - project: Assimp.sln +build_script: + cmake --build . -- /maxcpucount:2 after_build: - if "%APPVEYOR_BUILD_WORKER_IMAGE%"=="Visual Studio 2017" ( From 6970e70dbb48e82f0a0c4a1569706ae518d95ae0 Mon Sep 17 00:00:00 2001 From: Marc-Antoine Lortie Date: Fri, 17 Jan 2020 08:27:52 -0500 Subject: [PATCH 047/105] [MDL] Updated header to use when checking file size. (Redone) This is needed since it's possible to have an MDL sequence group file that has a size less than the Quake 1 MDL header. --- code/MDL/MDLLoader.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/MDL/MDLLoader.cpp b/code/MDL/MDLLoader.cpp index 57a6bda95..eb629d35a 100644 --- a/code/MDL/MDLLoader.cpp +++ b/code/MDL/MDLLoader.cpp @@ -179,9 +179,9 @@ void MDLImporter::InternReadFile( const std::string& pFile, } // This should work for all other types of MDL files, too ... - // the quake header is one of the smallest, afaik + // the HL1 sequence group header is one of the smallest, afaik iFileSize = (unsigned int)file->FileSize(); - if( iFileSize < sizeof(MDL::Header)) { + if( iFileSize < sizeof(MDL::HalfLife::SequenceHeader_HL1)) { throw DeadlyImportError( "MDL File is too small."); } From cc40963e1a9a4734180246096ca2f81a80e15c24 Mon Sep 17 00:00:00 2001 From: Matthias Moulin Date: Fri, 17 Jan 2020 16:07:50 +0100 Subject: [PATCH 048/105] Removed name of unreferenced local variable in catch block --- code/FBX/FBXConverter.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/FBX/FBXConverter.cpp b/code/FBX/FBXConverter.cpp index 5b34868ba..d672afe56 100644 --- a/code/FBX/FBXConverter.cpp +++ b/code/FBX/FBXConverter.cpp @@ -1564,7 +1564,7 @@ namespace Assimp { bone_map.clear(); } - catch (std::exception&e) { + catch (std::exception&) { std::for_each(bones.begin(), bones.end(), Util::delete_fun()); throw; } From d2e4d47908a5d1535493cc3106377adab393ab3c Mon Sep 17 00:00:00 2001 From: Kim Kulling Date: Fri, 17 Jan 2020 19:32:59 +0100 Subject: [PATCH 049/105] Update appveyor.yml fix build folder --- appveyor.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/appveyor.yml b/appveyor.yml index 61ec49f8f..299f42df6 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -58,7 +58,7 @@ before_build: - ruby scripts\AppVeyor\mtime_cache -g scripts\AppVeyor\cacheglobs.txt -c bin\.mtime_cache\cache.json build_script: - cmake --build . -- /maxcpucount:2 + cmake --build . --config Release -- /maxcpucount:2 after_build: - if "%APPVEYOR_BUILD_WORKER_IMAGE%"=="Visual Studio 2017" ( From 247667233dac4ce9d164f1a876f1ad32390f8e12 Mon Sep 17 00:00:00 2001 From: Marc-Antoine Lortie Date: Sat, 18 Jan 2020 14:58:19 -0500 Subject: [PATCH 050/105] Fixed memory leak in MDLLoader.cpp If one of the MDL importer implementations throw an exception, the memory allocated at mBuffer may never be freed. This fix should prevent further memory leaks. --- code/MDL/MDLLoader.cpp | 167 ++++++++++++++++++++++------------------- 1 file changed, 89 insertions(+), 78 deletions(-) diff --git a/code/MDL/MDLLoader.cpp b/code/MDL/MDLLoader.cpp index eb629d35a..78dc9d77f 100644 --- a/code/MDL/MDLLoader.cpp +++ b/code/MDL/MDLLoader.cpp @@ -184,88 +184,99 @@ void MDLImporter::InternReadFile( const std::string& pFile, if( iFileSize < sizeof(MDL::HalfLife::SequenceHeader_HL1)) { throw DeadlyImportError( "MDL File is too small."); } - - // Allocate storage and copy the contents of the file to a memory buffer - mBuffer =new unsigned char[iFileSize+1]; - file->Read( (void*)mBuffer, 1, iFileSize); - - // Append a binary zero to the end of the buffer. - // this is just for safety that string parsing routines - // find the end of the buffer ... - mBuffer[iFileSize] = '\0'; - const uint32_t iMagicWord = *((uint32_t*)mBuffer); - - // Determine the file subtype and call the appropriate member function - - // Original Quake1 format - if (AI_MDL_MAGIC_NUMBER_BE == iMagicWord || AI_MDL_MAGIC_NUMBER_LE == iMagicWord) { - ASSIMP_LOG_DEBUG("MDL subtype: Quake 1, magic word is IDPO"); - iGSFileVersion = 0; - InternReadFile_Quake1(); - } - // GameStudio A MDL2 format - used by some test models that come with 3DGS - else if (AI_MDL_MAGIC_NUMBER_BE_GS3 == iMagicWord || AI_MDL_MAGIC_NUMBER_LE_GS3 == iMagicWord) { - ASSIMP_LOG_DEBUG("MDL subtype: 3D GameStudio A2, magic word is MDL2"); - iGSFileVersion = 2; - InternReadFile_Quake1(); - } - // GameStudio A4 MDL3 format - else if (AI_MDL_MAGIC_NUMBER_BE_GS4 == iMagicWord || AI_MDL_MAGIC_NUMBER_LE_GS4 == iMagicWord) { - ASSIMP_LOG_DEBUG("MDL subtype: 3D GameStudio A4, magic word is MDL3"); - iGSFileVersion = 3; - InternReadFile_3DGS_MDL345(); - } - // GameStudio A5+ MDL4 format - else if (AI_MDL_MAGIC_NUMBER_BE_GS5a == iMagicWord || AI_MDL_MAGIC_NUMBER_LE_GS5a == iMagicWord) { - ASSIMP_LOG_DEBUG("MDL subtype: 3D GameStudio A4, magic word is MDL4"); - iGSFileVersion = 4; - InternReadFile_3DGS_MDL345(); - } - // GameStudio A5+ MDL5 format - else if (AI_MDL_MAGIC_NUMBER_BE_GS5b == iMagicWord || AI_MDL_MAGIC_NUMBER_LE_GS5b == iMagicWord) { - ASSIMP_LOG_DEBUG("MDL subtype: 3D GameStudio A5, magic word is MDL5"); - iGSFileVersion = 5; - InternReadFile_3DGS_MDL345(); - } - // GameStudio A7 MDL7 format - else if (AI_MDL_MAGIC_NUMBER_BE_GS7 == iMagicWord || AI_MDL_MAGIC_NUMBER_LE_GS7 == iMagicWord) { - ASSIMP_LOG_DEBUG("MDL subtype: 3D GameStudio A7, magic word is MDL7"); - iGSFileVersion = 7; - InternReadFile_3DGS_MDL7(); - } - // IDST/IDSQ Format (CS:S/HL^2, etc ...) - else if (AI_MDL_MAGIC_NUMBER_BE_HL2a == iMagicWord || AI_MDL_MAGIC_NUMBER_LE_HL2a == iMagicWord || - AI_MDL_MAGIC_NUMBER_BE_HL2b == iMagicWord || AI_MDL_MAGIC_NUMBER_LE_HL2b == iMagicWord) - { - iGSFileVersion = 0; - - HalfLife::HalfLifeMDLBaseHeader *pHeader = (HalfLife::HalfLifeMDLBaseHeader *)mBuffer; - if (pHeader->version == AI_MDL_HL1_VERSION) - { - ASSIMP_LOG_DEBUG("MDL subtype: Half-Life 1/Goldsrc Engine, magic word is IDST/IDSQ"); - InternReadFile_HL1(pFile, iMagicWord); + + // delete the file buffer and cleanup. + auto DeleteBufferAndCleanup = [&]() { + if (mBuffer) { + delete mBuffer; + mBuffer = nullptr; } - else - { - ASSIMP_LOG_DEBUG("MDL subtype: Source(tm) Engine, magic word is IDST/IDSQ"); - InternReadFile_HL2(); + AI_DEBUG_INVALIDATE_PTR(pIOHandler); + AI_DEBUG_INVALIDATE_PTR(pScene); + }; + + try { + // Allocate storage and copy the contents of the file to a memory buffer + mBuffer = new unsigned char[iFileSize+1]; + file->Read( (void*)mBuffer, 1, iFileSize); + + // Append a binary zero to the end of the buffer. + // this is just for safety that string parsing routines + // find the end of the buffer ... + mBuffer[iFileSize] = '\0'; + const uint32_t iMagicWord = *((uint32_t*)mBuffer); + + // Determine the file subtype and call the appropriate member function + + // Original Quake1 format + if (AI_MDL_MAGIC_NUMBER_BE == iMagicWord || AI_MDL_MAGIC_NUMBER_LE == iMagicWord) { + ASSIMP_LOG_DEBUG("MDL subtype: Quake 1, magic word is IDPO"); + iGSFileVersion = 0; + InternReadFile_Quake1(); } - } - else { - // print the magic word to the log file - throw DeadlyImportError( "Unknown MDL subformat " + pFile + - ". Magic word (" + std::string((char*)&iMagicWord,4) + ") is not known"); - } + // GameStudio A MDL2 format - used by some test models that come with 3DGS + else if (AI_MDL_MAGIC_NUMBER_BE_GS3 == iMagicWord || AI_MDL_MAGIC_NUMBER_LE_GS3 == iMagicWord) { + ASSIMP_LOG_DEBUG("MDL subtype: 3D GameStudio A2, magic word is MDL2"); + iGSFileVersion = 2; + InternReadFile_Quake1(); + } + // GameStudio A4 MDL3 format + else if (AI_MDL_MAGIC_NUMBER_BE_GS4 == iMagicWord || AI_MDL_MAGIC_NUMBER_LE_GS4 == iMagicWord) { + ASSIMP_LOG_DEBUG("MDL subtype: 3D GameStudio A4, magic word is MDL3"); + iGSFileVersion = 3; + InternReadFile_3DGS_MDL345(); + } + // GameStudio A5+ MDL4 format + else if (AI_MDL_MAGIC_NUMBER_BE_GS5a == iMagicWord || AI_MDL_MAGIC_NUMBER_LE_GS5a == iMagicWord) { + ASSIMP_LOG_DEBUG("MDL subtype: 3D GameStudio A4, magic word is MDL4"); + iGSFileVersion = 4; + InternReadFile_3DGS_MDL345(); + } + // GameStudio A5+ MDL5 format + else if (AI_MDL_MAGIC_NUMBER_BE_GS5b == iMagicWord || AI_MDL_MAGIC_NUMBER_LE_GS5b == iMagicWord) { + ASSIMP_LOG_DEBUG("MDL subtype: 3D GameStudio A5, magic word is MDL5"); + iGSFileVersion = 5; + InternReadFile_3DGS_MDL345(); + } + // GameStudio A7 MDL7 format + else if (AI_MDL_MAGIC_NUMBER_BE_GS7 == iMagicWord || AI_MDL_MAGIC_NUMBER_LE_GS7 == iMagicWord) { + ASSIMP_LOG_DEBUG("MDL subtype: 3D GameStudio A7, magic word is MDL7"); + iGSFileVersion = 7; + InternReadFile_3DGS_MDL7(); + } + // IDST/IDSQ Format (CS:S/HL^2, etc ...) + else if (AI_MDL_MAGIC_NUMBER_BE_HL2a == iMagicWord || AI_MDL_MAGIC_NUMBER_LE_HL2a == iMagicWord || + AI_MDL_MAGIC_NUMBER_BE_HL2b == iMagicWord || AI_MDL_MAGIC_NUMBER_LE_HL2b == iMagicWord) + { + iGSFileVersion = 0; - // Now rotate the whole scene 90 degrees around the x axis to convert to internal coordinate system - pScene->mRootNode->mTransformation = aiMatrix4x4(1.f,0.f,0.f,0.f, - 0.f,0.f,1.f,0.f,0.f,-1.f,0.f,0.f,0.f,0.f,0.f,1.f); + HalfLife::HalfLifeMDLBaseHeader *pHeader = (HalfLife::HalfLifeMDLBaseHeader *)mBuffer; + if (pHeader->version == AI_MDL_HL1_VERSION) + { + ASSIMP_LOG_DEBUG("MDL subtype: Half-Life 1/Goldsrc Engine, magic word is IDST/IDSQ"); + InternReadFile_HL1(pFile, iMagicWord); + } + else + { + ASSIMP_LOG_DEBUG("MDL subtype: Source(tm) Engine, magic word is IDST/IDSQ"); + InternReadFile_HL2(); + } + } + else { + // print the magic word to the log file + throw DeadlyImportError( "Unknown MDL subformat " + pFile + + ". Magic word (" + std::string((char*)&iMagicWord,4) + ") is not known"); + } - // delete the file buffer and cleanup - delete [] mBuffer; - mBuffer= nullptr; - AI_DEBUG_INVALIDATE_PTR(pIOHandler); - AI_DEBUG_INVALIDATE_PTR(pScene); + // Now rotate the whole scene 90 degrees around the x axis to convert to internal coordinate system + pScene->mRootNode->mTransformation = aiMatrix4x4(1.f,0.f,0.f,0.f, + 0.f,0.f,1.f,0.f,0.f,-1.f,0.f,0.f,0.f,0.f,0.f,1.f); + + DeleteBufferAndCleanup(); + } catch(...) { + DeleteBufferAndCleanup(); + throw; + } } // ------------------------------------------------------------------------------------------------ From b74562f8a08ab889e10b5f37cfac3b957cce52f8 Mon Sep 17 00:00:00 2001 From: Marc-Antoine Lortie Date: Sat, 18 Jan 2020 15:16:03 -0500 Subject: [PATCH 051/105] Fixed delete operator. --- code/MDL/MDLLoader.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/MDL/MDLLoader.cpp b/code/MDL/MDLLoader.cpp index 78dc9d77f..0c80abfc3 100644 --- a/code/MDL/MDLLoader.cpp +++ b/code/MDL/MDLLoader.cpp @@ -188,7 +188,7 @@ void MDLImporter::InternReadFile( const std::string& pFile, // delete the file buffer and cleanup. auto DeleteBufferAndCleanup = [&]() { if (mBuffer) { - delete mBuffer; + delete [] mBuffer; mBuffer = nullptr; } AI_DEBUG_INVALIDATE_PTR(pIOHandler); From 9deb8fb78630032e6e88c6bf0fd505045965b510 Mon Sep 17 00:00:00 2001 From: Marc-Antoine Lortie Date: Sun, 19 Jan 2020 12:48:45 -0500 Subject: [PATCH 052/105] Fixed child nodes not deleted if the importer failed to add them to the scene root node. --- code/MDL/HalfLife/HL1MDLLoader.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/code/MDL/HalfLife/HL1MDLLoader.cpp b/code/MDL/HalfLife/HL1MDLLoader.cpp index 90a1479a3..ea156316f 100644 --- a/code/MDL/HalfLife/HL1MDLLoader.cpp +++ b/code/MDL/HalfLife/HL1MDLLoader.cpp @@ -124,6 +124,17 @@ void HL1MDLLoader::release_resources() { delete[] anim_headers_; anim_headers_ = nullptr; } + + if (rootnode_children_.size()) { + // Here, it means that the nodes were not added to the + // scene root node. We still have to delete them. + for (auto it = rootnode_children_.begin(); it != rootnode_children_.end(); ++it) { + if (*it) + delete *it; + } + // Ensure this happens only once. + rootnode_children_.clear(); + } } // ------------------------------------------------------------------------------------------------ @@ -171,6 +182,10 @@ void HL1MDLLoader::load_file() { scene_->mRootNode->addChildren( static_cast(rootnode_children_.size()), rootnode_children_.data()); + + // Clear the list of nodes so they will not be destroyed + // when resources are released. + rootnode_children_.clear(); } release_resources(); From b7e51a38ef671aff02878c6dee74b88d4f477f70 Mon Sep 17 00:00:00 2001 From: Kim Kulling Date: Sun, 19 Jan 2020 20:16:13 +0100 Subject: [PATCH 053/105] Update HL1MDLLoader.cpp Minor findings. --- code/MDL/HalfLife/HL1MDLLoader.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/code/MDL/HalfLife/HL1MDLLoader.cpp b/code/MDL/HalfLife/HL1MDLLoader.cpp index ea156316f..edba58617 100644 --- a/code/MDL/HalfLife/HL1MDLLoader.cpp +++ b/code/MDL/HalfLife/HL1MDLLoader.cpp @@ -125,12 +125,14 @@ void HL1MDLLoader::release_resources() { anim_headers_ = nullptr; } - if (rootnode_children_.size()) { + // Root has some children ndoes. so let's proceed them + if (!rootnode_children_.empty()) { // Here, it means that the nodes were not added to the // scene root node. We still have to delete them. for (auto it = rootnode_children_.begin(); it != rootnode_children_.end(); ++it) { - if (*it) + if (*it) { delete *it; + } } // Ensure this happens only once. rootnode_children_.clear(); From 0c228806f707ff640d4df0cc85ee9f667b44cdef Mon Sep 17 00:00:00 2001 From: Turo Lamminen Date: Fri, 17 Jan 2020 14:17:26 +0200 Subject: [PATCH 054/105] Add all shipped .blend files to unit tests --- test/unit/utBlenderImportExport.cpp | 172 ++++++++++++++++++++++++++++ 1 file changed, 172 insertions(+) diff --git a/test/unit/utBlenderImportExport.cpp b/test/unit/utBlenderImportExport.cpp index b2d268497..f6d557e0c 100644 --- a/test/unit/utBlenderImportExport.cpp +++ b/test/unit/utBlenderImportExport.cpp @@ -60,3 +60,175 @@ public: TEST_F( utBlenderImporterExporter, importBlenFromFileTest ) { EXPECT_TRUE( importerTest() ); } + + +TEST( utBlenderImporter, import4cubes ) { + Assimp::Importer importer; + const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/BLEND/4Cubes4Mats_248.blend", aiProcess_ValidateDataStructure); + // FIXME: this is probably not right, loading this should succeed + ASSERT_EQ(nullptr, scene); +} + + +TEST( utBlenderImporter, import269_regress1 ) { + Assimp::Importer importer; + const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/BLEND/blender_269_regress1.blend", aiProcess_ValidateDataStructure); + ASSERT_NE(nullptr, scene); +} + + +TEST( utBlenderImporter, importBlenderDefault248 ) { + Assimp::Importer importer; + const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/BLEND/BlenderDefault_248.blend", aiProcess_ValidateDataStructure); + // FIXME: this is probably not right, loading this should succeed + ASSERT_EQ(nullptr, scene); +} + + +TEST( utBlenderImporter, importBlenderDefault250 ) { + Assimp::Importer importer; + const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/BLEND/BlenderDefault_250.blend", aiProcess_ValidateDataStructure); + // FIXME: this is probably not right, loading this should succeed + ASSERT_EQ(nullptr, scene); +} + + +TEST( utBlenderImporter, importBlenderDefault250Compressed ) { + Assimp::Importer importer; + const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/BLEND/BlenderDefault_250_Compressed.blend", aiProcess_ValidateDataStructure); + // FIXME: this is probably not right, loading this should succeed + ASSERT_EQ(nullptr, scene); +} + + +TEST( utBlenderImporter, importBlenderDefault262 ) { + Assimp::Importer importer; + const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/BLEND/BlenderDefault_262.blend", aiProcess_ValidateDataStructure); + // FIXME: this is probably not right, loading this should succeed + ASSERT_EQ(nullptr, scene); +} + + +TEST( utBlenderImporter, importBlenderDefault269 ) { + Assimp::Importer importer; + const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/BLEND/BlenderDefault_269.blend", aiProcess_ValidateDataStructure); + ASSERT_NE(nullptr, scene); +} + + +TEST( utBlenderImporter, importBlenderDefault271 ) { + Assimp::Importer importer; + const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/BLEND/BlenderDefault_271.blend", aiProcess_ValidateDataStructure); + ASSERT_NE(nullptr, scene); +} + + +TEST( utBlenderImporter, importCubeHierarchy_248 ) { + Assimp::Importer importer; + const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/BLEND/CubeHierarchy_248.blend", aiProcess_ValidateDataStructure); + // FIXME: this is probably not right, loading this should succeed + ASSERT_EQ(nullptr, scene); +} + + +TEST( utBlenderImporter, importHuman ) { + Assimp::Importer importer; + const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/BLEND/HUMAN.blend", aiProcess_ValidateDataStructure); + // FIXME: this is probably not right, loading this should succeed + ASSERT_EQ(nullptr, scene); +} + + +TEST( utBlenderImporter, importMirroredCube_252 ) { + Assimp::Importer importer; + const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/BLEND/MirroredCube_252.blend", aiProcess_ValidateDataStructure); + // FIXME: this is probably not right, loading this should succeed + ASSERT_EQ(nullptr, scene); +} + + +TEST( utBlenderImporter, importNoisyTexturedCube_VoronoiGlob_248 ) { + Assimp::Importer importer; + const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/BLEND/NoisyTexturedCube_VoronoiGlob_248.blend", aiProcess_ValidateDataStructure); + // FIXME: this is probably not right, loading this should succeed + ASSERT_EQ(nullptr, scene); +} + + +TEST( utBlenderImporter, importSmoothVsSolidCube_248 ) { + Assimp::Importer importer; + const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/BLEND/SmoothVsSolidCube_248.blend", aiProcess_ValidateDataStructure); + // FIXME: this is probably not right, loading this should succeed + ASSERT_EQ(nullptr, scene); +} + + +TEST( utBlenderImporter, importSuzanne_248 ) { + Assimp::Importer importer; + const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/BLEND/Suzanne_248.blend", aiProcess_ValidateDataStructure); + // FIXME: this is probably not right, loading this should succeed + ASSERT_EQ(nullptr, scene); +} + + +TEST( utBlenderImporter, importSuzanneSubdiv_252 ) { + Assimp::Importer importer; + const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/BLEND/SuzanneSubdiv_252.blend", aiProcess_ValidateDataStructure); + // FIXME: this is probably not right, loading this should succeed + ASSERT_EQ(nullptr, scene); +} + + +TEST( utBlenderImporter, importTexturedCube_ImageGlob_248 ) { + Assimp::Importer importer; + const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/BLEND/TexturedCube_ImageGlob_248.blend", aiProcess_ValidateDataStructure); + // FIXME: this is probably not right, loading this should succeed + ASSERT_EQ(nullptr, scene); +} + + +TEST( utBlenderImporter, importTexturedPlane_ImageUv_248 ) { + Assimp::Importer importer; + const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/BLEND/TexturedPlane_ImageUv_248.blend", aiProcess_ValidateDataStructure); + // FIXME: this is probably not right, loading this should succeed + ASSERT_EQ(nullptr, scene); +} + + +TEST( utBlenderImporter, importTexturedPlane_ImageUvPacked_248 ) { + Assimp::Importer importer; + const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/BLEND/TexturedPlane_ImageUvPacked_248.blend", aiProcess_ValidateDataStructure); + // FIXME: this is probably not right, loading this should succeed + ASSERT_EQ(nullptr, scene); +} + + +TEST( utBlenderImporter, importTorusLightsCams_250_compressed ) { + Assimp::Importer importer; + const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/BLEND/TorusLightsCams_250_compressed.blend", aiProcess_ValidateDataStructure); + // FIXME: this is probably not right, loading this should succeed + ASSERT_EQ(nullptr, scene); +} + + +TEST( utBlenderImporter, import_yxa_1 ) { + Assimp::Importer importer; + const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/BLEND/yxa_1.blend", aiProcess_ValidateDataStructure); + // FIXME: this is probably not right, loading this should succeed + ASSERT_EQ(nullptr, scene); +} + + +TEST( utBlenderImporter, importBob ) { + Assimp::Importer importer; + const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_NONBSD_DIR "/BLEND/Bob.blend", aiProcess_ValidateDataStructure); + // FIXME: this is probably not right, loading this should succeed + ASSERT_EQ(nullptr, scene); +} + + +TEST( utBlenderImporter, importFleurOptonl ) { + Assimp::Importer importer; + const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_NONBSD_DIR "/BLEND/fleurOptonl.blend", aiProcess_ValidateDataStructure); + ASSERT_NE(nullptr, scene); +} From 6e4b2086591d0e0a9d576f948b53875693bc30a2 Mon Sep 17 00:00:00 2001 From: Turo Lamminen Date: Mon, 20 Jan 2020 14:14:17 +0200 Subject: [PATCH 055/105] Revert QuickDraw--Chasis.lwo to working version --- .../LWO2/LWSReferences/QuickDraw--Chasis.lwo | Bin 90970 -> 90974 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/test/models-nonbsd/LWO/LWO2/LWSReferences/QuickDraw--Chasis.lwo b/test/models-nonbsd/LWO/LWO2/LWSReferences/QuickDraw--Chasis.lwo index d8fbd397b4e6dd429ae315f36796ecb83a3a73c4..056ad233cf161cb125c1b9a63ff83f36082dc171 100644 GIT binary patch delta 36 qcmcb0jP>3z)(uv77 Date: Mon, 20 Jan 2020 14:22:18 +0200 Subject: [PATCH 056/105] Revert broken FBX models to working versions --- .../models-nonbsd/FBX/2013_BINARY/Granate.fbx | Bin 42991 -> 42992 bytes test/models-nonbsd/FBX/2013_BINARY/duck.fbx | Bin 960527 -> 960528 bytes test/models-nonbsd/FBX/2013_BINARY/jeep1.fbx | Bin 155791 -> 155792 bytes .../FBX/2013_BINARY/kwxport_test_vcolors.fbx | Bin 616062 -> 617536 bytes .../FBX/2013_BINARY/mar_rifle.fbx | Bin 247144 -> 247184 bytes .../models-nonbsd/FBX/2013_BINARY/pyramob.fbx | Bin 846765 -> 846768 bytes 6 files changed, 0 insertions(+), 0 deletions(-) diff --git a/test/models-nonbsd/FBX/2013_BINARY/Granate.fbx b/test/models-nonbsd/FBX/2013_BINARY/Granate.fbx index d1efbf2f677a05e363af9978a4739b06a70bf17e..1e25c223b568063a24adc00e05b7a49731b7d7ca 100644 GIT binary patch delta 16 YcmaEVp6SDRrVWoh7DT^6-+kpfSGXXI(5VHU=D-g2*F*^`*05K;Ja{)0o5c2>r@AfH+ H`Knm}bpRhK delta 69 zcmbPm!K(j)Rl^p>DT~{uE@lK`CLm@8Viq7~1!6WJW(Q&pAm#*OE+FOxVjdvo-9B|O HUo{H=XgVJ% diff --git a/test/models-nonbsd/FBX/2013_BINARY/jeep1.fbx b/test/models-nonbsd/FBX/2013_BINARY/jeep1.fbx index 33607b99382b3eda2d49cb789e105f1c34148be9..8d35f7f1699bda436ff419d105b1d73bf505f74f 100644 GIT binary patch delta 21 dcmeA_$T{I4XG06)7N!k$jJ(@7*fHH#1OQ%R2oeAQ delta 19 bcmbPmkhA|FXG06)7N!k$+c(-V-B$zvQ%(p4 diff --git a/test/models-nonbsd/FBX/2013_BINARY/kwxport_test_vcolors.fbx b/test/models-nonbsd/FBX/2013_BINARY/kwxport_test_vcolors.fbx index 686d273eca798d6e6d5f7caecaae2b04892f904d..f3cd463e224fb95f53aea9d1d79a012a2c8998d3 100644 GIT binary patch delta 8515 zcmd5>4Rlo15kB|v?js8ul9L(?Y*>jA3dTTkP%sc!#0enYnXkzL`5Sd#QRz)yW|hM@8@GKEIH^;>cgrVT#^3J4UZM;i3JbqKfs}-R?MZ z)&6RutUKhuaQE%dhD(QeO_;krgQC4DLCFv7km~4vw4bS z@aQ#1lJwff#fIzwVPu;;{?Y?=%8>BODaEOaE0^pzR*qj#i(3})8>Q?7oG?kAFrU7D zT#X8+I8C^V4PD-1=XR)ES^?3cM&#u$=f0hUFnx1o%TV~bsYler=)g1YC zbf+AsMczd`IfNuucwj2G-gfK<{X7e{OS;%suNFN8=e+S)1J?UA?zlIrtjhN5Y=(T5ElrxmY`Fnqmt3*;~C>Fc>Fnf!@o+rz30 zP|&V)_JUq@estxzI3=;`7C|H9;b|}5;IBHL=S)RKx9}n;b)EnH3%<*cCVs81Hb`r~ z%2pg~Q8j`+47wz}rOoZHZJ!z06dwPcj)HEcFr4P0ie%;%e^pp+WPXD(f#wcpn%K)( zcBBKqaQAMzkJ6tp9AI*Z@+g+2gbN_i(TCNCb%2E7r_rn~;^MJbc1E$qi1gTzL{Cef$5MmO< zlEG|_a*Y#u5OyKv^5`8+9@?D5;;1p1#S4Ej^EmiLAnaC$cWj)1yB_S$D^v3|3bmxN zHzQ+909$nqmJ%{wW&nag*ahaO88uuMwa&SyfkxXav1^japH zX)b|!}AP-Y+T8F z-ujjXWC#->-Cu2YR*G@X`{g;a^rX@0$0c??QZNhL zTj!l30XI_r;3?gNQ)bfX0yd%By(BRjYnt8HsoyE4ov&xI%nLqsd|`3vS@M$?Ebd}bOBV-_HGQio@0yFLn) z&f@ucPDTQ?&*Ialv5-aCHLWd1+6eUo;3v{F4rE?@n!RQxE-huV6pG!z)*{liZnCg^ zpRruhh3SU@CR<4-K>QW*mHfX@`c5DdY&2|R9#}m{q_Zcg?d;%KqudFMgyj+G1N9sjiVL$sz($rP&anU3edz(Q8h7Z zvHG{pmEbOJF}1){v&;5zB72$oUKoyeG2>zN?_n42_*vM61d;uy+MC2rg1B&57lO?u7&D56fT?w7V$P)Eci3{ZGNz_`;xe1~( z{>Ir87;T=fu63D|Ag0_^s*egj0Cb{_9YBPPC5dR_BdXax(5mU??e~pnH1i15v{}79 zL_p3Kbsauv*rMKU9s;@?$No8{lG@>qYNUpz%G6tf*9dGjM4^giwa7Xdd~*xZk9V88 zPcg-u+OFOlcq&tU5ZKBLj+l;)j^M$i=@t6ca&_2nU(;SKW%%-qIvNk8Rh)zP)O5 z-z%3b<&`9q|95!+7jmtfOf0WePX;xo4HPbOP@+0mw;A#ik&MkbRiDYfuv*V?t)n$CJkrVMAo(y_b z7*Zt|N=#UBJ3$Rl+Nn*pq61GMILseB z2W8>G$_gm`jIc{>;8E7*b~^K!R_x@1EOS_zOf@wDk~NxJ$)iHcl)xVL>?z?@DedSc z?>TjXaq8e_S+s5skAfo%A`$b2%6pl1K_8YSdnVDP5W)@uqlPx;HttVe-sarGN;y`q z7at5xD!-X)v@eB4Irn?eV616F91J7C_I{DgD7(@joj?M^^|D^pboYh6-K-b147xpq z^|h=Y{5VZEXBxTV!dPAsp|&(ym!+4ywDBtbK-hb^Up$XI!MJ!euX8Xi@J#2TS&_eS z_H&Ffqfz`DJ+d!_jq;dT-b7EAS5ZBPp9yvcgh_-B5w9^ht{Y{vx0utWr7E~(*0-nB~_-%pF7 z@r7&-y?2o3QS3iCsu>O!)(+%6lAHnQy%&&g9A6Y+EGZ#{7(P6nzvVcmL4FVz31V>a z_C)S?hBSiVxP#x}P6QRQ-0s`>i{ZcyVBkWgk@vB9I2Nh6dErUdgo3$QJp&o@~K zfV@BA!Ew70Gde;XA(JIpB2F@nMzV};W`S=GFqb!?7=!s~GB@?>;oL&9BD7=z&{KBj z^>Auod=27~-Gp&i2vqlj|TT|ehr*|N0EqM$?wPNS-K45HD&`9`!^%Zo?!xp z1mL5hCTF6B%_!`oWu9mbA+!~AMsXOSlEd_7ompQ*s^gBz($cAVs}6J~Jt*9OFBipr z42?0g71i7LcJ{v(Z;(`NiFAv-J9wqj_fGZ#PN0;0r~Az%OG10OMu304wSy)~{rrnS zTN+%Tj1xRYl)b{w$w5Kq$I%~iH;wy*&w-K$#hb74CtX(#U7h=g6>sr9S9n@voY+eR zCosnR@!Ndowkz+FS`d9r5~aP1!eHrK)onEzmR-H%J7!~Z zi`|F$bjc=10%3{gi5HIWdm@qu$lDuv6-q{4H7rE1(B$>yJb~beG&p+$JygdZGvf+s zXKI*rAS3Ig2bv5dNxB8J=|k=kFQ4L50(e4eoDm3H8E|q+a?m74$hgGBMqnGq#4sS! z7+>HyFg6L00h?}$`W!Fiuk&01`F93HV|+H+5N&oFi1jKN)|lgrGY!{lZX^*afY{0a zU+Wou69_P+@IjkD8bsoT&-fe6x*h1;Sw1}Y21AC^1`((=fL}Ix zn@NSa%EYKx{Hryi)yU|WI(2HY z$%Ldt8-mZ|RxJt{Tc=jzHfwuR1$9eeM@s_1kkZj0Iv5QT0e`C17VUT6dw2g=iB`nj zckj99_dDmF^E}cz_*TPUPcye9yexj$rLQaxdE1L0RJ8sF{+whi%7245>-O5^viS5i z)tyno$hl`89j<8Y#V*ZJzpZ~Txqie~e^SW^U3Cn9d*q4_R_^`$ef$Mi-_d4eNEk`U z?)kr}f9un8jko2WLth>ew8t71(+X{C!w|2pp;1XN&N^^_`I1N`HAx#A6{}>cRW%Rt z`kI@S!E!}@I`X!B{}%^ef+~h2^KeU>@}MMZ@1DylfeSqix!mF8R1$hAlx z@ZYCnIV^veJBMnzlo{Q2_NJ5cV?!P$1=_+cJ8#S+r%5>d-pA={pm*|x+3-UIMiX8Z z>LV4j&x%)oPC6~;u1<4lrDvUpwM84%K9cjH#3k(shMi5Ddpemf9!8!I^`$HuL}3jX zw2=LR5*raqaB~4G@D5Ca^BOSqs!K?E~kHV1#lPzI|@jrxJ{sH+s-1TPJ#BTQ- zGMi0bN~Xa?r?#&yDI|Y+)6*nIp%kXh7N!=7Q<0YXW{|tpOYVD?^toVi-z*YRF}bf8 z3(-p^_myBTq-Jv80to9{(d51#Bb_1;>93mHw}eC~o7}gQMAS`wd^r{){DZsV0l;Mu znWrs`x3KA}$hr{EOB7y4h@R7l>}>iHlFK%%Ay0(`88l!2jO^l-YsqaRi5b4;15N`K z_RR}qu_0n5$xUkOI*mI^VoH)Z{F*?>Dl%aJE|98*?YK|EDOFG!>Ljx{n@9nxdYxFM zI;PNDgnd;;4u`G&8%qA1EHhMDPNwN6{U(c>l=;eui#3%K3qMs(T9k*R@MxdXKi!0N z?xMM@e;ygjo~s}weLD3GVXY-}o;D-bDa?4*CPg^>O4#_RP2`v?9DLt9NHNnSUb&OZ zQCQC^Yc3nVjVuUSo*!5)63z~)72?!S8*5^1tc|s?F4o3+wIB7PTZE7AdR6UEoUtOwJ!NW(k`-%PuCw)f z)LeM#U0znM_6paEAGUFWI!JzZU!-F|v4xjyRBw_*u`k?@eAcQjW;1u0YKb>%0Iz*Z zJ)$UJQ1gX4CZYRUx84*Q&qsOLCRj&x2CQ-y$)&jbV94Rk>H!hF0wb7u@K9?|g>DT* zfyz2Si>x{&1T)X8YCgp!j&qRl9VLjy%nb*toJ zUU3*ZTX!snV}}Qr&mCcUE z?_2;qH)t!YUSL}7>5X5U4rqiZ6_ChxA5U_N(e<HtZC11monmaWFi#J)@Q-h*`vn0!=1WAfAjtW(x zG<;$}xE5v75JopC%#%zLWd)bkf25$bwxpmUghWjDtJ%S$k*p^{+7>>t@x3m3GGcLiW|YN>Y$^vt%z1$U5kuS~0&&Ce0><@j1)0g*xz@3% zQFESQY}^6IZzt@?_pGHXs}7A@RU)wu3<9WhJ%^Yl@LFfT!FA%}bXG(Y%^^M7cv?Fq zs;eOymsImO`gO3Ujn$sN(~+!yF`2+J8t7~ol&n?V2pxuG%LyJQ$Hp&XdHHmC*kHwL z^WnQlJv{~Vj$32H(f_X$#G!d7J#0VK?+hrkYv8%5?zHeV2{v*u2f{lF$u&`X@%6T!7gaRI-lH z+064AO^k#JW=Q=lq)qGpN2fuZQBM~O0g=R*E%ofPv!0IyezQm>8}Sld7eVRu)jy)J zwD+v32Fnqz(APr%Ai;qOXQYB)Wv0SNUDdFh0U@%WkYzOL=`xl#ttEI3+g{v{^?XK$ z8M>r5)49m6MGEiONZ*OO_eSDvx<$Fy(@+3oYs)iq3QKRJh4_Y%Jed)^_R&0gX?Jez!C_7a$GD@2EW$0hY2`qx(mBT!koCA%f-)2ZV z0a75YAUHWqE?>mn`e*E|Q?a*BV=E8>WO^n=Z;2Y}t3Si5&(c#Q4(+7)kBeMt035w+ zogxB1!JPAf50G8}sfZn>{yfpl0oq5<3tpsoFr|Z6cL6`fe+S^QV3ljgP|^Ka#asq- zU7}}AHOjBhN8?S1iUAczuhMg5P@w+C`i7Zv7inY&mYr?APKUDU>*y|h*XeO`hY9@# kFgGxgC5GIC>d7!>Y|Lev{Kko1ieC$UkBLY2jb!KZ~y=R diff --git a/test/models-nonbsd/FBX/2013_BINARY/mar_rifle.fbx b/test/models-nonbsd/FBX/2013_BINARY/mar_rifle.fbx index 5e5d05118919368ac32b5e2b18981cc61e8b4ff2..96431196c9dc045ba7ac208e25800199fcfca6f4 100644 GIT binary patch delta 293 zcmaFS#Xq5&e}hCUBkyL3SfL~qUM_Cl%{u!(Gcoc`PJAJ<+4ztWH&8D0thfY3F7GKw zZgb)bL3>8t?M3R0mo(Wynz*=lw|fLKss{o^^A|B5=VjvM-EOvl(WDM2kfq18pNE;3 zi($IqT1KhK4(y!U{j8Z*+W>V6@o@0-ZvR)##1jNm$aRY8A}bp&FUZ90ch58Z0ot|w z<|QU>W+46KDw8({P>P3#gNK`gi-(hoce>R*CR0Y<>G}7VQo-)qe(fGp4wD#Akq|Gx zq>!krm^2Vc2#E>u^7Bp)d&pD>H0bz4rglvr?Z?f0iw8(+NHA+N0_k8$W=^1m(_^HW Qm4T-5@NRFEW`4dB0HuLSS^xk5 delta 228 zcmbQx&Hti{e}hEqX31EgBqlEI&HDR4Gi_ErWX8QY>a4f~NTl>BP$ct(p#Ao0b;e7Y zEL_}NT-!qe8Px-~*DPW@&b!@p1EWdZ_9{K5{XEQE42+WvHI=rk;7sV(#rdB0P%M0o1-3sQ>@~ delta 64 zcmdmR-FWSF Date: Mon, 20 Jan 2020 14:27:06 +0200 Subject: [PATCH 057/105] Revert broken HMP test model to working version --- .../models-nonbsd/HMP/terrain_withtexture.hmp | Bin 605686 -> 605688 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/test/models-nonbsd/HMP/terrain_withtexture.hmp b/test/models-nonbsd/HMP/terrain_withtexture.hmp index aa4a2e129cc6d15cd11466ddf885607a2c23515b..b78b32917e9c483665ea637cea0c9ac121301b0e 100644 GIT binary patch delta 49 zcmezNTjj@Zm4+6^Elk{>7E`H&fiS%8=oh}nRceY@vFjy delta 45 vcmezITjkqtm4+6^Elk{>w)1>qvU}g|{g4@mS%8=oh}nRceY^KVj Date: Mon, 20 Jan 2020 14:30:51 +0200 Subject: [PATCH 058/105] Revert broken 3DS test model to working version --- test/models-nonbsd/3DS/pyramob.3DS | Bin 693758 -> 693769 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/test/models-nonbsd/3DS/pyramob.3DS b/test/models-nonbsd/3DS/pyramob.3DS index f4f5af4f3487724d718a0e147adeb5dd0d4a3c5c..c880bdf43aa5c41c923916b42e24a74da1d36fb6 100644 GIT binary patch delta 145 zcmeyjTB~!7RznM83sVbo3rh>@7B&qpc3v)a1`aOX>AGHQs=B;ff?PsC0X{A+E>0lL z&&3U7u`>v8@c>!u41!#|Ko&cL5KxwPdyN-cpE}S0UZ4rQ)A@_o+_`}qP9T?`mz%de hzK9Ko*@2j2dwdb6jx8ha_U`qZKUjfu^H$F42LK}y8^{0v delta 104 zcmeBNqxEmKRznM83sVbo3rh>@7B&qpRxWl14zB6?UTmt>MQlLK4#XVWGm1EMY`0Hc&-sIOd*4>h>IVQd Cvm0{& From e876afeaab2791ff908388288939626ff292016a Mon Sep 17 00:00:00 2001 From: Turo Lamminen Date: Mon, 20 Jan 2020 14:33:18 +0200 Subject: [PATCH 059/105] Revert broken XGL test model to working version --- test/models/XGL/Spider_ascii.zgl | Bin 59944 -> 59945 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/test/models/XGL/Spider_ascii.zgl b/test/models/XGL/Spider_ascii.zgl index 218322dc66e2fa7ed208fa087caa7ec28a9c99fa..3816eae879e58b5aa4e77d95087a98027e0d2dd4 100644 GIT binary patch delta 16 YcmZ2+g?Z%_<_&eJjJ%ucQdhMA06`T8WdHyG delta 14 WcmZ2^g?Ysl<_&eJo9k0owEzG&p$Aw1 From 808a0a54129e8e091bfc33bad0d5f4375000bd0a Mon Sep 17 00:00:00 2001 From: Turo Lamminen Date: Mon, 20 Jan 2020 14:41:25 +0200 Subject: [PATCH 060/105] Revert broken STL test model to working version --- test/models/STL/3DSMaxExport.STL | Bin 100083 -> 100084 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/test/models/STL/3DSMaxExport.STL b/test/models/STL/3DSMaxExport.STL index d420fd6e7ab7d46d06d4577f621c1730e7b6e5ad..2576dbb7b2883bdd1058d272320dc482bd486023 100644 GIT binary patch delta 16 Ycmey|%l4(0ZA0m5M&8Y(tLtt907UKx7ytkO delta 14 Wcmey;%l5gKZA0nm&1I|WZUX>1 Date: Mon, 20 Jan 2020 14:42:25 +0200 Subject: [PATCH 061/105] Revert broken terragen model to working version --- test/models/TER/RealisticTerrain_Large.ter | Bin 526412 -> 526424 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/test/models/TER/RealisticTerrain_Large.ter b/test/models/TER/RealisticTerrain_Large.ter index d8613d1c54ada137aa8233807638f65c19af1625..f51986ac8c34f4a46c738712813e2ac08afd17a9 100644 GIT binary patch delta 109 zcmX>zLE**(g$=*fGV*TzwRU*}Bk%TwdW<~*OuW3?b?X^#c>x93PcibvGxD~JYBFsX z)ntB>4HWx1g*j#)kPZ!I(d7oxO>r#M`9L*)&$4X)dzO{&IFQXfm2ErsRQB{dpnMTC H$1N5Bsr)7v delta 85 zcmV-b0IL7kkRZ&EAh7zav-_>5fVZPA0gO<$F@FKtO1BKk0S;e>8z};}8z}?iYqpgG rT)wwmQv@vww~Jl`dvAva&IGpy&IJy~hZdCvw-%KLXKuHC0|?p#ZAK#3 From 1eeecb7ca74f23a05e6c1564200aff67076cf9d7 Mon Sep 17 00:00:00 2001 From: Turo Lamminen Date: Mon, 20 Jan 2020 15:30:49 +0200 Subject: [PATCH 062/105] Revert broken Q3D test models to working versions --- test/models/Q3D/WusonOrange.q3o | Bin 144224 -> 144230 bytes test/models/Q3D/WusonOrange.q3s | Bin 144430 -> 144436 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/test/models/Q3D/WusonOrange.q3o b/test/models/Q3D/WusonOrange.q3o index 9f99fd0e46db161b404364b8532937898a467940..78394d799c6b3c548bf5c19aaafba78cf1be991f 100644 GIT binary patch delta 75 zcmaFxjN{oej)pCa&NiaFTnr5SKr8^IL44lrp*D=gEV3Xr9}ovaaVSU*hy_9P_D2qk Gb)NthV+^4H delta 69 zcmaF%jN`#Gj)pCa&Nf0^3=I50EC8i})blT?`Na delta 69 zcmdn;f@9qaj)pCa&Nf0^3=I50EC8i})bR From 4e7e47bd436f4a97775be22dcdb8e99f5c158606 Mon Sep 17 00:00:00 2001 From: Marc-Antoine Lortie Date: Mon, 20 Jan 2020 08:53:12 -0500 Subject: [PATCH 063/105] Updated copyright dates. Changed copyright end year to 2020 in every reference "Copyright (c) 2006-XXXX, assimp team". Changed copyright end year to 2020 in every reference "Copyright (c) 2006-XXXX, ASSIMP Development Team". Changed copyright end year to 2020 in LICENCE.rtf. Changed copyright end year in CMakeFiles.txt files and any other places referencing Assimp with a copyright start and end year. --- .travis.sh | 2 +- CMakeLists.txt | 2 +- LICENSE | 2 +- assimp-config-version.cmake.in | 2 +- code/3DS/3DSConverter.cpp | 2 +- code/3DS/3DSExporter.cpp | 2 +- code/3DS/3DSExporter.h | 2 +- code/3DS/3DSHelper.h | 2 +- code/3DS/3DSLoader.cpp | 2 +- code/3DS/3DSLoader.h | 2 +- code/3MF/3MFXmlTags.h | 2 +- code/3MF/D3MFExporter.cpp | 2 +- code/3MF/D3MFExporter.h | 2 +- code/3MF/D3MFImporter.cpp | 2 +- code/3MF/D3MFImporter.h | 2 +- code/3MF/D3MFOpcPackage.cpp | 2 +- code/3MF/D3MFOpcPackage.h | 2 +- code/AC/ACLoader.cpp | 2 +- code/AC/ACLoader.h | 2 +- code/AMF/AMFImporter.cpp | 2 +- code/AMF/AMFImporter.hpp | 2 +- code/AMF/AMFImporter_Geometry.cpp | 2 +- code/AMF/AMFImporter_Macro.hpp | 2 +- code/AMF/AMFImporter_Material.cpp | 2 +- code/AMF/AMFImporter_Node.hpp | 2 +- code/AMF/AMFImporter_Postprocess.cpp | 2 +- code/ASE/ASELoader.cpp | 2 +- code/ASE/ASELoader.h | 2 +- code/ASE/ASEParser.cpp | 2 +- code/ASE/ASEParser.h | 2 +- code/Assbin/AssbinExporter.cpp | 2 +- code/Assbin/AssbinExporter.h | 2 +- code/Assbin/AssbinLoader.cpp | 2 +- code/Assbin/AssbinLoader.h | 2 +- code/Assxml/AssxmlExporter.cpp | 2 +- code/Assxml/AssxmlExporter.h | 2 +- code/B3D/B3DImporter.cpp | 2 +- code/B3D/B3DImporter.h | 2 +- code/BVH/BVHLoader.cpp | 2 +- code/BVH/BVHLoader.h | 2 +- code/Blender/BlenderBMesh.cpp | 2 +- code/Blender/BlenderBMesh.h | 2 +- code/Blender/BlenderDNA.cpp | 2 +- code/Blender/BlenderDNA.h | 2 +- code/Blender/BlenderDNA.inl | 2 +- code/Blender/BlenderIntermediate.h | 2 +- code/Blender/BlenderLoader.cpp | 2 +- code/Blender/BlenderLoader.h | 2 +- code/Blender/BlenderModifier.cpp | 2 +- code/Blender/BlenderModifier.h | 2 +- code/Blender/BlenderScene.cpp | 2 +- code/Blender/BlenderScene.h | 2 +- code/Blender/BlenderSceneGen.h | 2 +- code/Blender/BlenderTessellator.cpp | 2 +- code/Blender/BlenderTessellator.h | 2 +- code/C4D/C4DImporter.cpp | 2 +- code/C4D/C4DImporter.h | 2 +- code/CApi/AssimpCExport.cpp | 2 +- code/CApi/CInterfaceIOWrapper.cpp | 2 +- code/CApi/CInterfaceIOWrapper.h | 2 +- code/CMakeLists.txt | 2 +- code/COB/COBLoader.cpp | 2 +- code/COB/COBLoader.h | 2 +- code/COB/COBScene.h | 2 +- code/CSM/CSMLoader.cpp | 2 +- code/CSM/CSMLoader.h | 2 +- code/Collada/ColladaExporter.cpp | 2 +- code/Collada/ColladaExporter.h | 2 +- code/Collada/ColladaHelper.cpp | 2 +- code/Collada/ColladaHelper.h | 2 +- code/Collada/ColladaLoader.cpp | 2 +- code/Collada/ColladaLoader.h | 2 +- code/Collada/ColladaParser.cpp | 2 +- code/Collada/ColladaParser.h | 2 +- code/Common/Assimp.cpp | 2 +- code/Common/BaseImporter.cpp | 2 +- code/Common/BaseProcess.cpp | 2 +- code/Common/BaseProcess.h | 2 +- code/Common/Bitmap.cpp | 2 +- code/Common/CreateAnimMesh.cpp | 2 +- code/Common/DefaultIOStream.cpp | 2 +- code/Common/DefaultIOSystem.cpp | 2 +- code/Common/DefaultLogger.cpp | 2 +- code/Common/DefaultProgressHandler.h | 2 +- code/Common/Exporter.cpp | 2 +- code/Common/FileLogStream.h | 2 +- code/Common/FileSystemFilter.h | 2 +- code/Common/Importer.cpp | 2 +- code/Common/Importer.h | 2 +- code/Common/ImporterRegistry.cpp | 2 +- code/Common/PolyTools.h | 2 +- code/Common/PostStepRegistry.cpp | 2 +- code/Common/RemoveComments.cpp | 2 +- code/Common/SGSpatialSort.cpp | 2 +- code/Common/SceneCombiner.cpp | 2 +- code/Common/ScenePreprocessor.cpp | 2 +- code/Common/ScenePreprocessor.h | 2 +- code/Common/ScenePrivate.h | 2 +- code/Common/SkeletonMeshBuilder.cpp | 2 +- code/Common/SpatialSort.cpp | 2 +- code/Common/SplitByBoneCountProcess.cpp | 2 +- code/Common/SplitByBoneCountProcess.h | 2 +- code/Common/StandardShapes.cpp | 2 +- code/Common/StdOStreamLogStream.h | 2 +- code/Common/Subdivision.cpp | 2 +- code/Common/TargetAnimation.cpp | 2 +- code/Common/TargetAnimation.h | 2 +- code/Common/Version.cpp | 4 ++-- code/Common/VertexTriangleAdjacency.cpp | 2 +- code/Common/VertexTriangleAdjacency.h | 2 +- code/Common/Win32DebugLogStream.h | 2 +- code/Common/ZipArchiveIOSystem.cpp | 2 +- code/Common/scene.cpp | 2 +- code/Common/simd.cpp | 2 +- code/Common/simd.h | 2 +- code/DXF/DXFHelper.h | 2 +- code/DXF/DXFLoader.cpp | 2 +- code/DXF/DXFLoader.h | 2 +- code/FBX/FBXAnimation.cpp | 2 +- code/FBX/FBXBinaryTokenizer.cpp | 2 +- code/FBX/FBXCommon.h | 2 +- code/FBX/FBXCompileConfig.h | 2 +- code/FBX/FBXConverter.cpp | 2 +- code/FBX/FBXConverter.h | 2 +- code/FBX/FBXDeformer.cpp | 2 +- code/FBX/FBXDocument.cpp | 2 +- code/FBX/FBXDocument.h | 2 +- code/FBX/FBXDocumentUtil.cpp | 2 +- code/FBX/FBXDocumentUtil.h | 2 +- code/FBX/FBXExportNode.cpp | 2 +- code/FBX/FBXExportNode.h | 2 +- code/FBX/FBXExportProperty.cpp | 2 +- code/FBX/FBXExportProperty.h | 2 +- code/FBX/FBXExporter.cpp | 2 +- code/FBX/FBXExporter.h | 2 +- code/FBX/FBXImportSettings.h | 2 +- code/FBX/FBXImporter.cpp | 2 +- code/FBX/FBXImporter.h | 2 +- code/FBX/FBXMaterial.cpp | 2 +- code/FBX/FBXMeshGeometry.cpp | 2 +- code/FBX/FBXMeshGeometry.h | 2 +- code/FBX/FBXModel.cpp | 2 +- code/FBX/FBXNodeAttribute.cpp | 2 +- code/FBX/FBXParser.cpp | 2 +- code/FBX/FBXParser.h | 2 +- code/FBX/FBXProperties.cpp | 2 +- code/FBX/FBXProperties.h | 2 +- code/FBX/FBXTokenizer.cpp | 2 +- code/FBX/FBXTokenizer.h | 2 +- code/FBX/FBXUtil.cpp | 2 +- code/FBX/FBXUtil.h | 2 +- code/HMP/HMPFileData.h | 2 +- code/HMP/HMPLoader.cpp | 2 +- code/HMP/HMPLoader.h | 2 +- code/HMP/HalfLifeFileData.h | 2 +- code/Importer/IFC/IFCBoolean.cpp | 2 +- code/Importer/IFC/IFCCurve.cpp | 2 +- code/Importer/IFC/IFCGeometry.cpp | 2 +- code/Importer/IFC/IFCLoader.cpp | 2 +- code/Importer/IFC/IFCLoader.h | 2 +- code/Importer/IFC/IFCMaterial.cpp | 2 +- code/Importer/IFC/IFCOpenings.cpp | 2 +- code/Importer/IFC/IFCProfile.cpp | 2 +- code/Importer/IFC/IFCReaderGen1_2x3.cpp | 2 +- code/Importer/IFC/IFCReaderGen2_2x3.cpp | 2 +- code/Importer/IFC/IFCReaderGen_2x3.h | 2 +- code/Importer/IFC/IFCReaderGen_4.cpp | 2 +- code/Importer/IFC/IFCReaderGen_4.h | 2 +- code/Importer/IFC/IFCUtil.cpp | 2 +- code/Importer/IFC/IFCUtil.h | 2 +- code/Importer/STEPParser/STEPFileEncoding.cpp | 2 +- code/Importer/STEPParser/STEPFileEncoding.h | 2 +- code/Importer/STEPParser/STEPFileReader.cpp | 2 +- code/Importer/STEPParser/STEPFileReader.h | 2 +- code/Importer/StepFile/StepFileGen1.cpp | 2 +- code/Importer/StepFile/StepFileGen2.cpp | 2 +- code/Importer/StepFile/StepFileGen3.cpp | 2 +- code/Importer/StepFile/StepFileImporter.cpp | 2 +- code/Importer/StepFile/StepFileImporter.h | 2 +- code/Importer/StepFile/StepReaderGen.h | 2 +- code/Irr/IRRLoader.cpp | 2 +- code/Irr/IRRLoader.h | 2 +- code/Irr/IRRMeshLoader.cpp | 2 +- code/Irr/IRRMeshLoader.h | 2 +- code/Irr/IRRShared.cpp | 2 +- code/LWO/LWOAnimation.cpp | 2 +- code/LWO/LWOAnimation.h | 2 +- code/LWO/LWOBLoader.cpp | 2 +- code/LWO/LWOFileData.h | 2 +- code/LWO/LWOLoader.cpp | 2 +- code/LWO/LWOLoader.h | 2 +- code/LWO/LWOMaterial.cpp | 2 +- code/LWS/LWSLoader.cpp | 2 +- code/LWS/LWSLoader.h | 2 +- code/M3D/M3DExporter.cpp | 2 +- code/M3D/M3DExporter.h | 2 +- code/M3D/M3DImporter.cpp | 2 +- code/M3D/M3DImporter.h | 2 +- code/M3D/M3DMaterials.h | 2 +- code/M3D/M3DWrapper.cpp | 2 +- code/M3D/M3DWrapper.h | 2 +- code/MD2/MD2FileData.h | 2 +- code/MD2/MD2Loader.cpp | 2 +- code/MD2/MD2Loader.h | 2 +- code/MD2/MD2NormalTable.h | 2 +- code/MD3/MD3FileData.h | 2 +- code/MD3/MD3Loader.cpp | 2 +- code/MD3/MD3Loader.h | 2 +- code/MD4/MD4FileData.h | 2 +- code/MD5/MD5Loader.cpp | 2 +- code/MD5/MD5Loader.h | 2 +- code/MD5/MD5Parser.cpp | 2 +- code/MD5/MD5Parser.h | 2 +- code/MDC/MDCFileData.h | 2 +- code/MDC/MDCLoader.cpp | 2 +- code/MDC/MDCLoader.h | 2 +- code/MDL/HalfLife/HL1FileData.h | 2 +- code/MDL/HalfLife/HL1ImportDefinitions.h | 2 +- code/MDL/HalfLife/HL1ImportSettings.h | 2 +- code/MDL/HalfLife/HL1MDLLoader.cpp | 2 +- code/MDL/HalfLife/HL1MDLLoader.h | 2 +- code/MDL/HalfLife/HL1MeshTrivert.h | 2 +- code/MDL/HalfLife/HalfLifeMDLBaseHeader.h | 2 +- code/MDL/HalfLife/LogFunctions.h | 2 +- code/MDL/HalfLife/UniqueNameGenerator.cpp | 2 +- code/MDL/HalfLife/UniqueNameGenerator.h | 2 +- code/MDL/MDLDefaultColorMap.h | 2 +- code/MDL/MDLFileData.h | 2 +- code/MDL/MDLLoader.cpp | 2 +- code/MDL/MDLLoader.h | 2 +- code/MDL/MDLMaterialLoader.cpp | 2 +- code/MMD/MMDCpp14.h | 2 +- code/MMD/MMDImporter.cpp | 2 +- code/MMD/MMDImporter.h | 2 +- code/MMD/MMDPmdParser.h | 2 +- code/MMD/MMDPmxParser.cpp | 2 +- code/MMD/MMDPmxParser.h | 2 +- code/MMD/MMDVmdParser.h | 2 +- code/MS3D/MS3DLoader.cpp | 2 +- code/MS3D/MS3DLoader.h | 2 +- code/Material/MaterialSystem.cpp | 2 +- code/Material/MaterialSystem.h | 2 +- code/NDO/NDOLoader.cpp | 2 +- code/NDO/NDOLoader.h | 2 +- code/NFF/NFFLoader.cpp | 2 +- code/NFF/NFFLoader.h | 2 +- code/OFF/OFFLoader.cpp | 2 +- code/OFF/OFFLoader.h | 2 +- code/Obj/ObjExporter.cpp | 2 +- code/Obj/ObjExporter.h | 2 +- code/Obj/ObjFileData.h | 2 +- code/Obj/ObjFileImporter.cpp | 2 +- code/Obj/ObjFileImporter.h | 2 +- code/Obj/ObjFileMtlImporter.cpp | 2 +- code/Obj/ObjFileMtlImporter.h | 2 +- code/Obj/ObjFileParser.cpp | 2 +- code/Obj/ObjFileParser.h | 2 +- code/Obj/ObjTools.h | 2 +- code/Ogre/OgreBinarySerializer.cpp | 2 +- code/Ogre/OgreBinarySerializer.h | 2 +- code/Ogre/OgreImporter.cpp | 2 +- code/Ogre/OgreImporter.h | 2 +- code/Ogre/OgreMaterial.cpp | 2 +- code/Ogre/OgreParsingUtils.h | 2 +- code/Ogre/OgreStructs.cpp | 2 +- code/Ogre/OgreStructs.h | 2 +- code/Ogre/OgreXmlSerializer.cpp | 2 +- code/Ogre/OgreXmlSerializer.h | 2 +- code/OpenGEX/OpenGEXExporter.cpp | 2 +- code/OpenGEX/OpenGEXExporter.h | 2 +- code/OpenGEX/OpenGEXImporter.cpp | 2 +- code/OpenGEX/OpenGEXImporter.h | 2 +- code/OpenGEX/OpenGEXStructs.h | 2 +- code/Ply/PlyExporter.cpp | 2 +- code/Ply/PlyExporter.h | 2 +- code/Ply/PlyLoader.cpp | 2 +- code/Ply/PlyLoader.h | 2 +- code/Ply/PlyParser.cpp | 2 +- code/Ply/PlyParser.h | 2 +- code/PostProcessing/ArmaturePopulate.cpp | 2 +- code/PostProcessing/ArmaturePopulate.h | 2 +- code/PostProcessing/CalcTangentsProcess.cpp | 2 +- code/PostProcessing/CalcTangentsProcess.h | 2 +- .../ComputeUVMappingProcess.cpp | 2 +- code/PostProcessing/ComputeUVMappingProcess.h | 2 +- code/PostProcessing/ConvertToLHProcess.cpp | 2 +- code/PostProcessing/ConvertToLHProcess.h | 2 +- code/PostProcessing/DeboneProcess.cpp | 2 +- code/PostProcessing/DeboneProcess.h | 2 +- .../PostProcessing/DropFaceNormalsProcess.cpp | 2 +- code/PostProcessing/DropFaceNormalsProcess.h | 2 +- code/PostProcessing/EmbedTexturesProcess.cpp | 2 +- code/PostProcessing/EmbedTexturesProcess.h | 2 +- code/PostProcessing/FindDegenerates.cpp | 2 +- code/PostProcessing/FindDegenerates.h | 2 +- code/PostProcessing/FindInstancesProcess.cpp | 2 +- code/PostProcessing/FindInstancesProcess.h | 2 +- .../PostProcessing/FindInvalidDataProcess.cpp | 2 +- code/PostProcessing/FindInvalidDataProcess.h | 2 +- code/PostProcessing/FixNormalsStep.cpp | 2 +- code/PostProcessing/FixNormalsStep.h | 2 +- .../GenBoundingBoxesProcess.cpp | 2 +- code/PostProcessing/GenBoundingBoxesProcess.h | 2 +- code/PostProcessing/GenFaceNormalsProcess.cpp | 2 +- code/PostProcessing/GenFaceNormalsProcess.h | 2 +- .../GenVertexNormalsProcess.cpp | 2 +- code/PostProcessing/GenVertexNormalsProcess.h | 2 +- code/PostProcessing/ImproveCacheLocality.cpp | 2 +- code/PostProcessing/ImproveCacheLocality.h | 2 +- code/PostProcessing/JoinVerticesProcess.cpp | 2 +- code/PostProcessing/JoinVerticesProcess.h | 2 +- .../LimitBoneWeightsProcess.cpp | 2 +- code/PostProcessing/LimitBoneWeightsProcess.h | 2 +- code/PostProcessing/MakeVerboseFormat.cpp | 2 +- code/PostProcessing/MakeVerboseFormat.h | 2 +- code/PostProcessing/OptimizeGraph.cpp | 2 +- code/PostProcessing/OptimizeGraph.h | 2 +- code/PostProcessing/OptimizeMeshes.cpp | 2 +- code/PostProcessing/OptimizeMeshes.h | 2 +- code/PostProcessing/PretransformVertices.cpp | 2 +- code/PostProcessing/PretransformVertices.h | 2 +- code/PostProcessing/ProcessHelper.cpp | 2 +- code/PostProcessing/ProcessHelper.h | 2 +- .../RemoveRedundantMaterials.cpp | 2 +- .../PostProcessing/RemoveRedundantMaterials.h | 2 +- code/PostProcessing/RemoveVCProcess.cpp | 2 +- code/PostProcessing/RemoveVCProcess.h | 2 +- code/PostProcessing/ScaleProcess.cpp | 2 +- code/PostProcessing/ScaleProcess.h | 2 +- code/PostProcessing/SortByPTypeProcess.cpp | 2 +- code/PostProcessing/SortByPTypeProcess.h | 2 +- code/PostProcessing/SplitLargeMeshes.cpp | 2 +- code/PostProcessing/SplitLargeMeshes.h | 2 +- code/PostProcessing/TextureTransform.cpp | 2 +- code/PostProcessing/TextureTransform.h | 2 +- code/PostProcessing/TriangulateProcess.cpp | 2 +- code/PostProcessing/TriangulateProcess.h | 2 +- code/PostProcessing/ValidateDataStructure.cpp | 2 +- code/PostProcessing/ValidateDataStructure.h | 2 +- code/Q3BSP/Q3BSPFileData.h | 2 +- code/Q3BSP/Q3BSPFileImporter.cpp | 2 +- code/Q3BSP/Q3BSPFileImporter.h | 2 +- code/Q3BSP/Q3BSPFileParser.cpp | 2 +- code/Q3BSP/Q3BSPFileParser.h | 2 +- code/Q3D/Q3DLoader.cpp | 2 +- code/Q3D/Q3DLoader.h | 2 +- code/Raw/RawLoader.cpp | 2 +- code/Raw/RawLoader.h | 2 +- code/SIB/SIBImporter.cpp | 2 +- code/SIB/SIBImporter.h | 2 +- code/SMD/SMDLoader.cpp | 2 +- code/SMD/SMDLoader.h | 2 +- code/STL/STLExporter.cpp | 2 +- code/STL/STLExporter.h | 2 +- code/STL/STLLoader.cpp | 2 +- code/STL/STLLoader.h | 2 +- code/Step/STEPFile.h | 2 +- code/Step/StepExporter.cpp | 2 +- code/Step/StepExporter.h | 2 +- code/Terragen/TerragenLoader.cpp | 2 +- code/Terragen/TerragenLoader.h | 2 +- code/Unreal/UnrealLoader.cpp | 2 +- code/Unreal/UnrealLoader.h | 2 +- code/X/XFileExporter.cpp | 2 +- code/X/XFileExporter.h | 2 +- code/X/XFileHelper.h | 2 +- code/X/XFileImporter.cpp | 2 +- code/X/XFileImporter.h | 2 +- code/X/XFileParser.cpp | 2 +- code/X/XFileParser.h | 2 +- code/X3D/FIReader.cpp | 2 +- code/X3D/FIReader.hpp | 2 +- code/X3D/X3DImporter.cpp | 2 +- code/X3D/X3DImporter.hpp | 2 +- code/X3D/X3DImporter_Geometry2D.cpp | 2 +- code/X3D/X3DImporter_Geometry3D.cpp | 2 +- code/X3D/X3DImporter_Group.cpp | 2 +- code/X3D/X3DImporter_Light.cpp | 2 +- code/X3D/X3DImporter_Macro.hpp | 2 +- code/X3D/X3DImporter_Metadata.cpp | 2 +- code/X3D/X3DImporter_Networking.cpp | 2 +- code/X3D/X3DImporter_Node.hpp | 2 +- code/X3D/X3DImporter_Postprocess.cpp | 2 +- code/X3D/X3DImporter_Rendering.cpp | 2 +- code/X3D/X3DImporter_Shape.cpp | 2 +- code/X3D/X3DImporter_Texturing.cpp | 2 +- code/X3D/X3DVocabulary.cpp | 2 +- code/XGL/XGLLoader.cpp | 2 +- code/XGL/XGLLoader.h | 2 +- code/glTF/glTFAsset.h | 2 +- code/glTF/glTFAsset.inl | 2 +- code/glTF/glTFAssetWriter.h | 2 +- code/glTF/glTFAssetWriter.inl | 2 +- code/glTF/glTFCommon.cpp | 2 +- code/glTF/glTFCommon.h | 2 +- code/glTF/glTFExporter.cpp | 2 +- code/glTF/glTFExporter.h | 2 +- code/glTF/glTFImporter.cpp | 2 +- code/glTF/glTFImporter.h | 2 +- code/glTF2/glTF2Asset.h | 2 +- code/glTF2/glTF2Asset.inl | 2 +- code/glTF2/glTF2AssetWriter.h | 2 +- code/glTF2/glTF2AssetWriter.inl | 2 +- code/glTF2/glTF2Exporter.cpp | 2 +- code/glTF2/glTF2Exporter.h | 2 +- code/glTF2/glTF2Importer.cpp | 2 +- code/glTF2/glTF2Importer.h | 2 +- code/res/assimp.rc | 2 +- doc/Preamble.txt | 2 +- include/assimp/BaseImporter.h | 2 +- include/assimp/Bitmap.h | 2 +- include/assimp/BlobIOSystem.h | 2 +- include/assimp/ByteSwapper.h | 2 +- include/assimp/CreateAnimMesh.h | 2 +- include/assimp/DefaultIOStream.h | 2 +- include/assimp/DefaultIOSystem.h | 2 +- include/assimp/DefaultLogger.hpp | 2 +- include/assimp/Defines.h | 2 +- include/assimp/Exceptional.h | 2 +- include/assimp/Exporter.hpp | 2 +- include/assimp/GenericProperty.h | 2 +- include/assimp/Hash.h | 2 +- include/assimp/IOStream.hpp | 2 +- include/assimp/IOStreamBuffer.h | 2 +- include/assimp/IOSystem.hpp | 2 +- include/assimp/Importer.hpp | 2 +- include/assimp/LineSplitter.h | 2 +- include/assimp/LogAux.h | 2 +- include/assimp/LogStream.hpp | 2 +- include/assimp/Logger.hpp | 2 +- include/assimp/MathFunctions.h | 2 +- include/assimp/MemoryIOWrapper.h | 2 +- include/assimp/NullLogger.hpp | 2 +- include/assimp/ParsingUtils.h | 2 +- include/assimp/Profiler.h | 2 +- include/assimp/ProgressHandler.hpp | 2 +- include/assimp/RemoveComments.h | 2 +- include/assimp/SGSpatialSort.h | 2 +- include/assimp/SceneCombiner.h | 2 +- include/assimp/SkeletonMeshBuilder.h | 2 +- include/assimp/SmoothingGroups.h | 2 +- include/assimp/SmoothingGroups.inl | 2 +- include/assimp/SpatialSort.h | 2 +- include/assimp/StandardShapes.h | 2 +- include/assimp/StreamReader.h | 2 +- include/assimp/StreamWriter.h | 2 +- include/assimp/StringComparison.h | 2 +- include/assimp/StringUtils.h | 2 +- include/assimp/Subdivision.h | 2 +- include/assimp/TinyFormatter.h | 2 +- include/assimp/Vertex.h | 2 +- include/assimp/XMLTools.h | 2 +- include/assimp/ZipArchiveIOSystem.h | 2 +- include/assimp/aabb.h | 2 +- include/assimp/ai_assert.h | 2 +- include/assimp/anim.h | 2 +- include/assimp/camera.h | 2 +- include/assimp/cexport.h | 2 +- include/assimp/cfileio.h | 2 +- include/assimp/cimport.h | 2 +- include/assimp/color4.h | 2 +- include/assimp/color4.inl | 2 +- include/assimp/commonMetaData.h | 2 +- include/assimp/config.h.in | 2 +- include/assimp/defs.h | 2 +- include/assimp/importerdesc.h | 2 +- include/assimp/irrXMLWrapper.h | 2 +- include/assimp/light.h | 2 +- include/assimp/material.h | 2 +- include/assimp/material.inl | 2 +- include/assimp/matrix3x3.h | 2 +- include/assimp/matrix3x3.inl | 2 +- include/assimp/matrix4x4.h | 2 +- include/assimp/matrix4x4.inl | 2 +- include/assimp/mesh.h | 2 +- include/assimp/metadata.h | 2 +- include/assimp/pbrmaterial.h | 2 +- .../port/AndroidJNI/AndroidJNIIOSystem.h | 2 +- include/assimp/postprocess.h | 2 +- include/assimp/qnan.h | 2 +- include/assimp/quaternion.h | 2 +- include/assimp/quaternion.inl | 2 +- include/assimp/scene.h | 2 +- include/assimp/texture.h | 2 +- include/assimp/types.h | 2 +- include/assimp/vector2.h | 2 +- include/assimp/vector2.inl | 2 +- include/assimp/vector3.h | 2 +- include/assimp/vector3.inl | 2 +- include/assimp/version.h | 2 +- packaging/windows-innosetup/LICENSE.rtf | Bin 2260 -> 2260 bytes port/AndroidJNI/AndroidJNIIOSystem.cpp | 2 +- port/PyAssimp/gen/materialgen.py | 2 +- port/PyAssimp/gen/structsgen.py | 2 +- port/dAssimp/assimp/animation.d | 2 +- port/dAssimp/assimp/api.d | 2 +- port/dAssimp/assimp/assimp.d | 2 +- port/dAssimp/assimp/camera.d | 2 +- port/dAssimp/assimp/config.d | 2 +- port/dAssimp/assimp/fileIO.d | 2 +- port/dAssimp/assimp/light.d | 2 +- port/dAssimp/assimp/loader.d | 2 +- port/dAssimp/assimp/material.d | 2 +- port/dAssimp/assimp/math.d | 2 +- port/dAssimp/assimp/mesh.d | 2 +- port/dAssimp/assimp/postprocess.d | 2 +- port/dAssimp/assimp/scene.d | 2 +- port/dAssimp/assimp/texture.d | 2 +- port/dAssimp/assimp/types.d | 2 +- port/dAssimp/assimp/versionInfo.d | 2 +- .../jassimp/src/jassimp/AiAnimBehavior.java | 2 +- .../jassimp/src/jassimp/AiAnimation.java | 2 +- .../jassimp/src/jassimp/AiBlendMode.java | 2 +- port/jassimp/jassimp/src/jassimp/AiBone.java | 2 +- .../jassimp/src/jassimp/AiBoneWeight.java | 2 +- .../src/jassimp/AiBuiltInWrapperProvider.java | 2 +- .../jassimp/jassimp/src/jassimp/AiCamera.java | 2 +- .../src/jassimp/AiClassLoaderIOSystem.java | 2 +- port/jassimp/jassimp/src/jassimp/AiColor.java | 2 +- .../jassimp/src/jassimp/AiIOStream.java | 2 +- .../jassimp/src/jassimp/AiIOSystem.java | 2 +- .../src/jassimp/AiInputStreamIOStream.java | 2 +- port/jassimp/jassimp/src/jassimp/AiLight.java | 2 +- .../jassimp/src/jassimp/AiLightType.java | 2 +- .../jassimp/src/jassimp/AiMaterial.java | 2 +- .../jassimp/src/jassimp/AiMatrix4f.java | 2 +- port/jassimp/jassimp/src/jassimp/AiMesh.java | 2 +- .../jassimp/src/jassimp/AiMeshAnim.java | 2 +- .../jassimp/src/jassimp/AiMetadataEntry.java | 2 +- port/jassimp/jassimp/src/jassimp/AiNode.java | 2 +- .../jassimp/src/jassimp/AiNodeAnim.java | 2 +- .../src/jassimp/AiPostProcessSteps.java | 2 +- .../jassimp/src/jassimp/AiPrimitiveType.java | 2 +- .../src/jassimp/AiProgressHandler.java | 2 +- .../jassimp/src/jassimp/AiQuaternion.java | 2 +- port/jassimp/jassimp/src/jassimp/AiScene.java | 2 +- .../jassimp/src/jassimp/AiSceneFlag.java | 2 +- .../jassimp/src/jassimp/AiShadingMode.java | 2 +- .../jassimp/src/jassimp/AiTextureInfo.java | 2 +- .../jassimp/src/jassimp/AiTextureMapMode.java | 2 +- .../jassimp/src/jassimp/AiTextureMapping.java | 2 +- .../jassimp/src/jassimp/AiTextureOp.java | 2 +- .../jassimp/src/jassimp/AiTextureType.java | 2 +- .../jassimp/jassimp/src/jassimp/AiVector.java | 2 +- .../src/jassimp/AiWrapperProvider.java | 2 +- .../jassimp/jassimp/src/jassimp/JaiDebug.java | 2 +- port/jassimp/jassimp/src/jassimp/Jassimp.java | 2 +- .../jassimp/src/jassimp/JassimpConfig.java | 2 +- .../src/jassimp/JassimpLibraryLoader.java | 2 +- .../jassimp/src/jassimp/package-info.java | 2 +- .../BlenderImporter/BlenderScene.cpp.template | 2 +- .../BlenderSceneGen.h.template | 2 +- scripts/BlenderImporter/genblenddna.py | 2 +- scripts/StepImporter/CppGenerator.py | 2 +- scripts/StepImporter/ExpressReader.py | 2 +- .../StepImporter/IFCReaderGen.cpp.template | 2 +- scripts/StepImporter/IFCReaderGen.h.template | 2 +- .../StepImporter/StepReaderGen.cpp.template | 2 +- scripts/StepImporter/StepReaderGen.h.template | 2 +- scripts/StepImporter/extract_step_token.py | 2 +- test/CMakeLists.txt | 2 +- test/regression/ai_regression_ui.py | 2 +- test/regression/gen_db.py | 2 +- test/regression/result_checker.py | 2 +- test/regression/run.py | 2 +- test/regression/settings.py | 2 +- test/regression/utils.py | 2 +- test/unit/AbstractImportExportBase.cpp | 2 +- test/unit/AbstractImportExportBase.h | 2 +- test/unit/AssimpAPITest.cpp | 2 +- test/unit/Common/utLineSplitter.cpp | 2 +- test/unit/ImportExport/MDL/MDLHL1TestFiles.h | 2 +- .../MDL/utMDLImporter_HL1_ImportSettings.cpp | 2 +- .../MDL/utMDLImporter_HL1_Materials.cpp | 2 +- .../MDL/utMDLImporter_HL1_Nodes.cpp | 2 +- .../ImportExport/utAssjsonImportExport.cpp | 2 +- test/unit/ImportExport/utCOBImportExport.cpp | 2 +- test/unit/ImportExport/utExporter.cpp | 2 +- test/unit/ImportExport/utMDLImporter.cpp | 2 +- test/unit/ImportExport/utNFFImportExport.cpp | 2 +- test/unit/ImportExport/utOFFImportExport.cpp | 2 +- test/unit/ImportExport/utOgreImportExport.cpp | 2 +- .../ImportExport/utQ3BSPFileImportExport.cpp | 2 +- test/unit/ImportExport/utXGLImportExport.cpp | 2 +- test/unit/SceneDiffer.cpp | 2 +- test/unit/SceneDiffer.h | 2 +- test/unit/TestIOStream.h | 2 +- test/unit/TestIOSystem.h | 2 +- test/unit/TestModelFactory.h | 2 +- test/unit/UTLogStream.h | 2 +- test/unit/UnitTestFileGenerator.h | 2 +- test/unit/UnitTestPCH.h | 2 +- test/unit/ut3DImportExport.cpp | 2 +- test/unit/ut3DSImportExport.cpp | 2 +- test/unit/utACImportExport.cpp | 2 +- test/unit/utAMFImportExport.cpp | 2 +- test/unit/utASEImportExport.cpp | 2 +- test/unit/utAnim.cpp | 2 +- test/unit/utArmaturePopulate.cpp | 2 +- test/unit/utAssbinImportExport.cpp | 2 +- test/unit/utB3DImportExport.cpp | 2 +- test/unit/utBVHImportExport.cpp | 2 +- test/unit/utBatchLoader.cpp | 2 +- test/unit/utBlendImportAreaLight.cpp | 2 +- test/unit/utBlendImportMaterials.cpp | 2 +- test/unit/utBlenderImportExport.cpp | 2 +- test/unit/utBlenderIntermediate.cpp | 2 +- test/unit/utBlenderWork.cpp | 2 +- test/unit/utCSMImportExport.cpp | 2 +- test/unit/utColladaExportCamera.cpp | 2 +- test/unit/utColladaExportLight.cpp | 2 +- test/unit/utColladaImportExport.cpp | 2 +- test/unit/utD3MFImportExport.cpp | 2 +- test/unit/utDXFImporterExporter.cpp | 2 +- test/unit/utDefaultIOStream.cpp | 2 +- test/unit/utFBXImporterExporter.cpp | 2 +- test/unit/utFastAtof.cpp | 2 +- test/unit/utFindDegenerates.cpp | 2 +- test/unit/utFindInvalidData.cpp | 2 +- test/unit/utFixInfacingNormals.cpp | 2 +- test/unit/utGenBoundingBoxesProcess.cpp | 2 +- test/unit/utGenNormals.cpp | 2 +- test/unit/utHMPImportExport.cpp | 2 +- test/unit/utIFCImportExport.cpp | 2 +- test/unit/utIOStreamBuffer.cpp | 2 +- test/unit/utIOSystem.cpp | 2 +- test/unit/utImporter.cpp | 2 +- test/unit/utImproveCacheLocality.cpp | 2 +- test/unit/utIssues.cpp | 2 +- test/unit/utJoinVertices.cpp | 2 +- test/unit/utLWOImportExport.cpp | 2 +- test/unit/utLWSImportExport.cpp | 2 +- test/unit/utLimitBoneWeights.cpp | 2 +- test/unit/utM3DImportExport.cpp | 2 +- test/unit/utMDCImportExport.cpp | 2 +- test/unit/utMaterialSystem.cpp | 2 +- test/unit/utMatrix3x3.cpp | 2 +- test/unit/utMatrix4x4.cpp | 2 +- test/unit/utMetadata.cpp | 2 +- test/unit/utNoBoostTest.cpp | 2 +- test/unit/utObjImportExport.cpp | 2 +- test/unit/utObjTools.cpp | 2 +- test/unit/utOpenGEXImportExport.cpp | 2 +- test/unit/utPLYImportExport.cpp | 2 +- test/unit/utPMXImporter.cpp | 2 +- test/unit/utPretransformVertices.cpp | 2 +- test/unit/utProfiler.cpp | 2 +- test/unit/utQ3DImportExport.cpp | 2 +- test/unit/utRemoveComments.cpp | 2 +- test/unit/utRemoveComponent.cpp | 2 +- test/unit/utRemoveRedundantMaterials.cpp | 2 +- test/unit/utRemoveVCProcess.cpp | 2 +- test/unit/utSIBImporter.cpp | 2 +- test/unit/utSMDImportExport.cpp | 2 +- test/unit/utSTLImportExport.cpp | 2 +- test/unit/utScaleProcess.cpp | 2 +- test/unit/utScene.cpp | 2 +- test/unit/utSceneCombiner.cpp | 2 +- test/unit/utScenePreprocessor.cpp | 2 +- test/unit/utSharedPPData.cpp | 2 +- test/unit/utSimd.cpp | 2 +- test/unit/utSortByPType.cpp | 2 +- test/unit/utSplitLargeMeshes.cpp | 2 +- test/unit/utStringUtils.cpp | 2 +- test/unit/utTargetAnimation.cpp | 2 +- test/unit/utTextureTransform.cpp | 2 +- test/unit/utTriangulate.cpp | 2 +- test/unit/utTypes.cpp | 2 +- test/unit/utValidateDataStructure.cpp | 2 +- test/unit/utVector3.cpp | 2 +- test/unit/utVersion.cpp | 2 +- test/unit/utVertexTriangleAdjacency.cpp | 2 +- test/unit/utX3DImportExport.cpp | 2 +- test/unit/utXImporterExporter.cpp | 2 +- test/unit/utglTF2ImportExport.cpp | 2 +- test/unit/utglTFImportExport.cpp | 2 +- tools/assimp_cmd/CMakeLists.txt | 2 +- tools/assimp_cmd/CompareDump.cpp | 2 +- tools/assimp_cmd/Export.cpp | 2 +- tools/assimp_cmd/ImageExtractor.cpp | 2 +- tools/assimp_cmd/Info.cpp | 2 +- tools/assimp_cmd/Main.cpp | 2 +- tools/assimp_cmd/Main.h | 2 +- tools/assimp_cmd/WriteDumb.cpp | 2 +- tools/assimp_view/AnimEvaluator.cpp | 2 +- tools/assimp_view/AnimEvaluator.h | 2 +- tools/assimp_view/AssetHelper.h | 2 +- tools/assimp_view/Background.cpp | 2 +- tools/assimp_view/Background.h | 2 +- tools/assimp_view/CMakeLists.txt | 2 +- tools/assimp_view/Camera.h | 2 +- tools/assimp_view/Display.cpp | 2 +- tools/assimp_view/Display.h | 2 +- tools/assimp_view/HelpDialog.cpp | 2 +- tools/assimp_view/Input.cpp | 2 +- tools/assimp_view/LogDisplay.cpp | 2 +- tools/assimp_view/LogDisplay.h | 2 +- tools/assimp_view/LogWindow.cpp | 2 +- tools/assimp_view/LogWindow.h | 2 +- tools/assimp_view/Material.cpp | 2 +- tools/assimp_view/MaterialManager.h | 2 +- tools/assimp_view/MeshRenderer.cpp | 2 +- tools/assimp_view/MeshRenderer.h | 2 +- tools/assimp_view/MessageProc.cpp | 2 +- tools/assimp_view/Normals.cpp | 2 +- tools/assimp_view/RenderOptions.h | 2 +- tools/assimp_view/SceneAnimator.cpp | 2 +- tools/assimp_view/SceneAnimator.h | 2 +- tools/assimp_view/Shaders.cpp | 2 +- tools/assimp_view/Shaders.h | 2 +- tools/assimp_view/assimp_view.cpp | 2 +- tools/assimp_view/assimp_view.h | 2 +- tools/assimp_view/assimp_view.rc | 2 +- tools/coverity/assimp_modeling.cpp | 2 +- 714 files changed, 714 insertions(+), 714 deletions(-) diff --git a/.travis.sh b/.travis.sh index f0f0f5d70..3be5d26b4 100755 --- a/.travis.sh +++ b/.travis.sh @@ -1,7 +1,7 @@ #--------------------------------------------------------------------------- #Open Asset Import Library (assimp) #--------------------------------------------------------------------------- -# Copyright (c) 2006-2017, assimp team +# Copyright (c) 2006-2020, assimp team # # License see LICENSE file # diff --git a/CMakeLists.txt b/CMakeLists.txt index 23b6f6d61..0395f874e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,6 +1,6 @@ # Open Asset Import Library (assimp) # ---------------------------------------------------------------------- -# Copyright (c) 2006-2019, assimp team +# Copyright (c) 2006-2020, assimp team # # All rights reserved. # diff --git a/LICENSE b/LICENSE index 262606aff..dc8e24706 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ Open Asset Import Library (assimp) -Copyright (c) 2006-2016, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. Redistribution and use of this software in source and binary forms, diff --git a/assimp-config-version.cmake.in b/assimp-config-version.cmake.in index 923a38798..68366820a 100644 --- a/assimp-config-version.cmake.in +++ b/assimp-config-version.cmake.in @@ -1,6 +1,6 @@ # Open Asset Import Library (assimp) # ---------------------------------------------------------------------- -# Copyright (c) 2006-2017, assimp team +# Copyright (c) 2006-2020, assimp team # All rights reserved. # # Redistribution and use of this software in source and binary forms, diff --git a/code/3DS/3DSConverter.cpp b/code/3DS/3DSConverter.cpp index 3c3da36a3..3f0e20bb0 100644 --- a/code/3DS/3DSConverter.cpp +++ b/code/3DS/3DSConverter.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/code/3DS/3DSExporter.cpp b/code/3DS/3DSExporter.cpp index 1117a52ef..14810cbff 100644 --- a/code/3DS/3DSExporter.cpp +++ b/code/3DS/3DSExporter.cpp @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/3DS/3DSExporter.h b/code/3DS/3DSExporter.h index 035b562cf..9dcd92d58 100644 --- a/code/3DS/3DSExporter.h +++ b/code/3DS/3DSExporter.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/3DS/3DSHelper.h b/code/3DS/3DSHelper.h index 8eb4cd97c..e483f1a25 100644 --- a/code/3DS/3DSHelper.h +++ b/code/3DS/3DSHelper.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/3DS/3DSLoader.cpp b/code/3DS/3DSLoader.cpp index 3c659d0b0..3e8e08967 100644 --- a/code/3DS/3DSLoader.cpp +++ b/code/3DS/3DSLoader.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/code/3DS/3DSLoader.h b/code/3DS/3DSLoader.h index f57e6a8e3..9181294b3 100644 --- a/code/3DS/3DSLoader.h +++ b/code/3DS/3DSLoader.h @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/3MF/3MFXmlTags.h b/code/3MF/3MFXmlTags.h index ea6aeede0..3f1fc01ed 100644 --- a/code/3MF/3MFXmlTags.h +++ b/code/3MF/3MFXmlTags.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/3MF/D3MFExporter.cpp b/code/3MF/D3MFExporter.cpp index 1f388ad3e..9d71a54f2 100644 --- a/code/3MF/D3MFExporter.cpp +++ b/code/3MF/D3MFExporter.cpp @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/3MF/D3MFExporter.h b/code/3MF/D3MFExporter.h index e82120247..6a447236b 100644 --- a/code/3MF/D3MFExporter.h +++ b/code/3MF/D3MFExporter.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/3MF/D3MFImporter.cpp b/code/3MF/D3MFImporter.cpp index 682de684a..2f30c4fc0 100644 --- a/code/3MF/D3MFImporter.cpp +++ b/code/3MF/D3MFImporter.cpp @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/3MF/D3MFImporter.h b/code/3MF/D3MFImporter.h index 3dbdf07bf..638971247 100644 --- a/code/3MF/D3MFImporter.h +++ b/code/3MF/D3MFImporter.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/3MF/D3MFOpcPackage.cpp b/code/3MF/D3MFOpcPackage.cpp index 873ba8ee8..565790656 100644 --- a/code/3MF/D3MFOpcPackage.cpp +++ b/code/3MF/D3MFOpcPackage.cpp @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/3MF/D3MFOpcPackage.h b/code/3MF/D3MFOpcPackage.h index 87d172116..291f8ad53 100644 --- a/code/3MF/D3MFOpcPackage.h +++ b/code/3MF/D3MFOpcPackage.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/AC/ACLoader.cpp b/code/AC/ACLoader.cpp index d4c4bd1a6..ea533743f 100644 --- a/code/AC/ACLoader.cpp +++ b/code/AC/ACLoader.cpp @@ -4,7 +4,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/code/AC/ACLoader.h b/code/AC/ACLoader.h index cab2c3ae5..1fc654f3c 100644 --- a/code/AC/ACLoader.h +++ b/code/AC/ACLoader.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/AMF/AMFImporter.cpp b/code/AMF/AMFImporter.cpp index dedb6dcdd..df4324d4d 100644 --- a/code/AMF/AMFImporter.cpp +++ b/code/AMF/AMFImporter.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/code/AMF/AMFImporter.hpp b/code/AMF/AMFImporter.hpp index 2b8086a06..5994717b8 100644 --- a/code/AMF/AMFImporter.hpp +++ b/code/AMF/AMFImporter.hpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/code/AMF/AMFImporter_Geometry.cpp b/code/AMF/AMFImporter_Geometry.cpp index f1538e3fb..e9a50b656 100644 --- a/code/AMF/AMFImporter_Geometry.cpp +++ b/code/AMF/AMFImporter_Geometry.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/code/AMF/AMFImporter_Macro.hpp b/code/AMF/AMFImporter_Macro.hpp index f60c5fbbb..ec06cb999 100644 --- a/code/AMF/AMFImporter_Macro.hpp +++ b/code/AMF/AMFImporter_Macro.hpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/code/AMF/AMFImporter_Material.cpp b/code/AMF/AMFImporter_Material.cpp index 2f36df061..64da12dda 100644 --- a/code/AMF/AMFImporter_Material.cpp +++ b/code/AMF/AMFImporter_Material.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/code/AMF/AMFImporter_Node.hpp b/code/AMF/AMFImporter_Node.hpp index a1bf9f008..b7b7836f3 100644 --- a/code/AMF/AMFImporter_Node.hpp +++ b/code/AMF/AMFImporter_Node.hpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/code/AMF/AMFImporter_Postprocess.cpp b/code/AMF/AMFImporter_Postprocess.cpp index 79b5e15e2..8496d8ded 100644 --- a/code/AMF/AMFImporter_Postprocess.cpp +++ b/code/AMF/AMFImporter_Postprocess.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/code/ASE/ASELoader.cpp b/code/ASE/ASELoader.cpp index 8e99214a8..b2155d5e5 100644 --- a/code/ASE/ASELoader.cpp +++ b/code/ASE/ASELoader.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/code/ASE/ASELoader.h b/code/ASE/ASELoader.h index b497aa48b..bb7707bb6 100644 --- a/code/ASE/ASELoader.h +++ b/code/ASE/ASELoader.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/ASE/ASEParser.cpp b/code/ASE/ASEParser.cpp index 913e7b118..efc6ecd0d 100644 --- a/code/ASE/ASEParser.cpp +++ b/code/ASE/ASEParser.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/code/ASE/ASEParser.h b/code/ASE/ASEParser.h index 988cbda8d..e55949f99 100644 --- a/code/ASE/ASEParser.h +++ b/code/ASE/ASEParser.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/Assbin/AssbinExporter.cpp b/code/Assbin/AssbinExporter.cpp index 76c823f82..aa0c246be 100644 --- a/code/Assbin/AssbinExporter.cpp +++ b/code/Assbin/AssbinExporter.cpp @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/Assbin/AssbinExporter.h b/code/Assbin/AssbinExporter.h index 3e13639bb..350ed85e3 100644 --- a/code/Assbin/AssbinExporter.h +++ b/code/Assbin/AssbinExporter.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/Assbin/AssbinLoader.cpp b/code/Assbin/AssbinLoader.cpp index becc3f8fc..8a9751018 100644 --- a/code/Assbin/AssbinLoader.cpp +++ b/code/Assbin/AssbinLoader.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/code/Assbin/AssbinLoader.h b/code/Assbin/AssbinLoader.h index 9f2dde125..e6e99f26e 100644 --- a/code/Assbin/AssbinLoader.h +++ b/code/Assbin/AssbinLoader.h @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/Assxml/AssxmlExporter.cpp b/code/Assxml/AssxmlExporter.cpp index afdecbaf6..6ebff3582 100644 --- a/code/Assxml/AssxmlExporter.cpp +++ b/code/Assxml/AssxmlExporter.cpp @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/Assxml/AssxmlExporter.h b/code/Assxml/AssxmlExporter.h index 8ca887eea..a2b40ada1 100644 --- a/code/Assxml/AssxmlExporter.h +++ b/code/Assxml/AssxmlExporter.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/B3D/B3DImporter.cpp b/code/B3D/B3DImporter.cpp index c9eb89ebc..07336df65 100644 --- a/code/B3D/B3DImporter.cpp +++ b/code/B3D/B3DImporter.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/B3D/B3DImporter.h b/code/B3D/B3DImporter.h index d52dac34a..f0568dd16 100644 --- a/code/B3D/B3DImporter.h +++ b/code/B3D/B3DImporter.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/BVH/BVHLoader.cpp b/code/BVH/BVHLoader.cpp index cd9ab0843..1110754c2 100644 --- a/code/BVH/BVHLoader.cpp +++ b/code/BVH/BVHLoader.cpp @@ -4,7 +4,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/code/BVH/BVHLoader.h b/code/BVH/BVHLoader.h index 33b4e2453..93a3e5e83 100644 --- a/code/BVH/BVHLoader.h +++ b/code/BVH/BVHLoader.h @@ -4,7 +4,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/Blender/BlenderBMesh.cpp b/code/Blender/BlenderBMesh.cpp index 8a13819a6..039302e12 100644 --- a/code/Blender/BlenderBMesh.cpp +++ b/code/Blender/BlenderBMesh.cpp @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2013, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. Redistribution and use of this software in source and binary forms, diff --git a/code/Blender/BlenderBMesh.h b/code/Blender/BlenderBMesh.h index 5b65fb503..893128606 100644 --- a/code/Blender/BlenderBMesh.h +++ b/code/Blender/BlenderBMesh.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2013, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. Redistribution and use of this software in source and binary forms, diff --git a/code/Blender/BlenderDNA.cpp b/code/Blender/BlenderDNA.cpp index f274e02f9..53fb84824 100644 --- a/code/Blender/BlenderDNA.cpp +++ b/code/Blender/BlenderDNA.cpp @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/Blender/BlenderDNA.h b/code/Blender/BlenderDNA.h index 375d0c4bf..16ce960e2 100644 --- a/code/Blender/BlenderDNA.h +++ b/code/Blender/BlenderDNA.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/Blender/BlenderDNA.inl b/code/Blender/BlenderDNA.inl index 65bc1374c..fd9993008 100644 --- a/code/Blender/BlenderDNA.inl +++ b/code/Blender/BlenderDNA.inl @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/Blender/BlenderIntermediate.h b/code/Blender/BlenderIntermediate.h index 95fdf0f03..2c480b848 100644 --- a/code/Blender/BlenderIntermediate.h +++ b/code/Blender/BlenderIntermediate.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/Blender/BlenderLoader.cpp b/code/Blender/BlenderLoader.cpp index d39cb9699..93e6d1589 100644 --- a/code/Blender/BlenderLoader.cpp +++ b/code/Blender/BlenderLoader.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/Blender/BlenderLoader.h b/code/Blender/BlenderLoader.h index d85a82842..8110ac946 100644 --- a/code/Blender/BlenderLoader.h +++ b/code/Blender/BlenderLoader.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/Blender/BlenderModifier.cpp b/code/Blender/BlenderModifier.cpp index cc7acc929..6f8a5d7ee 100644 --- a/code/Blender/BlenderModifier.cpp +++ b/code/Blender/BlenderModifier.cpp @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/Blender/BlenderModifier.h b/code/Blender/BlenderModifier.h index c260ba1f6..ad6fad68d 100644 --- a/code/Blender/BlenderModifier.h +++ b/code/Blender/BlenderModifier.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/Blender/BlenderScene.cpp b/code/Blender/BlenderScene.cpp index 39c2793d5..1391a2833 100644 --- a/code/Blender/BlenderScene.cpp +++ b/code/Blender/BlenderScene.cpp @@ -2,7 +2,7 @@ Open Asset Import Library (ASSIMP) ---------------------------------------------------------------------- -Copyright (c) 2006-2016, ASSIMP Development Team +Copyright (c) 2006-2020, ASSIMP Development Team All rights reserved. Redistribution and use of this software in source and binary forms, diff --git a/code/Blender/BlenderScene.h b/code/Blender/BlenderScene.h index dd3f1444c..afa168d49 100644 --- a/code/Blender/BlenderScene.h +++ b/code/Blender/BlenderScene.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/Blender/BlenderSceneGen.h b/code/Blender/BlenderSceneGen.h index ce94d0dc2..0c93d17a3 100644 --- a/code/Blender/BlenderSceneGen.h +++ b/code/Blender/BlenderSceneGen.h @@ -2,7 +2,7 @@ Open Asset Import Library (ASSIMP) ---------------------------------------------------------------------- -Copyright (c) 2006-2016, ASSIMP Development Team +Copyright (c) 2006-2020, ASSIMP Development Team All rights reserved. Redistribution and use of this software in source and binary forms, diff --git a/code/Blender/BlenderTessellator.cpp b/code/Blender/BlenderTessellator.cpp index d98c2e865..3c1cd6ea8 100644 --- a/code/Blender/BlenderTessellator.cpp +++ b/code/Blender/BlenderTessellator.cpp @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/Blender/BlenderTessellator.h b/code/Blender/BlenderTessellator.h index 518e56c72..63ea1f828 100644 --- a/code/Blender/BlenderTessellator.h +++ b/code/Blender/BlenderTessellator.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/C4D/C4DImporter.cpp b/code/C4D/C4DImporter.cpp index 6e5b7d39b..24fd6f622 100644 --- a/code/C4D/C4DImporter.cpp +++ b/code/C4D/C4DImporter.cpp @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. Redistribution and use of this software in source and binary forms, diff --git a/code/C4D/C4DImporter.h b/code/C4D/C4DImporter.h index f3b1351f6..f9406c3e0 100644 --- a/code/C4D/C4DImporter.h +++ b/code/C4D/C4DImporter.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. Redistribution and use of this software in source and binary forms, diff --git a/code/CApi/AssimpCExport.cpp b/code/CApi/AssimpCExport.cpp index 7557edcfc..137cc2894 100644 --- a/code/CApi/AssimpCExport.cpp +++ b/code/CApi/AssimpCExport.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/code/CApi/CInterfaceIOWrapper.cpp b/code/CApi/CInterfaceIOWrapper.cpp index 5a3a49565..91dd07f37 100644 --- a/code/CApi/CInterfaceIOWrapper.cpp +++ b/code/CApi/CInterfaceIOWrapper.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/code/CApi/CInterfaceIOWrapper.h b/code/CApi/CInterfaceIOWrapper.h index 216232030..298847494 100644 --- a/code/CApi/CInterfaceIOWrapper.h +++ b/code/CApi/CInterfaceIOWrapper.h @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/code/CMakeLists.txt b/code/CMakeLists.txt index bace9d18c..67def907c 100644 --- a/code/CMakeLists.txt +++ b/code/CMakeLists.txt @@ -1,7 +1,7 @@ # Open Asset Import Library (assimp) # ---------------------------------------------------------------------- # -# Copyright (c) 2006-2019, assimp team +# Copyright (c) 2006-2020, assimp team # # All rights reserved. # diff --git a/code/COB/COBLoader.cpp b/code/COB/COBLoader.cpp index 19e3cd59e..7b82ab662 100644 --- a/code/COB/COBLoader.cpp +++ b/code/COB/COBLoader.cpp @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/COB/COBLoader.h b/code/COB/COBLoader.h index 40fed324b..8b3110a32 100644 --- a/code/COB/COBLoader.h +++ b/code/COB/COBLoader.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/COB/COBScene.h b/code/COB/COBScene.h index 90349be70..87f4f4570 100644 --- a/code/COB/COBScene.h +++ b/code/COB/COBScene.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/CSM/CSMLoader.cpp b/code/CSM/CSMLoader.cpp index 7fea06727..fbabea12e 100644 --- a/code/CSM/CSMLoader.cpp +++ b/code/CSM/CSMLoader.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/code/CSM/CSMLoader.h b/code/CSM/CSMLoader.h index 31a814b52..907c7aa43 100644 --- a/code/CSM/CSMLoader.h +++ b/code/CSM/CSMLoader.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/Collada/ColladaExporter.cpp b/code/Collada/ColladaExporter.cpp index 3e63990b8..99cdc097b 100644 --- a/code/Collada/ColladaExporter.cpp +++ b/code/Collada/ColladaExporter.cpp @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/Collada/ColladaExporter.h b/code/Collada/ColladaExporter.h index 0b4fa59a3..f6c66e279 100644 --- a/code/Collada/ColladaExporter.h +++ b/code/Collada/ColladaExporter.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/Collada/ColladaHelper.cpp b/code/Collada/ColladaHelper.cpp index 510ac657e..6f1fed366 100644 --- a/code/Collada/ColladaHelper.cpp +++ b/code/Collada/ColladaHelper.cpp @@ -4,7 +4,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/Collada/ColladaHelper.h b/code/Collada/ColladaHelper.h index 76d39c197..c6e2e7ddd 100644 --- a/code/Collada/ColladaHelper.h +++ b/code/Collada/ColladaHelper.h @@ -4,7 +4,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/Collada/ColladaLoader.cpp b/code/Collada/ColladaLoader.cpp index 0d8aa47c4..b78fc0e3b 100644 --- a/code/Collada/ColladaLoader.cpp +++ b/code/Collada/ColladaLoader.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/Collada/ColladaLoader.h b/code/Collada/ColladaLoader.h index d8d3f4f52..198b7a215 100644 --- a/code/Collada/ColladaLoader.h +++ b/code/Collada/ColladaLoader.h @@ -4,7 +4,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/Collada/ColladaParser.cpp b/code/Collada/ColladaParser.cpp index cced255f5..d0f71d95a 100644 --- a/code/Collada/ColladaParser.cpp +++ b/code/Collada/ColladaParser.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/code/Collada/ColladaParser.h b/code/Collada/ColladaParser.h index f421172c7..d1e812bd2 100644 --- a/code/Collada/ColladaParser.h +++ b/code/Collada/ColladaParser.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- - Copyright (c) 2006-2019, assimp team + Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/Common/Assimp.cpp b/code/Common/Assimp.cpp index 178b2c01d..66588f0bc 100644 --- a/code/Common/Assimp.cpp +++ b/code/Common/Assimp.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/code/Common/BaseImporter.cpp b/code/Common/BaseImporter.cpp index 5c1e60554..660a6a965 100644 --- a/code/Common/BaseImporter.cpp +++ b/code/Common/BaseImporter.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/code/Common/BaseProcess.cpp b/code/Common/BaseProcess.cpp index e247be418..974af68db 100644 --- a/code/Common/BaseProcess.cpp +++ b/code/Common/BaseProcess.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/code/Common/BaseProcess.h b/code/Common/BaseProcess.h index 4d5c7a76b..a7e48bba3 100644 --- a/code/Common/BaseProcess.h +++ b/code/Common/BaseProcess.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/Common/Bitmap.cpp b/code/Common/Bitmap.cpp index b22b71ea9..7d8225704 100644 --- a/code/Common/Bitmap.cpp +++ b/code/Common/Bitmap.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/code/Common/CreateAnimMesh.cpp b/code/Common/CreateAnimMesh.cpp index 98b60e531..7317dc45b 100644 --- a/code/Common/CreateAnimMesh.cpp +++ b/code/Common/CreateAnimMesh.cpp @@ -4,7 +4,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- Copyright (C) 2016 The Qt Company Ltd. -Copyright (c) 2006-2012, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/Common/DefaultIOStream.cpp b/code/Common/DefaultIOStream.cpp index 829b44731..205f19e37 100644 --- a/code/Common/DefaultIOStream.cpp +++ b/code/Common/DefaultIOStream.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/code/Common/DefaultIOSystem.cpp b/code/Common/DefaultIOSystem.cpp index 6fdc24dd8..0343cb289 100644 --- a/code/Common/DefaultIOSystem.cpp +++ b/code/Common/DefaultIOSystem.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/code/Common/DefaultLogger.cpp b/code/Common/DefaultLogger.cpp index eee53bd7c..adb9ba160 100644 --- a/code/Common/DefaultLogger.cpp +++ b/code/Common/DefaultLogger.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/code/Common/DefaultProgressHandler.h b/code/Common/DefaultProgressHandler.h index bd2cce00b..ebf7f118c 100644 --- a/code/Common/DefaultProgressHandler.h +++ b/code/Common/DefaultProgressHandler.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/Common/Exporter.cpp b/code/Common/Exporter.cpp index 784c803b0..9f9a33b58 100644 --- a/code/Common/Exporter.cpp +++ b/code/Common/Exporter.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/code/Common/FileLogStream.h b/code/Common/FileLogStream.h index 740c50319..ecff03a7e 100644 --- a/code/Common/FileLogStream.h +++ b/code/Common/FileLogStream.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/Common/FileSystemFilter.h b/code/Common/FileSystemFilter.h index 9923cdbdd..1440cf97d 100644 --- a/code/Common/FileSystemFilter.h +++ b/code/Common/FileSystemFilter.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2008, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. Redistribution and use of this software in source and binary forms, diff --git a/code/Common/Importer.cpp b/code/Common/Importer.cpp index 9564f6ab7..5601298f1 100644 --- a/code/Common/Importer.cpp +++ b/code/Common/Importer.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/Common/Importer.h b/code/Common/Importer.h index a439d99c2..c31f67caa 100644 --- a/code/Common/Importer.h +++ b/code/Common/Importer.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/Common/ImporterRegistry.cpp b/code/Common/ImporterRegistry.cpp index b9f28f035..41aa21979 100644 --- a/code/Common/ImporterRegistry.cpp +++ b/code/Common/ImporterRegistry.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/code/Common/PolyTools.h b/code/Common/PolyTools.h index fbbda0e7d..1b8972877 100644 --- a/code/Common/PolyTools.h +++ b/code/Common/PolyTools.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/Common/PostStepRegistry.cpp b/code/Common/PostStepRegistry.cpp index 8ff4af040..21bd2af95 100644 --- a/code/Common/PostStepRegistry.cpp +++ b/code/Common/PostStepRegistry.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/code/Common/RemoveComments.cpp b/code/Common/RemoveComments.cpp index 91700a769..f7e735c16 100644 --- a/code/Common/RemoveComments.cpp +++ b/code/Common/RemoveComments.cpp @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/Common/SGSpatialSort.cpp b/code/Common/SGSpatialSort.cpp index 120070b0a..35ffaae58 100644 --- a/code/Common/SGSpatialSort.cpp +++ b/code/Common/SGSpatialSort.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/code/Common/SceneCombiner.cpp b/code/Common/SceneCombiner.cpp index f7b13cc95..9471907de 100644 --- a/code/Common/SceneCombiner.cpp +++ b/code/Common/SceneCombiner.cpp @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/Common/ScenePreprocessor.cpp b/code/Common/ScenePreprocessor.cpp index 432a3d766..25b225111 100644 --- a/code/Common/ScenePreprocessor.cpp +++ b/code/Common/ScenePreprocessor.cpp @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/Common/ScenePreprocessor.h b/code/Common/ScenePreprocessor.h index 3f4c8d7c3..e059d1c95 100644 --- a/code/Common/ScenePreprocessor.h +++ b/code/Common/ScenePreprocessor.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/Common/ScenePrivate.h b/code/Common/ScenePrivate.h index f336aafc9..f66f48856 100644 --- a/code/Common/ScenePrivate.h +++ b/code/Common/ScenePrivate.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/Common/SkeletonMeshBuilder.cpp b/code/Common/SkeletonMeshBuilder.cpp index 06cfe034e..724359f99 100644 --- a/code/Common/SkeletonMeshBuilder.cpp +++ b/code/Common/SkeletonMeshBuilder.cpp @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/Common/SpatialSort.cpp b/code/Common/SpatialSort.cpp index a4f3a4e4b..604b086b7 100644 --- a/code/Common/SpatialSort.cpp +++ b/code/Common/SpatialSort.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/code/Common/SplitByBoneCountProcess.cpp b/code/Common/SplitByBoneCountProcess.cpp index 2ef66a9af..b472cb359 100644 --- a/code/Common/SplitByBoneCountProcess.cpp +++ b/code/Common/SplitByBoneCountProcess.cpp @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/Common/SplitByBoneCountProcess.h b/code/Common/SplitByBoneCountProcess.h index 6c904a9df..7185d0330 100644 --- a/code/Common/SplitByBoneCountProcess.h +++ b/code/Common/SplitByBoneCountProcess.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/Common/StandardShapes.cpp b/code/Common/StandardShapes.cpp index 2e5100130..d474c6129 100644 --- a/code/Common/StandardShapes.cpp +++ b/code/Common/StandardShapes.cpp @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/Common/StdOStreamLogStream.h b/code/Common/StdOStreamLogStream.h index 893e261a2..4f5999775 100644 --- a/code/Common/StdOStreamLogStream.h +++ b/code/Common/StdOStreamLogStream.h @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/code/Common/Subdivision.cpp b/code/Common/Subdivision.cpp index 60c54939f..08408f867 100644 --- a/code/Common/Subdivision.cpp +++ b/code/Common/Subdivision.cpp @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/Common/TargetAnimation.cpp b/code/Common/TargetAnimation.cpp index b8062499f..3c61d2176 100644 --- a/code/Common/TargetAnimation.cpp +++ b/code/Common/TargetAnimation.cpp @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/Common/TargetAnimation.h b/code/Common/TargetAnimation.h index 91634ab5a..5b9c1881d 100644 --- a/code/Common/TargetAnimation.h +++ b/code/Common/TargetAnimation.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/Common/Version.cpp b/code/Common/Version.cpp index ea4c996f0..f04d12233 100644 --- a/code/Common/Version.cpp +++ b/code/Common/Version.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. @@ -55,7 +55,7 @@ static const char* LEGAL_INFORMATION = "Open Asset Import Library (Assimp).\n" "A free C/C++ library to import various 3D file formats into applications\n\n" -"(c) 2006-2019, assimp team\n" +"(c) 2006-2020, assimp team\n" "License under the terms and conditions of the 3-clause BSD license\n" "http://assimp.org\n" ; diff --git a/code/Common/VertexTriangleAdjacency.cpp b/code/Common/VertexTriangleAdjacency.cpp index 83558f697..e588dc2a4 100644 --- a/code/Common/VertexTriangleAdjacency.cpp +++ b/code/Common/VertexTriangleAdjacency.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/code/Common/VertexTriangleAdjacency.h b/code/Common/VertexTriangleAdjacency.h index f3be47612..2226fc1c4 100644 --- a/code/Common/VertexTriangleAdjacency.h +++ b/code/Common/VertexTriangleAdjacency.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/Common/Win32DebugLogStream.h b/code/Common/Win32DebugLogStream.h index a6063a261..3a9d89c73 100644 --- a/code/Common/Win32DebugLogStream.h +++ b/code/Common/Win32DebugLogStream.h @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/code/Common/ZipArchiveIOSystem.cpp b/code/Common/ZipArchiveIOSystem.cpp index 7c37a05f9..e83d3e50d 100644 --- a/code/Common/ZipArchiveIOSystem.cpp +++ b/code/Common/ZipArchiveIOSystem.cpp @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/Common/scene.cpp b/code/Common/scene.cpp index d15619acf..f56562b1c 100644 --- a/code/Common/scene.cpp +++ b/code/Common/scene.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/code/Common/simd.cpp b/code/Common/simd.cpp index 04615f408..305445970 100644 --- a/code/Common/simd.cpp +++ b/code/Common/simd.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/code/Common/simd.h b/code/Common/simd.h index 3eecdd458..17856fe72 100644 --- a/code/Common/simd.h +++ b/code/Common/simd.h @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/code/DXF/DXFHelper.h b/code/DXF/DXFHelper.h index 0ec8e130b..8140d00c6 100644 --- a/code/DXF/DXFHelper.h +++ b/code/DXF/DXFHelper.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/DXF/DXFLoader.cpp b/code/DXF/DXFLoader.cpp index baf315485..ea877a484 100644 --- a/code/DXF/DXFLoader.cpp +++ b/code/DXF/DXFLoader.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/code/DXF/DXFLoader.h b/code/DXF/DXFLoader.h index 044cf6bcb..5c4f1787e 100644 --- a/code/DXF/DXFLoader.h +++ b/code/DXF/DXFLoader.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/FBX/FBXAnimation.cpp b/code/FBX/FBXAnimation.cpp index 874914431..9a54f61a0 100644 --- a/code/FBX/FBXAnimation.cpp +++ b/code/FBX/FBXAnimation.cpp @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/FBX/FBXBinaryTokenizer.cpp b/code/FBX/FBXBinaryTokenizer.cpp index a4a2bc8e7..7faa0518b 100644 --- a/code/FBX/FBXBinaryTokenizer.cpp +++ b/code/FBX/FBXBinaryTokenizer.cpp @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/FBX/FBXCommon.h b/code/FBX/FBXCommon.h index b28601c74..7f70eb784 100644 --- a/code/FBX/FBXCommon.h +++ b/code/FBX/FBXCommon.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/FBX/FBXCompileConfig.h b/code/FBX/FBXCompileConfig.h index 03536a182..5cdaa6960 100644 --- a/code/FBX/FBXCompileConfig.h +++ b/code/FBX/FBXCompileConfig.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/FBX/FBXConverter.cpp b/code/FBX/FBXConverter.cpp index d672afe56..22616a480 100644 --- a/code/FBX/FBXConverter.cpp +++ b/code/FBX/FBXConverter.cpp @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/FBX/FBXConverter.h b/code/FBX/FBXConverter.h index d47416223..c5ad47059 100644 --- a/code/FBX/FBXConverter.h +++ b/code/FBX/FBXConverter.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/FBX/FBXDeformer.cpp b/code/FBX/FBXDeformer.cpp index 692755345..4b76cd0fa 100644 --- a/code/FBX/FBXDeformer.cpp +++ b/code/FBX/FBXDeformer.cpp @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/FBX/FBXDocument.cpp b/code/FBX/FBXDocument.cpp index 506fd978d..ddb971b3f 100644 --- a/code/FBX/FBXDocument.cpp +++ b/code/FBX/FBXDocument.cpp @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/FBX/FBXDocument.h b/code/FBX/FBXDocument.h index a60d7d9ef..8984b3df7 100644 --- a/code/FBX/FBXDocument.h +++ b/code/FBX/FBXDocument.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/FBX/FBXDocumentUtil.cpp b/code/FBX/FBXDocumentUtil.cpp index f84691479..7178e9f26 100644 --- a/code/FBX/FBXDocumentUtil.cpp +++ b/code/FBX/FBXDocumentUtil.cpp @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/FBX/FBXDocumentUtil.h b/code/FBX/FBXDocumentUtil.h index 2450109e5..2d76ee031 100644 --- a/code/FBX/FBXDocumentUtil.h +++ b/code/FBX/FBXDocumentUtil.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2012, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. Redistribution and use of this software in source and binary forms, diff --git a/code/FBX/FBXExportNode.cpp b/code/FBX/FBXExportNode.cpp index 9b29995cc..53aa719f4 100644 --- a/code/FBX/FBXExportNode.cpp +++ b/code/FBX/FBXExportNode.cpp @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/FBX/FBXExportNode.h b/code/FBX/FBXExportNode.h index ef3bc781a..2e8f491a1 100644 --- a/code/FBX/FBXExportNode.h +++ b/code/FBX/FBXExportNode.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/FBX/FBXExportProperty.cpp b/code/FBX/FBXExportProperty.cpp index f2a63b72b..11ee35003 100644 --- a/code/FBX/FBXExportProperty.cpp +++ b/code/FBX/FBXExportProperty.cpp @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/FBX/FBXExportProperty.h b/code/FBX/FBXExportProperty.h index d692fe6ee..6baae8b69 100644 --- a/code/FBX/FBXExportProperty.h +++ b/code/FBX/FBXExportProperty.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/FBX/FBXExporter.cpp b/code/FBX/FBXExporter.cpp index 413d1d6c8..594951e78 100644 --- a/code/FBX/FBXExporter.cpp +++ b/code/FBX/FBXExporter.cpp @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/FBX/FBXExporter.h b/code/FBX/FBXExporter.h index 1ae727eda..eb8bfaf3b 100644 --- a/code/FBX/FBXExporter.h +++ b/code/FBX/FBXExporter.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/FBX/FBXImportSettings.h b/code/FBX/FBXImportSettings.h index 1a4c80f8b..974931b4c 100644 --- a/code/FBX/FBXImportSettings.h +++ b/code/FBX/FBXImportSettings.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/FBX/FBXImporter.cpp b/code/FBX/FBXImporter.cpp index afcc1ddc7..571f60883 100644 --- a/code/FBX/FBXImporter.cpp +++ b/code/FBX/FBXImporter.cpp @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/FBX/FBXImporter.h b/code/FBX/FBXImporter.h index c365b2cdd..63375e40d 100644 --- a/code/FBX/FBXImporter.h +++ b/code/FBX/FBXImporter.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/FBX/FBXMaterial.cpp b/code/FBX/FBXMaterial.cpp index f43a8b84b..88ac9db16 100644 --- a/code/FBX/FBXMaterial.cpp +++ b/code/FBX/FBXMaterial.cpp @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/FBX/FBXMeshGeometry.cpp b/code/FBX/FBXMeshGeometry.cpp index 1386e2383..70e35ccb3 100644 --- a/code/FBX/FBXMeshGeometry.cpp +++ b/code/FBX/FBXMeshGeometry.cpp @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/FBX/FBXMeshGeometry.h b/code/FBX/FBXMeshGeometry.h index d6d451217..97265e4b2 100644 --- a/code/FBX/FBXMeshGeometry.h +++ b/code/FBX/FBXMeshGeometry.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/FBX/FBXModel.cpp b/code/FBX/FBXModel.cpp index 589af36ac..e34f3a610 100644 --- a/code/FBX/FBXModel.cpp +++ b/code/FBX/FBXModel.cpp @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/FBX/FBXNodeAttribute.cpp b/code/FBX/FBXNodeAttribute.cpp index b72e5637e..2ebf917e3 100644 --- a/code/FBX/FBXNodeAttribute.cpp +++ b/code/FBX/FBXNodeAttribute.cpp @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/FBX/FBXParser.cpp b/code/FBX/FBXParser.cpp index 4a9346040..215ff7484 100644 --- a/code/FBX/FBXParser.cpp +++ b/code/FBX/FBXParser.cpp @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/FBX/FBXParser.h b/code/FBX/FBXParser.h index 7b0cf7203..5d8d00307 100644 --- a/code/FBX/FBXParser.h +++ b/code/FBX/FBXParser.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/FBX/FBXProperties.cpp b/code/FBX/FBXProperties.cpp index 8d7036b6a..f6b804894 100644 --- a/code/FBX/FBXProperties.cpp +++ b/code/FBX/FBXProperties.cpp @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/FBX/FBXProperties.h b/code/FBX/FBXProperties.h index 58755542f..209d5e940 100644 --- a/code/FBX/FBXProperties.h +++ b/code/FBX/FBXProperties.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/FBX/FBXTokenizer.cpp b/code/FBX/FBXTokenizer.cpp index 252cce355..831c40061 100644 --- a/code/FBX/FBXTokenizer.cpp +++ b/code/FBX/FBXTokenizer.cpp @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/FBX/FBXTokenizer.h b/code/FBX/FBXTokenizer.h index afa588a47..cadc82770 100644 --- a/code/FBX/FBXTokenizer.h +++ b/code/FBX/FBXTokenizer.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/FBX/FBXUtil.cpp b/code/FBX/FBXUtil.cpp index c10e057c8..50dd78a4c 100644 --- a/code/FBX/FBXUtil.cpp +++ b/code/FBX/FBXUtil.cpp @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/FBX/FBXUtil.h b/code/FBX/FBXUtil.h index b63441885..77bb0ad30 100644 --- a/code/FBX/FBXUtil.h +++ b/code/FBX/FBXUtil.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/HMP/HMPFileData.h b/code/HMP/HMPFileData.h index ab4100174..bad8dde5c 100644 --- a/code/HMP/HMPFileData.h +++ b/code/HMP/HMPFileData.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/HMP/HMPLoader.cpp b/code/HMP/HMPLoader.cpp index d5469181e..0d1334fdd 100644 --- a/code/HMP/HMPLoader.cpp +++ b/code/HMP/HMPLoader.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/code/HMP/HMPLoader.h b/code/HMP/HMPLoader.h index 421826c91..0371a608b 100644 --- a/code/HMP/HMPLoader.h +++ b/code/HMP/HMPLoader.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/HMP/HalfLifeFileData.h b/code/HMP/HalfLifeFileData.h index ef328edf8..d7db1476c 100644 --- a/code/HMP/HalfLifeFileData.h +++ b/code/HMP/HalfLifeFileData.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/Importer/IFC/IFCBoolean.cpp b/code/Importer/IFC/IFCBoolean.cpp index 10e7bf3af..01fd43cd2 100644 --- a/code/Importer/IFC/IFCBoolean.cpp +++ b/code/Importer/IFC/IFCBoolean.cpp @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2010, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. Redistribution and use of this software in source and binary forms, diff --git a/code/Importer/IFC/IFCCurve.cpp b/code/Importer/IFC/IFCCurve.cpp index a817b4f9f..6ff330052 100644 --- a/code/Importer/IFC/IFCCurve.cpp +++ b/code/Importer/IFC/IFCCurve.cpp @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/Importer/IFC/IFCGeometry.cpp b/code/Importer/IFC/IFCGeometry.cpp index 7949f9a58..bb4d74758 100644 --- a/code/Importer/IFC/IFCGeometry.cpp +++ b/code/Importer/IFC/IFCGeometry.cpp @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2010, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. Redistribution and use of this software in source and binary forms, diff --git a/code/Importer/IFC/IFCLoader.cpp b/code/Importer/IFC/IFCLoader.cpp index 5c705c256..5dd19f320 100644 --- a/code/Importer/IFC/IFCLoader.cpp +++ b/code/Importer/IFC/IFCLoader.cpp @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/Importer/IFC/IFCLoader.h b/code/Importer/IFC/IFCLoader.h index 678c60343..4abfe00f1 100644 --- a/code/Importer/IFC/IFCLoader.h +++ b/code/Importer/IFC/IFCLoader.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/Importer/IFC/IFCMaterial.cpp b/code/Importer/IFC/IFCMaterial.cpp index 5fda0a1de..832712cd4 100644 --- a/code/Importer/IFC/IFCMaterial.cpp +++ b/code/Importer/IFC/IFCMaterial.cpp @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/Importer/IFC/IFCOpenings.cpp b/code/Importer/IFC/IFCOpenings.cpp index d6c40b383..2c6754287 100644 --- a/code/Importer/IFC/IFCOpenings.cpp +++ b/code/Importer/IFC/IFCOpenings.cpp @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2010, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. Redistribution and use of this software in source and binary forms, diff --git a/code/Importer/IFC/IFCProfile.cpp b/code/Importer/IFC/IFCProfile.cpp index daafc9afe..a1a1b3967 100644 --- a/code/Importer/IFC/IFCProfile.cpp +++ b/code/Importer/IFC/IFCProfile.cpp @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/Importer/IFC/IFCReaderGen1_2x3.cpp b/code/Importer/IFC/IFCReaderGen1_2x3.cpp index f4dbed1d1..58ff47113 100644 --- a/code/Importer/IFC/IFCReaderGen1_2x3.cpp +++ b/code/Importer/IFC/IFCReaderGen1_2x3.cpp @@ -2,7 +2,7 @@ Open Asset Import Library (ASSIMP) ---------------------------------------------------------------------- -Copyright (c) 2006-2010, ASSIMP Development Team +Copyright (c) 2006-2020, ASSIMP Development Team All rights reserved. Redistribution and use of this software in source and binary forms, diff --git a/code/Importer/IFC/IFCReaderGen2_2x3.cpp b/code/Importer/IFC/IFCReaderGen2_2x3.cpp index 7dabe278e..e6687014d 100644 --- a/code/Importer/IFC/IFCReaderGen2_2x3.cpp +++ b/code/Importer/IFC/IFCReaderGen2_2x3.cpp @@ -2,7 +2,7 @@ Open Asset Import Library (ASSIMP) ---------------------------------------------------------------------- -Copyright (c) 2006-2010, ASSIMP Development Team +Copyright (c) 2006-2020, ASSIMP Development Team All rights reserved. Redistribution and use of this software in source and binary forms, diff --git a/code/Importer/IFC/IFCReaderGen_2x3.h b/code/Importer/IFC/IFCReaderGen_2x3.h index 8b39ccdc2..4605b94cf 100644 --- a/code/Importer/IFC/IFCReaderGen_2x3.h +++ b/code/Importer/IFC/IFCReaderGen_2x3.h @@ -2,7 +2,7 @@ Open Asset Import Library (ASSIMP) ---------------------------------------------------------------------- -Copyright (c) 2006-2010, ASSIMP Development Team +Copyright (c) 2006-2020, ASSIMP Development Team All rights reserved. Redistribution and use of this software in source and binary forms, diff --git a/code/Importer/IFC/IFCReaderGen_4.cpp b/code/Importer/IFC/IFCReaderGen_4.cpp index fdefedb18..9eb3e2446 100644 --- a/code/Importer/IFC/IFCReaderGen_4.cpp +++ b/code/Importer/IFC/IFCReaderGen_4.cpp @@ -2,7 +2,7 @@ Open Asset Import Library (ASSIMP) ---------------------------------------------------------------------- -Copyright (c) 2006-2010, ASSIMP Development Team +Copyright (c) 2006-2020, ASSIMP Development Team All rights reserved. Redistribution and use of this software in source and binary forms, diff --git a/code/Importer/IFC/IFCReaderGen_4.h b/code/Importer/IFC/IFCReaderGen_4.h index ccfcb6ea0..0f184cd02 100644 --- a/code/Importer/IFC/IFCReaderGen_4.h +++ b/code/Importer/IFC/IFCReaderGen_4.h @@ -2,7 +2,7 @@ Open Asset Import Library (ASSIMP) ---------------------------------------------------------------------- -Copyright (c) 2006-2010, ASSIMP Development Team +Copyright (c) 2006-2020, ASSIMP Development Team All rights reserved. Redistribution and use of this software in source and binary forms, diff --git a/code/Importer/IFC/IFCUtil.cpp b/code/Importer/IFC/IFCUtil.cpp index f6bca91f5..3557b4baa 100644 --- a/code/Importer/IFC/IFCUtil.cpp +++ b/code/Importer/IFC/IFCUtil.cpp @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/Importer/IFC/IFCUtil.h b/code/Importer/IFC/IFCUtil.h index 32ae1e07f..cf8c94293 100644 --- a/code/Importer/IFC/IFCUtil.h +++ b/code/Importer/IFC/IFCUtil.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/Importer/STEPParser/STEPFileEncoding.cpp b/code/Importer/STEPParser/STEPFileEncoding.cpp index 101dcdfd7..d917c28f3 100644 --- a/code/Importer/STEPParser/STEPFileEncoding.cpp +++ b/code/Importer/STEPParser/STEPFileEncoding.cpp @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/Importer/STEPParser/STEPFileEncoding.h b/code/Importer/STEPParser/STEPFileEncoding.h index 09f16ba33..a076d1ce9 100644 --- a/code/Importer/STEPParser/STEPFileEncoding.h +++ b/code/Importer/STEPParser/STEPFileEncoding.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/Importer/STEPParser/STEPFileReader.cpp b/code/Importer/STEPParser/STEPFileReader.cpp index f099d2be7..72f882d6e 100644 --- a/code/Importer/STEPParser/STEPFileReader.cpp +++ b/code/Importer/STEPParser/STEPFileReader.cpp @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/Importer/STEPParser/STEPFileReader.h b/code/Importer/STEPParser/STEPFileReader.h index 9c4b77241..62292792a 100644 --- a/code/Importer/STEPParser/STEPFileReader.h +++ b/code/Importer/STEPParser/STEPFileReader.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/Importer/StepFile/StepFileGen1.cpp b/code/Importer/StepFile/StepFileGen1.cpp index 50c54818e..234300700 100644 --- a/code/Importer/StepFile/StepFileGen1.cpp +++ b/code/Importer/StepFile/StepFileGen1.cpp @@ -2,7 +2,7 @@ Open Asset Import Library (ASSIMP) ---------------------------------------------------------------------- -Copyright (c) 2006-2018, ASSIMP Development Team +Copyright (c) 2006-2020, ASSIMP Development Team All rights reserved. Redistribution and use of this software in source and binary forms, diff --git a/code/Importer/StepFile/StepFileGen2.cpp b/code/Importer/StepFile/StepFileGen2.cpp index eca09e4e1..a80bb69ef 100644 --- a/code/Importer/StepFile/StepFileGen2.cpp +++ b/code/Importer/StepFile/StepFileGen2.cpp @@ -2,7 +2,7 @@ Open Asset Import Library (ASSIMP) ---------------------------------------------------------------------- -Copyright (c) 2006-2010, ASSIMP Development Team +Copyright (c) 2006-2020, ASSIMP Development Team All rights reserved. Redistribution and use of this software in source and binary forms, diff --git a/code/Importer/StepFile/StepFileGen3.cpp b/code/Importer/StepFile/StepFileGen3.cpp index d8d81141f..2f25683a8 100644 --- a/code/Importer/StepFile/StepFileGen3.cpp +++ b/code/Importer/StepFile/StepFileGen3.cpp @@ -2,7 +2,7 @@ Open Asset Import Library (ASSIMP) ---------------------------------------------------------------------- -Copyright (c) 2006-2010, ASSIMP Development Team +Copyright (c) 2006-2020, ASSIMP Development Team All rights reserved. Redistribution and use of this software in source and binary forms, diff --git a/code/Importer/StepFile/StepFileImporter.cpp b/code/Importer/StepFile/StepFileImporter.cpp index 26c456ac9..28744c785 100644 --- a/code/Importer/StepFile/StepFileImporter.cpp +++ b/code/Importer/StepFile/StepFileImporter.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/code/Importer/StepFile/StepFileImporter.h b/code/Importer/StepFile/StepFileImporter.h index 70f65fdcf..c6ac08bb6 100644 --- a/code/Importer/StepFile/StepFileImporter.h +++ b/code/Importer/StepFile/StepFileImporter.h @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/code/Importer/StepFile/StepReaderGen.h b/code/Importer/StepFile/StepReaderGen.h index 9eb86c332..cb1034e2b 100644 --- a/code/Importer/StepFile/StepReaderGen.h +++ b/code/Importer/StepFile/StepReaderGen.h @@ -2,7 +2,7 @@ Open Asset Import Library (ASSIMP) ---------------------------------------------------------------------- -Copyright (c) 2006-2018, ASSIMP Development Team +Copyright (c) 2006-2020, ASSIMP Development Team All rights reserved. Redistribution and use of this software in source and binary forms, diff --git a/code/Irr/IRRLoader.cpp b/code/Irr/IRRLoader.cpp index e94fd85a4..4361d578a 100644 --- a/code/Irr/IRRLoader.cpp +++ b/code/Irr/IRRLoader.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/code/Irr/IRRLoader.h b/code/Irr/IRRLoader.h index b3ad81a7d..fc6f77031 100644 --- a/code/Irr/IRRLoader.h +++ b/code/Irr/IRRLoader.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/Irr/IRRMeshLoader.cpp b/code/Irr/IRRMeshLoader.cpp index 057218464..13db70e91 100644 --- a/code/Irr/IRRMeshLoader.cpp +++ b/code/Irr/IRRMeshLoader.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/code/Irr/IRRMeshLoader.h b/code/Irr/IRRMeshLoader.h index d8b42d78d..f0d249f71 100644 --- a/code/Irr/IRRMeshLoader.h +++ b/code/Irr/IRRMeshLoader.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/Irr/IRRShared.cpp b/code/Irr/IRRShared.cpp index ecac031ab..5dacc2ae1 100644 --- a/code/Irr/IRRShared.cpp +++ b/code/Irr/IRRShared.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/code/LWO/LWOAnimation.cpp b/code/LWO/LWOAnimation.cpp index 3a0d2c392..ae9c4c13b 100644 --- a/code/LWO/LWOAnimation.cpp +++ b/code/LWO/LWOAnimation.cpp @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/LWO/LWOAnimation.h b/code/LWO/LWOAnimation.h index dd29695cc..a46787965 100644 --- a/code/LWO/LWOAnimation.h +++ b/code/LWO/LWOAnimation.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/LWO/LWOBLoader.cpp b/code/LWO/LWOBLoader.cpp index b24957072..fe542df1b 100644 --- a/code/LWO/LWOBLoader.cpp +++ b/code/LWO/LWOBLoader.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/code/LWO/LWOFileData.h b/code/LWO/LWOFileData.h index 7d1f6b1df..33fac8c39 100644 --- a/code/LWO/LWOFileData.h +++ b/code/LWO/LWOFileData.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/LWO/LWOLoader.cpp b/code/LWO/LWOLoader.cpp index 242538056..cb581f7f5 100644 --- a/code/LWO/LWOLoader.cpp +++ b/code/LWO/LWOLoader.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/code/LWO/LWOLoader.h b/code/LWO/LWOLoader.h index 05b958fd2..680f82923 100644 --- a/code/LWO/LWOLoader.h +++ b/code/LWO/LWOLoader.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/LWO/LWOMaterial.cpp b/code/LWO/LWOMaterial.cpp index b54c21c26..b2304a6be 100644 --- a/code/LWO/LWOMaterial.cpp +++ b/code/LWO/LWOMaterial.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/code/LWS/LWSLoader.cpp b/code/LWS/LWSLoader.cpp index b52cafa6d..4a9cec4ec 100644 --- a/code/LWS/LWSLoader.cpp +++ b/code/LWS/LWSLoader.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/code/LWS/LWSLoader.h b/code/LWS/LWSLoader.h index eed0491f3..c1321af37 100644 --- a/code/LWS/LWSLoader.h +++ b/code/LWS/LWSLoader.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/M3D/M3DExporter.cpp b/code/M3D/M3DExporter.cpp index fbb03a591..08a0e4ad8 100644 --- a/code/M3D/M3DExporter.cpp +++ b/code/M3D/M3DExporter.cpp @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team Copyright (c) 2019 bzt All rights reserved. diff --git a/code/M3D/M3DExporter.h b/code/M3D/M3DExporter.h index fce89b9de..40fce44d0 100644 --- a/code/M3D/M3DExporter.h +++ b/code/M3D/M3DExporter.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team Copyright (c) 2019 bzt All rights reserved. diff --git a/code/M3D/M3DImporter.cpp b/code/M3D/M3DImporter.cpp index a77e75a27..c34c82515 100644 --- a/code/M3D/M3DImporter.cpp +++ b/code/M3D/M3DImporter.cpp @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team Copyright (c) 2019 bzt All rights reserved. diff --git a/code/M3D/M3DImporter.h b/code/M3D/M3DImporter.h index e8e3a65ed..5c9d4fad8 100644 --- a/code/M3D/M3DImporter.h +++ b/code/M3D/M3DImporter.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team Copyright (c) 2019 bzt All rights reserved. diff --git a/code/M3D/M3DMaterials.h b/code/M3D/M3DMaterials.h index 4aeba59e4..469ddf52b 100644 --- a/code/M3D/M3DMaterials.h +++ b/code/M3D/M3DMaterials.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team Copyright (c) 2019 bzt All rights reserved. diff --git a/code/M3D/M3DWrapper.cpp b/code/M3D/M3DWrapper.cpp index 28eda845f..6ab59b2f0 100644 --- a/code/M3D/M3DWrapper.cpp +++ b/code/M3D/M3DWrapper.cpp @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team Copyright (c) 2019 bzt All rights reserved. diff --git a/code/M3D/M3DWrapper.h b/code/M3D/M3DWrapper.h index b4f90ff1f..bf3ab7bc9 100644 --- a/code/M3D/M3DWrapper.h +++ b/code/M3D/M3DWrapper.h @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team Copyright (c) 2019 bzt All rights reserved. diff --git a/code/MD2/MD2FileData.h b/code/MD2/MD2FileData.h index 9fcb8b0e2..911cd4b98 100644 --- a/code/MD2/MD2FileData.h +++ b/code/MD2/MD2FileData.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/MD2/MD2Loader.cpp b/code/MD2/MD2Loader.cpp index 7023c0fa3..473ab99bc 100644 --- a/code/MD2/MD2Loader.cpp +++ b/code/MD2/MD2Loader.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/code/MD2/MD2Loader.h b/code/MD2/MD2Loader.h index a3863f366..cbebc90a4 100644 --- a/code/MD2/MD2Loader.h +++ b/code/MD2/MD2Loader.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/MD2/MD2NormalTable.h b/code/MD2/MD2NormalTable.h index f82b57683..c5c790872 100644 --- a/code/MD2/MD2NormalTable.h +++ b/code/MD2/MD2NormalTable.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/MD3/MD3FileData.h b/code/MD3/MD3FileData.h index 2acd6631f..a98af199c 100644 --- a/code/MD3/MD3FileData.h +++ b/code/MD3/MD3FileData.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/MD3/MD3Loader.cpp b/code/MD3/MD3Loader.cpp index 7d6c7ef4b..2051ecdda 100644 --- a/code/MD3/MD3Loader.cpp +++ b/code/MD3/MD3Loader.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/code/MD3/MD3Loader.h b/code/MD3/MD3Loader.h index 01b840228..8d8304345 100644 --- a/code/MD3/MD3Loader.h +++ b/code/MD3/MD3Loader.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/MD4/MD4FileData.h b/code/MD4/MD4FileData.h index ed3dc65e7..880df3230 100644 --- a/code/MD4/MD4FileData.h +++ b/code/MD4/MD4FileData.h @@ -2,7 +2,7 @@ Open Asset Import Library (ASSIMP) ---------------------------------------------------------------------- -Copyright (c) 2006-2010, ASSIMP Development Team +Copyright (c) 2006-2020, ASSIMP Development Team All rights reserved. Redistribution and use of this software in source and binary forms, diff --git a/code/MD5/MD5Loader.cpp b/code/MD5/MD5Loader.cpp index a4aed8d70..8c41794e7 100644 --- a/code/MD5/MD5Loader.cpp +++ b/code/MD5/MD5Loader.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/code/MD5/MD5Loader.h b/code/MD5/MD5Loader.h index e15cc3fb9..196ffb69a 100644 --- a/code/MD5/MD5Loader.h +++ b/code/MD5/MD5Loader.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/MD5/MD5Parser.cpp b/code/MD5/MD5Parser.cpp index 37490212f..0d3b9c74a 100644 --- a/code/MD5/MD5Parser.cpp +++ b/code/MD5/MD5Parser.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/code/MD5/MD5Parser.h b/code/MD5/MD5Parser.h index f7ff5303f..692cb72ba 100644 --- a/code/MD5/MD5Parser.h +++ b/code/MD5/MD5Parser.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/MDC/MDCFileData.h b/code/MDC/MDCFileData.h index 052473158..9ec73c170 100644 --- a/code/MDC/MDCFileData.h +++ b/code/MDC/MDCFileData.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/MDC/MDCLoader.cpp b/code/MDC/MDCLoader.cpp index 42e1877f3..db4cdef54 100644 --- a/code/MDC/MDCLoader.cpp +++ b/code/MDC/MDCLoader.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/code/MDC/MDCLoader.h b/code/MDC/MDCLoader.h index a21b8a55a..abd23bb19 100644 --- a/code/MDC/MDCLoader.h +++ b/code/MDC/MDCLoader.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/MDL/HalfLife/HL1FileData.h b/code/MDL/HalfLife/HL1FileData.h index 4248b1237..a3cbb3439 100644 --- a/code/MDL/HalfLife/HL1FileData.h +++ b/code/MDL/HalfLife/HL1FileData.h @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/MDL/HalfLife/HL1ImportDefinitions.h b/code/MDL/HalfLife/HL1ImportDefinitions.h index f70f40699..29b1cdceb 100644 --- a/code/MDL/HalfLife/HL1ImportDefinitions.h +++ b/code/MDL/HalfLife/HL1ImportDefinitions.h @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/MDL/HalfLife/HL1ImportSettings.h b/code/MDL/HalfLife/HL1ImportSettings.h index 229303e2c..50be1f366 100644 --- a/code/MDL/HalfLife/HL1ImportSettings.h +++ b/code/MDL/HalfLife/HL1ImportSettings.h @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/MDL/HalfLife/HL1MDLLoader.cpp b/code/MDL/HalfLife/HL1MDLLoader.cpp index 90a1479a3..1de39b868 100644 --- a/code/MDL/HalfLife/HL1MDLLoader.cpp +++ b/code/MDL/HalfLife/HL1MDLLoader.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/MDL/HalfLife/HL1MDLLoader.h b/code/MDL/HalfLife/HL1MDLLoader.h index 8e356235f..c4293259c 100644 --- a/code/MDL/HalfLife/HL1MDLLoader.h +++ b/code/MDL/HalfLife/HL1MDLLoader.h @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/MDL/HalfLife/HL1MeshTrivert.h b/code/MDL/HalfLife/HL1MeshTrivert.h index 38bd371a0..b61765663 100644 --- a/code/MDL/HalfLife/HL1MeshTrivert.h +++ b/code/MDL/HalfLife/HL1MeshTrivert.h @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/MDL/HalfLife/HalfLifeMDLBaseHeader.h b/code/MDL/HalfLife/HalfLifeMDLBaseHeader.h index 964ade4ae..f26f8735d 100644 --- a/code/MDL/HalfLife/HalfLifeMDLBaseHeader.h +++ b/code/MDL/HalfLife/HalfLifeMDLBaseHeader.h @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/MDL/HalfLife/LogFunctions.h b/code/MDL/HalfLife/LogFunctions.h index db82a2604..5e18a8df7 100644 --- a/code/MDL/HalfLife/LogFunctions.h +++ b/code/MDL/HalfLife/LogFunctions.h @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/MDL/HalfLife/UniqueNameGenerator.cpp b/code/MDL/HalfLife/UniqueNameGenerator.cpp index 1efc3238c..417a6baef 100644 --- a/code/MDL/HalfLife/UniqueNameGenerator.cpp +++ b/code/MDL/HalfLife/UniqueNameGenerator.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/MDL/HalfLife/UniqueNameGenerator.h b/code/MDL/HalfLife/UniqueNameGenerator.h index 1da21f724..131a46dc4 100644 --- a/code/MDL/HalfLife/UniqueNameGenerator.h +++ b/code/MDL/HalfLife/UniqueNameGenerator.h @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/MDL/MDLDefaultColorMap.h b/code/MDL/MDLDefaultColorMap.h index 58f642884..8c60d1b58 100644 --- a/code/MDL/MDLDefaultColorMap.h +++ b/code/MDL/MDLDefaultColorMap.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/MDL/MDLFileData.h b/code/MDL/MDLFileData.h index f33a57731..8ccaf90a2 100644 --- a/code/MDL/MDLFileData.h +++ b/code/MDL/MDLFileData.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/MDL/MDLLoader.cpp b/code/MDL/MDLLoader.cpp index 0c80abfc3..21a6bc29b 100644 --- a/code/MDL/MDLLoader.cpp +++ b/code/MDL/MDLLoader.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/MDL/MDLLoader.h b/code/MDL/MDLLoader.h index 35e78d9ec..0bb78a2b1 100644 --- a/code/MDL/MDLLoader.h +++ b/code/MDL/MDLLoader.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/MDL/MDLMaterialLoader.cpp b/code/MDL/MDLMaterialLoader.cpp index 79b57128a..38ff5bbb1 100644 --- a/code/MDL/MDLMaterialLoader.cpp +++ b/code/MDL/MDLMaterialLoader.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/code/MMD/MMDCpp14.h b/code/MMD/MMDCpp14.h index 638b0bfd2..779b6c288 100644 --- a/code/MMD/MMDCpp14.h +++ b/code/MMD/MMDCpp14.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/MMD/MMDImporter.cpp b/code/MMD/MMDImporter.cpp index e7744e4cd..3cc618633 100644 --- a/code/MMD/MMDImporter.cpp +++ b/code/MMD/MMDImporter.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2016, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/MMD/MMDImporter.h b/code/MMD/MMDImporter.h index 4ee94eeb0..1cc91c782 100644 --- a/code/MMD/MMDImporter.h +++ b/code/MMD/MMDImporter.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2016, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. Redistribution and use of this software in source and binary forms, diff --git a/code/MMD/MMDPmdParser.h b/code/MMD/MMDPmdParser.h index d2f2224aa..dad9ed4bc 100644 --- a/code/MMD/MMDPmdParser.h +++ b/code/MMD/MMDPmdParser.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/MMD/MMDPmxParser.cpp b/code/MMD/MMDPmxParser.cpp index 80f0986dd..6421f38cb 100644 --- a/code/MMD/MMDPmxParser.cpp +++ b/code/MMD/MMDPmxParser.cpp @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/MMD/MMDPmxParser.h b/code/MMD/MMDPmxParser.h index cf523a129..9c9fb3ad7 100644 --- a/code/MMD/MMDPmxParser.h +++ b/code/MMD/MMDPmxParser.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/MMD/MMDVmdParser.h b/code/MMD/MMDVmdParser.h index 947c3a242..7d15e32d4 100644 --- a/code/MMD/MMDVmdParser.h +++ b/code/MMD/MMDVmdParser.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/MS3D/MS3DLoader.cpp b/code/MS3D/MS3DLoader.cpp index c0d0eddbe..5a29df2ee 100644 --- a/code/MS3D/MS3DLoader.cpp +++ b/code/MS3D/MS3DLoader.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/code/MS3D/MS3DLoader.h b/code/MS3D/MS3DLoader.h index 3e39dc79f..522664b9a 100644 --- a/code/MS3D/MS3DLoader.h +++ b/code/MS3D/MS3DLoader.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/Material/MaterialSystem.cpp b/code/Material/MaterialSystem.cpp index befdb43d2..1c034e55f 100644 --- a/code/Material/MaterialSystem.cpp +++ b/code/Material/MaterialSystem.cpp @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/Material/MaterialSystem.h b/code/Material/MaterialSystem.h index 67d53578c..6df9818a3 100644 --- a/code/Material/MaterialSystem.h +++ b/code/Material/MaterialSystem.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/NDO/NDOLoader.cpp b/code/NDO/NDOLoader.cpp index d33f40c75..efb942b9c 100644 --- a/code/NDO/NDOLoader.cpp +++ b/code/NDO/NDOLoader.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/code/NDO/NDOLoader.h b/code/NDO/NDOLoader.h index f2212edab..4d3f47b25 100644 --- a/code/NDO/NDOLoader.h +++ b/code/NDO/NDOLoader.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2008, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. Redistribution and use of this software in source and binary forms, diff --git a/code/NFF/NFFLoader.cpp b/code/NFF/NFFLoader.cpp index 10a7d1aff..ca10f7a03 100644 --- a/code/NFF/NFFLoader.cpp +++ b/code/NFF/NFFLoader.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/code/NFF/NFFLoader.h b/code/NFF/NFFLoader.h index bc4840e14..02f0f82d5 100644 --- a/code/NFF/NFFLoader.h +++ b/code/NFF/NFFLoader.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/OFF/OFFLoader.cpp b/code/OFF/OFFLoader.cpp index afd44a539..79f006fca 100644 --- a/code/OFF/OFFLoader.cpp +++ b/code/OFF/OFFLoader.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/code/OFF/OFFLoader.h b/code/OFF/OFFLoader.h index 3fca77e1b..f0f40d9d5 100644 --- a/code/OFF/OFFLoader.h +++ b/code/OFF/OFFLoader.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/Obj/ObjExporter.cpp b/code/Obj/ObjExporter.cpp index 0a0dbd62c..56eb4d9b8 100644 --- a/code/Obj/ObjExporter.cpp +++ b/code/Obj/ObjExporter.cpp @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/Obj/ObjExporter.h b/code/Obj/ObjExporter.h index 0d2b48d6b..3a46da780 100644 --- a/code/Obj/ObjExporter.h +++ b/code/Obj/ObjExporter.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/Obj/ObjFileData.h b/code/Obj/ObjFileData.h index a2d9f2cc7..985a49a42 100644 --- a/code/Obj/ObjFileData.h +++ b/code/Obj/ObjFileData.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/Obj/ObjFileImporter.cpp b/code/Obj/ObjFileImporter.cpp index 26cc6d1f9..7e2df0fc5 100644 --- a/code/Obj/ObjFileImporter.cpp +++ b/code/Obj/ObjFileImporter.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/code/Obj/ObjFileImporter.h b/code/Obj/ObjFileImporter.h index 0df2ef731..87b724837 100644 --- a/code/Obj/ObjFileImporter.h +++ b/code/Obj/ObjFileImporter.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/Obj/ObjFileMtlImporter.cpp b/code/Obj/ObjFileMtlImporter.cpp index dd9cc3ce2..cdd60f03c 100644 --- a/code/Obj/ObjFileMtlImporter.cpp +++ b/code/Obj/ObjFileMtlImporter.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/code/Obj/ObjFileMtlImporter.h b/code/Obj/ObjFileMtlImporter.h index 731952359..2a7fcba7b 100644 --- a/code/Obj/ObjFileMtlImporter.h +++ b/code/Obj/ObjFileMtlImporter.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/Obj/ObjFileParser.cpp b/code/Obj/ObjFileParser.cpp index 699aafe6a..7e3b11b23 100644 --- a/code/Obj/ObjFileParser.cpp +++ b/code/Obj/ObjFileParser.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/code/Obj/ObjFileParser.h b/code/Obj/ObjFileParser.h index 7d1b806ce..124527413 100644 --- a/code/Obj/ObjFileParser.h +++ b/code/Obj/ObjFileParser.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/Obj/ObjTools.h b/code/Obj/ObjTools.h index 3f4c41033..331277333 100644 --- a/code/Obj/ObjTools.h +++ b/code/Obj/ObjTools.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/Ogre/OgreBinarySerializer.cpp b/code/Ogre/OgreBinarySerializer.cpp index 589e69c7e..c7b7e0b5e 100644 --- a/code/Ogre/OgreBinarySerializer.cpp +++ b/code/Ogre/OgreBinarySerializer.cpp @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/Ogre/OgreBinarySerializer.h b/code/Ogre/OgreBinarySerializer.h index 8bab00ce9..0b88641aa 100644 --- a/code/Ogre/OgreBinarySerializer.h +++ b/code/Ogre/OgreBinarySerializer.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/Ogre/OgreImporter.cpp b/code/Ogre/OgreImporter.cpp index c2c328a47..6ef9aa462 100644 --- a/code/Ogre/OgreImporter.cpp +++ b/code/Ogre/OgreImporter.cpp @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/Ogre/OgreImporter.h b/code/Ogre/OgreImporter.h index 321d58763..ad614b4f4 100644 --- a/code/Ogre/OgreImporter.h +++ b/code/Ogre/OgreImporter.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/Ogre/OgreMaterial.cpp b/code/Ogre/OgreMaterial.cpp index 47cb17eb0..6f2e62958 100644 --- a/code/Ogre/OgreMaterial.cpp +++ b/code/Ogre/OgreMaterial.cpp @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/Ogre/OgreParsingUtils.h b/code/Ogre/OgreParsingUtils.h index 8786521e4..3fbfd5c31 100644 --- a/code/Ogre/OgreParsingUtils.h +++ b/code/Ogre/OgreParsingUtils.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/Ogre/OgreStructs.cpp b/code/Ogre/OgreStructs.cpp index 7962202c1..69cfae1cd 100644 --- a/code/Ogre/OgreStructs.cpp +++ b/code/Ogre/OgreStructs.cpp @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/Ogre/OgreStructs.h b/code/Ogre/OgreStructs.h index 6ea211e10..2a1121dab 100644 --- a/code/Ogre/OgreStructs.h +++ b/code/Ogre/OgreStructs.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/Ogre/OgreXmlSerializer.cpp b/code/Ogre/OgreXmlSerializer.cpp index 19fd3ad61..a93f1b207 100644 --- a/code/Ogre/OgreXmlSerializer.cpp +++ b/code/Ogre/OgreXmlSerializer.cpp @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/Ogre/OgreXmlSerializer.h b/code/Ogre/OgreXmlSerializer.h index 7e5e83fec..e81599f9c 100644 --- a/code/Ogre/OgreXmlSerializer.h +++ b/code/Ogre/OgreXmlSerializer.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/OpenGEX/OpenGEXExporter.cpp b/code/OpenGEX/OpenGEXExporter.cpp index 635174185..164a191a2 100644 --- a/code/OpenGEX/OpenGEXExporter.cpp +++ b/code/OpenGEX/OpenGEXExporter.cpp @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/OpenGEX/OpenGEXExporter.h b/code/OpenGEX/OpenGEXExporter.h index b9b54c208..4e4798f2c 100644 --- a/code/OpenGEX/OpenGEXExporter.h +++ b/code/OpenGEX/OpenGEXExporter.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/OpenGEX/OpenGEXImporter.cpp b/code/OpenGEX/OpenGEXImporter.cpp index 07d3efd5e..4ee746716 100644 --- a/code/OpenGEX/OpenGEXImporter.cpp +++ b/code/OpenGEX/OpenGEXImporter.cpp @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/OpenGEX/OpenGEXImporter.h b/code/OpenGEX/OpenGEXImporter.h index 22b5cabef..98f7a3e89 100644 --- a/code/OpenGEX/OpenGEXImporter.h +++ b/code/OpenGEX/OpenGEXImporter.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/OpenGEX/OpenGEXStructs.h b/code/OpenGEX/OpenGEXStructs.h index 2c83e8660..7b0b65c1d 100644 --- a/code/OpenGEX/OpenGEXStructs.h +++ b/code/OpenGEX/OpenGEXStructs.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/Ply/PlyExporter.cpp b/code/Ply/PlyExporter.cpp index a7498983b..28ff0c602 100644 --- a/code/Ply/PlyExporter.cpp +++ b/code/Ply/PlyExporter.cpp @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/Ply/PlyExporter.h b/code/Ply/PlyExporter.h index b82498cbd..dc53497f6 100644 --- a/code/Ply/PlyExporter.h +++ b/code/Ply/PlyExporter.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/Ply/PlyLoader.cpp b/code/Ply/PlyLoader.cpp index ca1ec22f8..cd52b74f2 100644 --- a/code/Ply/PlyLoader.cpp +++ b/code/Ply/PlyLoader.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/Ply/PlyLoader.h b/code/Ply/PlyLoader.h index 201c463b2..41620e6b0 100644 --- a/code/Ply/PlyLoader.h +++ b/code/Ply/PlyLoader.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/Ply/PlyParser.cpp b/code/Ply/PlyParser.cpp index 2a6f00ad6..d47ca5b6f 100644 --- a/code/Ply/PlyParser.cpp +++ b/code/Ply/PlyParser.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/Ply/PlyParser.h b/code/Ply/PlyParser.h index a11b411d1..e05490649 100644 --- a/code/Ply/PlyParser.h +++ b/code/Ply/PlyParser.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/PostProcessing/ArmaturePopulate.cpp b/code/PostProcessing/ArmaturePopulate.cpp index 75daeb6b5..c339bebe0 100644 --- a/code/PostProcessing/ArmaturePopulate.cpp +++ b/code/PostProcessing/ArmaturePopulate.cpp @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/PostProcessing/ArmaturePopulate.h b/code/PostProcessing/ArmaturePopulate.h index aa1ad7c80..8985e1d1d 100644 --- a/code/PostProcessing/ArmaturePopulate.h +++ b/code/PostProcessing/ArmaturePopulate.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/PostProcessing/CalcTangentsProcess.cpp b/code/PostProcessing/CalcTangentsProcess.cpp index a3f7dd255..4af335d2f 100644 --- a/code/PostProcessing/CalcTangentsProcess.cpp +++ b/code/PostProcessing/CalcTangentsProcess.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/code/PostProcessing/CalcTangentsProcess.h b/code/PostProcessing/CalcTangentsProcess.h index 3568a624f..bdd5ca7fa 100644 --- a/code/PostProcessing/CalcTangentsProcess.h +++ b/code/PostProcessing/CalcTangentsProcess.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/PostProcessing/ComputeUVMappingProcess.cpp b/code/PostProcessing/ComputeUVMappingProcess.cpp index df4d44337..1ebf798bd 100644 --- a/code/PostProcessing/ComputeUVMappingProcess.cpp +++ b/code/PostProcessing/ComputeUVMappingProcess.cpp @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/PostProcessing/ComputeUVMappingProcess.h b/code/PostProcessing/ComputeUVMappingProcess.h index a6d36e06e..b4ad0f501 100644 --- a/code/PostProcessing/ComputeUVMappingProcess.h +++ b/code/PostProcessing/ComputeUVMappingProcess.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/PostProcessing/ConvertToLHProcess.cpp b/code/PostProcessing/ConvertToLHProcess.cpp index b7cd4f0bc..6ca73f10e 100644 --- a/code/PostProcessing/ConvertToLHProcess.cpp +++ b/code/PostProcessing/ConvertToLHProcess.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/code/PostProcessing/ConvertToLHProcess.h b/code/PostProcessing/ConvertToLHProcess.h index 0c4a3a091..de984a105 100644 --- a/code/PostProcessing/ConvertToLHProcess.h +++ b/code/PostProcessing/ConvertToLHProcess.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/PostProcessing/DeboneProcess.cpp b/code/PostProcessing/DeboneProcess.cpp index 83b8336bc..9d6313f71 100644 --- a/code/PostProcessing/DeboneProcess.cpp +++ b/code/PostProcessing/DeboneProcess.cpp @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/PostProcessing/DeboneProcess.h b/code/PostProcessing/DeboneProcess.h index 8b64c2acc..31955f2bd 100644 --- a/code/PostProcessing/DeboneProcess.h +++ b/code/PostProcessing/DeboneProcess.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/PostProcessing/DropFaceNormalsProcess.cpp b/code/PostProcessing/DropFaceNormalsProcess.cpp index b11615bb8..1d7cf33b0 100644 --- a/code/PostProcessing/DropFaceNormalsProcess.cpp +++ b/code/PostProcessing/DropFaceNormalsProcess.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/code/PostProcessing/DropFaceNormalsProcess.h b/code/PostProcessing/DropFaceNormalsProcess.h index c710c5a5e..b9e942d55 100644 --- a/code/PostProcessing/DropFaceNormalsProcess.h +++ b/code/PostProcessing/DropFaceNormalsProcess.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/PostProcessing/EmbedTexturesProcess.cpp b/code/PostProcessing/EmbedTexturesProcess.cpp index 739382a05..f60ec1d5e 100644 --- a/code/PostProcessing/EmbedTexturesProcess.cpp +++ b/code/PostProcessing/EmbedTexturesProcess.cpp @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/PostProcessing/EmbedTexturesProcess.h b/code/PostProcessing/EmbedTexturesProcess.h index 3c4b2eab4..bbe2656f5 100644 --- a/code/PostProcessing/EmbedTexturesProcess.h +++ b/code/PostProcessing/EmbedTexturesProcess.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/PostProcessing/FindDegenerates.cpp b/code/PostProcessing/FindDegenerates.cpp index 50fac46db..dfdfec6cc 100644 --- a/code/PostProcessing/FindDegenerates.cpp +++ b/code/PostProcessing/FindDegenerates.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/code/PostProcessing/FindDegenerates.h b/code/PostProcessing/FindDegenerates.h index 7a15e77cf..1edaab657 100644 --- a/code/PostProcessing/FindDegenerates.h +++ b/code/PostProcessing/FindDegenerates.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/PostProcessing/FindInstancesProcess.cpp b/code/PostProcessing/FindInstancesProcess.cpp index 64907458a..9a4c6f53b 100644 --- a/code/PostProcessing/FindInstancesProcess.cpp +++ b/code/PostProcessing/FindInstancesProcess.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/code/PostProcessing/FindInstancesProcess.h b/code/PostProcessing/FindInstancesProcess.h index 64b838d7c..dcac4bf83 100644 --- a/code/PostProcessing/FindInstancesProcess.h +++ b/code/PostProcessing/FindInstancesProcess.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/PostProcessing/FindInvalidDataProcess.cpp b/code/PostProcessing/FindInvalidDataProcess.cpp index 016884c6e..c557d7f70 100644 --- a/code/PostProcessing/FindInvalidDataProcess.cpp +++ b/code/PostProcessing/FindInvalidDataProcess.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/code/PostProcessing/FindInvalidDataProcess.h b/code/PostProcessing/FindInvalidDataProcess.h index ce7375f34..50a2fe04c 100644 --- a/code/PostProcessing/FindInvalidDataProcess.h +++ b/code/PostProcessing/FindInvalidDataProcess.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/PostProcessing/FixNormalsStep.cpp b/code/PostProcessing/FixNormalsStep.cpp index bbbe6899b..bb2aa06cc 100644 --- a/code/PostProcessing/FixNormalsStep.cpp +++ b/code/PostProcessing/FixNormalsStep.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/code/PostProcessing/FixNormalsStep.h b/code/PostProcessing/FixNormalsStep.h index f60ce596a..c022d0364 100644 --- a/code/PostProcessing/FixNormalsStep.h +++ b/code/PostProcessing/FixNormalsStep.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/PostProcessing/GenBoundingBoxesProcess.cpp b/code/PostProcessing/GenBoundingBoxesProcess.cpp index c013454fc..bfe016cf2 100644 --- a/code/PostProcessing/GenBoundingBoxesProcess.cpp +++ b/code/PostProcessing/GenBoundingBoxesProcess.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/PostProcessing/GenBoundingBoxesProcess.h b/code/PostProcessing/GenBoundingBoxesProcess.h index 4b43c82a4..d93489a5b 100644 --- a/code/PostProcessing/GenBoundingBoxesProcess.h +++ b/code/PostProcessing/GenBoundingBoxesProcess.h @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/PostProcessing/GenFaceNormalsProcess.cpp b/code/PostProcessing/GenFaceNormalsProcess.cpp index 028334dec..08a1d9aae 100644 --- a/code/PostProcessing/GenFaceNormalsProcess.cpp +++ b/code/PostProcessing/GenFaceNormalsProcess.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/code/PostProcessing/GenFaceNormalsProcess.h b/code/PostProcessing/GenFaceNormalsProcess.h index c641fd635..6e872af3a 100644 --- a/code/PostProcessing/GenFaceNormalsProcess.h +++ b/code/PostProcessing/GenFaceNormalsProcess.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/PostProcessing/GenVertexNormalsProcess.cpp b/code/PostProcessing/GenVertexNormalsProcess.cpp index 3f6c2f86b..1df333410 100644 --- a/code/PostProcessing/GenVertexNormalsProcess.cpp +++ b/code/PostProcessing/GenVertexNormalsProcess.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/code/PostProcessing/GenVertexNormalsProcess.h b/code/PostProcessing/GenVertexNormalsProcess.h index 2ceee17e8..38104b3bf 100644 --- a/code/PostProcessing/GenVertexNormalsProcess.h +++ b/code/PostProcessing/GenVertexNormalsProcess.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/PostProcessing/ImproveCacheLocality.cpp b/code/PostProcessing/ImproveCacheLocality.cpp index d0a016fa4..d72d15d3a 100644 --- a/code/PostProcessing/ImproveCacheLocality.cpp +++ b/code/PostProcessing/ImproveCacheLocality.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/code/PostProcessing/ImproveCacheLocality.h b/code/PostProcessing/ImproveCacheLocality.h index de25ecd9f..73e11f57b 100644 --- a/code/PostProcessing/ImproveCacheLocality.h +++ b/code/PostProcessing/ImproveCacheLocality.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/PostProcessing/JoinVerticesProcess.cpp b/code/PostProcessing/JoinVerticesProcess.cpp index f121fc60d..070c9636f 100644 --- a/code/PostProcessing/JoinVerticesProcess.cpp +++ b/code/PostProcessing/JoinVerticesProcess.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/code/PostProcessing/JoinVerticesProcess.h b/code/PostProcessing/JoinVerticesProcess.h index e017ae62d..76e7cf061 100644 --- a/code/PostProcessing/JoinVerticesProcess.h +++ b/code/PostProcessing/JoinVerticesProcess.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/PostProcessing/LimitBoneWeightsProcess.cpp b/code/PostProcessing/LimitBoneWeightsProcess.cpp index d560f1928..1f1abfabb 100644 --- a/code/PostProcessing/LimitBoneWeightsProcess.cpp +++ b/code/PostProcessing/LimitBoneWeightsProcess.cpp @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/PostProcessing/LimitBoneWeightsProcess.h b/code/PostProcessing/LimitBoneWeightsProcess.h index 73c2a68d5..8bc321a3c 100644 --- a/code/PostProcessing/LimitBoneWeightsProcess.h +++ b/code/PostProcessing/LimitBoneWeightsProcess.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/PostProcessing/MakeVerboseFormat.cpp b/code/PostProcessing/MakeVerboseFormat.cpp index 41f50a5ba..88bdb3124 100644 --- a/code/PostProcessing/MakeVerboseFormat.cpp +++ b/code/PostProcessing/MakeVerboseFormat.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/code/PostProcessing/MakeVerboseFormat.h b/code/PostProcessing/MakeVerboseFormat.h index 8565d5933..699cce30b 100644 --- a/code/PostProcessing/MakeVerboseFormat.h +++ b/code/PostProcessing/MakeVerboseFormat.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/PostProcessing/OptimizeGraph.cpp b/code/PostProcessing/OptimizeGraph.cpp index 43bd7a3ee..f3996c275 100644 --- a/code/PostProcessing/OptimizeGraph.cpp +++ b/code/PostProcessing/OptimizeGraph.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/PostProcessing/OptimizeGraph.h b/code/PostProcessing/OptimizeGraph.h index d2a6de9a2..34f70854f 100644 --- a/code/PostProcessing/OptimizeGraph.h +++ b/code/PostProcessing/OptimizeGraph.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/PostProcessing/OptimizeMeshes.cpp b/code/PostProcessing/OptimizeMeshes.cpp index 3f6765f6c..983d8001f 100644 --- a/code/PostProcessing/OptimizeMeshes.cpp +++ b/code/PostProcessing/OptimizeMeshes.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/code/PostProcessing/OptimizeMeshes.h b/code/PostProcessing/OptimizeMeshes.h index dec4ab52d..50dfe2957 100644 --- a/code/PostProcessing/OptimizeMeshes.h +++ b/code/PostProcessing/OptimizeMeshes.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/PostProcessing/PretransformVertices.cpp b/code/PostProcessing/PretransformVertices.cpp index fb6b458d8..293a5c0ea 100644 --- a/code/PostProcessing/PretransformVertices.cpp +++ b/code/PostProcessing/PretransformVertices.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/code/PostProcessing/PretransformVertices.h b/code/PostProcessing/PretransformVertices.h index 7898f6ae3..4a958def4 100644 --- a/code/PostProcessing/PretransformVertices.h +++ b/code/PostProcessing/PretransformVertices.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/PostProcessing/ProcessHelper.cpp b/code/PostProcessing/ProcessHelper.cpp index 59869fdff..41444afd8 100644 --- a/code/PostProcessing/ProcessHelper.cpp +++ b/code/PostProcessing/ProcessHelper.cpp @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/PostProcessing/ProcessHelper.h b/code/PostProcessing/ProcessHelper.h index 0afcc4142..7ff3a9c5f 100644 --- a/code/PostProcessing/ProcessHelper.h +++ b/code/PostProcessing/ProcessHelper.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/PostProcessing/RemoveRedundantMaterials.cpp b/code/PostProcessing/RemoveRedundantMaterials.cpp index 49ec8f5c4..0c4280410 100644 --- a/code/PostProcessing/RemoveRedundantMaterials.cpp +++ b/code/PostProcessing/RemoveRedundantMaterials.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/code/PostProcessing/RemoveRedundantMaterials.h b/code/PostProcessing/RemoveRedundantMaterials.h index 1f32a0abf..4b4f346c8 100644 --- a/code/PostProcessing/RemoveRedundantMaterials.h +++ b/code/PostProcessing/RemoveRedundantMaterials.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/PostProcessing/RemoveVCProcess.cpp b/code/PostProcessing/RemoveVCProcess.cpp index 99fd47a3a..5ff5b55fa 100644 --- a/code/PostProcessing/RemoveVCProcess.cpp +++ b/code/PostProcessing/RemoveVCProcess.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/code/PostProcessing/RemoveVCProcess.h b/code/PostProcessing/RemoveVCProcess.h index 7bb21a833..458b37ee0 100644 --- a/code/PostProcessing/RemoveVCProcess.h +++ b/code/PostProcessing/RemoveVCProcess.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/PostProcessing/ScaleProcess.cpp b/code/PostProcessing/ScaleProcess.cpp index ac770c41f..66714928b 100644 --- a/code/PostProcessing/ScaleProcess.cpp +++ b/code/PostProcessing/ScaleProcess.cpp @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/PostProcessing/ScaleProcess.h b/code/PostProcessing/ScaleProcess.h index 468a21673..9cc664c6a 100644 --- a/code/PostProcessing/ScaleProcess.h +++ b/code/PostProcessing/ScaleProcess.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/PostProcessing/SortByPTypeProcess.cpp b/code/PostProcessing/SortByPTypeProcess.cpp index be8405a17..c1b08c5a7 100644 --- a/code/PostProcessing/SortByPTypeProcess.cpp +++ b/code/PostProcessing/SortByPTypeProcess.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/code/PostProcessing/SortByPTypeProcess.h b/code/PostProcessing/SortByPTypeProcess.h index 1d7ccfc15..5135139ed 100644 --- a/code/PostProcessing/SortByPTypeProcess.h +++ b/code/PostProcessing/SortByPTypeProcess.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/PostProcessing/SplitLargeMeshes.cpp b/code/PostProcessing/SplitLargeMeshes.cpp index 1797b28d5..70960f4a8 100644 --- a/code/PostProcessing/SplitLargeMeshes.cpp +++ b/code/PostProcessing/SplitLargeMeshes.cpp @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/PostProcessing/SplitLargeMeshes.h b/code/PostProcessing/SplitLargeMeshes.h index 3f90576ea..fa6f77b2d 100644 --- a/code/PostProcessing/SplitLargeMeshes.h +++ b/code/PostProcessing/SplitLargeMeshes.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/PostProcessing/TextureTransform.cpp b/code/PostProcessing/TextureTransform.cpp index 8ae2ba721..cebbd8042 100644 --- a/code/PostProcessing/TextureTransform.cpp +++ b/code/PostProcessing/TextureTransform.cpp @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/PostProcessing/TextureTransform.h b/code/PostProcessing/TextureTransform.h index 2a5d623d7..2f6fc3edc 100644 --- a/code/PostProcessing/TextureTransform.h +++ b/code/PostProcessing/TextureTransform.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/PostProcessing/TriangulateProcess.cpp b/code/PostProcessing/TriangulateProcess.cpp index 1040836bb..64cc63bbd 100644 --- a/code/PostProcessing/TriangulateProcess.cpp +++ b/code/PostProcessing/TriangulateProcess.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/PostProcessing/TriangulateProcess.h b/code/PostProcessing/TriangulateProcess.h index 916b5103d..388952eb5 100644 --- a/code/PostProcessing/TriangulateProcess.h +++ b/code/PostProcessing/TriangulateProcess.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/PostProcessing/ValidateDataStructure.cpp b/code/PostProcessing/ValidateDataStructure.cpp index 1dc217663..36c33b29c 100644 --- a/code/PostProcessing/ValidateDataStructure.cpp +++ b/code/PostProcessing/ValidateDataStructure.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/code/PostProcessing/ValidateDataStructure.h b/code/PostProcessing/ValidateDataStructure.h index 7b309c925..4b5503ae0 100644 --- a/code/PostProcessing/ValidateDataStructure.h +++ b/code/PostProcessing/ValidateDataStructure.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/Q3BSP/Q3BSPFileData.h b/code/Q3BSP/Q3BSPFileData.h index 4e05bebf1..099253392 100644 --- a/code/Q3BSP/Q3BSPFileData.h +++ b/code/Q3BSP/Q3BSPFileData.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/Q3BSP/Q3BSPFileImporter.cpp b/code/Q3BSP/Q3BSPFileImporter.cpp index a492cc92a..15f574214 100644 --- a/code/Q3BSP/Q3BSPFileImporter.cpp +++ b/code/Q3BSP/Q3BSPFileImporter.cpp @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/Q3BSP/Q3BSPFileImporter.h b/code/Q3BSP/Q3BSPFileImporter.h index ee21fa48e..619f30863 100644 --- a/code/Q3BSP/Q3BSPFileImporter.h +++ b/code/Q3BSP/Q3BSPFileImporter.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/Q3BSP/Q3BSPFileParser.cpp b/code/Q3BSP/Q3BSPFileParser.cpp index bed2efe53..73f5ec7b8 100644 --- a/code/Q3BSP/Q3BSPFileParser.cpp +++ b/code/Q3BSP/Q3BSPFileParser.cpp @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/Q3BSP/Q3BSPFileParser.h b/code/Q3BSP/Q3BSPFileParser.h index fd73f5e10..eab87c76c 100644 --- a/code/Q3BSP/Q3BSPFileParser.h +++ b/code/Q3BSP/Q3BSPFileParser.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/Q3D/Q3DLoader.cpp b/code/Q3D/Q3DLoader.cpp index b8c8de716..f68d2ac32 100644 --- a/code/Q3D/Q3DLoader.cpp +++ b/code/Q3D/Q3DLoader.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/code/Q3D/Q3DLoader.h b/code/Q3D/Q3DLoader.h index 954d3105c..f1118eec7 100644 --- a/code/Q3D/Q3DLoader.h +++ b/code/Q3D/Q3DLoader.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/Raw/RawLoader.cpp b/code/Raw/RawLoader.cpp index d0da247e4..092323cc0 100644 --- a/code/Raw/RawLoader.cpp +++ b/code/Raw/RawLoader.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/code/Raw/RawLoader.h b/code/Raw/RawLoader.h index 8bfe8ef98..7f5926bd3 100644 --- a/code/Raw/RawLoader.h +++ b/code/Raw/RawLoader.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/SIB/SIBImporter.cpp b/code/SIB/SIBImporter.cpp index 20cdc8009..ac5646412 100644 --- a/code/SIB/SIBImporter.cpp +++ b/code/SIB/SIBImporter.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/code/SIB/SIBImporter.h b/code/SIB/SIBImporter.h index bb88c2255..2918a1197 100644 --- a/code/SIB/SIBImporter.h +++ b/code/SIB/SIBImporter.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/SMD/SMDLoader.cpp b/code/SMD/SMDLoader.cpp index aa1f26cc8..b7c98d68f 100644 --- a/code/SMD/SMDLoader.cpp +++ b/code/SMD/SMDLoader.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/SMD/SMDLoader.h b/code/SMD/SMDLoader.h index 85dac97d1..85dafdebc 100644 --- a/code/SMD/SMDLoader.h +++ b/code/SMD/SMDLoader.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/STL/STLExporter.cpp b/code/STL/STLExporter.cpp index 43bc752ae..06723cdba 100644 --- a/code/STL/STLExporter.cpp +++ b/code/STL/STLExporter.cpp @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/STL/STLExporter.h b/code/STL/STLExporter.h index cb5238e60..92fd8a8ab 100644 --- a/code/STL/STLExporter.h +++ b/code/STL/STLExporter.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/STL/STLLoader.cpp b/code/STL/STLLoader.cpp index 199a84a44..8155d5def 100644 --- a/code/STL/STLLoader.cpp +++ b/code/STL/STLLoader.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/code/STL/STLLoader.h b/code/STL/STLLoader.h index ca1011cb8..d2f4d6e9c 100644 --- a/code/STL/STLLoader.h +++ b/code/STL/STLLoader.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/Step/STEPFile.h b/code/Step/STEPFile.h index d99b34b3c..040a4fa21 100644 --- a/code/Step/STEPFile.h +++ b/code/Step/STEPFile.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/Step/StepExporter.cpp b/code/Step/StepExporter.cpp index 70035d9ea..56aedb96c 100644 --- a/code/Step/StepExporter.cpp +++ b/code/Step/StepExporter.cpp @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/Step/StepExporter.h b/code/Step/StepExporter.h index f96a0d2b5..683533854 100644 --- a/code/Step/StepExporter.h +++ b/code/Step/StepExporter.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/Terragen/TerragenLoader.cpp b/code/Terragen/TerragenLoader.cpp index 9b0873c68..d4a268a29 100644 --- a/code/Terragen/TerragenLoader.cpp +++ b/code/Terragen/TerragenLoader.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/code/Terragen/TerragenLoader.h b/code/Terragen/TerragenLoader.h index a478c0dcd..81823fc74 100644 --- a/code/Terragen/TerragenLoader.h +++ b/code/Terragen/TerragenLoader.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/Unreal/UnrealLoader.cpp b/code/Unreal/UnrealLoader.cpp index 00b6b812d..d165d7d24 100644 --- a/code/Unreal/UnrealLoader.cpp +++ b/code/Unreal/UnrealLoader.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/code/Unreal/UnrealLoader.h b/code/Unreal/UnrealLoader.h index 678aaa76b..c00dfd34e 100644 --- a/code/Unreal/UnrealLoader.h +++ b/code/Unreal/UnrealLoader.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/X/XFileExporter.cpp b/code/X/XFileExporter.cpp index ae9fd58fc..5b1c49eab 100644 --- a/code/X/XFileExporter.cpp +++ b/code/X/XFileExporter.cpp @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/X/XFileExporter.h b/code/X/XFileExporter.h index 322440af8..42cadc407 100644 --- a/code/X/XFileExporter.h +++ b/code/X/XFileExporter.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/X/XFileHelper.h b/code/X/XFileHelper.h index 0365280f0..461331921 100644 --- a/code/X/XFileHelper.h +++ b/code/X/XFileHelper.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/X/XFileImporter.cpp b/code/X/XFileImporter.cpp index 122033b08..2ebaf3eda 100644 --- a/code/X/XFileImporter.cpp +++ b/code/X/XFileImporter.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/X/XFileImporter.h b/code/X/XFileImporter.h index 7d12b6fdf..31abb6c0f 100644 --- a/code/X/XFileImporter.h +++ b/code/X/XFileImporter.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/X/XFileParser.cpp b/code/X/XFileParser.cpp index 8fcf87cf6..8847119c4 100644 --- a/code/X/XFileParser.cpp +++ b/code/X/XFileParser.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/code/X/XFileParser.h b/code/X/XFileParser.h index 993bae6a1..ea7aca266 100644 --- a/code/X/XFileParser.h +++ b/code/X/XFileParser.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/X3D/FIReader.cpp b/code/X3D/FIReader.cpp index 9bb2c69f6..359643440 100644 --- a/code/X3D/FIReader.cpp +++ b/code/X3D/FIReader.cpp @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/X3D/FIReader.hpp b/code/X3D/FIReader.hpp index 2c92239ac..e8b6c2f3a 100644 --- a/code/X3D/FIReader.hpp +++ b/code/X3D/FIReader.hpp @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/X3D/X3DImporter.cpp b/code/X3D/X3DImporter.cpp index 367d84fcf..c9f9a6b6d 100644 --- a/code/X3D/X3DImporter.cpp +++ b/code/X3D/X3DImporter.cpp @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/X3D/X3DImporter.hpp b/code/X3D/X3DImporter.hpp index a4afc1463..737a7f160 100644 --- a/code/X3D/X3DImporter.hpp +++ b/code/X3D/X3DImporter.hpp @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/X3D/X3DImporter_Geometry2D.cpp b/code/X3D/X3DImporter_Geometry2D.cpp index 350fd6c40..5879c3d50 100644 --- a/code/X3D/X3DImporter_Geometry2D.cpp +++ b/code/X3D/X3DImporter_Geometry2D.cpp @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/X3D/X3DImporter_Geometry3D.cpp b/code/X3D/X3DImporter_Geometry3D.cpp index e12cbd3ab..a6bad981a 100644 --- a/code/X3D/X3DImporter_Geometry3D.cpp +++ b/code/X3D/X3DImporter_Geometry3D.cpp @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/X3D/X3DImporter_Group.cpp b/code/X3D/X3DImporter_Group.cpp index de3610caf..d78778928 100644 --- a/code/X3D/X3DImporter_Group.cpp +++ b/code/X3D/X3DImporter_Group.cpp @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/X3D/X3DImporter_Light.cpp b/code/X3D/X3DImporter_Light.cpp index 842fffc04..5a482adcd 100644 --- a/code/X3D/X3DImporter_Light.cpp +++ b/code/X3D/X3DImporter_Light.cpp @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/X3D/X3DImporter_Macro.hpp b/code/X3D/X3DImporter_Macro.hpp index a6aca33fb..2463c7762 100644 --- a/code/X3D/X3DImporter_Macro.hpp +++ b/code/X3D/X3DImporter_Macro.hpp @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/X3D/X3DImporter_Metadata.cpp b/code/X3D/X3DImporter_Metadata.cpp index f888ac2b9..126eddb4c 100644 --- a/code/X3D/X3DImporter_Metadata.cpp +++ b/code/X3D/X3DImporter_Metadata.cpp @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/X3D/X3DImporter_Networking.cpp b/code/X3D/X3DImporter_Networking.cpp index a7a200675..688362ab9 100644 --- a/code/X3D/X3DImporter_Networking.cpp +++ b/code/X3D/X3DImporter_Networking.cpp @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/X3D/X3DImporter_Node.hpp b/code/X3D/X3DImporter_Node.hpp index 85208223d..ebc5200c3 100644 --- a/code/X3D/X3DImporter_Node.hpp +++ b/code/X3D/X3DImporter_Node.hpp @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/X3D/X3DImporter_Postprocess.cpp b/code/X3D/X3DImporter_Postprocess.cpp index 539563fcf..a8bc1a00c 100644 --- a/code/X3D/X3DImporter_Postprocess.cpp +++ b/code/X3D/X3DImporter_Postprocess.cpp @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/X3D/X3DImporter_Rendering.cpp b/code/X3D/X3DImporter_Rendering.cpp index 6e95c9441..a574d5549 100644 --- a/code/X3D/X3DImporter_Rendering.cpp +++ b/code/X3D/X3DImporter_Rendering.cpp @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/X3D/X3DImporter_Shape.cpp b/code/X3D/X3DImporter_Shape.cpp index 126d5905a..189ed145d 100644 --- a/code/X3D/X3DImporter_Shape.cpp +++ b/code/X3D/X3DImporter_Shape.cpp @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/X3D/X3DImporter_Texturing.cpp b/code/X3D/X3DImporter_Texturing.cpp index 2eaf3e6bc..0f8c75c41 100644 --- a/code/X3D/X3DImporter_Texturing.cpp +++ b/code/X3D/X3DImporter_Texturing.cpp @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/X3D/X3DVocabulary.cpp b/code/X3D/X3DVocabulary.cpp index c6ee113b3..b985a0d14 100644 --- a/code/X3D/X3DVocabulary.cpp +++ b/code/X3D/X3DVocabulary.cpp @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/XGL/XGLLoader.cpp b/code/XGL/XGLLoader.cpp index 32cfd72ca..24ed5d57c 100644 --- a/code/XGL/XGLLoader.cpp +++ b/code/XGL/XGLLoader.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/code/XGL/XGLLoader.h b/code/XGL/XGLLoader.h index bba2a643c..f227c5f0f 100644 --- a/code/XGL/XGLLoader.h +++ b/code/XGL/XGLLoader.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/glTF/glTFAsset.h b/code/glTF/glTFAsset.h index 38b0951da..d0b72703e 100644 --- a/code/glTF/glTFAsset.h +++ b/code/glTF/glTFAsset.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/glTF/glTFAsset.inl b/code/glTF/glTFAsset.inl index f93f195bb..00456edbf 100644 --- a/code/glTF/glTFAsset.inl +++ b/code/glTF/glTFAsset.inl @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/glTF/glTFAssetWriter.h b/code/glTF/glTFAssetWriter.h index 03aee7d4c..f166ee532 100644 --- a/code/glTF/glTFAssetWriter.h +++ b/code/glTF/glTFAssetWriter.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/glTF/glTFAssetWriter.inl b/code/glTF/glTFAssetWriter.inl index ed1f4c6bc..784264488 100644 --- a/code/glTF/glTFAssetWriter.inl +++ b/code/glTF/glTFAssetWriter.inl @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/glTF/glTFCommon.cpp b/code/glTF/glTFCommon.cpp index cd03224e4..9fac8de2d 100644 --- a/code/glTF/glTFCommon.cpp +++ b/code/glTF/glTFCommon.cpp @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/glTF/glTFCommon.h b/code/glTF/glTFCommon.h index b2e28d580..d942b4ba8 100644 --- a/code/glTF/glTFCommon.h +++ b/code/glTF/glTFCommon.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/glTF/glTFExporter.cpp b/code/glTF/glTFExporter.cpp index 4772c7dc6..c9b074b6c 100644 --- a/code/glTF/glTFExporter.cpp +++ b/code/glTF/glTFExporter.cpp @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/glTF/glTFExporter.h b/code/glTF/glTFExporter.h index ffa2ce42e..415992314 100644 --- a/code/glTF/glTFExporter.h +++ b/code/glTF/glTFExporter.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/glTF/glTFImporter.cpp b/code/glTF/glTFImporter.cpp index 9e743bf88..45c0e42a9 100644 --- a/code/glTF/glTFImporter.cpp +++ b/code/glTF/glTFImporter.cpp @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/glTF/glTFImporter.h b/code/glTF/glTFImporter.h index 84d74009b..a1e746808 100644 --- a/code/glTF/glTFImporter.h +++ b/code/glTF/glTFImporter.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/glTF2/glTF2Asset.h b/code/glTF2/glTF2Asset.h index ee8818b56..53774de7a 100644 --- a/code/glTF2/glTF2Asset.h +++ b/code/glTF2/glTF2Asset.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/glTF2/glTF2Asset.inl b/code/glTF2/glTF2Asset.inl index 3db37c72b..35ecfa62d 100644 --- a/code/glTF2/glTF2Asset.inl +++ b/code/glTF2/glTF2Asset.inl @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/glTF2/glTF2AssetWriter.h b/code/glTF2/glTF2AssetWriter.h index 928b6e71b..784ab2ea5 100644 --- a/code/glTF2/glTF2AssetWriter.h +++ b/code/glTF2/glTF2AssetWriter.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/glTF2/glTF2AssetWriter.inl b/code/glTF2/glTF2AssetWriter.inl index ae69f3908..02c14980d 100644 --- a/code/glTF2/glTF2AssetWriter.inl +++ b/code/glTF2/glTF2AssetWriter.inl @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/glTF2/glTF2Exporter.cpp b/code/glTF2/glTF2Exporter.cpp index ee40694f9..80361d4d4 100644 --- a/code/glTF2/glTF2Exporter.cpp +++ b/code/glTF2/glTF2Exporter.cpp @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/glTF2/glTF2Exporter.h b/code/glTF2/glTF2Exporter.h index b527c4bc9..421a4806e 100644 --- a/code/glTF2/glTF2Exporter.h +++ b/code/glTF2/glTF2Exporter.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/glTF2/glTF2Importer.cpp b/code/glTF2/glTF2Importer.cpp index 250c790b1..e5052d4d6 100644 --- a/code/glTF2/glTF2Importer.cpp +++ b/code/glTF2/glTF2Importer.cpp @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/glTF2/glTF2Importer.h b/code/glTF2/glTF2Importer.h index e62c38d21..5a093a662 100644 --- a/code/glTF2/glTF2Importer.h +++ b/code/glTF2/glTF2Importer.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/code/res/assimp.rc b/code/res/assimp.rc index daecf9cf5..9ae821b4b 100644 --- a/code/res/assimp.rc +++ b/code/res/assimp.rc @@ -52,7 +52,7 @@ BEGIN VALUE "FileDescription", "Open Asset Import Library" VALUE "FileVersion", VER_FILEVERSION VALUE "InternalName", "assimp " - VALUE "LegalCopyright", "Copyright (C) 2006-2019" + VALUE "LegalCopyright", "Copyright (C) 2006-2020" VALUE "OriginalFilename", VER_ORIGINAL_FILENAME_STR VALUE "ProductName", "Open Asset Import Library" VALUE "ProductVersion", VER_FILEVERSION_STR diff --git a/doc/Preamble.txt b/doc/Preamble.txt index 102b2792d..11759eabd 100644 --- a/doc/Preamble.txt +++ b/doc/Preamble.txt @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2017, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/include/assimp/BaseImporter.h b/include/assimp/BaseImporter.h index ad8a3dafd..7cf835174 100644 --- a/include/assimp/BaseImporter.h +++ b/include/assimp/BaseImporter.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/include/assimp/Bitmap.h b/include/assimp/Bitmap.h index 4c3f5a437..d0d94a6eb 100644 --- a/include/assimp/Bitmap.h +++ b/include/assimp/Bitmap.h @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/include/assimp/BlobIOSystem.h b/include/assimp/BlobIOSystem.h index d005e5c11..30d9b1ac3 100644 --- a/include/assimp/BlobIOSystem.h +++ b/include/assimp/BlobIOSystem.h @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/include/assimp/ByteSwapper.h b/include/assimp/ByteSwapper.h index 3f14c471a..7af78b61c 100644 --- a/include/assimp/ByteSwapper.h +++ b/include/assimp/ByteSwapper.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/include/assimp/CreateAnimMesh.h b/include/assimp/CreateAnimMesh.h index 1266d1de1..01a118ba3 100644 --- a/include/assimp/CreateAnimMesh.h +++ b/include/assimp/CreateAnimMesh.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/include/assimp/DefaultIOStream.h b/include/assimp/DefaultIOStream.h index c6d382c1b..05780def7 100644 --- a/include/assimp/DefaultIOStream.h +++ b/include/assimp/DefaultIOStream.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/include/assimp/DefaultIOSystem.h b/include/assimp/DefaultIOSystem.h index 46f6d447c..75dd97e7f 100644 --- a/include/assimp/DefaultIOSystem.h +++ b/include/assimp/DefaultIOSystem.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/include/assimp/DefaultLogger.hpp b/include/assimp/DefaultLogger.hpp index 1946e250a..789072a7c 100644 --- a/include/assimp/DefaultLogger.hpp +++ b/include/assimp/DefaultLogger.hpp @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/include/assimp/Defines.h b/include/assimp/Defines.h index be3e2fafd..959e4b1fb 100644 --- a/include/assimp/Defines.h +++ b/include/assimp/Defines.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2012, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. Redistribution and use of this software in source and binary forms, diff --git a/include/assimp/Exceptional.h b/include/assimp/Exceptional.h index f0d23d0f3..dcd5e2b2e 100644 --- a/include/assimp/Exceptional.h +++ b/include/assimp/Exceptional.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2008, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. Redistribution and use of this software in source and binary forms, diff --git a/include/assimp/Exporter.hpp b/include/assimp/Exporter.hpp index 20e7c6c6f..dc6661c11 100644 --- a/include/assimp/Exporter.hpp +++ b/include/assimp/Exporter.hpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/include/assimp/GenericProperty.h b/include/assimp/GenericProperty.h index 7796d595b..30f4988f9 100644 --- a/include/assimp/GenericProperty.h +++ b/include/assimp/GenericProperty.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/include/assimp/Hash.h b/include/assimp/Hash.h index 905644078..7c360b474 100644 --- a/include/assimp/Hash.h +++ b/include/assimp/Hash.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/include/assimp/IOStream.hpp b/include/assimp/IOStream.hpp index 39932cd94..c3271d007 100644 --- a/include/assimp/IOStream.hpp +++ b/include/assimp/IOStream.hpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/include/assimp/IOStreamBuffer.h b/include/assimp/IOStreamBuffer.h index 97c84b23e..6ca9be84a 100644 --- a/include/assimp/IOStreamBuffer.h +++ b/include/assimp/IOStreamBuffer.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/include/assimp/IOSystem.hpp b/include/assimp/IOSystem.hpp index f1fb3b0c2..291cd938f 100644 --- a/include/assimp/IOSystem.hpp +++ b/include/assimp/IOSystem.hpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/include/assimp/Importer.hpp b/include/assimp/Importer.hpp index bf449a9a2..7ec4f519c 100644 --- a/include/assimp/Importer.hpp +++ b/include/assimp/Importer.hpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/include/assimp/LineSplitter.h b/include/assimp/LineSplitter.h index 2fa61cba7..869585d92 100644 --- a/include/assimp/LineSplitter.h +++ b/include/assimp/LineSplitter.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/include/assimp/LogAux.h b/include/assimp/LogAux.h index bcead78dd..2265ff19c 100644 --- a/include/assimp/LogAux.h +++ b/include/assimp/LogAux.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/include/assimp/LogStream.hpp b/include/assimp/LogStream.hpp index d0281e2d0..243f13ee6 100644 --- a/include/assimp/LogStream.hpp +++ b/include/assimp/LogStream.hpp @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/include/assimp/Logger.hpp b/include/assimp/Logger.hpp index 89cade6c3..a0b798564 100644 --- a/include/assimp/Logger.hpp +++ b/include/assimp/Logger.hpp @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/include/assimp/MathFunctions.h b/include/assimp/MathFunctions.h index b6c5872a7..1880ce0a9 100644 --- a/include/assimp/MathFunctions.h +++ b/include/assimp/MathFunctions.h @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2016, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/include/assimp/MemoryIOWrapper.h b/include/assimp/MemoryIOWrapper.h index 5598d4fc5..2ad80cc85 100644 --- a/include/assimp/MemoryIOWrapper.h +++ b/include/assimp/MemoryIOWrapper.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/include/assimp/NullLogger.hpp b/include/assimp/NullLogger.hpp index c45d01bd4..7effca83a 100644 --- a/include/assimp/NullLogger.hpp +++ b/include/assimp/NullLogger.hpp @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/include/assimp/ParsingUtils.h b/include/assimp/ParsingUtils.h index 302560124..736952e26 100644 --- a/include/assimp/ParsingUtils.h +++ b/include/assimp/ParsingUtils.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/include/assimp/Profiler.h b/include/assimp/Profiler.h index 624029be9..ee6c5545f 100644 --- a/include/assimp/Profiler.h +++ b/include/assimp/Profiler.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/include/assimp/ProgressHandler.hpp b/include/assimp/ProgressHandler.hpp index 8991a6461..45d3f57cd 100644 --- a/include/assimp/ProgressHandler.hpp +++ b/include/assimp/ProgressHandler.hpp @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/include/assimp/RemoveComments.h b/include/assimp/RemoveComments.h index f12942053..5bb958257 100644 --- a/include/assimp/RemoveComments.h +++ b/include/assimp/RemoveComments.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/include/assimp/SGSpatialSort.h b/include/assimp/SGSpatialSort.h index fdb5ce817..9afe38f85 100644 --- a/include/assimp/SGSpatialSort.h +++ b/include/assimp/SGSpatialSort.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/include/assimp/SceneCombiner.h b/include/assimp/SceneCombiner.h index 0683c1e05..40aad0890 100644 --- a/include/assimp/SceneCombiner.h +++ b/include/assimp/SceneCombiner.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/include/assimp/SkeletonMeshBuilder.h b/include/assimp/SkeletonMeshBuilder.h index ad979a33f..8e1a9830f 100644 --- a/include/assimp/SkeletonMeshBuilder.h +++ b/include/assimp/SkeletonMeshBuilder.h @@ -4,7 +4,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/include/assimp/SmoothingGroups.h b/include/assimp/SmoothingGroups.h index c1a93947f..5d37f1bb5 100644 --- a/include/assimp/SmoothingGroups.h +++ b/include/assimp/SmoothingGroups.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/include/assimp/SmoothingGroups.inl b/include/assimp/SmoothingGroups.inl index 37ea083db..417ca4312 100644 --- a/include/assimp/SmoothingGroups.inl +++ b/include/assimp/SmoothingGroups.inl @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2012, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/include/assimp/SpatialSort.h b/include/assimp/SpatialSort.h index 9f9354315..c2d8bbbf8 100644 --- a/include/assimp/SpatialSort.h +++ b/include/assimp/SpatialSort.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/include/assimp/StandardShapes.h b/include/assimp/StandardShapes.h index c594cb63f..79bdae859 100644 --- a/include/assimp/StandardShapes.h +++ b/include/assimp/StandardShapes.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/include/assimp/StreamReader.h b/include/assimp/StreamReader.h index cb24f1595..4cad96f6e 100644 --- a/include/assimp/StreamReader.h +++ b/include/assimp/StreamReader.h @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/include/assimp/StreamWriter.h b/include/assimp/StreamWriter.h index 489e8adfe..de889b9f0 100644 --- a/include/assimp/StreamWriter.h +++ b/include/assimp/StreamWriter.h @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/include/assimp/StringComparison.h b/include/assimp/StringComparison.h index d3ca3e971..d7b8972e3 100644 --- a/include/assimp/StringComparison.h +++ b/include/assimp/StringComparison.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/include/assimp/StringUtils.h b/include/assimp/StringUtils.h index af481f819..31410a9fb 100644 --- a/include/assimp/StringUtils.h +++ b/include/assimp/StringUtils.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/include/assimp/Subdivision.h b/include/assimp/Subdivision.h index e9450267e..9a8bb9fd3 100644 --- a/include/assimp/Subdivision.h +++ b/include/assimp/Subdivision.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/include/assimp/TinyFormatter.h b/include/assimp/TinyFormatter.h index 6227e42c5..3c6ca66c6 100644 --- a/include/assimp/TinyFormatter.h +++ b/include/assimp/TinyFormatter.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/include/assimp/Vertex.h b/include/assimp/Vertex.h index 5e63db5fe..5d4242cbd 100644 --- a/include/assimp/Vertex.h +++ b/include/assimp/Vertex.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/include/assimp/XMLTools.h b/include/assimp/XMLTools.h index 95f12cdeb..845851308 100644 --- a/include/assimp/XMLTools.h +++ b/include/assimp/XMLTools.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/include/assimp/ZipArchiveIOSystem.h b/include/assimp/ZipArchiveIOSystem.h index 516ea84de..b0541fa59 100644 --- a/include/assimp/ZipArchiveIOSystem.h +++ b/include/assimp/ZipArchiveIOSystem.h @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/include/assimp/aabb.h b/include/assimp/aabb.h index 83bb62256..27a142c8e 100644 --- a/include/assimp/aabb.h +++ b/include/assimp/aabb.h @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/include/assimp/ai_assert.h b/include/assimp/ai_assert.h index 2b32b01d3..f430e4ad3 100644 --- a/include/assimp/ai_assert.h +++ b/include/assimp/ai_assert.h @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/include/assimp/anim.h b/include/assimp/anim.h index e208b11ad..a7af1034f 100644 --- a/include/assimp/anim.h +++ b/include/assimp/anim.h @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/include/assimp/camera.h b/include/assimp/camera.h index adb749ff5..2001a9354 100644 --- a/include/assimp/camera.h +++ b/include/assimp/camera.h @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/include/assimp/cexport.h b/include/assimp/cexport.h index cbc0253d5..959d4377e 100644 --- a/include/assimp/cexport.h +++ b/include/assimp/cexport.h @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/include/assimp/cfileio.h b/include/assimp/cfileio.h index be90999d8..627c700ad 100644 --- a/include/assimp/cfileio.h +++ b/include/assimp/cfileio.h @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/include/assimp/cimport.h b/include/assimp/cimport.h index 66b1c9a17..dab60584b 100644 --- a/include/assimp/cimport.h +++ b/include/assimp/cimport.h @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/include/assimp/color4.h b/include/assimp/color4.h index fa86128f4..505a3510c 100644 --- a/include/assimp/color4.h +++ b/include/assimp/color4.h @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/include/assimp/color4.inl b/include/assimp/color4.inl index d4a2a9810..964b8fbf9 100644 --- a/include/assimp/color4.inl +++ b/include/assimp/color4.inl @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/include/assimp/commonMetaData.h b/include/assimp/commonMetaData.h index cca21ed2a..f3f7d170a 100644 --- a/include/assimp/commonMetaData.h +++ b/include/assimp/commonMetaData.h @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/include/assimp/config.h.in b/include/assimp/config.h.in index 76682b0eb..e2f2a3888 100644 --- a/include/assimp/config.h.in +++ b/include/assimp/config.h.in @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2018, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/include/assimp/defs.h b/include/assimp/defs.h index d8fc98179..8e300e968 100644 --- a/include/assimp/defs.h +++ b/include/assimp/defs.h @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/include/assimp/importerdesc.h b/include/assimp/importerdesc.h index 0a6919c1a..e0f22a9d6 100644 --- a/include/assimp/importerdesc.h +++ b/include/assimp/importerdesc.h @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/include/assimp/irrXMLWrapper.h b/include/assimp/irrXMLWrapper.h index 77cfd5e47..65a7be298 100644 --- a/include/assimp/irrXMLWrapper.h +++ b/include/assimp/irrXMLWrapper.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/include/assimp/light.h b/include/assimp/light.h index bdb2368c4..84f2f7d0a 100644 --- a/include/assimp/light.h +++ b/include/assimp/light.h @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/include/assimp/material.h b/include/assimp/material.h index 19a7c6970..6c864e3d4 100644 --- a/include/assimp/material.h +++ b/include/assimp/material.h @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/include/assimp/material.inl b/include/assimp/material.inl index 8ae6b88d3..759134441 100644 --- a/include/assimp/material.inl +++ b/include/assimp/material.inl @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/include/assimp/matrix3x3.h b/include/assimp/matrix3x3.h index 2c26cf92b..f9880ab9e 100644 --- a/include/assimp/matrix3x3.h +++ b/include/assimp/matrix3x3.h @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/include/assimp/matrix3x3.inl b/include/assimp/matrix3x3.inl index 1ce8c9691..b11e036b1 100644 --- a/include/assimp/matrix3x3.inl +++ b/include/assimp/matrix3x3.inl @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/include/assimp/matrix4x4.h b/include/assimp/matrix4x4.h index 8fc216f66..456d285e6 100644 --- a/include/assimp/matrix4x4.h +++ b/include/assimp/matrix4x4.h @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/include/assimp/matrix4x4.inl b/include/assimp/matrix4x4.inl index 84079974f..e8a3c5305 100644 --- a/include/assimp/matrix4x4.inl +++ b/include/assimp/matrix4x4.inl @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/include/assimp/mesh.h b/include/assimp/mesh.h index fbf2a857a..8fd8c7f87 100644 --- a/include/assimp/mesh.h +++ b/include/assimp/mesh.h @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/include/assimp/metadata.h b/include/assimp/metadata.h index f3a5321d3..bddd04b1e 100644 --- a/include/assimp/metadata.h +++ b/include/assimp/metadata.h @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/include/assimp/pbrmaterial.h b/include/assimp/pbrmaterial.h index 892a6347f..cac4ab56b 100644 --- a/include/assimp/pbrmaterial.h +++ b/include/assimp/pbrmaterial.h @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/include/assimp/port/AndroidJNI/AndroidJNIIOSystem.h b/include/assimp/port/AndroidJNI/AndroidJNIIOSystem.h index 41d800487..01505d571 100644 --- a/include/assimp/port/AndroidJNI/AndroidJNIIOSystem.h +++ b/include/assimp/port/AndroidJNI/AndroidJNIIOSystem.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2016, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. Redistribution and use of this software in source and binary forms, diff --git a/include/assimp/postprocess.h b/include/assimp/postprocess.h index 4b6732e80..9997f0d60 100644 --- a/include/assimp/postprocess.h +++ b/include/assimp/postprocess.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/include/assimp/qnan.h b/include/assimp/qnan.h index 06780da5b..5ca80601d 100644 --- a/include/assimp/qnan.h +++ b/include/assimp/qnan.h @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/include/assimp/quaternion.h b/include/assimp/quaternion.h index ae45959b4..fd9abfd21 100644 --- a/include/assimp/quaternion.h +++ b/include/assimp/quaternion.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/include/assimp/quaternion.inl b/include/assimp/quaternion.inl index 3ce514d1b..e8bdb9aeb 100644 --- a/include/assimp/quaternion.inl +++ b/include/assimp/quaternion.inl @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/include/assimp/scene.h b/include/assimp/scene.h index b76709eb1..93d04eee6 100644 --- a/include/assimp/scene.h +++ b/include/assimp/scene.h @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/include/assimp/texture.h b/include/assimp/texture.h index 0867659f4..274185a30 100644 --- a/include/assimp/texture.h +++ b/include/assimp/texture.h @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/include/assimp/types.h b/include/assimp/types.h index e32cae331..1f47dad8f 100644 --- a/include/assimp/types.h +++ b/include/assimp/types.h @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/include/assimp/vector2.h b/include/assimp/vector2.h index c8b1ebbbc..a23e32e63 100644 --- a/include/assimp/vector2.h +++ b/include/assimp/vector2.h @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/include/assimp/vector2.inl b/include/assimp/vector2.inl index 4bbf432ff..19dbce291 100644 --- a/include/assimp/vector2.inl +++ b/include/assimp/vector2.inl @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/include/assimp/vector3.h b/include/assimp/vector3.h index fffeb12ad..8d3c82cf8 100644 --- a/include/assimp/vector3.h +++ b/include/assimp/vector3.h @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/include/assimp/vector3.inl b/include/assimp/vector3.inl index 6682d3b32..2765115a2 100644 --- a/include/assimp/vector3.inl +++ b/include/assimp/vector3.inl @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/include/assimp/version.h b/include/assimp/version.h index 90645a38f..6709eaf39 100644 --- a/include/assimp/version.h +++ b/include/assimp/version.h @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/packaging/windows-innosetup/LICENSE.rtf b/packaging/windows-innosetup/LICENSE.rtf index 48b00deab9270e1a426e86f6e5d6896301d1dcc3..d2e700fcd50d5f91dfeddc49d462def222fc9f05 100644 GIT binary patch delta 12 Tcmca2ctvo+Dn_G?t2H?QBHaYV delta 12 Tcmca2ctvo+Dn`SNt2H?QBG?4P diff --git a/port/AndroidJNI/AndroidJNIIOSystem.cpp b/port/AndroidJNI/AndroidJNIIOSystem.cpp index e276ea59f..db499a20b 100644 --- a/port/AndroidJNI/AndroidJNIIOSystem.cpp +++ b/port/AndroidJNI/AndroidJNIIOSystem.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2016, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/port/PyAssimp/gen/materialgen.py b/port/PyAssimp/gen/materialgen.py index d60bf4bc2..ef32d8e1c 100644 --- a/port/PyAssimp/gen/materialgen.py +++ b/port/PyAssimp/gen/materialgen.py @@ -5,7 +5,7 @@ # Open Asset Import Library (ASSIMP) # --------------------------------------------------------------------------- # -# Copyright (c) 2006-2010, ASSIMP Development Team +# Copyright (c) 2006-2020, ASSIMP Development Team # # All rights reserved. # diff --git a/port/PyAssimp/gen/structsgen.py b/port/PyAssimp/gen/structsgen.py index f2ee95eb5..f34ec1975 100644 --- a/port/PyAssimp/gen/structsgen.py +++ b/port/PyAssimp/gen/structsgen.py @@ -5,7 +5,7 @@ # Open Asset Import Library (ASSIMP) # --------------------------------------------------------------------------- # -# Copyright (c) 2006-2010, ASSIMP Development Team +# Copyright (c) 2006-2020, ASSIMP Development Team # # All rights reserved. # diff --git a/port/dAssimp/assimp/animation.d b/port/dAssimp/assimp/animation.d index fb716ee73..9a36940d6 100644 --- a/port/dAssimp/assimp/animation.d +++ b/port/dAssimp/assimp/animation.d @@ -3,7 +3,7 @@ Open Asset Import Library (ASSIMP) --------------------------------------------------------------------------- -Copyright (c) 2006-2009, ASSIMP Development Team +Copyright (c) 2006-2020, ASSIMP Development Team All rights reserved. diff --git a/port/dAssimp/assimp/api.d b/port/dAssimp/assimp/api.d index 9399b7f9d..bc7a15796 100644 --- a/port/dAssimp/assimp/api.d +++ b/port/dAssimp/assimp/api.d @@ -3,7 +3,7 @@ Open Asset Import Library (ASSIMP) --------------------------------------------------------------------------- -Copyright (c) 2006-2009, ASSIMP Development Team +Copyright (c) 2006-2020, ASSIMP Development Team All rights reserved. diff --git a/port/dAssimp/assimp/assimp.d b/port/dAssimp/assimp/assimp.d index f0474bebf..a147ee2eb 100644 --- a/port/dAssimp/assimp/assimp.d +++ b/port/dAssimp/assimp/assimp.d @@ -3,7 +3,7 @@ Open Asset Import Library (ASSIMP) --------------------------------------------------------------------------- -Copyright (c) 2006-2009, ASSIMP Development Team +Copyright (c) 2006-2020, ASSIMP Development Team All rights reserved. diff --git a/port/dAssimp/assimp/camera.d b/port/dAssimp/assimp/camera.d index 8a2c3c0b8..5567be2cc 100644 --- a/port/dAssimp/assimp/camera.d +++ b/port/dAssimp/assimp/camera.d @@ -3,7 +3,7 @@ Open Asset Import Library (ASSIMP) --------------------------------------------------------------------------- -Copyright (c) 2006-2009, ASSIMP Development Team +Copyright (c) 2006-2020, ASSIMP Development Team All rights reserved. diff --git a/port/dAssimp/assimp/config.d b/port/dAssimp/assimp/config.d index 9f8d222c7..761156b41 100644 --- a/port/dAssimp/assimp/config.d +++ b/port/dAssimp/assimp/config.d @@ -3,7 +3,7 @@ Open Asset Import Library (ASSIMP) --------------------------------------------------------------------------- -Copyright (c) 2006-2009, ASSIMP Development Team +Copyright (c) 2006-2020, ASSIMP Development Team All rights reserved. diff --git a/port/dAssimp/assimp/fileIO.d b/port/dAssimp/assimp/fileIO.d index d893016d8..108d883f0 100644 --- a/port/dAssimp/assimp/fileIO.d +++ b/port/dAssimp/assimp/fileIO.d @@ -3,7 +3,7 @@ Open Asset Import Library (ASSIMP) --------------------------------------------------------------------------- -Copyright (c) 2006-2009, ASSIMP Development Team +Copyright (c) 2006-2020, ASSIMP Development Team All rights reserved. diff --git a/port/dAssimp/assimp/light.d b/port/dAssimp/assimp/light.d index 8d782396d..0842d67c9 100644 --- a/port/dAssimp/assimp/light.d +++ b/port/dAssimp/assimp/light.d @@ -3,7 +3,7 @@ Open Asset Import Library (ASSIMP) --------------------------------------------------------------------------- -Copyright (c) 2006-2009, ASSIMP Development Team +Copyright (c) 2006-2020, ASSIMP Development Team All rights reserved. diff --git a/port/dAssimp/assimp/loader.d b/port/dAssimp/assimp/loader.d index 76fd44adf..279f0a7b2 100644 --- a/port/dAssimp/assimp/loader.d +++ b/port/dAssimp/assimp/loader.d @@ -3,7 +3,7 @@ Open Asset Import Library (ASSIMP) --------------------------------------------------------------------------- -Copyright (c) 2006-2009, ASSIMP Development Team +Copyright (c) 2006-2020, ASSIMP Development Team All rights reserved. diff --git a/port/dAssimp/assimp/material.d b/port/dAssimp/assimp/material.d index e0c480b24..f0eae8610 100644 --- a/port/dAssimp/assimp/material.d +++ b/port/dAssimp/assimp/material.d @@ -3,7 +3,7 @@ Open Asset Import Library (ASSIMP) --------------------------------------------------------------------------- -Copyright (c) 2006-2009, ASSIMP Development Team +Copyright (c) 2006-2020, ASSIMP Development Team All rights reserved. diff --git a/port/dAssimp/assimp/math.d b/port/dAssimp/assimp/math.d index f3cff743f..057bbd5f2 100644 --- a/port/dAssimp/assimp/math.d +++ b/port/dAssimp/assimp/math.d @@ -3,7 +3,7 @@ Open Asset Import Library (ASSIMP) --------------------------------------------------------------------------- -Copyright (c) 2006-2009, ASSIMP Development Team +Copyright (c) 2006-2020, ASSIMP Development Team All rights reserved. diff --git a/port/dAssimp/assimp/mesh.d b/port/dAssimp/assimp/mesh.d index da6193631..48162b705 100644 --- a/port/dAssimp/assimp/mesh.d +++ b/port/dAssimp/assimp/mesh.d @@ -3,7 +3,7 @@ Open Asset Import Library (ASSIMP) --------------------------------------------------------------------------- -Copyright (c) 2006-2009, ASSIMP Development Team +Copyright (c) 2006-2020, ASSIMP Development Team All rights reserved. diff --git a/port/dAssimp/assimp/postprocess.d b/port/dAssimp/assimp/postprocess.d index a720a8c63..343bb36dd 100644 --- a/port/dAssimp/assimp/postprocess.d +++ b/port/dAssimp/assimp/postprocess.d @@ -3,7 +3,7 @@ Open Asset Import Library (ASSIMP) --------------------------------------------------------------------------- -Copyright (c) 2006-2009, ASSIMP Development Team +Copyright (c) 2006-2020, ASSIMP Development Team All rights reserved. diff --git a/port/dAssimp/assimp/scene.d b/port/dAssimp/assimp/scene.d index ab545b192..deee75ae4 100644 --- a/port/dAssimp/assimp/scene.d +++ b/port/dAssimp/assimp/scene.d @@ -3,7 +3,7 @@ Open Asset Import Library (ASSIMP) --------------------------------------------------------------------------- -Copyright (c) 2006-2009, ASSIMP Development Team +Copyright (c) 2006-2020, ASSIMP Development Team All rights reserved. diff --git a/port/dAssimp/assimp/texture.d b/port/dAssimp/assimp/texture.d index 0f46ff551..83453b984 100644 --- a/port/dAssimp/assimp/texture.d +++ b/port/dAssimp/assimp/texture.d @@ -3,7 +3,7 @@ Open Asset Import Library (ASSIMP) --------------------------------------------------------------------------- -Copyright (c) 2006-2009, ASSIMP Development Team +Copyright (c) 2006-2020, ASSIMP Development Team All rights reserved. diff --git a/port/dAssimp/assimp/types.d b/port/dAssimp/assimp/types.d index d3c0b53de..5aa4d5410 100644 --- a/port/dAssimp/assimp/types.d +++ b/port/dAssimp/assimp/types.d @@ -3,7 +3,7 @@ Open Asset Import Library (ASSIMP) --------------------------------------------------------------------------- -Copyright (c) 2006-2009, ASSIMP Development Team +Copyright (c) 2006-2020, ASSIMP Development Team All rights reserved. diff --git a/port/dAssimp/assimp/versionInfo.d b/port/dAssimp/assimp/versionInfo.d index 498115524..5a7e9b9fd 100644 --- a/port/dAssimp/assimp/versionInfo.d +++ b/port/dAssimp/assimp/versionInfo.d @@ -3,7 +3,7 @@ Open Asset Import Library (ASSIMP) --------------------------------------------------------------------------- -Copyright (c) 2006-2009, ASSIMP Development Team +Copyright (c) 2006-2020, ASSIMP Development Team All rights reserved. diff --git a/port/jassimp/jassimp/src/jassimp/AiAnimBehavior.java b/port/jassimp/jassimp/src/jassimp/AiAnimBehavior.java index 7dd3fb560..ae4f04a69 100644 --- a/port/jassimp/jassimp/src/jassimp/AiAnimBehavior.java +++ b/port/jassimp/jassimp/src/jassimp/AiAnimBehavior.java @@ -3,7 +3,7 @@ Open Asset Import Library - Java Binding (jassimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2012, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/port/jassimp/jassimp/src/jassimp/AiAnimation.java b/port/jassimp/jassimp/src/jassimp/AiAnimation.java index 777d2a9fe..239820aaf 100644 --- a/port/jassimp/jassimp/src/jassimp/AiAnimation.java +++ b/port/jassimp/jassimp/src/jassimp/AiAnimation.java @@ -3,7 +3,7 @@ Open Asset Import Library - Java Binding (jassimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2012, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/port/jassimp/jassimp/src/jassimp/AiBlendMode.java b/port/jassimp/jassimp/src/jassimp/AiBlendMode.java index 941ace11e..78cc5a5ed 100644 --- a/port/jassimp/jassimp/src/jassimp/AiBlendMode.java +++ b/port/jassimp/jassimp/src/jassimp/AiBlendMode.java @@ -3,7 +3,7 @@ Open Asset Import Library - Java Binding (jassimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2012, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/port/jassimp/jassimp/src/jassimp/AiBone.java b/port/jassimp/jassimp/src/jassimp/AiBone.java index 1e6d49beb..eaaf481ff 100644 --- a/port/jassimp/jassimp/src/jassimp/AiBone.java +++ b/port/jassimp/jassimp/src/jassimp/AiBone.java @@ -3,7 +3,7 @@ Open Asset Import Library - Java Binding (jassimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2012, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/port/jassimp/jassimp/src/jassimp/AiBoneWeight.java b/port/jassimp/jassimp/src/jassimp/AiBoneWeight.java index 7d1d74bcc..7d7a183d0 100644 --- a/port/jassimp/jassimp/src/jassimp/AiBoneWeight.java +++ b/port/jassimp/jassimp/src/jassimp/AiBoneWeight.java @@ -3,7 +3,7 @@ Open Asset Import Library - Java Binding (jassimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2012, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/port/jassimp/jassimp/src/jassimp/AiBuiltInWrapperProvider.java b/port/jassimp/jassimp/src/jassimp/AiBuiltInWrapperProvider.java index 64fad515a..ebc23c0ae 100644 --- a/port/jassimp/jassimp/src/jassimp/AiBuiltInWrapperProvider.java +++ b/port/jassimp/jassimp/src/jassimp/AiBuiltInWrapperProvider.java @@ -3,7 +3,7 @@ Open Asset Import Library - Java Binding (jassimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2012, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/port/jassimp/jassimp/src/jassimp/AiCamera.java b/port/jassimp/jassimp/src/jassimp/AiCamera.java index 6378210f7..4445c34fc 100644 --- a/port/jassimp/jassimp/src/jassimp/AiCamera.java +++ b/port/jassimp/jassimp/src/jassimp/AiCamera.java @@ -3,7 +3,7 @@ Open Asset Import Library - Java Binding (jassimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2012, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/port/jassimp/jassimp/src/jassimp/AiClassLoaderIOSystem.java b/port/jassimp/jassimp/src/jassimp/AiClassLoaderIOSystem.java index 95afc2e02..687e9f37a 100644 --- a/port/jassimp/jassimp/src/jassimp/AiClassLoaderIOSystem.java +++ b/port/jassimp/jassimp/src/jassimp/AiClassLoaderIOSystem.java @@ -3,7 +3,7 @@ Open Asset Import Library - Java Binding (jassimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2017, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/port/jassimp/jassimp/src/jassimp/AiColor.java b/port/jassimp/jassimp/src/jassimp/AiColor.java index 6befeecbd..5cea22a9e 100644 --- a/port/jassimp/jassimp/src/jassimp/AiColor.java +++ b/port/jassimp/jassimp/src/jassimp/AiColor.java @@ -3,7 +3,7 @@ Open Asset Import Library - Java Binding (jassimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2012, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/port/jassimp/jassimp/src/jassimp/AiIOStream.java b/port/jassimp/jassimp/src/jassimp/AiIOStream.java index 6625b3740..71405e685 100644 --- a/port/jassimp/jassimp/src/jassimp/AiIOStream.java +++ b/port/jassimp/jassimp/src/jassimp/AiIOStream.java @@ -3,7 +3,7 @@ Open Asset Import Library - Java Binding (jassimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2017, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/port/jassimp/jassimp/src/jassimp/AiIOSystem.java b/port/jassimp/jassimp/src/jassimp/AiIOSystem.java index 213f95a12..7e15ee033 100644 --- a/port/jassimp/jassimp/src/jassimp/AiIOSystem.java +++ b/port/jassimp/jassimp/src/jassimp/AiIOSystem.java @@ -3,7 +3,7 @@ Open Asset Import Library - Java Binding (jassimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2017, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/port/jassimp/jassimp/src/jassimp/AiInputStreamIOStream.java b/port/jassimp/jassimp/src/jassimp/AiInputStreamIOStream.java index 0db1ea211..64aa40afb 100644 --- a/port/jassimp/jassimp/src/jassimp/AiInputStreamIOStream.java +++ b/port/jassimp/jassimp/src/jassimp/AiInputStreamIOStream.java @@ -3,7 +3,7 @@ Open Asset Import Library - Java Binding (jassimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2017, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/port/jassimp/jassimp/src/jassimp/AiLight.java b/port/jassimp/jassimp/src/jassimp/AiLight.java index 0b1dd2f67..e0a93dbef 100644 --- a/port/jassimp/jassimp/src/jassimp/AiLight.java +++ b/port/jassimp/jassimp/src/jassimp/AiLight.java @@ -3,7 +3,7 @@ Open Asset Import Library - Java Binding (jassimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2012, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/port/jassimp/jassimp/src/jassimp/AiLightType.java b/port/jassimp/jassimp/src/jassimp/AiLightType.java index ec3c39b02..33fd72284 100644 --- a/port/jassimp/jassimp/src/jassimp/AiLightType.java +++ b/port/jassimp/jassimp/src/jassimp/AiLightType.java @@ -3,7 +3,7 @@ Open Asset Import Library - Java Binding (jassimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2012, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/port/jassimp/jassimp/src/jassimp/AiMaterial.java b/port/jassimp/jassimp/src/jassimp/AiMaterial.java index 8582d881a..b571f1428 100644 --- a/port/jassimp/jassimp/src/jassimp/AiMaterial.java +++ b/port/jassimp/jassimp/src/jassimp/AiMaterial.java @@ -3,7 +3,7 @@ Open Asset Import Library - Java Binding (jassimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2012, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/port/jassimp/jassimp/src/jassimp/AiMatrix4f.java b/port/jassimp/jassimp/src/jassimp/AiMatrix4f.java index 19640888d..f78c951bf 100644 --- a/port/jassimp/jassimp/src/jassimp/AiMatrix4f.java +++ b/port/jassimp/jassimp/src/jassimp/AiMatrix4f.java @@ -3,7 +3,7 @@ Open Asset Import Library - Java Binding (jassimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2012, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/port/jassimp/jassimp/src/jassimp/AiMesh.java b/port/jassimp/jassimp/src/jassimp/AiMesh.java index 3f4a29760..eb2ff3c5c 100644 --- a/port/jassimp/jassimp/src/jassimp/AiMesh.java +++ b/port/jassimp/jassimp/src/jassimp/AiMesh.java @@ -3,7 +3,7 @@ Open Asset Import Library - Java Binding (jassimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2012, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/port/jassimp/jassimp/src/jassimp/AiMeshAnim.java b/port/jassimp/jassimp/src/jassimp/AiMeshAnim.java index bbccc71ac..7c893e065 100644 --- a/port/jassimp/jassimp/src/jassimp/AiMeshAnim.java +++ b/port/jassimp/jassimp/src/jassimp/AiMeshAnim.java @@ -3,7 +3,7 @@ Open Asset Import Library - Java Binding (jassimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2012, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/port/jassimp/jassimp/src/jassimp/AiMetadataEntry.java b/port/jassimp/jassimp/src/jassimp/AiMetadataEntry.java index dbdf1aae8..76e66640f 100644 --- a/port/jassimp/jassimp/src/jassimp/AiMetadataEntry.java +++ b/port/jassimp/jassimp/src/jassimp/AiMetadataEntry.java @@ -4,7 +4,7 @@ package jassimp; Open Asset Import Library - Java Binding (jassimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2012, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/port/jassimp/jassimp/src/jassimp/AiNode.java b/port/jassimp/jassimp/src/jassimp/AiNode.java index e585e0449..54baf9ccf 100644 --- a/port/jassimp/jassimp/src/jassimp/AiNode.java +++ b/port/jassimp/jassimp/src/jassimp/AiNode.java @@ -3,7 +3,7 @@ Open Asset Import Library - Java Binding (jassimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2012, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/port/jassimp/jassimp/src/jassimp/AiNodeAnim.java b/port/jassimp/jassimp/src/jassimp/AiNodeAnim.java index fb317a5b1..b07c7ce05 100644 --- a/port/jassimp/jassimp/src/jassimp/AiNodeAnim.java +++ b/port/jassimp/jassimp/src/jassimp/AiNodeAnim.java @@ -3,7 +3,7 @@ Open Asset Import Library - Java Binding (jassimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2015, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/port/jassimp/jassimp/src/jassimp/AiPostProcessSteps.java b/port/jassimp/jassimp/src/jassimp/AiPostProcessSteps.java index 905229190..7bb617b2c 100644 --- a/port/jassimp/jassimp/src/jassimp/AiPostProcessSteps.java +++ b/port/jassimp/jassimp/src/jassimp/AiPostProcessSteps.java @@ -3,7 +3,7 @@ Open Asset Import Library - Java Binding (jassimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2012, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/port/jassimp/jassimp/src/jassimp/AiPrimitiveType.java b/port/jassimp/jassimp/src/jassimp/AiPrimitiveType.java index bb8f9041d..af8aa284d 100644 --- a/port/jassimp/jassimp/src/jassimp/AiPrimitiveType.java +++ b/port/jassimp/jassimp/src/jassimp/AiPrimitiveType.java @@ -3,7 +3,7 @@ Open Asset Import Library - Java Binding (jassimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2012, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/port/jassimp/jassimp/src/jassimp/AiProgressHandler.java b/port/jassimp/jassimp/src/jassimp/AiProgressHandler.java index 5512942d9..7998d1bcc 100644 --- a/port/jassimp/jassimp/src/jassimp/AiProgressHandler.java +++ b/port/jassimp/jassimp/src/jassimp/AiProgressHandler.java @@ -3,7 +3,7 @@ Open Asset Import Library - Java Binding (jassimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2012, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/port/jassimp/jassimp/src/jassimp/AiQuaternion.java b/port/jassimp/jassimp/src/jassimp/AiQuaternion.java index 00630e644..af10e6f91 100644 --- a/port/jassimp/jassimp/src/jassimp/AiQuaternion.java +++ b/port/jassimp/jassimp/src/jassimp/AiQuaternion.java @@ -3,7 +3,7 @@ Open Asset Import Library - Java Binding (jassimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2012, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/port/jassimp/jassimp/src/jassimp/AiScene.java b/port/jassimp/jassimp/src/jassimp/AiScene.java index f13348dec..b4eed2ff7 100644 --- a/port/jassimp/jassimp/src/jassimp/AiScene.java +++ b/port/jassimp/jassimp/src/jassimp/AiScene.java @@ -3,7 +3,7 @@ Open Asset Import Library - Java Binding (jassimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2012, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/port/jassimp/jassimp/src/jassimp/AiSceneFlag.java b/port/jassimp/jassimp/src/jassimp/AiSceneFlag.java index af3ee5d5f..772b495f5 100644 --- a/port/jassimp/jassimp/src/jassimp/AiSceneFlag.java +++ b/port/jassimp/jassimp/src/jassimp/AiSceneFlag.java @@ -3,7 +3,7 @@ Open Asset Import Library - Java Binding (jassimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2012, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/port/jassimp/jassimp/src/jassimp/AiShadingMode.java b/port/jassimp/jassimp/src/jassimp/AiShadingMode.java index af90f98a1..fbf65738f 100644 --- a/port/jassimp/jassimp/src/jassimp/AiShadingMode.java +++ b/port/jassimp/jassimp/src/jassimp/AiShadingMode.java @@ -3,7 +3,7 @@ Open Asset Import Library - Java Binding (jassimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2012, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/port/jassimp/jassimp/src/jassimp/AiTextureInfo.java b/port/jassimp/jassimp/src/jassimp/AiTextureInfo.java index bfa09397b..509230363 100644 --- a/port/jassimp/jassimp/src/jassimp/AiTextureInfo.java +++ b/port/jassimp/jassimp/src/jassimp/AiTextureInfo.java @@ -3,7 +3,7 @@ Open Asset Import Library - Java Binding (jassimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2012, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/port/jassimp/jassimp/src/jassimp/AiTextureMapMode.java b/port/jassimp/jassimp/src/jassimp/AiTextureMapMode.java index df75c58c2..c08ca10cb 100644 --- a/port/jassimp/jassimp/src/jassimp/AiTextureMapMode.java +++ b/port/jassimp/jassimp/src/jassimp/AiTextureMapMode.java @@ -3,7 +3,7 @@ Open Asset Import Library - Java Binding (jassimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2012, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/port/jassimp/jassimp/src/jassimp/AiTextureMapping.java b/port/jassimp/jassimp/src/jassimp/AiTextureMapping.java index 3112ba4bd..48c219d9c 100644 --- a/port/jassimp/jassimp/src/jassimp/AiTextureMapping.java +++ b/port/jassimp/jassimp/src/jassimp/AiTextureMapping.java @@ -3,7 +3,7 @@ Open Asset Import Library - Java Binding (jassimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2012, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/port/jassimp/jassimp/src/jassimp/AiTextureOp.java b/port/jassimp/jassimp/src/jassimp/AiTextureOp.java index d928167ca..df87d968e 100644 --- a/port/jassimp/jassimp/src/jassimp/AiTextureOp.java +++ b/port/jassimp/jassimp/src/jassimp/AiTextureOp.java @@ -3,7 +3,7 @@ Open Asset Import Library - Java Binding (jassimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2012, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/port/jassimp/jassimp/src/jassimp/AiTextureType.java b/port/jassimp/jassimp/src/jassimp/AiTextureType.java index 8756c18ee..85b559c30 100644 --- a/port/jassimp/jassimp/src/jassimp/AiTextureType.java +++ b/port/jassimp/jassimp/src/jassimp/AiTextureType.java @@ -3,7 +3,7 @@ Open Asset Import Library - Java Binding (jassimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2012, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/port/jassimp/jassimp/src/jassimp/AiVector.java b/port/jassimp/jassimp/src/jassimp/AiVector.java index 3136f3888..440be20d6 100644 --- a/port/jassimp/jassimp/src/jassimp/AiVector.java +++ b/port/jassimp/jassimp/src/jassimp/AiVector.java @@ -3,7 +3,7 @@ Open Asset Import Library - Java Binding (jassimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2012, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/port/jassimp/jassimp/src/jassimp/AiWrapperProvider.java b/port/jassimp/jassimp/src/jassimp/AiWrapperProvider.java index e916ad260..a29f9d18f 100644 --- a/port/jassimp/jassimp/src/jassimp/AiWrapperProvider.java +++ b/port/jassimp/jassimp/src/jassimp/AiWrapperProvider.java @@ -3,7 +3,7 @@ Open Asset Import Library - Java Binding (jassimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2012, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/port/jassimp/jassimp/src/jassimp/JaiDebug.java b/port/jassimp/jassimp/src/jassimp/JaiDebug.java index f74a8967b..0ed112a1b 100644 --- a/port/jassimp/jassimp/src/jassimp/JaiDebug.java +++ b/port/jassimp/jassimp/src/jassimp/JaiDebug.java @@ -3,7 +3,7 @@ Open Asset Import Library - Java Binding (jassimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2012, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/port/jassimp/jassimp/src/jassimp/Jassimp.java b/port/jassimp/jassimp/src/jassimp/Jassimp.java index c33f95c0a..4610fb191 100644 --- a/port/jassimp/jassimp/src/jassimp/Jassimp.java +++ b/port/jassimp/jassimp/src/jassimp/Jassimp.java @@ -3,7 +3,7 @@ Open Asset Import Library - Java Binding (jassimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2012, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/port/jassimp/jassimp/src/jassimp/JassimpConfig.java b/port/jassimp/jassimp/src/jassimp/JassimpConfig.java index 8370bb9f0..7591f0e95 100644 --- a/port/jassimp/jassimp/src/jassimp/JassimpConfig.java +++ b/port/jassimp/jassimp/src/jassimp/JassimpConfig.java @@ -3,7 +3,7 @@ Open Asset Import Library - Java Binding (jassimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2012, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/port/jassimp/jassimp/src/jassimp/JassimpLibraryLoader.java b/port/jassimp/jassimp/src/jassimp/JassimpLibraryLoader.java index c299706b7..d87cc820c 100644 --- a/port/jassimp/jassimp/src/jassimp/JassimpLibraryLoader.java +++ b/port/jassimp/jassimp/src/jassimp/JassimpLibraryLoader.java @@ -3,7 +3,7 @@ Open Asset Import Library - Java Binding (jassimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2012, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/port/jassimp/jassimp/src/jassimp/package-info.java b/port/jassimp/jassimp/src/jassimp/package-info.java index fa2883824..7ec8c884f 100644 --- a/port/jassimp/jassimp/src/jassimp/package-info.java +++ b/port/jassimp/jassimp/src/jassimp/package-info.java @@ -3,7 +3,7 @@ Open Asset Import Library - Java Binding (jassimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2012, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/scripts/BlenderImporter/BlenderScene.cpp.template b/scripts/BlenderImporter/BlenderScene.cpp.template index 1dda00919..391528127 100644 --- a/scripts/BlenderImporter/BlenderScene.cpp.template +++ b/scripts/BlenderImporter/BlenderScene.cpp.template @@ -2,7 +2,7 @@ Open Asset Import Library (ASSIMP) ---------------------------------------------------------------------- -Copyright (c) 2006-2016, ASSIMP Development Team +Copyright (c) 2006-2020, ASSIMP Development Team All rights reserved. Redistribution and use of this software in source and binary forms, diff --git a/scripts/BlenderImporter/BlenderSceneGen.h.template b/scripts/BlenderImporter/BlenderSceneGen.h.template index 562b5bb72..f5b71c40c 100644 --- a/scripts/BlenderImporter/BlenderSceneGen.h.template +++ b/scripts/BlenderImporter/BlenderSceneGen.h.template @@ -2,7 +2,7 @@ Open Asset Import Library (ASSIMP) ---------------------------------------------------------------------- -Copyright (c) 2006-2016, ASSIMP Development Team +Copyright (c) 2006-2020, ASSIMP Development Team All rights reserved. Redistribution and use of this software in source and binary forms, diff --git a/scripts/BlenderImporter/genblenddna.py b/scripts/BlenderImporter/genblenddna.py index cca595eca..56e1b9894 100644 --- a/scripts/BlenderImporter/genblenddna.py +++ b/scripts/BlenderImporter/genblenddna.py @@ -5,7 +5,7 @@ # Open Asset Import Library (ASSIMP) # --------------------------------------------------------------------------- # -# Copyright (c) 2006-2016, ASSIMP Development Team +# Copyright (c) 2006-2020, ASSIMP Development Team # # All rights reserved. # diff --git a/scripts/StepImporter/CppGenerator.py b/scripts/StepImporter/CppGenerator.py index b9dba9902..b6c8ed542 100644 --- a/scripts/StepImporter/CppGenerator.py +++ b/scripts/StepImporter/CppGenerator.py @@ -5,7 +5,7 @@ # Open Asset Import Library (ASSIMP) # --------------------------------------------------------------------------- # -# Copyright (c) 2006-2018, ASSIMP Development Team +# Copyright (c) 2006-2020, ASSIMP Development Team # # All rights reserved. # diff --git a/scripts/StepImporter/ExpressReader.py b/scripts/StepImporter/ExpressReader.py index c2a39e70b..9cb3b72ad 100644 --- a/scripts/StepImporter/ExpressReader.py +++ b/scripts/StepImporter/ExpressReader.py @@ -5,7 +5,7 @@ # Open Asset Import Library (ASSIMP) # --------------------------------------------------------------------------- # -# Copyright (c) 2006-2010, ASSIMP Development Team +# Copyright (c) 2006-2020, ASSIMP Development Team # # All rights reserved. # diff --git a/scripts/StepImporter/IFCReaderGen.cpp.template b/scripts/StepImporter/IFCReaderGen.cpp.template index 562b69807..de1063de2 100644 --- a/scripts/StepImporter/IFCReaderGen.cpp.template +++ b/scripts/StepImporter/IFCReaderGen.cpp.template @@ -2,7 +2,7 @@ Open Asset Import Library (ASSIMP) ---------------------------------------------------------------------- -Copyright (c) 2006-2018, ASSIMP Development Team +Copyright (c) 2006-2020, ASSIMP Development Team All rights reserved. Redistribution and use of this software in source and binary forms, diff --git a/scripts/StepImporter/IFCReaderGen.h.template b/scripts/StepImporter/IFCReaderGen.h.template index abef2a1ab..2cad1542a 100644 --- a/scripts/StepImporter/IFCReaderGen.h.template +++ b/scripts/StepImporter/IFCReaderGen.h.template @@ -2,7 +2,7 @@ Open Asset Import Library (ASSIMP) ---------------------------------------------------------------------- -Copyright (c) 2006-2010, ASSIMP Development Team +Copyright (c) 2006-2020, ASSIMP Development Team All rights reserved. Redistribution and use of this software in source and binary forms, diff --git a/scripts/StepImporter/StepReaderGen.cpp.template b/scripts/StepImporter/StepReaderGen.cpp.template index f3240c099..5bb9bb98f 100644 --- a/scripts/StepImporter/StepReaderGen.cpp.template +++ b/scripts/StepImporter/StepReaderGen.cpp.template @@ -2,7 +2,7 @@ Open Asset Import Library (ASSIMP) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, ASSIMP Development Team +Copyright (c) 2006-2020, ASSIMP Development Team All rights reserved. Redistribution and use of this software in source and binary forms, diff --git a/scripts/StepImporter/StepReaderGen.h.template b/scripts/StepImporter/StepReaderGen.h.template index 7d4d77ef4..51ba55093 100644 --- a/scripts/StepImporter/StepReaderGen.h.template +++ b/scripts/StepImporter/StepReaderGen.h.template @@ -2,7 +2,7 @@ Open Asset Import Library (ASSIMP) ---------------------------------------------------------------------- -Copyright (c) 2006-2019, ASSIMP Development Team +Copyright (c) 2006-2020, ASSIMP Development Team All rights reserved. Redistribution and use of this software in source and binary forms, diff --git a/scripts/StepImporter/extract_step_token.py b/scripts/StepImporter/extract_step_token.py index c7f89537a..106cf58a9 100644 --- a/scripts/StepImporter/extract_step_token.py +++ b/scripts/StepImporter/extract_step_token.py @@ -5,7 +5,7 @@ # Open Asset Import Library (ASSIMP) # --------------------------------------------------------------------------- # -# Copyright (c) 2006-2018, ASSIMP Development Team +# Copyright (c) 2006-2020, ASSIMP Development Team # # All rights reserved. # diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 3d382490c..71f3bf6f2 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -1,7 +1,7 @@ # Open Asset Import Library (assimp) # ---------------------------------------------------------------------- # -# Copyright (c) 2006-2019, assimp team +# Copyright (c) 2006-2020, assimp team # All rights reserved. diff --git a/test/regression/ai_regression_ui.py b/test/regression/ai_regression_ui.py index 063b51510..30c9b6883 100644 --- a/test/regression/ai_regression_ui.py +++ b/test/regression/ai_regression_ui.py @@ -5,7 +5,7 @@ # Open Asset Import Library (ASSIMP) # --------------------------------------------------------------------------- # -# Copyright (c) 2006-2016, ASSIMP Development Team +# Copyright (c) 2006-2020, ASSIMP Development Team # # All rights reserved. # diff --git a/test/regression/gen_db.py b/test/regression/gen_db.py index ab4e31c72..a704c3a8e 100644 --- a/test/regression/gen_db.py +++ b/test/regression/gen_db.py @@ -5,7 +5,7 @@ # Open Asset Import Library (ASSIMP) # --------------------------------------------------------------------------- # -# Copyright (c) 2006-2010, ASSIMP Development Team +# Copyright (c) 2006-2020, ASSIMP Development Team # # All rights reserved. # diff --git a/test/regression/result_checker.py b/test/regression/result_checker.py index 0155660bc..19772f8af 100644 --- a/test/regression/result_checker.py +++ b/test/regression/result_checker.py @@ -5,7 +5,7 @@ # Open Asset Import Library (ASSIMP) # --------------------------------------------------------------------------- # -# Copyright (c) 2006-2016, ASSIMP Development Team +# Copyright (c) 2006-2020, ASSIMP Development Team # # All rights reserved. # diff --git a/test/regression/run.py b/test/regression/run.py index 1ff46fb17..151d7a82e 100755 --- a/test/regression/run.py +++ b/test/regression/run.py @@ -5,7 +5,7 @@ # Open Asset Import Library (ASSIMP) # --------------------------------------------------------------------------- # -# Copyright (c) 2006-2010, ASSIMP Development Team +# Copyright (c) 2006-2020, ASSIMP Development Team # # All rights reserved. # diff --git a/test/regression/settings.py b/test/regression/settings.py index ad7e67a13..9d0a03664 100644 --- a/test/regression/settings.py +++ b/test/regression/settings.py @@ -5,7 +5,7 @@ # Open Asset Import Library (ASSIMP) # --------------------------------------------------------------------------- # -# Copyright (c) 2006-2010, ASSIMP Development Team +# Copyright (c) 2006-2020, ASSIMP Development Team # # All rights reserved. # diff --git a/test/regression/utils.py b/test/regression/utils.py index 7c759b795..f2c0c26f2 100644 --- a/test/regression/utils.py +++ b/test/regression/utils.py @@ -5,7 +5,7 @@ # Open Asset Import Library (ASSIMP) # --------------------------------------------------------------------------- # -# Copyright (c) 2006-2010, ASSIMP Development Team +# Copyright (c) 2006-2020, ASSIMP Development Team # # All rights reserved. # diff --git a/test/unit/AbstractImportExportBase.cpp b/test/unit/AbstractImportExportBase.cpp index bf89fa5d4..1e3e13fb3 100644 --- a/test/unit/AbstractImportExportBase.cpp +++ b/test/unit/AbstractImportExportBase.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/test/unit/AbstractImportExportBase.h b/test/unit/AbstractImportExportBase.h index d6ae37d60..72530aedc 100644 --- a/test/unit/AbstractImportExportBase.h +++ b/test/unit/AbstractImportExportBase.h @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/test/unit/AssimpAPITest.cpp b/test/unit/AssimpAPITest.cpp index 3e1d97314..c30f6f384 100644 --- a/test/unit/AssimpAPITest.cpp +++ b/test/unit/AssimpAPITest.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/test/unit/Common/utLineSplitter.cpp b/test/unit/Common/utLineSplitter.cpp index 2aa581add..15965904c 100644 --- a/test/unit/Common/utLineSplitter.cpp +++ b/test/unit/Common/utLineSplitter.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/test/unit/ImportExport/MDL/MDLHL1TestFiles.h b/test/unit/ImportExport/MDL/MDLHL1TestFiles.h index b4766b5e5..8a60c501a 100644 --- a/test/unit/ImportExport/MDL/MDLHL1TestFiles.h +++ b/test/unit/ImportExport/MDL/MDLHL1TestFiles.h @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/test/unit/ImportExport/MDL/utMDLImporter_HL1_ImportSettings.cpp b/test/unit/ImportExport/MDL/utMDLImporter_HL1_ImportSettings.cpp index eaf6e4eca..6411126cb 100644 --- a/test/unit/ImportExport/MDL/utMDLImporter_HL1_ImportSettings.cpp +++ b/test/unit/ImportExport/MDL/utMDLImporter_HL1_ImportSettings.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/test/unit/ImportExport/MDL/utMDLImporter_HL1_Materials.cpp b/test/unit/ImportExport/MDL/utMDLImporter_HL1_Materials.cpp index df008e115..79be7c280 100644 --- a/test/unit/ImportExport/MDL/utMDLImporter_HL1_Materials.cpp +++ b/test/unit/ImportExport/MDL/utMDLImporter_HL1_Materials.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/test/unit/ImportExport/MDL/utMDLImporter_HL1_Nodes.cpp b/test/unit/ImportExport/MDL/utMDLImporter_HL1_Nodes.cpp index 9b20b2caa..50e188833 100644 --- a/test/unit/ImportExport/MDL/utMDLImporter_HL1_Nodes.cpp +++ b/test/unit/ImportExport/MDL/utMDLImporter_HL1_Nodes.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/test/unit/ImportExport/utAssjsonImportExport.cpp b/test/unit/ImportExport/utAssjsonImportExport.cpp index 82dbf8b57..def7808c3 100644 --- a/test/unit/ImportExport/utAssjsonImportExport.cpp +++ b/test/unit/ImportExport/utAssjsonImportExport.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/test/unit/ImportExport/utCOBImportExport.cpp b/test/unit/ImportExport/utCOBImportExport.cpp index c01487c84..691ff9f3c 100644 --- a/test/unit/ImportExport/utCOBImportExport.cpp +++ b/test/unit/ImportExport/utCOBImportExport.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/test/unit/ImportExport/utExporter.cpp b/test/unit/ImportExport/utExporter.cpp index 43e711cb3..1ad1ec613 100644 --- a/test/unit/ImportExport/utExporter.cpp +++ b/test/unit/ImportExport/utExporter.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/test/unit/ImportExport/utMDLImporter.cpp b/test/unit/ImportExport/utMDLImporter.cpp index 4c7149f54..561b3009f 100644 --- a/test/unit/ImportExport/utMDLImporter.cpp +++ b/test/unit/ImportExport/utMDLImporter.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/test/unit/ImportExport/utNFFImportExport.cpp b/test/unit/ImportExport/utNFFImportExport.cpp index d2fc1df5f..f4d4b3f6a 100644 --- a/test/unit/ImportExport/utNFFImportExport.cpp +++ b/test/unit/ImportExport/utNFFImportExport.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/test/unit/ImportExport/utOFFImportExport.cpp b/test/unit/ImportExport/utOFFImportExport.cpp index eadd48b12..e642d64a2 100644 --- a/test/unit/ImportExport/utOFFImportExport.cpp +++ b/test/unit/ImportExport/utOFFImportExport.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/test/unit/ImportExport/utOgreImportExport.cpp b/test/unit/ImportExport/utOgreImportExport.cpp index 608d0b068..812bde7ce 100644 --- a/test/unit/ImportExport/utOgreImportExport.cpp +++ b/test/unit/ImportExport/utOgreImportExport.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/test/unit/ImportExport/utQ3BSPFileImportExport.cpp b/test/unit/ImportExport/utQ3BSPFileImportExport.cpp index 70d89f1d2..7cb02b3ea 100644 --- a/test/unit/ImportExport/utQ3BSPFileImportExport.cpp +++ b/test/unit/ImportExport/utQ3BSPFileImportExport.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/test/unit/ImportExport/utXGLImportExport.cpp b/test/unit/ImportExport/utXGLImportExport.cpp index 89e780e20..d4ea4f9f6 100644 --- a/test/unit/ImportExport/utXGLImportExport.cpp +++ b/test/unit/ImportExport/utXGLImportExport.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/test/unit/SceneDiffer.cpp b/test/unit/SceneDiffer.cpp index 684d9fee6..5a9184954 100644 --- a/test/unit/SceneDiffer.cpp +++ b/test/unit/SceneDiffer.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/test/unit/SceneDiffer.h b/test/unit/SceneDiffer.h index 2a8bdae33..98f7ddcdc 100644 --- a/test/unit/SceneDiffer.h +++ b/test/unit/SceneDiffer.h @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/test/unit/TestIOStream.h b/test/unit/TestIOStream.h index 3dbfc45e3..2f7280e2f 100644 --- a/test/unit/TestIOStream.h +++ b/test/unit/TestIOStream.h @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2016, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. Redistribution and use of this software in source and binary forms, diff --git a/test/unit/TestIOSystem.h b/test/unit/TestIOSystem.h index 5749df45b..25e7bc738 100644 --- a/test/unit/TestIOSystem.h +++ b/test/unit/TestIOSystem.h @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/test/unit/TestModelFactory.h b/test/unit/TestModelFactory.h index 0e48fb744..9a31a87a6 100644 --- a/test/unit/TestModelFactory.h +++ b/test/unit/TestModelFactory.h @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/test/unit/UTLogStream.h b/test/unit/UTLogStream.h index e679249df..b02dbac54 100644 --- a/test/unit/UTLogStream.h +++ b/test/unit/UTLogStream.h @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/test/unit/UnitTestFileGenerator.h b/test/unit/UnitTestFileGenerator.h index 2e4aede0f..91d69357f 100644 --- a/test/unit/UnitTestFileGenerator.h +++ b/test/unit/UnitTestFileGenerator.h @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2017, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/test/unit/UnitTestPCH.h b/test/unit/UnitTestPCH.h index 0d5f08992..d47371292 100644 --- a/test/unit/UnitTestPCH.h +++ b/test/unit/UnitTestPCH.h @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2017, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/test/unit/ut3DImportExport.cpp b/test/unit/ut3DImportExport.cpp index a3a3197cc..006fa2145 100644 --- a/test/unit/ut3DImportExport.cpp +++ b/test/unit/ut3DImportExport.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/test/unit/ut3DSImportExport.cpp b/test/unit/ut3DSImportExport.cpp index edec1d793..dce3ef88e 100644 --- a/test/unit/ut3DSImportExport.cpp +++ b/test/unit/ut3DSImportExport.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/test/unit/utACImportExport.cpp b/test/unit/utACImportExport.cpp index 192de16a0..9f627a7e0 100644 --- a/test/unit/utACImportExport.cpp +++ b/test/unit/utACImportExport.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/test/unit/utAMFImportExport.cpp b/test/unit/utAMFImportExport.cpp index 6eb0b4418..4c783db35 100644 --- a/test/unit/utAMFImportExport.cpp +++ b/test/unit/utAMFImportExport.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/test/unit/utASEImportExport.cpp b/test/unit/utASEImportExport.cpp index 313f0f83a..01bed091f 100644 --- a/test/unit/utASEImportExport.cpp +++ b/test/unit/utASEImportExport.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/test/unit/utAnim.cpp b/test/unit/utAnim.cpp index 7d4cff7d1..752b403fc 100644 --- a/test/unit/utAnim.cpp +++ b/test/unit/utAnim.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/test/unit/utArmaturePopulate.cpp b/test/unit/utArmaturePopulate.cpp index 8eb577d61..e70ed053a 100644 --- a/test/unit/utArmaturePopulate.cpp +++ b/test/unit/utArmaturePopulate.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/test/unit/utAssbinImportExport.cpp b/test/unit/utAssbinImportExport.cpp index 42504df56..b8839e4fe 100644 --- a/test/unit/utAssbinImportExport.cpp +++ b/test/unit/utAssbinImportExport.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/test/unit/utB3DImportExport.cpp b/test/unit/utB3DImportExport.cpp index ea75b1939..93b08d8a2 100644 --- a/test/unit/utB3DImportExport.cpp +++ b/test/unit/utB3DImportExport.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/test/unit/utBVHImportExport.cpp b/test/unit/utBVHImportExport.cpp index c4ed43cf8..137bcd376 100644 --- a/test/unit/utBVHImportExport.cpp +++ b/test/unit/utBVHImportExport.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/test/unit/utBatchLoader.cpp b/test/unit/utBatchLoader.cpp index 36dcbf288..c73508bf0 100644 --- a/test/unit/utBatchLoader.cpp +++ b/test/unit/utBatchLoader.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/test/unit/utBlendImportAreaLight.cpp b/test/unit/utBlendImportAreaLight.cpp index a259294aa..8d9c98d62 100644 --- a/test/unit/utBlendImportAreaLight.cpp +++ b/test/unit/utBlendImportAreaLight.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/test/unit/utBlendImportMaterials.cpp b/test/unit/utBlendImportMaterials.cpp index 151c614c0..d0676b026 100644 --- a/test/unit/utBlendImportMaterials.cpp +++ b/test/unit/utBlendImportMaterials.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/test/unit/utBlenderImportExport.cpp b/test/unit/utBlenderImportExport.cpp index b2d268497..f9c304cf2 100644 --- a/test/unit/utBlenderImportExport.cpp +++ b/test/unit/utBlenderImportExport.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/test/unit/utBlenderIntermediate.cpp b/test/unit/utBlenderIntermediate.cpp index 30f29017d..201d18e91 100644 --- a/test/unit/utBlenderIntermediate.cpp +++ b/test/unit/utBlenderIntermediate.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/test/unit/utBlenderWork.cpp b/test/unit/utBlenderWork.cpp index c0e3347ab..eb3208fe6 100644 --- a/test/unit/utBlenderWork.cpp +++ b/test/unit/utBlenderWork.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/test/unit/utCSMImportExport.cpp b/test/unit/utCSMImportExport.cpp index 7f6ae0f4e..e1b32fb6e 100644 --- a/test/unit/utCSMImportExport.cpp +++ b/test/unit/utCSMImportExport.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/test/unit/utColladaExportCamera.cpp b/test/unit/utColladaExportCamera.cpp index ff84422e5..954c19bca 100644 --- a/test/unit/utColladaExportCamera.cpp +++ b/test/unit/utColladaExportCamera.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/test/unit/utColladaExportLight.cpp b/test/unit/utColladaExportLight.cpp index c2aa17b2b..10b10852f 100644 --- a/test/unit/utColladaExportLight.cpp +++ b/test/unit/utColladaExportLight.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/test/unit/utColladaImportExport.cpp b/test/unit/utColladaImportExport.cpp index 749e57010..870c015b5 100644 --- a/test/unit/utColladaImportExport.cpp +++ b/test/unit/utColladaImportExport.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/test/unit/utD3MFImportExport.cpp b/test/unit/utD3MFImportExport.cpp index c9b17d898..a1f3e4c95 100644 --- a/test/unit/utD3MFImportExport.cpp +++ b/test/unit/utD3MFImportExport.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/test/unit/utDXFImporterExporter.cpp b/test/unit/utDXFImporterExporter.cpp index af57ffc79..922ee29b2 100644 --- a/test/unit/utDXFImporterExporter.cpp +++ b/test/unit/utDXFImporterExporter.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/test/unit/utDefaultIOStream.cpp b/test/unit/utDefaultIOStream.cpp index bfc82a620..fb65a4960 100644 --- a/test/unit/utDefaultIOStream.cpp +++ b/test/unit/utDefaultIOStream.cpp @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/test/unit/utFBXImporterExporter.cpp b/test/unit/utFBXImporterExporter.cpp index fd350850f..ab35ab768 100644 --- a/test/unit/utFBXImporterExporter.cpp +++ b/test/unit/utFBXImporterExporter.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/test/unit/utFastAtof.cpp b/test/unit/utFastAtof.cpp index ef1e72202..3eefbe3c3 100644 --- a/test/unit/utFastAtof.cpp +++ b/test/unit/utFastAtof.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/test/unit/utFindDegenerates.cpp b/test/unit/utFindDegenerates.cpp index 064031f34..d645655c0 100644 --- a/test/unit/utFindDegenerates.cpp +++ b/test/unit/utFindDegenerates.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/test/unit/utFindInvalidData.cpp b/test/unit/utFindInvalidData.cpp index 7c70a71a9..4b91104a5 100644 --- a/test/unit/utFindInvalidData.cpp +++ b/test/unit/utFindInvalidData.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/test/unit/utFixInfacingNormals.cpp b/test/unit/utFixInfacingNormals.cpp index 40b962dcb..d23064eab 100644 --- a/test/unit/utFixInfacingNormals.cpp +++ b/test/unit/utFixInfacingNormals.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/test/unit/utGenBoundingBoxesProcess.cpp b/test/unit/utGenBoundingBoxesProcess.cpp index 2c2f831bc..946bced84 100644 --- a/test/unit/utGenBoundingBoxesProcess.cpp +++ b/test/unit/utGenBoundingBoxesProcess.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/test/unit/utGenNormals.cpp b/test/unit/utGenNormals.cpp index 36f0b18bc..a51e81db6 100644 --- a/test/unit/utGenNormals.cpp +++ b/test/unit/utGenNormals.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/test/unit/utHMPImportExport.cpp b/test/unit/utHMPImportExport.cpp index 35f4583aa..899eea66c 100644 --- a/test/unit/utHMPImportExport.cpp +++ b/test/unit/utHMPImportExport.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/test/unit/utIFCImportExport.cpp b/test/unit/utIFCImportExport.cpp index 3f7cf7c8c..6e8862a2a 100644 --- a/test/unit/utIFCImportExport.cpp +++ b/test/unit/utIFCImportExport.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/test/unit/utIOStreamBuffer.cpp b/test/unit/utIOStreamBuffer.cpp index 6c6153135..10982b313 100644 --- a/test/unit/utIOStreamBuffer.cpp +++ b/test/unit/utIOStreamBuffer.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/test/unit/utIOSystem.cpp b/test/unit/utIOSystem.cpp index 80165fe79..c7bd6dc13 100644 --- a/test/unit/utIOSystem.cpp +++ b/test/unit/utIOSystem.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/test/unit/utImporter.cpp b/test/unit/utImporter.cpp index 3e88e3ff4..305d25339 100644 --- a/test/unit/utImporter.cpp +++ b/test/unit/utImporter.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/test/unit/utImproveCacheLocality.cpp b/test/unit/utImproveCacheLocality.cpp index 8564bb01d..66ce0d6d8 100644 --- a/test/unit/utImproveCacheLocality.cpp +++ b/test/unit/utImproveCacheLocality.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/test/unit/utIssues.cpp b/test/unit/utIssues.cpp index 0e30fa182..19d1815cb 100644 --- a/test/unit/utIssues.cpp +++ b/test/unit/utIssues.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/test/unit/utJoinVertices.cpp b/test/unit/utJoinVertices.cpp index 215b0dd90..e04e3af0d 100644 --- a/test/unit/utJoinVertices.cpp +++ b/test/unit/utJoinVertices.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/test/unit/utLWOImportExport.cpp b/test/unit/utLWOImportExport.cpp index c8655b664..8d970e465 100644 --- a/test/unit/utLWOImportExport.cpp +++ b/test/unit/utLWOImportExport.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/test/unit/utLWSImportExport.cpp b/test/unit/utLWSImportExport.cpp index b04424b48..e0e8b57cd 100644 --- a/test/unit/utLWSImportExport.cpp +++ b/test/unit/utLWSImportExport.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/test/unit/utLimitBoneWeights.cpp b/test/unit/utLimitBoneWeights.cpp index 927a9e37c..9dbd75836 100644 --- a/test/unit/utLimitBoneWeights.cpp +++ b/test/unit/utLimitBoneWeights.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/test/unit/utM3DImportExport.cpp b/test/unit/utM3DImportExport.cpp index 31028235d..29a4786b1 100644 --- a/test/unit/utM3DImportExport.cpp +++ b/test/unit/utM3DImportExport.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/test/unit/utMDCImportExport.cpp b/test/unit/utMDCImportExport.cpp index 30a4cfad1..fc4d6445c 100644 --- a/test/unit/utMDCImportExport.cpp +++ b/test/unit/utMDCImportExport.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/test/unit/utMaterialSystem.cpp b/test/unit/utMaterialSystem.cpp index 701b933e7..ff8960381 100644 --- a/test/unit/utMaterialSystem.cpp +++ b/test/unit/utMaterialSystem.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/test/unit/utMatrix3x3.cpp b/test/unit/utMatrix3x3.cpp index bff8ca1cd..dfd6d95b4 100644 --- a/test/unit/utMatrix3x3.cpp +++ b/test/unit/utMatrix3x3.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/test/unit/utMatrix4x4.cpp b/test/unit/utMatrix4x4.cpp index e94bf500c..8c060ffd5 100644 --- a/test/unit/utMatrix4x4.cpp +++ b/test/unit/utMatrix4x4.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/test/unit/utMetadata.cpp b/test/unit/utMetadata.cpp index 64b7dfe4c..a605107db 100644 --- a/test/unit/utMetadata.cpp +++ b/test/unit/utMetadata.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/test/unit/utNoBoostTest.cpp b/test/unit/utNoBoostTest.cpp index 51ad70ec0..cb6c391ed 100644 --- a/test/unit/utNoBoostTest.cpp +++ b/test/unit/utNoBoostTest.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2016, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/test/unit/utObjImportExport.cpp b/test/unit/utObjImportExport.cpp index b6cb72623..ba084ceb4 100644 --- a/test/unit/utObjImportExport.cpp +++ b/test/unit/utObjImportExport.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/test/unit/utObjTools.cpp b/test/unit/utObjTools.cpp index 2de45d962..1fc282808 100644 --- a/test/unit/utObjTools.cpp +++ b/test/unit/utObjTools.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/test/unit/utOpenGEXImportExport.cpp b/test/unit/utOpenGEXImportExport.cpp index 4e154f50f..bc3662997 100644 --- a/test/unit/utOpenGEXImportExport.cpp +++ b/test/unit/utOpenGEXImportExport.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/test/unit/utPLYImportExport.cpp b/test/unit/utPLYImportExport.cpp index 17d1b28de..6c3dd19f8 100644 --- a/test/unit/utPLYImportExport.cpp +++ b/test/unit/utPLYImportExport.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/test/unit/utPMXImporter.cpp b/test/unit/utPMXImporter.cpp index 62d3b0707..d70c4c64e 100644 --- a/test/unit/utPMXImporter.cpp +++ b/test/unit/utPMXImporter.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2016, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/test/unit/utPretransformVertices.cpp b/test/unit/utPretransformVertices.cpp index 0839740ac..0cfa6fabb 100644 --- a/test/unit/utPretransformVertices.cpp +++ b/test/unit/utPretransformVertices.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/test/unit/utProfiler.cpp b/test/unit/utProfiler.cpp index b86f1952c..5b5871135 100644 --- a/test/unit/utProfiler.cpp +++ b/test/unit/utProfiler.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/test/unit/utQ3DImportExport.cpp b/test/unit/utQ3DImportExport.cpp index 51fa4b70a..eefc5e774 100644 --- a/test/unit/utQ3DImportExport.cpp +++ b/test/unit/utQ3DImportExport.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/test/unit/utRemoveComments.cpp b/test/unit/utRemoveComments.cpp index cd3175f5a..1fdccf514 100644 --- a/test/unit/utRemoveComments.cpp +++ b/test/unit/utRemoveComments.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/test/unit/utRemoveComponent.cpp b/test/unit/utRemoveComponent.cpp index a1ae7ef47..f6633f6ab 100644 --- a/test/unit/utRemoveComponent.cpp +++ b/test/unit/utRemoveComponent.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/test/unit/utRemoveRedundantMaterials.cpp b/test/unit/utRemoveRedundantMaterials.cpp index 7810afbef..d5c729224 100644 --- a/test/unit/utRemoveRedundantMaterials.cpp +++ b/test/unit/utRemoveRedundantMaterials.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/test/unit/utRemoveVCProcess.cpp b/test/unit/utRemoveVCProcess.cpp index 8db5941d0..a84f84187 100644 --- a/test/unit/utRemoveVCProcess.cpp +++ b/test/unit/utRemoveVCProcess.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/test/unit/utSIBImporter.cpp b/test/unit/utSIBImporter.cpp index 582baef64..2cc0f0f8c 100644 --- a/test/unit/utSIBImporter.cpp +++ b/test/unit/utSIBImporter.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/test/unit/utSMDImportExport.cpp b/test/unit/utSMDImportExport.cpp index dae490508..464182a2d 100644 --- a/test/unit/utSMDImportExport.cpp +++ b/test/unit/utSMDImportExport.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/test/unit/utSTLImportExport.cpp b/test/unit/utSTLImportExport.cpp index 0f90aacf9..371c78cdd 100644 --- a/test/unit/utSTLImportExport.cpp +++ b/test/unit/utSTLImportExport.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/test/unit/utScaleProcess.cpp b/test/unit/utScaleProcess.cpp index fd2773c24..68ef21bf3 100644 --- a/test/unit/utScaleProcess.cpp +++ b/test/unit/utScaleProcess.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/test/unit/utScene.cpp b/test/unit/utScene.cpp index 8d630ce35..e989db7cb 100644 --- a/test/unit/utScene.cpp +++ b/test/unit/utScene.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2016, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/test/unit/utSceneCombiner.cpp b/test/unit/utSceneCombiner.cpp index e9be598e1..93b415cc7 100644 --- a/test/unit/utSceneCombiner.cpp +++ b/test/unit/utSceneCombiner.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/test/unit/utScenePreprocessor.cpp b/test/unit/utScenePreprocessor.cpp index 7233e1379..b5387caca 100644 --- a/test/unit/utScenePreprocessor.cpp +++ b/test/unit/utScenePreprocessor.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/test/unit/utSharedPPData.cpp b/test/unit/utSharedPPData.cpp index 53008a27a..43333d8e6 100644 --- a/test/unit/utSharedPPData.cpp +++ b/test/unit/utSharedPPData.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/test/unit/utSimd.cpp b/test/unit/utSimd.cpp index d6bd9fe90..58ce6b70e 100644 --- a/test/unit/utSimd.cpp +++ b/test/unit/utSimd.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/test/unit/utSortByPType.cpp b/test/unit/utSortByPType.cpp index fb637b004..390de2009 100644 --- a/test/unit/utSortByPType.cpp +++ b/test/unit/utSortByPType.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/test/unit/utSplitLargeMeshes.cpp b/test/unit/utSplitLargeMeshes.cpp index fb3f2a037..7f3578b62 100644 --- a/test/unit/utSplitLargeMeshes.cpp +++ b/test/unit/utSplitLargeMeshes.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/test/unit/utStringUtils.cpp b/test/unit/utStringUtils.cpp index 3791e8622..c5493c502 100644 --- a/test/unit/utStringUtils.cpp +++ b/test/unit/utStringUtils.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/test/unit/utTargetAnimation.cpp b/test/unit/utTargetAnimation.cpp index bbcacd2cb..52ccaaf08 100644 --- a/test/unit/utTargetAnimation.cpp +++ b/test/unit/utTargetAnimation.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/test/unit/utTextureTransform.cpp b/test/unit/utTextureTransform.cpp index bbcacd2cb..52ccaaf08 100644 --- a/test/unit/utTextureTransform.cpp +++ b/test/unit/utTextureTransform.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/test/unit/utTriangulate.cpp b/test/unit/utTriangulate.cpp index c65e24a95..c05c8f8d2 100644 --- a/test/unit/utTriangulate.cpp +++ b/test/unit/utTriangulate.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/test/unit/utTypes.cpp b/test/unit/utTypes.cpp index 6289c75e7..0e3c0a92f 100644 --- a/test/unit/utTypes.cpp +++ b/test/unit/utTypes.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/test/unit/utValidateDataStructure.cpp b/test/unit/utValidateDataStructure.cpp index 61fc93dd7..099c54d3a 100644 --- a/test/unit/utValidateDataStructure.cpp +++ b/test/unit/utValidateDataStructure.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/test/unit/utVector3.cpp b/test/unit/utVector3.cpp index adeb70615..414a2a7b5 100644 --- a/test/unit/utVector3.cpp +++ b/test/unit/utVector3.cpp @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/test/unit/utVersion.cpp b/test/unit/utVersion.cpp index 66e832baa..ca5462053 100644 --- a/test/unit/utVersion.cpp +++ b/test/unit/utVersion.cpp @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/test/unit/utVertexTriangleAdjacency.cpp b/test/unit/utVertexTriangleAdjacency.cpp index e48d3521e..0cf09a931 100644 --- a/test/unit/utVertexTriangleAdjacency.cpp +++ b/test/unit/utVertexTriangleAdjacency.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/test/unit/utX3DImportExport.cpp b/test/unit/utX3DImportExport.cpp index 2aa0ae3cc..b09311bcb 100644 --- a/test/unit/utX3DImportExport.cpp +++ b/test/unit/utX3DImportExport.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/test/unit/utXImporterExporter.cpp b/test/unit/utXImporterExporter.cpp index 53e156bcc..0ef6aba86 100644 --- a/test/unit/utXImporterExporter.cpp +++ b/test/unit/utXImporterExporter.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/test/unit/utglTF2ImportExport.cpp b/test/unit/utglTF2ImportExport.cpp index 2073a0003..8b91577f6 100644 --- a/test/unit/utglTF2ImportExport.cpp +++ b/test/unit/utglTF2ImportExport.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/test/unit/utglTFImportExport.cpp b/test/unit/utglTFImportExport.cpp index 321d58354..fe2491d66 100644 --- a/test/unit/utglTFImportExport.cpp +++ b/test/unit/utglTFImportExport.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/tools/assimp_cmd/CMakeLists.txt b/tools/assimp_cmd/CMakeLists.txt index 5ea4e1a24..ef7b7f054 100644 --- a/tools/assimp_cmd/CMakeLists.txt +++ b/tools/assimp_cmd/CMakeLists.txt @@ -1,7 +1,7 @@ # Open Asset Import Library (assimp) # ---------------------------------------------------------------------- # -# Copyright (c) 2006-2019, assimp team +# Copyright (c) 2006-2020, assimp team # All rights reserved. diff --git a/tools/assimp_cmd/CompareDump.cpp b/tools/assimp_cmd/CompareDump.cpp index db7e3aada..3250c528a 100644 --- a/tools/assimp_cmd/CompareDump.cpp +++ b/tools/assimp_cmd/CompareDump.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/tools/assimp_cmd/Export.cpp b/tools/assimp_cmd/Export.cpp index e29936e38..20dc91239 100644 --- a/tools/assimp_cmd/Export.cpp +++ b/tools/assimp_cmd/Export.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/tools/assimp_cmd/ImageExtractor.cpp b/tools/assimp_cmd/ImageExtractor.cpp index a587ab434..c587611cb 100644 --- a/tools/assimp_cmd/ImageExtractor.cpp +++ b/tools/assimp_cmd/ImageExtractor.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/tools/assimp_cmd/Info.cpp b/tools/assimp_cmd/Info.cpp index d730b9308..0f23c1f89 100644 --- a/tools/assimp_cmd/Info.cpp +++ b/tools/assimp_cmd/Info.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/tools/assimp_cmd/Main.cpp b/tools/assimp_cmd/Main.cpp index 9173a756b..ad08b0b11 100644 --- a/tools/assimp_cmd/Main.cpp +++ b/tools/assimp_cmd/Main.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/tools/assimp_cmd/Main.h b/tools/assimp_cmd/Main.h index 5dc4f7d28..460db2df9 100644 --- a/tools/assimp_cmd/Main.h +++ b/tools/assimp_cmd/Main.h @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/tools/assimp_cmd/WriteDumb.cpp b/tools/assimp_cmd/WriteDumb.cpp index 559bf08c6..5b5dfd2a1 100644 --- a/tools/assimp_cmd/WriteDumb.cpp +++ b/tools/assimp_cmd/WriteDumb.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/tools/assimp_view/AnimEvaluator.cpp b/tools/assimp_view/AnimEvaluator.cpp index 9d9481a77..710950fe2 100644 --- a/tools/assimp_view/AnimEvaluator.cpp +++ b/tools/assimp_view/AnimEvaluator.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/tools/assimp_view/AnimEvaluator.h b/tools/assimp_view/AnimEvaluator.h index 1b4d54186..9267853e1 100644 --- a/tools/assimp_view/AnimEvaluator.h +++ b/tools/assimp_view/AnimEvaluator.h @@ -4,7 +4,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/tools/assimp_view/AssetHelper.h b/tools/assimp_view/AssetHelper.h index f71d8f510..7731e44e5 100644 --- a/tools/assimp_view/AssetHelper.h +++ b/tools/assimp_view/AssetHelper.h @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2012, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/tools/assimp_view/Background.cpp b/tools/assimp_view/Background.cpp index b356a245b..e5f4e2b96 100644 --- a/tools/assimp_view/Background.cpp +++ b/tools/assimp_view/Background.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/tools/assimp_view/Background.h b/tools/assimp_view/Background.h index 54b21676f..bbefd1065 100644 --- a/tools/assimp_view/Background.h +++ b/tools/assimp_view/Background.h @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2015, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/tools/assimp_view/CMakeLists.txt b/tools/assimp_view/CMakeLists.txt index 8112c19e8..001444e0e 100644 --- a/tools/assimp_view/CMakeLists.txt +++ b/tools/assimp_view/CMakeLists.txt @@ -1,7 +1,7 @@ # Open Asset Import Library (assimp) # ---------------------------------------------------------------------- # -# Copyright (c) 2006-2019, assimp team +# Copyright (c) 2006-2020, assimp team # All rights reserved. diff --git a/tools/assimp_view/Camera.h b/tools/assimp_view/Camera.h index fa9308ed5..dd82af029 100644 --- a/tools/assimp_view/Camera.h +++ b/tools/assimp_view/Camera.h @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2012, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/tools/assimp_view/Display.cpp b/tools/assimp_view/Display.cpp index ab29c1d3e..f66f6bc92 100644 --- a/tools/assimp_view/Display.cpp +++ b/tools/assimp_view/Display.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/tools/assimp_view/Display.h b/tools/assimp_view/Display.h index 3382d38bb..f52e65e42 100644 --- a/tools/assimp_view/Display.h +++ b/tools/assimp_view/Display.h @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2012, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/tools/assimp_view/HelpDialog.cpp b/tools/assimp_view/HelpDialog.cpp index 1a9f08f5f..70b2ac866 100644 --- a/tools/assimp_view/HelpDialog.cpp +++ b/tools/assimp_view/HelpDialog.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/tools/assimp_view/Input.cpp b/tools/assimp_view/Input.cpp index 88e04b437..505433404 100644 --- a/tools/assimp_view/Input.cpp +++ b/tools/assimp_view/Input.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/tools/assimp_view/LogDisplay.cpp b/tools/assimp_view/LogDisplay.cpp index d24b9bf20..ff5ed8680 100644 --- a/tools/assimp_view/LogDisplay.cpp +++ b/tools/assimp_view/LogDisplay.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/tools/assimp_view/LogDisplay.h b/tools/assimp_view/LogDisplay.h index a6dd69fc2..e0878b841 100644 --- a/tools/assimp_view/LogDisplay.h +++ b/tools/assimp_view/LogDisplay.h @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2012, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/tools/assimp_view/LogWindow.cpp b/tools/assimp_view/LogWindow.cpp index ca9b88f95..ff6e71038 100644 --- a/tools/assimp_view/LogWindow.cpp +++ b/tools/assimp_view/LogWindow.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/tools/assimp_view/LogWindow.h b/tools/assimp_view/LogWindow.h index 5248139da..671d8be8f 100644 --- a/tools/assimp_view/LogWindow.h +++ b/tools/assimp_view/LogWindow.h @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2012, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/tools/assimp_view/Material.cpp b/tools/assimp_view/Material.cpp index 2c5316d81..0d504e9fb 100644 --- a/tools/assimp_view/Material.cpp +++ b/tools/assimp_view/Material.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/tools/assimp_view/MaterialManager.h b/tools/assimp_view/MaterialManager.h index 17e133821..fb3fcb38f 100644 --- a/tools/assimp_view/MaterialManager.h +++ b/tools/assimp_view/MaterialManager.h @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2012, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/tools/assimp_view/MeshRenderer.cpp b/tools/assimp_view/MeshRenderer.cpp index dfa249735..27bc6704f 100644 --- a/tools/assimp_view/MeshRenderer.cpp +++ b/tools/assimp_view/MeshRenderer.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/tools/assimp_view/MeshRenderer.h b/tools/assimp_view/MeshRenderer.h index e9da93f6b..38cfa6326 100644 --- a/tools/assimp_view/MeshRenderer.h +++ b/tools/assimp_view/MeshRenderer.h @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2012, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/tools/assimp_view/MessageProc.cpp b/tools/assimp_view/MessageProc.cpp index cbd8b2f1a..3000e557b 100644 --- a/tools/assimp_view/MessageProc.cpp +++ b/tools/assimp_view/MessageProc.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/tools/assimp_view/Normals.cpp b/tools/assimp_view/Normals.cpp index 0ebd3dd5b..35e89e5b1 100644 --- a/tools/assimp_view/Normals.cpp +++ b/tools/assimp_view/Normals.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/tools/assimp_view/RenderOptions.h b/tools/assimp_view/RenderOptions.h index 73468f11a..bd9e8a871 100644 --- a/tools/assimp_view/RenderOptions.h +++ b/tools/assimp_view/RenderOptions.h @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2012, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/tools/assimp_view/SceneAnimator.cpp b/tools/assimp_view/SceneAnimator.cpp index 86fe46a9c..b6f95329d 100644 --- a/tools/assimp_view/SceneAnimator.cpp +++ b/tools/assimp_view/SceneAnimator.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/tools/assimp_view/SceneAnimator.h b/tools/assimp_view/SceneAnimator.h index 00d9832b6..956edb3e3 100644 --- a/tools/assimp_view/SceneAnimator.h +++ b/tools/assimp_view/SceneAnimator.h @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/tools/assimp_view/Shaders.cpp b/tools/assimp_view/Shaders.cpp index 49ec5320d..f129b7cc6 100644 --- a/tools/assimp_view/Shaders.cpp +++ b/tools/assimp_view/Shaders.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/tools/assimp_view/Shaders.h b/tools/assimp_view/Shaders.h index 59a45ce13..506daa70b 100644 --- a/tools/assimp_view/Shaders.h +++ b/tools/assimp_view/Shaders.h @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2012, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. diff --git a/tools/assimp_view/assimp_view.cpp b/tools/assimp_view/assimp_view.cpp index 1bcdce967..b8f13b092 100644 --- a/tools/assimp_view/assimp_view.cpp +++ b/tools/assimp_view/assimp_view.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/tools/assimp_view/assimp_view.h b/tools/assimp_view/assimp_view.h index a32a62d04..3c519bb92 100644 --- a/tools/assimp_view/assimp_view.h +++ b/tools/assimp_view/assimp_view.h @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2019, assimp team +Copyright (c) 2006-2020, assimp team diff --git a/tools/assimp_view/assimp_view.rc b/tools/assimp_view/assimp_view.rc index aca323b09..48d7c3697 100644 --- a/tools/assimp_view/assimp_view.rc +++ b/tools/assimp_view/assimp_view.rc @@ -43,7 +43,7 @@ FONT 9, "Courier New", 400, 0, 0x0 BEGIN LTEXT "Open Asset Import Library (Assimp)",IDC_STATIC,30,14,144,9 LTEXT "A free C/C++ library to read various well-known 3D model formats into a straightforward in-memory format for easy processing by applications. Licensed under a 3-clause BSD license and totally awesome.",IDC_STATIC,31,34,204,24 - LTEXT "(c) 2008-2009. Assimp Development Team. See the CREDITS file for a list of all contributors.",IDC_STATIC,30,65,204,23 + LTEXT "(c) 2008-2020. Assimp Development Team. See the CREDITS file for a list of all contributors.",IDC_STATIC,30,65,204,23 CONTROL "",IDC_STATIC,"Static",SS_ETCHEDHORZ,0,27,282,1 LTEXT "http://assimp.sourceforge.net http://www.zfx.info",IDC_STATIC,31,101,127,22 DEFPUSHBUTTON "Love this library",IDOK,186,110,84,14 diff --git a/tools/coverity/assimp_modeling.cpp b/tools/coverity/assimp_modeling.cpp index cc09284f4..aeb83a259 100644 --- a/tools/coverity/assimp_modeling.cpp +++ b/tools/coverity/assimp_modeling.cpp @@ -2,7 +2,7 @@ Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2015, assimp team +Copyright (c) 2006-2020, assimp team All rights reserved. Redistribution and use of this software in source and binary forms, From 9aea72f70e3f10f7db903c24a2c19a7fd769e3b8 Mon Sep 17 00:00:00 2001 From: Marc-Antoine Lortie Date: Mon, 20 Jan 2020 09:14:04 -0500 Subject: [PATCH 064/105] Changed date in test aiGetLegalStringTest to the appropriate year. --- test/unit/utVersion.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/unit/utVersion.cpp b/test/unit/utVersion.cpp index ca5462053..aa75a26d8 100644 --- a/test/unit/utVersion.cpp +++ b/test/unit/utVersion.cpp @@ -48,7 +48,7 @@ TEST_F( utVersion, aiGetLegalStringTest ) { EXPECT_NE( lv, nullptr ); std::string text( lv ); - size_t pos( text.find( std::string( "2019" ) ) ); + size_t pos( text.find( std::string( "2020" ) ) ); EXPECT_NE( pos, std::string::npos ); } From 8619ff55b6d29176f4113fec3baf02ec0552947a Mon Sep 17 00:00:00 2001 From: Turo Lamminen Date: Tue, 21 Jan 2020 13:05:02 +0200 Subject: [PATCH 065/105] Revert broken .X test model to working version --- test/models/X/fromtruespace_bin32.x | Bin 372304 -> 372321 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/test/models/X/fromtruespace_bin32.x b/test/models/X/fromtruespace_bin32.x index d09fc15644985294205d1788cef888662e778bbd..0333a1a5d072709641d097e3c595d436b47a4caf 100644 GIT binary patch delta 258 zcmca`N9^Gpu?>B`jJ%usd`nI;@=m{A!Q3s%%f-OJ1;oq@3=H`|dLj_>ZeJkIn9d^! zlAFxQz%U7jLGpZ1KJRon6~=T`kTghY0#q8r2eHk8G)OtfSl;%UHsB`oBMrBPELPV!Q3s(#lXM?#LNr~4EaEMA`owHtYl8-5eKp+b22bY z0%DLXACy0xv5h%h3CICSOn^!Pxge%FkOrv*nb^KTg%OCEwr@~jHVC1EWk8FVzT0kZ JIl^-HB><5~EMfov From 963d47574808d5b618e3875c544708666aa209b1 Mon Sep 17 00:00:00 2001 From: Turo Lamminen Date: Tue, 21 Jan 2020 13:42:12 +0200 Subject: [PATCH 066/105] Add MD3 importer unit tests --- test/CMakeLists.txt | 1 + test/unit/ImportExport/utMD3Importer.cpp | 73 ++++++++++++++++++++++++ 2 files changed, 74 insertions(+) create mode 100644 test/unit/ImportExport/utMD3Importer.cpp diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 3d382490c..f5e87b2b6 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -129,6 +129,7 @@ SET( IMPORTERS unit/ImportExport/utNFFImportExport.cpp unit/ImportExport/utXGLImportExport.cpp unit/ImportExport/utMD2Importer.cpp + unit/ImportExport/utMD3Importer.cpp unit/ImportExport/utMD5Importer.cpp unit/ImportExport/utMDLImporter.cpp unit/ImportExport/MDL/MDLHL1TestFiles.h diff --git a/test/unit/ImportExport/utMD3Importer.cpp b/test/unit/ImportExport/utMD3Importer.cpp new file mode 100644 index 000000000..212fb6338 --- /dev/null +++ b/test/unit/ImportExport/utMD3Importer.cpp @@ -0,0 +1,73 @@ +/* +--------------------------------------------------------------------------- +Open Asset Import Library (assimp) +--------------------------------------------------------------------------- + +Copyright (c) 2006-2020, assimp team + + + +All rights reserved. + +Redistribution and use of this software in source and binary forms, +with or without modification, are permitted provided that the following +conditions are met: + +* Redistributions of source code must retain the above +copyright notice, this list of conditions and the +following disclaimer. + +* Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the +following disclaimer in the documentation and/or other +materials provided with the distribution. + +* Neither the name of the assimp team, nor the names of its +contributors may be used to endorse or promote products +derived from this software without specific prior +written permission of the assimp team. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +--------------------------------------------------------------------------- +*/ + +#include "UnitTestPCH.h" + +#include +#include +#include + + +using namespace Assimp; + + + +TEST(utMD3Importer, importWatercan) { + Assimp::Importer importer; + const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_NONBSD_DIR "/MD3/watercan.md3", aiProcess_ValidateDataStructure); + ASSERT_NE(nullptr, scene); +} + + +TEST(utMD3Importer, importWatercan_dmg) { + Assimp::Importer importer; + const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_NONBSD_DIR "/MD3/watercan_dmg.md3", aiProcess_ValidateDataStructure); + ASSERT_NE(nullptr, scene); +} + + +TEST(utMD3Importer, importEuropean_fnt_v2) { + Assimp::Importer importer; + const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_NONBSD_DIR "/MD3/q3root/models/mapobjects/kt_kubalwagon/european_fnt_v2.md3", aiProcess_ValidateDataStructure); + ASSERT_NE(nullptr, scene); +} From 2875f7fd5f04a5d541b481b867c1de1f636aa961 Mon Sep 17 00:00:00 2001 From: Turo Lamminen Date: Tue, 21 Jan 2020 13:45:40 +0200 Subject: [PATCH 067/105] Refactor XGL unit test --- test/unit/ImportExport/utXGLImportExport.cpp | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/test/unit/ImportExport/utXGLImportExport.cpp b/test/unit/ImportExport/utXGLImportExport.cpp index 89e780e20..8f5c4bdfe 100644 --- a/test/unit/ImportExport/utXGLImportExport.cpp +++ b/test/unit/ImportExport/utXGLImportExport.cpp @@ -42,22 +42,16 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #include "UnitTestPCH.h" -#include "AbstractImportExportBase.h" #include #include + using namespace Assimp; -class utXGLImportExport : public AbstractImportExportBase { -public: - virtual bool importerTest() { - Assimp::Importer importer; - const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/XGL/sample_official.xgl", 0); - return true; - return nullptr != scene; - } -}; -TEST_F(utXGLImportExport, importXGLFromFileTest) { - EXPECT_TRUE(importerTest()); +TEST(utXGLImporter, importSample_official) { + Assimp::Importer importer; + const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/XGL/sample_official.xgl", aiProcess_ValidateDataStructure); + ASSERT_NE(nullptr, scene); } + From 69284bdef931dc8134be93a0a629b10fcff7115a Mon Sep 17 00:00:00 2001 From: Turo Lamminen Date: Tue, 21 Jan 2020 13:50:11 +0200 Subject: [PATCH 068/105] Add more XGL unit tests --- test/unit/ImportExport/utXGLImportExport.cpp | 48 ++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/test/unit/ImportExport/utXGLImportExport.cpp b/test/unit/ImportExport/utXGLImportExport.cpp index 8f5c4bdfe..4cace2904 100644 --- a/test/unit/ImportExport/utXGLImportExport.cpp +++ b/test/unit/ImportExport/utXGLImportExport.cpp @@ -49,9 +49,57 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. using namespace Assimp; +TEST(utXGLImporter, importBCN_Epileptic) { + Assimp::Importer importer; + const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/XGL/BCN_Epileptic.zgl", aiProcess_ValidateDataStructure); + ASSERT_NE(nullptr, scene); +} + + +TEST(utXGLImporter, importCubesWithAlpha) { + Assimp::Importer importer; + const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/XGL/cubes_with_alpha.zgl", aiProcess_ValidateDataStructure); + ASSERT_NE(nullptr, scene); +} + + TEST(utXGLImporter, importSample_official) { Assimp::Importer importer; const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/XGL/sample_official.xgl", aiProcess_ValidateDataStructure); ASSERT_NE(nullptr, scene); } + +TEST(utXGLImporter, importSample_official_asxml) { + Assimp::Importer importer; + const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/XGL/sample_official_asxml.xml", aiProcess_ValidateDataStructure); + ASSERT_NE(nullptr, scene); +} + + +TEST(utXGLImporter, importSphereWithMatGloss) { + Assimp::Importer importer; + const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/XGL/sphere_with_mat_gloss_10pc.zgl", aiProcess_ValidateDataStructure); + ASSERT_NE(nullptr, scene); +} + + +TEST(utXGLImporter, importSpiderASCII) { + Assimp::Importer importer; + const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/XGL/Spider_ascii.zgl", aiProcess_ValidateDataStructure); + ASSERT_NE(nullptr, scene); +} + + +TEST(utXGLImporter, importWuson) { + Assimp::Importer importer; + const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/XGL/Wuson.zgl", aiProcess_ValidateDataStructure); + ASSERT_NE(nullptr, scene); +} + + +TEST(utXGLImporter, importWusonDXF) { + Assimp::Importer importer; + const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/XGL/wuson_dxf.zgl", aiProcess_ValidateDataStructure); + ASSERT_NE(nullptr, scene); +} From 461f9923a7a70425d21f51f6903758034254d572 Mon Sep 17 00:00:00 2001 From: Turo Lamminen Date: Tue, 21 Jan 2020 14:09:29 +0200 Subject: [PATCH 069/105] Refactor 3D import unit test --- test/unit/ut3DImportExport.cpp | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) diff --git a/test/unit/ut3DImportExport.cpp b/test/unit/ut3DImportExport.cpp index a3a3197cc..2d42d2829 100644 --- a/test/unit/ut3DImportExport.cpp +++ b/test/unit/ut3DImportExport.cpp @@ -42,23 +42,16 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #include "UnitTestPCH.h" -#include "SceneDiffer.h" -#include "AbstractImportExportBase.h" #include #include + using namespace Assimp; -class ut3DImportExport : public AbstractImportExportBase { -public: - virtual bool importerTest() { - Assimp::Importer importer; - const aiScene *scene = importer.ReadFile( ASSIMP_TEST_MODELS_DIR "/3D/box_a.3d", aiProcess_ValidateDataStructure ); - return nullptr != scene; - } -}; -TEST_F( ut3DImportExport, import3DFromFileTest ) { - EXPECT_TRUE( importerTest() ); +TEST(ut3DImportExport, importBoxA) { + Assimp::Importer importer; + const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/3D/box_a.3d", aiProcess_ValidateDataStructure); + ASSERT_NE(nullptr, scene); } From 0b776f16cb19c68655e5a135b0300cf190a51ffb Mon Sep 17 00:00:00 2001 From: Turo Lamminen Date: Tue, 21 Jan 2020 14:22:29 +0200 Subject: [PATCH 070/105] Add more 3D unit tests --- test/unit/ut3DImportExport.cpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/test/unit/ut3DImportExport.cpp b/test/unit/ut3DImportExport.cpp index 2d42d2829..922d8c747 100644 --- a/test/unit/ut3DImportExport.cpp +++ b/test/unit/ut3DImportExport.cpp @@ -55,3 +55,17 @@ TEST(ut3DImportExport, importBoxA) { const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/3D/box_a.3d", aiProcess_ValidateDataStructure); ASSERT_NE(nullptr, scene); } + + +TEST(ut3DImportExport, importBoxD) { + Assimp::Importer importer; + const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/3D/box_d.3d", aiProcess_ValidateDataStructure); + ASSERT_NE(nullptr, scene); +} + + +TEST(ut3DImportExport, importBoxUC) { + Assimp::Importer importer; + const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/3D/box.uc", aiProcess_ValidateDataStructure); + ASSERT_NE(nullptr, scene); +} From c407892c9c3f20ab292a79b0cc4c31c292167fca Mon Sep 17 00:00:00 2001 From: Turo Lamminen Date: Tue, 21 Jan 2020 14:43:20 +0200 Subject: [PATCH 071/105] Refactor AC unit test --- test/unit/utACImportExport.cpp | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) diff --git a/test/unit/utACImportExport.cpp b/test/unit/utACImportExport.cpp index 192de16a0..4bac8bd3b 100644 --- a/test/unit/utACImportExport.cpp +++ b/test/unit/utACImportExport.cpp @@ -42,23 +42,18 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #include "UnitTestPCH.h" -#include "SceneDiffer.h" -#include "AbstractImportExportBase.h" #include #include + using namespace Assimp; -class utACImportExport : public AbstractImportExportBase { -public: - virtual bool importerTest() { - Assimp::Importer importer; - const aiScene *scene = importer.ReadFile( ASSIMP_TEST_MODELS_DIR "/AC/Wuson.ac", aiProcess_ValidateDataStructure ); - return nullptr != scene; - } -}; -TEST_F( utACImportExport, importACFromFileTest ) { - EXPECT_TRUE( importerTest() ); +TEST(utACImportExport, importWuson) { + Assimp::Importer importer; + const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/AC/Wuson.ac", aiProcess_ValidateDataStructure); + ASSERT_NE(nullptr, scene); } + + From d4d19b7062dd1f3d20dd58e3cc76322b09feb9cf Mon Sep 17 00:00:00 2001 From: Turo Lamminen Date: Tue, 21 Jan 2020 14:48:37 +0200 Subject: [PATCH 072/105] Add more AC unit tests --- test/unit/utACImportExport.cpp | 63 ++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) diff --git a/test/unit/utACImportExport.cpp b/test/unit/utACImportExport.cpp index 4bac8bd3b..8a685056d 100644 --- a/test/unit/utACImportExport.cpp +++ b/test/unit/utACImportExport.cpp @@ -50,6 +50,63 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. using namespace Assimp; +TEST(utACImportExport, importClosedLine) { + Assimp::Importer importer; + const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/AC/closedLine.ac", aiProcess_ValidateDataStructure); + ASSERT_NE(nullptr, scene); +} + + +TEST(utACImportExport, importNoSurfaces) { + Assimp::Importer importer; + const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/AC/nosurfaces.ac", aiProcess_ValidateDataStructure); + ASSERT_NE(nullptr, scene); +} + + +TEST(utACImportExport, importOpenLine) { + Assimp::Importer importer; + const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/AC/openLine.ac", aiProcess_ValidateDataStructure); + ASSERT_NE(nullptr, scene); +} + + +TEST(utACImportExport, importSampleSubdiv) { + Assimp::Importer importer; + const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/AC/sample_subdiv.ac", aiProcess_ValidateDataStructure); + ASSERT_NE(nullptr, scene); +} + + +TEST(utACImportExport, importSphereWithLight) { + Assimp::Importer importer; + const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/AC/SphereWithLight.ac", aiProcess_ValidateDataStructure); + ASSERT_NE(nullptr, scene); +} + + +TEST(utACImportExport, importSphereWithLightUTF16) { + Assimp::Importer importer; + const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/AC/SphereWithLight_UTF16LE.ac", aiProcess_ValidateDataStructure); + // FIXME: this is probably wrong, loading the file should succeed + ASSERT_EQ(nullptr, scene); +} + + +TEST(utACImportExport, importSphereWithLightUTF8BOM) { + Assimp::Importer importer; + const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/AC/SphereWithLight_UTF8BOM.ac", aiProcess_ValidateDataStructure); + ASSERT_NE(nullptr, scene); +} + + +TEST(utACImportExport, importSphereWithLightUvScaling4X) { + Assimp::Importer importer; + const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/AC/SphereWithLightUvScaling4X.ac", aiProcess_ValidateDataStructure); + ASSERT_NE(nullptr, scene); +} + + TEST(utACImportExport, importWuson) { Assimp::Importer importer; const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/AC/Wuson.ac", aiProcess_ValidateDataStructure); @@ -57,3 +114,9 @@ TEST(utACImportExport, importWuson) { } +TEST(utACImportExport, testFormatDetection) { + Assimp::Importer importer; + const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/AC/TestFormatDetection", aiProcess_ValidateDataStructure); + ASSERT_NE(nullptr, scene); +} + From c2a74c61f40bbf0ea2a9464103fc746f3b039e8b Mon Sep 17 00:00:00 2001 From: Turo Lamminen Date: Tue, 21 Jan 2020 14:56:31 +0200 Subject: [PATCH 073/105] Add more X unit tests --- test/unit/utXImporterExporter.cpp | 77 +++++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) diff --git a/test/unit/utXImporterExporter.cpp b/test/unit/utXImporterExporter.cpp index 53e156bcc..15e19cf01 100644 --- a/test/unit/utXImporterExporter.cpp +++ b/test/unit/utXImporterExporter.cpp @@ -67,3 +67,80 @@ TEST_F( utXImporterExporter, heap_overflow_in_tokenizer ) { Assimp::Importer importer; EXPECT_NO_THROW( importer.ReadFile( ASSIMP_TEST_MODELS_DIR "/X/OV_GetNextToken", 0 ) ); } + + +TEST(utXImporter, importAnimTest) { + Assimp::Importer importer; + const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/X/anim_test.x", aiProcess_ValidateDataStructure); + ASSERT_NE(nullptr, scene); +} + + +TEST(utXImporter, importBCNEpileptic) { + Assimp::Importer importer; + const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/X/BCN_Epileptic.X", aiProcess_ValidateDataStructure); + ASSERT_NE(nullptr, scene); +} + + +TEST(utXImporter, importFromTrueSpaceBin32) { + Assimp::Importer importer; + const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/X/fromtruespace_bin32.x", aiProcess_ValidateDataStructure); + ASSERT_NE(nullptr, scene); +} + + +TEST(utXImporter, import_kwxport_test_cubewithvcolors) { + Assimp::Importer importer; + const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/X/kwxport_test_cubewithvcolors.x", aiProcess_ValidateDataStructure); + ASSERT_NE(nullptr, scene); +} + + +TEST(utXImporter, importTestCubeBinary) { + Assimp::Importer importer; + const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/X/test_cube_binary.x", aiProcess_ValidateDataStructure); + ASSERT_NE(nullptr, scene); +} + + +TEST(utXImporter, importTestCubeCompressed) { + Assimp::Importer importer; + const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/X/test_cube_compressed.x", aiProcess_ValidateDataStructure); + ASSERT_NE(nullptr, scene); +} + + +TEST(utXImporter, importTestCubeText) { + Assimp::Importer importer; + const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/X/test_cube_text.x", aiProcess_ValidateDataStructure); + ASSERT_NE(nullptr, scene); +} + + +TEST(utXImporter, importTestWuson) { + Assimp::Importer importer; + const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/X/Testwuson.X", aiProcess_ValidateDataStructure); + ASSERT_NE(nullptr, scene); +} + + +TEST(utXImporter, TestFormatDetection) { + Assimp::Importer importer; + const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/X/TestFormatDetection", aiProcess_ValidateDataStructure); + ASSERT_NE(nullptr, scene); +} + + +#if 0 // FIXME: disabled because it leaks memory + + +TEST(utXImporter, importDwarf) { + Assimp::Importer importer; + const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_NONBSD_DIR "/X/dwarf.x", aiProcess_ValidateDataStructure); + ASSERT_NE(nullptr, scene); +} + + +#endif // 0 + From e27b54f504923530f6d302a6725c5008a568f555 Mon Sep 17 00:00:00 2001 From: Kim Kulling Date: Tue, 21 Jan 2020 19:39:29 +0100 Subject: [PATCH 074/105] Update HL1MDLLoader.cpp Fix review findings. --- code/MDL/HalfLife/HL1MDLLoader.cpp | 120 ++++++++++++++++++----------- 1 file changed, 76 insertions(+), 44 deletions(-) diff --git a/code/MDL/HalfLife/HL1MDLLoader.cpp b/code/MDL/HalfLife/HL1MDLLoader.cpp index edba58617..79c7abfc2 100644 --- a/code/MDL/HalfLife/HL1MDLLoader.cpp +++ b/code/MDL/HalfLife/HL1MDLLoader.cpp @@ -125,7 +125,7 @@ void HL1MDLLoader::release_resources() { anim_headers_ = nullptr; } - // Root has some children ndoes. so let's proceed them + // Root has some children nodes. so let's proceed them if (!rootnode_children_.empty()) { // Here, it means that the nodes were not added to the // scene root node. We still have to delete them. @@ -141,7 +141,6 @@ void HL1MDLLoader::release_resources() { // ------------------------------------------------------------------------------------------------ void HL1MDLLoader::load_file() { - try { header_ = (const Header_HL1 *)buffer_; validate_header(header_, false); @@ -151,8 +150,9 @@ void HL1MDLLoader::load_file() { load_texture_file(); - if (import_settings_.read_animations) + if (import_settings_.read_animations) { load_sequence_groups_files(); + } read_textures(); read_skins(); @@ -168,14 +168,17 @@ void HL1MDLLoader::load_file() { read_sequence_transitions(); } - if (import_settings_.read_attachments) + if (import_settings_.read_attachments) { read_attachments(); + } - if (import_settings_.read_hitboxes) + if (import_settings_.read_hitboxes) { read_hitboxes(); + } - if (import_settings_.read_bone_controllers) + if (import_settings_.read_bone_controllers) { read_bone_controllers(); + } read_global_info(); @@ -202,46 +205,58 @@ void HL1MDLLoader::load_file() { void HL1MDLLoader::validate_header(const Header_HL1 *header, bool is_texture_header) { if (is_texture_header) { // Every single Half-Life model is assumed to have at least one texture. - if (!header->numtextures) + if (!header->numtextures) { throw DeadlyImportError(MDL_HALFLIFE_LOG_HEADER "There are no textures in the file"); + } - if (header->numtextures > AI_MDL_HL1_MAX_TEXTURES) + if (header->numtextures > AI_MDL_HL1_MAX_TEXTURES) { log_warning_limit_exceeded(header->numtextures, "textures"); + } - if (header->numskinfamilies > AI_MDL_HL1_MAX_SKIN_FAMILIES) + if (header->numskinfamilies > AI_MDL_HL1_MAX_SKIN_FAMILIES) { log_warning_limit_exceeded(header->numskinfamilies, "skin families"); + } } else { // Every single Half-Life model is assumed to have at least one bodypart. - if (!header->numbodyparts) + if (!header->numbodyparts) { throw DeadlyImportError(MDL_HALFLIFE_LOG_HEADER "Model has no bodyparts"); + } // Every single Half-Life model is assumed to have at least one bone. - if (!header->numbones) + if (!header->numbones) { throw DeadlyImportError(MDL_HALFLIFE_LOG_HEADER "Model has no bones"); + } // Every single Half-Life model is assumed to have at least one sequence group, // which is the "default" sequence group. - if (!header->numseqgroups) + if (!header->numseqgroups) { throw DeadlyImportError(MDL_HALFLIFE_LOG_HEADER "Model has no sequence groups"); + } - if (header->numbodyparts > AI_MDL_HL1_MAX_BODYPARTS) + if (header->numbodyparts > AI_MDL_HL1_MAX_BODYPARTS) { log_warning_limit_exceeded(header->numbodyparts, "bodyparts"); + } - if (header->numbones > AI_MDL_HL1_MAX_BONES) + if (header->numbones > AI_MDL_HL1_MAX_BONES) { log_warning_limit_exceeded(header->numbones, "bones"); + } - if (header->numbonecontrollers > AI_MDL_HL1_MAX_BONE_CONTROLLERS) + if (header->numbonecontrollers > AI_MDL_HL1_MAX_BONE_CONTROLLERS) { log_warning_limit_exceeded(header->numbonecontrollers, "bone controllers"); + } - if (header->numseq > AI_MDL_HL1_MAX_SEQUENCES) + if (header->numseq > AI_MDL_HL1_MAX_SEQUENCES) { log_warning_limit_exceeded(header->numseq, "sequences"); + } - if (header->numseqgroups > AI_MDL_HL1_MAX_SEQUENCE_GROUPS) + if (header->numseqgroups > AI_MDL_HL1_MAX_SEQUENCE_GROUPS) { log_warning_limit_exceeded(header->numseqgroups, "sequence groups"); + } - if (header->numattachments > AI_MDL_HL1_MAX_ATTACHMENTS) + if (header->numattachments > AI_MDL_HL1_MAX_ATTACHMENTS) { log_warning_limit_exceeded(header->numattachments, "attachments"); + } } } @@ -273,8 +288,7 @@ void HL1MDLLoader::load_texture_file() { load_file_into_buffer(texture_file_path, texture_buffer_); } else { - /* Model has no external texture file. This means the texture - is stored inside the main MDL file. */ + // Model has no external texture file. This means the texture is stored inside the main MDL file. texture_buffer_ = const_cast(buffer_); } @@ -301,16 +315,17 @@ void HL1MDLLoader::load_texture_file() { */ void HL1MDLLoader::load_sequence_groups_files() { - if (header_->numseqgroups <= 1) + if (header_->numseqgroups <= 1) { return; + } num_sequence_groups_ = header_->numseqgroups; anim_buffers_ = new unsigned char *[num_sequence_groups_]; anim_headers_ = new SequenceHeader_HL1 *[num_sequence_groups_]; for (int i = 0; i < num_sequence_groups_; ++i) { - anim_buffers_[i] = NULL; - anim_headers_[i] = NULL; + anim_buffers_[i] = nullptr; + anim_headers_[i] = nullptr; } std::string file_path_without_extension = @@ -344,21 +359,24 @@ void HL1MDLLoader::read_texture(const Texture_HL1 *ptexture, aiColor3D &last_palette_color) { int outwidth, outheight; int i, j; - int row1[256], row2[256], col1[256], col2[256]; + static size_t BuffenLen = 256; + int row1[BuffenLen], row2[BuffenLen], col1[BuffenLen], col2[BuffenLen]; unsigned char *pix1, *pix2, *pix3, *pix4; // convert texture to power of 2 for (outwidth = 1; outwidth < ptexture->width; outwidth <<= 1) ; - if (outwidth > 256) - outwidth = 256; + if (outwidth > BuffenLen) { + outwidth = BuffenLen; + } for (outheight = 1; outheight < ptexture->height; outheight <<= 1) ; - if (outheight > 256) - outheight = 256; + if (outheight > BuffenLen) { + outheight = BuffenLen; + } pResult->mFilename = ptexture->name; pResult->mWidth = outwidth; @@ -457,8 +475,9 @@ void HL1MDLLoader::read_textures() { // ------------------------------------------------------------------------------------------------ void HL1MDLLoader::read_skins() { // Read skins, if any. - if (texture_header_->numskinfamilies <= 1) + if (texture_header_->numskinfamilies <= 1) { return; + } // Pointer to base texture index. short *default_skin_ptr = (short *)((uint8_t *)texture_header_ + texture_header_->skinindex); @@ -482,8 +501,9 @@ void HL1MDLLoader::read_bones() { const Bone_HL1 *pbone = (const Bone_HL1 *)((uint8_t *)header_ + header_->boneindex); std::vector unique_bones_names(header_->numbones); - for (int i = 0; i < header_->numbones; ++i) + for (int i = 0; i < header_->numbones; ++i) { unique_bones_names[i] = pbone[i].name; + } // Ensure bones have unique names. unique_name_generator_.set_template_name("Bone"); @@ -600,14 +620,17 @@ void HL1MDLLoader::read_meshes() { } // Display limit infos. - if (total_verts > AI_MDL_HL1_MAX_VERTICES) + if (total_verts > AI_MDL_HL1_MAX_VERTICES) { log_warning_limit_exceeded(total_verts, "vertices"); + } - if (scene_->mNumMeshes > AI_MDL_HL1_MAX_MESHES) + if (scene_->mNumMeshes > AI_MDL_HL1_MAX_MESHES) { log_warning_limit_exceeded(scene_->mNumMeshes, "meshes"); + } - if (total_models_ > AI_MDL_HL1_MAX_MODELS) + if (total_models_ > AI_MDL_HL1_MAX_MODELS) { log_warning_limit_exceeded(total_models_, "models"); + } // Ensure bodyparts have unique names. unique_name_generator_.set_template_name("Bodypart"); @@ -934,8 +957,9 @@ void HL1MDLLoader::read_meshes() { } } - if (total_triangles > AI_MDL_HL1_MAX_TRIANGLES) + if (total_triangles > AI_MDL_HL1_MAX_TRIANGLES) { log_warning_limit_exceeded(total_triangles, "triangles"); + } } // ------------------------------------------------------------------------------------------------ @@ -976,10 +1000,11 @@ void HL1MDLLoader::read_animations() { for (int sequence = 0; sequence < header_->numseq; ++sequence, ++pseqdesc) { pseqgroup = (const SequenceGroup_HL1 *)((uint8_t *)header_ + header_->seqgroupindex) + pseqdesc->seqgroup; - if (pseqdesc->seqgroup == 0) + if (pseqdesc->seqgroup == 0) { panim = (const AnimValueOffset_HL1 *)((uint8_t *)header_ + pseqgroup->unused2 + pseqdesc->animindex); - else + } else { panim = (const AnimValueOffset_HL1 *)((uint8_t *)anim_headers_[pseqdesc->seqgroup] + pseqdesc->animindex); + } for (int blend = 0; blend < pseqdesc->numblends; ++blend, ++scene_animations_ptr) { @@ -1052,8 +1077,9 @@ void HL1MDLLoader::read_sequence_groups_info() { const SequenceGroup_HL1 *pseqgroup = (const SequenceGroup_HL1 *)((uint8_t *)header_ + header_->seqgroupindex); unique_sequence_groups_names_.resize(header_->numseqgroups); - for (int i = 0; i < header_->numseqgroups; ++i) + for (int i = 0; i < header_->numseqgroups; ++i) { unique_sequence_groups_names_[i] = pseqgroup[i].label; + } // Ensure sequence groups have unique names. unique_name_generator_.set_template_name("SequenceGroup"); @@ -1076,8 +1102,9 @@ void HL1MDLLoader::read_sequence_groups_info() { // ------------------------------------------------------------------------------------------------ void HL1MDLLoader::read_sequence_infos() { - if (!header_->numseq) + if (!header_->numseq) { return; + } const SequenceDesc_HL1 *pseqdesc = (const SequenceDesc_HL1 *)((uint8_t *)header_ + header_->seqindex); @@ -1180,8 +1207,9 @@ void HL1MDLLoader::read_sequence_infos() { // ------------------------------------------------------------------------------------------------ void HL1MDLLoader::read_sequence_transitions() { - if (!header_->numtransitions) + if (!header_->numtransitions) { return; + } // Read sequence transition graph. aiNode *transition_graph_node = new aiNode(AI_MDL_HL1_NODE_SEQUENCE_TRANSITION_GRAPH); @@ -1194,8 +1222,9 @@ void HL1MDLLoader::read_sequence_transitions() { } void HL1MDLLoader::read_attachments() { - if (!header_->numattachments) + if (!header_->numattachments) { return; + } const Attachment_HL1 *pattach = (const Attachment_HL1 *)((uint8_t *)header_ + header_->attachmentindex); @@ -1217,8 +1246,9 @@ void HL1MDLLoader::read_attachments() { // ------------------------------------------------------------------------------------------------ void HL1MDLLoader::read_hitboxes() { - if (!header_->numhitboxes) + if (!header_->numhitboxes) { return; + } const Hitbox_HL1 *phitbox = (const Hitbox_HL1 *)((uint8_t *)header_ + header_->hitboxindex); @@ -1243,8 +1273,9 @@ void HL1MDLLoader::read_hitboxes() { // ------------------------------------------------------------------------------------------------ void HL1MDLLoader::read_bone_controllers() { - if (!header_->numbonecontrollers) + if (!header_->numbonecontrollers) { return; + } const BoneController_HL1 *pbonecontroller = (const BoneController_HL1 *)((uint8_t *)header_ + header_->bonecontrollerindex); @@ -1323,10 +1354,11 @@ void HL1MDLLoader::extract_anim_value( } // Bah, missing blend! - if (panimvalue->num.valid > k) + if (panimvalue->num.valid > k) { value = panimvalue[k + 1].value * bone_scale; - else + } else { value = panimvalue[panimvalue->num.valid].value * bone_scale; + } } // ------------------------------------------------------------------------------------------------ From 6a5ab0381d0454422f98aa653d8c06b38f592a78 Mon Sep 17 00:00:00 2001 From: Kim Kulling Date: Wed, 22 Jan 2020 09:46:37 +0100 Subject: [PATCH 075/105] Update HL1MDLLoader.cpp Add missing const --- code/MDL/HalfLife/HL1MDLLoader.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/MDL/HalfLife/HL1MDLLoader.cpp b/code/MDL/HalfLife/HL1MDLLoader.cpp index 79c7abfc2..52a5a87e7 100644 --- a/code/MDL/HalfLife/HL1MDLLoader.cpp +++ b/code/MDL/HalfLife/HL1MDLLoader.cpp @@ -359,7 +359,7 @@ void HL1MDLLoader::read_texture(const Texture_HL1 *ptexture, aiColor3D &last_palette_color) { int outwidth, outheight; int i, j; - static size_t BuffenLen = 256; + static const size_t BuffenLen = 256; int row1[BuffenLen], row2[BuffenLen], col1[BuffenLen], col2[BuffenLen]; unsigned char *pix1, *pix2, *pix3, *pix4; From 3cf7d955f32f014ccaa72d6c0be8ced47e7d07b2 Mon Sep 17 00:00:00 2001 From: Kim Kulling Date: Wed, 22 Jan 2020 10:06:40 +0100 Subject: [PATCH 076/105] Update HL1MDLLoader.cpp Fix compiler warning --- code/MDL/HalfLife/HL1MDLLoader.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/MDL/HalfLife/HL1MDLLoader.cpp b/code/MDL/HalfLife/HL1MDLLoader.cpp index 52a5a87e7..f662c7eec 100644 --- a/code/MDL/HalfLife/HL1MDLLoader.cpp +++ b/code/MDL/HalfLife/HL1MDLLoader.cpp @@ -374,7 +374,7 @@ void HL1MDLLoader::read_texture(const Texture_HL1 *ptexture, for (outheight = 1; outheight < ptexture->height; outheight <<= 1) ; - if (outheight > BuffenLen) { + if (static_cast(outheight) > BuffenLen) { outheight = BuffenLen; } From 288a638a835ce3727d6c1c939b461e2956b5284d Mon Sep 17 00:00:00 2001 From: Turo Lamminen Date: Wed, 22 Jan 2020 12:19:05 +0200 Subject: [PATCH 077/105] X: Only create animation key arrays if there are some keys --- code/X/XFileImporter.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/code/X/XFileImporter.cpp b/code/X/XFileImporter.cpp index 122033b08..ff4ee1378 100644 --- a/code/X/XFileImporter.cpp +++ b/code/X/XFileImporter.cpp @@ -513,6 +513,7 @@ void XFileImporter::CreateAnimations( aiScene* pScene, const XFile::Scene* pData } else { // separate key sequences for position, rotation, scaling nbone->mNumPositionKeys = (unsigned int)bone->mPosKeys.size(); + if (nbone->mNumPositionKeys != 0) { nbone->mPositionKeys = new aiVectorKey[nbone->mNumPositionKeys]; for( unsigned int c = 0; c < nbone->mNumPositionKeys; ++c ) { aiVector3D pos = bone->mPosKeys[c].mValue; @@ -520,9 +521,11 @@ void XFileImporter::CreateAnimations( aiScene* pScene, const XFile::Scene* pData nbone->mPositionKeys[c].mTime = bone->mPosKeys[c].mTime; nbone->mPositionKeys[c].mValue = pos; } + } // rotation nbone->mNumRotationKeys = (unsigned int)bone->mRotKeys.size(); + if (nbone->mNumRotationKeys != 0) { nbone->mRotationKeys = new aiQuatKey[nbone->mNumRotationKeys]; for( unsigned int c = 0; c < nbone->mNumRotationKeys; ++c ) { aiMatrix3x3 rotmat = bone->mRotKeys[c].mValue.GetMatrix(); @@ -531,12 +534,15 @@ void XFileImporter::CreateAnimations( aiScene* pScene, const XFile::Scene* pData nbone->mRotationKeys[c].mValue = aiQuaternion( rotmat); nbone->mRotationKeys[c].mValue.w *= -1.0f; // needs quat inversion } + } // scaling nbone->mNumScalingKeys = (unsigned int)bone->mScaleKeys.size(); + if (nbone->mNumScalingKeys != 0) { nbone->mScalingKeys = new aiVectorKey[nbone->mNumScalingKeys]; for( unsigned int c = 0; c < nbone->mNumScalingKeys; c++) nbone->mScalingKeys[c] = bone->mScaleKeys[c]; + } // longest lasting key sequence determines duration if( bone->mPosKeys.size() > 0) From aee292e367658c5410d0a61a6ec1a4825c93eff6 Mon Sep 17 00:00:00 2001 From: Turo Lamminen Date: Wed, 22 Jan 2020 12:20:34 +0200 Subject: [PATCH 078/105] Whitespace --- code/X/XFileImporter.cpp | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/code/X/XFileImporter.cpp b/code/X/XFileImporter.cpp index ff4ee1378..70c6869b3 100644 --- a/code/X/XFileImporter.cpp +++ b/code/X/XFileImporter.cpp @@ -514,34 +514,34 @@ void XFileImporter::CreateAnimations( aiScene* pScene, const XFile::Scene* pData // separate key sequences for position, rotation, scaling nbone->mNumPositionKeys = (unsigned int)bone->mPosKeys.size(); if (nbone->mNumPositionKeys != 0) { - nbone->mPositionKeys = new aiVectorKey[nbone->mNumPositionKeys]; - for( unsigned int c = 0; c < nbone->mNumPositionKeys; ++c ) { - aiVector3D pos = bone->mPosKeys[c].mValue; + nbone->mPositionKeys = new aiVectorKey[nbone->mNumPositionKeys]; + for( unsigned int c = 0; c < nbone->mNumPositionKeys; ++c ) { + aiVector3D pos = bone->mPosKeys[c].mValue; - nbone->mPositionKeys[c].mTime = bone->mPosKeys[c].mTime; - nbone->mPositionKeys[c].mValue = pos; - } + nbone->mPositionKeys[c].mTime = bone->mPosKeys[c].mTime; + nbone->mPositionKeys[c].mValue = pos; + } } // rotation nbone->mNumRotationKeys = (unsigned int)bone->mRotKeys.size(); if (nbone->mNumRotationKeys != 0) { - nbone->mRotationKeys = new aiQuatKey[nbone->mNumRotationKeys]; - for( unsigned int c = 0; c < nbone->mNumRotationKeys; ++c ) { - aiMatrix3x3 rotmat = bone->mRotKeys[c].mValue.GetMatrix(); + nbone->mRotationKeys = new aiQuatKey[nbone->mNumRotationKeys]; + for( unsigned int c = 0; c < nbone->mNumRotationKeys; ++c ) { + aiMatrix3x3 rotmat = bone->mRotKeys[c].mValue.GetMatrix(); - nbone->mRotationKeys[c].mTime = bone->mRotKeys[c].mTime; - nbone->mRotationKeys[c].mValue = aiQuaternion( rotmat); - nbone->mRotationKeys[c].mValue.w *= -1.0f; // needs quat inversion - } + nbone->mRotationKeys[c].mTime = bone->mRotKeys[c].mTime; + nbone->mRotationKeys[c].mValue = aiQuaternion( rotmat); + nbone->mRotationKeys[c].mValue.w *= -1.0f; // needs quat inversion + } } // scaling nbone->mNumScalingKeys = (unsigned int)bone->mScaleKeys.size(); if (nbone->mNumScalingKeys != 0) { - nbone->mScalingKeys = new aiVectorKey[nbone->mNumScalingKeys]; - for( unsigned int c = 0; c < nbone->mNumScalingKeys; c++) - nbone->mScalingKeys[c] = bone->mScaleKeys[c]; + nbone->mScalingKeys = new aiVectorKey[nbone->mNumScalingKeys]; + for( unsigned int c = 0; c < nbone->mNumScalingKeys; c++) + nbone->mScalingKeys[c] = bone->mScaleKeys[c]; } // longest lasting key sequence determines duration From 1edb52c0de4006f7f0383670ef12aacedfd4edeb Mon Sep 17 00:00:00 2001 From: Turo Lamminen Date: Wed, 22 Jan 2020 12:20:49 +0200 Subject: [PATCH 079/105] ScenePreprocessor: Assert some properties about animation channels --- code/Common/ScenePreprocessor.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/code/Common/ScenePreprocessor.cpp b/code/Common/ScenePreprocessor.cpp index 432a3d766..a47053de4 100644 --- a/code/Common/ScenePreprocessor.cpp +++ b/code/Common/ScenePreprocessor.cpp @@ -217,6 +217,7 @@ void ScenePreprocessor::ProcessAnimation (aiAnimation* anim) // No rotation keys? Generate a dummy track if (!channel->mNumRotationKeys) { + ai_assert(!channel->mRotationKeys); channel->mNumRotationKeys = 1; channel->mRotationKeys = new aiQuatKey[1]; aiQuatKey& q = channel->mRotationKeys[0]; @@ -225,10 +226,13 @@ void ScenePreprocessor::ProcessAnimation (aiAnimation* anim) q.mValue = rotation; ASSIMP_LOG_DEBUG("ScenePreprocessor: Dummy rotation track has been generated"); + } else { + ai_assert(channel->mRotationKeys); } // No scaling keys? Generate a dummy track if (!channel->mNumScalingKeys) { + ai_assert(!channel->mScalingKeys); channel->mNumScalingKeys = 1; channel->mScalingKeys = new aiVectorKey[1]; aiVectorKey& q = channel->mScalingKeys[0]; @@ -237,10 +241,13 @@ void ScenePreprocessor::ProcessAnimation (aiAnimation* anim) q.mValue = scaling; ASSIMP_LOG_DEBUG("ScenePreprocessor: Dummy scaling track has been generated"); + } else { + ai_assert(channel->mScalingKeys); } // No position keys? Generate a dummy track if (!channel->mNumPositionKeys) { + ai_assert(!channel->mPositionKeys); channel->mNumPositionKeys = 1; channel->mPositionKeys = new aiVectorKey[1]; aiVectorKey& q = channel->mPositionKeys[0]; @@ -249,6 +256,8 @@ void ScenePreprocessor::ProcessAnimation (aiAnimation* anim) q.mValue = position; ASSIMP_LOG_DEBUG("ScenePreprocessor: Dummy position track has been generated"); + } else { + ai_assert(channel->mPositionKeys); } } } From a74e13d6b27a08f314e701eaca910a3f5e247802 Mon Sep 17 00:00:00 2001 From: Turo Lamminen Date: Wed, 22 Jan 2020 12:22:08 +0200 Subject: [PATCH 080/105] Re-enable dwarf.x import test --- test/unit/utXImporterExporter.cpp | 7 ------- 1 file changed, 7 deletions(-) diff --git a/test/unit/utXImporterExporter.cpp b/test/unit/utXImporterExporter.cpp index 15e19cf01..2c6830978 100644 --- a/test/unit/utXImporterExporter.cpp +++ b/test/unit/utXImporterExporter.cpp @@ -132,15 +132,8 @@ TEST(utXImporter, TestFormatDetection) { } -#if 0 // FIXME: disabled because it leaks memory - - TEST(utXImporter, importDwarf) { Assimp::Importer importer; const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_NONBSD_DIR "/X/dwarf.x", aiProcess_ValidateDataStructure); ASSERT_NE(nullptr, scene); } - - -#endif // 0 - From 2ebafe06938b9e06bae67f793c8ca36fc0f80457 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc?= Date: Wed, 22 Jan 2020 12:40:57 +0100 Subject: [PATCH 081/105] Fix version revision formatting in glTF metadata --- code/glTF/glTFExporter.cpp | 2 +- code/glTF2/glTF2Exporter.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/code/glTF/glTFExporter.cpp b/code/glTF/glTFExporter.cpp index 4772c7dc6..cf891203a 100644 --- a/code/glTF/glTFExporter.cpp +++ b/code/glTF/glTFExporter.cpp @@ -869,7 +869,7 @@ void glTFExporter::ExportMetadata() asset.version = "1.0"; char buffer[256]; - ai_snprintf(buffer, 256, "Open Asset Import Library (assimp v%d.%d.%d)", + ai_snprintf(buffer, 256, "Open Asset Import Library (assimp v%d.%d.%x)", aiGetVersionMajor(), aiGetVersionMinor(), aiGetVersionRevision()); asset.generator = buffer; diff --git a/code/glTF2/glTF2Exporter.cpp b/code/glTF2/glTF2Exporter.cpp index ee40694f9..16ba69b9f 100644 --- a/code/glTF2/glTF2Exporter.cpp +++ b/code/glTF2/glTF2Exporter.cpp @@ -991,7 +991,7 @@ void glTF2Exporter::ExportMetadata() asset.version = "2.0"; char buffer[256]; - ai_snprintf(buffer, 256, "Open Asset Import Library (assimp v%d.%d.%d)", + ai_snprintf(buffer, 256, "Open Asset Import Library (assimp v%d.%d.%x)", aiGetVersionMajor(), aiGetVersionMinor(), aiGetVersionRevision()); asset.generator = buffer; From 3e8a33aae3c65432213914b561fcf855477ba9e2 Mon Sep 17 00:00:00 2001 From: Marc-Antoine Lortie Date: Wed, 22 Jan 2020 10:02:38 -0500 Subject: [PATCH 082/105] Fixed wrong texture format used in HL1 MDL loader. --- code/MDL/HalfLife/HL1MDLLoader.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/MDL/HalfLife/HL1MDLLoader.cpp b/code/MDL/HalfLife/HL1MDLLoader.cpp index 90a1479a3..cc8d004f2 100644 --- a/code/MDL/HalfLife/HL1MDLLoader.cpp +++ b/code/MDL/HalfLife/HL1MDLLoader.cpp @@ -346,9 +346,9 @@ void HL1MDLLoader::read_texture(const Texture_HL1 *ptexture, pResult->mFilename = ptexture->name; pResult->mWidth = outwidth; pResult->mHeight = outheight; - pResult->achFormatHint[0] = 'b'; + pResult->achFormatHint[0] = 'r'; pResult->achFormatHint[1] = 'g'; - pResult->achFormatHint[2] = 'r'; + pResult->achFormatHint[2] = 'b'; pResult->achFormatHint[3] = 'a'; pResult->achFormatHint[4] = '8'; pResult->achFormatHint[5] = '8'; From 5b09758f15716ec81f271465c8d7c488170b3257 Mon Sep 17 00:00:00 2001 From: Kim Kulling Date: Thu, 23 Jan 2020 15:04:07 +0100 Subject: [PATCH 083/105] Update HL1MDLLoader.cpp Fix compiler warning --- code/MDL/HalfLife/HL1MDLLoader.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/MDL/HalfLife/HL1MDLLoader.cpp b/code/MDL/HalfLife/HL1MDLLoader.cpp index f662c7eec..ad4db204f 100644 --- a/code/MDL/HalfLife/HL1MDLLoader.cpp +++ b/code/MDL/HalfLife/HL1MDLLoader.cpp @@ -367,7 +367,7 @@ void HL1MDLLoader::read_texture(const Texture_HL1 *ptexture, for (outwidth = 1; outwidth < ptexture->width; outwidth <<= 1) ; - if (outwidth > BuffenLen) { + if ((size_t)outwidth > BuffenLen) { outwidth = BuffenLen; } From e5698312536cfc3bd3437e465796ab1439c8b8e4 Mon Sep 17 00:00:00 2001 From: Kim Kulling Date: Thu, 23 Jan 2020 16:20:34 +0100 Subject: [PATCH 084/105] Update HL1MDLLoader.cpp Fix possible x64 issue. --- code/MDL/HalfLife/HL1MDLLoader.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/MDL/HalfLife/HL1MDLLoader.cpp b/code/MDL/HalfLife/HL1MDLLoader.cpp index 0e44ff3ac..06ffd7801 100644 --- a/code/MDL/HalfLife/HL1MDLLoader.cpp +++ b/code/MDL/HalfLife/HL1MDLLoader.cpp @@ -367,7 +367,7 @@ void HL1MDLLoader::read_texture(const Texture_HL1 *ptexture, for (outwidth = 1; outwidth < ptexture->width; outwidth <<= 1) ; - if ((size_t)outwidth > BuffenLen) { + if ( outwidth > static_cast(BuffenLen)) { outwidth = BuffenLen; } From 770c82262183c169255f2f1c5a3989fbf02c15b3 Mon Sep 17 00:00:00 2001 From: Marc-Antoine Lortie Date: Thu, 23 Jan 2020 15:26:49 -0500 Subject: [PATCH 085/105] Updated places to achFormatHint referencing array size. --- code/Assbin/AssbinExporter.cpp | 3 ++- code/Assbin/AssbinLoader.cpp | 2 +- code/PostProcessing/ValidateDataStructure.cpp | 2 +- include/assimp/texture.h | 3 +-- tools/assimp_cmd/CompareDump.cpp | 4 ++++ tools/assimp_cmd/WriteDumb.cpp | 3 ++- 6 files changed, 11 insertions(+), 6 deletions(-) diff --git a/code/Assbin/AssbinExporter.cpp b/code/Assbin/AssbinExporter.cpp index aa0c246be..86a42c400 100644 --- a/code/Assbin/AssbinExporter.cpp +++ b/code/Assbin/AssbinExporter.cpp @@ -413,7 +413,8 @@ protected: Write(&chunk,tex->mWidth); Write(&chunk,tex->mHeight); - chunk.Write( tex->achFormatHint, sizeof(char), 4 ); + // Write the texture format, but don't include the null terminator. + chunk.Write( tex->achFormatHint, sizeof(char), HINTMAXTEXTURELEN - 1 ); if(!shortened) { if (!tex->mHeight) { diff --git a/code/Assbin/AssbinLoader.cpp b/code/Assbin/AssbinLoader.cpp index 8a9751018..71e35cb6a 100644 --- a/code/Assbin/AssbinLoader.cpp +++ b/code/Assbin/AssbinLoader.cpp @@ -535,7 +535,7 @@ void AssbinImporter::ReadBinaryTexture(IOStream * stream, aiTexture* tex) { tex->mWidth = Read(stream); tex->mHeight = Read(stream); - stream->Read( tex->achFormatHint, sizeof(char), 4 ); + stream->Read( tex->achFormatHint, sizeof(char), HINTMAXTEXTURELEN - 1 ); if(!shortened) { if (!tex->mHeight) { diff --git a/code/PostProcessing/ValidateDataStructure.cpp b/code/PostProcessing/ValidateDataStructure.cpp index 36c33b29c..a812efb0b 100644 --- a/code/PostProcessing/ValidateDataStructure.cpp +++ b/code/PostProcessing/ValidateDataStructure.cpp @@ -798,7 +798,7 @@ void ValidateDSProcess::Validate( const aiTexture* pTexture) if (!pTexture->mWidth) { ReportError("aiTexture::mWidth is zero (compressed texture)"); } - if ('\0' != pTexture->achFormatHint[3]) { + if ('\0' != pTexture->achFormatHint[HINTMAXTEXTURELEN - 1]) { ReportWarning("aiTexture::achFormatHint must be zero-terminated"); } else if ('.' == pTexture->achFormatHint[0]) { diff --git a/include/assimp/texture.h b/include/assimp/texture.h index 274185a30..5a4486431 100644 --- a/include/assimp/texture.h +++ b/include/assimp/texture.h @@ -207,8 +207,7 @@ struct aiTexture { , mHeight(0) , pcData(nullptr) , mFilename() { - achFormatHint[0] = achFormatHint[1] = 0; - achFormatHint[2] = achFormatHint[3] = 0; + memset(achFormatHint, 0, sizeof(achFormatHint)); } // Destruction diff --git a/tools/assimp_cmd/CompareDump.cpp b/tools/assimp_cmd/CompareDump.cpp index 3250c528a..86a9cfe4c 100644 --- a/tools/assimp_cmd/CompareDump.cpp +++ b/tools/assimp_cmd/CompareDump.cpp @@ -800,6 +800,10 @@ void CompareOnTheFlyTexture(comparer_context& comp) { comp.cmp("achFormatHint[1]"); comp.cmp("achFormatHint[2]"); comp.cmp("achFormatHint[3]"); + comp.cmp("achFormatHint[4]"); + comp.cmp("achFormatHint[5]"); + comp.cmp("achFormatHint[6]"); + comp.cmp("achFormatHint[7]"); } //////////////////////////////////////////////////////////////////////////////////////////////////// diff --git a/tools/assimp_cmd/WriteDumb.cpp b/tools/assimp_cmd/WriteDumb.cpp index 5b5dfd2a1..b4c22a439 100644 --- a/tools/assimp_cmd/WriteDumb.cpp +++ b/tools/assimp_cmd/WriteDumb.cpp @@ -312,7 +312,8 @@ uint32_t WriteBinaryTexture(const aiTexture* tex) len += Write(tex->mWidth); len += Write(tex->mHeight); - len += static_cast(fwrite(tex->achFormatHint,1,4,out)); + // Write the texture format, but don't include the null terminator. + len += static_cast(fwrite(tex->achFormatHint,sizeof(char),HINTMAXTEXTURELEN - 1,out)); if(!shortened) { if (!tex->mHeight) { From 48bb2978afa17c95d11df75701535e3ab0ed4266 Mon Sep 17 00:00:00 2001 From: Marc-Antoine Lortie Date: Fri, 24 Jan 2020 13:14:37 -0500 Subject: [PATCH 086/105] Added support to load HL1 MDL external texture files directly. --- code/MDL/HalfLife/HL1MDLLoader.cpp | 35 +++++++++++++----------- test/unit/ImportExport/utMDLImporter.cpp | 15 ++++++++-- 2 files changed, 32 insertions(+), 18 deletions(-) diff --git a/code/MDL/HalfLife/HL1MDLLoader.cpp b/code/MDL/HalfLife/HL1MDLLoader.cpp index 06ffd7801..a53004eb5 100644 --- a/code/MDL/HalfLife/HL1MDLLoader.cpp +++ b/code/MDL/HalfLife/HL1MDLLoader.cpp @@ -182,6 +182,13 @@ void HL1MDLLoader::load_file() { read_global_info(); + if (!header_->numbodyparts) { + // This could be an MDL external texture file. In this case, + // add this flag to allow the scene to be loaded even if it + // has no meshes. + scene_->mFlags |= AI_SCENE_FLAGS_INCOMPLETE; + } + // Append children to root node. if (rootnode_children_.size()) { scene_->mRootNode->addChildren( @@ -218,21 +225,6 @@ void HL1MDLLoader::validate_header(const Header_HL1 *header, bool is_texture_hea } } else { - // Every single Half-Life model is assumed to have at least one bodypart. - if (!header->numbodyparts) { - throw DeadlyImportError(MDL_HALFLIFE_LOG_HEADER "Model has no bodyparts"); - } - - // Every single Half-Life model is assumed to have at least one bone. - if (!header->numbones) { - throw DeadlyImportError(MDL_HALFLIFE_LOG_HEADER "Model has no bones"); - } - - // Every single Half-Life model is assumed to have at least one sequence group, - // which is the "default" sequence group. - if (!header->numseqgroups) { - throw DeadlyImportError(MDL_HALFLIFE_LOG_HEADER "Model has no sequence groups"); - } if (header->numbodyparts > AI_MDL_HL1_MAX_BODYPARTS) { log_warning_limit_exceeded(header->numbodyparts, "bodyparts"); @@ -498,6 +490,10 @@ void HL1MDLLoader::read_skins() { // ------------------------------------------------------------------------------------------------ void HL1MDLLoader::read_bones() { + if (!header_->numbones) { + return; + } + const Bone_HL1 *pbone = (const Bone_HL1 *)((uint8_t *)header_ + header_->boneindex); std::vector unique_bones_names(header_->numbones); @@ -588,6 +584,9 @@ void HL1MDLLoader::read_bones() { triangles, respectively (3 indices per face). */ void HL1MDLLoader::read_meshes() { + if (!header_->numbodyparts) { + return; + } int total_verts = 0; int total_triangles = 0; @@ -964,8 +963,9 @@ void HL1MDLLoader::read_meshes() { // ------------------------------------------------------------------------------------------------ void HL1MDLLoader::read_animations() { - if (!header_->numseq) + if (!header_->numseq) { return; + } const SequenceDesc_HL1 *pseqdesc = (const SequenceDesc_HL1 *)((uint8_t *)header_ + header_->seqindex); const SequenceGroup_HL1 *pseqgroup = nullptr; @@ -1067,6 +1067,9 @@ void HL1MDLLoader::read_animations() { // ------------------------------------------------------------------------------------------------ void HL1MDLLoader::read_sequence_groups_info() { + if (!header_->numseqgroups) { + return; + } aiNode *sequence_groups_node = new aiNode(AI_MDL_HL1_NODE_SEQUENCE_GROUPS); rootnode_children_.push_back(sequence_groups_node); diff --git a/test/unit/ImportExport/utMDLImporter.cpp b/test/unit/ImportExport/utMDLImporter.cpp index 561b3009f..aa188fd86 100644 --- a/test/unit/ImportExport/utMDLImporter.cpp +++ b/test/unit/ImportExport/utMDLImporter.cpp @@ -57,13 +57,24 @@ public: virtual bool importerTest() { Assimp::Importer importer; - const aiScene *scene = importer.ReadFile(MDL_HL1_FILE_MAN, 0); - EXPECT_NE(nullptr, scene); + importerTest_HL1(&importer); // Add further MDL tests... return true; } + +private: + void importerTest_HL1(Assimp::Importer* const importer) { + const aiScene *scene = importer->ReadFile(MDL_HL1_FILE_MAN, 0); + EXPECT_NE(nullptr, scene); + + // Test that the importer can directly load an HL1 MDL external texture file. + scene = importer->ReadFile(ASSIMP_TEST_MDL_HL1_MODELS_DIR "manT.mdl", aiProcess_ValidateDataStructure); + EXPECT_NE(nullptr, scene); + EXPECT_NE(0, scene->mNumTextures); + EXPECT_NE(0, scene->mNumMaterials); + } }; TEST_F(utMDLImporter, importMDLFromFileTest) { From fc4ae3586e1112648a356c3985b4293ee1d71a52 Mon Sep 17 00:00:00 2001 From: Kim Kulling Date: Sat, 25 Jan 2020 11:31:14 +0100 Subject: [PATCH 087/105] Update utMDLImporter.cpp unittests: Fix compiler warning: comparison between signed and unsigned. --- test/unit/ImportExport/utMDLImporter.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/unit/ImportExport/utMDLImporter.cpp b/test/unit/ImportExport/utMDLImporter.cpp index aa188fd86..b9a850175 100644 --- a/test/unit/ImportExport/utMDLImporter.cpp +++ b/test/unit/ImportExport/utMDLImporter.cpp @@ -72,8 +72,8 @@ private: // Test that the importer can directly load an HL1 MDL external texture file. scene = importer->ReadFile(ASSIMP_TEST_MDL_HL1_MODELS_DIR "manT.mdl", aiProcess_ValidateDataStructure); EXPECT_NE(nullptr, scene); - EXPECT_NE(0, scene->mNumTextures); - EXPECT_NE(0, scene->mNumMaterials); + EXPECT_NE(0u, scene->mNumTextures); + EXPECT_NE(0u, scene->mNumMaterials); } }; From b23c0b06378bc5b004c3de634a22a45a050edd40 Mon Sep 17 00:00:00 2001 From: Marc-Antoine Lortie Date: Sun, 26 Jan 2020 13:10:21 -0500 Subject: [PATCH 088/105] Uniformized error codes (return values) in assimp_cmd. --- tools/assimp_cmd/CompareDump.cpp | 16 +++--- tools/assimp_cmd/Export.cpp | 10 ++-- tools/assimp_cmd/ImageExtractor.cpp | 20 ++++---- tools/assimp_cmd/Info.cpp | 12 ++--- tools/assimp_cmd/Main.cpp | 26 +++++----- tools/assimp_cmd/Main.h | 77 ++++++++++++++++++++++++++--- tools/assimp_cmd/WriteDumb.cpp | 10 ++-- 7 files changed, 118 insertions(+), 53 deletions(-) diff --git a/tools/assimp_cmd/CompareDump.cpp b/tools/assimp_cmd/CompareDump.cpp index 86a9cfe4c..282097016 100644 --- a/tools/assimp_cmd/CompareDump.cpp +++ b/tools/assimp_cmd/CompareDump.cpp @@ -885,19 +885,19 @@ int Assimp_CompareDump (const char* const* params, unsigned int num) // --help if ((num == 1 && !strcmp( params[0], "-h")) || !strcmp( params[0], "--help") || !strcmp( params[0], "-?") ) { printf("%s",AICMD_MSG_CMPDUMP_HELP); - return 0; + return AssimpCmdError::Success; } // assimp cmpdump actual expected if (num < 2) { std::cout << "assimp cmpdump: Invalid number of arguments. " "See \'assimp cmpdump --help\'\r\n" << std::endl; - return 1; + return AssimpCmdError::InvalidNumberOfArguments; } if(!strcmp(params[0],params[1])) { std::cout << "assimp cmpdump: same file, same content." << std::endl; - return 0; + return AssimpCmdError::Success; } class file_ptr @@ -924,13 +924,13 @@ int Assimp_CompareDump (const char* const* params, unsigned int num) if (!actual) { std::cout << "assimp cmpdump: Failure reading ACTUAL data from " << params[0] << std::endl; - return -5; + return AssimpCmdError::FailedToLoadInputFile; } file_ptr expected(fopen(params[1],"rb")); if (!expected) { std::cout << "assimp cmpdump: Failure reading EXPECT data from " << params[1] << std::endl; - return -6; + return AssimpCmdCompareDumpError::FailedToLoadExpectedInputFile; } comparer_context comp(actual,expected); @@ -940,17 +940,17 @@ int Assimp_CompareDump (const char* const* params, unsigned int num) } catch(const compare_fails_exception& ex) { printf("%s",ex.what()); - return -1; + return AssimpCmdCompareDumpError::FileComparaisonFailure; } catch(...) { // we don't bother checking too rigourously here, so // we might end up here ... std::cout << "Unknown failure, are the input files well-defined?"; - return -3; + return AssimpCmdCompareDumpError::UnknownFailure; } std::cout << "Success (totally " << std::dec << comp.get_num_chunks() << " chunks)" << std::endl; - return 0; + return AssimpCmdError::Success; } diff --git a/tools/assimp_cmd/Export.cpp b/tools/assimp_cmd/Export.cpp index 20dc91239..65653c558 100644 --- a/tools/assimp_cmd/Export.cpp +++ b/tools/assimp_cmd/Export.cpp @@ -76,13 +76,13 @@ int Assimp_Export(const char* const* params, unsigned int num) const char* const invalid = "assimp export: Invalid number of arguments. See \'assimp export --help\'\n"; if (num < 1) { printf(invalid); - return 1; + return AssimpCmdError::InvalidNumberOfArguments; } // --help if (!strcmp( params[0], "-h") || !strcmp( params[0], "--help") || !strcmp( params[0], "-?") ) { printf("%s",AICMD_MSG_EXPORT_HELP_E); - return 0; + return AssimpCmdError::Success; } std::string in = std::string(params[0]); @@ -156,7 +156,7 @@ int Assimp_Export(const char* const* params, unsigned int num) // import the model const aiScene* scene = ImportModel(import,in); if (!scene) { - return -39; + return AssimpCmdExportError::FailedToImportModel; } // derive the final file name @@ -164,10 +164,10 @@ int Assimp_Export(const char* const* params, unsigned int num) // and call the export routine if(!ExportModel(scene, import, out,e->id)) { - return -25; + return AssimpCmdExportError::FailedToExportModel; } printf("assimp export: wrote output file: %s\n",out.c_str()); - return 0; + return AssimpCmdError::Success; } #endif // no export diff --git a/tools/assimp_cmd/ImageExtractor.cpp b/tools/assimp_cmd/ImageExtractor.cpp index c587611cb..8c3841838 100644 --- a/tools/assimp_cmd/ImageExtractor.cpp +++ b/tools/assimp_cmd/ImageExtractor.cpp @@ -219,9 +219,9 @@ int DoExport(const aiTexture* tx, FILE* p, const std::string& extension, } else { printf("assimp extract: No available texture encoder found for %s\n", extension.c_str()); - return 1; + return AssimpCmdExtractError::NoAvailableTextureEncoderFound; } - return 0; + return AssimpCmdError::Success; } // ----------------------------------------------------------------------------------- @@ -232,13 +232,13 @@ int Assimp_Extract (const char* const* params, unsigned int num) // assimp extract in out [options] if (num < 1) { printf(invalid); - return 1; + return AssimpCmdError::InvalidNumberOfArguments; } // --help if (!strcmp( params[0], "-h") || !strcmp( params[0], "--help") || !strcmp( params[0], "-?") ) { printf("%s",AICMD_MSG_DUMP_HELP_E); - return 0; + return AssimpCmdError::Success; } @@ -308,7 +308,7 @@ int Assimp_Extract (const char* const* params, unsigned int num) const aiScene* scene = ImportModel(import,in); if (!scene) { printf("assimp extract: Unable to load input file %s\n",in.c_str()); - return 5; + return AssimpCmdError::FailedToLoadInputFile; } // get the texture(s) to be exported @@ -318,7 +318,7 @@ int Assimp_Extract (const char* const* params, unsigned int num) if (texIdx >= scene->mNumTextures) { ::printf("assimp extract: Texture %i requested, but there are just %i textures\n", texIdx, scene->mNumTextures); - return 6; + return AssimpCmdExtractError::TextureIndexIsOutOfRange; } } else { @@ -358,12 +358,14 @@ int Assimp_Extract (const char* const* params, unsigned int num) FILE* p = ::fopen(out_cpy.c_str(),"wb"); if (!p) { printf("assimp extract: Unable to open output file %s\n",out_cpy.c_str()); - return 7; + return AssimpCmdError::FailedToOpenOutputFile; } int m; if (!tex->mHeight) { - m = (1 != fwrite(tex->pcData,tex->mWidth,1,p)); + m = (1 != fwrite(tex->pcData,tex->mWidth,1,p)) + ? AssimpCmdError::Success + : AssimpCmdExtractError::FailedToExportCompressedTexture; } else m = DoExport(tex,p,extension,flags); ::fclose(p); @@ -372,5 +374,5 @@ int Assimp_Extract (const char* const* params, unsigned int num) if (texIdx != 0xffffffff) return m; } - return 0; + return AssimpCmdError::Success; } diff --git a/tools/assimp_cmd/Info.cpp b/tools/assimp_cmd/Info.cpp index 0f23c1f89..1594235f9 100644 --- a/tools/assimp_cmd/Info.cpp +++ b/tools/assimp_cmd/Info.cpp @@ -283,14 +283,14 @@ int Assimp_Info (const char* const* params, unsigned int num) { // --help if (!strcmp( params[0],"-h")||!strcmp( params[0],"--help")||!strcmp( params[0],"-?") ) { printf("%s",AICMD_MSG_INFO_HELP_E); - return 0; + return AssimpCmdError::Success; } // asssimp info [-r] if (num < 1) { printf("assimp info: Invalid number of arguments. " "See \'assimp info --help\'\n"); - return 1; + return AssimpCmdError::InvalidNumberOfArguments; } const std::string in = std::string(params[0]); @@ -314,7 +314,7 @@ int Assimp_Info (const char* const* params, unsigned int num) { // Verbose and silent at the same time are not allowed if ( verbose && silent ) { printf("assimp info: Invalid arguments, verbose and silent at the same time are forbitten. "); - return 1; + return AssimpCmdInfoError::InvalidCombinaisonOfArguments; } // Parse post-processing flags unless -r was specified @@ -333,7 +333,7 @@ int Assimp_Info (const char* const* params, unsigned int num) { if (!scene) { printf("assimp info: Unable to load input file %s\n", in.c_str()); - return 5; + return AssimpCmdError::FailedToLoadInputFile; } aiMemoryInfo mem; @@ -391,7 +391,7 @@ int Assimp_Info (const char* const* params, unsigned int num) { if (silent) { printf("\n"); - return 0; + return AssimpCmdError::Success; } // meshes @@ -473,5 +473,5 @@ int Assimp_Info (const char* const* params, unsigned int num) { PrintHierarchy(scene->mRootNode,"",verbose); printf("\n"); - return 0; + return AssimpCmdError::Success; } diff --git a/tools/assimp_cmd/Main.cpp b/tools/assimp_cmd/Main.cpp index ad08b0b11..1037bd73c 100644 --- a/tools/assimp_cmd/Main.cpp +++ b/tools/assimp_cmd/Main.cpp @@ -85,7 +85,7 @@ int main (int argc, char* argv[]) { if (argc <= 1) { printf("assimp: No command specified. Use \'assimp help\' for a detailed command list\n"); - return 0; + return AssimpCmdError::Success; } // assimp version @@ -102,7 +102,7 @@ int main (int argc, char* argv[]) (flags & ASSIMP_CFLAGS_STLPORT ? "-stlport " : ""), aiGetVersionRevision()); - return 0; + return AssimpCmdError::Success; } // assimp help @@ -110,7 +110,7 @@ int main (int argc, char* argv[]) // because people could try them intuitively) if (!strcmp(argv[1], "help") || !strcmp(argv[1], "--help") || !strcmp(argv[1], "-h")) { printf("%s",AICMD_MSG_HELP); - return 0; + return AssimpCmdError::Success; } // assimp cmpdump @@ -137,7 +137,7 @@ int main (int argc, char* argv[]) imp.GetExtensionList(s); printf("%s\n",s.data); - return 0; + return AssimpCmdError::Success; } #ifndef ASSIMP_BUILD_NO_EXPORT @@ -155,7 +155,7 @@ int main (int argc, char* argv[]) } printf("%s\n",s.data); - return 0; + return AssimpCmdError::Success; } @@ -166,19 +166,19 @@ int main (int argc, char* argv[]) if (argc<3) { printf("Expected file format id\n"); - return -11; + return AssimpCmdError::NoFileFormatSpecified; } for(size_t i = 0, end = exp.GetExportFormatCount(); i < end; ++i) { const aiExportFormatDesc* const e = exp.GetExportFormatDescription(i); if (!strcmp(e->id,argv[2])) { printf("%s\n%s\n%s\n",e->id,e->fileExtension,e->description); - return 0; + return AssimpCmdError::Success; } } printf("Unknown file format id: \'%s\'\n",argv[2]); - return -12; + return AssimpCmdError::UnknownFileFormat; } // assimp export @@ -194,11 +194,11 @@ int main (int argc, char* argv[]) if (! strcmp(argv[1], "knowext")) { if (argc<3) { printf("Expected file extension"); - return -10; + return AssimpCmdError::NoFileExtensionSpecified; } const bool b = imp.IsExtensionSupported(argv[2]); printf("File extension \'%s\' is %sknown\n",argv[2],(b?"":"not ")); - return b?0:-1; + return b? AssimpCmdError::Success : AssimpCmdError::UnknownFileExtension; } // assimp info @@ -228,7 +228,7 @@ int main (int argc, char* argv[]) } printf("Unrecognized command. Use \'assimp help\' for a detailed command list\n"); - return 1; + return AssimpCmdError::UnrecognizedCommand; } @@ -505,7 +505,7 @@ int ProcessStandardArguments( fill.log = true; } - return 0; + return AssimpCmdError::Success; } // ------------------------------------------------------------------------------ @@ -517,5 +517,5 @@ int Assimp_TestBatchLoad ( globalImporter->ReadFile(params[i],aiProcessPreset_TargetRealtime_MaxQuality); // we're totally silent. scene destructs automatically. } - return 0; + return AssimpCmdError::Success; } diff --git a/tools/assimp_cmd/Main.h b/tools/assimp_cmd/Main.h index 460db2df9..bd070102c 100644 --- a/tools/assimp_cmd/Main.h +++ b/tools/assimp_cmd/Main.h @@ -114,13 +114,31 @@ struct ImportData { bool log; }; +/// \enum AssimpCmdError +/// \brief General error codes used among assimp_cmd's utilities. +enum AssimpCmdError { + Success = 0, + InvalidNumberOfArguments, + UnrecognizedCommand, + FailedToLoadInputFile, + FailedToOpenOutputFile, + NoFileFormatSpecified, + UnknownFileFormat, + NoFileExtensionSpecified, + UnknownFileExtension, + + // Add new error codes here... + + LastAssimpCmdError, // Must be last. +}; + // ------------------------------------------------------------------------------ /** Process standard arguments * * @param fill Filled by function * @param params Command line parameters to be processed * @param num NUmber of params - * @return 0 for success */ + * @return An #AssimpCmdError value. */ int ProcessStandardArguments(ImportData& fill, const char* const* params, unsigned int num); @@ -151,43 +169,88 @@ bool ExportModel(const aiScene* pOut, /** assimp_dump utility * @param params Command line parameters to 'assimp dumb' * @param Number of params - * @return 0 for success*/ + * @return An #AssimpCmdError value.*/ int Assimp_Dump ( const char* const* params, unsigned int num); +/// \enum AssimpCmdExportError +/// \brief Error codes used by the 'Export' utility. +enum AssimpCmdExportError { + FailedToImportModel = AssimpCmdError::LastAssimpCmdError, + FailedToExportModel, + + // Add new error codes here... + + LastAssimpCmdExportError, // Must be last. +}; + // ------------------------------------------------------------------------------ /** assimp_export utility * @param params Command line parameters to 'assimp export' * @param Number of params - * @return 0 for success*/ + * @return Either an #AssimpCmdError or #AssimpCmdExportError value. */ int Assimp_Export ( const char* const* params, unsigned int num); +/// \enum AssimpCmdExtractError +/// \brief Error codes used by the 'Image Extractor' utility. +enum AssimpCmdExtractError { + TextureIndexIsOutOfRange = AssimpCmdError::LastAssimpCmdError, + NoAvailableTextureEncoderFound, + FailedToExportCompressedTexture, + + // Add new error codes here... + + LastAssimpCmdExtractError, // Must be last. +}; + // ------------------------------------------------------------------------------ /** assimp_extract utility * @param params Command line parameters to 'assimp extract' * @param Number of params - * @return 0 for success*/ + * @return Either an #AssimpCmdError or #AssimpCmdExtractError value. */ int Assimp_Extract ( const char* const* params, unsigned int num); +/// \enum AssimpCmdCompareDumpError +/// \brief Error codes used by the 'Compare Dump' utility. +enum AssimpCmdCompareDumpError { + FailedToLoadExpectedInputFile = AssimpCmdError::LastAssimpCmdError, + FileComparaisonFailure, + UnknownFailure, + + // Add new error codes here... + + LastAssimpCmdCompareDumpError, // Must be last. +}; + // ------------------------------------------------------------------------------ /** assimp_cmpdump utility * @param params Command line parameters to 'assimp cmpdump' * @param Number of params - * @return 0 for success*/ + * @return Either an #AssimpCmdError or #AssimpCmdCompareDumpError. */ int Assimp_CompareDump ( const char* const* params, unsigned int num); +/// \enum AssimpCmdInfoError +/// \brief Error codes used by the 'Info' utility. +enum AssimpCmdInfoError { + InvalidCombinaisonOfArguments = AssimpCmdError::LastAssimpCmdError, + + // Add new error codes here... + + LastAssimpCmdInfoError, // Must be last. +}; + // ------------------------------------------------------------------------------ /** @brief assimp info utility * @param params Command line parameters to 'assimp info' * @param Number of params - * @return 0 for success */ + * @return Either an #AssimpCmdError or #AssimpCmdInfoError value. */ int Assimp_Info ( const char* const* params, unsigned int num); @@ -196,7 +259,7 @@ int Assimp_Info ( /** @brief assimp testbatchload utility * @param params Command line parameters to 'assimp testbatchload' * @param Number of params - * @return 0 for success */ + * @return An #AssimpCmdError value. */ int Assimp_TestBatchLoad ( const char* const* params, unsigned int num); diff --git a/tools/assimp_cmd/WriteDumb.cpp b/tools/assimp_cmd/WriteDumb.cpp index b4c22a439..f019cfd6e 100644 --- a/tools/assimp_cmd/WriteDumb.cpp +++ b/tools/assimp_cmd/WriteDumb.cpp @@ -1341,13 +1341,13 @@ int Assimp_Dump (const char* const* params, unsigned int num) // --help if (!strcmp( params[0], "-h") || !strcmp( params[0], "--help") || !strcmp( params[0], "-?") ) { printf("%s",AICMD_MSG_DUMP_HELP); - return 0; + return AssimpCmdError::Success; } // asssimp dump in out [options] if (num < 1) { printf("%s", fail); - return 1; + return AssimpCmdError::InvalidNumberOfArguments; } std::string in = std::string(params[0]); @@ -1405,14 +1405,14 @@ int Assimp_Dump (const char* const* params, unsigned int num) const aiScene* scene = ImportModel(import,in); if (!scene) { printf("assimp dump: Unable to load input file %s\n",in.c_str()); - return 5; + return AssimpCmdError::FailedToLoadInputFile; } // open the output file and build the dump FILE* o = ::fopen(out.c_str(),(binary ? "wb" : "wt")); if (!o) { printf("assimp dump: Unable to open output file %s\n",out.c_str()); - return 12; + return AssimpCmdError::FailedToOpenOutputFile; } if (binary) { @@ -1426,6 +1426,6 @@ int Assimp_Dump (const char* const* params, unsigned int num) } printf("assimp dump: Wrote output dump %s\n",out.c_str()); - return 0; + return AssimpCmdError::Success; } From ab284f7996c06fd3ba19bba2b8c8417dcd228c21 Mon Sep 17 00:00:00 2001 From: Marc-Antoine Lortie Date: Sun, 26 Jan 2020 14:02:16 -0500 Subject: [PATCH 089/105] Fixed enumeral mismatch error in build. --- tools/assimp_cmd/ImageExtractor.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/assimp_cmd/ImageExtractor.cpp b/tools/assimp_cmd/ImageExtractor.cpp index 8c3841838..62fa94f59 100644 --- a/tools/assimp_cmd/ImageExtractor.cpp +++ b/tools/assimp_cmd/ImageExtractor.cpp @@ -364,8 +364,8 @@ int Assimp_Extract (const char* const* params, unsigned int num) if (!tex->mHeight) { m = (1 != fwrite(tex->pcData,tex->mWidth,1,p)) - ? AssimpCmdError::Success - : AssimpCmdExtractError::FailedToExportCompressedTexture; + ? static_cast(AssimpCmdError::Success) + : static_cast(AssimpCmdExtractError::FailedToExportCompressedTexture); } else m = DoExport(tex,p,extension,flags); ::fclose(p); From 9e1eba7912c678a2f5ecf4ebaeed96a18b0f2d58 Mon Sep 17 00:00:00 2001 From: tellypresence Date: Mon, 27 Jan 2020 19:58:05 +0900 Subject: [PATCH 090/105] Revert image files corrupted by a8a1ca9 --- test/models-nonbsd/3DS/m_rifl.bmp | Bin 196623 -> 196662 bytes .../AMF/screenshot_3_bananas.jpeg | Bin 46917 -> 46918 bytes test/models-nonbsd/B3D/turtle1.png | Bin 270901 -> 270905 bytes .../FBX/2013_ASCII/duck_sample.jpg | Bin 14222 -> 14223 bytes test/models-nonbsd/FBX/2013_ASCII/m_rifl.bmp | Bin 196623 -> 196662 bytes .../IRR/skybox/default_skybox3.jpg | Bin 36116 -> 36117 bytes .../IRR/skybox/default_skyboxdn.jpg | Bin 11148 -> 11149 bytes .../IRR/skybox/default_skyboxup.jpg | Bin 9451 -> 9452 bytes .../mapobjects/kt_kubalwagon/euro_frnt_2.tga | Bin 279871 -> 280115 bytes .../mapobjects/kt_kubalwagon/european_fnt.tga | Bin 784342 -> 786450 bytes test/models-nonbsd/MD3/water_can.tga | Bin 98318 -> 98322 bytes test/models-nonbsd/MD5/guard1_body.png | Bin 233427 -> 233429 bytes test/models-nonbsd/MD5/guard1_face.png | Bin 121148 -> 121149 bytes test/models-nonbsd/MD5/guard1_helmet.png | Bin 47478 -> 47481 bytes test/models-nonbsd/MD5/iron_grill.png | Bin 65145 -> 65146 bytes test/models-nonbsd/MD5/round_grill.png | Bin 48668 -> 48671 bytes .../MDL/MDL7 (3DGS A7)/branchD_texture.png | Bin 126437 -> 126438 bytes test/models-nonbsd/Ogre/OgreSDK/fish.jpg | Bin 71255 -> 71256 bytes test/models/3DS/CWALL02.jpg | Bin 165339 -> 165342 bytes test/models/3DS/IMAGE2.jpg | Bin 283208 -> 283212 bytes .../UVTransformTest/UVTransformTestImg.png | Bin 3494 -> 3495 bytes test/models/3DS/test.png | Bin 23698 -> 23700 bytes test/models/Collada/duck_sample.jpg | Bin 14222 -> 14223 bytes test/models/Collada/teapots_reference.png | Bin 183471 -> 183476 bytes test/models/IRRMesh/1.png | Bin 28973 -> 28975 bytes .../LWO/LWO2/MappingModes/earthCylindric.jpg | Bin 624829 -> 624832 bytes .../LWO/LWO2/MappingModes/earthSpherical.jpg | Bin 422117 -> 422120 bytes test/models/LWO/LWO2/boxuv.png | Bin 14079 -> 14080 bytes test/models/LWO/LWO2/uvtest.png | Bin 16300 -> 16301 bytes test/models/MD2/faerie2.bmp | Bin 43527 -> 43538 bytes test/models/MD2/sydney.bmp | Bin 60516 -> 60522 bytes test/models/Ogre/TheThing/Reference.JPG | Bin 26714 -> 26718 bytes .../MappingModes/cylindrical.png | Bin 264669 -> 264673 bytes .../MappingModes/spherical.png | Bin 322844 -> 322849 bytes .../UVTransform/UVTransform_Normal.png | Bin 34367 -> 34368 bytes .../UVTransform_OffsetUV0.5-clampUV.png | Bin 39356 -> 39357 bytes .../UVTransform_OffsetUV0.5-mirrorUV.png | Bin 48964 -> 48965 bytes .../UVTransform/UVTransform_OffsetUV0.5.png | Bin 34622 -> 34623 bytes ...orm_ScaleUV1-2_OffsetUV0-0.9_Rotate-72.png | Bin 105642 -> 105643 bytes ...eUV1-2_OffsetUV0-0.9_Rotate-72_mirrorU.png | Bin 130735 -> 130740 bytes ...nsform_ScaleUV10-2_OffsetUV10-mirrorUV.png | Bin 97350 -> 97351 bytes .../UVTransform/UVTransform_ScaleUV2x.png | Bin 50278 -> 50279 bytes .../UVTransform_ScaleUV2x_Rotate45.png | Bin 111073 -> 111075 bytes test/models/SIB/This Way Up.png | Bin 5921 -> 5922 bytes test/models/SIB/UV Mapping.png | Bin 7068 -> 7069 bytes test/models/X/bottom.tga | Bin 196147 -> 196652 bytes test/models/X/test.png | Bin 23698 -> 23700 bytes test/models/X/top.tga | Bin 195683 -> 196652 bytes .../CesiumLogoFlat.png | Bin 22050 -> 22051 bytes .../glTF/BoxTextured-glTF/CesiumLogoFlat.png | Bin 22050 -> 22051 bytes .../glTF/CesiumMilkTruck/CesiumMilkTruck.png | Bin 923268 -> 923282 bytes .../CesiumLogoFlat.png | Bin 2432 -> 2433 bytes .../CesiumLogoFlat.png | Bin 2432 -> 2433 bytes .../glTF2/BoxTextured-glTF/CesiumLogoFlat.png | Bin 2432 -> 2433 bytes 54 files changed, 0 insertions(+), 0 deletions(-) diff --git a/test/models-nonbsd/3DS/m_rifl.bmp b/test/models-nonbsd/3DS/m_rifl.bmp index bb27dadb29f644d88b0c79a7f8a24665e7f4ed10..fc1d8c2819c1e0233782a2abd624a37e3e2cf56d 100644 GIT binary patch delta 278 zcmeBg;Mvx|v!O?rg_nz)cXOZcXC_A8&5dGa+(2r(qPPS^{DLJ&d~&0h$mZ)df9-&B zSE?^*vV-(+aq(_mwNyP2D0cDNab6}~-t9A37)|OJdAFZwV%*Qe%*(|vIq`w=_6_}v zt8IWzXKy2#4L%L_7UyS)n2AD}(kt<{;hnSr#M7LzvzP>P3# zgNK`gi-(hoclsP7CR0Y<=@*TdQo(N9Zeh%n!z2b&B*e=vDI_W@CJjUqLSllv{Jhh5 zm@*Xt4bn7YYS#qP8{(O6@c`+r942i>AiXu0i4$ny^nLkE%0Sb2c(*^!XVRGf0KEW2 A^Z)<= delta 220 zcmdniz|-Hrv!O?riHm#l1mVw2n_I-pxHs=s6qf*rT(bmh?iedNK{r#8i*u>!~}Wyr{6GTD%|d6#?-F4{Zc&BEuQUbbC|Rlx8KZV;$)is RIG;(GiHm1DR{@jG1OV2BL81Tv diff --git a/test/models-nonbsd/AMF/screenshot_3_bananas.jpeg b/test/models-nonbsd/AMF/screenshot_3_bananas.jpeg index faa2cac85098fbf03c0e4d1fcb45be9920f9fc13..976fcb03bcd63e85e399d5d643b0bf4c8999db79 100644 GIT binary patch delta 16 XcmX^5j_KGtrVYkLjJ%tTi-cSOLR1ER delta 14 VcmX^1j_K$-rVYkLn@x&@Tmd+Q25|rY diff --git a/test/models-nonbsd/B3D/turtle1.png b/test/models-nonbsd/B3D/turtle1.png index fbdcfb5b7938201eb192dc71502ba85745114725..42c43db31edc2e4da608708f218148ae146c2f85 100644 GIT binary patch delta 50 zcmdmbL}2F;0oKj{KX=}ZEKS^uyqnv&XRtH!Hp>aO%Ly|AG1GQAVdkW7jJ(?$I9awz F0052*4q*TQ delta 43 ycmdmaL}2R?0hZ1HKlhESP28J1xM#38D+;$O3Nr#R({@E+=A>`iTR2&^N&o;+*$zAa diff --git a/test/models-nonbsd/FBX/2013_ASCII/duck_sample.jpg b/test/models-nonbsd/FBX/2013_ASCII/duck_sample.jpg index 953d3e5fcd3313466c4246e7366da4c8fc19ea39..9ce7a59ca4539152ef2a08f67ef6d2d1b7c6c0f4 100644 GIT binary patch delta 14 VcmeCn@6X?`T9T1>^J>Y*vH&kf1@!;` delta 12 TcmeCr@5|q?T5|Im$;Yw)C>RCk diff --git a/test/models-nonbsd/FBX/2013_ASCII/m_rifl.bmp b/test/models-nonbsd/FBX/2013_ASCII/m_rifl.bmp index bb27dadb29f644d88b0c79a7f8a24665e7f4ed10..fc1d8c2819c1e0233782a2abd624a37e3e2cf56d 100644 GIT binary patch delta 278 zcmeBg;Mvx|v!O?rg_nz)cXOZcXC_A8&5dGa+(2r(qPPS^{DLJ&d~&0h$mZ)df9-&B zSE?^*vV-(+aq(_mwNyP2D0cDNab6}~-t9A37)|OJdAFZwV%*Qe%*(|vIq`w=_6_}v zt8IWzXKy2#4L%L_7UyS)n2AD}(kt<{;hnSr#M7LzvzP>P3# zgNK`gi-(hoclsP7CR0Y<=@*TdQo(N9Zeh%n!z2b&B*e=vDI_W@CJjUqLSllv{Jhh5 zm@*Xt4bn7YYS#qP8{(O6@c`+r942i>AiXu0i4$ny^nLkE%0Sb2c(*^!XVRGf0KEW2 A^Z)<= delta 220 zcmdniz|-Hrv!O?riHm#l1mVw2n_I-pxHs=s6qf*rT(bmh?iedNK{r#8i*u>!~}Wyr{6GTD%|d6#?-F4{Zc&BEuQUbbC|Rlx8KZV;$)is RIG;(GiHm1DR{@jG1OV2BL81Tv diff --git a/test/models-nonbsd/IRR/skybox/default_skybox3.jpg b/test/models-nonbsd/IRR/skybox/default_skybox3.jpg index c7dfe7c70a17c0fdd163934a51f24a91746e777b..e8107ff999877167133c1c32eb004b0f073c768b 100644 GIT binary patch delta 14 WcmbO-i)rdCrU`D0yc^xl^#A}U`~{Z) delta 12 UcmbO_i)qR%rU`Bv-Ou#^03u5TiU0rr diff --git a/test/models-nonbsd/IRR/skybox/default_skyboxdn.jpg b/test/models-nonbsd/IRR/skybox/default_skyboxdn.jpg index 8eb9870840eb981a27b8260747094ac32e28676c..af66a6176b2ff92a472b656017bce0c9cf6c24ee 100644 GIT binary patch delta 12 TcmeAP?+u?2&B(hk+E5z+9*_hn delta 10 RcmeAT?+Kp}y)nj68vq#S1RMYW diff --git a/test/models-nonbsd/IRR/skybox/default_skyboxup.jpg b/test/models-nonbsd/IRR/skybox/default_skyboxup.jpg index 730e5ec3eefbbd504f8ec203add25b2147409114..7959709fa3707a33010a76b4ec8acf815375e390 100644 GIT binary patch delta 12 TcmaFu`NnfXG$ZfE=m{zSCRqg| delta 10 RcmaFk`Py?r^v0M8DgYmC1r`7R diff --git a/test/models-nonbsd/MD3/q3root/models/mapobjects/kt_kubalwagon/euro_frnt_2.tga b/test/models-nonbsd/MD3/q3root/models/mapobjects/kt_kubalwagon/euro_frnt_2.tga index 3bb9f5097b73b231065e48c5986a33a186ef1aa5..47ff6d6208d3663502b0ca472fb86cd175137e10 100644 GIT binary patch delta 1777 zcmY*ZYitx%6wZC@Yj*C;mMtRkSV|kIlmG$|(3Wgz#Ybrnk*8J)G(0OCGy-j?1~3R1rA;&`2|n7W0p)f5&Mf|Lli736IXo2`IPow?U~bh)F0-h2!vlsBkje3nX0Tsjq-S1g@{Osz{-2}2o% zwxR|dXOt~~wXAHI$hw0o5)Nu364KEKFajSXvy@4RQstWw99*%1O0KGS1p}V)uXvm?#tB=F&GcO^es0O zwkTpmxlJ|W$b6`_mk%McWko?+M4OaJrS{d$LyCdA9>jFi?+8Lk?nE)E)XrjiOm%8LUZ15i1*s#6w!9Li{iH)DGEb$e7Tk&Hr>!n&meavK0%u?D$k(Nb1?`D{J!Y|y9gE=YNOlUaz0@1MqAN2vGQ4EP}{ z^BI?*%GsD?Pg-e;(`=yHQ%QCJG1Z0a7k;M zt8wTZ1I$F5y_1@~gW>eb8Q)?-p0jxa?SD3tmk)#N%;Qr6kb{$Xmyg1m#zRzZ=X4$? z$Ju-y3KKv6y-;3nF<%)bl*v*~SIO&}$5%2k6wc=j!F&AI0d1ix6^~guMuTY5i{bpV zn72@1-4Z^BjyU-=F9sIJDCZl=UR};F!|p7v;A2Uzui)D$POjzsm{sq}W^T@h|LSr6 zNV#9TxsVtxtka*y&$bLF5fugQnDI|B@78&Ki@3agk&lo$2(!>ugrq;{ z3aRKLyT5iGxWw_qeq45m&&I~GgeWS6+*gh#5wdlyu&EgbDn*AKqK*dycdBYcmh(k7 zm(HFVQGi-b*NEv5!CFy7WdrQoT9F`THq;4!IM=`GCv?^|ifnqejR>AbBbWvVJ#&by zhh}EbAbr#*5=8omH^p*f$k{E5i1Rgj#VV+$_KFr717~fs_yl_VZL!UU+_PVtTn)Lz zmJbr*J#l%1vNYW-2cgyum)D7zts~?`Mx@f4jC-+Yl)MIW>1ertW@%rx6u2K~LondH zpOm}2`|p)Asa@;GNsWMYx$-j2)DwAfo=?ye*-9H{&5-FklAkYaJbO+_vHa^_B~cI7 delta 1400 zcmYLJeQXp(6wkbwyWQK{+udugsX(O^iWFLc&=9ClxrQqiX#=&z(xgZ!ARtAmHi8Ki zkPmC6DY%dUHMEJEXf#?J;i+l-NW@A?RFEhp2>wB6BZ}1!5K9=}9vV0MGBa=9*YC}5 zM(vG%+7a*VF7SH_)+%%I9?$P8$x-i=Jj{Jwx=rmY^@M+*Y?9wsHbo7Vt>&t-e1xlt zg}Gw1rR}JxZOhcLXhgfQXnLfj>+h;sV9+E=qQ0wY<|TkC#;B$n1*(2OM7li$4MMNRbT9HslQ)g{VHx+mUf~Rh0kAJqqZ#1=Kj9M zT)(&RDV4u+11(lRr!v=^6>4aGH~8(%9V&CctBs9idTe}Wr39#5vtzO?UhpC^RIRjzxB&F)xI*F-EZ5JT0a-xJjqHPN4pWVLL z&)+eihIi}<`g*% zNApc}>+{Dzt^I-=)_rxG8+R&oRLiLwoKr5<{4Ln3<@_t2vVR+i`sU3GYUpM^sNP$3 z0!_vi39JpVi#&&nEgh6aLNm{a5vC|rOB+}lVaS6%(oc9Cc~^{$_sB9D`PU=RVr7gS z;qr>dl2{aHx4A6LV!1&XxFn1HVz}fGF+)1UnYL(-m3OnNJkVNZn0CU%j6j>m{^W7e z250(zPOP2Ceh)yoSTUImaG99OiqpX>r!pNtPuGjJ)0rW#VJ3T?FY%K-D3@Ai>z+L6gWa3a2bOW|8fhLB(RzpWP zn|SI{*NCf`o})c7b!<|}eaqko-dhg~IBsr$l#qRm@HiH&ghA@u8W@kW*T7DWee2+I z6klrvyIS_1fCtjOxOD<%fMp!bdxPQk{ji(KhLi9Ov;5Q9Svci=_A0{*1F$MkX z_O$U?@?0CApXSZDXL&9i;|@;elH5(cGTF%|(2Hb6!os$QGM{$lP?i2WQLW~Ict1wv!pWHAUhuShI5u&Y>fhj3bn QAl^+Y6|O1gm5Xct08F{{4*&oF diff --git a/test/models-nonbsd/MD3/q3root/models/mapobjects/kt_kubalwagon/european_fnt.tga b/test/models-nonbsd/MD3/q3root/models/mapobjects/kt_kubalwagon/european_fnt.tga index 292ff31c62393c803180b495d92c331458873aff..0621ca3a4a6d5b9d923c85358cc62c423ba71215 100644 GIT binary patch delta 14798 zcmY*g3A|0!{s;Rde%5F2eb!#yDIe|udr7YBDfC?$bZr#JlaCiA6}wH=;3-{l_mw#yCd<#x@^Ka5C8zIx zpP=6Bu?Gaq?HM;5`FgL5(6_r+MJNVxw$f6)S7T(!nm(En*7a?i3k1oy6L(D9b+Q8B zPrLWc%A+o!mq1#IM3qGM{h|o><$m=VL3vp|#DOd6u9QhgOtioSe)_YAFsS7CLl5di z;CWd-j3+%{(3P0@#vn@lkw=?pt0!8T&_D>Fn?g@-db}y5kewwB1~~W^h0zdtGU0kj z8dJ)LexPJfoX#C`D?r{eq_SxST6`}j@XKZe1!Z$!lh#(VpndX08xGE>PJ{vErSbr{ z^qQeHfjNNu$yWO3p%no-HtYb!|LarT@T1M}3k-fdHlpIWLLvau#Qg;M7fxs#G`IAU z5w!_S8m#Zz5wO{y6(3SS=zu8ax$(_e8yLM8=)FCr<~^g@WClH%0pgf=#*`eHXpK=UNFa#wT3v`^!ZhfTvsNqZ@Nx?x`*n6_RV>VaCQ3mpiM;tq%Zcrz%|V$o6WRrooJ_j7!a$y!Q_i}N zwGmuF24c zIy_*Fd96ri;gLLgh=$bh%Ga9$)PG-p5unB_$|2n8i)jULaasq$;^JPa6K9n+@B%#% zFyjOJEiYtB6p64$IY5_ZM#^0H1mz$)rn52rlsvX%3!Uh?<<)WRvm9nvGIM!H(s6u6 zk>#gyQ~-h~PKqSmB&v!*w@0TrsMA{vCE;5aqif?^7eMFfKUe)&*NTrELgjR8kcg~- z1d&X{aK$s^E?lM6>Z@t>Bpo(Y(q{DlTF%Zs3r!oLoPWb>jQwdlwnuT#- zXDi@p@b!}pMX>n0sz`z|JpI{sSBox73in*e$am}B_9Slpz6H3p`*FY-{eqH>KQ^cN zie*vb(!kI;`=3TFlb-p@>$tZ0^*LO3{8|q~F~YJG1kCXmTK?dFSiXRK#)Y6{>XF8( ziSV9rL`I7VPT{ur&m65~ivGWpMYtmBpF6S*|uvZv^e zm!IlP&ceT6rHD`vP>-w$TL07GRx3M+RcBN#@j%d7qXc#|(qkhkqNtb`!J#st9ml=W z$U*2q$LA1&2XO$?!)4kx;cZHzX3j+98-0nqv+k3>IB-u$_Z73 zTeF0k1wCa4(GLmLNWma-vKi3P5Dd;f2-t?6dIVVKd+H{FI3B2G_<32D`i6lM6Oo7P zECfzF7sS-dQB7|Y7Oj9SyEdR;4wx3HGdRKvBsfyLR&Q1+R4b$T83jg*b5s^3usTn* zqn7|J8nET(t5#xoVV8VWv7y+CjROEKsFVL|2tbXW=r4VU=H#obl<7l-s+a;>TB!Pn zz$&Q*Fa?AIU};xLom&wS_7V=uTSLh4E;54K)X{3IBDz z`UkgWwbXe56#U9qTer8Gg$RT&tIyR0QLc3CRf<_HY}ZU7W=8inQ}=Mt7cEp8KkvO-?WV|DwN%fbx(_$spl-pfT5E->ENt3Z z!S$kUtyP*HxY2-lgh64$(_J)pRm&#l5PY zfx4nz_bRRvqV~PjD9+#2S9RckhWD$VU^<}AVc}OC-q}wDR{wqbsUJDx0kxVlvInZN zgi!rKRm_=P9#Wlfd-Ean95NgnKpcjv6-06@hm0;0cQk?njgJi5`aSCNuo|8zvY~k7 ze!R!}fX2ym7MVv?TaEgTWtmh;)_J--uCP)J7e20@u|{c4K}s*CDBp8|RI4&5W^iwuO&g(|1M+k4-C{>WL z_#LBEKYAk|UOz@%jhAD`sAq61H&)ey+$k^^1X4ePQq+2^T1(saC#b`?ot&WR*(w3} zKpK=&E-wpMqE7VQlZ)tTIQXv8^{aNzC z8T6o_R7zHu5F<^fIY}LXf?(BH;X8i9NhRF?Em{@A zn=R)%UsUyg-<_=LRkt=E>o9-^e(QsxR4L^V6eo+I#!ps7)-s_HW(LvA`pF9A)1)b? z;EIenQF@-oIs}729tcNaX35XYEFFor7?yBjiFCIK<~ z+1P$@f^h81YCGaZcBsxb6{DfE)iPqcWRAKQas#ZF=BS&nY^U@kHCghx(3G{N1Z!cJ z-pt%p+MJs*bmzDwmlomHSgjt!@E2E0xF}T&)sH3%ylC@kRSk%uLu=JEA{@0|Js}m0fDXd! z4eAvrj$)UBrxZx|&IVP>F6@K}K-i#;fVgP)dlu5;AFBS4l(<%Ss1>-mTT~nC4_p*e zbBtp!ox8WFB8DP?LRM-1q#p4KaDiy@7S#X{KHQ={2l%O5RrO455U%}HT?X1pXGNzz zRhMV#n8w>wTv^pIrg4o)aidY$r8Wbq@AyJhrl|`~+0TOEpoJs8Q1w8fl^`q*geAhN zy;O6=fK-(F61l{#TEt6TwFtuTAxm0cVPEdUOp zxEBYt*|$MB=xf!$m+%8?N7a=c-~QV0#Mf#lh>gSX5H?Xm2GP^IP%5x|+WC#@!BlY7 z9#tUw7(@fma0Y_rW*vx)`s~3zD8xV*S**dJ_jnLJ_PuJ)5^d9usw-~w_NyWYmk?N@ zhPUol4K2e~S>f3IY9lm9C>W7S@*xL&K$8$R;6?)usB$qI&qw~ME(6eYzpCr4ebR@i z7~;+e!U_i!*MH)J;gttjp@rQK$}(fbLA9CGW?O2RD?sgChtv>y!gs%^oiw+Vzbo#} zK++O(Nwkll0^B>QYO}}+8y!^_U~IReOwZBdN7Y5xLiHfmOQXGisLu#z#c|afa6q07 znp7PnNDKE)2tgN|klfVigxUxJWq1gpIw#fo7zDx@S((}cuhA%HI(%qOtLDIQ^=VZb zxBE`3g(_HHL64)@=g0KJxK(j zOd0eY7#6jYWDKZr>JZZirPuT z3z0o;g}cY15jC{SJpz#@289!A>6#eDNEWWCrR#|4m3mobKb#u>tCps!Yt+_N8L1FM z;<1=Xzw>u~cz12x`+Q=gx#Y2|^}(_gK1|ooWL_zXqu*-lKBWDQ`WoB);h6fm6;c`C zF)~r0vFV;KAdT2Z(NQsCjIkl;WH zpeP6rHP8i63d9S-oJm*c+oTlgeWBiMFpbzyg*DQ3fof1AU4^1&jZU%v9*ewJ8fk7A zhRZI|jUX+W7+S*7N!I`>YryE#CHi}bWZyQ{qdB$t1*Ocq@b66FLl3Bo4L zG`Gna&E#MQUEP~e-qECH8k-+Mc>6V?&Zn-?3{VTM(StdG@l_Twa6N8i+wBJQ3)E&U zbrA;N-BMqN+rpN*3Mc?An_7w)s#YRd1{^;T4|8{^IuLDE*s+za0c&6b9Yb4boIOP| zTj^q~l)ZGrPcDvfuh*ASNUd(rsFkCEH|RS2IlZ;6f!jN+HTKuSL>tYbVsIOM2ZI%y z7V>sN?ETynUD#I7R|t$TfU6g|H|buS->;p~ezfssy^g_Z)NK-OKD-${Hix}%FOOG@v*TTe{^x%e}TCkXSp z>pIAnct+T@5zU(F4c*0%VMYVHYo5Cw706;Nu17Qvbbq@_s@sf@cR^6fs z((9f~g{LR$vXFM(6kQ(#GHcM0g7CU2`ev5qD7nS+;C9xbU!S6d3XTwaP%b&hi*JE&dJKl%|@jXJ@<+}WjDja zQFHZu)&Nh;)dyY7|M7LrZxNz>CAxjUNY|}pmFU)Y^fNi=-1Vt$Rt~}!YmTb@sMpiR zfA~pXOx5K7qPOSceo&cv2jIp7qB0Q7qqlC)4&8m==;3Fp~weooUZ;>`z?7s|rosGoxfp!r^StosZ8D zWbfm#LQ@+IWBeOS3E{bBEnvzLbsE zj%`hOW=T>KME!3vw@}ybwKw|+;MJQ=Pg!%}Ik$r;(lWWxZ6*z|haYq_*eZ_R>tucs zSd0E`4)YfmaqA(})HQ#fLlZ7Nz3cCB!RhCRyY z$bZZi!t(pW&BvHB{%P|$k#-+p_Fn}~akgNv4I`e6?R)ILX>0;ks#s8^QpLjjvW11^ z%0mo{5iWMZY#qI@~*u0~If#3nBSeIgOZpYMAJS1@5bq!2(xS^B$=G7Wi>Ak0OR zN14aygk_&IPttbMV-3rXony_TWcKE9w8`+uI8zQ&0&IN+J_BzMW<75j{+nQ=iFak3 ziaiK^l%4Itc@`CJapF`uzaTF^KQD7cj6>#ZI59?+4)EY}ATS&}$yA7DKX1k}*)*DH zSj-HWXjYM~%U>`vP)J)wfy#1OiYJ3sK!*K(GWp@UDkc?ntzz&I4S5KwPBL6ebeJTX zZyB0BV*2M#F;Aj<-V`&8SZYr-(|Lb?s+rAuuW6o$^zieK2>Y!6- zaq)=?bc1FolEIdo42R*Kd7!7uC=_!i=9yY_Ube7kzPS*EErS`Y1z@tmZu3p$@VgS@ zMnmVD1SsU1_x5P-tL8)MYT@hVJ`2?bwW#VMa~tjOkvGgjDz#{-*`h8H_@XDu>HjzA zDMJ83Kodz+_|#}rd70sfQnY@B*{lqvmlVr5{ZCF`M5itg(7Gw%P>Mze+{DJ@*^vFS`}Ln1=FfE*EsCG>{{n@n|r z7uzEGD>s?R;!WGPnq6YlBFhz@nkLlOZ=ae9*IT%vc1%P%W>Dj)B{uR=siJP-mCcSJ zd`aIj5$J3qy5^smPN)(npA4=27nus-TiX$Zf$o#-<~-hyZZ{3dUyZNKdgm-(2fneH zMs#2!tA%m~0dbu7t(oUoBMUeGU>Y$uS*?{KJxh}GLt{2U_8NY2*wo6{@Slgxm>9p0K=jBBk8CvMqZ!AHQq*G#F(c!((Y*iKm=z5^X|9oY z|IT0LAF=+mDrO&6$76Lahav257Tb$rJ^Hw3EQ<+mN8i|D2S%PulrNVTjvEv!4CfAr zHNu;n17ZtNF@(8BK~llXHT1KX&4V}JjbW7~z{YhQ`QB(b-CHP+3;o7b0R7=LYLtP!V1yWfw!&pC58#s2Hovh+eJ zva60bjkN{JK$eFr=DC!YpW)k|$Iip7J)g&xI^58df|1+gG6nAP%8u9{j$N=>9%k;2 zCF+2O`AG*KNkknyr>z4o14O((Gi`CUbJRgDu)?!oaRp?+TwWe83E~{*M}Qbx$vKB0 z@E#zr5E4O0E2=rC$kEdCosq(PllsmeN9yKi*~QK&e1aOiah1a_Qp2U!I14C+J6bxo zIQTxXbh#y}LO2W8-r&5#0e81{+H&HO+nm31De^_V?2GojoqLIGWj|*Zk$}t>A96Me z;vR#Y3;1rrQ0H8hRZE_B_&sSfX@t`q7R;&~!%vTP_Hxt@;~gCQur!VihR#il>{0O) z=Sk*~)zh6zAm*}p+2zXR7UY+$P*@%f)vcM~tfZJ(U(0gqz1a@8Hk0ufK>s}3*#ywx ziUkffwWECtoVx^UtA$QegXM}{ALnKH=T@pvxk3T*H5S5fD-_URar$D18+pqXJ6!O8 zx7Zm^SpAnf#XR#tqLf7kR>R2TXdnob6_n3Ar$Rms0cBqT`JSKFijt#mmOHZ`!*Iwu z&J6(g(L2sP%m){~>(n8yx4-M0YvhYuY+C6uI55U+EYm;|SQ-0)gJWdMH+*5UQxo%6 zZFX>I7=69j;iryK;!|fS!L9tTmwv&NfaRY}^_cGSj$kh}3R!-MXeGR$K9y!Uj_L+^qa^xfKh` zqrf49sU)_z;KZnOpqLp+SIXaieD^_voNrf@SVTc0$Vw0sCgUojJv?AeI@@I>9PQ6_ z4-`@)Tk5!Xh?mxB?3Shf7B_bjdAMJ5vzrnRZ+DCPCr#_xPVNZ?EbD96baBtYRtq3> z?dmRzG0Mt%lqaj1oetTD!ZvabSG%w*%;QQ-nsuWq`nX>^SRhJ3vLC)=J{UYRR#Y5a z+TZ=2BosdE!nn`+G9qDA^oaYhMBGDzU3>`*qdM}0+nB7?8se^w@xzo%){<{G5n*IY z5#caAHO%F=el{w?0IEIZu5(bO!tgMK%TsZCOCGKma&n}*-@%45-tZ-_WUTahb`oaG z0zHb4b3e0Q8-6{};9d|Ts!8uCn>4V7rHwnKrAeAZ)a3-*Sd>n!^_sY7bUC_9@yyqc1EG$uB~oG z;1V{&zqY!ciE=l8>bmk7jQxaE@{L7}LL5Z>^ribVi4uZEzc#-h*6adwm<73Eb}D6& zJs>*T|2>$)ruSLSMKYA6h*Vf(D!_vs!vGXSzaDVEAk{)>^!_1NasWn9;`pTNnEPL; zM9?EziQYL0D^tM>)8b8OIeBict+o>c(oWSK=SxMrcH`*a-A1vSokn6zCnzfU(@odV2s3g&Ju<}irqAuTNwYA zriIz)K(66Ht^ll9>qt$d?VeXL&Lc50y^-q#FN6bSL67lMS$_r?eWnzD%=ylh2}G4KwNe)o){EQ zr11Oc;r93NQSm1va;Y)#9tPCgeQK5!ayTf;gZ|)9_IQlti7+0Gc|QKL&qEZ3d46Oe z$7kFU!ZS7mro}(cq~1&yoiV!qWpH8b_s;q8{a`4%dXc52#j^Nce1*x)R>n{ARg-mb z&0u!LXK_i`mwgq#nK63wxADV#|JdI6V&;q5zs0fYi8}ulUnDp)8x;|c1aTq5yO0S%QUR`lk%i7gc5h`I@%6ijHC*u&og zixVeEN#7QUCoaVOr-2C(^nphczx!0v&ZiT$ko;4Xl+sc{V2Wub;%GSoBQ&JNOV#gE_Qm>j2RULxiv zV%Q*OB84`_COz9yj{H7!}0 z;kEWl$;RC1kk=Bo;0BC<2$q?U^~lWR7xZ(KW~Ix&GPI&IQBNMk!!4NTfw{?p68THt zWFiN4W)>zlIQX84XKQevgo`Z^@Q+Pi7xhi)pAaLu0f7I9ChE2{`3Gfu+nXQ?dB_f> zmd_3iuUwPlM~Qc=NlxdQGCICKSw}T49ZcFKweq19I<3x2Kp8l`F}a6C*4~=T%~TS=1tHkP0z1F< z%cQ2luHTtF%F{BiL3syJi(N^{PgWni3Wa#n9Xf(8mR&mxm|PZFiVGd{7F)p;>+zSf&hA0pmkY5Y;`F+`$|T2ndlDPWH*< ze#goYf;%I-3|g|sf53prvc(M!uw7k-C&&BApCPFEDJB<>%1BSSob}Pu+GQc zL5j6tyNC5|*kQXj8*h(q_qfW5-u=d_Kq-H7z>eN^$g4ys$N%z9k^f_-y>}UJ!#5p& zG+m{I>%U0>{T26xpOb;l@SsuJv;Qzy+^DEe)^Un4E#oYB%Ltk>& zzQ%rvqB&CRKSW$ToBQ1oAn}9ie0t~J>-^Q=IGoki$6;akSzCV-dS~3|UqtzAy@fx+ zX&wA)IktoU2c!PZ`}{pbxvHOEr5x@%p7Pi5R5qM#Ntm?2Z$^|~F82SSy0^XKucdI( zoBbQ`^V`jS34xFQT%hjw++V?;<97JXaJ0@W&RqP(4u1t@HhQ1`7l4G%{OO}E3K#$B OSHez=T?X^i?f(FG4I-fc delta 12121 zcmY*f37}2Y`fshZ*WPFEeeOBuj>hZaqKtJ7Q8JVs(G!UxQ9PxHOp(e^Nuh`ns~*qX zt7NK!PfEO^BE6zP14^NYZW9`m|Lsx2exGqJp1!i=nOR%c|LAx>u4c{4@&O#PAR;SIWGUT)A(WWH{g@5F*sBFxWCBs2Pg z4@G8QS?%aiGAB%CViy+5OpR7ws+vJENW_EOWE{P5#elq2PSjF~cwQ<~=aQ#HW@npg zb-GrE!c5B!hh(OD$HO8muUMbnct!tZl{+gLBr?_i{*}l$SJf1k1ehTn`0>C?44oK zC)3@AElELP&_a%FaqyFo!@m*f@;e$e2KkWxGY^(pPMAvOq%cV$#GoXPv@>CW$xOEq z(_}L6{g{Wj(JwcdlSm&ORWF?y-6Yd)^gg^~*+%r3WV*@NdYN8h$4EB_c%t;~yV|Bx zZJDw6ej_TeEd7`p_+IEkT@ZGV$cZP?cTc=F zvwLDO1a)7r1o71U1)g0*fQj#~=i(mIru*MtH8cMHuSI&`lmVG-QyQzPK`I{PCF7Oy zbMtclge2A*Cet|&7pEIOT;G8*6Pf-GYn2%^<6$8K&xnztzL~U4xak^?ep{F40R*DP zeDee78LaY}B8jG(&#YUOMG_B^;29RdaLUceO+mh(KYr#HB7MVSgEQM6t1mO(&T&P8 zdql8fiKm^%Tcj_3ycp~xg7kpLi!+lR|48Hnu@w5{q`j3j`J>^=dYBO+iS!Ev zWCpD)mCz0r0nZc<(sNh0PVZj*L}tjE6iBQsjNUNH#N(=x~Z{DfA{i{I=pn&DV&UD0S*+t(vLZ~;vO7u#%^ z?!2uyJ$PGj=D}^pWO~FKbu;tcXfM-yceG6x?d+~O%p}soc2>$fxbqc}xqR1)%JRWd zOMCB@rW?LnkDWQbLq?3-$dhCSzk5KWJML+gxqHt8suHg*!Z0|C7=?fn=_((#vYrJ- zYiXbtLkDtCW`=z@OBb@u*>%TbfDl?VY+t9$fPIs7DZmnG%7df=>k7~TOJ_nnBNiEa zaXE*u9$&Oonc0VXi1eW&&!%U7H40*7%INU*r73m~6*k5XGyT7Q&`BRUzA8QE#3SjF zZyO=Du|RR*DQ%B$CpjK$k4-A`)ekL2y5y%yCA?6UffWO8tV$!EEZyEeNtNk)dWLW? zG?_W^^I*nyruVP8Dm~=)dYRe3_ZR8!{#XIG62h0o5^)5rr_c844E7@9{U0_#7cBw_ zt2q)ruD~bjI0!<1?Ljh;0W!h$J;Vt~?UmRjjMielT|+WVniX1H<6A0FLc#>DXh8eX#@{o~{o>b75wMqN-UDig8psF1jl-Iw{)Ix}?~TP?1Uk4D38C!^}3{ zm=(FAb=J(REEDEruBcf(>qR2oAx=o{Pv=d|^F%^YhXQdma0iO)k<7wMqSFQw$Tdu@=kaL~XGgQZjQ(#SQrpI#>`9YY5fG zt0PJ{W^m+UlGMD8NJ?OUI@J?TNps>n@rOBHU(_uL5N|QB=PF#$vgi+>&}d)-@tTH% zw*p35heRorVDSO?l)6CFc1*M8;$`z)bMXRlp1@7fiWXv_q%N(*^YZC47Yl|SiA%&w z%4}{YMw;{6iyib!dr?Icvr~y7k8_oW$zvK^Fob;TSE%eVF<6-=|0dGZxTE+?P|g)% zsy2^z6+Nr61wbqqj|@mV64@ZU6TE8DI9G{!)bJ{#m$aq3XdrXpa=o0;OWN?2Vu_#W zA)YXEuMtD$^%M;}3wiL^yr<}=&73}B2{pf7JfZ0Ae&QBM&2JJ9N%QhR@ozKeAL483 zI!H8f=C zlVe1_Ab+fABTT1pqK{cJPCR0o+yz-!Fu+ClN$P!I8U%Sf<<@eTL$oq$|qxDcoUu)l-MSCX%C3K=DaDe+`mr|#TxEaw0E5!yXe`lxh69C^yA(MI#m(yAd!6dn(Aw?hC*rv|?_ZE5?}pbK#PHo-1ma zD)U6EGR~sdCg9pC2!pnjf~AG$_yXqa4uNGeW1hHHf@1_IY+ImVQ~rebK7|16#bY{* z>A3Ia_%8kUq$q~zBu&A5(a2niOEs1)7>O?I?f#Ts(#)EVRlYx8lv->+#L%A=w6{RC zy^Pau&ho8;%8PVuu@T842sq?n1p6Jt@hsC36`mD*&t3p9gKq?Wh#A5*ufj0a0a_r@4&O%=~DMdXf{HDr}`GPq4f8oJ?wW-k@jNQOM;^A?=u z=vMvOCSGooo^nn&@q#-GF@iEs>t=%ZDDz=P|=ZSeZcJDuDhF2Q|7 z>P0c8CdWNU4p-O$9;0E`7eRulnB6bJ7nE!gZNW1K!auX*tb(ne6Eta)xJR1bUWN+4 z+bp^W(|U^-ZdPm&RWUQm;;k(}d;6`TJ`>?Tn?BQ|t)iBsC9jGF(zM+!CUC&St{;(i z`*yLM`$d7(jxqPXF3!_7x1u$#i|++3dD9MjON_KxA4L9^c!iZYewU~h<1Cfa9(s0{ z_(hoI{}pX2_Ic*`f5rWD$2%e+%*1!aa#OlnY%rhf7F~JM%bRK|Mhm=)_lVMb)^3#6 zF-I`xL}1465$Bs{_lWms!h51N2PU)pebFk*;gR>nMK(s3?iC&!GJ_CNFoxHZ=XdWiQ zzBVf_zGqjRg%y~$t|*>Dnqps>Ne96EngilJ1|J~KIk=`-pCR1Pk#*qIm@kfsn@opeqSWTDcxy%+6J-^N ztXX+X?5t{s!EoX}k57SF7B&;2Ip2r^_+VsW<)W4OvRrhr4i~o1vcxng)BZbAGmGiL z--&u==69krO29*8ATs^^@@na=JsPCf&Tx$WUfi8P8OCx6znJ5L&+o-VNr|7tC&C;( zDX_`R`W}u=A>@KN+ME*g;WlnNB^sa0ri2Cy*t2QY;~QcO#8_08hK zIZa)Yx>|Z9Pm3?4ncYE^;Sp8;RqPR_{5NrFw&25Sfd&B!=*)CHg9td}3>>vNBX+VY zw*npdyLi>9#F(^R**=UU4)L`j7@-v#R*wp)+glpJZy0gh5~p-j~9ptZ6+pV5zS4?o{Em;$%lm*T_9Uv z6`psC{X!t@3OaqRbg{o;ap1MrNY+DX0HLi}BiR6nwKZ-V zH@W@*Ud`x6kkr2#$(rVsMsiwdq}n{roI)(e3Jw4avr&byMZ+7*p^o{aOg1$+O=YK= z?3e&MEGbH=IZdIGX(j$v&_V)RU8=dIYH3a)^dh0vW?u%)gM+L94I&TjAnlu z*~%2Pm2=FqZRK2Q*G^UuTn1#nl%Rp_<c)(8JcU_S=KXsI?H>jF+G?=RH$RGU^j#oRpw-8 zS!$|uk)3Nsb=^3d6u`ianBxpq#mMK?JlI9HDB&+aDyFwHgB7j?N6rNv%{)I&G@jEm zH2GJ`I=n|hQqk^8Swc5n2_eBrJzrloqupKQg~G(T$wt(on`|J=P2FW3^I&(`$-LcN zjxm>AE&I~KtEG^%_!?=1Y1K;>n`?W?Ml7SLy<``&yO*q4Q7kaO^^()rX1dE_ zfW>-RI`SOYoeyZI`pGi7te@=fm?Z;b3l6QH43Kr_4U{$VARjI;i0*jr+#GRW<+-8>A}ICDZX%#uvidt@3SDTJ5x)PbCBDdYi1J=#JavOl0VhcffNK z442b*gc&aXEfMQ3y#o%z+&Wr5fK58)GCz!#*P6~_WK-73q%jg@D{Jb&KBvBz1T4@? zVw|K7H5NVg&uEY~+a||C zbj265Y^rREh-`y4;(UBQjURD}oTKFf~WcHp}M7mh|Zy`2td{&>U3lfY?1B8=G14glq`mf<0gq8B>bBenLJYY4&{i5Q@EluPx2= zu(?Td=|Y)rdM%Vq5P?`MK$n@hP+kKAK$>XX5GPRVjDA`u7l6nTxmB7T%Vo<#ST5`u z0{S1^Cd^{IQf$=wmdg>;^(i@8ng2W^tJ1z_(o?1CZHGpmr{3_W^#$s%OSM|6_ci@|iR!DUS9^7Z zFpDl#3#sj8s?ecc;73wUXLXaL;a9444%O|hK9ux(4^_w|_;^57da0h$48Kktre3|( zEdsTat$kFfq$7P*T9~{0sXu6Ze|1#SpaH5J7{qB{u00URE(hz18V(H2=t1gh)9+^W zck|rMYAxMxi}D2x9<08Rrq>YlTqF?A1LI~%Zf0~1vbvv;C;-{zv|f2Zj&S^Y{~?^9PvTJV56PgH@OV=su)6}yLLmBz3d zlo;sqDe42q&@}ZHJuqFpC(Lz^sITDcP-|4!$}-GN*GE;=d_VxTZP)rb*{A-MmCi(>yev`aZ4xscT0wyEw0e zDAA(%|5_H7@a`&*FJGm!X|qbz#bJ`UZI!x!7OYYiMmr5?w*fU-tKO96^b2YjfM89R z?#QU?B)zd-trRqd)H|Xf1Yt!HvT*)tEXeF291i$=RuQMWUQ|y>s`0Ygi<(EI%t*Yr z1{B|-auwBh73Rf(?&HCxg1Z&|x|S7F;8m>RoP{}eb0 zVLDhb+zCjS$9AjQn)!pAcB?00Mjxtu3cQ(1_Nt4o<~M(~XcWG(;JB89S6s_OWevMD zd&YrShy2Sne$T$2J4brOHK0%Tsy^CIa9_D9G+Q&uGiwJa$K0@A<(fP8tGZ_1epN<0 z_N!Ml^PT=uHOz|y2W4eRf!zaNs;4#l;Pj)ac~Mrd|8FXQ{lHOmOv6b=ZZ(T!tc|Cp zAIm|&EI0|X3~0wm^{Ar*7*npf>0P`X^{W!db|Gc7fbRPZ*15j7^EW|@g!6}{MV`Ip zI1MhMogJM+b!pA*PQs;EMmcM=8Ge`3gZ^`uvl6!xow0OyqVq6rr#PMKaXQQYqaz`X z=KKXF##wPx4#Pt_JjL0q&Bo~tj?okJ@pR{LjDO5|oYZV*h^FE5oJ-!f{;cy4D#G(3(xm;hL>Z^Ee&e<-D$GQ%>uNfO-*cJVRzv8cbM+ZbA2ikvyL4l7 zeHW0Bq)#u>XF~euZ(6$M(<}9}H1+Sgr?zKxoM}Yz3u5N@)p|M2>7lO*>0m$od#?HX z4m_ATLf@*X{7$_O#1iz*J^F2z7T&KLYufdYE^+Ai41HM8o=5c{00Eno1htu?4{56X zgpRo~NKuo8y1S&wi}hq>#B$vtH^|RR78K-GD$1`?xezT$otNuPNTWDg;Vd*~g+}?r z_Z%EqtkAoV+pN{+Q`uTQP}1BNbZcdHuh-Q~`FdT+cpG#hYQ90whFD(GZDLXCf{>N- zvPMSdyABe02$x#Ete1r5<2Uq`RQF9iSei$7>IU@UPFMMB;Mj)r;(g~Hn ztuzR`GbxmsjzHY2&_+I^jG_^j_HK_e3`Z;Zmf2QkG(dW9pOYM*7D7abMw-nrSWCg{X1?mDLkC<6Sr(qD1(%-Ew%LtW_t zD14e2HMTi=XQcb7wnw!18etZ1En1^qyqTn3PCT63?9oTmcWsLE}g;J&44`U9@Q z>E{%;CA~St-HZ}a^VG%*KXittv9DivIZI442l;b@wo)&Gh+hF`w8XgXiU~o9`Zg^;yH>2Ygt-JLv>H zvjlH!Nr4`H8iHgmR53s9%#*9!-{BPJuXcZRXkNzs*rk!1-0MTywcTB<=$;*J(-;Hc z`Q7e!ICba2(aLxNdw3Cj<*T)RvtzHjhZcV1x_m;(b{>hD*@}kH=Kbz57&G%{)nwl! zY15aOqJW8TAtAdMCXt}mj$#$({fbWb@b0C9Ds{oJ^OVEAbBK zI?*g#5ryP<>tr`RxZ0J%>oUyO)dfT5(S}}eB`z@A<*|1M#*oJ13Yj(ZUdP(Xykb-w zqLk(NGVg>oi&}a+X=p1ibS;8F7#M$`t#@H5Z5rUsh*PKGUeAygjQ6l3S}@6r#p$UT zeE-yJZ-S&ck9#*OF5hO0*5IBuV5|@{Al25CIlQq8TW7pup;@%dE20g{y!U`VwmvY* zB}8!fv^J4FL}S=VT?xp$NN>&?QeK8kM8)`L!h|*Gw&LgwjTD% zHLd-|TN9d_PJ1nA-f3?&N0z9zz@8~dJ%0zq2>O?)*eT7BVz_`$NC_qDE`IDMZQ3Pc zmFT);Y*8gZ1`DCz>&4y)>FuVm(4~)C#SVt_(&e#VG_CIvn{WX&yC((?o81@tA*6F3 zjUn!yn~p6BY3IUNy*PcpBKCGA+VX0wUzNO|xO!!{y~6xl1dpnfi{K+K*oUKWy69l+ zNM)+|Yiva&Y*D58&yAuI9nST?tVBEN`-tlQJ>UN|a(U*R7JeZeZs8x%w%Ctf@6ZRW z{r?ux@*aL26ff+0SiN}hQ6K+1I612de7ChRj`X%-iYu0#pQ7V8`VAyi9_VlIS?+s= z`sceONBP%l>Nn1x;9|FnofI9M;3G{vKF$9Yzr|sz;JL!UMWGs%slZe8!z}-MT^$EowIGZ+s3~z|AUV(969s(C&HBcKhvxflIJ9!HUjsil0~8{yM5u@qM2D96 z&k35n%r927=HGrx{IUci895BL$csdFAfNF+fXN_+S7gQKuzsyvB9_@)cr?k?{t0$} z{0fbHg4s$r3y#jd<+oGR?j3)cGt zJtOv$boQu!9P6@v!b{%l%!^g0m}SBJ6w)orEOML!x2@kgXEqz(#>BXaWZ} zs6YZDfCZk=AHVq@>+J7bZ7iTeBKS%-0XZnDLRXe4jKD7qq8d3MhLX7}&tX(~z)~!D zEi|v^2Nx6ezlTHmssvOxn?#FPNzj41!7n&D%u>eL0BSk;bh=@%P@8#W!KIA&Ps;+* zCfzb!92=itOfgC!a@KA7W@o*ckY=&8YLKJAzlw2|b^2{vomZi04k(#wPG+Pw8_ zaFP8%w@p71D}t{bI=wn5@+h$(K)%fr*s9m>n@|a(#G64K_@1|!aI^P<6QQZ~S+@nsy%!s)Y2-ciiKfQ$h6{f<2y5q+{VWOqUbRpx%jaqoCYWh%UKB;YrP> zKGBwda;t|gDB4~U{vl{vE$*@H-0-qI@-7bHd!6=S+@;)(;hl;e>KqP;nWI;S#pLw} zH#=tgwPBe#eQmglwp|xC)#mgK;V!eSUw8%O^bb!}B4=!P5ND#}!Wspn9|>P6p>5CE z37!wzLs%QbKXS?08Ey&9whzK9DfMBP(PrDHJbque0k;Ry54%-V>M7@oa6?GjPK3YZ VnyqKU`sUc#5OoNz0EKo3ng9R* diff --git a/test/models-nonbsd/MD5/guard1_body.png b/test/models-nonbsd/MD5/guard1_body.png index 908b51f83f0fdd61c4cb16589508558fe6af0010..2eb3f2caaddd89d6c69c10983e5df684ca339aae 100644 GIT binary patch delta 34 qcmcaSpYQ5?KGx0vKX=|nmR1(Vtt?FMEE##*KUp$u|76MhFcbjQvkXxH delta 31 ncmcaQpYQT~K9M(HU_)^ delta 18 ZcmdnHiG9x|c9zZnKlet~t*nd|HvvU(2Cx7C diff --git a/test/models-nonbsd/MD5/guard1_helmet.png b/test/models-nonbsd/MD5/guard1_helmet.png index 081a0498fb92a73b76ff79fc725a6e94c7f136e9..166d790fd4f30e332a422d61434bd6a4a1eff5f3 100644 GIT binary patch delta 30 kcmezNiRtGjCf3dXKX=}ZEPpu|c{ek1hD-udp|cg`0Ktd~vj6}9 delta 25 hcmezQiRs%XCYH_sKlhESe>pZYbB0XX95Gu_4gi}03XcE) diff --git a/test/models-nonbsd/MD5/iron_grill.png b/test/models-nonbsd/MD5/iron_grill.png index 3c30c53c85cd41050f2b9b56d39ef376c3c47cc5..53a3bbbcc2893daded718aa58051eb7d173c0668 100644 GIT binary patch delta 16 XcmezQhxykZX4cLCKX=}ZET#VdM|lUD delta 15 WcmezMhxz9pW|qzXKlhESrT+jy&-vR(p76=gl diff --git a/test/models-nonbsd/Ogre/OgreSDK/fish.jpg b/test/models-nonbsd/Ogre/OgreSDK/fish.jpg index 122bd83828f697c14fc823532ef4af95302f7561..04cbf2f83cbfa263aeeb10d62862a0eb1b7e965b 100644 GIT binary patch delta 19 Zcmcb=Gr-S%BkLkw03Y)NTL1t6 diff --git a/test/models/3DS/test.png b/test/models/3DS/test.png index e5725bbbd0e6b9ee3d57af9adcc50fe8b87f5ed3..501fcdecfddcd9941c41fd38942e9f1e0c1d6c32 100644 GIT binary patch delta 23 ecmbQVlX1#UM%K;%KX=}ZENp&^yqmfFI`{xx3I@{v delta 20 bcmbQTlX22cMwZS1KlhESY<`=0{5tpmP2~o< diff --git a/test/models/Collada/duck_sample.jpg b/test/models/Collada/duck_sample.jpg index 953d3e5fcd3313466c4246e7366da4c8fc19ea39..9ce7a59ca4539152ef2a08f67ef6d2d1b7c6c0f4 100644 GIT binary patch delta 14 VcmeCn@6X?`T9T1>^J>Y*vH&kf1@!;` delta 12 TcmeCr@5|q?T5|Im$;Yw)C>RCk diff --git a/test/models/Collada/teapots_reference.png b/test/models/Collada/teapots_reference.png index ef01c86017077930e70cd212bdd22fc62e9c26cb..c7db36213de0469c4813ce8bcaf9fb55e3ed1815 100644 GIT binary patch delta 55 zcmZ2KlY7fdZr08KKX=|nmaQy|O*xFb+uL#&T?ByisT#(|K)QWxFXQ&Ly-ZOeKr!}3 HOe?ei`&bdz delta 46 zcmV+}0MY-nnG3I(3j~Q!PDg delta 20 ccmZ4gh;i*BMwZS1KlhES{;r!tU2kav09yJ8F#rGn diff --git a/test/models/LWO/LWO2/MappingModes/earthCylindric.jpg b/test/models/LWO/LWO2/MappingModes/earthCylindric.jpg index e1bf47eafe1f011c37301fab44debfa0c05fa078..da9688b44ad07495eb8181c983b168420052383f 100644 GIT binary patch delta 61 zcmdlxQSHD)wFz#Fyp3*K-5Bp5W#nyFJ;n&cOhC*G#4JF}x?S}co6`=UTzVZl5OZu# Juj35k0szfo7AgP$ delta 55 zcmX>wQEl%;wFz#G?pxg%?;mYfKgI~eOhC*G#4JF}x?TMko70Z=tU7ie=GdN9#~H>2 E0FiAL7XSbN diff --git a/test/models/LWO/LWO2/MappingModes/earthSpherical.jpg b/test/models/LWO/LWO2/MappingModes/earthSpherical.jpg index 9c9a13e4ea52cfad37605bd9e390b0e78885c33b..3419e807173dfec482eae5a5bf58c3fe1e976451 100644 GIT binary patch delta 49 zcmaF*Q1Zn?$q8rJh;~BS?#xse3YwrzZ24WTk@dG304cr&v;Y7A diff --git a/test/models/LWO/LWO2/uvtest.png b/test/models/LWO/LWO2/uvtest.png index d4a2fcb3d8147af2ecefd7a7b69ad7a51cb73a40..1701d737b46c9ad50602ed584247d83582f389f0 100644 GIT binary patch delta 14 VcmZ2ezqX#WGr-TCcO%ORdjKtI1#|!a delta 13 UcmZ2mzowq0Gr-S%BkKx#04Z4oX8-^I diff --git a/test/models/MD2/faerie2.bmp b/test/models/MD2/faerie2.bmp index ef372415fa2842a937219d3742fbb2d797a90488..56a486a6c2695a8648b22455415725c68f8a7abc 100644 GIT binary patch delta 99 zcmZp_!Zhg$(}pEJjJ%td_-x<+QX!#wj4Zrd99)wfLxnfb2wTL+3gU53ejgw@IXEH$ usAP4-ed9?mMkZd~&Ej```2nA?5MBTP delta 54 zcmV-60LlOA*aPI)1F+2!v(6H*3A2A3LjeN{BmtALFdmao1Q3%T6Iqjh9}2Tq9+17W M=-V>^vmM<{4__@6FaQ7m diff --git a/test/models/Ogre/TheThing/Reference.JPG b/test/models/Ogre/TheThing/Reference.JPG index 29aa07a8af4f57824042212b3dde8d132bd3bf94..6eebcc841986c7238081a6f3facf1f8067fad48c 100644 GIT binary patch delta 41 vcmcb0f$`o2#tpv&70NMZE&;i=e0kHZIv-=Re0h75BIkQm}qXn}N6J7$d^cvnJv(rF}Cu#5zTL1t6 diff --git a/test/models/ReferenceImages/MappingModes/cylindrical.png b/test/models/ReferenceImages/MappingModes/cylindrical.png index a6e008fb6cff5609e17d12a6aa218dcc940bdbe6..a1ad5979bb322fe6bf75f9fc441294d1379d45a9 100644 GIT binary patch delta 48 zcmcaRS>WMh0oKj{KX=|nmaQy|`I?Np+lw_Bi>3hSr+XP+Ix+ILo?~h~$Gr6%3qL0S Do5K*V delta 41 zcmV+^0M`HElMvmL5Cn-(PDgpt+a)y^&pR>lw!g??-2NhqiD@?@@Ag-!%=St^ PF-;HV?V27epO*jtLzNR6 delta 50 zcmV-20L}lQ+7q1G69kD+PDil?6)1xnD7PCZ0nb8*>uLeF>uLf5ySMHo13w~%E=U8n IE=UCPq~zoh?EnA( diff --git a/test/models/ReferenceImages/UVTransform/UVTransform_Normal.png b/test/models/ReferenceImages/UVTransform/UVTransform_Normal.png index 3f3f5d69eb9850d1060cc4e04a994f7da798a8ea..b8f6f54f1f5e2e3014307c83195238ec5f0a36b1 100644 GIT binary patch delta 16 Xcmdnr!*rmBiM2Dp&z*N8i**|SG!g}p delta 15 WcmX@m!?eGLiKR2Z&wV4SbsGRLzXgQ= diff --git a/test/models/ReferenceImages/UVTransform/UVTransform_OffsetUV0.5-clampUV.png b/test/models/ReferenceImages/UVTransform/UVTransform_OffsetUV0.5-clampUV.png index 8599de67603c13e64415c2bf353b6183cadd9763..aa07d12706a14b3218e9272c2ed74b842dcdc62b 100644 GIT binary patch delta 16 Ycmdn9nQ8B4Cf3dXKX=}ZEIVcb0666aY5)KL delta 15 XcmdnHnQ6~vCYH_sKlhESJ7xj^G)e|t diff --git a/test/models/ReferenceImages/UVTransform/UVTransform_OffsetUV0.5-mirrorUV.png b/test/models/ReferenceImages/UVTransform/UVTransform_OffsetUV0.5-mirrorUV.png index 96bae703cb3af8d05bd88a6fb462bdf0b8800114..447d30c32624c829d9efc3622d74bc6d2847c6d8 100644 GIT binary patch delta 16 XcmX@|kLlwPDhaiJ+VW(qO<>^93HbA!4Af^D~ADzcN4M?UH||9 diff --git a/test/models/ReferenceImages/UVTransform/UVTransform_ScaleUV10-2_OffsetUV10-mirrorUV.png b/test/models/ReferenceImages/UVTransform/UVTransform_ScaleUV10-2_OffsetUV10-mirrorUV.png index 317d4a62cfc3d16e06c1cf2363520c14823137fa..3e32f1bd5fbd1c939347bc7864e5505ebbbe423e 100644 GIT binary patch delta 19 acmX^1gZ20iR@Tk{KX=|nmaQy|PBj2j69)wV delta 18 ZcmX^9gZ0=CR+i2HKlet~t*nerH2_Yr2KfL0 diff --git a/test/models/ReferenceImages/UVTransform/UVTransform_ScaleUV2x.png b/test/models/ReferenceImages/UVTransform/UVTransform_ScaleUV2x.png index af08afde6d5d600a443f79d36347d588a4c0e62e..fe9926e4197bb25b4423bdd1c61a7afee4ed5779 100644 GIT binary patch delta 16 XcmaFX!Th{~nYA;(&z*N8OVSYlIJO2q delta 15 WcmaFf!ThX)nWZzp&wV3n(h&eO8wN4} diff --git a/test/models/ReferenceImages/UVTransform/UVTransform_ScaleUV2x_Rotate45.png b/test/models/ReferenceImages/UVTransform/UVTransform_ScaleUV2x_Rotate45.png index 9210d2a9ceff22dd01c67a9847be8e043df5247a..ac15908c365454077f041431e06079c5150c5191 100644 GIT binary patch delta 23 fcmaF(nCOV diff --git a/test/models/SIB/This Way Up.png b/test/models/SIB/This Way Up.png index 9cac59ab5bfd8c6c07a8839fce6740aaf8c7e8e3..87c8ba1dcf9de4334ed9879da41a776b6c44c22b 100644 GIT binary patch delta 14 VcmZ3ew@8n*Gr-TCcO#3eH~=Gc1PK5D delta 13 UcmZ3aw@{CzGr-S%Bde@903aO$`~Uy| diff --git a/test/models/SIB/UV Mapping.png b/test/models/SIB/UV Mapping.png index 952a51d7496ffb6fa1f68069ac86bcfe786eae90..3d8e235d463c8adc3360e6e2487e83a83c71d016 100644 GIT binary patch delta 14 VcmbPZKG&SJGr-TCcO%OTX#ga}1dsp# delta 13 UcmbPhKF6G;Gr-S%BkK%l03l@rg8%>k diff --git a/test/models/X/bottom.tga b/test/models/X/bottom.tga index 5a10ffaae6be07713950cfd1a0571e44ae8d543c..4d6fd56e67cdfd366a51c4f7147f9b1ffb25ac26 100644 GIT binary patch delta 2592 zcmb7Fe@q)?7|!>_b?Yy{E}Lw{c10AohI;%14qZz$oopq9CB*5HGO{j4k`o#dlO{7v z5|lw?qkYwr%@Uf;7@d@s&!mY8+g!FlP=^MhK}Xk2F&cDaBp4DVes`tEQSL6-+#lEX z$M?R^^S$yfA`%ct3UO4y;MfypR+_(Cc6 z2iex)O7m{SyQ_Hs>BA4UoY1YE3elD)gor~J1|vmaZTE(Tw`4fs{0QyMxSfqQp}We! zapT$nv^?j32tAgGN@Flk3@04xqS8=Bz;ArnN}FF1ej~R>cof%8&EP`C98aW%V&>yg zEN%9yzG9ddV4<&Dze_QP47M#OPAAsBfR$4r#kPdPTIe4u1OIsg@t-NfdD(?XtZNBp z$bwi`2lRAmNX6NGTQU^WuDR2BC>jbE5$C%_GDooQ&*OsZgQaAVrrrhh2uMzM4~2ay z%_l3D>ty$p9FNY(I}XKXu<{+EEYp30$n0}LrYaP+faAQD-22?7ID1RtPqA-e z_+klX=Ed)qet1!Z6!P%ZMa6S>TwhZ372I4@pAbdSef@0E#?rkb{bK}2JijJbxvU|Bw`7J!Mb3)h>B+B^7oX^+epc_3$`!qdJlk<*7Qx|h zx1bB>#%tipbdLHiC#R>>cbVM0{i|#Qt(w-1M4J&6Qe7>6ZyX%~&wV!)EM$bH-YPP8 zcS+PP3UwC-JU1yT+k$iA!BJ?q;|?-5xaZ4}jnkei#I(*)TIW?|nNO+gCfz7O-|ZOg z{`2Xk1>J$U&V1yBm*-sO?|!?r`^=+KO%UHjg?C_>co31Sv8e109zZ0cQfrb}gSE9xoME+FwyByP^DL;6ife4e_tfVJX#U91 zNw$8{UuHoV^t3v;5_luYN;nt#HuVPpW-x#MPoNiP}>1)8@k| z89K~Wm!Z+DO{#PtTf$k6zF7x5uL8}lGc3E%OBfnlx$xTPKJJ_w9ibw}IZDwsDFhm| mA+4V3fkvA7qR2K4=e>q?USv$H+D%e>T}RS`5=jrP8~P8fOzial delta 2206 zcma)7dq`7J80Q>vHTOz!HfIY5Jy4TI_L7QGQATATM1?ey>_M?I1VJcPnPC)!>w|8k zQqfy_I8QNpU{pj=^!THquof2?MFZnDYS%2hV2TW*8hhs@Aaf6}b%@H=yE z6{$5HK`dv7Nb}VgUs)EOSsZe&pitv0lyU}+)$@cdwW+1Fz0BXc=jQuc_{%;JF0zw+ z8uZMQse&1)Zc}l9Sc5ZV#hLm#bD_C$OR^H4dH;ieAg&^gtiG>(si@_!7N$Y~HUvEe zqqM`xfY?;5L_~{IGa%4blb_s{`C6PuUC0x1TI|}GQh~@caIB^*^84GS?pk$;d^OAo zYfMNV4K02yby&u}z@7rFvt{*#wU}8|#X02Ij#b!UsLeD{>%mMd19XxW<(y&L4R~*(6eqhY$5dAHL^!%OY}@xR+nxFmUDhUhra9L;E42d+082rTKcTxdb7R< z>$u^ks?lT4+Yt?7>WySP5Q#he8CWd*laAx%Gx2_$rbbnsen>!ZXSl6}{cy!*hy+ZdE16v? zn+uX3!7|YWI1EjF9lTa%*NDM;<}*6rXK{~D_UU-xh?2fOm=e82U9bJXt|4A z6~rRqg;=XOJbeneBR{=i#D=IrZVX?np}bW-ehNb8bW)kNwM+_rFAZ6Y$V~Dm4VjO~ zEb>f2602CD}-!&WkV7P>ImG zgltxPaHm$aQ*Fif8|sk4DU23d(<~~>PJIGH;I<(lBv`iVbX!_lE-|oJUw@ccF zneOcDzW46A=bZPQ@0@$?J@;Y8jvoYC&R(7w9Q^%(`AX?BIwDIf%H8{yPtMS_Q2fhQ zx;Bc{uLeOg1*N;3^Q9$?(yrH_d~MG%S-G6YZ2Arz(r*@0Q6K$D%SAG16#k+abWx@T z$**?%-2(~(r#UXCZ_{YwWBdvCA3000reV0$|3(=d2fw+x;+Ma8i zyux@$?aHG+dd$dGyYuNC&w-s`&w)I(tB^jp?gkG=sF%i42aop{@g&gj9~DTXl3Hy- z=(qL@ybNqy@L{gh-$Y@7Yx*ufV)>PCJT0fv{;H1KlPR@S7O^(PZTQqv6A*^M2~F~F z35|B&*R1DB5o@zTG(V>6w4f~dEZq_l8Q(NP4tHy0YG>0fpt(XL~jPQvC443l) zU6;DR4&#cLhre*mcx*CaXlB&kOBKE+4m3bkHQq-1H7#Dq;b~Iy45t|mU5Hwhv?-HT z`;DCTDms>`r1eSgCTQ!AT0zz#(p*4kMsv+!h%|w$|G9|II4^h1pc$^&(lV18abHzU zGmH(m@pjazwY~Gb@#j|U+LYOJr=1`AMxzzA{zj6$hStU234ytTf~ujGe#1u3lzZql z=V~@pMXfF~A*-jSC;rY_UFE%0918~S70^4%woiq9u)MIBfIOO|z_Op2|k-_RUkYqV~IZlwAjLk1)nVZIo)!4TjIBYk2rD zhm@y3ID;=36Bn0H=W$2Wy2r_n<8wK^Ji%bl(JgFdtvj+FSz$i7j;q3jQwfF|S7qHZ zoE|gn7Bkm!Y91HFuyFjSHhx4bpS-ew)3XzOeCH*+;*6;%C&&Bd#>-c3w6793mrAi9lSzNGTl4jisby zo*~~Dlr6lrV%9@?T(!Pj?=^E_VyICF`&AxoZ2LW{RBW^5) zQ$+}66MngcVq=y(xQ{aXq6A0>vwTcEe`9xPSU%ZLOFh@*We3n^4E1(iEj&mkQ{V`k zPy_s$N{;&Xg1jvTj5K8OIFvmY#-d)bfG638i*vX-*vn;U$l=jOuq_!BvT_K2Ca&z* zP~M)LJcyR*+8oo!nmID>eo(k6jeTSKE+huc_%D!CpaB}9{Ui95WEr`tfG?(~8qfxm zqJ<#ujv_wcnKL6}DOOrxr&z?AV7nM_yQoVb1d&{`WK=!Rk64p+Ne!q~sz^YU^SyeFD~Z|y&5RAJ=vGA1L%61?{?@a zeVeB7b`Dob=c=nny|$VQZE)USeWhf))3SRu?-py`Ol~yGf3gOvO*ee0+NxvDUZEcy zm2`iZL(=q3&P5BLis$eS`d`~B>3)bi(dnrCI^ILct5dJGN};{`ec!c5_i64nNmEzOy|{jBH-PS;}`G|6T9c6OSKR%K_Qa$O|LZQB`z5uk{ZcwGw93 zsfT&r03X`eZyc7^70Bw>m+|gvqyG67TqiBtI7_TL_Nkn2@LUZbHX7JIEXUe@JdFae z=065&Sbq9F*R+5d@-4ngPeTGt^Auj9_`Ce2q#_FX4kRCilgUSIgainEL6+2Uo*)!f z#Cl#%tmLOmO2O?4edJ(jISR09e~6coeEMVdtBj|4rb8y|Q_G~uoGT#Ha8hy9unyGo ztL7hq*my^5%PZ_-1YDb=3rDKwi=f(9x8Nu9L7t|x delta 4217 zcmd5JT3DErk1ZqO6l8(0j6e{G`%~j*6cjTs5RuAs zWx}DvB^VQoilL%;VpOukKujbIae{(O8j!`Ma}64VIH`BRn_uM`A z-2LwEeLmbW{NgqDp$q*Lg`02n;|crQ56Axg19H^;GzK~As@M=#rl3Q%8QZyeliq^uyaNs=^E6|sxiH18xBb=g9PLaO4un*!0{#SnwH8i!-_<^jx-63K$5gD6 z52vH6VLoX=a7kj=S7wQd1@)89gIYZ!k-%l3`n6cm8lRch8fsduucv4g)G9W1CniA( z)j$J9Yi#XaH$C=2>|~ zbHe)JXR{y~<1hTnr?vJHn+^udf;IOT3#8CfRw}@p22{K4h8TJ<}LOp>k-X-n}r#2ww)c588$}Rpvmw>S_ZV zBBkg402Zn8cR0~0TdVlH5XWr9??1r67~38DNwKBuI&3U0Ifr1&ZML5EBuwEHXPn?L zyza49$p7@?b2Dikb>f!}&S{bhnQJKYnbXEFq>3-#Z2C~qzJx9;O5KfH&X{&MhvU+P zyalI^)1tI)n80OGKov*fV5aKTqtJr}!@IwR>q27rsGe`&s*@e+`Uw_i+F(WQN0ps$ z)Ile)Gl{V?&^bEOKlYHKlc6LMxCRtF3l}nj=s^mehhK*oiX2rDT*$ueB6K?w z%PiD%%-D)an(P!u&L5G*ZtSoqK|LNUQ{Ez$Sp7j>KG?m9`m9u5FGKpGXO#RNnE}orRL#QvBUP$?+Ns$7b$p>>Tk=Kzd*b zew)cR7Bjt;(6%RWWjHW{dMBXU&Z(dm1${=)N~KN5_Wax?PHT zF3ZgV)2VI&?#ePtt1x4h`h>^T)buLW=}AtTrar2>U(94q(JCf6U^O*Ah$~Vj=wjx= zfD?2ngEu!p7ZzfWHob-Q`k2jegbHuFX<8!|sFC$}8g6}jHsDQ+PuZr++-5cY1Sy?k zfYBNDpEK7#j6O45wro8XqfAR%(ugMubD@E4;R!sM;aRpo(dW>7XSbc( zr~}VCflUJeO#=Zh4Fqgsz~E)rA0+K%)NedIJ#9C(<9F;|ja-O!7_k1PX9XZ6uv{a; zfvKeJM3*EtYUZ(-LHz}<1T9|>vx3&u7Lc%@zlBwLvh$#2GfwSdOQ_YuP z6WW76f^q$b6P6n@T-%Gs|NS0GeAPIm`u6eL)nNBi?!3ZZUfG5P**fojELryt&N*U- diff --git a/test/models/glTF/BoxTextured-glTF-MaterialsCommon/CesiumLogoFlat.png b/test/models/glTF/BoxTextured-glTF-MaterialsCommon/CesiumLogoFlat.png index c76b4d1a36d12207bedcec04b803d920e0918a8b..88bada374836fcecc80ef666ab093f61a42e7e0e 100644 GIT binary patch delta 16 XcmZ3qhH>#4M%K;%KX=}ZEOKE0Go}Se delta 15 WcmZ3yhH=pvMwZS1KlhESa$x{3PX#;x diff --git a/test/models/glTF/BoxTextured-glTF/CesiumLogoFlat.png b/test/models/glTF/BoxTextured-glTF/CesiumLogoFlat.png index c76b4d1a36d12207bedcec04b803d920e0918a8b..88bada374836fcecc80ef666ab093f61a42e7e0e 100644 GIT binary patch delta 16 XcmZ3qhH>#4M%K;%KX=}ZEOKE0Go}Se delta 15 WcmZ3yhH=pvMwZS1KlhESa$x{3PX#;x diff --git a/test/models/glTF/CesiumMilkTruck/CesiumMilkTruck.png b/test/models/glTF/CesiumMilkTruck/CesiumMilkTruck.png index 1bed7057fc0ef6bee74fcdede7417a24b74bb71a..ba7a47c7fdcde32fbfff2e1fa12299e09753ef69 100644 GIT binary patch delta 151 zcmZo!YcXl91#4%3pF3|O%T^Y~$|H=t+iQ<7{%vLCZLjiT0%GRvRbDIy=K}fGFIcu) zzhD*c0;=&gVyou>(x>2L1L6Px delta 13 UcmZn^ZV+ba4DfT`$Xde*02^Zi)c^nh diff --git a/test/models/glTF2/BoxTextured-glTF-techniqueWebGL/CesiumLogoFlat.png b/test/models/glTF2/BoxTextured-glTF-techniqueWebGL/CesiumLogoFlat.png index 8b906c7aa3c9f8003ab3c20de9ad7549c84abf50..45d502ed2610974189307ad542b05b70df14abd4 100644 GIT binary patch delta 14 VcmZn=ZWLzi4DfU3-N;hI2>>2L1L6Px delta 13 UcmZn^ZV+ba4DfT`$Xde*02^Zi)c^nh diff --git a/test/models/glTF2/BoxTextured-glTF/CesiumLogoFlat.png b/test/models/glTF2/BoxTextured-glTF/CesiumLogoFlat.png index 8b906c7aa3c9f8003ab3c20de9ad7549c84abf50..45d502ed2610974189307ad542b05b70df14abd4 100644 GIT binary patch delta 14 VcmZn=ZWLzi4DfU3-N;hI2>>2L1L6Px delta 13 UcmZn^ZV+ba4DfT`$Xde*02^Zi)c^nh From 4337c07e4b08b49ca27b25bea4ff3980848b9230 Mon Sep 17 00:00:00 2001 From: RichardTea <31507749+RichardTea@users.noreply.github.com> Date: Mon, 27 Jan 2020 17:08:56 +0000 Subject: [PATCH 091/105] Remove explicit setting of macos install_name Use CMake default behaviour for libassimp Fixes #2961 --- code/CMakeLists.txt | 4 ---- 1 file changed, 4 deletions(-) diff --git a/code/CMakeLists.txt b/code/CMakeLists.txt index 67def907c..9144b4644 100644 --- a/code/CMakeLists.txt +++ b/code/CMakeLists.txt @@ -1213,10 +1213,6 @@ SET_TARGET_PROPERTIES( assimp PROPERTIES ) if (APPLE) - SET_TARGET_PROPERTIES( assimp PROPERTIES - INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/${ASSIMP_LIB_INSTALL_DIR}" - ) - if (BUILD_FRAMEWORK) SET_TARGET_PROPERTIES( assimp PROPERTIES FRAMEWORK TRUE From 20388d6a4f3fe1d510c454265eeb7a28b6ce4265 Mon Sep 17 00:00:00 2001 From: Marc-Antoine Lortie Date: Tue, 28 Jan 2020 09:55:05 -0500 Subject: [PATCH 092/105] Refactored Assbin exporter and assimp_cmd binary serialization functions. - Renamed AssimpExport to AssimpFileWriter. - Moved AssimpFileWriter to it's own file. - Added a try catch in WriteBinaryDump to fix a case with memory leak. - Replaced calls to WriteBinaryDump with AssimpFileWriter. - Added new AssimpFileWriter files to CMakeLists.txt. --- code/Assbin/AssbinExporter.cpp | 790 +--------------------------- code/Assbin/AssbinFileWriter.cpp | 858 +++++++++++++++++++++++++++++++ code/Assbin/AssbinFileWriter.h | 65 +++ code/CMakeLists.txt | 2 + tools/assimp_cmd/Main.h | 1 + tools/assimp_cmd/WriteDumb.cpp | 705 +------------------------ 6 files changed, 952 insertions(+), 1469 deletions(-) create mode 100644 code/Assbin/AssbinFileWriter.cpp create mode 100644 code/Assbin/AssbinFileWriter.h diff --git a/code/Assbin/AssbinExporter.cpp b/code/Assbin/AssbinExporter.cpp index 86a42c400..c748624a7 100644 --- a/code/Assbin/AssbinExporter.cpp +++ b/code/Assbin/AssbinExporter.cpp @@ -46,800 +46,16 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #ifndef ASSIMP_BUILD_NO_EXPORT #ifndef ASSIMP_BUILD_NO_ASSBIN_EXPORTER -#include "Common/assbin_chunks.h" -#include "PostProcessing/ProcessHelper.h" +#include "AssbinFileWriter.h" -#include -#include +#include #include #include -#include - -#ifdef ASSIMP_BUILD_NO_OWN_ZLIB -# include -#else -# include "../contrib/zlib/zlib.h" -#endif - -#include namespace Assimp { -template -size_t Write(IOStream * stream, const T& v) { - return stream->Write( &v, sizeof(T), 1 ); -} - -// ----------------------------------------------------------------------------------- -// Serialize an aiString -template <> -inline -size_t Write(IOStream * stream, const aiString& s) { - const size_t s2 = (uint32_t)s.length; - stream->Write(&s,4,1); - stream->Write(s.data,s2,1); - - return s2+4; -} - -// ----------------------------------------------------------------------------------- -// Serialize an unsigned int as uint32_t -template <> -inline -size_t Write(IOStream * stream, const unsigned int& w) { - const uint32_t t = (uint32_t)w; - if (w > t) { - // this shouldn't happen, integers in Assimp data structures never exceed 2^32 - throw DeadlyExportError("loss of data due to 64 -> 32 bit integer conversion"); - } - - stream->Write(&t,4,1); - - return 4; -} - -// ----------------------------------------------------------------------------------- -// Serialize an unsigned int as uint16_t -template <> -inline -size_t Write(IOStream * stream, const uint16_t& w) { - static_assert(sizeof(uint16_t)==2, "sizeof(uint16_t)==2"); - stream->Write(&w,2,1); - - return 2; -} - -// ----------------------------------------------------------------------------------- -// Serialize a float -template <> -inline -size_t Write(IOStream * stream, const float& f) { - static_assert(sizeof(float)==4, "sizeof(float)==4"); - stream->Write(&f,4,1); - - return 4; -} - -// ----------------------------------------------------------------------------------- -// Serialize a double -template <> -inline -size_t Write(IOStream * stream, const double& f) { - static_assert(sizeof(double)==8, "sizeof(double)==8"); - stream->Write(&f,8,1); - - return 8; -} - -// ----------------------------------------------------------------------------------- -// Serialize a vec3 -template <> -inline -size_t Write(IOStream * stream, const aiVector3D& v) { - size_t t = Write(stream,v.x); - t += Write(stream,v.y); - t += Write(stream,v.z); - - return t; -} - -// ----------------------------------------------------------------------------------- -// Serialize a color value -template <> -inline -size_t Write(IOStream * stream, const aiColor3D& v) { - size_t t = Write(stream,v.r); - t += Write(stream,v.g); - t += Write(stream,v.b); - - return t; -} - -// ----------------------------------------------------------------------------------- -// Serialize a color value -template <> -inline -size_t Write(IOStream * stream, const aiColor4D& v) { - size_t t = Write(stream,v.r); - t += Write(stream,v.g); - t += Write(stream,v.b); - t += Write(stream,v.a); - - return t; -} - -// ----------------------------------------------------------------------------------- -// Serialize a quaternion -template <> -inline -size_t Write(IOStream * stream, const aiQuaternion& v) { - size_t t = Write(stream,v.w); - t += Write(stream,v.x); - t += Write(stream,v.y); - t += Write(stream,v.z); - ai_assert(t == 16); - - return 16; -} - -// ----------------------------------------------------------------------------------- -// Serialize a vertex weight -template <> -inline -size_t Write(IOStream * stream, const aiVertexWeight& v) { - size_t t = Write(stream,v.mVertexId); - - return t+Write(stream,v.mWeight); -} - -// ----------------------------------------------------------------------------------- -// Serialize a mat4x4 -template <> -inline -size_t Write(IOStream * stream, const aiMatrix4x4& m) { - for (unsigned int i = 0; i < 4;++i) { - for (unsigned int i2 = 0; i2 < 4;++i2) { - Write(stream,m[i][i2]); - } - } - - return 64; -} - -// ----------------------------------------------------------------------------------- -// Serialize an aiVectorKey -template <> -inline -size_t Write(IOStream * stream, const aiVectorKey& v) { - const size_t t = Write(stream,v.mTime); - return t + Write(stream,v.mValue); -} - -// ----------------------------------------------------------------------------------- -// Serialize an aiQuatKey -template <> -inline -size_t Write(IOStream * stream, const aiQuatKey& v) { - const size_t t = Write(stream,v.mTime); - return t + Write(stream,v.mValue); -} - -template -inline -size_t WriteBounds(IOStream * stream, const T* in, unsigned int size) { - T minc, maxc; - ArrayBounds(in,size,minc,maxc); - - const size_t t = Write(stream,minc); - return t + Write(stream,maxc); -} - -// We use this to write out non-byte arrays so that we write using the specializations. -// This way we avoid writing out extra bytes that potentially come from struct alignment. -template -inline -size_t WriteArray(IOStream * stream, const T* in, unsigned int size) { - size_t n = 0; - for (unsigned int i=0; i(stream,in[i]); - - return n; -} - -// ---------------------------------------------------------------------------------- -/** @class AssbinChunkWriter - * @brief Chunk writer mechanism for the .assbin file structure - * - * This is a standard in-memory IOStream (most of the code is based on BlobIOStream), - * the difference being that this takes another IOStream as a "container" in the - * constructor, and when it is destroyed, it appends the magic number, the chunk size, - * and the chunk contents to the container stream. This allows relatively easy chunk - * chunk construction, even recursively. - */ -class AssbinChunkWriter : public IOStream -{ -private: - - uint8_t* buffer; - uint32_t magic; - IOStream * container; - size_t cur_size, cursor, initial; - -private: - // ------------------------------------------------------------------- - void Grow(size_t need = 0) - { - size_t new_size = std::max(initial, std::max( need, cur_size+(cur_size>>1) )); - - const uint8_t* const old = buffer; - buffer = new uint8_t[new_size]; - - if (old) { - memcpy(buffer,old,cur_size); - delete[] old; - } - - cur_size = new_size; - } - -public: - - AssbinChunkWriter( IOStream * container, uint32_t magic, size_t initial = 4096) - : buffer(NULL), magic(magic), container(container), cur_size(0), cursor(0), initial(initial) - { - } - - virtual ~AssbinChunkWriter() - { - if (container) { - container->Write( &magic, sizeof(uint32_t), 1 ); - container->Write( &cursor, sizeof(uint32_t), 1 ); - container->Write( buffer, 1, cursor ); - } - if (buffer) delete[] buffer; - } - - void * GetBufferPointer() { return buffer; } - - // ------------------------------------------------------------------- - virtual size_t Read(void* /*pvBuffer*/, size_t /*pSize*/, size_t /*pCount*/) { - return 0; - } - virtual aiReturn Seek(size_t /*pOffset*/, aiOrigin /*pOrigin*/) { - return aiReturn_FAILURE; - } - virtual size_t Tell() const { - return cursor; - } - virtual void Flush() { - // not implemented - } - - virtual size_t FileSize() const { - return cursor; - } - - // ------------------------------------------------------------------- - virtual size_t Write(const void* pvBuffer, size_t pSize, size_t pCount) { - pSize *= pCount; - if (cursor + pSize > cur_size) { - Grow(cursor + pSize); - } - - memcpy(buffer+cursor, pvBuffer, pSize); - cursor += pSize; - - return pCount; - } - -}; - -// ---------------------------------------------------------------------------------- -/** @class AssbinExport - * @brief Assbin exporter class - * - * This class performs the .assbin exporting, and is responsible for the file layout. - */ -class AssbinExport -{ -private: - bool shortened; - bool compressed; - -protected: - // ----------------------------------------------------------------------------------- - void WriteBinaryNode( IOStream * container, const aiNode* node) - { - AssbinChunkWriter chunk( container, ASSBIN_CHUNK_AINODE ); - - unsigned int nb_metadata = (node->mMetaData != NULL ? node->mMetaData->mNumProperties : 0); - - Write(&chunk,node->mName); - Write(&chunk,node->mTransformation); - Write(&chunk,node->mNumChildren); - Write(&chunk,node->mNumMeshes); - Write(&chunk,nb_metadata); - - for (unsigned int i = 0; i < node->mNumMeshes;++i) { - Write(&chunk,node->mMeshes[i]); - } - - for (unsigned int i = 0; i < node->mNumChildren;++i) { - WriteBinaryNode( &chunk, node->mChildren[i] ); - } - - for (unsigned int i = 0; i < nb_metadata; ++i) { - const aiString& key = node->mMetaData->mKeys[i]; - aiMetadataType type = node->mMetaData->mValues[i].mType; - void* value = node->mMetaData->mValues[i].mData; - - Write(&chunk, key); - Write(&chunk, type); - - switch (type) { - case AI_BOOL: - Write(&chunk, *((bool*) value)); - break; - case AI_INT32: - Write(&chunk, *((int32_t*) value)); - break; - case AI_UINT64: - Write(&chunk, *((uint64_t*) value)); - break; - case AI_FLOAT: - Write(&chunk, *((float*) value)); - break; - case AI_DOUBLE: - Write(&chunk, *((double*) value)); - break; - case AI_AISTRING: - Write(&chunk, *((aiString*) value)); - break; - case AI_AIVECTOR3D: - Write(&chunk, *((aiVector3D*) value)); - break; -#ifdef SWIG - case FORCE_32BIT: -#endif // SWIG - default: - break; - } - } - } - - // ----------------------------------------------------------------------------------- - void WriteBinaryTexture(IOStream * container, const aiTexture* tex) - { - AssbinChunkWriter chunk( container, ASSBIN_CHUNK_AITEXTURE ); - - Write(&chunk,tex->mWidth); - Write(&chunk,tex->mHeight); - // Write the texture format, but don't include the null terminator. - chunk.Write( tex->achFormatHint, sizeof(char), HINTMAXTEXTURELEN - 1 ); - - if(!shortened) { - if (!tex->mHeight) { - chunk.Write(tex->pcData,1,tex->mWidth); - } - else { - chunk.Write(tex->pcData,1,tex->mWidth*tex->mHeight*4); - } - } - - } - - // ----------------------------------------------------------------------------------- - void WriteBinaryBone(IOStream * container, const aiBone* b) - { - AssbinChunkWriter chunk( container, ASSBIN_CHUNK_AIBONE ); - - Write(&chunk,b->mName); - Write(&chunk,b->mNumWeights); - Write(&chunk,b->mOffsetMatrix); - - // for the moment we write dumb min/max values for the bones, too. - // maybe I'll add a better, hash-like solution later - if (shortened) { - WriteBounds(&chunk,b->mWeights,b->mNumWeights); - } // else write as usual - else WriteArray(&chunk,b->mWeights,b->mNumWeights); - } - - // ----------------------------------------------------------------------------------- - void WriteBinaryMesh(IOStream * container, const aiMesh* mesh) - { - AssbinChunkWriter chunk( container, ASSBIN_CHUNK_AIMESH ); - - Write(&chunk,mesh->mPrimitiveTypes); - Write(&chunk,mesh->mNumVertices); - Write(&chunk,mesh->mNumFaces); - Write(&chunk,mesh->mNumBones); - Write(&chunk,mesh->mMaterialIndex); - - // first of all, write bits for all existent vertex components - unsigned int c = 0; - if (mesh->mVertices) { - c |= ASSBIN_MESH_HAS_POSITIONS; - } - if (mesh->mNormals) { - c |= ASSBIN_MESH_HAS_NORMALS; - } - if (mesh->mTangents && mesh->mBitangents) { - c |= ASSBIN_MESH_HAS_TANGENTS_AND_BITANGENTS; - } - for (unsigned int n = 0; n < AI_MAX_NUMBER_OF_TEXTURECOORDS;++n) { - if (!mesh->mTextureCoords[n]) { - break; - } - c |= ASSBIN_MESH_HAS_TEXCOORD(n); - } - for (unsigned int n = 0; n < AI_MAX_NUMBER_OF_COLOR_SETS;++n) { - if (!mesh->mColors[n]) { - break; - } - c |= ASSBIN_MESH_HAS_COLOR(n); - } - Write(&chunk,c); - - aiVector3D minVec, maxVec; - if (mesh->mVertices) { - if (shortened) { - WriteBounds(&chunk,mesh->mVertices,mesh->mNumVertices); - } // else write as usual - else WriteArray(&chunk,mesh->mVertices,mesh->mNumVertices); - } - if (mesh->mNormals) { - if (shortened) { - WriteBounds(&chunk,mesh->mNormals,mesh->mNumVertices); - } // else write as usual - else WriteArray(&chunk,mesh->mNormals,mesh->mNumVertices); - } - if (mesh->mTangents && mesh->mBitangents) { - if (shortened) { - WriteBounds(&chunk,mesh->mTangents,mesh->mNumVertices); - WriteBounds(&chunk,mesh->mBitangents,mesh->mNumVertices); - } // else write as usual - else { - WriteArray(&chunk,mesh->mTangents,mesh->mNumVertices); - WriteArray(&chunk,mesh->mBitangents,mesh->mNumVertices); - } - } - for (unsigned int n = 0; n < AI_MAX_NUMBER_OF_COLOR_SETS;++n) { - if (!mesh->mColors[n]) - break; - - if (shortened) { - WriteBounds(&chunk,mesh->mColors[n],mesh->mNumVertices); - } // else write as usual - else WriteArray(&chunk,mesh->mColors[n],mesh->mNumVertices); - } - for (unsigned int n = 0; n < AI_MAX_NUMBER_OF_TEXTURECOORDS;++n) { - if (!mesh->mTextureCoords[n]) - break; - - // write number of UV components - Write(&chunk,mesh->mNumUVComponents[n]); - - if (shortened) { - WriteBounds(&chunk,mesh->mTextureCoords[n],mesh->mNumVertices); - } // else write as usual - else WriteArray(&chunk,mesh->mTextureCoords[n],mesh->mNumVertices); - } - - // write faces. There are no floating-point calculations involved - // in these, so we can write a simple hash over the face data - // to the dump file. We generate a single 32 Bit hash for 512 faces - // using Assimp's standard hashing function. - if (shortened) { - unsigned int processed = 0; - for (unsigned int job;(job = std::min(mesh->mNumFaces-processed,512u));processed += job) { - - uint32_t hash = 0; - for (unsigned int a = 0; a < job;++a) { - - const aiFace& f = mesh->mFaces[processed+a]; - uint32_t tmp = f.mNumIndices; - hash = SuperFastHash(reinterpret_cast(&tmp),sizeof tmp,hash); - for (unsigned int i = 0; i < f.mNumIndices; ++i) { - static_assert(AI_MAX_VERTICES <= 0xffffffff, "AI_MAX_VERTICES <= 0xffffffff"); - tmp = static_cast( f.mIndices[i] ); - hash = SuperFastHash(reinterpret_cast(&tmp),sizeof tmp,hash); - } - } - Write(&chunk,hash); - } - } - else // else write as usual - { - // if there are less than 2^16 vertices, we can simply use 16 bit integers ... - for (unsigned int i = 0; i < mesh->mNumFaces;++i) { - const aiFace& f = mesh->mFaces[i]; - - static_assert(AI_MAX_FACE_INDICES <= 0xffff, "AI_MAX_FACE_INDICES <= 0xffff"); - Write(&chunk,f.mNumIndices); - - for (unsigned int a = 0; a < f.mNumIndices;++a) { - if (mesh->mNumVertices < (1u<<16)) { - Write(&chunk,f.mIndices[a]); - } - else Write(&chunk,f.mIndices[a]); - } - } - } - - // write bones - if (mesh->mNumBones) { - for (unsigned int a = 0; a < mesh->mNumBones;++a) { - const aiBone* b = mesh->mBones[a]; - WriteBinaryBone(&chunk,b); - } - } - } - - // ----------------------------------------------------------------------------------- - void WriteBinaryMaterialProperty(IOStream * container, const aiMaterialProperty* prop) - { - AssbinChunkWriter chunk( container, ASSBIN_CHUNK_AIMATERIALPROPERTY ); - - Write(&chunk,prop->mKey); - Write(&chunk,prop->mSemantic); - Write(&chunk,prop->mIndex); - - Write(&chunk,prop->mDataLength); - Write(&chunk,(unsigned int)prop->mType); - chunk.Write(prop->mData,1,prop->mDataLength); - } - - // ----------------------------------------------------------------------------------- - void WriteBinaryMaterial(IOStream * container, const aiMaterial* mat) - { - AssbinChunkWriter chunk( container, ASSBIN_CHUNK_AIMATERIAL); - - Write(&chunk,mat->mNumProperties); - for (unsigned int i = 0; i < mat->mNumProperties;++i) { - WriteBinaryMaterialProperty( &chunk, mat->mProperties[i]); - } - } - - // ----------------------------------------------------------------------------------- - void WriteBinaryNodeAnim(IOStream * container, const aiNodeAnim* nd) - { - AssbinChunkWriter chunk( container, ASSBIN_CHUNK_AINODEANIM ); - - Write(&chunk,nd->mNodeName); - Write(&chunk,nd->mNumPositionKeys); - Write(&chunk,nd->mNumRotationKeys); - Write(&chunk,nd->mNumScalingKeys); - Write(&chunk,nd->mPreState); - Write(&chunk,nd->mPostState); - - if (nd->mPositionKeys) { - if (shortened) { - WriteBounds(&chunk,nd->mPositionKeys,nd->mNumPositionKeys); - - } // else write as usual - else WriteArray(&chunk,nd->mPositionKeys,nd->mNumPositionKeys); - } - if (nd->mRotationKeys) { - if (shortened) { - WriteBounds(&chunk,nd->mRotationKeys,nd->mNumRotationKeys); - - } // else write as usual - else WriteArray(&chunk,nd->mRotationKeys,nd->mNumRotationKeys); - } - if (nd->mScalingKeys) { - if (shortened) { - WriteBounds(&chunk,nd->mScalingKeys,nd->mNumScalingKeys); - - } // else write as usual - else WriteArray(&chunk,nd->mScalingKeys,nd->mNumScalingKeys); - } - } - - - // ----------------------------------------------------------------------------------- - void WriteBinaryAnim( IOStream * container, const aiAnimation* anim ) - { - AssbinChunkWriter chunk( container, ASSBIN_CHUNK_AIANIMATION ); - - Write(&chunk,anim->mName); - Write(&chunk,anim->mDuration); - Write(&chunk,anim->mTicksPerSecond); - Write(&chunk,anim->mNumChannels); - - for (unsigned int a = 0; a < anim->mNumChannels;++a) { - const aiNodeAnim* nd = anim->mChannels[a]; - WriteBinaryNodeAnim(&chunk,nd); - } - } - - // ----------------------------------------------------------------------------------- - void WriteBinaryLight( IOStream * container, const aiLight* l ) - { - AssbinChunkWriter chunk( container, ASSBIN_CHUNK_AILIGHT ); - - Write(&chunk,l->mName); - Write(&chunk,l->mType); - - if (l->mType != aiLightSource_DIRECTIONAL) { - Write(&chunk,l->mAttenuationConstant); - Write(&chunk,l->mAttenuationLinear); - Write(&chunk,l->mAttenuationQuadratic); - } - - Write(&chunk,l->mColorDiffuse); - Write(&chunk,l->mColorSpecular); - Write(&chunk,l->mColorAmbient); - - if (l->mType == aiLightSource_SPOT) { - Write(&chunk,l->mAngleInnerCone); - Write(&chunk,l->mAngleOuterCone); - } - - } - - // ----------------------------------------------------------------------------------- - void WriteBinaryCamera( IOStream * container, const aiCamera* cam ) - { - AssbinChunkWriter chunk( container, ASSBIN_CHUNK_AICAMERA ); - - Write(&chunk,cam->mName); - Write(&chunk,cam->mPosition); - Write(&chunk,cam->mLookAt); - Write(&chunk,cam->mUp); - Write(&chunk,cam->mHorizontalFOV); - Write(&chunk,cam->mClipPlaneNear); - Write(&chunk,cam->mClipPlaneFar); - Write(&chunk,cam->mAspect); - } - - // ----------------------------------------------------------------------------------- - void WriteBinaryScene( IOStream * container, const aiScene* scene) - { - AssbinChunkWriter chunk( container, ASSBIN_CHUNK_AISCENE ); - - // basic scene information - Write(&chunk,scene->mFlags); - Write(&chunk,scene->mNumMeshes); - Write(&chunk,scene->mNumMaterials); - Write(&chunk,scene->mNumAnimations); - Write(&chunk,scene->mNumTextures); - Write(&chunk,scene->mNumLights); - Write(&chunk,scene->mNumCameras); - - // write node graph - WriteBinaryNode( &chunk, scene->mRootNode ); - - // write all meshes - for (unsigned int i = 0; i < scene->mNumMeshes;++i) { - const aiMesh* mesh = scene->mMeshes[i]; - WriteBinaryMesh( &chunk,mesh); - } - - // write materials - for (unsigned int i = 0; i< scene->mNumMaterials; ++i) { - const aiMaterial* mat = scene->mMaterials[i]; - WriteBinaryMaterial(&chunk,mat); - } - - // write all animations - for (unsigned int i = 0; i < scene->mNumAnimations;++i) { - const aiAnimation* anim = scene->mAnimations[i]; - WriteBinaryAnim(&chunk,anim); - } - - - // write all textures - for (unsigned int i = 0; i < scene->mNumTextures;++i) { - const aiTexture* mesh = scene->mTextures[i]; - WriteBinaryTexture(&chunk,mesh); - } - - // write lights - for (unsigned int i = 0; i < scene->mNumLights;++i) { - const aiLight* l = scene->mLights[i]; - WriteBinaryLight(&chunk,l); - } - - // write cameras - for (unsigned int i = 0; i < scene->mNumCameras;++i) { - const aiCamera* cam = scene->mCameras[i]; - WriteBinaryCamera(&chunk,cam); - } - - } - -public: - AssbinExport() - : shortened(false), compressed(false) // temporary settings until properties are introduced for exporters - { - } - - // ----------------------------------------------------------------------------------- - // Write a binary model dump - void WriteBinaryDump(const char* pFile, IOSystem* pIOSystem, const aiScene* pScene) - { - IOStream * out = pIOSystem->Open( pFile, "wb" ); - if (!out) return; - - time_t tt = time(NULL); -#if _WIN32 - tm* p = gmtime(&tt); -#else - struct tm now; - tm* p = gmtime_r(&tt, &now); -#endif - - // header - char s[64]; - memset( s, 0, 64 ); -#if _MSC_VER >= 1400 - sprintf_s(s,"ASSIMP.binary-dump.%s",asctime(p)); -#else - ai_snprintf(s,64,"ASSIMP.binary-dump.%s",asctime(p)); -#endif - out->Write( s, 44, 1 ); - // == 44 bytes - - Write( out, ASSBIN_VERSION_MAJOR ); - Write( out, ASSBIN_VERSION_MINOR ); - Write( out, aiGetVersionRevision() ); - Write( out, aiGetCompileFlags() ); - Write( out, shortened ); - Write( out, compressed ); - // == 20 bytes - - char buff[256]; - strncpy(buff,pFile,256); - out->Write(buff,sizeof(char),256); - - char cmd[] = "\0"; - strncpy(buff,cmd,128); - out->Write(buff,sizeof(char),128); - - // leave 64 bytes free for future extensions - memset(buff,0xcd,64); - out->Write(buff,sizeof(char),64); - // == 435 bytes - - // ==== total header size: 512 bytes - ai_assert( out->Tell() == ASSBIN_HEADER_LENGTH ); - - // Up to here the data is uncompressed. For compressed files, the rest - // is compressed using standard DEFLATE from zlib. - if (compressed) - { - AssbinChunkWriter uncompressedStream( NULL, 0 ); - WriteBinaryScene( &uncompressedStream, pScene ); - - uLongf uncompressedSize = static_cast(uncompressedStream.Tell()); - uLongf compressedSize = (uLongf)compressBound(uncompressedSize); - uint8_t* compressedBuffer = new uint8_t[ compressedSize ]; - - int res = compress2( compressedBuffer, &compressedSize, (const Bytef*)uncompressedStream.GetBufferPointer(), uncompressedSize, 9 ); - if(res != Z_OK) - { - delete [] compressedBuffer; - pIOSystem->Close(out); - throw DeadlyExportError("Compression failed."); - } - - out->Write( &uncompressedSize, sizeof(uint32_t), 1 ); - out->Write( compressedBuffer, sizeof(char), compressedSize ); - - delete[] compressedBuffer; - } - else - { - WriteBinaryScene( out, pScene ); - } - - pIOSystem->Close( out ); - } -}; - void ExportSceneAssbin(const char* pFile, IOSystem* pIOSystem, const aiScene* pScene, const ExportProperties* /*pProperties*/) { - AssbinExport exporter; - exporter.WriteBinaryDump( pFile, pIOSystem, pScene ); + DumpSceneToAssbin(pFile, pIOSystem, pScene, false, false); } } // end of namespace Assimp diff --git a/code/Assbin/AssbinFileWriter.cpp b/code/Assbin/AssbinFileWriter.cpp new file mode 100644 index 000000000..041bea748 --- /dev/null +++ b/code/Assbin/AssbinFileWriter.cpp @@ -0,0 +1,858 @@ +/* +Open Asset Import Library (assimp) +---------------------------------------------------------------------- + +Copyright (c) 2006-2020, assimp team + + +All rights reserved. + +Redistribution and use of this software in source and binary forms, +with or without modification, are permitted provided that the +following conditions are met: + +* Redistributions of source code must retain the above + copyright notice, this list of conditions and the + following disclaimer. + +* Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the + following disclaimer in the documentation and/or other + materials provided with the distribution. + +* Neither the name of the assimp team, nor the names of its + contributors may be used to endorse or promote products + derived from this software without specific prior + written permission of the assimp team. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +---------------------------------------------------------------------- +*/ +/** @file AssbinFileWriter.cpp + * @brief Implementation of Assbin file writer. + */ + +#include "AssbinFileWriter.h" + +#include "Common/assbin_chunks.h" +#include "PostProcessing/ProcessHelper.h" + +#include +#include +#include +#include + +#ifdef ASSIMP_BUILD_NO_OWN_ZLIB +# include +#else +# include "../contrib/zlib/zlib.h" +#endif + +#include + +namespace Assimp { + +template +size_t Write(IOStream * stream, const T& v) { + return stream->Write( &v, sizeof(T), 1 ); +} + +// ----------------------------------------------------------------------------------- +// Serialize an aiString +template <> +inline +size_t Write(IOStream * stream, const aiString& s) { + const size_t s2 = (uint32_t)s.length; + stream->Write(&s,4,1); + stream->Write(s.data,s2,1); + + return s2+4; +} + +// ----------------------------------------------------------------------------------- +// Serialize an unsigned int as uint32_t +template <> +inline +size_t Write(IOStream * stream, const unsigned int& w) { + const uint32_t t = (uint32_t)w; + if (w > t) { + // this shouldn't happen, integers in Assimp data structures never exceed 2^32 + throw DeadlyExportError("loss of data due to 64 -> 32 bit integer conversion"); + } + + stream->Write(&t,4,1); + + return 4; +} + +// ----------------------------------------------------------------------------------- +// Serialize an unsigned int as uint16_t +template <> +inline +size_t Write(IOStream * stream, const uint16_t& w) { + static_assert(sizeof(uint16_t)==2, "sizeof(uint16_t)==2"); + stream->Write(&w,2,1); + + return 2; +} + +// ----------------------------------------------------------------------------------- +// Serialize a float +template <> +inline +size_t Write(IOStream * stream, const float& f) { + static_assert(sizeof(float)==4, "sizeof(float)==4"); + stream->Write(&f,4,1); + + return 4; +} + +// ----------------------------------------------------------------------------------- +// Serialize a double +template <> +inline +size_t Write(IOStream * stream, const double& f) { + static_assert(sizeof(double)==8, "sizeof(double)==8"); + stream->Write(&f,8,1); + + return 8; +} + +// ----------------------------------------------------------------------------------- +// Serialize a vec3 +template <> +inline +size_t Write(IOStream * stream, const aiVector3D& v) { + size_t t = Write(stream,v.x); + t += Write(stream,v.y); + t += Write(stream,v.z); + + return t; +} + +// ----------------------------------------------------------------------------------- +// Serialize a color value +template <> +inline +size_t Write(IOStream * stream, const aiColor3D& v) { + size_t t = Write(stream,v.r); + t += Write(stream,v.g); + t += Write(stream,v.b); + + return t; +} + +// ----------------------------------------------------------------------------------- +// Serialize a color value +template <> +inline +size_t Write(IOStream * stream, const aiColor4D& v) { + size_t t = Write(stream,v.r); + t += Write(stream,v.g); + t += Write(stream,v.b); + t += Write(stream,v.a); + + return t; +} + +// ----------------------------------------------------------------------------------- +// Serialize a quaternion +template <> +inline +size_t Write(IOStream * stream, const aiQuaternion& v) { + size_t t = Write(stream,v.w); + t += Write(stream,v.x); + t += Write(stream,v.y); + t += Write(stream,v.z); + ai_assert(t == 16); + + return 16; +} + +// ----------------------------------------------------------------------------------- +// Serialize a vertex weight +template <> +inline +size_t Write(IOStream * stream, const aiVertexWeight& v) { + size_t t = Write(stream,v.mVertexId); + + return t+Write(stream,v.mWeight); +} + +// ----------------------------------------------------------------------------------- +// Serialize a mat4x4 +template <> +inline +size_t Write(IOStream * stream, const aiMatrix4x4& m) { + for (unsigned int i = 0; i < 4;++i) { + for (unsigned int i2 = 0; i2 < 4;++i2) { + Write(stream,m[i][i2]); + } + } + + return 64; +} + +// ----------------------------------------------------------------------------------- +// Serialize an aiVectorKey +template <> +inline +size_t Write(IOStream * stream, const aiVectorKey& v) { + const size_t t = Write(stream,v.mTime); + return t + Write(stream,v.mValue); +} + +// ----------------------------------------------------------------------------------- +// Serialize an aiQuatKey +template <> +inline +size_t Write(IOStream * stream, const aiQuatKey& v) { + const size_t t = Write(stream,v.mTime); + return t + Write(stream,v.mValue); +} + +template +inline +size_t WriteBounds(IOStream * stream, const T* in, unsigned int size) { + T minc, maxc; + ArrayBounds(in,size,minc,maxc); + + const size_t t = Write(stream,minc); + return t + Write(stream,maxc); +} + +// We use this to write out non-byte arrays so that we write using the specializations. +// This way we avoid writing out extra bytes that potentially come from struct alignment. +template +inline +size_t WriteArray(IOStream * stream, const T* in, unsigned int size) { + size_t n = 0; + for (unsigned int i=0; i(stream,in[i]); + + return n; +} + +// ---------------------------------------------------------------------------------- +/** @class AssbinChunkWriter + * @brief Chunk writer mechanism for the .assbin file structure + * + * This is a standard in-memory IOStream (most of the code is based on BlobIOStream), + * the difference being that this takes another IOStream as a "container" in the + * constructor, and when it is destroyed, it appends the magic number, the chunk size, + * and the chunk contents to the container stream. This allows relatively easy chunk + * chunk construction, even recursively. + */ +class AssbinChunkWriter : public IOStream +{ +private: + + uint8_t* buffer; + uint32_t magic; + IOStream * container; + size_t cur_size, cursor, initial; + +private: + // ------------------------------------------------------------------- + void Grow(size_t need = 0) + { + size_t new_size = std::max(initial, std::max( need, cur_size+(cur_size>>1) )); + + const uint8_t* const old = buffer; + buffer = new uint8_t[new_size]; + + if (old) { + memcpy(buffer,old,cur_size); + delete[] old; + } + + cur_size = new_size; + } + +public: + + AssbinChunkWriter( IOStream * container, uint32_t magic, size_t initial = 4096) + : buffer(NULL), magic(magic), container(container), cur_size(0), cursor(0), initial(initial) + { + } + + virtual ~AssbinChunkWriter() + { + if (container) { + container->Write( &magic, sizeof(uint32_t), 1 ); + container->Write( &cursor, sizeof(uint32_t), 1 ); + container->Write( buffer, 1, cursor ); + } + if (buffer) delete[] buffer; + } + + void * GetBufferPointer() { return buffer; } + + // ------------------------------------------------------------------- + virtual size_t Read(void* /*pvBuffer*/, size_t /*pSize*/, size_t /*pCount*/) { + return 0; + } + virtual aiReturn Seek(size_t /*pOffset*/, aiOrigin /*pOrigin*/) { + return aiReturn_FAILURE; + } + virtual size_t Tell() const { + return cursor; + } + virtual void Flush() { + // not implemented + } + + virtual size_t FileSize() const { + return cursor; + } + + // ------------------------------------------------------------------- + virtual size_t Write(const void* pvBuffer, size_t pSize, size_t pCount) { + pSize *= pCount; + if (cursor + pSize > cur_size) { + Grow(cursor + pSize); + } + + memcpy(buffer+cursor, pvBuffer, pSize); + cursor += pSize; + + return pCount; + } + +}; + +// ---------------------------------------------------------------------------------- +/** @class AssbinFileWriter + * @brief Assbin file writer class + * + * This class writes an .assbin file, and is responsible for the file layout. + */ +class AssbinFileWriter +{ +private: + bool shortened; + bool compressed; + +protected: + // ----------------------------------------------------------------------------------- + void WriteBinaryNode( IOStream * container, const aiNode* node) + { + AssbinChunkWriter chunk( container, ASSBIN_CHUNK_AINODE ); + + unsigned int nb_metadata = (node->mMetaData != NULL ? node->mMetaData->mNumProperties : 0); + + Write(&chunk,node->mName); + Write(&chunk,node->mTransformation); + Write(&chunk,node->mNumChildren); + Write(&chunk,node->mNumMeshes); + Write(&chunk,nb_metadata); + + for (unsigned int i = 0; i < node->mNumMeshes;++i) { + Write(&chunk,node->mMeshes[i]); + } + + for (unsigned int i = 0; i < node->mNumChildren;++i) { + WriteBinaryNode( &chunk, node->mChildren[i] ); + } + + for (unsigned int i = 0; i < nb_metadata; ++i) { + const aiString& key = node->mMetaData->mKeys[i]; + aiMetadataType type = node->mMetaData->mValues[i].mType; + void* value = node->mMetaData->mValues[i].mData; + + Write(&chunk, key); + Write(&chunk, type); + + switch (type) { + case AI_BOOL: + Write(&chunk, *((bool*) value)); + break; + case AI_INT32: + Write(&chunk, *((int32_t*) value)); + break; + case AI_UINT64: + Write(&chunk, *((uint64_t*) value)); + break; + case AI_FLOAT: + Write(&chunk, *((float*) value)); + break; + case AI_DOUBLE: + Write(&chunk, *((double*) value)); + break; + case AI_AISTRING: + Write(&chunk, *((aiString*) value)); + break; + case AI_AIVECTOR3D: + Write(&chunk, *((aiVector3D*) value)); + break; +#ifdef SWIG + case FORCE_32BIT: +#endif // SWIG + default: + break; + } + } + } + + // ----------------------------------------------------------------------------------- + void WriteBinaryTexture(IOStream * container, const aiTexture* tex) + { + AssbinChunkWriter chunk( container, ASSBIN_CHUNK_AITEXTURE ); + + Write(&chunk,tex->mWidth); + Write(&chunk,tex->mHeight); + // Write the texture format, but don't include the null terminator. + chunk.Write( tex->achFormatHint, sizeof(char), HINTMAXTEXTURELEN - 1 ); + + if(!shortened) { + if (!tex->mHeight) { + chunk.Write(tex->pcData,1,tex->mWidth); + } + else { + chunk.Write(tex->pcData,1,tex->mWidth*tex->mHeight*4); + } + } + + } + + // ----------------------------------------------------------------------------------- + void WriteBinaryBone(IOStream * container, const aiBone* b) + { + AssbinChunkWriter chunk( container, ASSBIN_CHUNK_AIBONE ); + + Write(&chunk,b->mName); + Write(&chunk,b->mNumWeights); + Write(&chunk,b->mOffsetMatrix); + + // for the moment we write dumb min/max values for the bones, too. + // maybe I'll add a better, hash-like solution later + if (shortened) { + WriteBounds(&chunk,b->mWeights,b->mNumWeights); + } // else write as usual + else WriteArray(&chunk,b->mWeights,b->mNumWeights); + } + + // ----------------------------------------------------------------------------------- + void WriteBinaryMesh(IOStream * container, const aiMesh* mesh) + { + AssbinChunkWriter chunk( container, ASSBIN_CHUNK_AIMESH ); + + Write(&chunk,mesh->mPrimitiveTypes); + Write(&chunk,mesh->mNumVertices); + Write(&chunk,mesh->mNumFaces); + Write(&chunk,mesh->mNumBones); + Write(&chunk,mesh->mMaterialIndex); + + // first of all, write bits for all existent vertex components + unsigned int c = 0; + if (mesh->mVertices) { + c |= ASSBIN_MESH_HAS_POSITIONS; + } + if (mesh->mNormals) { + c |= ASSBIN_MESH_HAS_NORMALS; + } + if (mesh->mTangents && mesh->mBitangents) { + c |= ASSBIN_MESH_HAS_TANGENTS_AND_BITANGENTS; + } + for (unsigned int n = 0; n < AI_MAX_NUMBER_OF_TEXTURECOORDS;++n) { + if (!mesh->mTextureCoords[n]) { + break; + } + c |= ASSBIN_MESH_HAS_TEXCOORD(n); + } + for (unsigned int n = 0; n < AI_MAX_NUMBER_OF_COLOR_SETS;++n) { + if (!mesh->mColors[n]) { + break; + } + c |= ASSBIN_MESH_HAS_COLOR(n); + } + Write(&chunk,c); + + aiVector3D minVec, maxVec; + if (mesh->mVertices) { + if (shortened) { + WriteBounds(&chunk,mesh->mVertices,mesh->mNumVertices); + } // else write as usual + else WriteArray(&chunk,mesh->mVertices,mesh->mNumVertices); + } + if (mesh->mNormals) { + if (shortened) { + WriteBounds(&chunk,mesh->mNormals,mesh->mNumVertices); + } // else write as usual + else WriteArray(&chunk,mesh->mNormals,mesh->mNumVertices); + } + if (mesh->mTangents && mesh->mBitangents) { + if (shortened) { + WriteBounds(&chunk,mesh->mTangents,mesh->mNumVertices); + WriteBounds(&chunk,mesh->mBitangents,mesh->mNumVertices); + } // else write as usual + else { + WriteArray(&chunk,mesh->mTangents,mesh->mNumVertices); + WriteArray(&chunk,mesh->mBitangents,mesh->mNumVertices); + } + } + for (unsigned int n = 0; n < AI_MAX_NUMBER_OF_COLOR_SETS;++n) { + if (!mesh->mColors[n]) + break; + + if (shortened) { + WriteBounds(&chunk,mesh->mColors[n],mesh->mNumVertices); + } // else write as usual + else WriteArray(&chunk,mesh->mColors[n],mesh->mNumVertices); + } + for (unsigned int n = 0; n < AI_MAX_NUMBER_OF_TEXTURECOORDS;++n) { + if (!mesh->mTextureCoords[n]) + break; + + // write number of UV components + Write(&chunk,mesh->mNumUVComponents[n]); + + if (shortened) { + WriteBounds(&chunk,mesh->mTextureCoords[n],mesh->mNumVertices); + } // else write as usual + else WriteArray(&chunk,mesh->mTextureCoords[n],mesh->mNumVertices); + } + + // write faces. There are no floating-point calculations involved + // in these, so we can write a simple hash over the face data + // to the dump file. We generate a single 32 Bit hash for 512 faces + // using Assimp's standard hashing function. + if (shortened) { + unsigned int processed = 0; + for (unsigned int job;(job = std::min(mesh->mNumFaces-processed,512u));processed += job) { + + uint32_t hash = 0; + for (unsigned int a = 0; a < job;++a) { + + const aiFace& f = mesh->mFaces[processed+a]; + uint32_t tmp = f.mNumIndices; + hash = SuperFastHash(reinterpret_cast(&tmp),sizeof tmp,hash); + for (unsigned int i = 0; i < f.mNumIndices; ++i) { + static_assert(AI_MAX_VERTICES <= 0xffffffff, "AI_MAX_VERTICES <= 0xffffffff"); + tmp = static_cast( f.mIndices[i] ); + hash = SuperFastHash(reinterpret_cast(&tmp),sizeof tmp,hash); + } + } + Write(&chunk,hash); + } + } + else // else write as usual + { + // if there are less than 2^16 vertices, we can simply use 16 bit integers ... + for (unsigned int i = 0; i < mesh->mNumFaces;++i) { + const aiFace& f = mesh->mFaces[i]; + + static_assert(AI_MAX_FACE_INDICES <= 0xffff, "AI_MAX_FACE_INDICES <= 0xffff"); + Write(&chunk,f.mNumIndices); + + for (unsigned int a = 0; a < f.mNumIndices;++a) { + if (mesh->mNumVertices < (1u<<16)) { + Write(&chunk,f.mIndices[a]); + } + else Write(&chunk,f.mIndices[a]); + } + } + } + + // write bones + if (mesh->mNumBones) { + for (unsigned int a = 0; a < mesh->mNumBones;++a) { + const aiBone* b = mesh->mBones[a]; + WriteBinaryBone(&chunk,b); + } + } + } + + // ----------------------------------------------------------------------------------- + void WriteBinaryMaterialProperty(IOStream * container, const aiMaterialProperty* prop) + { + AssbinChunkWriter chunk( container, ASSBIN_CHUNK_AIMATERIALPROPERTY ); + + Write(&chunk,prop->mKey); + Write(&chunk,prop->mSemantic); + Write(&chunk,prop->mIndex); + + Write(&chunk,prop->mDataLength); + Write(&chunk,(unsigned int)prop->mType); + chunk.Write(prop->mData,1,prop->mDataLength); + } + + // ----------------------------------------------------------------------------------- + void WriteBinaryMaterial(IOStream * container, const aiMaterial* mat) + { + AssbinChunkWriter chunk( container, ASSBIN_CHUNK_AIMATERIAL); + + Write(&chunk,mat->mNumProperties); + for (unsigned int i = 0; i < mat->mNumProperties;++i) { + WriteBinaryMaterialProperty( &chunk, mat->mProperties[i]); + } + } + + // ----------------------------------------------------------------------------------- + void WriteBinaryNodeAnim(IOStream * container, const aiNodeAnim* nd) + { + AssbinChunkWriter chunk( container, ASSBIN_CHUNK_AINODEANIM ); + + Write(&chunk,nd->mNodeName); + Write(&chunk,nd->mNumPositionKeys); + Write(&chunk,nd->mNumRotationKeys); + Write(&chunk,nd->mNumScalingKeys); + Write(&chunk,nd->mPreState); + Write(&chunk,nd->mPostState); + + if (nd->mPositionKeys) { + if (shortened) { + WriteBounds(&chunk,nd->mPositionKeys,nd->mNumPositionKeys); + + } // else write as usual + else WriteArray(&chunk,nd->mPositionKeys,nd->mNumPositionKeys); + } + if (nd->mRotationKeys) { + if (shortened) { + WriteBounds(&chunk,nd->mRotationKeys,nd->mNumRotationKeys); + + } // else write as usual + else WriteArray(&chunk,nd->mRotationKeys,nd->mNumRotationKeys); + } + if (nd->mScalingKeys) { + if (shortened) { + WriteBounds(&chunk,nd->mScalingKeys,nd->mNumScalingKeys); + + } // else write as usual + else WriteArray(&chunk,nd->mScalingKeys,nd->mNumScalingKeys); + } + } + + + // ----------------------------------------------------------------------------------- + void WriteBinaryAnim( IOStream * container, const aiAnimation* anim ) + { + AssbinChunkWriter chunk( container, ASSBIN_CHUNK_AIANIMATION ); + + Write(&chunk,anim->mName); + Write(&chunk,anim->mDuration); + Write(&chunk,anim->mTicksPerSecond); + Write(&chunk,anim->mNumChannels); + + for (unsigned int a = 0; a < anim->mNumChannels;++a) { + const aiNodeAnim* nd = anim->mChannels[a]; + WriteBinaryNodeAnim(&chunk,nd); + } + } + + // ----------------------------------------------------------------------------------- + void WriteBinaryLight( IOStream * container, const aiLight* l ) + { + AssbinChunkWriter chunk( container, ASSBIN_CHUNK_AILIGHT ); + + Write(&chunk,l->mName); + Write(&chunk,l->mType); + + if (l->mType != aiLightSource_DIRECTIONAL) { + Write(&chunk,l->mAttenuationConstant); + Write(&chunk,l->mAttenuationLinear); + Write(&chunk,l->mAttenuationQuadratic); + } + + Write(&chunk,l->mColorDiffuse); + Write(&chunk,l->mColorSpecular); + Write(&chunk,l->mColorAmbient); + + if (l->mType == aiLightSource_SPOT) { + Write(&chunk,l->mAngleInnerCone); + Write(&chunk,l->mAngleOuterCone); + } + + } + + // ----------------------------------------------------------------------------------- + void WriteBinaryCamera( IOStream * container, const aiCamera* cam ) + { + AssbinChunkWriter chunk( container, ASSBIN_CHUNK_AICAMERA ); + + Write(&chunk,cam->mName); + Write(&chunk,cam->mPosition); + Write(&chunk,cam->mLookAt); + Write(&chunk,cam->mUp); + Write(&chunk,cam->mHorizontalFOV); + Write(&chunk,cam->mClipPlaneNear); + Write(&chunk,cam->mClipPlaneFar); + Write(&chunk,cam->mAspect); + } + + // ----------------------------------------------------------------------------------- + void WriteBinaryScene( IOStream * container, const aiScene* scene) + { + AssbinChunkWriter chunk( container, ASSBIN_CHUNK_AISCENE ); + + // basic scene information + Write(&chunk,scene->mFlags); + Write(&chunk,scene->mNumMeshes); + Write(&chunk,scene->mNumMaterials); + Write(&chunk,scene->mNumAnimations); + Write(&chunk,scene->mNumTextures); + Write(&chunk,scene->mNumLights); + Write(&chunk,scene->mNumCameras); + + // write node graph + WriteBinaryNode( &chunk, scene->mRootNode ); + + // write all meshes + for (unsigned int i = 0; i < scene->mNumMeshes;++i) { + const aiMesh* mesh = scene->mMeshes[i]; + WriteBinaryMesh( &chunk,mesh); + } + + // write materials + for (unsigned int i = 0; i< scene->mNumMaterials; ++i) { + const aiMaterial* mat = scene->mMaterials[i]; + WriteBinaryMaterial(&chunk,mat); + } + + // write all animations + for (unsigned int i = 0; i < scene->mNumAnimations;++i) { + const aiAnimation* anim = scene->mAnimations[i]; + WriteBinaryAnim(&chunk,anim); + } + + + // write all textures + for (unsigned int i = 0; i < scene->mNumTextures;++i) { + const aiTexture* mesh = scene->mTextures[i]; + WriteBinaryTexture(&chunk,mesh); + } + + // write lights + for (unsigned int i = 0; i < scene->mNumLights;++i) { + const aiLight* l = scene->mLights[i]; + WriteBinaryLight(&chunk,l); + } + + // write cameras + for (unsigned int i = 0; i < scene->mNumCameras;++i) { + const aiCamera* cam = scene->mCameras[i]; + WriteBinaryCamera(&chunk,cam); + } + + } + +public: + AssbinFileWriter(bool shortened, bool compressed) + : shortened(shortened), compressed(compressed) + { + } + + // ----------------------------------------------------------------------------------- + // Write a binary model dump + void WriteBinaryDump(const char* pFile, IOSystem* pIOSystem, const aiScene* pScene) + { + IOStream * out = pIOSystem->Open( pFile, "wb" ); + if (!out) + throw std::runtime_error("Unable to open output file " + std::string(pFile) + '\n'); + + auto CloseIOStream = [&]() { + if (out) { + pIOSystem->Close(out); + out = nullptr; // Ensure this is only done once. + } + }; + + try { + time_t tt = time(NULL); +#if _WIN32 + tm* p = gmtime(&tt); +#else + struct tm now; + tm* p = gmtime_r(&tt, &now); +#endif + + // header + char s[64]; + memset(s, 0, 64); +#if _MSC_VER >= 1400 + sprintf_s(s, "ASSIMP.binary-dump.%s", asctime(p)); +#else + ai_snprintf(s, 64, "ASSIMP.binary-dump.%s", asctime(p)); +#endif + out->Write(s, 44, 1); + // == 44 bytes + + Write(out, ASSBIN_VERSION_MAJOR); + Write(out, ASSBIN_VERSION_MINOR); + Write(out, aiGetVersionRevision()); + Write(out, aiGetCompileFlags()); + Write(out, shortened); + Write(out, compressed); + // == 20 bytes + + char buff[256]; + strncpy(buff, pFile, 256); + out->Write(buff, sizeof(char), 256); + + char cmd[] = "\0"; + strncpy(buff, cmd, 128); + out->Write(buff, sizeof(char), 128); + + // leave 64 bytes free for future extensions + memset(buff, 0xcd, 64); + out->Write(buff, sizeof(char), 64); + // == 435 bytes + + // ==== total header size: 512 bytes + ai_assert(out->Tell() == ASSBIN_HEADER_LENGTH); + + // Up to here the data is uncompressed. For compressed files, the rest + // is compressed using standard DEFLATE from zlib. + if (compressed) + { + AssbinChunkWriter uncompressedStream(NULL, 0); + WriteBinaryScene(&uncompressedStream, pScene); + + uLongf uncompressedSize = static_cast(uncompressedStream.Tell()); + uLongf compressedSize = (uLongf)compressBound(uncompressedSize); + uint8_t* compressedBuffer = new uint8_t[compressedSize]; + + int res = compress2(compressedBuffer, &compressedSize, (const Bytef*)uncompressedStream.GetBufferPointer(), uncompressedSize, 9); + if (res != Z_OK) + { + delete[] compressedBuffer; + throw DeadlyExportError("Compression failed."); + } + + out->Write(&uncompressedSize, sizeof(uint32_t), 1); + out->Write(compressedBuffer, sizeof(char), compressedSize); + + delete[] compressedBuffer; + } + else + { + WriteBinaryScene(out, pScene); + } + + CloseIOStream(); + } + catch (...) { + CloseIOStream(); + throw; + } + } +}; + +void DumpSceneToAssbin( + const char* pFile, IOSystem* pIOSystem, + const aiScene* pScene, bool shortened, bool compressed) { + AssbinFileWriter fileWriter(shortened, compressed); + fileWriter.WriteBinaryDump(pFile, pIOSystem, pScene); +} + +} // end of namespace Assimp diff --git a/code/Assbin/AssbinFileWriter.h b/code/Assbin/AssbinFileWriter.h new file mode 100644 index 000000000..1b151af7d --- /dev/null +++ b/code/Assbin/AssbinFileWriter.h @@ -0,0 +1,65 @@ +/* +Open Asset Import Library (assimp) +---------------------------------------------------------------------- + +Copyright (c) 2006-2020, assimp team + + +All rights reserved. + +Redistribution and use of this software in source and binary forms, +with or without modification, are permitted provided that the +following conditions are met: + +* Redistributions of source code must retain the above + copyright notice, this list of conditions and the + following disclaimer. + +* Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the + following disclaimer in the documentation and/or other + materials provided with the distribution. + +* Neither the name of the assimp team, nor the names of its + contributors may be used to endorse or promote products + derived from this software without specific prior + written permission of the assimp team. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +---------------------------------------------------------------------- +*/ + +/** @file AssbinFileWriter.h + * @brief Declaration of Assbin file writer. + */ + +#ifndef AI_ASSBINFILEWRITER_H_INC +#define AI_ASSBINFILEWRITER_H_INC + +#include +#include +#include + +namespace Assimp { + +void ASSIMP_API DumpSceneToAssbin( + const char* pFile, + IOSystem* pIOSystem, + const aiScene* pScene, + bool shortened, + bool compressed); + +} + +#endif // AI_ASSBINFILEWRITER_H_INC diff --git a/code/CMakeLists.txt b/code/CMakeLists.txt index 9144b4644..650d5f455 100644 --- a/code/CMakeLists.txt +++ b/code/CMakeLists.txt @@ -331,6 +331,8 @@ ADD_ASSIMP_IMPORTER( ASSBIN ADD_ASSIMP_EXPORTER( ASSBIN Assbin/AssbinExporter.h Assbin/AssbinExporter.cpp + Assbin/AssbinFileWriter.h + Assbin/AssbinFileWriter.cpp ) ADD_ASSIMP_EXPORTER( ASSXML diff --git a/tools/assimp_cmd/Main.h b/tools/assimp_cmd/Main.h index bd070102c..7a6ac942d 100644 --- a/tools/assimp_cmd/Main.h +++ b/tools/assimp_cmd/Main.h @@ -126,6 +126,7 @@ enum AssimpCmdError { UnknownFileFormat, NoFileExtensionSpecified, UnknownFileExtension, + ExceptionWasRaised, // Add new error codes here... diff --git a/tools/assimp_cmd/WriteDumb.cpp b/tools/assimp_cmd/WriteDumb.cpp index f019cfd6e..6990b5b14 100644 --- a/tools/assimp_cmd/WriteDumb.cpp +++ b/tools/assimp_cmd/WriteDumb.cpp @@ -60,679 +60,12 @@ const char* AICMD_MSG_DUMP_HELP = ; #include "Common/assbin_chunks.h" +#include +#include FILE* out = NULL; bool shortened = false; -// ----------------------------------------------------------------------------------- -// Compress a binary dump file (beginning at offset head_size) -void CompressBinaryDump(const char* file, unsigned int head_size) -{ - // for simplicity ... copy the file into memory again and compress it there - FILE* p = fopen(file,"r"); - fseek(p,0,SEEK_END); - const uint32_t size = ftell(p); - fseek(p,0,SEEK_SET); - - if (size uint32_t Write(const T&); - -// ----------------------------------------------------------------------------------- -// Serialize an aiString -template <> -inline uint32_t Write(const aiString& s) -{ - const uint32_t s2 = (uint32_t)s.length; - fwrite(&s,4,1,out); - fwrite(s.data,s2,1,out); - return s2+4; -} - -// ----------------------------------------------------------------------------------- -// Serialize an unsigned int as uint32_t -template <> -inline uint32_t Write(const unsigned int& w) -{ - const uint32_t t = (uint32_t)w; - if (w > t) { - // this shouldn't happen, integers in Assimp data structures never exceed 2^32 - printf("loss of data due to 64 -> 32 bit integer conversion"); - } - - fwrite(&t,4,1,out); - return 4; -} - -// ----------------------------------------------------------------------------------- -// Serialize an unsigned int as uint16_t -template <> -inline uint32_t Write(const uint16_t& w) -{ - fwrite(&w,2,1,out); - return 2; -} - -// ----------------------------------------------------------------------------------- -// Serialize a float -template <> -inline uint32_t Write(const float& f) -{ - static_assert(sizeof(float)==4, "sizeof(float)==4"); - fwrite(&f,4,1,out); - return 4; -} - -// ----------------------------------------------------------------------------------- -// Serialize a double -template <> -inline uint32_t Write(const double& f) -{ - static_assert(sizeof(double)==8, "sizeof(double)==8"); - fwrite(&f,8,1,out); - return 8; -} - -// ----------------------------------------------------------------------------------- -// Serialize a vec3 -template <> -inline uint32_t Write(const aiVector3D& v) -{ - uint32_t t = Write(v.x); - t += Write(v.y); - t += Write(v.z); - return t; -} - -// ----------------------------------------------------------------------------------- -// Serialize a color value -template <> -inline uint32_t Write(const aiColor3D& v) -{ - uint32_t t = Write(v.r); - t += Write(v.g); - t += Write(v.b); - return t; -} - -// ----------------------------------------------------------------------------------- -// Serialize a color value -template <> -inline uint32_t Write(const aiColor4D& v) -{ - uint32_t t = Write(v.r); - t += Write(v.g); - t += Write(v.b); - t += Write(v.a); - return t; -} - -// ----------------------------------------------------------------------------------- -// Serialize a quaternion -template <> -inline uint32_t Write(const aiQuaternion& v) -{ - uint32_t t = Write(v.w); - t += Write(v.x); - t += Write(v.y); - t += Write(v.z); - ai_assert(t == 16); - return 16; -} - - -// ----------------------------------------------------------------------------------- -// Serialize a vertex weight -template <> -inline uint32_t Write(const aiVertexWeight& v) -{ - uint32_t t = Write(v.mVertexId); - return t+Write(v.mWeight); -} - -// ----------------------------------------------------------------------------------- -// Serialize a mat4x4 -template <> -inline uint32_t Write(const aiMatrix4x4& m) -{ - for (unsigned int i = 0; i < 4;++i) { - for (unsigned int i2 = 0; i2 < 4;++i2) { - Write(m[i][i2]); - } - } - return 64; -} - -// ----------------------------------------------------------------------------------- -// Serialize an aiVectorKey -template <> -inline uint32_t Write(const aiVectorKey& v) -{ - const uint32_t t = Write(v.mTime); - return t + Write(v.mValue); -} - -// ----------------------------------------------------------------------------------- -// Serialize an aiQuatKey -template <> -inline uint32_t Write(const aiQuatKey& v) -{ - const uint32_t t = Write(v.mTime); - return t + Write(v.mValue); -} - -// ----------------------------------------------------------------------------------- -// Write the min/max values of an array of Ts to the file -template -inline uint32_t WriteBounds(const T* in, unsigned int size) -{ - T minc,maxc; - Assimp::ArrayBounds(in,size,minc,maxc); - - const uint32_t t = Write(minc); - return t + Write(maxc); -} - - - -// ----------------------------------------------------------------------------------- -void ChangeInteger(uint32_t ofs,uint32_t n) -{ - const uint32_t cur = ftell(out); - int retCode; - retCode = fseek(out, ofs, SEEK_SET); - ai_assert(0 == retCode); - fwrite(&n, 4, 1, out); - retCode = fseek(out, cur, SEEK_SET); - ai_assert(0 == retCode); -} - -// ----------------------------------------------------------------------------------- -uint32_t WriteBinaryNode(const aiNode* node) -{ - uint32_t len = 0, old = WriteMagic(ASSBIN_CHUNK_AINODE); - len += Write(node->mName); - len += Write(node->mTransformation); - len += Write(node->mNumChildren); - len += Write(node->mNumMeshes); - - for (unsigned int i = 0; i < node->mNumMeshes;++i) { - len += Write(node->mMeshes[i]); - } - - for (unsigned int i = 0; i < node->mNumChildren;++i) { - len += WriteBinaryNode(node->mChildren[i])+8; - } - - ChangeInteger(old,len); - return len; -} - -// ----------------------------------------------------------------------------------- -uint32_t WriteBinaryTexture(const aiTexture* tex) -{ - uint32_t len = 0, old = WriteMagic(ASSBIN_CHUNK_AITEXTURE); - - len += Write(tex->mWidth); - len += Write(tex->mHeight); - // Write the texture format, but don't include the null terminator. - len += static_cast(fwrite(tex->achFormatHint,sizeof(char),HINTMAXTEXTURELEN - 1,out)); - - if(!shortened) { - if (!tex->mHeight) { - len += static_cast(fwrite(tex->pcData,1,tex->mWidth,out)); - } - else { - len += static_cast(fwrite(tex->pcData,1,tex->mWidth*tex->mHeight*4,out)); - } - } - - ChangeInteger(old,len); - return len; -} - -// ----------------------------------------------------------------------------------- -uint32_t WriteBinaryBone(const aiBone* b) -{ - uint32_t len = 0, old = WriteMagic(ASSBIN_CHUNK_AIBONE); - - len += Write(b->mName); - len += Write(b->mNumWeights); - len += Write(b->mOffsetMatrix); - - // for the moment we write dumb min/max values for the bones, too. - // maybe I'll add a better, hash-like solution later - if (shortened) { - len += WriteBounds(b->mWeights,b->mNumWeights); - } // else write as usual - else len += static_cast(fwrite(b->mWeights,1,b->mNumWeights*sizeof(aiVertexWeight),out)); - - ChangeInteger(old,len); - return len; -} - -// ----------------------------------------------------------------------------------- -uint32_t WriteBinaryMesh(const aiMesh* mesh) -{ - uint32_t len = 0, old = WriteMagic(ASSBIN_CHUNK_AIMESH); - - len += Write(mesh->mPrimitiveTypes); - len += Write(mesh->mNumVertices); - len += Write(mesh->mNumFaces); - len += Write(mesh->mNumBones); - len += Write(mesh->mMaterialIndex); - - // first of all, write bits for all existent vertex components - unsigned int c = 0; - if (mesh->mVertices) { - c |= ASSBIN_MESH_HAS_POSITIONS; - } - if (mesh->mNormals) { - c |= ASSBIN_MESH_HAS_NORMALS; - } - if (mesh->mTangents && mesh->mBitangents) { - c |= ASSBIN_MESH_HAS_TANGENTS_AND_BITANGENTS; - } - for (unsigned int n = 0; n < AI_MAX_NUMBER_OF_TEXTURECOORDS;++n) { - if (!mesh->mTextureCoords[n]) { - break; - } - c |= ASSBIN_MESH_HAS_TEXCOORD(n); - } - for (unsigned int n = 0; n < AI_MAX_NUMBER_OF_COLOR_SETS;++n) { - if (!mesh->mColors[n]) { - break; - } - c |= ASSBIN_MESH_HAS_COLOR(n); - } - len += Write(c); - - aiVector3D minVec, maxVec; - if (mesh->mVertices) { - if (shortened) { - len += WriteBounds(mesh->mVertices,mesh->mNumVertices); - } // else write as usual - else len += static_cast(fwrite(mesh->mVertices,1,12*mesh->mNumVertices,out)); - } - if (mesh->mNormals) { - if (shortened) { - len += WriteBounds(mesh->mNormals,mesh->mNumVertices); - } // else write as usual - else len += static_cast(fwrite(mesh->mNormals,1,12*mesh->mNumVertices,out)); - } - if (mesh->mTangents && mesh->mBitangents) { - if (shortened) { - len += WriteBounds(mesh->mTangents,mesh->mNumVertices); - len += WriteBounds(mesh->mBitangents,mesh->mNumVertices); - } // else write as usual - else { - len += static_cast(fwrite(mesh->mTangents,1,12*mesh->mNumVertices,out)); - len += static_cast(fwrite(mesh->mBitangents,1,12*mesh->mNumVertices,out)); - } - } - for (unsigned int n = 0; n < AI_MAX_NUMBER_OF_COLOR_SETS;++n) { - if (!mesh->mColors[n]) - break; - - if (shortened) { - len += WriteBounds(mesh->mColors[n],mesh->mNumVertices); - } // else write as usual - else len += static_cast(fwrite(mesh->mColors[n],16*mesh->mNumVertices,1,out)); - } - for (unsigned int n = 0; n < AI_MAX_NUMBER_OF_TEXTURECOORDS;++n) { - if (!mesh->mTextureCoords[n]) - break; - - // write number of UV components - len += Write(mesh->mNumUVComponents[n]); - - if (shortened) { - len += WriteBounds(mesh->mTextureCoords[n],mesh->mNumVertices); - } // else write as usual - else len += static_cast(fwrite(mesh->mTextureCoords[n],12*mesh->mNumVertices,1,out)); - } - - // write faces. There are no floating-point calculations involved - // in these, so we can write a simple hash over the face data - // to the dump file. We generate a single 32 Bit hash for 512 faces - // using Assimp's standard hashing function. - if (shortened) { - unsigned int processed = 0; - for (unsigned int job;(job = std::min(mesh->mNumFaces-processed,512u));processed += job) { - - uint32_t hash = 0; - for (unsigned int a = 0; a < job;++a) { - - const aiFace& f = mesh->mFaces[processed+a]; - uint32_t tmp = f.mNumIndices; - hash = SuperFastHash(reinterpret_cast(&tmp),sizeof tmp,hash); - for (unsigned int i = 0; i < f.mNumIndices; ++i) { - static_assert(AI_MAX_VERTICES <= 0xffffffff, "AI_MAX_VERTICES <= 0xffffffff"); - tmp = static_cast( f.mIndices[i] ); - hash = SuperFastHash(reinterpret_cast(&tmp),sizeof tmp,hash); - } - } - len += Write(hash); - } - } - else // else write as usual - { - // if there are less than 2^16 vertices, we can simply use 16 bit integers ... - for (unsigned int i = 0; i < mesh->mNumFaces;++i) { - const aiFace& f = mesh->mFaces[i]; - - static_assert(AI_MAX_FACE_INDICES <= 0xffff, "AI_MAX_FACE_INDICES <= 0xffff"); - len += Write(f.mNumIndices); - - for (unsigned int a = 0; a < f.mNumIndices;++a) { - if (mesh->mNumVertices < (1u<<16)) { - len += Write(f.mIndices[a]); - } - else len += Write(f.mIndices[a]); - } - } - } - - // write bones - if (mesh->mNumBones) { - for (unsigned int a = 0; a < mesh->mNumBones;++a) { - const aiBone* b = mesh->mBones[a]; - len += WriteBinaryBone(b)+8; - } - } - - ChangeInteger(old,len); - return len; -} - -// ----------------------------------------------------------------------------------- -uint32_t WriteBinaryMaterialProperty(const aiMaterialProperty* prop) -{ - uint32_t len = 0, old = WriteMagic(ASSBIN_CHUNK_AIMATERIALPROPERTY); - - len += Write(prop->mKey); - len += Write(prop->mSemantic); - len += Write(prop->mIndex); - - len += Write(prop->mDataLength); - len += Write((unsigned int)prop->mType); - len += static_cast(fwrite(prop->mData,1,prop->mDataLength,out)); - - ChangeInteger(old,len); - return len; -} - -// ----------------------------------------------------------------------------------- -uint32_t WriteBinaryMaterial(const aiMaterial* mat) -{ - uint32_t len = 0, old = WriteMagic(ASSBIN_CHUNK_AIMATERIAL); - - len += Write(mat->mNumProperties); - for (unsigned int i = 0; i < mat->mNumProperties;++i) { - len += WriteBinaryMaterialProperty(mat->mProperties[i])+8; - } - - ChangeInteger(old,len); - return len; -} - -// ----------------------------------------------------------------------------------- -uint32_t WriteBinaryNodeAnim(const aiNodeAnim* nd) -{ - uint32_t len = 0, old = WriteMagic(ASSBIN_CHUNK_AINODEANIM); - - len += Write(nd->mNodeName); - len += Write(nd->mNumPositionKeys); - len += Write(nd->mNumRotationKeys); - len += Write(nd->mNumScalingKeys); - len += Write(nd->mPreState); - len += Write(nd->mPostState); - - if (nd->mPositionKeys) { - if (shortened) { - len += WriteBounds(nd->mPositionKeys,nd->mNumPositionKeys); - - } // else write as usual - else len += static_cast(fwrite(nd->mPositionKeys,1,nd->mNumPositionKeys*sizeof(aiVectorKey),out)); - } - if (nd->mRotationKeys) { - if (shortened) { - len += WriteBounds(nd->mRotationKeys,nd->mNumRotationKeys); - - } // else write as usual - else len += static_cast(fwrite(nd->mRotationKeys,1,nd->mNumRotationKeys*sizeof(aiQuatKey),out)); - } - if (nd->mScalingKeys) { - if (shortened) { - len += WriteBounds(nd->mScalingKeys,nd->mNumScalingKeys); - - } // else write as usual - else len += static_cast(fwrite(nd->mScalingKeys,1,nd->mNumScalingKeys*sizeof(aiVectorKey),out)); - } - - ChangeInteger(old,len); - return len; -} - - -// ----------------------------------------------------------------------------------- -uint32_t WriteBinaryAnim(const aiAnimation* anim) -{ - uint32_t len = 0, old = WriteMagic(ASSBIN_CHUNK_AIANIMATION); - - len += Write (anim->mName); - len += Write (anim->mDuration); - len += Write (anim->mTicksPerSecond); - len += Write(anim->mNumChannels); - - for (unsigned int a = 0; a < anim->mNumChannels;++a) { - const aiNodeAnim* nd = anim->mChannels[a]; - len += WriteBinaryNodeAnim(nd)+8; - } - - ChangeInteger(old,len); - return len; -} - -// ----------------------------------------------------------------------------------- -uint32_t WriteBinaryLight(const aiLight* l) -{ - uint32_t len = 0, old = WriteMagic(ASSBIN_CHUNK_AILIGHT); - - len += Write(l->mName); - len += Write(l->mType); - - if (l->mType != aiLightSource_DIRECTIONAL) { - len += Write(l->mAttenuationConstant); - len += Write(l->mAttenuationLinear); - len += Write(l->mAttenuationQuadratic); - } - - len += Write(l->mColorDiffuse); - len += Write(l->mColorSpecular); - len += Write(l->mColorAmbient); - - if (l->mType == aiLightSource_SPOT) { - len += Write(l->mAngleInnerCone); - len += Write(l->mAngleOuterCone); - } - - ChangeInteger(old,len); - return len; -} - -// ----------------------------------------------------------------------------------- -uint32_t WriteBinaryCamera(const aiCamera* cam) -{ - uint32_t len = 0, old = WriteMagic(ASSBIN_CHUNK_AICAMERA); - - len += Write(cam->mName); - len += Write(cam->mPosition); - len += Write(cam->mLookAt); - len += Write(cam->mUp); - len += Write(cam->mHorizontalFOV); - len += Write(cam->mClipPlaneNear); - len += Write(cam->mClipPlaneFar); - len += Write(cam->mAspect); - - ChangeInteger(old,len); - return len; -} - -// ----------------------------------------------------------------------------------- -uint32_t WriteBinaryScene(const aiScene* scene) -{ - uint32_t len = 0, old = WriteMagic(ASSBIN_CHUNK_AISCENE); - - // basic scene information - len += Write(scene->mFlags); - len += Write(scene->mNumMeshes); - len += Write(scene->mNumMaterials); - len += Write(scene->mNumAnimations); - len += Write(scene->mNumTextures); - len += Write(scene->mNumLights); - len += Write(scene->mNumCameras); - - // write node graph - len += WriteBinaryNode(scene->mRootNode)+8; - - // write all meshes - for (unsigned int i = 0; i < scene->mNumMeshes;++i) { - const aiMesh* mesh = scene->mMeshes[i]; - len += WriteBinaryMesh(mesh)+8; - } - - // write materials - for (unsigned int i = 0; i< scene->mNumMaterials; ++i) { - const aiMaterial* mat = scene->mMaterials[i]; - len += WriteBinaryMaterial(mat)+8; - } - - // write all animations - for (unsigned int i = 0; i < scene->mNumAnimations;++i) { - const aiAnimation* anim = scene->mAnimations[i]; - len += WriteBinaryAnim(anim)+8; - } - - - // write all textures - for (unsigned int i = 0; i < scene->mNumTextures;++i) { - const aiTexture* mesh = scene->mTextures[i]; - len += WriteBinaryTexture(mesh)+8; - } - - // write lights - for (unsigned int i = 0; i < scene->mNumLights;++i) { - const aiLight* l = scene->mLights[i]; - len += WriteBinaryLight(l)+8; - } - - // write cameras - for (unsigned int i = 0; i < scene->mNumCameras;++i) { - const aiCamera* cam = scene->mCameras[i]; - len += WriteBinaryCamera(cam)+8; - } - - ChangeInteger(old,len); - return len; -} - -// ----------------------------------------------------------------------------------- -// Write a binary model dump -void WriteBinaryDump(const aiScene* scene, FILE* _out, const char* src, const char* cmd, - bool _shortened, bool compressed, ImportData& /*imp*/) -{ - out = _out; - shortened = _shortened; - - time_t tt = time(NULL); -#if _WIN32 - tm* p = gmtime(&tt); -#else - struct tm now; - tm* p = gmtime_r(&tt, &now); -#endif - ai_assert(nullptr != p); - - // header - fprintf(out,"ASSIMP.binary-dump.%s",asctime(p)); - // == 44 bytes - - Write(ASSBIN_VERSION_MAJOR); - Write(ASSBIN_VERSION_MINOR); - Write(aiGetVersionRevision()); - Write(aiGetCompileFlags()); - Write(shortened); - Write(compressed); - // == 20 bytes - - { - char buff[256] = { 0 }; - strncpy(buff,src,256); - buff[255] = 0; - fwrite(buff,256,1,out); - } - - { - char buff[128] = { 0 }; - strncpy(buff,cmd,128); - buff[127] = 0; - fwrite(buff,128,1,out); - } - - // leave 64 bytes free for future extensions - { - char buff[64]; - memset(buff,0xcd,64); - fwrite(buff,64,1,out); - } - // == 435 bytes - - // ==== total header size: 512 bytes - ai_assert(ftell(out)==ASSBIN_HEADER_LENGTH); - - // Up to here the data is uncompressed. For compressed files, the rest - // is compressed using standard DEFLATE from zlib. - WriteBinaryScene(scene); -} - // ----------------------------------------------------------------------------------- // Convert a name to standard XML format void ConvertName(aiString& out, const aiString& in) @@ -1408,21 +741,29 @@ int Assimp_Dump (const char* const* params, unsigned int num) return AssimpCmdError::FailedToLoadInputFile; } - // open the output file and build the dump - FILE* o = ::fopen(out.c_str(),(binary ? "wb" : "wt")); - if (!o) { - printf("assimp dump: Unable to open output file %s\n",out.c_str()); - return AssimpCmdError::FailedToOpenOutputFile; - } - if (binary) { - WriteBinaryDump (scene,o,in.c_str(),cmd.c_str(),shortened,compressed,import); + try { + std::unique_ptr pIOSystem(new DefaultIOSystem()); + DumpSceneToAssbin(out.c_str(), pIOSystem.get(), + scene, shortened, compressed); + } + catch (const std::exception& e) { + printf(("assimp dump: " + std::string(e.what())).c_str()); + return AssimpCmdError::ExceptionWasRaised; + } + catch (...) { + printf("assimp dump: An unknown exception occured.\n"); + return AssimpCmdError::ExceptionWasRaised; + } } - else WriteDump (scene,o,in.c_str(),cmd.c_str(),shortened); - fclose(o); - - if (compressed && binary) { - CompressBinaryDump(out.c_str(),ASSBIN_HEADER_LENGTH); + else { + FILE* o = ::fopen(out.c_str(), "wt"); + if (!o) { + printf("assimp dump: Unable to open output file %s\n",out.c_str()); + return AssimpCmdError::FailedToOpenOutputFile; + } + WriteDump (scene,o,in.c_str(),cmd.c_str(),shortened); + fclose(o); } printf("assimp dump: Wrote output dump %s\n",out.c_str()); From 21edb13ff809194d0cb1ee47489f99dacb219759 Mon Sep 17 00:00:00 2001 From: Marc-Antoine Lortie Date: Tue, 28 Jan 2020 10:55:22 -0500 Subject: [PATCH 093/105] Added missing header for unique_ptr. --- tools/assimp_cmd/WriteDumb.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tools/assimp_cmd/WriteDumb.cpp b/tools/assimp_cmd/WriteDumb.cpp index 6990b5b14..494efd9b2 100644 --- a/tools/assimp_cmd/WriteDumb.cpp +++ b/tools/assimp_cmd/WriteDumb.cpp @@ -63,6 +63,8 @@ const char* AICMD_MSG_DUMP_HELP = #include #include +#include + FILE* out = NULL; bool shortened = false; From a328c18286aba201bbd66898304c5b4c945cc151 Mon Sep 17 00:00:00 2001 From: Marc-Antoine Lortie Date: Tue, 28 Jan 2020 11:06:17 -0500 Subject: [PATCH 094/105] Fixed "printf format not a literal error" in build. --- tools/assimp_cmd/WriteDumb.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/assimp_cmd/WriteDumb.cpp b/tools/assimp_cmd/WriteDumb.cpp index 494efd9b2..787356c57 100644 --- a/tools/assimp_cmd/WriteDumb.cpp +++ b/tools/assimp_cmd/WriteDumb.cpp @@ -750,7 +750,7 @@ int Assimp_Dump (const char* const* params, unsigned int num) scene, shortened, compressed); } catch (const std::exception& e) { - printf(("assimp dump: " + std::string(e.what())).c_str()); + printf("%s", ("assimp dump: " + std::string(e.what())).c_str()); return AssimpCmdError::ExceptionWasRaised; } catch (...) { From 5f30d4c0f8b551f87c41b2b300ecfa6111b51fc5 Mon Sep 17 00:00:00 2001 From: Marc-Antoine Lortie Date: Tue, 28 Jan 2020 12:30:09 -0500 Subject: [PATCH 095/105] Added missing cmd writting. --- code/Assbin/AssbinExporter.cpp | 8 +++++++- code/Assbin/AssbinFileWriter.cpp | 7 +++---- code/Assbin/AssbinFileWriter.h | 1 + tools/assimp_cmd/WriteDumb.cpp | 2 +- 4 files changed, 12 insertions(+), 6 deletions(-) diff --git a/code/Assbin/AssbinExporter.cpp b/code/Assbin/AssbinExporter.cpp index c748624a7..496b39d49 100644 --- a/code/Assbin/AssbinExporter.cpp +++ b/code/Assbin/AssbinExporter.cpp @@ -55,7 +55,13 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. namespace Assimp { void ExportSceneAssbin(const char* pFile, IOSystem* pIOSystem, const aiScene* pScene, const ExportProperties* /*pProperties*/) { - DumpSceneToAssbin(pFile, pIOSystem, pScene, false, false); + DumpSceneToAssbin( + pFile, + "\0", // no command(s). + pIOSystem, + pScene, + false, // shortened? + false); // compressed? } } // end of namespace Assimp diff --git a/code/Assbin/AssbinFileWriter.cpp b/code/Assbin/AssbinFileWriter.cpp index 041bea748..daa748f6d 100644 --- a/code/Assbin/AssbinFileWriter.cpp +++ b/code/Assbin/AssbinFileWriter.cpp @@ -754,7 +754,7 @@ public: // ----------------------------------------------------------------------------------- // Write a binary model dump - void WriteBinaryDump(const char* pFile, IOSystem* pIOSystem, const aiScene* pScene) + void WriteBinaryDump(const char* pFile, const char* cmd, IOSystem* pIOSystem, const aiScene* pScene) { IOStream * out = pIOSystem->Open( pFile, "wb" ); if (!out) @@ -799,7 +799,6 @@ public: strncpy(buff, pFile, 256); out->Write(buff, sizeof(char), 256); - char cmd[] = "\0"; strncpy(buff, cmd, 128); out->Write(buff, sizeof(char), 128); @@ -849,10 +848,10 @@ public: }; void DumpSceneToAssbin( - const char* pFile, IOSystem* pIOSystem, + const char* pFile, const char* cmd, IOSystem* pIOSystem, const aiScene* pScene, bool shortened, bool compressed) { AssbinFileWriter fileWriter(shortened, compressed); - fileWriter.WriteBinaryDump(pFile, pIOSystem, pScene); + fileWriter.WriteBinaryDump(pFile, cmd, pIOSystem, pScene); } } // end of namespace Assimp diff --git a/code/Assbin/AssbinFileWriter.h b/code/Assbin/AssbinFileWriter.h index 1b151af7d..25db6db2d 100644 --- a/code/Assbin/AssbinFileWriter.h +++ b/code/Assbin/AssbinFileWriter.h @@ -55,6 +55,7 @@ namespace Assimp { void ASSIMP_API DumpSceneToAssbin( const char* pFile, + const char* cmd, IOSystem* pIOSystem, const aiScene* pScene, bool shortened, diff --git a/tools/assimp_cmd/WriteDumb.cpp b/tools/assimp_cmd/WriteDumb.cpp index 787356c57..1e97b54f2 100644 --- a/tools/assimp_cmd/WriteDumb.cpp +++ b/tools/assimp_cmd/WriteDumb.cpp @@ -746,7 +746,7 @@ int Assimp_Dump (const char* const* params, unsigned int num) if (binary) { try { std::unique_ptr pIOSystem(new DefaultIOSystem()); - DumpSceneToAssbin(out.c_str(), pIOSystem.get(), + DumpSceneToAssbin(out.c_str(), cmd.c_str(), pIOSystem.get(), scene, shortened, compressed); } catch (const std::exception& e) { From dd1a11b58533af01d843edaa73036ad9bde39a8e Mon Sep 17 00:00:00 2001 From: Kim Kulling Date: Tue, 28 Jan 2020 19:37:38 +0100 Subject: [PATCH 096/105] closes https://github.com/assimp/assimp/issues/1592: make install optional, default enabled. --- CMakeLists.txt | 96 +++++++++++++++++++++++++++----------------------- 1 file changed, 52 insertions(+), 44 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 580ce8ea2..fd3f1b802 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -100,6 +100,10 @@ OPTION ( ASSIMP_COVERALLS "Enable this to measure test coverage." OFF ) +OPTION( ASSIMP_INSTALL + "DIsable this if you want to use assimp as a submodule." + ON +) OPTION ( ASSIMP_ERROR_MAX "Enable all warnings." OFF @@ -601,55 +605,59 @@ ENDIF ( ASSIMP_BUILD_TESTS ) # Generate a pkg-config .pc for the Assimp library. CONFIGURE_FILE( "${PROJECT_SOURCE_DIR}/assimp.pc.in" "${PROJECT_BINARY_DIR}/assimp.pc" @ONLY ) -INSTALL( FILES "${PROJECT_BINARY_DIR}/assimp.pc" DESTINATION ${ASSIMP_LIB_INSTALL_DIR}/pkgconfig/ COMPONENT ${LIBASSIMP-DEV_COMPONENT}) +IF ( ASSIMP_INSTALL ) + INSTALL( FILES "${PROJECT_BINARY_DIR}/assimp.pc" DESTINATION ${ASSIMP_LIB_INSTALL_DIR}/pkgconfig/ COMPONENT ${LIBASSIMP-DEV_COMPONENT}) +ENDIF( ASSIMP_INSTALL ) -IF(CMAKE_CPACK_COMMAND AND UNIX AND ASSIMP_OPT_BUILD_PACKAGES) - # Packing information - SET(CPACK_PACKAGE_NAME "assimp{ASSIMP_VERSION_MAJOR}.{ASSIMP_VERSION_MINOR}") - SET(CPACK_PACKAGE_CONTACT "" CACHE STRING "Package maintainer and PGP signer.") - SET(CPACK_PACKAGE_VENDOR "https://github.com/assimp") - SET(CPACK_PACKAGE_DISPLAY_NAME "Assimp ${ASSIMP_VERSION}") - SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY " - Open Asset Import Library ${ASSIMP_VERSION}") - SET(CPACK_PACKAGE_VERSION "${ASSIMP_VERSION}.${ASSIMP_PACKAGE_VERSION}" ) - SET(CPACK_PACKAGE_VERSION_MAJOR "${ASSIMP_VERSION_MAJOR}") - SET(CPACK_PACKAGE_VERSION_MINOR "${ASSIMP_VERSION_MINOR}") - SET(CPACK_PACKAGE_VERSION_PATCH "${ASSIMP_VERSION_PATCH}") - SET(CPACK_PACKAGE_INSTALL_DIRECTORY "assimp${ASSIMP_VERSION_MAJOR}.${ASSIMP_VERSION_MINOR}") - SET(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE") +IF ( ASSIMP_INSTALL ) + IF(CMAKE_CPACK_COMMAND AND UNIX AND ASSIMP_OPT_BUILD_PACKAGES) + # Packing information + SET(CPACK_PACKAGE_NAME "assimp{ASSIMP_VERSION_MAJOR}.{ASSIMP_VERSION_MINOR}") + SET(CPACK_PACKAGE_CONTACT "" CACHE STRING "Package maintainer and PGP signer.") + SET(CPACK_PACKAGE_VENDOR "https://github.com/assimp") + SET(CPACK_PACKAGE_DISPLAY_NAME "Assimp ${ASSIMP_VERSION}") + SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY " - Open Asset Import Library ${ASSIMP_VERSION}") + SET(CPACK_PACKAGE_VERSION "${ASSIMP_VERSION}.${ASSIMP_PACKAGE_VERSION}" ) + SET(CPACK_PACKAGE_VERSION_MAJOR "${ASSIMP_VERSION_MAJOR}") + SET(CPACK_PACKAGE_VERSION_MINOR "${ASSIMP_VERSION_MINOR}") + SET(CPACK_PACKAGE_VERSION_PATCH "${ASSIMP_VERSION_PATCH}") + SET(CPACK_PACKAGE_INSTALL_DIRECTORY "assimp${ASSIMP_VERSION_MAJOR}.${ASSIMP_VERSION_MINOR}") + SET(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE") - STRING(TOUPPER ${LIBASSIMP_COMPONENT} "LIBASSIMP_COMPONENT_UPPER") - STRING(TOUPPER ${LIBASSIMP-DEV_COMPONENT} "LIBASSIMP-DEV_COMPONENT_UPPER") + STRING(TOUPPER ${LIBASSIMP_COMPONENT} "LIBASSIMP_COMPONENT_UPPER") + STRING(TOUPPER ${LIBASSIMP-DEV_COMPONENT} "LIBASSIMP-DEV_COMPONENT_UPPER") - SET(CPACK_COMPONENT_ASSIMP-BIN_DISPLAY_NAME "tools") - SET(CPACK_COMPONENT_ASSIMP-BIN_DEPENDS "${LIBASSIMP_COMPONENT}" ) - SET(CPACK_COMPONENT_${LIBASSIMP_COMPONENT_UPPER}_DISPLAY_NAME "libraries") - SET(CPACK_COMPONENT_${LIBASSIMP-DEV_COMPONENT_UPPER}_DISPLAY_NAME "common headers and installs") - SET(CPACK_COMPONENT_${LIBASSIMP-DEV_COMPONENT_UPPER}_DEPENDS $ "{LIBASSIMP_COMPONENT}" ) - SET(CPACK_COMPONENT_ASSIMP-DEV_DISPLAY_NAME "${CPACK_COMPONENT_${LIBASSIMP-DEV_COMPONENT}_DISPLAY_NAME}" ) - SET(CPACK_COMPONENT_ASSIMP-DEV_DEPENDS "${LIBASSIMP-DEV_COMPONENT}" ) - SET(CPACK_DEBIAN_BUILD_DEPENDS debhelper cmake zlib1g-dev pkg-config) + SET(CPACK_COMPONENT_ASSIMP-BIN_DISPLAY_NAME "tools") + SET(CPACK_COMPONENT_ASSIMP-BIN_DEPENDS "${LIBASSIMP_COMPONENT}" ) + SET(CPACK_COMPONENT_${LIBASSIMP_COMPONENT_UPPER}_DISPLAY_NAME "libraries") + SET(CPACK_COMPONENT_${LIBASSIMP-DEV_COMPONENT_UPPER}_DISPLAY_NAME "common headers and installs") + SET(CPACK_COMPONENT_${LIBASSIMP-DEV_COMPONENT_UPPER}_DEPENDS $ "{LIBASSIMP_COMPONENT}" ) + SET(CPACK_COMPONENT_ASSIMP-DEV_DISPLAY_NAME "${CPACK_COMPONENT_${LIBASSIMP-DEV_COMPONENT}_DISPLAY_NAME}" ) + SET(CPACK_COMPONENT_ASSIMP-DEV_DEPENDS "${LIBASSIMP-DEV_COMPONENT}" ) + SET(CPACK_DEBIAN_BUILD_DEPENDS debhelper cmake zlib1g-dev pkg-config) - # debian - SET(CPACK_DEBIAN_PACKAGE_PRIORITY "optional") - SET(CPACK_DEBIAN_CMAKE_OPTIONS "-DBUILD_ASSIMP_SAMPLES:BOOL=${ASSIMP_BUILD_SAMPLES}") - SET(CPACK_DEBIAN_PACKAGE_SECTION "libs" ) - SET(CPACK_DEBIAN_PACKAGE_DEPENDS "${CPACK_COMPONENTS_ALL}") - SET(CPACK_DEBIAN_PACKAGE_SUGGESTS) - set(cPACK_DEBIAN_PACKAGE_NAME "assimp") - SET(CPACK_DEBIAN_PACKAGE_REMOVE_SOURCE_FILES contrib/gtest contrib/zlib workspaces test doc obj samples packaging) - SET(CPACK_DEBIAN_PACKAGE_SOURCE_COPY svn export --force) - SET(CPACK_DEBIAN_CHANGELOG) - execute_process(COMMAND lsb_release -is - OUTPUT_VARIABLE _lsb_distribution OUTPUT_STRIP_TRAILING_WHITESPACE - RESULT_VARIABLE _lsb_release_failed) - SET(CPACK_DEBIAN_DISTRIBUTION_NAME ${_lsb_distribution} CACHE STRING "Name of the distrubiton") - STRING(TOLOWER ${CPACK_DEBIAN_DISTRIBUTION_NAME} CPACK_DEBIAN_DISTRIBUTION_NAME) - IF( ${CPACK_DEBIAN_DISTRIBUTION_NAME} STREQUAL "ubuntu" ) - SET(CPACK_DEBIAN_DISTRIBUTION_RELEASES lucid maverick natty oneiric precise CACHE STRING "Release code-names of the distrubiton release") + # debian + SET(CPACK_DEBIAN_PACKAGE_PRIORITY "optional") + SET(CPACK_DEBIAN_CMAKE_OPTIONS "-DBUILD_ASSIMP_SAMPLES:BOOL=${ASSIMP_BUILD_SAMPLES}") + SET(CPACK_DEBIAN_PACKAGE_SECTION "libs" ) + SET(CPACK_DEBIAN_PACKAGE_DEPENDS "${CPACK_COMPONENTS_ALL}") + SET(CPACK_DEBIAN_PACKAGE_SUGGESTS) + SET(cPACK_DEBIAN_PACKAGE_NAME "assimp") + SET(CPACK_DEBIAN_PACKAGE_REMOVE_SOURCE_FILES contrib/gtest contrib/zlib workspaces test doc obj samples packaging) + SET(CPACK_DEBIAN_PACKAGE_SOURCE_COPY svn export --force) + SET(CPACK_DEBIAN_CHANGELOG) + execute_process(COMMAND lsb_release -is + OUTPUT_VARIABLE _lsb_distribution OUTPUT_STRIP_TRAILING_WHITESPACE + RESULT_VARIABLE _lsb_release_failed) + SET(CPACK_DEBIAN_DISTRIBUTION_NAME ${_lsb_distribution} CACHE STRING "Name of the distrubiton") + STRING(TOLOWER ${CPACK_DEBIAN_DISTRIBUTION_NAME} CPACK_DEBIAN_DISTRIBUTION_NAME) + IF( ${CPACK_DEBIAN_DISTRIBUTION_NAME} STREQUAL "ubuntu" ) + SET(CPACK_DEBIAN_DISTRIBUTION_RELEASES lucid maverick natty oneiric precise CACHE STRING "Release code-names of the distrubiton release") + ENDIF() + SET(DPUT_HOST "" CACHE STRING "PPA repository to upload the debian sources") + INCLUDE(CPack) + INCLUDE(DebSourcePPA) ENDIF() - SET(DPUT_HOST "" CACHE STRING "PPA repository to upload the debian sources") - INCLUDE(CPack) - INCLUDE(DebSourcePPA) ENDIF() if(WIN32) From 81bc7825d112fdb37461be9414dcb6b1547cf547 Mon Sep 17 00:00:00 2001 From: Marc-Antoine Lortie Date: Tue, 28 Jan 2020 14:02:09 -0500 Subject: [PATCH 097/105] Potentially fixed strncpy warning by Coverity. --- code/Assbin/AssbinFileWriter.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/code/Assbin/AssbinFileWriter.cpp b/code/Assbin/AssbinFileWriter.cpp index daa748f6d..4bc8f7cac 100644 --- a/code/Assbin/AssbinFileWriter.cpp +++ b/code/Assbin/AssbinFileWriter.cpp @@ -795,13 +795,14 @@ public: Write(out, compressed); // == 20 bytes - char buff[256]; - strncpy(buff, pFile, 256); + char buff[256] = {0}; + ai_snprintf(buff, 256, "%s", pFile); out->Write(buff, sizeof(char), 256); - strncpy(buff, cmd, 128); + memset(buff, 0, sizeof(buff)); + ai_snprintf(buff, 128, "%s", cmd); out->Write(buff, sizeof(char), 128); - + // leave 64 bytes free for future extensions memset(buff, 0xcd, 64); out->Write(buff, sizeof(char), 64); From 5860d63efcebdf650aef13757a6ac9b948ed8a8b Mon Sep 17 00:00:00 2001 From: Kim Kulling Date: Tue, 28 Jan 2020 22:02:29 +0100 Subject: [PATCH 098/105] Update appveyor.yml Disable compilers to improve appveyor build performance --- appveyor.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/appveyor.yml b/appveyor.yml index 299f42df6..4fb79dd69 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -17,10 +17,10 @@ matrix: image: - Visual Studio 2013 - - Visual Studio 2015 - - Visual Studio 2017 + #- Visual Studio 2015 + #- Visual Studio 2017 - Visual Studio 2019 - - MinGW + #- MinGW platform: - Win32 From 9e46fca9a911db010a6be87780073336785efccb Mon Sep 17 00:00:00 2001 From: Max Vollmer Date: Wed, 29 Jan 2020 15:06:48 +0000 Subject: [PATCH 099/105] Added missing checks for tempData and uvIndices sizes in all cases --- code/FBX/FBXMeshGeometry.cpp | 38 ++++++++++++++++++++++++++++++------ 1 file changed, 32 insertions(+), 6 deletions(-) diff --git a/code/FBX/FBXMeshGeometry.cpp b/code/FBX/FBXMeshGeometry.cpp index 70e35ccb3..003f0870c 100644 --- a/code/FBX/FBXMeshGeometry.cpp +++ b/code/FBX/FBXMeshGeometry.cpp @@ -448,6 +448,12 @@ void ResolveVertexDataArray(std::vector& data_out, const Scope& source, std::vector tempData; ParseVectorDataArray(tempData, GetRequiredElement(source, dataElementName)); + if (tempData.size() != vertex_count) { + FBXImporter::LogError(Formatter::format("length of input data unexpected for ByVertice mapping: ") + << tempData.size() << ", expected " << vertex_count); + return; + } + data_out.resize(vertex_count); for (size_t i = 0, e = tempData.size(); i < e; ++i) { @@ -461,10 +467,23 @@ void ResolveVertexDataArray(std::vector& data_out, const Scope& source, std::vector tempData; ParseVectorDataArray(tempData, GetRequiredElement(source, dataElementName)); - data_out.resize(vertex_count); + if (tempData.size() != vertex_count) { + FBXImporter::LogError(Formatter::format("length of input data unexpected for ByVertice mapping: ") + << tempData.size() << ", expected " << vertex_count); + return; + } std::vector uvIndices; ParseVectorDataArray(uvIndices,GetRequiredElement(source,indexDataElementName)); + + if (uvIndices.size() != vertex_count) { + FBXImporter::LogError(Formatter::format("length of input data unexpected for ByVertice mapping: ") + << uvIndices.size() << ", expected " << vertex_count); + return; + } + + data_out.resize(vertex_count); + for (size_t i = 0, e = uvIndices.size(); i < e; ++i) { const unsigned int istart = mapping_offsets[i], iend = istart + mapping_counts[i]; @@ -493,15 +512,22 @@ void ResolveVertexDataArray(std::vector& data_out, const Scope& source, std::vector tempData; ParseVectorDataArray(tempData, GetRequiredElement(source, dataElementName)); - data_out.resize(vertex_count); + if (tempData.size() != vertex_count) { + FBXImporter::LogError(Formatter::format("length of input data unexpected for ByPolygonVertex mapping: ") + << tempData.size() << ", expected " << vertex_count); + return; + } std::vector uvIndices; ParseVectorDataArray(uvIndices,GetRequiredElement(source,indexDataElementName)); - if (uvIndices.size() != vertex_count) { - FBXImporter::LogError("length of input data unexpected for ByPolygonVertex mapping"); - return; - } + if (uvIndices.size() != vertex_count) { + FBXImporter::LogError(Formatter::format("length of input data unexpected for ByPolygonVertex mapping: ") + << uvIndices.size() << ", expected " << vertex_count); + return; + } + + data_out.resize(vertex_count); const T empty; unsigned int next = 0; From ff168d7bc09f14d56e17ec037e3a10ccb49bf7ba Mon Sep 17 00:00:00 2001 From: Marc-Antoine Lortie Date: Wed, 29 Jan 2020 13:44:51 -0500 Subject: [PATCH 100/105] Refactored Assxml exporter and dump xml writer. - Moved AssxmlExporter serialization code in a new file AssxmlFileWriter.cpp/h - Added new files to CMakeLists.txt - Replaced string format specifiers %i by %u to match argument type. - Made a few changes in WriteDumb.cpp to call the new DumpSceneToAssxml function. --- code/Assxml/AssxmlExporter.cpp | 601 +--------------------------- code/Assxml/AssxmlFileWriter.cpp | 664 +++++++++++++++++++++++++++++++ code/Assxml/AssxmlFileWriter.h | 65 +++ code/CMakeLists.txt | 2 + tools/assimp_cmd/WriteDumb.cpp | 594 +-------------------------- 5 files changed, 753 insertions(+), 1173 deletions(-) create mode 100644 code/Assxml/AssxmlFileWriter.cpp create mode 100644 code/Assxml/AssxmlFileWriter.h diff --git a/code/Assxml/AssxmlExporter.cpp b/code/Assxml/AssxmlExporter.cpp index 6ebff3582..720fd5b40 100644 --- a/code/Assxml/AssxmlExporter.cpp +++ b/code/Assxml/AssxmlExporter.cpp @@ -46,607 +46,20 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #ifndef ASSIMP_BUILD_NO_EXPORT #ifndef ASSIMP_BUILD_NO_ASSXML_EXPORTER -#include "PostProcessing/ProcessHelper.h" - -#include -#include +#include "AssxmlFileWriter.h" #include #include -#include - -#ifdef ASSIMP_BUILD_NO_OWN_ZLIB -# include -#else -# include -#endif - -#include -#include - -using namespace Assimp; - namespace Assimp { -namespace AssxmlExport { - -// ----------------------------------------------------------------------------------- -static int ioprintf( IOStream * io, const char *format, ... ) { - using namespace std; - if ( nullptr == io ) { - return -1; - } - - static const int Size = 4096; - char sz[ Size ]; - ::memset( sz, '\0', Size ); - va_list va; - va_start( va, format ); - const unsigned int nSize = vsnprintf( sz, Size-1, format, va ); - ai_assert( nSize < Size ); - va_end( va ); - - io->Write( sz, sizeof(char), nSize ); - - return nSize; -} - -// ----------------------------------------------------------------------------------- -// Convert a name to standard XML format -static void ConvertName(aiString& out, const aiString& in) { - out.length = 0; - for (unsigned int i = 0; i < in.length; ++i) { - switch (in.data[i]) { - case '<': - out.Append("<");break; - case '>': - out.Append(">");break; - case '&': - out.Append("&");break; - case '\"': - out.Append(""");break; - case '\'': - out.Append("'");break; - default: - out.data[out.length++] = in.data[i]; - } - } - out.data[out.length] = 0; -} - -// ----------------------------------------------------------------------------------- -// Write a single node as text dump -static void WriteNode(const aiNode* node, IOStream * io, unsigned int depth) { - char prefix[512]; - for (unsigned int i = 0; i < depth;++i) - prefix[i] = '\t'; - prefix[depth] = '\0'; - - const aiMatrix4x4& m = node->mTransformation; - - aiString name; - ConvertName(name,node->mName); - ioprintf(io,"%s \n" - "%s\t \n" - "%s\t\t%0 6f %0 6f %0 6f %0 6f\n" - "%s\t\t%0 6f %0 6f %0 6f %0 6f\n" - "%s\t\t%0 6f %0 6f %0 6f %0 6f\n" - "%s\t\t%0 6f %0 6f %0 6f %0 6f\n" - "%s\t \n", - prefix,name.data,prefix, - prefix,m.a1,m.a2,m.a3,m.a4, - prefix,m.b1,m.b2,m.b3,m.b4, - prefix,m.c1,m.c2,m.c3,m.c4, - prefix,m.d1,m.d2,m.d3,m.d4,prefix); - - if (node->mNumMeshes) { - ioprintf(io, "%s\t\n%s\t", - prefix,node->mNumMeshes,prefix); - - for (unsigned int i = 0; i < node->mNumMeshes;++i) { - ioprintf(io,"%i ",node->mMeshes[i]); - } - ioprintf(io,"\n%s\t\n",prefix); - } - - if (node->mNumChildren) { - ioprintf(io,"%s\t\n", - prefix,node->mNumChildren); - - for (unsigned int i = 0; i < node->mNumChildren;++i) { - WriteNode(node->mChildren[i],io,depth+2); - } - ioprintf(io,"%s\t\n",prefix); - } - ioprintf(io,"%s\n",prefix); -} - - -// ----------------------------------------------------------------------------------- -// Some chuncks of text will need to be encoded for XML -// http://stackoverflow.com/questions/5665231/most-efficient-way-to-escape-xml-html-in-c-string#5665377 -static std::string encodeXML(const std::string& data) { - std::string buffer; - buffer.reserve(data.size()); - for(size_t pos = 0; pos != data.size(); ++pos) { - switch(data[pos]) { - case '&': buffer.append("&"); break; - case '\"': buffer.append("""); break; - case '\'': buffer.append("'"); break; - case '<': buffer.append("<"); break; - case '>': buffer.append(">"); break; - default: buffer.append(&data[pos], 1); break; - } - } - return buffer; -} - -// ----------------------------------------------------------------------------------- -// Write a text model dump -static -void WriteDump(const aiScene* scene, IOStream* io, bool shortened) { - time_t tt = ::time( NULL ); -#if _WIN32 - tm* p = gmtime(&tt); -#else - struct tm now; - tm* p = gmtime_r(&tt, &now); -#endif - ai_assert(nullptr != p); - - // write header - std::string header( - "\n" - "\n\n" - "" - " \n\n" - "\n" - ); - - const unsigned int majorVersion( aiGetVersionMajor() ); - const unsigned int minorVersion( aiGetVersionMinor() ); - const unsigned int rev( aiGetVersionRevision() ); - const char *curtime( asctime( p ) ); - ioprintf( io, header.c_str(), majorVersion, minorVersion, rev, curtime, scene->mFlags, 0 ); - - // write the node graph - WriteNode(scene->mRootNode, io, 0); - -#if 0 - // write cameras - for (unsigned int i = 0; i < scene->mNumCameras;++i) { - aiCamera* cam = scene->mCameras[i]; - ConvertName(name,cam->mName); - - // camera header - ioprintf(io,"\t\n" - "\t\t %0 8f %0 8f %0 8f \n" - "\t\t %0 8f %0 8f %0 8f \n" - "\t\t %0 8f %0 8f %0 8f \n" - "\t\t %f \n" - "\t\t %f \n" - "\t\t %f \n" - "\t\t %f \n" - "\t\n", - name.data, - cam->mUp.x,cam->mUp.y,cam->mUp.z, - cam->mLookAt.x,cam->mLookAt.y,cam->mLookAt.z, - cam->mPosition.x,cam->mPosition.y,cam->mPosition.z, - cam->mHorizontalFOV,cam->mAspect,cam->mClipPlaneNear,cam->mClipPlaneFar,i); - } - - // write lights - for (unsigned int i = 0; i < scene->mNumLights;++i) { - aiLight* l = scene->mLights[i]; - ConvertName(name,l->mName); - - // light header - ioprintf(io,"\t type=\"%s\"\n" - "\t\t %0 8f %0 8f %0 8f \n" - "\t\t %0 8f %0 8f %0 8f \n" - "\t\t %0 8f %0 8f %0 8f \n", - name.data, - (l->mType == aiLightSource_DIRECTIONAL ? "directional" : - (l->mType == aiLightSource_POINT ? "point" : "spot" )), - l->mColorDiffuse.r, l->mColorDiffuse.g, l->mColorDiffuse.b, - l->mColorSpecular.r,l->mColorSpecular.g,l->mColorSpecular.b, - l->mColorAmbient.r, l->mColorAmbient.g, l->mColorAmbient.b); - - if (l->mType != aiLightSource_DIRECTIONAL) { - ioprintf(io, - "\t\t %0 8f %0 8f %0 8f \n" - "\t\t %f \n" - "\t\t %f \n" - "\t\t %f \n", - l->mPosition.x,l->mPosition.y,l->mPosition.z, - l->mAttenuationConstant,l->mAttenuationLinear,l->mAttenuationQuadratic); - } - - if (l->mType != aiLightSource_POINT) { - ioprintf(io, - "\t\t %0 8f %0 8f %0 8f \n", - l->mDirection.x,l->mDirection.y,l->mDirection.z); - } - - if (l->mType == aiLightSource_SPOT) { - ioprintf(io, - "\t\t %f \n" - "\t\t %f \n", - l->mAngleOuterCone,l->mAngleInnerCone); - } - ioprintf(io,"\t\n"); - } -#endif - aiString name; - - // write textures - if (scene->mNumTextures) { - ioprintf(io,"\n",scene->mNumTextures); - for (unsigned int i = 0; i < scene->mNumTextures;++i) { - aiTexture* tex = scene->mTextures[i]; - bool compressed = (tex->mHeight == 0); - - // mesh header - ioprintf(io,"\t \n", - (compressed ? -1 : tex->mWidth),(compressed ? -1 : tex->mHeight), - (compressed ? "true" : "false")); - - if (compressed) { - ioprintf(io,"\t\t \n",tex->mWidth); - - if (!shortened) { - for (unsigned int n = 0; n < tex->mWidth;++n) { - ioprintf(io,"\t\t\t%2x",reinterpret_cast(tex->pcData)[n]); - if (n && !(n % 50)) { - ioprintf(io,"\n"); - } - } - } - } - else if (!shortened){ - ioprintf(io,"\t\t \n",tex->mWidth*tex->mHeight*4); - - // const unsigned int width = (unsigned int)std::log10((double)std::max(tex->mHeight,tex->mWidth))+1; - for (unsigned int y = 0; y < tex->mHeight;++y) { - for (unsigned int x = 0; x < tex->mWidth;++x) { - aiTexel* tx = tex->pcData + y*tex->mWidth+x; - unsigned int r = tx->r,g=tx->g,b=tx->b,a=tx->a; - ioprintf(io,"\t\t\t%2x %2x %2x %2x",r,g,b,a); - - // group by four for readability - if ( 0 == ( x + y*tex->mWidth ) % 4 ) { - ioprintf( io, "\n" ); - } - } - } - } - ioprintf(io,"\t\t\n\t\n"); - } - ioprintf(io,"\n"); - } - - // write materials - if (scene->mNumMaterials) { - ioprintf(io,"\n",scene->mNumMaterials); - for (unsigned int i = 0; i< scene->mNumMaterials; ++i) { - const aiMaterial* mat = scene->mMaterials[i]; - - ioprintf(io,"\t\n"); - ioprintf(io,"\t\t\n",mat->mNumProperties); - for (unsigned int n = 0; n < mat->mNumProperties;++n) { - - const aiMaterialProperty* prop = mat->mProperties[n]; - const char* sz = ""; - if (prop->mType == aiPTI_Float) { - sz = "float"; - } - else if (prop->mType == aiPTI_Integer) { - sz = "integer"; - } - else if (prop->mType == aiPTI_String) { - sz = "string"; - } - else if (prop->mType == aiPTI_Buffer) { - sz = "binary_buffer"; - } - - ioprintf(io,"\t\t\tmKey.data, sz, - ::TextureTypeToString((aiTextureType)prop->mSemantic),prop->mIndex); - - if (prop->mType == aiPTI_Float) { - ioprintf(io," size=\"%i\">\n\t\t\t\t", - static_cast(prop->mDataLength/sizeof(float))); - - for (unsigned int p = 0; p < prop->mDataLength/sizeof(float);++p) { - ioprintf(io,"%f ",*((float*)(prop->mData+p*sizeof(float)))); - } - } - else if (prop->mType == aiPTI_Integer) { - ioprintf(io," size=\"%i\">\n\t\t\t\t", - static_cast(prop->mDataLength/sizeof(int))); - - for (unsigned int p = 0; p < prop->mDataLength/sizeof(int);++p) { - ioprintf(io,"%i ",*((int*)(prop->mData+p*sizeof(int)))); - } - } - else if (prop->mType == aiPTI_Buffer) { - ioprintf(io," size=\"%i\">\n\t\t\t\t", - static_cast(prop->mDataLength)); - - for (unsigned int p = 0; p < prop->mDataLength;++p) { - ioprintf(io,"%2x ",prop->mData[p]); - if (p && 0 == p%30) { - ioprintf(io,"\n\t\t\t\t"); - } - } - } - else if (prop->mType == aiPTI_String) { - ioprintf(io,">\n\t\t\t\t\"%s\"",encodeXML(prop->mData+4).c_str() /* skip length */); - } - ioprintf(io,"\n\t\t\t\n"); - } - ioprintf(io,"\t\t\n"); - ioprintf(io,"\t\n"); - } - ioprintf(io,"\n"); - } - - // write animations - if (scene->mNumAnimations) { - ioprintf(io,"\n",scene->mNumAnimations); - for (unsigned int i = 0; i < scene->mNumAnimations;++i) { - aiAnimation* anim = scene->mAnimations[i]; - - // anim header - ConvertName(name,anim->mName); - ioprintf(io,"\t\n", - name.data, anim->mDuration, anim->mTicksPerSecond); - - // write bone animation channels - if (anim->mNumChannels) { - ioprintf(io,"\t\t\n",anim->mNumChannels); - for (unsigned int n = 0; n < anim->mNumChannels;++n) { - aiNodeAnim* nd = anim->mChannels[n]; - - // node anim header - ConvertName(name,nd->mNodeName); - ioprintf(io,"\t\t\t\n",name.data); - - if (!shortened) { - // write position keys - if (nd->mNumPositionKeys) { - ioprintf(io,"\t\t\t\t\n",nd->mNumPositionKeys); - for (unsigned int a = 0; a < nd->mNumPositionKeys;++a) { - aiVectorKey* vc = nd->mPositionKeys+a; - ioprintf(io,"\t\t\t\t\t\n" - "\t\t\t\t\t\t%0 8f %0 8f %0 8f\n\t\t\t\t\t\n", - vc->mTime,vc->mValue.x,vc->mValue.y,vc->mValue.z); - } - ioprintf(io,"\t\t\t\t\n"); - } - - // write scaling keys - if (nd->mNumScalingKeys) { - ioprintf(io,"\t\t\t\t\n",nd->mNumScalingKeys); - for (unsigned int a = 0; a < nd->mNumScalingKeys;++a) { - aiVectorKey* vc = nd->mScalingKeys+a; - ioprintf(io,"\t\t\t\t\t\n" - "\t\t\t\t\t\t%0 8f %0 8f %0 8f\n\t\t\t\t\t\n", - vc->mTime,vc->mValue.x,vc->mValue.y,vc->mValue.z); - } - ioprintf(io,"\t\t\t\t\n"); - } - - // write rotation keys - if (nd->mNumRotationKeys) { - ioprintf(io,"\t\t\t\t\n",nd->mNumRotationKeys); - for (unsigned int a = 0; a < nd->mNumRotationKeys;++a) { - aiQuatKey* vc = nd->mRotationKeys+a; - ioprintf(io,"\t\t\t\t\t\n" - "\t\t\t\t\t\t%0 8f %0 8f %0 8f %0 8f\n\t\t\t\t\t\n", - vc->mTime,vc->mValue.x,vc->mValue.y,vc->mValue.z,vc->mValue.w); - } - ioprintf(io,"\t\t\t\t\n"); - } - } - ioprintf(io,"\t\t\t\n"); - } - ioprintf(io,"\t\t\n"); - } - ioprintf(io,"\t\n"); - } - ioprintf(io,"\n"); - } - - // write meshes - if (scene->mNumMeshes) { - ioprintf(io,"\n",scene->mNumMeshes); - for (unsigned int i = 0; i < scene->mNumMeshes;++i) { - aiMesh* mesh = scene->mMeshes[i]; - // const unsigned int width = (unsigned int)std::log10((double)mesh->mNumVertices)+1; - - // mesh header - ioprintf(io,"\t\n", - (mesh->mPrimitiveTypes & aiPrimitiveType_POINT ? "points" : ""), - (mesh->mPrimitiveTypes & aiPrimitiveType_LINE ? "lines" : ""), - (mesh->mPrimitiveTypes & aiPrimitiveType_TRIANGLE ? "triangles" : ""), - (mesh->mPrimitiveTypes & aiPrimitiveType_POLYGON ? "polygons" : ""), - mesh->mMaterialIndex); - - // bones - if (mesh->mNumBones) { - ioprintf(io,"\t\t\n",mesh->mNumBones); - - for (unsigned int n = 0; n < mesh->mNumBones;++n) { - aiBone* bone = mesh->mBones[n]; - - ConvertName(name,bone->mName); - // bone header - ioprintf(io,"\t\t\t\n" - "\t\t\t\t \n" - "\t\t\t\t\t%0 6f %0 6f %0 6f %0 6f\n" - "\t\t\t\t\t%0 6f %0 6f %0 6f %0 6f\n" - "\t\t\t\t\t%0 6f %0 6f %0 6f %0 6f\n" - "\t\t\t\t\t%0 6f %0 6f %0 6f %0 6f\n" - "\t\t\t\t \n", - name.data, - bone->mOffsetMatrix.a1,bone->mOffsetMatrix.a2,bone->mOffsetMatrix.a3,bone->mOffsetMatrix.a4, - bone->mOffsetMatrix.b1,bone->mOffsetMatrix.b2,bone->mOffsetMatrix.b3,bone->mOffsetMatrix.b4, - bone->mOffsetMatrix.c1,bone->mOffsetMatrix.c2,bone->mOffsetMatrix.c3,bone->mOffsetMatrix.c4, - bone->mOffsetMatrix.d1,bone->mOffsetMatrix.d2,bone->mOffsetMatrix.d3,bone->mOffsetMatrix.d4); - - if (!shortened && bone->mNumWeights) { - ioprintf(io,"\t\t\t\t\n",bone->mNumWeights); - - // bone weights - for (unsigned int a = 0; a < bone->mNumWeights;++a) { - aiVertexWeight* wght = bone->mWeights+a; - - ioprintf(io,"\t\t\t\t\t\n\t\t\t\t\t\t%f\n\t\t\t\t\t\n", - wght->mVertexId,wght->mWeight); - } - ioprintf(io,"\t\t\t\t\n"); - } - ioprintf(io,"\t\t\t\n"); - } - ioprintf(io,"\t\t\n"); - } - - // faces - if (!shortened && mesh->mNumFaces) { - ioprintf(io,"\t\t\n",mesh->mNumFaces); - for (unsigned int n = 0; n < mesh->mNumFaces; ++n) { - aiFace& f = mesh->mFaces[n]; - ioprintf(io,"\t\t\t\n" - "\t\t\t\t",f.mNumIndices); - - for (unsigned int j = 0; j < f.mNumIndices;++j) - ioprintf(io,"%i ",f.mIndices[j]); - - ioprintf(io,"\n\t\t\t\n"); - } - ioprintf(io,"\t\t\n"); - } - - // vertex positions - if (mesh->HasPositions()) { - ioprintf(io,"\t\t \n",mesh->mNumVertices); - if (!shortened) { - for (unsigned int n = 0; n < mesh->mNumVertices; ++n) { - ioprintf(io,"\t\t%0 8f %0 8f %0 8f\n", - mesh->mVertices[n].x, - mesh->mVertices[n].y, - mesh->mVertices[n].z); - } - } - ioprintf(io,"\t\t\n"); - } - - // vertex normals - if (mesh->HasNormals()) { - ioprintf(io,"\t\t \n",mesh->mNumVertices); - if (!shortened) { - for (unsigned int n = 0; n < mesh->mNumVertices; ++n) { - ioprintf(io,"\t\t%0 8f %0 8f %0 8f\n", - mesh->mNormals[n].x, - mesh->mNormals[n].y, - mesh->mNormals[n].z); - } - } - ioprintf(io,"\t\t\n"); - } - - // vertex tangents and bitangents - if (mesh->HasTangentsAndBitangents()) { - ioprintf(io,"\t\t \n",mesh->mNumVertices); - if (!shortened) { - for (unsigned int n = 0; n < mesh->mNumVertices; ++n) { - ioprintf(io,"\t\t%0 8f %0 8f %0 8f\n", - mesh->mTangents[n].x, - mesh->mTangents[n].y, - mesh->mTangents[n].z); - } - } - ioprintf(io,"\t\t\n"); - - ioprintf(io,"\t\t \n",mesh->mNumVertices); - if (!shortened) { - for (unsigned int n = 0; n < mesh->mNumVertices; ++n) { - ioprintf(io,"\t\t%0 8f %0 8f %0 8f\n", - mesh->mBitangents[n].x, - mesh->mBitangents[n].y, - mesh->mBitangents[n].z); - } - } - ioprintf(io,"\t\t\n"); - } - - // texture coordinates - for (unsigned int a = 0; a < AI_MAX_NUMBER_OF_TEXTURECOORDS; ++a) { - if (!mesh->mTextureCoords[a]) - break; - - ioprintf(io,"\t\t \n",mesh->mNumVertices, - a,mesh->mNumUVComponents[a]); - - if (!shortened) { - if (mesh->mNumUVComponents[a] == 3) { - for (unsigned int n = 0; n < mesh->mNumVertices; ++n) { - ioprintf(io,"\t\t%0 8f %0 8f %0 8f\n", - mesh->mTextureCoords[a][n].x, - mesh->mTextureCoords[a][n].y, - mesh->mTextureCoords[a][n].z); - } - } - else { - for (unsigned int n = 0; n < mesh->mNumVertices; ++n) { - ioprintf(io,"\t\t%0 8f %0 8f\n", - mesh->mTextureCoords[a][n].x, - mesh->mTextureCoords[a][n].y); - } - } - } - ioprintf(io,"\t\t\n"); - } - - // vertex colors - for (unsigned int a = 0; a < AI_MAX_NUMBER_OF_COLOR_SETS; ++a) { - if (!mesh->mColors[a]) - break; - ioprintf(io,"\t\t \n",mesh->mNumVertices,a); - if (!shortened) { - for (unsigned int n = 0; n < mesh->mNumVertices; ++n) { - ioprintf(io,"\t\t%0 8f %0 8f %0 8f %0 8f\n", - mesh->mColors[a][n].r, - mesh->mColors[a][n].g, - mesh->mColors[a][n].b, - mesh->mColors[a][n].a); - } - } - ioprintf(io,"\t\t\n"); - } - ioprintf(io,"\t\n"); - } - ioprintf(io,"\n"); - } - ioprintf(io,"\n"); -} - -} // end of namespace AssxmlExport - void ExportSceneAssxml(const char* pFile, IOSystem* pIOSystem, const aiScene* pScene, const ExportProperties* /*pProperties*/) { - IOStream * out = pIOSystem->Open( pFile, "wt" ); - if (!out) return; - - bool shortened = false; - AssxmlExport::WriteDump( pScene, out, shortened ); - - pIOSystem->Close( out ); + DumpSceneToAssxml( + pFile, + "\0", // command(s) + pIOSystem, + pScene, + false); // shortened? } } // end of namespace Assimp diff --git a/code/Assxml/AssxmlFileWriter.cpp b/code/Assxml/AssxmlFileWriter.cpp new file mode 100644 index 000000000..0ed59e509 --- /dev/null +++ b/code/Assxml/AssxmlFileWriter.cpp @@ -0,0 +1,664 @@ +/* +Open Asset Import Library (assimp) +---------------------------------------------------------------------- + +Copyright (c) 2006-2020, assimp team + + +All rights reserved. + +Redistribution and use of this software in source and binary forms, +with or without modification, are permitted provided that the +following conditions are met: + +* Redistributions of source code must retain the above + copyright notice, this list of conditions and the + following disclaimer. + +* Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the + following disclaimer in the documentation and/or other + materials provided with the distribution. + +* Neither the name of the assimp team, nor the names of its + contributors may be used to endorse or promote products + derived from this software without specific prior + written permission of the assimp team. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +---------------------------------------------------------------------- +*/ + +/** @file AssxmlFileWriter.cpp + * @brief Implementation of Assxml file writer. + */ + +#include "AssxmlFileWriter.h" + +#include "PostProcessing/ProcessHelper.h" + +#include +#include +#include +#include + +#include + +#ifdef ASSIMP_BUILD_NO_OWN_ZLIB +# include +#else +# include +#endif + +#include +#include +#include + +using namespace Assimp; + +namespace Assimp { + +namespace AssxmlFileWriter { + +// ----------------------------------------------------------------------------------- +static int ioprintf( IOStream * io, const char *format, ... ) { + using namespace std; + if ( nullptr == io ) { + return -1; + } + + static const int Size = 4096; + char sz[ Size ]; + ::memset( sz, '\0', Size ); + va_list va; + va_start( va, format ); + const unsigned int nSize = vsnprintf( sz, Size-1, format, va ); + ai_assert( nSize < Size ); + va_end( va ); + + io->Write( sz, sizeof(char), nSize ); + + return nSize; +} + +// ----------------------------------------------------------------------------------- +// Convert a name to standard XML format +static void ConvertName(aiString& out, const aiString& in) { + out.length = 0; + for (unsigned int i = 0; i < in.length; ++i) { + switch (in.data[i]) { + case '<': + out.Append("<");break; + case '>': + out.Append(">");break; + case '&': + out.Append("&");break; + case '\"': + out.Append(""");break; + case '\'': + out.Append("'");break; + default: + out.data[out.length++] = in.data[i]; + } + } + out.data[out.length] = 0; +} + +// ----------------------------------------------------------------------------------- +// Write a single node as text dump +static void WriteNode(const aiNode* node, IOStream * io, unsigned int depth) { + char prefix[512]; + for (unsigned int i = 0; i < depth;++i) + prefix[i] = '\t'; + prefix[depth] = '\0'; + + const aiMatrix4x4& m = node->mTransformation; + + aiString name; + ConvertName(name,node->mName); + ioprintf(io,"%s \n" + "%s\t \n" + "%s\t\t%0 6f %0 6f %0 6f %0 6f\n" + "%s\t\t%0 6f %0 6f %0 6f %0 6f\n" + "%s\t\t%0 6f %0 6f %0 6f %0 6f\n" + "%s\t\t%0 6f %0 6f %0 6f %0 6f\n" + "%s\t \n", + prefix,name.data,prefix, + prefix,m.a1,m.a2,m.a3,m.a4, + prefix,m.b1,m.b2,m.b3,m.b4, + prefix,m.c1,m.c2,m.c3,m.c4, + prefix,m.d1,m.d2,m.d3,m.d4,prefix); + + if (node->mNumMeshes) { + ioprintf(io, "%s\t\n%s\t", + prefix,node->mNumMeshes,prefix); + + for (unsigned int i = 0; i < node->mNumMeshes;++i) { + ioprintf(io,"%u ",node->mMeshes[i]); + } + ioprintf(io,"\n%s\t\n",prefix); + } + + if (node->mNumChildren) { + ioprintf(io,"%s\t\n", + prefix,node->mNumChildren); + + for (unsigned int i = 0; i < node->mNumChildren;++i) { + WriteNode(node->mChildren[i],io,depth+2); + } + ioprintf(io,"%s\t\n",prefix); + } + ioprintf(io,"%s\n",prefix); +} + + +// ----------------------------------------------------------------------------------- +// Some chuncks of text will need to be encoded for XML +// http://stackoverflow.com/questions/5665231/most-efficient-way-to-escape-xml-html-in-c-string#5665377 +static std::string encodeXML(const std::string& data) { + std::string buffer; + buffer.reserve(data.size()); + for(size_t pos = 0; pos != data.size(); ++pos) { + switch(data[pos]) { + case '&': buffer.append("&"); break; + case '\"': buffer.append("""); break; + case '\'': buffer.append("'"); break; + case '<': buffer.append("<"); break; + case '>': buffer.append(">"); break; + default: buffer.append(&data[pos], 1); break; + } + } + return buffer; +} + +// ----------------------------------------------------------------------------------- +// Write a text model dump +static +void WriteDump(const char* pFile, const char* cmd, const aiScene* scene, IOStream* io, bool shortened) { + time_t tt = ::time( NULL ); +#if _WIN32 + tm* p = gmtime(&tt); +#else + struct tm now; + tm* p = gmtime_r(&tt, &now); +#endif + ai_assert(nullptr != p); + + std::string c = cmd; + std::string::size_type s; + + // https://sourceforge.net/tracker/?func=detail&aid=3167364&group_id=226462&atid=1067632 + // -- not allowed in XML comments + while((s = c.find("--")) != std::string::npos) { + c[s] = '?'; + } + + // write header + std::string header( + "\n" + "\n\n" + "" + " \n\n" + "\n" + ); + + const unsigned int majorVersion( aiGetVersionMajor() ); + const unsigned int minorVersion( aiGetVersionMinor() ); + const unsigned int rev( aiGetVersionRevision() ); + const char *curtime( asctime( p ) ); + ioprintf( io, header.c_str(), majorVersion, minorVersion, rev, pFile, c.c_str(), curtime, scene->mFlags, 0u ); + + // write the node graph + WriteNode(scene->mRootNode, io, 0); + +#if 0 + // write cameras + for (unsigned int i = 0; i < scene->mNumCameras;++i) { + aiCamera* cam = scene->mCameras[i]; + ConvertName(name,cam->mName); + + // camera header + ioprintf(io,"\t\n" + "\t\t %0 8f %0 8f %0 8f \n" + "\t\t %0 8f %0 8f %0 8f \n" + "\t\t %0 8f %0 8f %0 8f \n" + "\t\t %f \n" + "\t\t %f \n" + "\t\t %f \n" + "\t\t %f \n" + "\t\n", + name.data, + cam->mUp.x,cam->mUp.y,cam->mUp.z, + cam->mLookAt.x,cam->mLookAt.y,cam->mLookAt.z, + cam->mPosition.x,cam->mPosition.y,cam->mPosition.z, + cam->mHorizontalFOV,cam->mAspect,cam->mClipPlaneNear,cam->mClipPlaneFar,i); + } + + // write lights + for (unsigned int i = 0; i < scene->mNumLights;++i) { + aiLight* l = scene->mLights[i]; + ConvertName(name,l->mName); + + // light header + ioprintf(io,"\t type=\"%s\"\n" + "\t\t %0 8f %0 8f %0 8f \n" + "\t\t %0 8f %0 8f %0 8f \n" + "\t\t %0 8f %0 8f %0 8f \n", + name.data, + (l->mType == aiLightSource_DIRECTIONAL ? "directional" : + (l->mType == aiLightSource_POINT ? "point" : "spot" )), + l->mColorDiffuse.r, l->mColorDiffuse.g, l->mColorDiffuse.b, + l->mColorSpecular.r,l->mColorSpecular.g,l->mColorSpecular.b, + l->mColorAmbient.r, l->mColorAmbient.g, l->mColorAmbient.b); + + if (l->mType != aiLightSource_DIRECTIONAL) { + ioprintf(io, + "\t\t %0 8f %0 8f %0 8f \n" + "\t\t %f \n" + "\t\t %f \n" + "\t\t %f \n", + l->mPosition.x,l->mPosition.y,l->mPosition.z, + l->mAttenuationConstant,l->mAttenuationLinear,l->mAttenuationQuadratic); + } + + if (l->mType != aiLightSource_POINT) { + ioprintf(io, + "\t\t %0 8f %0 8f %0 8f \n", + l->mDirection.x,l->mDirection.y,l->mDirection.z); + } + + if (l->mType == aiLightSource_SPOT) { + ioprintf(io, + "\t\t %f \n" + "\t\t %f \n", + l->mAngleOuterCone,l->mAngleInnerCone); + } + ioprintf(io,"\t\n"); + } +#endif + aiString name; + + // write textures + if (scene->mNumTextures) { + ioprintf(io,"\n",scene->mNumTextures); + for (unsigned int i = 0; i < scene->mNumTextures;++i) { + aiTexture* tex = scene->mTextures[i]; + bool compressed = (tex->mHeight == 0); + + // mesh header + ioprintf(io,"\t \n", + (compressed ? -1 : tex->mWidth),(compressed ? -1 : tex->mHeight), + (compressed ? "true" : "false")); + + if (compressed) { + ioprintf(io,"\t\t \n",tex->mWidth); + + if (!shortened) { + for (unsigned int n = 0; n < tex->mWidth;++n) { + ioprintf(io,"\t\t\t%2x",reinterpret_cast(tex->pcData)[n]); + if (n && !(n % 50)) { + ioprintf(io,"\n"); + } + } + } + } + else if (!shortened){ + ioprintf(io,"\t\t \n",tex->mWidth*tex->mHeight*4); + + // const unsigned int width = (unsigned int)std::log10((double)std::max(tex->mHeight,tex->mWidth))+1; + for (unsigned int y = 0; y < tex->mHeight;++y) { + for (unsigned int x = 0; x < tex->mWidth;++x) { + aiTexel* tx = tex->pcData + y*tex->mWidth+x; + unsigned int r = tx->r,g=tx->g,b=tx->b,a=tx->a; + ioprintf(io,"\t\t\t%2x %2x %2x %2x",r,g,b,a); + + // group by four for readability + if ( 0 == ( x + y*tex->mWidth ) % 4 ) { + ioprintf( io, "\n" ); + } + } + } + } + ioprintf(io,"\t\t\n\t\n"); + } + ioprintf(io,"\n"); + } + + // write materials + if (scene->mNumMaterials) { + ioprintf(io,"\n",scene->mNumMaterials); + for (unsigned int i = 0; i< scene->mNumMaterials; ++i) { + const aiMaterial* mat = scene->mMaterials[i]; + + ioprintf(io,"\t\n"); + ioprintf(io,"\t\t\n",mat->mNumProperties); + for (unsigned int n = 0; n < mat->mNumProperties;++n) { + + const aiMaterialProperty* prop = mat->mProperties[n]; + const char* sz = ""; + if (prop->mType == aiPTI_Float) { + sz = "float"; + } + else if (prop->mType == aiPTI_Integer) { + sz = "integer"; + } + else if (prop->mType == aiPTI_String) { + sz = "string"; + } + else if (prop->mType == aiPTI_Buffer) { + sz = "binary_buffer"; + } + + ioprintf(io,"\t\t\tmKey.data, sz, + ::TextureTypeToString((aiTextureType)prop->mSemantic),prop->mIndex); + + if (prop->mType == aiPTI_Float) { + ioprintf(io," size=\"%i\">\n\t\t\t\t", + static_cast(prop->mDataLength/sizeof(float))); + + for (unsigned int p = 0; p < prop->mDataLength/sizeof(float);++p) { + ioprintf(io,"%f ",*((float*)(prop->mData+p*sizeof(float)))); + } + } + else if (prop->mType == aiPTI_Integer) { + ioprintf(io," size=\"%i\">\n\t\t\t\t", + static_cast(prop->mDataLength/sizeof(int))); + + for (unsigned int p = 0; p < prop->mDataLength/sizeof(int);++p) { + ioprintf(io,"%i ",*((int*)(prop->mData+p*sizeof(int)))); + } + } + else if (prop->mType == aiPTI_Buffer) { + ioprintf(io," size=\"%i\">\n\t\t\t\t", + static_cast(prop->mDataLength)); + + for (unsigned int p = 0; p < prop->mDataLength;++p) { + ioprintf(io,"%2x ",prop->mData[p]); + if (p && 0 == p%30) { + ioprintf(io,"\n\t\t\t\t"); + } + } + } + else if (prop->mType == aiPTI_String) { + ioprintf(io,">\n\t\t\t\t\"%s\"",encodeXML(prop->mData+4).c_str() /* skip length */); + } + ioprintf(io,"\n\t\t\t\n"); + } + ioprintf(io,"\t\t\n"); + ioprintf(io,"\t\n"); + } + ioprintf(io,"\n"); + } + + // write animations + if (scene->mNumAnimations) { + ioprintf(io,"\n",scene->mNumAnimations); + for (unsigned int i = 0; i < scene->mNumAnimations;++i) { + aiAnimation* anim = scene->mAnimations[i]; + + // anim header + ConvertName(name,anim->mName); + ioprintf(io,"\t\n", + name.data, anim->mDuration, anim->mTicksPerSecond); + + // write bone animation channels + if (anim->mNumChannels) { + ioprintf(io,"\t\t\n",anim->mNumChannels); + for (unsigned int n = 0; n < anim->mNumChannels;++n) { + aiNodeAnim* nd = anim->mChannels[n]; + + // node anim header + ConvertName(name,nd->mNodeName); + ioprintf(io,"\t\t\t\n",name.data); + + if (!shortened) { + // write position keys + if (nd->mNumPositionKeys) { + ioprintf(io,"\t\t\t\t\n",nd->mNumPositionKeys); + for (unsigned int a = 0; a < nd->mNumPositionKeys;++a) { + aiVectorKey* vc = nd->mPositionKeys+a; + ioprintf(io,"\t\t\t\t\t\n" + "\t\t\t\t\t\t%0 8f %0 8f %0 8f\n\t\t\t\t\t\n", + vc->mTime,vc->mValue.x,vc->mValue.y,vc->mValue.z); + } + ioprintf(io,"\t\t\t\t\n"); + } + + // write scaling keys + if (nd->mNumScalingKeys) { + ioprintf(io,"\t\t\t\t\n",nd->mNumScalingKeys); + for (unsigned int a = 0; a < nd->mNumScalingKeys;++a) { + aiVectorKey* vc = nd->mScalingKeys+a; + ioprintf(io,"\t\t\t\t\t\n" + "\t\t\t\t\t\t%0 8f %0 8f %0 8f\n\t\t\t\t\t\n", + vc->mTime,vc->mValue.x,vc->mValue.y,vc->mValue.z); + } + ioprintf(io,"\t\t\t\t\n"); + } + + // write rotation keys + if (nd->mNumRotationKeys) { + ioprintf(io,"\t\t\t\t\n",nd->mNumRotationKeys); + for (unsigned int a = 0; a < nd->mNumRotationKeys;++a) { + aiQuatKey* vc = nd->mRotationKeys+a; + ioprintf(io,"\t\t\t\t\t\n" + "\t\t\t\t\t\t%0 8f %0 8f %0 8f %0 8f\n\t\t\t\t\t\n", + vc->mTime,vc->mValue.x,vc->mValue.y,vc->mValue.z,vc->mValue.w); + } + ioprintf(io,"\t\t\t\t\n"); + } + } + ioprintf(io,"\t\t\t\n"); + } + ioprintf(io,"\t\t\n"); + } + ioprintf(io,"\t\n"); + } + ioprintf(io,"\n"); + } + + // write meshes + if (scene->mNumMeshes) { + ioprintf(io,"\n",scene->mNumMeshes); + for (unsigned int i = 0; i < scene->mNumMeshes;++i) { + aiMesh* mesh = scene->mMeshes[i]; + // const unsigned int width = (unsigned int)std::log10((double)mesh->mNumVertices)+1; + + // mesh header + ioprintf(io,"\t\n", + (mesh->mPrimitiveTypes & aiPrimitiveType_POINT ? "points" : ""), + (mesh->mPrimitiveTypes & aiPrimitiveType_LINE ? "lines" : ""), + (mesh->mPrimitiveTypes & aiPrimitiveType_TRIANGLE ? "triangles" : ""), + (mesh->mPrimitiveTypes & aiPrimitiveType_POLYGON ? "polygons" : ""), + mesh->mMaterialIndex); + + // bones + if (mesh->mNumBones) { + ioprintf(io,"\t\t\n",mesh->mNumBones); + + for (unsigned int n = 0; n < mesh->mNumBones;++n) { + aiBone* bone = mesh->mBones[n]; + + ConvertName(name,bone->mName); + // bone header + ioprintf(io,"\t\t\t\n" + "\t\t\t\t \n" + "\t\t\t\t\t%0 6f %0 6f %0 6f %0 6f\n" + "\t\t\t\t\t%0 6f %0 6f %0 6f %0 6f\n" + "\t\t\t\t\t%0 6f %0 6f %0 6f %0 6f\n" + "\t\t\t\t\t%0 6f %0 6f %0 6f %0 6f\n" + "\t\t\t\t \n", + name.data, + bone->mOffsetMatrix.a1,bone->mOffsetMatrix.a2,bone->mOffsetMatrix.a3,bone->mOffsetMatrix.a4, + bone->mOffsetMatrix.b1,bone->mOffsetMatrix.b2,bone->mOffsetMatrix.b3,bone->mOffsetMatrix.b4, + bone->mOffsetMatrix.c1,bone->mOffsetMatrix.c2,bone->mOffsetMatrix.c3,bone->mOffsetMatrix.c4, + bone->mOffsetMatrix.d1,bone->mOffsetMatrix.d2,bone->mOffsetMatrix.d3,bone->mOffsetMatrix.d4); + + if (!shortened && bone->mNumWeights) { + ioprintf(io,"\t\t\t\t\n",bone->mNumWeights); + + // bone weights + for (unsigned int a = 0; a < bone->mNumWeights;++a) { + aiVertexWeight* wght = bone->mWeights+a; + + ioprintf(io,"\t\t\t\t\t\n\t\t\t\t\t\t%f\n\t\t\t\t\t\n", + wght->mVertexId,wght->mWeight); + } + ioprintf(io,"\t\t\t\t\n"); + } + ioprintf(io,"\t\t\t\n"); + } + ioprintf(io,"\t\t\n"); + } + + // faces + if (!shortened && mesh->mNumFaces) { + ioprintf(io,"\t\t\n",mesh->mNumFaces); + for (unsigned int n = 0; n < mesh->mNumFaces; ++n) { + aiFace& f = mesh->mFaces[n]; + ioprintf(io,"\t\t\t\n" + "\t\t\t\t",f.mNumIndices); + + for (unsigned int j = 0; j < f.mNumIndices;++j) + ioprintf(io,"%u ",f.mIndices[j]); + + ioprintf(io,"\n\t\t\t\n"); + } + ioprintf(io,"\t\t\n"); + } + + // vertex positions + if (mesh->HasPositions()) { + ioprintf(io,"\t\t \n",mesh->mNumVertices); + if (!shortened) { + for (unsigned int n = 0; n < mesh->mNumVertices; ++n) { + ioprintf(io,"\t\t%0 8f %0 8f %0 8f\n", + mesh->mVertices[n].x, + mesh->mVertices[n].y, + mesh->mVertices[n].z); + } + } + ioprintf(io,"\t\t\n"); + } + + // vertex normals + if (mesh->HasNormals()) { + ioprintf(io,"\t\t \n",mesh->mNumVertices); + if (!shortened) { + for (unsigned int n = 0; n < mesh->mNumVertices; ++n) { + ioprintf(io,"\t\t%0 8f %0 8f %0 8f\n", + mesh->mNormals[n].x, + mesh->mNormals[n].y, + mesh->mNormals[n].z); + } + } + ioprintf(io,"\t\t\n"); + } + + // vertex tangents and bitangents + if (mesh->HasTangentsAndBitangents()) { + ioprintf(io,"\t\t \n",mesh->mNumVertices); + if (!shortened) { + for (unsigned int n = 0; n < mesh->mNumVertices; ++n) { + ioprintf(io,"\t\t%0 8f %0 8f %0 8f\n", + mesh->mTangents[n].x, + mesh->mTangents[n].y, + mesh->mTangents[n].z); + } + } + ioprintf(io,"\t\t\n"); + + ioprintf(io,"\t\t \n",mesh->mNumVertices); + if (!shortened) { + for (unsigned int n = 0; n < mesh->mNumVertices; ++n) { + ioprintf(io,"\t\t%0 8f %0 8f %0 8f\n", + mesh->mBitangents[n].x, + mesh->mBitangents[n].y, + mesh->mBitangents[n].z); + } + } + ioprintf(io,"\t\t\n"); + } + + // texture coordinates + for (unsigned int a = 0; a < AI_MAX_NUMBER_OF_TEXTURECOORDS; ++a) { + if (!mesh->mTextureCoords[a]) + break; + + ioprintf(io,"\t\t \n",mesh->mNumVertices, + a,mesh->mNumUVComponents[a]); + + if (!shortened) { + if (mesh->mNumUVComponents[a] == 3) { + for (unsigned int n = 0; n < mesh->mNumVertices; ++n) { + ioprintf(io,"\t\t%0 8f %0 8f %0 8f\n", + mesh->mTextureCoords[a][n].x, + mesh->mTextureCoords[a][n].y, + mesh->mTextureCoords[a][n].z); + } + } + else { + for (unsigned int n = 0; n < mesh->mNumVertices; ++n) { + ioprintf(io,"\t\t%0 8f %0 8f\n", + mesh->mTextureCoords[a][n].x, + mesh->mTextureCoords[a][n].y); + } + } + } + ioprintf(io,"\t\t\n"); + } + + // vertex colors + for (unsigned int a = 0; a < AI_MAX_NUMBER_OF_COLOR_SETS; ++a) { + if (!mesh->mColors[a]) + break; + ioprintf(io,"\t\t \n",mesh->mNumVertices,a); + if (!shortened) { + for (unsigned int n = 0; n < mesh->mNumVertices; ++n) { + ioprintf(io,"\t\t%0 8f %0 8f %0 8f %0 8f\n", + mesh->mColors[a][n].r, + mesh->mColors[a][n].g, + mesh->mColors[a][n].b, + mesh->mColors[a][n].a); + } + } + ioprintf(io,"\t\t\n"); + } + ioprintf(io,"\t\n"); + } + ioprintf(io,"\n"); + } + ioprintf(io,"\n"); +} + +} // end of namespace AssxmlFileWriter + +void DumpSceneToAssxml( + const char* pFile, const char* cmd, IOSystem* pIOSystem, + const aiScene* pScene, bool shortened) { + std::unique_ptr file(pIOSystem->Open(pFile, "wt")); + if (!file.get()) { + throw std::runtime_error("Unable to open output file " + std::string(pFile) + '\n'); + } + + AssxmlFileWriter::WriteDump(pFile, cmd, pScene, file.get(), shortened); +} + +} // end of namespace Assimp diff --git a/code/Assxml/AssxmlFileWriter.h b/code/Assxml/AssxmlFileWriter.h new file mode 100644 index 000000000..c10a8a5aa --- /dev/null +++ b/code/Assxml/AssxmlFileWriter.h @@ -0,0 +1,65 @@ +/* +Open Asset Import Library (assimp) +---------------------------------------------------------------------- + +Copyright (c) 2006-2020, assimp team + + +All rights reserved. + +Redistribution and use of this software in source and binary forms, +with or without modification, are permitted provided that the +following conditions are met: + +* Redistributions of source code must retain the above + copyright notice, this list of conditions and the + following disclaimer. + +* Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the + following disclaimer in the documentation and/or other + materials provided with the distribution. + +* Neither the name of the assimp team, nor the names of its + contributors may be used to endorse or promote products + derived from this software without specific prior + written permission of the assimp team. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +---------------------------------------------------------------------- +*/ + +/** @file AssxmlFileWriter.h + * @brief Declaration of Assxml file writer. + */ + +#ifndef AI_ASSXMLFILEWRITER_H_INC +#define AI_ASSXMLFILEWRITER_H_INC + +#include +#include +#include + +namespace Assimp { + +void ASSIMP_API DumpSceneToAssxml( + const char* pFile, + const char* cmd, + IOSystem* pIOSystem, + const aiScene* pScene, + bool shortened); + +} + +#endif // AI_ASSXMLFILEWRITER_H_INC diff --git a/code/CMakeLists.txt b/code/CMakeLists.txt index 650d5f455..5278509e8 100644 --- a/code/CMakeLists.txt +++ b/code/CMakeLists.txt @@ -338,6 +338,8 @@ ADD_ASSIMP_EXPORTER( ASSBIN ADD_ASSIMP_EXPORTER( ASSXML Assxml/AssxmlExporter.h Assxml/AssxmlExporter.cpp + Assxml/AssxmlFileWriter.h + Assxml/AssxmlFileWriter.cpp ) ADD_ASSIMP_IMPORTER( B3D diff --git a/tools/assimp_cmd/WriteDumb.cpp b/tools/assimp_cmd/WriteDumb.cpp index 1e97b54f2..0403f3966 100644 --- a/tools/assimp_cmd/WriteDumb.cpp +++ b/tools/assimp_cmd/WriteDumb.cpp @@ -62,85 +62,13 @@ const char* AICMD_MSG_DUMP_HELP = #include "Common/assbin_chunks.h" #include #include +#include #include FILE* out = NULL; bool shortened = false; -// ----------------------------------------------------------------------------------- -// Convert a name to standard XML format -void ConvertName(aiString& out, const aiString& in) -{ - out.length = 0; - for (unsigned int i = 0; i < in.length; ++i) { - switch (in.data[i]) { - case '<': - out.Append("<");break; - case '>': - out.Append(">");break; - case '&': - out.Append("&");break; - case '\"': - out.Append(""");break; - case '\'': - out.Append("'");break; - default: - out.data[out.length++] = in.data[i]; - } - } - out.data[out.length] = 0; -} - -// ----------------------------------------------------------------------------------- -// Write a single node as text dump -void WriteNode(const aiNode* node, FILE* out, unsigned int depth) -{ - char prefix[512]; - for (unsigned int i = 0; i < depth;++i) - prefix[i] = '\t'; - prefix[depth] = '\0'; - - const aiMatrix4x4& m = node->mTransformation; - - aiString name; - ConvertName(name,node->mName); - fprintf(out,"%s \n" - "%s\t \n" - "%s\t\t%0 6f %0 6f %0 6f %0 6f\n" - "%s\t\t%0 6f %0 6f %0 6f %0 6f\n" - "%s\t\t%0 6f %0 6f %0 6f %0 6f\n" - "%s\t\t%0 6f %0 6f %0 6f %0 6f\n" - "%s\t \n", - prefix,name.data,prefix, - prefix,m.a1,m.a2,m.a3,m.a4, - prefix,m.b1,m.b2,m.b3,m.b4, - prefix,m.c1,m.c2,m.c3,m.c4, - prefix,m.d1,m.d2,m.d3,m.d4,prefix); - - if (node->mNumMeshes) { - fprintf(out, "%s\t\n%s\t", - prefix,node->mNumMeshes,prefix); - - for (unsigned int i = 0; i < node->mNumMeshes;++i) { - fprintf(out,"%u ",node->mMeshes[i]); - } - fprintf(out,"\n%s\t\n",prefix); - } - - if (node->mNumChildren) { - fprintf(out,"%s\t\n", - prefix,node->mNumChildren); - - for (unsigned int i = 0; i < node->mNumChildren;++i) { - WriteNode(node->mChildren[i],out,depth+2); - } - fprintf(out,"%s\t\n",prefix); - } - fprintf(out,"%s\n",prefix); -} - - // ------------------------------------------------------------------------------- const char* TextureTypeToString(aiTextureType in) { @@ -179,494 +107,6 @@ const char* TextureTypeToString(aiTextureType in) return "BUG"; } - -// ----------------------------------------------------------------------------------- -// Some chuncks of text will need to be encoded for XML -// http://stackoverflow.com/questions/5665231/most-efficient-way-to-escape-xml-html-in-c-string#5665377 -static std::string encodeXML(const std::string& data) { - std::string buffer; - buffer.reserve(data.size()); - for(size_t pos = 0; pos != data.size(); ++pos) { - switch(data[pos]) { - case '&': buffer.append("&"); break; - case '\"': buffer.append("""); break; - case '\'': buffer.append("'"); break; - case '<': buffer.append("<"); break; - case '>': buffer.append(">"); break; - default: buffer.append(&data[pos], 1); break; - } - } - return buffer; -} - - - -// ----------------------------------------------------------------------------------- -// Write a text model dump -void WriteDump(const aiScene* scene, FILE* out, const char* src, const char* cmd, bool shortened) -{ - time_t tt = ::time(NULL); -#if _WIN32 - tm* p = gmtime(&tt); -#else - struct tm now; - tm* p = gmtime_r(&tt, &now); -#endif - ai_assert(nullptr != p); - - std::string c = cmd; - std::string::size_type s; - - // https://sourceforge.net/tracker/?func=detail&aid=3167364&group_id=226462&atid=1067632 - // -- not allowed in XML comments - while((s = c.find("--")) != std::string::npos) { - c[s] = '?'; - } - aiString name; - - // write header - fprintf(out, - "\n" - "\n\n" - - "" - " \n\n" - "\n", - - aiGetVersionMajor(),aiGetVersionMinor(),aiGetVersionRevision(),src,c.c_str(),asctime(p), - scene->mFlags, - 0 /*globalImporter->GetEffectivePostProcessing()*/); - - // write the node graph - WriteNode(scene->mRootNode, out, 0); - -#if 0 - // write cameras - for (unsigned int i = 0; i < scene->mNumCameras;++i) { - aiCamera* cam = scene->mCameras[i]; - ConvertName(name,cam->mName); - - // camera header - fprintf(out,"\t\n" - "\t\t %0 8f %0 8f %0 8f \n" - "\t\t %0 8f %0 8f %0 8f \n" - "\t\t %0 8f %0 8f %0 8f \n" - "\t\t %f \n" - "\t\t %f \n" - "\t\t %f \n" - "\t\t %f \n" - "\t\n", - name.data, - cam->mUp.x,cam->mUp.y,cam->mUp.z, - cam->mLookAt.x,cam->mLookAt.y,cam->mLookAt.z, - cam->mPosition.x,cam->mPosition.y,cam->mPosition.z, - cam->mHorizontalFOV,cam->mAspect,cam->mClipPlaneNear,cam->mClipPlaneFar,i); - } - - // write lights - for (unsigned int i = 0; i < scene->mNumLights;++i) { - aiLight* l = scene->mLights[i]; - ConvertName(name,l->mName); - - // light header - fprintf(out,"\t type=\"%s\"\n" - "\t\t %0 8f %0 8f %0 8f \n" - "\t\t %0 8f %0 8f %0 8f \n" - "\t\t %0 8f %0 8f %0 8f \n", - name.data, - (l->mType == aiLightSource_DIRECTIONAL ? "directional" : - (l->mType == aiLightSource_POINT ? "point" : "spot" )), - l->mColorDiffuse.r, l->mColorDiffuse.g, l->mColorDiffuse.b, - l->mColorSpecular.r,l->mColorSpecular.g,l->mColorSpecular.b, - l->mColorAmbient.r, l->mColorAmbient.g, l->mColorAmbient.b); - - if (l->mType != aiLightSource_DIRECTIONAL) { - fprintf(out, - "\t\t %0 8f %0 8f %0 8f \n" - "\t\t %f \n" - "\t\t %f \n" - "\t\t %f \n", - l->mPosition.x,l->mPosition.y,l->mPosition.z, - l->mAttenuationConstant,l->mAttenuationLinear,l->mAttenuationQuadratic); - } - - if (l->mType != aiLightSource_POINT) { - fprintf(out, - "\t\t %0 8f %0 8f %0 8f \n", - l->mDirection.x,l->mDirection.y,l->mDirection.z); - } - - if (l->mType == aiLightSource_SPOT) { - fprintf(out, - "\t\t %f \n" - "\t\t %f \n", - l->mAngleOuterCone,l->mAngleInnerCone); - } - fprintf(out,"\t\n"); - } -#endif - - // write textures - if (scene->mNumTextures) { - fprintf(out,"\n",scene->mNumTextures); - for (unsigned int i = 0; i < scene->mNumTextures;++i) { - aiTexture* tex = scene->mTextures[i]; - bool compressed = (tex->mHeight == 0); - - // mesh header - fprintf(out,"\t \n", - (compressed ? -1 : tex->mWidth),(compressed ? -1 : tex->mHeight), - (compressed ? "true" : "false")); - - if (compressed) { - fprintf(out,"\t\t \n",tex->mWidth); - - if (!shortened) { - for (unsigned int n = 0; n < tex->mWidth;++n) { - fprintf(out,"\t\t\t%2x",reinterpret_cast(tex->pcData)[n]); - if (n && !(n % 50)) { - fprintf(out,"\n"); - } - } - } - } - else if (!shortened){ - fprintf(out,"\t\t \n",tex->mWidth*tex->mHeight*4); - - // const unsigned int width = (unsigned int)log10((double)std::max(tex->mHeight,tex->mWidth))+1; - for (unsigned int y = 0; y < tex->mHeight;++y) { - for (unsigned int x = 0; x < tex->mWidth;++x) { - aiTexel* tx = tex->pcData + y*tex->mWidth+x; - unsigned int r = tx->r,g=tx->g,b=tx->b,a=tx->a; - fprintf(out,"\t\t\t%2x %2x %2x %2x",r,g,b,a); - - // group by four for readibility - if (0 == (x+y*tex->mWidth) % 4) - fprintf(out,"\n"); - } - } - } - fprintf(out,"\t\t\n\t\n"); - } - fprintf(out,"\n"); - } - - // write materials - if (scene->mNumMaterials) { - fprintf(out,"\n",scene->mNumMaterials); - for (unsigned int i = 0; i< scene->mNumMaterials; ++i) { - const aiMaterial* mat = scene->mMaterials[i]; - - fprintf(out,"\t\n"); - fprintf(out,"\t\t\n",mat->mNumProperties); - for (unsigned int n = 0; n < mat->mNumProperties;++n) { - - const aiMaterialProperty* prop = mat->mProperties[n]; - const char* sz = ""; - if (prop->mType == aiPTI_Float) { - sz = "float"; - } - else if (prop->mType == aiPTI_Integer) { - sz = "integer"; - } - else if (prop->mType == aiPTI_String) { - sz = "string"; - } - else if (prop->mType == aiPTI_Buffer) { - sz = "binary_buffer"; - } - - fprintf(out,"\t\t\tmKey.data, sz, - ::TextureTypeToString((aiTextureType)prop->mSemantic),prop->mIndex); - - if (prop->mType == aiPTI_Float) { - fprintf(out," size=\"%i\">\n\t\t\t\t", - static_cast(prop->mDataLength/sizeof(float))); - - for (unsigned int p = 0; p < prop->mDataLength/sizeof(float);++p) { - fprintf(out,"%f ",*((float*)(prop->mData+p*sizeof(float)))); - } - } - else if (prop->mType == aiPTI_Integer) { - fprintf(out," size=\"%i\">\n\t\t\t\t", - static_cast(prop->mDataLength/sizeof(int))); - - for (unsigned int p = 0; p < prop->mDataLength/sizeof(int);++p) { - fprintf(out,"%i ",*((int*)(prop->mData+p*sizeof(int)))); - } - } - else if (prop->mType == aiPTI_Buffer) { - fprintf(out," size=\"%i\">\n\t\t\t\t", - static_cast(prop->mDataLength)); - - for (unsigned int p = 0; p < prop->mDataLength;++p) { - fprintf(out,"%2x ",prop->mData[p]); - if (p && 0 == p%30) { - fprintf(out,"\n\t\t\t\t"); - } - } - } - else if (prop->mType == aiPTI_String) { - fprintf(out,">\n\t\t\t\t\"%s\"",encodeXML(prop->mData+4).c_str() /* skip length */); - } - fprintf(out,"\n\t\t\t\n"); - } - fprintf(out,"\t\t\n"); - fprintf(out,"\t\n"); - } - fprintf(out,"\n"); - } - - // write animations - if (scene->mNumAnimations) { - fprintf(out,"\n",scene->mNumAnimations); - for (unsigned int i = 0; i < scene->mNumAnimations;++i) { - aiAnimation* anim = scene->mAnimations[i]; - - // anim header - ConvertName(name,anim->mName); - fprintf(out,"\t\n", - name.data, anim->mDuration, anim->mTicksPerSecond); - - // write bone animation channels - if (anim->mNumChannels) { - fprintf(out,"\t\t\n",anim->mNumChannels); - for (unsigned int n = 0; n < anim->mNumChannels;++n) { - aiNodeAnim* nd = anim->mChannels[n]; - - // node anim header - ConvertName(name,nd->mNodeName); - fprintf(out,"\t\t\t\n",name.data); - - if (!shortened) { - // write position keys - if (nd->mNumPositionKeys) { - fprintf(out,"\t\t\t\t\n",nd->mNumPositionKeys); - for (unsigned int a = 0; a < nd->mNumPositionKeys;++a) { - aiVectorKey* vc = nd->mPositionKeys+a; - fprintf(out,"\t\t\t\t\t\n" - "\t\t\t\t\t\t%0 8f %0 8f %0 8f\n\t\t\t\t\t\n", - vc->mTime,vc->mValue.x,vc->mValue.y,vc->mValue.z); - } - fprintf(out,"\t\t\t\t\n"); - } - - // write scaling keys - if (nd->mNumScalingKeys) { - fprintf(out,"\t\t\t\t\n",nd->mNumScalingKeys); - for (unsigned int a = 0; a < nd->mNumScalingKeys;++a) { - aiVectorKey* vc = nd->mScalingKeys+a; - fprintf(out,"\t\t\t\t\t\n" - "\t\t\t\t\t\t%0 8f %0 8f %0 8f\n\t\t\t\t\t\n", - vc->mTime,vc->mValue.x,vc->mValue.y,vc->mValue.z); - } - fprintf(out,"\t\t\t\t\n"); - } - - // write rotation keys - if (nd->mNumRotationKeys) { - fprintf(out,"\t\t\t\t\n",nd->mNumRotationKeys); - for (unsigned int a = 0; a < nd->mNumRotationKeys;++a) { - aiQuatKey* vc = nd->mRotationKeys+a; - fprintf(out,"\t\t\t\t\t\n" - "\t\t\t\t\t\t%0 8f %0 8f %0 8f %0 8f\n\t\t\t\t\t\n", - vc->mTime,vc->mValue.x,vc->mValue.y,vc->mValue.z,vc->mValue.w); - } - fprintf(out,"\t\t\t\t\n"); - } - } - fprintf(out,"\t\t\t\n"); - } - fprintf(out,"\t\t\n"); - } - fprintf(out,"\t\n"); - } - fprintf(out,"\n"); - } - - // write meshes - if (scene->mNumMeshes) { - fprintf(out,"\n",scene->mNumMeshes); - for (unsigned int i = 0; i < scene->mNumMeshes;++i) { - aiMesh* mesh = scene->mMeshes[i]; - // const unsigned int width = (unsigned int)log10((double)mesh->mNumVertices)+1; - - // mesh header - fprintf(out,"\t\n", - (mesh->mPrimitiveTypes & aiPrimitiveType_POINT ? "points" : ""), - (mesh->mPrimitiveTypes & aiPrimitiveType_LINE ? "lines" : ""), - (mesh->mPrimitiveTypes & aiPrimitiveType_TRIANGLE ? "triangles" : ""), - (mesh->mPrimitiveTypes & aiPrimitiveType_POLYGON ? "polygons" : ""), - mesh->mMaterialIndex); - - // bones - if (mesh->mNumBones) { - fprintf(out,"\t\t\n",mesh->mNumBones); - - for (unsigned int n = 0; n < mesh->mNumBones;++n) { - aiBone* bone = mesh->mBones[n]; - - ConvertName(name,bone->mName); - // bone header - fprintf(out,"\t\t\t\n" - "\t\t\t\t \n" - "\t\t\t\t\t%0 6f %0 6f %0 6f %0 6f\n" - "\t\t\t\t\t%0 6f %0 6f %0 6f %0 6f\n" - "\t\t\t\t\t%0 6f %0 6f %0 6f %0 6f\n" - "\t\t\t\t\t%0 6f %0 6f %0 6f %0 6f\n" - "\t\t\t\t \n", - name.data, - bone->mOffsetMatrix.a1,bone->mOffsetMatrix.a2,bone->mOffsetMatrix.a3,bone->mOffsetMatrix.a4, - bone->mOffsetMatrix.b1,bone->mOffsetMatrix.b2,bone->mOffsetMatrix.b3,bone->mOffsetMatrix.b4, - bone->mOffsetMatrix.c1,bone->mOffsetMatrix.c2,bone->mOffsetMatrix.c3,bone->mOffsetMatrix.c4, - bone->mOffsetMatrix.d1,bone->mOffsetMatrix.d2,bone->mOffsetMatrix.d3,bone->mOffsetMatrix.d4); - - if (!shortened && bone->mNumWeights) { - fprintf(out,"\t\t\t\t\n",bone->mNumWeights); - - // bone weights - for (unsigned int a = 0; a < bone->mNumWeights;++a) { - aiVertexWeight* wght = bone->mWeights+a; - - fprintf(out,"\t\t\t\t\t\n\t\t\t\t\t\t%f\n\t\t\t\t\t\n", - wght->mVertexId,wght->mWeight); - } - fprintf(out,"\t\t\t\t\n"); - } - fprintf(out,"\t\t\t\n"); - } - fprintf(out,"\t\t\n"); - } - - // faces - if (!shortened && mesh->mNumFaces) { - fprintf(out,"\t\t\n",mesh->mNumFaces); - for (unsigned int n = 0; n < mesh->mNumFaces; ++n) { - aiFace& f = mesh->mFaces[n]; - fprintf(out,"\t\t\t\n" - "\t\t\t\t",f.mNumIndices); - - for (unsigned int j = 0; j < f.mNumIndices;++j) - fprintf(out,"%u ",f.mIndices[j]); - - fprintf(out,"\n\t\t\t\n"); - } - fprintf(out,"\t\t\n"); - } - - // vertex positions - if (mesh->HasPositions()) { - fprintf(out,"\t\t \n",mesh->mNumVertices); - if (!shortened) { - for (unsigned int n = 0; n < mesh->mNumVertices; ++n) { - fprintf(out,"\t\t%0 8f %0 8f %0 8f\n", - mesh->mVertices[n].x, - mesh->mVertices[n].y, - mesh->mVertices[n].z); - } - } - fprintf(out,"\t\t\n"); - } - - // vertex normals - if (mesh->HasNormals()) { - fprintf(out,"\t\t \n",mesh->mNumVertices); - if (!shortened) { - for (unsigned int n = 0; n < mesh->mNumVertices; ++n) { - fprintf(out,"\t\t%0 8f %0 8f %0 8f\n", - mesh->mNormals[n].x, - mesh->mNormals[n].y, - mesh->mNormals[n].z); - } - } - else { - } - fprintf(out,"\t\t\n"); - } - - // vertex tangents and bitangents - if (mesh->HasTangentsAndBitangents()) { - fprintf(out,"\t\t \n",mesh->mNumVertices); - if (!shortened) { - for (unsigned int n = 0; n < mesh->mNumVertices; ++n) { - fprintf(out,"\t\t%0 8f %0 8f %0 8f\n", - mesh->mTangents[n].x, - mesh->mTangents[n].y, - mesh->mTangents[n].z); - } - } - fprintf(out,"\t\t\n"); - - fprintf(out,"\t\t \n",mesh->mNumVertices); - if (!shortened) { - for (unsigned int n = 0; n < mesh->mNumVertices; ++n) { - fprintf(out,"\t\t%0 8f %0 8f %0 8f\n", - mesh->mBitangents[n].x, - mesh->mBitangents[n].y, - mesh->mBitangents[n].z); - } - } - fprintf(out,"\t\t\n"); - } - - // texture coordinates - for (unsigned int a = 0; a < AI_MAX_NUMBER_OF_TEXTURECOORDS; ++a) { - if (!mesh->mTextureCoords[a]) - break; - - fprintf(out,"\t\t \n",mesh->mNumVertices, - a,mesh->mNumUVComponents[a]); - - if (!shortened) { - if (mesh->mNumUVComponents[a] == 3) { - for (unsigned int n = 0; n < mesh->mNumVertices; ++n) { - fprintf(out,"\t\t%0 8f %0 8f %0 8f\n", - mesh->mTextureCoords[a][n].x, - mesh->mTextureCoords[a][n].y, - mesh->mTextureCoords[a][n].z); - } - } - else { - for (unsigned int n = 0; n < mesh->mNumVertices; ++n) { - fprintf(out,"\t\t%0 8f %0 8f\n", - mesh->mTextureCoords[a][n].x, - mesh->mTextureCoords[a][n].y); - } - } - } - fprintf(out,"\t\t\n"); - } - - // vertex colors - for (unsigned int a = 0; a < AI_MAX_NUMBER_OF_COLOR_SETS; ++a) { - if (!mesh->mColors[a]) - break; - fprintf(out,"\t\t \n",mesh->mNumVertices,a); - if (!shortened) { - for (unsigned int n = 0; n < mesh->mNumVertices; ++n) { - fprintf(out,"\t\t%0 8f %0 8f %0 8f %0 8f\n", - mesh->mColors[a][n].r, - mesh->mColors[a][n].g, - mesh->mColors[a][n].b, - mesh->mColors[a][n].a); - } - } - fprintf(out,"\t\t\n"); - } - fprintf(out,"\t\n"); - } - fprintf(out,"\n"); - } - fprintf(out,"\n"); -} - - // ----------------------------------------------------------------------------------- int Assimp_Dump (const char* const* params, unsigned int num) { @@ -743,29 +183,25 @@ int Assimp_Dump (const char* const* params, unsigned int num) return AssimpCmdError::FailedToLoadInputFile; } - if (binary) { - try { - std::unique_ptr pIOSystem(new DefaultIOSystem()); + try { + // Dump the main model, using the appropriate method. + std::unique_ptr pIOSystem(new DefaultIOSystem()); + if (binary) { DumpSceneToAssbin(out.c_str(), cmd.c_str(), pIOSystem.get(), scene, shortened, compressed); } - catch (const std::exception& e) { - printf("%s", ("assimp dump: " + std::string(e.what())).c_str()); - return AssimpCmdError::ExceptionWasRaised; - } - catch (...) { - printf("assimp dump: An unknown exception occured.\n"); - return AssimpCmdError::ExceptionWasRaised; + else { + DumpSceneToAssxml(out.c_str(), cmd.c_str(), pIOSystem.get(), + scene, shortened); } } - else { - FILE* o = ::fopen(out.c_str(), "wt"); - if (!o) { - printf("assimp dump: Unable to open output file %s\n",out.c_str()); - return AssimpCmdError::FailedToOpenOutputFile; - } - WriteDump (scene,o,in.c_str(),cmd.c_str(),shortened); - fclose(o); + catch (const std::exception& e) { + printf("%s", ("assimp dump: " + std::string(e.what())).c_str()); + return AssimpCmdError::ExceptionWasRaised; + } + catch (...) { + printf("assimp dump: An unknown exception occured.\n"); + return AssimpCmdError::ExceptionWasRaised; } printf("assimp dump: Wrote output dump %s\n",out.c_str()); From 2c1c1d846e4584990e2397f195fb3225ec6a8668 Mon Sep 17 00:00:00 2001 From: Marc-Antoine Lortie Date: Thu, 30 Jan 2020 16:40:34 -0500 Subject: [PATCH 101/105] Renamed WriteDumb.cpp to WriteDump.cpp This includes as well changes to places referencing WriteDumb.cpp. --- code/Common/assbin_chunks.h | 2 +- tools/assimp_cmd/CMakeLists.txt | 2 +- tools/assimp_cmd/Main.h | 2 +- tools/assimp_cmd/{WriteDumb.cpp => WriteDump.cpp} | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) rename tools/assimp_cmd/{WriteDumb.cpp => WriteDump.cpp} (99%) diff --git a/code/Common/assbin_chunks.h b/code/Common/assbin_chunks.h index 15e4af5e7..822df5198 100644 --- a/code/Common/assbin_chunks.h +++ b/code/Common/assbin_chunks.h @@ -37,7 +37,7 @@ The ASSBIN file format is composed of chunks to represent the hierarchical aiSce This makes the format extensible and allows backward-compatibility with future data structure versions. The <root>/code/assbin_chunks.h header contains some magic constants for use by stand-alone ASSBIN loaders. Also, Assimp's own file writer can be found -in <root>/tools/assimp_cmd/WriteDumb.cpp (yes, the 'b' is no typo ...). +in <root>/tools/assimp_cmd/WriteDump.cpp (yes, the 'b' is no typo ...). @verbatim diff --git a/tools/assimp_cmd/CMakeLists.txt b/tools/assimp_cmd/CMakeLists.txt index ef7b7f054..fcf36c356 100644 --- a/tools/assimp_cmd/CMakeLists.txt +++ b/tools/assimp_cmd/CMakeLists.txt @@ -54,7 +54,7 @@ ADD_EXECUTABLE( assimp_cmd Main.cpp Main.h resource.h - WriteDumb.cpp + WriteDump.cpp Info.cpp Export.cpp ) diff --git a/tools/assimp_cmd/Main.h b/tools/assimp_cmd/Main.h index 7a6ac942d..ecc65345d 100644 --- a/tools/assimp_cmd/Main.h +++ b/tools/assimp_cmd/Main.h @@ -168,7 +168,7 @@ bool ExportModel(const aiScene* pOut, // ------------------------------------------------------------------------------ /** assimp_dump utility - * @param params Command line parameters to 'assimp dumb' + * @param params Command line parameters to 'assimp dump' * @param Number of params * @return An #AssimpCmdError value.*/ int Assimp_Dump ( diff --git a/tools/assimp_cmd/WriteDumb.cpp b/tools/assimp_cmd/WriteDump.cpp similarity index 99% rename from tools/assimp_cmd/WriteDumb.cpp rename to tools/assimp_cmd/WriteDump.cpp index 0403f3966..67d1a0e76 100644 --- a/tools/assimp_cmd/WriteDumb.cpp +++ b/tools/assimp_cmd/WriteDump.cpp @@ -41,7 +41,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------- */ -/** @file WriteTextDumb.cpp +/** @file WriteDump.cpp * @brief Implementation of the 'assimp dump' utility */ From bbe6f7f213b5e2ee689146df5c068dc1a55ea919 Mon Sep 17 00:00:00 2001 From: Hanif Bin Ariffin Date: Thu, 30 Jan 2020 18:42:30 -0500 Subject: [PATCH 102/105] Fixed a bunch of clang warnings 1. Fix misleading indentation warnings. 2. Fix creating a temporary const copy when iterating over a map (thanks to range analysis warnings) 3. Fix creating a copy when iterating over a range without reference qualifier (also thanks to range analysis warnings) --- code/COB/COBLoader.cpp | 2 +- code/Importer/IFC/IFCCurve.cpp | 4 ++-- code/MDL/MDLLoader.cpp | 2 +- code/XGL/XGLLoader.cpp | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/code/COB/COBLoader.cpp b/code/COB/COBLoader.cpp index 7b82ab662..8e7c81192 100644 --- a/code/COB/COBLoader.cpp +++ b/code/COB/COBLoader.cpp @@ -250,7 +250,7 @@ aiNode* COBImporter::BuildNodes(const Node& root,const Scene& scin,aiScene* fill const Mesh& ndmesh = (const Mesh&)(root); if (ndmesh.vertex_positions.size() && ndmesh.texture_coords.size()) { - typedef std::pair Entry; + typedef std::pair Entry; for(const Entry& reflist : ndmesh.temp_map) { { // create mesh size_t n = 0; diff --git a/code/Importer/IFC/IFCCurve.cpp b/code/Importer/IFC/IFCCurve.cpp index 6ff330052..b16df9c5c 100644 --- a/code/Importer/IFC/IFCCurve.cpp +++ b/code/Importer/IFC/IFCCurve.cpp @@ -323,7 +323,7 @@ public: // oh well. bool have_param = false, have_point = false; IfcVector3 point; - for(const Entry sel :entity.Trim1) { + for(const Entry& sel :entity.Trim1) { if (const ::Assimp::STEP::EXPRESS::REAL* const r = sel->ToPtr<::Assimp::STEP::EXPRESS::REAL>()) { range.first = *r; have_param = true; @@ -340,7 +340,7 @@ public: } } have_param = false, have_point = false; - for(const Entry sel :entity.Trim2) { + for(const Entry& sel :entity.Trim2) { if (const ::Assimp::STEP::EXPRESS::REAL* const r = sel->ToPtr<::Assimp::STEP::EXPRESS::REAL>()) { range.second = *r; have_param = true; diff --git a/code/MDL/MDLLoader.cpp b/code/MDL/MDLLoader.cpp index 21a6bc29b..8894f46ec 100644 --- a/code/MDL/MDLLoader.cpp +++ b/code/MDL/MDLLoader.cpp @@ -1421,7 +1421,7 @@ void MDLImporter::InternReadFile_3DGS_MDL7( ) avOutList[i].reserve(3); // buffer to held the names of all groups in the file - const size_t buffersize( AI_MDL7_MAX_GROUPNAMESIZE*pcHeader->groups_num ); + const size_t buffersize(AI_MDL7_MAX_GROUPNAMESIZE*pcHeader->groups_num); char* aszGroupNameBuffer = new char[ buffersize ]; // read all groups diff --git a/code/XGL/XGLLoader.cpp b/code/XGL/XGLLoader.cpp index 24ed5d57c..403205e03 100644 --- a/code/XGL/XGLLoader.cpp +++ b/code/XGL/XGLLoader.cpp @@ -685,7 +685,7 @@ bool XGLImporter::ReadMesh(TempScope& scope) } // finally extract output meshes and add them to the scope - typedef std::pair pairt; + typedef std::pair pairt; for(const pairt& p : bymat) { aiMesh* const m = ToOutputMesh(p.second); scope.meshes_linear.push_back(m); From ede860173eeb232db58fb768d9c097ed14edf2b4 Mon Sep 17 00:00:00 2001 From: Marc-Antoine Lortie Date: Fri, 31 Jan 2020 16:43:20 -0500 Subject: [PATCH 103/105] Fixed mValues allocated twice. mValues is already allocated in aiMetadata::Alloc(). --- code/Common/SceneCombiner.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/code/Common/SceneCombiner.cpp b/code/Common/SceneCombiner.cpp index 9471907de..29b6082a8 100644 --- a/code/Common/SceneCombiner.cpp +++ b/code/Common/SceneCombiner.cpp @@ -1312,7 +1312,6 @@ void SceneCombiner::Copy(aiMetadata** _dest, const aiMetadata* src) { aiMetadata* dest = *_dest = aiMetadata::Alloc( src->mNumProperties ); std::copy(src->mKeys, src->mKeys + src->mNumProperties, dest->mKeys); - dest->mValues = new aiMetadataEntry[src->mNumProperties]; for (unsigned int i = 0; i < src->mNumProperties; ++i) { aiMetadataEntry& in = src->mValues[i]; aiMetadataEntry& out = dest->mValues[i]; From 8e009c3d0cd11bcabf7a66952d33e3fa55b9ae12 Mon Sep 17 00:00:00 2001 From: Kim Kulling Date: Mon, 3 Feb 2020 19:06:36 +0100 Subject: [PATCH 104/105] Update MDLLoader.cpp fix a tab. --- code/MDL/MDLLoader.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/MDL/MDLLoader.cpp b/code/MDL/MDLLoader.cpp index 8894f46ec..11c6e3ecb 100644 --- a/code/MDL/MDLLoader.cpp +++ b/code/MDL/MDLLoader.cpp @@ -1422,10 +1422,10 @@ void MDLImporter::InternReadFile_3DGS_MDL7( ) // buffer to held the names of all groups in the file const size_t buffersize(AI_MDL7_MAX_GROUPNAMESIZE*pcHeader->groups_num); - char* aszGroupNameBuffer = new char[ buffersize ]; + char* aszGroupNameBuffer = new char[ buffersize ]; // read all groups - for (unsigned int iGroup = 0; iGroup < (unsigned int)pcHeader->groups_num;++iGroup) { + for (unsigned int iGroup = 0; iGroup < (unsigned int)pcHeader->groups_num; ++iGroup) { MDL::IntGroupInfo_MDL7 groupInfo((BE_NCONST MDL::Group_MDL7*)szCurrent,iGroup); szCurrent = (const unsigned char*)(groupInfo.pcGroup+1); From cb55e2658db85558104b828d17b3455d0a24c6f0 Mon Sep 17 00:00:00 2001 From: Max Vollmer Date: Wed, 5 Feb 2020 11:07:39 +0000 Subject: [PATCH 105/105] Removed unnecessary checks that may result in false positives rejecting valid models --- code/FBX/FBXMeshGeometry.cpp | 46 +++++++++++++----------------------- 1 file changed, 17 insertions(+), 29 deletions(-) diff --git a/code/FBX/FBXMeshGeometry.cpp b/code/FBX/FBXMeshGeometry.cpp index 003f0870c..2f2782182 100644 --- a/code/FBX/FBXMeshGeometry.cpp +++ b/code/FBX/FBXMeshGeometry.cpp @@ -448,11 +448,11 @@ void ResolveVertexDataArray(std::vector& data_out, const Scope& source, std::vector tempData; ParseVectorDataArray(tempData, GetRequiredElement(source, dataElementName)); - if (tempData.size() != vertex_count) { - FBXImporter::LogError(Formatter::format("length of input data unexpected for ByVertice mapping: ") - << tempData.size() << ", expected " << vertex_count); - return; - } + if (tempData.size() != vertex_count) { + FBXImporter::LogError(Formatter::format("length of input data unexpected for ByVertice mapping: ") + << tempData.size() << ", expected " << vertex_count); + return; + } data_out.resize(vertex_count); for (size_t i = 0, e = tempData.size(); i < e; ++i) { @@ -467,22 +467,16 @@ void ResolveVertexDataArray(std::vector& data_out, const Scope& source, std::vector tempData; ParseVectorDataArray(tempData, GetRequiredElement(source, dataElementName)); - if (tempData.size() != vertex_count) { - FBXImporter::LogError(Formatter::format("length of input data unexpected for ByVertice mapping: ") - << tempData.size() << ", expected " << vertex_count); - return; - } - std::vector uvIndices; ParseVectorDataArray(uvIndices,GetRequiredElement(source,indexDataElementName)); - if (uvIndices.size() != vertex_count) { - FBXImporter::LogError(Formatter::format("length of input data unexpected for ByVertice mapping: ") - << uvIndices.size() << ", expected " << vertex_count); - return; - } + if (uvIndices.size() != vertex_count) { + FBXImporter::LogError(Formatter::format("length of input data unexpected for ByVertice mapping: ") + << uvIndices.size() << ", expected " << vertex_count); + return; + } - data_out.resize(vertex_count); + data_out.resize(vertex_count); for (size_t i = 0, e = uvIndices.size(); i < e; ++i) { @@ -512,22 +506,16 @@ void ResolveVertexDataArray(std::vector& data_out, const Scope& source, std::vector tempData; ParseVectorDataArray(tempData, GetRequiredElement(source, dataElementName)); - if (tempData.size() != vertex_count) { - FBXImporter::LogError(Formatter::format("length of input data unexpected for ByPolygonVertex mapping: ") - << tempData.size() << ", expected " << vertex_count); - return; - } - std::vector uvIndices; ParseVectorDataArray(uvIndices,GetRequiredElement(source,indexDataElementName)); - if (uvIndices.size() != vertex_count) { - FBXImporter::LogError(Formatter::format("length of input data unexpected for ByPolygonVertex mapping: ") - << uvIndices.size() << ", expected " << vertex_count); - return; - } + if (uvIndices.size() != vertex_count) { + FBXImporter::LogError(Formatter::format("length of input data unexpected for ByPolygonVertex mapping: ") + << uvIndices.size() << ", expected " << vertex_count); + return; + } - data_out.resize(vertex_count); + data_out.resize(vertex_count); const T empty; unsigned int next = 0;