comparison bindings.c @ 2314:59fd8aa352e2

Apply binding changes after a config change in UI
author Michael Pavone <pavone@retrodev.com>
date Thu, 30 Mar 2023 23:20:12 -0700
parents 62f316b76e9a
children e836cf11783b
comparison
equal deleted inserted replaced
2313:ef5dc4d02d27 2314:59fd8aa352e2
1175 if (mice) { 1175 if (mice) {
1176 tern_node *buttonmaps[2] = {padbuttons, mousebuttons}; 1176 tern_node *buttonmaps[2] = {padbuttons, mousebuttons};
1177 tern_foreach(mice, process_mouse, buttonmaps); 1177 tern_foreach(mice, process_mouse, buttonmaps);
1178 } 1178 }
1179 tern_node * speed_nodes = tern_find_path(config, "clocks\0speeds\0", TVAL_NODE).ptrval; 1179 tern_node * speed_nodes = tern_find_path(config, "clocks\0speeds\0", TVAL_NODE).ptrval;
1180 free(speeds);
1180 speeds = malloc(sizeof(uint32_t)); 1181 speeds = malloc(sizeof(uint32_t));
1181 speeds[0] = 100; 1182 speeds[0] = 100;
1183 num_speeds = 1;
1182 process_speeds(speed_nodes, NULL); 1184 process_speeds(speed_nodes, NULL);
1183 for (int i = 0; i < num_speeds; i++) 1185 for (int i = 0; i < num_speeds; i++)
1184 { 1186 {
1185 if (!speeds[i]) { 1187 if (!speeds[i]) {
1186 warning("Speed index %d was not set to a valid percentage!", i); 1188 warning("Speed index %d was not set to a valid percentage!", i);
1187 speeds[i] = 100; 1189 speeds[i] = 100;
1188 } 1190 }
1189 } 1191 }
1190 } 1192 }
1191 1193
1194 void update_pad_bindings(void)
1195 {
1196 for (int i = 0; i < MAX_JOYSTICKS; i++)
1197 {
1198 if (joysticks[i].num_buttons || joysticks[i].num_axes || joysticks[i].num_dpads) {
1199 reset_joystick_bindings(i);
1200 handle_joy_added(i);
1201 }
1202 }
1203 }
1204
1192 void bindings_set_mouse_mode(uint8_t mode) 1205 void bindings_set_mouse_mode(uint8_t mode)
1193 { 1206 {
1194 mouse_mode = mode; 1207 mouse_mode = mode;
1195 if (mode == MOUSE_RELATIVE) { 1208 if (mode == MOUSE_RELATIVE) {
1196 render_relative_mouse(1); 1209 render_relative_mouse(1);