Browse Source

Add tokenization of 'c' type arrays, both compressed and uncompressed.

Malcolm Tyrrell 6 years ago
parent
commit
f9014d7410
1 changed files with 8 additions and 3 deletions
  1. 8 3
      code/FBXBinaryTokenizer.cpp

+ 8 - 3
code/FBXBinaryTokenizer.cpp

@@ -54,6 +54,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 #include <assimp/Exceptional.h>
 #include <assimp/ByteSwapper.h>
 
+
 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);
             };