OSDN Git Service

implement converter
[meshio/pymeshio.git] / pymeshio / pmd / reader.py
index 0b41da2..ddce5b9 100644 (file)
@@ -42,7 +42,7 @@ class Reader(common.BinaryReader):
                 specular_factor=self.read_float(),\r
                 specular_color=self.read_rgb(),\r
                 ambient_color=self.read_rgb(),\r
-                toon_index=self.read_uint(1),\r
+                toon_index=self.read_int(1),\r
                 edge_flag=self.read_uint(1),\r
                 vertex_count=self.read_uint(4),\r
                 texture_file=self.read_text(20)\r
@@ -79,9 +79,9 @@ class Reader(common.BinaryReader):
     def read_rigidbody(self):\r
         return pmd.RigidBody(\r
                 name=self.read_text(20), \r
-                bone_index=self.read_uint(2),\r
-                collision_group=self.read_uint(1),\r
-                no_collision_group=self.read_uint(2),\r
+                bone_index=self.read_int(2),\r
+                collision_group=self.read_int(1),\r
+                no_collision_group=self.read_int(2),\r
                 shape_type=self.read_uint(1),\r
                 shape_size=self.read_vector3(),\r
                 shape_position=self.read_vector3(),\r
@@ -143,7 +143,7 @@ def __read(reader, model):
     # extend1: english name\r
     ############################################################\r
     if reader.read_uint(1)==0:\r
-        print("no extend flag")\r
+        #print("no extend flag")\r
         return True\r
     model.english_name=reader.read_text(20)\r
     model.english_comment=reader.read_text(256)\r
@@ -172,6 +172,7 @@ def __read(reader, model):
     if reader.is_end():\r
         # EOF\r
         return True\r
+\r
     model.rigidbodies=[reader.read_rigidbody()\r
             for _ in range(reader.read_uint(4))]\r
     model.joints=[reader.read_joint()\r
@@ -194,7 +195,9 @@ def read_from_file(path):
     <pmd-2.0 "Miku Hatsune" 12354vertices>\r
 \r
     """\r
-    return read(io.BytesIO(common.readall(path)))\r
+    pmd=read(io.BytesIO(common.readall(path)))\r
+    pmd.path=path\r
+    return pmd\r
 \r
 \r
 def read(ios):\r