From f9014d7410a67ce4c9a4816ec21304d0e3e50970 Mon Sep 17 00:00:00 2001 From: Malcolm Tyrrell Date: Tue, 5 Feb 2019 14:36:49 +0000 Subject: [PATCH 1/3] Add tokenization of 'c' type arrays, both compressed and uncompressed. --- code/FBXBinaryTokenizer.cpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/code/FBXBinaryTokenizer.cpp b/code/FBXBinaryTokenizer.cpp index f12a5c5b2a..4f5f5d8702 100644 --- a/code/FBXBinaryTokenizer.cpp +++ b/code/FBXBinaryTokenizer.cpp @@ -54,6 +54,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include #include + namespace Assimp { namespace FBX { @@ -83,7 +84,7 @@ namespace FBX { // e_unknown_21 = 1 << 21, // e_unknown_22 = 1 << 22, // e_unknown_23 = 1 << 23, -// e_flag_field_size_64_bit = 1 << 24, // Not sure what is +// e_flag_field_size_64_bit = 1 << 24, // Not sure what is // e_unknown_25 = 1 << 25, // e_unknown_26 = 1 << 26, // e_unknown_27 = 1 << 27, @@ -276,8 +277,8 @@ void ReadData(const char*& sbegin_out, const char*& send_out, const char* input, case 'f': case 'd': case 'l': - case 'i': { - + case 'i': + case 'c': { const uint32_t length = ReadWord(input, cursor, end); const uint32_t encoding = ReadWord(input, cursor, end); @@ -298,6 +299,10 @@ void ReadData(const char*& sbegin_out, const char*& send_out, const char* input, stride = 8; break; + case 'c': + stride = 1; + break; + default: ai_assert(false); }; From 02a5f6b62f89042a6b46f8c1eb1111355094ce43 Mon Sep 17 00:00:00 2001 From: Malcolm Tyrrell Date: Tue, 5 Feb 2019 15:54:33 +0000 Subject: [PATCH 2/3] Remove unneeded newline. --- code/FBXBinaryTokenizer.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/code/FBXBinaryTokenizer.cpp b/code/FBXBinaryTokenizer.cpp index 4f5f5d8702..7138df4315 100644 --- a/code/FBXBinaryTokenizer.cpp +++ b/code/FBXBinaryTokenizer.cpp @@ -54,7 +54,6 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include #include - namespace Assimp { namespace FBX { From 56374666a700a27f23fe23a39e50040e29db5187 Mon Sep 17 00:00:00 2001 From: Malcolm Tyrrell Date: Tue, 5 Feb 2019 16:43:03 +0000 Subject: [PATCH 3/3] Add two test files which require 'c' handling to be tokenized correctly. --- test/models/FBX/boxWithCompressedCTypeArray.FBX | Bin 0 -> 13824 bytes .../FBX/boxWithUncompressedCTypeArray.FBX | Bin 0 -> 26021 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 test/models/FBX/boxWithCompressedCTypeArray.FBX create mode 100644 test/models/FBX/boxWithUncompressedCTypeArray.FBX diff --git a/test/models/FBX/boxWithCompressedCTypeArray.FBX b/test/models/FBX/boxWithCompressedCTypeArray.FBX new file mode 100644 index 0000000000000000000000000000000000000000..2f71bc7ee9383cc8db4615b1c15067625a26b6be GIT binary patch literal 13824 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 literal 0 HcmV?d00001