Mercurial > repos > blastem
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 } |