[Bf-extensions-cvs] SVN commit: /data/svn/bf-extensions [4680] trunk/py/scripts/addons/ io_scene_fbx/parse_fbx.py: update parser to support binary arrays
Campbell Barton
ideasman42 at gmail.com
Mon Aug 19 13:41:55 CEST 2013
Revision: 4680
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-extensions&revision=4680
Author: campbellbarton
Date: 2013-08-19 11:41:55 +0000 (Mon, 19 Aug 2013)
Log Message:
-----------
update parser to support binary arrays
Modified Paths:
--------------
trunk/py/scripts/addons/io_scene_fbx/parse_fbx.py
Modified: trunk/py/scripts/addons/io_scene_fbx/parse_fbx.py
===================================================================
--- trunk/py/scripts/addons/io_scene_fbx/parse_fbx.py 2013-08-18 15:16:51 UTC (rev 4679)
+++ trunk/py/scripts/addons/io_scene_fbx/parse_fbx.py 2013-08-19 11:41:55 UTC (rev 4680)
@@ -79,19 +79,19 @@
read_data_dict = {
- b'Y'[0]: lambda read, size: unpack(b'<h', read(2))[0], # 16 bit int
- b'C'[0]: lambda read, size: unpack(b'?', read(1))[0], # 1 bit bool (yes/no)
- b'I'[0]: lambda read, size: unpack(b'<i', read(4))[0], # 32 bit int
- b'F'[0]: lambda read, size: unpack(b'<f', read(4))[0], # 32 bit float
- b'D'[0]: lambda read, size: unpack(b'<d', read(8))[0], # 64 bit float
- b'L'[0]: lambda read, size: unpack(b'<q', read(8))[0], # 64 bit int
- b'R'[0]: lambda read, size: read(read_uint(read)), # binary data
- b'S'[0]: lambda read, size: read(read_uint(read)), # string data
- b'f'[0]: lambda read, size: unpack_array(read, 'f', 4, False), # array (float)
- b'i'[0]: lambda read, size: unpack_array(read, 'i', 4, True), # array (int)
- b'd'[0]: lambda read, size: unpack_array(read, 'd', 8, False), # array (double)
- b'l'[0]: lambda read, size: unpack_array(read, 'q', 8, True), # array (long)
- b'b'[0]: lambda read, size: read(size), # unknown
+ b'Y'[0]: lambda read: unpack(b'<h', read(2))[0], # 16 bit int
+ b'C'[0]: lambda read: unpack(b'?', read(1))[0], # 1 bit bool (yes/no)
+ b'I'[0]: lambda read: unpack(b'<i', read(4))[0], # 32 bit int
+ b'F'[0]: lambda read: unpack(b'<f', read(4))[0], # 32 bit float
+ b'D'[0]: lambda read: unpack(b'<d', read(8))[0], # 64 bit float
+ b'L'[0]: lambda read: unpack(b'<q', read(8))[0], # 64 bit int
+ b'R'[0]: lambda read: read(read_uint(read)), # binary data
+ b'S'[0]: lambda read: read(read_uint(read)), # string data
+ b'f'[0]: lambda read: unpack_array(read, 'f', 4, False), # array (float)
+ b'i'[0]: lambda read: unpack_array(read, 'i', 4, True), # array (int)
+ b'd'[0]: lambda read: unpack_array(read, 'd', 8, False), # array (double)
+ b'l'[0]: lambda read: unpack_array(read, 'q', 8, True), # array (long)
+ b'b'[0]: lambda read: unpack_array(read, 'b', 1, False), # bool array
}
@@ -113,7 +113,7 @@
for i in range(prop_count):
data_type = read(1)[0]
- elem_props_data[i] = read_data_dict[data_type](read, prop_length)
+ elem_props_data[i] = read_data_dict[data_type](read)
elem_props_type[i] = data_type
if tell() < end_offset:
@@ -183,4 +183,5 @@
INT32_ARRAY = b'i'[0],
FLOAT64_ARRAY = b'd'[0],
INT64_ARRAY = b'l'[0],
+BOOL_ARRAY = b'b'[0],
))
More information about the Bf-extensions-cvs
mailing list