Mercurial > repos > blastem
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); |