Mercurial > repos > blastem
comparison nuklear_ui/blastem_nuklear.c @ 1816:1db1510c7506
Fix bumper/trigger binding boxes for "normal" style conntrollers. Change label of "Back" button to "Save" when there are unsaved changes in controller binding
author | Mike Pavone <pavone@retrodev.com> |
---|---|
date | Sat, 30 Mar 2019 23:35:16 -0700 |
parents | 7f4fac75b484 |
children | 56a1171e29b9 |
comparison
equal
deleted
inserted
replaced
1815:7f4fac75b484 | 1816:1db1510c7506 |
---|---|
1059 SDL_CONTROLLER_BUTTON_Y, | 1059 SDL_CONTROLLER_BUTTON_Y, |
1060 selected_controller_info.variant == VARIANT_6B_RIGHT ? SDL_CONTROLLER_BUTTON_RIGHTSHOULDER : SDL_CONTROLLER_BUTTON_LEFTSHOULDER, | 1060 selected_controller_info.variant == VARIANT_6B_RIGHT ? SDL_CONTROLLER_BUTTON_RIGHTSHOULDER : SDL_CONTROLLER_BUTTON_LEFTSHOULDER, |
1061 }); | 1061 }); |
1062 } | 1062 } |
1063 | 1063 |
1064 binding_box(context, bindings, "Right Shoulder", bind_box_left, font->height/2, bind_box_width, | 1064 if (selected_controller_info.variant == VARIANT_NORMAL) { |
1065 selected_controller_info.variant == VARIANT_6B_BUMPERS ? 1 : 2, | 1065 binding_box(context, bindings, "Right Shoulder", bind_box_left, font->height/2, bind_box_width, 2, (int[]){ |
1066 (int[]){ | 1066 SDL_CONTROLLER_BUTTON_RIGHTSHOULDER, |
1067 selected_controller_info.variant == VARIANT_6B_RIGHT ? SDL_CONTROLLER_BUTTON_LEFTSHOULDER : AXIS | SDL_CONTROLLER_AXIS_TRIGGERRIGHT, | 1067 AXIS | SDL_CONTROLLER_AXIS_TRIGGERRIGHT |
1068 AXIS | SDL_CONTROLLER_AXIS_TRIGGERLEFT | 1068 }); |
1069 }); | 1069 } else { |
1070 binding_box(context, bindings, "Right Shoulder", bind_box_left, font->height/2, bind_box_width, | |
1071 selected_controller_info.variant == VARIANT_6B_BUMPERS ? 1 : 2, | |
1072 (int[]){ | |
1073 selected_controller_info.variant == VARIANT_6B_RIGHT ? SDL_CONTROLLER_BUTTON_LEFTSHOULDER : AXIS | SDL_CONTROLLER_AXIS_TRIGGERRIGHT, | |
1074 AXIS | SDL_CONTROLLER_AXIS_TRIGGERLEFT | |
1075 }); | |
1076 } | |
1070 | 1077 |
1071 binding_box(context, bindings, "Misc Buttons", (render_width() - bind_box_width) / 2, font->height/2, bind_box_width, 3, (int[]){ | 1078 binding_box(context, bindings, "Misc Buttons", (render_width() - bind_box_width) / 2, font->height/2, bind_box_width, 3, (int[]){ |
1072 SDL_CONTROLLER_BUTTON_BACK, | 1079 SDL_CONTROLLER_BUTTON_BACK, |
1073 SDL_CONTROLLER_BUTTON_GUIDE, | 1080 SDL_CONTROLLER_BUTTON_GUIDE, |
1074 SDL_CONTROLLER_BUTTON_START | 1081 SDL_CONTROLLER_BUTTON_START |
1101 } else { | 1108 } else { |
1102 dpad_left = bind_box_left; | 1109 dpad_left = bind_box_left; |
1103 dpad_top = img_top; | 1110 dpad_top = img_top; |
1104 } | 1111 } |
1105 | 1112 |
1106 binding_box(context, bindings, "Left Shoulder", bind_box_left, font->height/2, bind_box_width, | 1113 if (selected_controller_info.variant == VARIANT_NORMAL) { |
1107 selected_controller_info.variant == VARIANT_6B_BUMPERS ? 1 : 2, | 1114 binding_box(context, bindings, "Left Shoulder", bind_box_left, font->height/2, bind_box_width, 2, (int[]){ |
1108 (int[]){ | 1115 SDL_CONTROLLER_BUTTON_LEFTSHOULDER, |
1109 selected_controller_info.variant == VARIANT_6B_RIGHT ? SDL_CONTROLLER_BUTTON_LEFTSTICK : AXIS | SDL_CONTROLLER_AXIS_TRIGGERLEFT, | 1116 AXIS | SDL_CONTROLLER_AXIS_TRIGGERLEFT |
1110 SDL_CONTROLLER_BUTTON_RIGHTSTICK | 1117 }); |
1111 }); | 1118 } else { |
1119 binding_box(context, bindings, "Left Shoulder", bind_box_left, font->height/2, bind_box_width, | |
1120 selected_controller_info.variant == VARIANT_6B_BUMPERS ? 1 : 2, | |
1121 (int[]){ | |
1122 selected_controller_info.variant == VARIANT_6B_RIGHT ? SDL_CONTROLLER_BUTTON_LEFTSTICK : AXIS | SDL_CONTROLLER_AXIS_TRIGGERLEFT, | |
1123 SDL_CONTROLLER_BUTTON_RIGHTSTICK | |
1124 }); | |
1125 } | |
1112 | 1126 |
1113 binding_box(context, bindings, "D-pad", dpad_left, dpad_top, bind_box_width, 4, (int[]){ | 1127 binding_box(context, bindings, "D-pad", dpad_left, dpad_top, bind_box_width, 4, (int[]){ |
1114 SDL_CONTROLLER_BUTTON_DPAD_UP, | 1128 SDL_CONTROLLER_BUTTON_DPAD_UP, |
1115 SDL_CONTROLLER_BUTTON_DPAD_DOWN, | 1129 SDL_CONTROLLER_BUTTON_DPAD_DOWN, |
1116 SDL_CONTROLLER_BUTTON_DPAD_LEFT, | 1130 SDL_CONTROLLER_BUTTON_DPAD_LEFT, |
1119 | 1133 |
1120 nk_layout_space_end(context); | 1134 nk_layout_space_end(context); |
1121 | 1135 |
1122 def_font->handle.height = orig_height; | 1136 def_font->handle.height = orig_height; |
1123 nk_layout_row_static(context, orig_height + 4, (render_width() - 2*orig_height) / 4, 1); | 1137 nk_layout_row_static(context, orig_height + 4, (render_width() - 2*orig_height) / 4, 1); |
1124 if (nk_button_label(context, "Back")) { | 1138 if (nk_button_label(context, controller_binding_changed ? "Save" : "Back")) { |
1125 pop_view(); | 1139 pop_view(); |
1126 if (controller_binding_changed) { | 1140 if (controller_binding_changed) { |
1127 push_view(view_select_binding_dest); | 1141 push_view(view_select_binding_dest); |
1128 } | 1142 } |
1129 } | 1143 } |