From 440a3e7300ff7ce7792c58250b2f3ad3a044e88d Mon Sep 17 00:00:00 2001 From: Will Snyder Date: Thu, 3 Dec 2020 23:15:25 -0500 Subject: [PATCH] MSH reader no longer reads up to the next multiple of 4, since files exported with ZETools seem not to abide by that rule. It doesn't matter if files are exported with this behavior, since the reading code now skips bytes until a known header is found, instead of just reading the next header blindly. Teancum's highsinger and xizor now importing just fine. --- addons/io_scene_swbf_msh/msh_reader.py | 4 +--- addons/io_scene_swbf_msh/msh_to_blend.py | 2 -- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/addons/io_scene_swbf_msh/msh_reader.py b/addons/io_scene_swbf_msh/msh_reader.py index c9941bf..25528f9 100644 --- a/addons/io_scene_swbf_msh/msh_reader.py +++ b/addons/io_scene_swbf_msh/msh_reader.py @@ -16,9 +16,7 @@ class Reader: self.size_pos = self.file.tell() self.header = self.read_bytes(4).decode("utf-8") self.size = self.read_u32() - - padding_length = 4 - (self.size % 4) if self.size % 4 > 0 else 0 - self.end_pos = self.size_pos + padding_length + self.size + 8 + self.end_pos = self.size_pos + self.size + 8 if self.debug: print(self.indent + "Begin " + self.header + ", Size: " + str(self.size) + ", Pos: " + str(self.size_pos)) diff --git a/addons/io_scene_swbf_msh/msh_to_blend.py b/addons/io_scene_swbf_msh/msh_to_blend.py index 0492eec..9f530ea 100644 --- a/addons/io_scene_swbf_msh/msh_to_blend.py +++ b/addons/io_scene_swbf_msh/msh_to_blend.py @@ -83,7 +83,6 @@ def extract_refined_skeleton(scene: Scene): if crc(model_weighted_to.name) not in scene.skeleton: scene.skeleton.append(crc(model_weighted_to.name)) - print("Found additional bone: " + model_weighted_to.name) for model in scene.models: if crc(model.name) in scene.skeleton: @@ -170,7 +169,6 @@ def extract_models(scene: Scene, materials_map): for strip in seg.triangle_strips: for i in range(len(strip) - 2): face = tuple([offset + strip[j] for j in range(i,i+3)]) - print("strip face: " + str(face)) faces.append(face) offset += len(seg.positions)