comparison config.c @ 2162:1270fe86eb89

Add Quick Load binding
author Michael Pavone <pavone@retrodev.com>
date Thu, 09 Jun 2022 09:35:38 -0700
parents bdd83b47d78a
children ee6d30c56eeb
comparison
equal deleted inserted replaced
2161:6a954675d634 2162:1270fe86eb89
283 return; 283 return;
284 } 284 }
285 *pads = tern_insert_node(*pads, key, dupe_tree(val.ptrval)); 285 *pads = tern_insert_node(*pads, key, dupe_tree(val.ptrval));
286 } 286 }
287 287
288 #define CONFIG_VERSION 1 288 #define CONFIG_VERSION 2
289 static tern_node *migrate_config(tern_node *config, int from_version) 289 static tern_node *migrate_config(tern_node *config, int from_version)
290 { 290 {
291 tern_node *def_config = parse_bundled_config("default.cfg"); 291 tern_node *def_config = parse_bundled_config("default.cfg");
292 switch(from_version) 292 switch(from_version)
293 { 293 {
324 tern_node *def_pads = tern_find_path(def_config, "bindings\0pads\0", TVAL_NODE).ptrval; 324 tern_node *def_pads = tern_find_path(def_config, "bindings\0pads\0", TVAL_NODE).ptrval;
325 tern_foreach(def_pads, migrate_pads, &pads); 325 tern_foreach(def_pads, migrate_pads, &pads);
326 config = tern_insert_path(config, "bindings\0pads\0", (tern_val){.ptrval = pads}, TVAL_NODE); 326 config = tern_insert_path(config, "bindings\0pads\0", (tern_val){.ptrval = pads}, TVAL_NODE);
327 break; 327 break;
328 } 328 }
329 case 1: {
330 char *l_bind = tern_find_path(config, "bindings\0keys\0l\0", TVAL_PTR).ptrval;
331 if (!l_bind) {
332 config = tern_insert_path(config, "bindings\0keys\0l\0", (tern_val){.ptrval = strdup("ui.load_state")}, TVAL_PTR);
333 }
334 break;
335 }
329 } 336 }
330 char buffer[16]; 337 char buffer[16];
331 sprintf(buffer, "%d", CONFIG_VERSION); 338 sprintf(buffer, "%d", CONFIG_VERSION);
332 return tern_insert_ptr(config, "version", strdup(buffer)); 339 return tern_insert_ptr(config, "version", strdup(buffer));
333 } 340 }