X-Git-Url: http://git.tdb.fi/?p=libs%2Fgl.git;a=blobdiff_plain;f=blender%2Fio_mspgl%2Fexport_scene.py;h=44c892d873d245729ed0c9b28191b6a20300556b;hp=68b589879c4fdc2722f41157bfe018590d0122f9;hb=8cea7c616aa74f2bb23d41ece5e4ef1f59f9e4b4;hpb=7dd9bd52860aff5372a2526cf689d3a19ea37fe0 diff --git a/blender/io_mspgl/export_scene.py b/blender/io_mspgl/export_scene.py index 68b58987..44c892d8 100644 --- a/blender/io_mspgl/export_scene.py +++ b/blender/io_mspgl/export_scene.py @@ -3,11 +3,21 @@ import os class SceneExporter: def __init__(self): + self.selected_only = False + self.active_layers = True self.resource_collection = True + self.skip_existing = True self.show_progress = True def export_to_file(self, context, out_fn): - objs = [o for o in context.selected_objects if o.type=="MESH" and not o.lod_for_parent] + if self.selected_only: + objs = context.selected_objects + else: + objs = context.scene.objects + if self.active_layers: + layers = context.scene.layers + objs = [o for o in objs if any(a and b for a, b in zip(layers, o.layers))] + objs = [o for o in objs if o.type=="MESH" and not o.lod_for_parent] objs = [o for o in objs if (not o.compound or o.parent not in objs)] path, base = os.path.split(out_fn) @@ -71,6 +81,9 @@ class SceneExporter: ".tex2d": "texture2d" } with open(os.path.join(path, base+"_resources.mdc"), "w") as res_out: for r in refs: + if self.skip_existing and os.path.exists(os.path.join(path, r.name)): + continue + st = Statement(keywords[os.path.splitext(r.name)[1]], r.name) st.sub = r.statements st.write_to_file(res_out)