@@ -546,6 +546,11 @@ def draw(self, context):
546546 if foldable_menu (box , context .scene .objex_bonus , "menu_global" ):
547547 box .prop (context .scene .objex_bonus , 'blend_scale' )
548548
549+ box = self .layout .box ()
550+ if foldable_menu (box , context .scene .objex_bonus , "menu_folding" ):
551+ if armature :
552+ menu_draw_folding (box , armature , context )
553+
549554# material
550555
551556def stripPrefix (s , prefix ):
@@ -1561,8 +1566,9 @@ def execute(self, context):
15611566 mat .node_tree .nodes ["OBJEX_TransformUV1" ].inputs [1 ].default_value = - mat .f3d_mat .tex1 .S .shift
15621567 mat .node_tree .nodes ["OBJEX_TransformUV1" ].inputs [2 ].default_value = - mat .f3d_mat .tex1 .T .shift
15631568 mat .node_tree .nodes ["OBJEX_EnvColor" ].inputs [1 ].default_value = mat .f3d_mat .env_color [3 ]
1564- name = mat .node_tree .nodes ["OBJEX_Texel1Texture" ].image .name
1565- bpy .data .images [name ].objex_bonus .format = mat .f3d_mat .tex1 .tex_format ;
1569+ if mat .node_tree .nodes ["OBJEX_Texel1Texture" ].image :
1570+ name = mat .node_tree .nodes ["OBJEX_Texel1Texture" ].image .name
1571+ bpy .data .images [name ].objex_bonus .format = mat .f3d_mat .tex1 .tex_format
15661572
15671573 mat .node_tree .nodes ["OBJEX_PrimColor" ].inputs [0 ].default_value = (mat .f3d_mat .prim_color [0 ],mat .f3d_mat .prim_color [1 ],mat .f3d_mat .prim_color [2 ],mat .f3d_mat .prim_color [3 ])
15681574 mat .node_tree .nodes ["OBJEX_PrimColor" ].inputs [1 ].default_value = mat .f3d_mat .prim_color [3 ]
@@ -2158,6 +2164,8 @@ def menu_material(self, context):
21582164 sub_box .row ().prop (data , "vertex_shading" , expand = True )
21592165 sub_box .prop (data , "external_material_segment" )
21602166
2167+
2168+
21612169class OBJEX_OT_set_pixels_along_uv_from_image_dimensions (bpy .types .Operator ):
21622170
21632171 bl_idname = "objex.set_pixels_along_uv_from_image_dimensions"
@@ -2190,6 +2198,26 @@ def execute(self, context):
21902198 node .inputs ["Pixels along V" ].default_value = image .size [1 ] * 2
21912199 return {"FINISHED" }
21922200
2201+
2202+ def menu_draw_folding (layout :bpy .types .UILayout , armature :bpy .types .Armature , context :bpy .types .Context ):
2203+ box = layout
2204+ box .use_property_split = False
2205+ scene = context .scene
2206+ objex_scene = context .scene .objex_bonus
2207+ row = box .row ()
2208+ row .alignment = 'CENTER'
2209+ row = box .row ()
2210+ row .operator ('objex.autofold_save_pose' , text = 'Save pose' )
2211+ row .operator ('objex.autofold_restore_pose' , text = 'Restore pose' )
2212+ row = box .row ()
2213+ row .operator ('objex.autofold_fold_unfold' , text = 'Fold' ).action = 'FOLD'
2214+ row .operator ('objex.autofold_fold_unfold' , text = 'Unfold' ).action = 'UNFOLD'
2215+ row .operator ('objex.autofold_fold_unfold' , text = 'Switch' ).action = 'SWITCH'
2216+ box .label (text = 'Default saved pose to use for folding:' )
2217+ box .template_list ('UI_UL_list' , 'OBJEX_SavedPose' , scene .objex_bonus , 'saved_poses' , armature .data .objex_bonus , 'fold_unfold_saved_pose_index' , rows = 2 )
2218+ box .operator ('objex.autofold_delete_pose' , text = 'Delete pose' )
2219+
2220+
21932221classes = (
21942222 OBJEX_UL_actions ,
21952223 OBJEX_PT_armature_prop ,
0 commit comments