OSDN Git Service

implement pmx.writer
[meshio/pymeshio.git] / pymeshio / pmd / writer.py
index 187f59d..0e7ec0d 100644 (file)
@@ -32,14 +32,14 @@ class Writer(common.BinaryWriter):
             self.write_uint(m.toon_index, 1)\r
             self.write_uint(m.edge_flag, 1)\r
             self.write_uint(m.vertex_count, 4)\r
-            self.write_text(m.texture_file, 20)\r
+            self.write_bytes(m.texture_file, 20)\r
 \r
     def write_bones(self, bones):\r
         self.write_uint(len(bones), 2)\r
         sBone=struct.Struct("=20sHHBH3f")\r
         assert(sBone.size==39)\r
         for b in bones:\r
-            self.write_text(b.name, 20)\r
+            self.write_bytes(b.name, 20)\r
             self.write_uint(b.parent_index, 2)\r
             self.write_uint(b.tail_index, 2)\r
             self.write_uint(b.type, 1)\r
@@ -59,7 +59,7 @@ class Writer(common.BinaryWriter):
     def write_morphs(self, morphs):\r
         self.write_uint(len(morphs), 2)\r
         for morph in morphs:\r
-            self.write_text(morph.name, 20)\r
+            self.write_bytes(morph.name, 20)\r
             self.write_uint(len(morph.indices), 4)\r
             self.write_uint(morph.type, 1)\r
             for i, v in zip(morph.indices, morph.pos_list):\r
@@ -73,7 +73,7 @@ class Writer(common.BinaryWriter):
     def write_bone_group_list(self, bone_group_list):\r
         self.write_uint(len(bone_group_list), 1)\r
         for g in bone_group_list:\r
-            self.write_text(g.name, 50)\r
+            self.write_bytes(g.name, 50)\r
 \r
     def write_bone_display_list(self, bone_display_list):\r
         self.write_uint(len(bone_display_list), 4)\r
@@ -84,7 +84,7 @@ class Writer(common.BinaryWriter):
     def write_rigidbodies(self, rigidbodies):\r
         self.write_uint(len(rigidbodies), 4)\r
         for r in rigidbodies:\r
-            self.write_text(r.name, 20)\r
+            self.write_bytes(r.name, 20)\r
             self.write_uint(r.bone_index, 2)\r
             self.write_uint(r.collision_group, 1)\r
             self.write_uint(r.no_collision_group, 2)\r
@@ -102,7 +102,7 @@ class Writer(common.BinaryWriter):
     def write_joints(self, joints):\r
         self.write_uint(len(joints), 4)\r
         for j in joints:\r
-            self.write_text(j.name, 20)\r
+            self.write_bytes(j.name, 20)\r
             self.write_uint(j.rigidbody_index_a, 4)\r
             self.write_uint(j.rigidbody_index_b, 4)\r
             self.write_vector3(j.position)\r
@@ -119,10 +119,10 @@ def write(ios, model):
     assert(isinstance(ios, io.IOBase))\r
     assert(isinstance(model, pmd.Model))\r
     writer=Writer(ios)\r
-    writer.write_text(b"Pmd")\r
+    writer.write_bytes(b"Pmd")\r
     writer.write_float(model.version)\r
-    writer.write_text(model.name, 20)\r
-    writer.write_text(model.comment, 256)\r
+    writer.write_bytes(model.name, 20)\r
+    writer.write_bytes(model.comment, 256)\r
     writer.write_veritices(model.vertices)\r
     writer.write_indices(model.indices)\r
     writer.write_materials(model.materials)\r
@@ -134,18 +134,18 @@ def write(ios, model):
     writer.write_bone_display_list(model.bone_display_list)\r
     # extend data\r
     writer.write_uint(1, 1)\r
-    writer.write_text(model.english_name, 20)\r
-    writer.write_text(model.english_comment, 256)\r
+    writer.write_bytes(model.english_name, 20)\r
+    writer.write_bytes(model.english_comment, 256)\r
     for bone in model.bones:\r
-        writer.write_text(bone.english_name, 20)\r
+        writer.write_bytes(bone.english_name, 20)\r
     for skin in model.morphs:\r
         if skin.name==b'base':\r
             continue\r
-        writer.write_text(skin.english_name, 20)\r
+        writer.write_bytes(skin.english_name, 20)\r
     for g in model.bone_group_list:\r
-        writer.write_text(g.english_name, 50)\r
+        writer.write_bytes(g.english_name, 50)\r
     for toon_texture in model.toon_textures:\r
-        writer.write_text(toon_texture, 100)\r
+        writer.write_bytes(toon_texture, 100)\r
     writer.write_rigidbodies(model.rigidbodies)\r
     writer.write_joints(model.joints)\r
     return True\r