diff --git a/ballance_blender_plugin/BMFILE_export.py b/ballance_blender_plugin/BMFILE_export.py index 2b44bf3..1e61a64 100644 --- a/ballance_blender_plugin/BMFILE_export.py +++ b/ballance_blender_plugin/BMFILE_export.py @@ -2,7 +2,7 @@ import bpy,bmesh,bpy_extras,mathutils import pathlib,zipfile,time,os,tempfile,math import struct, shutil from bpy_extras import io_utils, node_shader_utils -from . import UTILS_constants, UTILS_functions, UTILS_file_io, UTILS_zip_helper, UTILS_virtools_prop +from . import UTILS_constants, UTILS_functions, UTILS_file_io, UTILS_zip_helper, UTILS_virtools_prop, UTILS_icons_manager class BALLANCE_OT_export_bm(bpy.types.Operator, bpy_extras.io_utils.ExportHelper): """Save a Ballance Map File (BM file spec 1.4)""" @@ -34,7 +34,7 @@ class BALLANCE_OT_export_bm(bpy.types.Operator, bpy_extras.io_utils.ExportHelper if ((self.export_mode == 'COLLECTION' and context.scene.BallanceBlenderPluginProperty.collection_picker is None) or (self.export_mode == 'OBJECT' and context.scene.BallanceBlenderPluginProperty.object_picker is None)): - UTILS_functions.show_message_box(("No specific target", ), "Lost parameter", 'ERROR') + UTILS_functions.show_message_box(("No specific target", ), "Lost parameter", UTILS_icons_manager.blender_error_icon) else: prefs = bpy.context.preferences.addons[__package__].preferences @@ -51,6 +51,7 @@ class BALLANCE_OT_export_bm(bpy.types.Operator, bpy_extras.io_utils.ExportHelper if in_edit_mode: bpy.ops.object.editmode_toggle() + self.report({'INFO'}, "BM File Export Finished.") return {'FINISHED'} def draw(self, context): diff --git a/ballance_blender_plugin/BMFILE_import.py b/ballance_blender_plugin/BMFILE_import.py index d683041..0018d37 100644 --- a/ballance_blender_plugin/BMFILE_import.py +++ b/ballance_blender_plugin/BMFILE_import.py @@ -4,7 +4,7 @@ import struct, shutil from bpy_extras import io_utils,node_shader_utils from bpy_extras.io_utils import unpack_list from bpy_extras.image_utils import load_image -from . import UTILS_constants, UTILS_functions, UTILS_file_io, UTILS_zip_helper, UTILS_virtools_prop +from . import UTILS_constants, UTILS_functions, UTILS_file_io, UTILS_zip_helper, UTILS_virtools_prop, UTILS_icons_manager class BALLANCE_OT_import_bm(bpy.types.Operator, bpy_extras.io_utils.ImportHelper): """Load a Ballance Map File (BM file spec 1.4)""" @@ -63,6 +63,8 @@ class BALLANCE_OT_import_bm(bpy.types.Operator, bpy_extras.io_utils.ImportHelper prefs.no_component_collection, prefs.external_folder, prefs.temp_texture_folder, self.texture_conflict_strategy, self.material_conflict_strategy, self.mesh_conflict_strategy, self.object_conflict_strategy) + + self.report({'INFO'}, "BM File Import Finished.") return {'FINISHED'} @@ -89,7 +91,7 @@ def import_bm(context, bmx_filepath, prefs_fncg, prefs_externalTexture, prefs_te # clean temp folder, output error UTILS_functions.show_message_box( ("Unsupported BM spec. Expect: {} Gotten: {}".format(UTILS_constants.bmfile_currentVersion, index_gottenVersion), ), - "Unsupported BM spec", 'ERROR') + "Unsupported BM spec", UTILS_icons_manager.blender_error_icon) findex.close() utils_tempFolderObj.cleanup() return diff --git a/ballance_blender_plugin/MODS_rail_uv.py b/ballance_blender_plugin/MODS_rail_uv.py index 332eaff..3b7f13c 100644 --- a/ballance_blender_plugin/MODS_rail_uv.py +++ b/ballance_blender_plugin/MODS_rail_uv.py @@ -1,7 +1,7 @@ import bpy,bmesh import mathutils import bpy.types -from . import UTILS_functions +from . import UTILS_functions, UTILS_icons_manager class BALLANCE_OT_rail_uv(bpy.types.Operator): """Create a UV for rail""" @@ -47,7 +47,7 @@ class BALLANCE_OT_rail_uv(bpy.types.Operator): def execute(self, context): if context.scene.BallanceBlenderPluginProperty.material_picker == None: - UTILS_functions.show_message_box(("No specific material", ), "Lost parameter", 'ERROR') + UTILS_functions.show_message_box(("No specific material", ), "Lost parameter", UTILS_icons_manager.blender_error_icon) else: _create_rail_uv(self.uv_type, context.scene.BallanceBlenderPluginProperty.material_picker, self.uv_scale, self.projection_axis) return {'FINISHED'} @@ -175,7 +175,7 @@ def _create_rail_uv(rail_type, material_pointer, scale_size, projection_axis): if len(ignoredObj) != 0: UTILS_functions.show_message_box( ("Following objects are not processed due to they are not suit for this function now: ", ) + tuple(ignoredObj), - "Execution result", 'INFO' + "Execution result", UTILS_icons_manager.blender_info_icon ) def _tt_reflection_mapping_compute(_point, _n, _refobj): diff --git a/ballance_blender_plugin/NAMES_rename_system.py b/ballance_blender_plugin/NAMES_rename_system.py index fe57679..5c6a703 100644 --- a/ballance_blender_plugin/NAMES_rename_system.py +++ b/ballance_blender_plugin/NAMES_rename_system.py @@ -1,5 +1,5 @@ import bpy -from . import UTILS_constants, UTILS_functions, UTILS_virtools_prop +from . import UTILS_constants, UTILS_functions, UTILS_virtools_prop, UTILS_icons_manager class rename_system_props(bpy.types.Operator): name_standard: bpy.props.EnumProperty( @@ -557,6 +557,5 @@ def _rename_core(source_std, dest_std): 'View console to get more detail', 'All: {}'.format(all_obj_counter), 'Failed: {}'.format(failed_obj_counter)), - "Info", - "INFO" + "Info", UTILS_icons_manager.blender_error_icon ) diff --git a/ballance_blender_plugin/OBJS_add_rails.py b/ballance_blender_plugin/OBJS_add_rails.py index 9fd41fa..5aba098 100644 --- a/ballance_blender_plugin/OBJS_add_rails.py +++ b/ballance_blender_plugin/OBJS_add_rails.py @@ -10,9 +10,11 @@ class BALLANCE_OT_add_rails(bpy.types.Operator): rail_type: bpy.props.EnumProperty( name="Type", description="Rail type", - items=(('MONO', "Monorail", ""), - ('DOUBLE', "Rail", ""), - ), + items=( + ('MONO', "Monorail", ""), + ('DOUBLE', "Rail", ""), + ), + default='DOUBLE', ) rail_radius: bpy.props.FloatProperty( @@ -38,6 +40,11 @@ class BALLANCE_OT_add_rails(bpy.types.Operator): # merge firstObj = _merge_two_circle(firstObj, secondObj) + # rename + if self.rail_type == 'DOUBLE': + firstObj.name = "A_Rail_" + else: + firstObj.name = "A_Rail_Mono_" # apply 3d cursor UTILS_functions.move_to_cursor(firstObj) @@ -89,6 +96,8 @@ class BALLANCE_OT_add_tunnels(bpy.types.Operator): # merge firstObj = _merge_two_circle(firstObj, secondObj) + # rename + firstObj.name = "A_Rail_Tunnel_" # apply 3d cursor UTILS_functions.move_to_cursor(firstObj) diff --git a/ballance_blender_plugin/OBJS_group_opers.py b/ballance_blender_plugin/OBJS_group_opers.py index 38c3609..888138c 100644 --- a/ballance_blender_plugin/OBJS_group_opers.py +++ b/ballance_blender_plugin/OBJS_group_opers.py @@ -1,5 +1,5 @@ import bpy -from . import UTILS_constants, UTILS_functions, UTILS_virtools_prop +from . import UTILS_constants, UTILS_functions, UTILS_virtools_prop, UTILS_icons_manager class BALLANCE_OT_select_virtools_group(UTILS_virtools_prop.common_group_name_props): """Select objects by Virtools Group.""" @@ -91,7 +91,10 @@ class BALLANCE_OT_ctx_set_group(UTILS_virtools_prop.common_group_name_props): # throw a warning if some objects have duplicated group if has_duplicated: - UTILS_functions.show_message_box(("Some objects have duplicated group name.", "These objects have been omitted.", ), "Duplicated Group", 'ERROR') + UTILS_functions.show_message_box( + ("Some objects have duplicated group name.", "These objects have been omitted.", ), + "Duplicated Group", UTILS_icons_manager.blender_error_icon + ) return {'FINISHED'} @@ -124,7 +127,10 @@ class BALLANCE_OT_ctx_unset_group(UTILS_virtools_prop.common_group_name_props): # throw a warning if some objects have duplicated group if lack_group: - UTILS_functions.show_message_box(("Some objects lack specified group name.", "These objects have been omitted.", ), "Lack Group", 'ERROR') + UTILS_functions.show_message_box( + ("Some objects lack specified group name.", "These objects have been omitted.", ), + "Lack Group", UTILS_icons_manager.blender_error_icon + ) return {'FINISHED'} diff --git a/ballance_blender_plugin/PROPS_virtools_group.py b/ballance_blender_plugin/PROPS_virtools_group.py index be77f3e..23410b8 100644 --- a/ballance_blender_plugin/PROPS_virtools_group.py +++ b/ballance_blender_plugin/PROPS_virtools_group.py @@ -1,5 +1,5 @@ import bpy -from . import UTILS_constants, UTILS_functions, UTILS_virtools_prop +from . import UTILS_constants, UTILS_functions, UTILS_virtools_prop, UTILS_icons_manager class BALLANCE_OT_add_virtools_group(UTILS_virtools_prop.common_group_name_props): """Add a Virtools Group for Active Object.""" @@ -15,7 +15,7 @@ class BALLANCE_OT_add_virtools_group(UTILS_virtools_prop.common_group_name_props # try adding obj = context.object if not UTILS_virtools_prop.add_virtools_group_data(obj, self.get_group_name_string()): - UTILS_functions.show_message_box(("Group name is duplicated!", ), "Duplicated Name", 'ERROR') + UTILS_functions.show_message_box(("Group name is duplicated!", ), "Duplicated Name", UTILS_icons_manager.blender_error_icon) return {'FINISHED'} diff --git a/ballance_blender_plugin/PROPS_virtools_material.py b/ballance_blender_plugin/PROPS_virtools_material.py index 7aa7bc8..b876230 100644 --- a/ballance_blender_plugin/PROPS_virtools_material.py +++ b/ballance_blender_plugin/PROPS_virtools_material.py @@ -1,5 +1,5 @@ import bpy -from . import UTILS_constants, UTILS_functions, UTILS_virtools_prop +from . import UTILS_constants, UTILS_functions, UTILS_virtools_prop, UTILS_icons_manager class BALLANCE_OT_apply_virtools_material(bpy.types.Operator): """Apply Virtools Material to Blender Material.""" @@ -19,7 +19,7 @@ class BALLANCE_OT_apply_virtools_material(bpy.types.Operator): if mtl_data[0]: UTILS_functions.create_material_nodes(mtl, mtl_data) else: - UTILS_functions.show_message_box(("Virtools Material is not enabled.", ), "Apply Failed", 'ERROR') + UTILS_functions.show_message_box(("Virtools Material is not enabled.", ), "Apply Failed", UTILS_icons_manager.blender_error_icon) return {'FINISHED'} @@ -37,7 +37,7 @@ class BALLANCE_OT_parse_virtools_material(bpy.types.Operator): mtl = context.material mtl_data = UTILS_functions.parse_material_nodes(mtl) if mtl_data is None: - UTILS_functions.show_message_box(("Fail to parse Principled BSDF.", ), "Parsing Failed", 'ERROR') + UTILS_functions.show_message_box(("Fail to parse Principled BSDF.", ), "Parsing Failed", UTILS_icons_manager.blender_error_icon) else: UTILS_virtools_prop.set_virtools_material_data(mtl, mtl_data) diff --git a/ballance_blender_plugin/UTILS_icons_manager.py b/ballance_blender_plugin/UTILS_icons_manager.py index 39c375c..fc43646 100644 --- a/ballance_blender_plugin/UTILS_icons_manager.py +++ b/ballance_blender_plugin/UTILS_icons_manager.py @@ -3,6 +3,10 @@ import bpy.utils.previews import os from . import UTILS_constants +blender_info_icon = 'INFO' +blender_warning_icon = 'ERROR' +blender_error_icon = 'CANCEL' + # ImagePreviewCollection ccreated by Blender floor_icons = None # a map. key is block name, value is loaded icon id diff --git a/ballance_blender_plugin/__init__.py b/ballance_blender_plugin/__init__.py index 16de0ac..bc88e55 100644 --- a/ballance_blender_plugin/__init__.py +++ b/ballance_blender_plugin/__init__.py @@ -2,7 +2,7 @@ bl_info={ "name":"Ballance Blender Plugin", "description":"Ballance mapping tools for Blender", "author":"yyc12345", - "version":(3,0), + "version":(3,1), "blender":(3,3,0), "category":"Object", "support":"TESTING",