From 94b660e0041f6a3be35a61fa0000c4803451e289 Mon Sep 17 00:00:00 2001 From: Sebastian Nell <codemanx@gmx.de> Date: Sun, 8 Jul 2012 12:37:52 +0000 Subject: [PATCH] 3ds export addon: fixed comments to not interfere with string-literals, reported by IRIE Shinsuke via mailing list --- io_scene_3ds/export_3ds.py | 56 ++++++++++++++++++++------------------ 1 file changed, 29 insertions(+), 27 deletions(-) diff --git a/io_scene_3ds/export_3ds.py b/io_scene_3ds/export_3ds.py index 1856659b2..75687dd11 100644 --- a/io_scene_3ds/export_3ds.py +++ b/io_scene_3ds/export_3ds.py @@ -19,7 +19,7 @@ # <pep8 compliant> # Script copyright (C) Bob Holcomb -# Contributors: Campbell Barton, Bob Holcomb, Richard Lärkäng, Damien McGinnes, Mark Stijnman +# Contributors: Campbell Barton, Bob Holcomb, Richard Lärkäng, Damien McGinnes, Mark Stijnman """ Exporting is based on 3ds loader from www.gametutorials.com(Thanks DigiBen) and using information @@ -40,8 +40,8 @@ VERSION = 0x0002 # This gives the version of the .3ds file KFDATA = 0xB000 # This is the header for all of the key frame info #------ sub defines of OBJECTINFO -MATERIAL = 45055 # 0xAFFF // This stored the texture info -OBJECT = 16384 # 0x4000 // This stores the faces, vertices, etc... +MATERIAL = 45055 # 0xAFFF // This stored the texture info +OBJECT = 16384 # 0x4000 // This stores the faces, vertices, etc... #>------ sub defines of MATERIAL MATNAME = 0xA000 # This holds the material name @@ -222,7 +222,7 @@ class _3ds_point_3d(object): return '(%f, %f, %f)' % (self.x, self.y, self.z) # Used for writing a track -""" +''' class _3ds_point_4d(object): """Class representing a four-dimensional point for a 3ds file, for instance a quaternion.""" __slots__ = "x","y","z","w" @@ -238,7 +238,7 @@ class _3ds_point_4d(object): def __str__(self): return '(%f, %f, %f, %f)' % (self.x, self.y, self.z, self.w) -""" +''' class _3ds_point_uv(object): @@ -442,14 +442,17 @@ def get_material_image_texslots(material): return [s for s in material.texture_slots if s and s.texture.type == 'IMAGE' and s.texture.image] return [] -# images = [] -# if material: -# for mtex in material.getTextures(): -# if mtex and mtex.tex.type == Blender.Texture.Types.IMAGE: -# image = mtex.tex.image -# if image: -# images.append(image) # maye want to include info like diffuse, spec here. -# return images + + """ + images = [] + if material: + for mtex in material.getTextures(): + if mtex and mtex.tex.type == Blender.Texture.Types.IMAGE: + image = mtex.tex.image + if image: + images.append(image) # maye want to include info like diffuse, spec here. + return images + """ def make_material_subchunk(chunk_id, color): @@ -460,10 +463,12 @@ def make_material_subchunk(chunk_id, color): col1 = _3ds_chunk(RGB1) col1.add_variable("color1", _3ds_rgb_color(color)) mat_sub.add_subchunk(col1) -# optional: -# col2 = _3ds_chunk(RGB1) -# col2.add_variable("color2", _3ds_rgb_color(color)) -# mat_sub.add_subchunk(col2) + + """optional: + col2 = _3ds_chunk(RGB1) + col2.add_variable("color2", _3ds_rgb_color(color)) + mat_sub.add_subchunk(col2) + """ return mat_sub @@ -855,7 +860,7 @@ def make_mesh_chunk(mesh, matrix, materialDict): return mesh_chunk -""" # COMMENTED OUT FOR 2.42 RELEASE!! CRASHES 3DS MAX +''' # COMMENTED OUT FOR 2.42 RELEASE!! CRASHES 3DS MAX def make_kfdata(start=0, stop=0, curtime=0): """Make the basic keyframe data chunk""" kfdata = _3ds_chunk(KFDATA) @@ -878,9 +883,7 @@ def make_kfdata(start=0, stop=0, curtime=0): kfdata.add_subchunk(kfseg) kfdata.add_subchunk(kfcurtime) return kfdata -""" -""" def make_track_chunk(ID, obj): """Make a chunk for track data. @@ -918,9 +921,7 @@ def make_track_chunk(ID, obj): track_chunk.add_variable("scale", _3ds_point_3d((1.0, 1.0, 1.0))) return track_chunk -""" -""" def make_kf_obj_node(obj, name_to_id): """Make a node chunk for a Blender object. @@ -980,7 +981,7 @@ def make_kf_obj_node(obj, name_to_id): kf_obj_node.add_subchunk(make_track_chunk(SCL_TRACK_TAG, obj)) return kf_obj_node -""" +''' def save(operator, @@ -999,7 +1000,7 @@ def save(operator, # Time the export time1 = time.clock() -# Blender.Window.WaitCursor(1) + #Blender.Window.WaitCursor(1) if global_matrix is None: global_matrix = mathutils.Matrix() @@ -1099,7 +1100,7 @@ def save(operator, for ob, data in mesh_objects: name_to_id[ob.name]= len(name_to_id) #for ob in empty_objects: - # name_to_id[ob.name]= len(name_to_id) + # name_to_id[ob.name]= len(name_to_id) """ # Create object chunks for all meshes: @@ -1126,9 +1127,10 @@ def save(operator, # make a kf object node for the object: kfdata.add_subchunk(make_kf_obj_node(ob, name_to_id)) ''' + if not blender_mesh.users: bpy.data.meshes.remove(blender_mesh) -# blender_mesh.vertices = None + #blender_mesh.vertices = None i += i @@ -1166,7 +1168,7 @@ def save(operator, name_mapping.clear() # Debugging only: report the exporting time: -# Blender.Window.WaitCursor(0) + #Blender.Window.WaitCursor(0) print("3ds export time: %.2f" % (time.clock() - time1)) # Debugging only: dump the chunk hierarchy: -- GitLab