]> git.tdb.fi Git - libs/gl.git/blobdiff - blender/io_mspgl/__init__.py
Fix normal map property name in material exporter
[libs/gl.git] / blender / io_mspgl / __init__.py
index 8ff358448875ad3e0b1c3b922eb3fc0d1fdc603a..b5892b1c67abde272a210d384f13ebf83fafaa63 100644 (file)
@@ -40,6 +40,7 @@ class ExportMspGLBase(ExportHelper):
                        setattr(exporter, k, v)
 
 class ExportMspGLMeshBase(ExportMspGLBase):
+       export_all: bpy.props.BoolProperty(name="Export all selected", description="Export all selected objects (use generated filenames)", default=False)
        use_strips: bpy.props.BoolProperty(name="Use strips", description="Combine faces into triangle strips", default=True)
        use_degen_tris: bpy.props.BoolProperty(name="Use degen tris", description="Concatenate triangle strips with degenerate triangles", default=False)
 
@@ -47,6 +48,9 @@ class ExportMspGLMeshBase(ExportMspGLBase):
                self.general_col = self.layout.column()
 
                col = self.layout.column()
+               if len(context.selected_objects)>1:
+                       col.label(text="Object selection")
+                       col.prop(self, "export_all")
                col.label(text="Triangle strips")
                col.prop(self, "use_strips")
                col.prop(self, "use_degen_tris")
@@ -54,6 +58,7 @@ class ExportMspGLMeshBase(ExportMspGLBase):
 class ExportMspGLMesh(bpy.types.Operator, ExportMspGLMeshBase):
        bl_idname = "export_mesh.mspgl_mesh"
        bl_label = "Export Msp GL mesh"
+       bl_description = "Export one or more meshes in Msp GL format"
 
        filename_ext = ".mesh"
 
@@ -64,6 +69,7 @@ class ExportMspGLMesh(bpy.types.Operator, ExportMspGLMeshBase):
 class ExportMspGLObject(bpy.types.Operator, ExportMspGLMeshBase):
        bl_idname = "export_mesh.mspgl_object"
        bl_label = "Export Msp GL object"
+       bl_description = "Export one or more objects in Msp GL format"
 
        filename_ext = ".object"
 
@@ -96,6 +102,7 @@ class ExportMspGLObject(bpy.types.Operator, ExportMspGLMeshBase):
 class ExportMspGLArmature(bpy.types.Operator, ExportMspGLBase):
        bl_idname = "export.mspgl_armature"
        bl_label = "Export Msp GL armature"
+       bl_description = "Export an armature in Msp GL format"
 
        filename_ext = ".arma"
 
@@ -106,6 +113,7 @@ class ExportMspGLArmature(bpy.types.Operator, ExportMspGLBase):
 class ExportMspGLAnimation(bpy.types.Operator, ExportMspGLBase):
        bl_idname = "export.mspgl_animation"
        bl_label = "Export Msp GL animation"
+       bl_description = "Export one or more animations in Msp GL format"
 
        filename_ext = ".anim"
 
@@ -132,6 +140,7 @@ class ExportMspGLAnimation(bpy.types.Operator, ExportMspGLBase):
 class ExportMspGLScene(bpy.types.Operator, ExportMspGLBase):
        bl_idname = "export_scene.mspgl_scene"
        bl_label = "Export Msp GL scene"
+       bl_description = "Export the active scene in Msp GL format"
 
        filename_ext = ".scene"
 
@@ -155,6 +164,7 @@ class ExportMspGLScene(bpy.types.Operator, ExportMspGLBase):
 class ExportMspGLCamera(bpy.types.Operator, ExportMspGLBase):
        bl_idname = "export.mspgl_camera"
        bl_label = "Export Msp GL camera"
+       bl_description = "Export a camera in Msp GL format"
 
        filename_ext = ".camera"
 
@@ -162,6 +172,30 @@ class ExportMspGLCamera(bpy.types.Operator, ExportMspGLBase):
                from .export_camera import CameraExporter
                return CameraExporter()
 
+class AddUniform(bpy.types.Operator):
+       bl_idname = "material.add_uniform"
+       bl_label = "Add Uniform"
+       bl_description = "Add a new uniform value to the material"
+
+       def execute(self, context):
+               mat = context.active_object.active_material
+               mat.uniforms.add()
+               mat.active_uniform_index = len(mat.uniforms)-1
+
+               return {"FINISHED"}
+
+class RemoveUniform(bpy.types.Operator):
+       bl_idname = "material.remove_uniform"
+       bl_label = "Remove Uniform"
+       bl_description = "Remove the selected uniform from the material"
+
+       def execute(self, context):
+               mat = context.active_object.active_material
+               mat.uniforms.remove(mat.active_uniform_index)
+               mat.active_uniform_index = min(mat.active_uniform_index, len(mat.uniforms)-1)
+
+               return {"FINISHED"}
+
 def menu_func_export(self, context):
        self.layout.operator(ExportMspGLMesh.bl_idname, text="Msp GL mesh")
        self.layout.operator(ExportMspGLObject.bl_idname, text="Msp GL object")
@@ -170,7 +204,7 @@ def menu_func_export(self, context):
        self.layout.operator(ExportMspGLScene.bl_idname, text="Msp GL scene")
        self.layout.operator(ExportMspGLCamera.bl_idname, text="Msp GL camera")
 
-classes = [ExportMspGLMesh, ExportMspGLObject, ExportMspGLArmature, ExportMspGLAnimation, ExportMspGLScene, ExportMspGLCamera]
+classes = [ExportMspGLMesh, ExportMspGLObject, ExportMspGLArmature, ExportMspGLAnimation, ExportMspGLScene, ExportMspGLCamera, AddUniform, RemoveUniform]
 
 def register():
        for c in classes: