[fix] fix misc not important issues
- correct all icon usage. use 'CANCEL' instead of 'ERROR' to indicate error correctly. and move these icon const into UTILS_icons_manager.py - auto rename generated rail section to match the default name standard. - give more clear signal about import and export bm file by using Operator.report() function.
This commit is contained in:
parent
a300ddbb49
commit
ddf6b7befe
@ -2,7 +2,7 @@ import bpy,bmesh,bpy_extras,mathutils
|
|||||||
import pathlib,zipfile,time,os,tempfile,math
|
import pathlib,zipfile,time,os,tempfile,math
|
||||||
import struct, shutil
|
import struct, shutil
|
||||||
from bpy_extras import io_utils, node_shader_utils
|
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):
|
class BALLANCE_OT_export_bm(bpy.types.Operator, bpy_extras.io_utils.ExportHelper):
|
||||||
"""Save a Ballance Map File (BM file spec 1.4)"""
|
"""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
|
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)):
|
(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:
|
else:
|
||||||
prefs = bpy.context.preferences.addons[__package__].preferences
|
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:
|
if in_edit_mode:
|
||||||
bpy.ops.object.editmode_toggle()
|
bpy.ops.object.editmode_toggle()
|
||||||
|
|
||||||
|
self.report({'INFO'}, "BM File Export Finished.")
|
||||||
return {'FINISHED'}
|
return {'FINISHED'}
|
||||||
|
|
||||||
def draw(self, context):
|
def draw(self, context):
|
||||||
|
@ -4,7 +4,7 @@ import struct, shutil
|
|||||||
from bpy_extras import io_utils,node_shader_utils
|
from bpy_extras import io_utils,node_shader_utils
|
||||||
from bpy_extras.io_utils import unpack_list
|
from bpy_extras.io_utils import unpack_list
|
||||||
from bpy_extras.image_utils import load_image
|
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):
|
class BALLANCE_OT_import_bm(bpy.types.Operator, bpy_extras.io_utils.ImportHelper):
|
||||||
"""Load a Ballance Map File (BM file spec 1.4)"""
|
"""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,
|
prefs.no_component_collection, prefs.external_folder, prefs.temp_texture_folder,
|
||||||
self.texture_conflict_strategy, self.material_conflict_strategy,
|
self.texture_conflict_strategy, self.material_conflict_strategy,
|
||||||
self.mesh_conflict_strategy, self.object_conflict_strategy)
|
self.mesh_conflict_strategy, self.object_conflict_strategy)
|
||||||
|
|
||||||
|
self.report({'INFO'}, "BM File Import Finished.")
|
||||||
return {'FINISHED'}
|
return {'FINISHED'}
|
||||||
|
|
||||||
|
|
||||||
@ -89,7 +91,7 @@ def import_bm(context, bmx_filepath, prefs_fncg, prefs_externalTexture, prefs_te
|
|||||||
# clean temp folder, output error
|
# clean temp folder, output error
|
||||||
UTILS_functions.show_message_box(
|
UTILS_functions.show_message_box(
|
||||||
("Unsupported BM spec. Expect: {} Gotten: {}".format(UTILS_constants.bmfile_currentVersion, index_gottenVersion), ),
|
("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()
|
findex.close()
|
||||||
utils_tempFolderObj.cleanup()
|
utils_tempFolderObj.cleanup()
|
||||||
return
|
return
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
import bpy,bmesh
|
import bpy,bmesh
|
||||||
import mathutils
|
import mathutils
|
||||||
import bpy.types
|
import bpy.types
|
||||||
from . import UTILS_functions
|
from . import UTILS_functions, UTILS_icons_manager
|
||||||
|
|
||||||
class BALLANCE_OT_rail_uv(bpy.types.Operator):
|
class BALLANCE_OT_rail_uv(bpy.types.Operator):
|
||||||
"""Create a UV for rail"""
|
"""Create a UV for rail"""
|
||||||
@ -47,7 +47,7 @@ class BALLANCE_OT_rail_uv(bpy.types.Operator):
|
|||||||
|
|
||||||
def execute(self, context):
|
def execute(self, context):
|
||||||
if context.scene.BallanceBlenderPluginProperty.material_picker == None:
|
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:
|
else:
|
||||||
_create_rail_uv(self.uv_type, context.scene.BallanceBlenderPluginProperty.material_picker, self.uv_scale, self.projection_axis)
|
_create_rail_uv(self.uv_type, context.scene.BallanceBlenderPluginProperty.material_picker, self.uv_scale, self.projection_axis)
|
||||||
return {'FINISHED'}
|
return {'FINISHED'}
|
||||||
@ -175,7 +175,7 @@ def _create_rail_uv(rail_type, material_pointer, scale_size, projection_axis):
|
|||||||
if len(ignoredObj) != 0:
|
if len(ignoredObj) != 0:
|
||||||
UTILS_functions.show_message_box(
|
UTILS_functions.show_message_box(
|
||||||
("Following objects are not processed due to they are not suit for this function now: ", ) + tuple(ignoredObj),
|
("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):
|
def _tt_reflection_mapping_compute(_point, _n, _refobj):
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import bpy
|
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):
|
class rename_system_props(bpy.types.Operator):
|
||||||
name_standard: bpy.props.EnumProperty(
|
name_standard: bpy.props.EnumProperty(
|
||||||
@ -557,6 +557,5 @@ def _rename_core(source_std, dest_std):
|
|||||||
'View console to get more detail',
|
'View console to get more detail',
|
||||||
'All: {}'.format(all_obj_counter),
|
'All: {}'.format(all_obj_counter),
|
||||||
'Failed: {}'.format(failed_obj_counter)),
|
'Failed: {}'.format(failed_obj_counter)),
|
||||||
"Info",
|
"Info", UTILS_icons_manager.blender_error_icon
|
||||||
"INFO"
|
|
||||||
)
|
)
|
||||||
|
@ -10,9 +10,11 @@ class BALLANCE_OT_add_rails(bpy.types.Operator):
|
|||||||
rail_type: bpy.props.EnumProperty(
|
rail_type: bpy.props.EnumProperty(
|
||||||
name="Type",
|
name="Type",
|
||||||
description="Rail type",
|
description="Rail type",
|
||||||
items=(('MONO', "Monorail", ""),
|
items=(
|
||||||
('DOUBLE', "Rail", ""),
|
('MONO', "Monorail", ""),
|
||||||
),
|
('DOUBLE', "Rail", ""),
|
||||||
|
),
|
||||||
|
default='DOUBLE',
|
||||||
)
|
)
|
||||||
|
|
||||||
rail_radius: bpy.props.FloatProperty(
|
rail_radius: bpy.props.FloatProperty(
|
||||||
@ -38,6 +40,11 @@ class BALLANCE_OT_add_rails(bpy.types.Operator):
|
|||||||
# merge
|
# merge
|
||||||
firstObj = _merge_two_circle(firstObj, secondObj)
|
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
|
# apply 3d cursor
|
||||||
UTILS_functions.move_to_cursor(firstObj)
|
UTILS_functions.move_to_cursor(firstObj)
|
||||||
|
|
||||||
@ -89,6 +96,8 @@ class BALLANCE_OT_add_tunnels(bpy.types.Operator):
|
|||||||
# merge
|
# merge
|
||||||
firstObj = _merge_two_circle(firstObj, secondObj)
|
firstObj = _merge_two_circle(firstObj, secondObj)
|
||||||
|
|
||||||
|
# rename
|
||||||
|
firstObj.name = "A_Rail_Tunnel_"
|
||||||
# apply 3d cursor
|
# apply 3d cursor
|
||||||
UTILS_functions.move_to_cursor(firstObj)
|
UTILS_functions.move_to_cursor(firstObj)
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import bpy
|
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):
|
class BALLANCE_OT_select_virtools_group(UTILS_virtools_prop.common_group_name_props):
|
||||||
"""Select objects by Virtools Group."""
|
"""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
|
# throw a warning if some objects have duplicated group
|
||||||
if has_duplicated:
|
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'}
|
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
|
# throw a warning if some objects have duplicated group
|
||||||
if lack_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'}
|
return {'FINISHED'}
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import bpy
|
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):
|
class BALLANCE_OT_add_virtools_group(UTILS_virtools_prop.common_group_name_props):
|
||||||
"""Add a Virtools Group for Active Object."""
|
"""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
|
# try adding
|
||||||
obj = context.object
|
obj = context.object
|
||||||
if not UTILS_virtools_prop.add_virtools_group_data(obj, self.get_group_name_string()):
|
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'}
|
return {'FINISHED'}
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import bpy
|
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):
|
class BALLANCE_OT_apply_virtools_material(bpy.types.Operator):
|
||||||
"""Apply Virtools Material to Blender Material."""
|
"""Apply Virtools Material to Blender Material."""
|
||||||
@ -19,7 +19,7 @@ class BALLANCE_OT_apply_virtools_material(bpy.types.Operator):
|
|||||||
if mtl_data[0]:
|
if mtl_data[0]:
|
||||||
UTILS_functions.create_material_nodes(mtl, mtl_data)
|
UTILS_functions.create_material_nodes(mtl, mtl_data)
|
||||||
else:
|
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'}
|
return {'FINISHED'}
|
||||||
|
|
||||||
@ -37,7 +37,7 @@ class BALLANCE_OT_parse_virtools_material(bpy.types.Operator):
|
|||||||
mtl = context.material
|
mtl = context.material
|
||||||
mtl_data = UTILS_functions.parse_material_nodes(mtl)
|
mtl_data = UTILS_functions.parse_material_nodes(mtl)
|
||||||
if mtl_data is None:
|
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:
|
else:
|
||||||
UTILS_virtools_prop.set_virtools_material_data(mtl, mtl_data)
|
UTILS_virtools_prop.set_virtools_material_data(mtl, mtl_data)
|
||||||
|
|
||||||
|
@ -3,6 +3,10 @@ import bpy.utils.previews
|
|||||||
import os
|
import os
|
||||||
from . import UTILS_constants
|
from . import UTILS_constants
|
||||||
|
|
||||||
|
blender_info_icon = 'INFO'
|
||||||
|
blender_warning_icon = 'ERROR'
|
||||||
|
blender_error_icon = 'CANCEL'
|
||||||
|
|
||||||
# ImagePreviewCollection ccreated by Blender
|
# ImagePreviewCollection ccreated by Blender
|
||||||
floor_icons = None
|
floor_icons = None
|
||||||
# a map. key is block name, value is loaded icon id
|
# a map. key is block name, value is loaded icon id
|
||||||
|
@ -2,7 +2,7 @@ bl_info={
|
|||||||
"name":"Ballance Blender Plugin",
|
"name":"Ballance Blender Plugin",
|
||||||
"description":"Ballance mapping tools for Blender",
|
"description":"Ballance mapping tools for Blender",
|
||||||
"author":"yyc12345",
|
"author":"yyc12345",
|
||||||
"version":(3,0),
|
"version":(3,1),
|
||||||
"blender":(3,3,0),
|
"blender":(3,3,0),
|
||||||
"category":"Object",
|
"category":"Object",
|
||||||
"support":"TESTING",
|
"support":"TESTING",
|
||||||
|
Loading…
Reference in New Issue
Block a user