static void menu_action_setting_disp_set_label_core_options(file_list_t* list, unsigned *w, unsigned type, unsigned i, const char *label, char *s, size_t len, const char *entry_label, const char *path, char *s2, size_t len2) { core_option_manager_t *coreopts = NULL; const char *core_opt = NULL; *s = '\0'; *w = 19; if (rarch_ctl(RARCH_CTL_CORE_OPTIONS_LIST_GET, &coreopts)) { core_opt = core_option_manager_get_val(coreopts, type - MENU_SETTINGS_CORE_OPTION_START); strlcpy(s, "", len); if (core_opt) strlcpy(s, core_opt, len); } strlcpy(s2, path, len2); }
/** * core_option_manager_flush_game_specific: * @opt : options manager handle * @path : path for the core options file * * Writes core option key-pair values to a custom file. * * Returns: true (1) if core option values could be * successfully saved to disk, otherwise false (0). **/ bool core_option_manager_flush_game_specific( core_option_manager_t *opt, const char* path) { size_t i; for (i = 0; i < opt->size; i++) { struct core_option *option = (struct core_option*)&opt->opts[i]; if (option) config_set_string(opt->conf, option->key, core_option_manager_get_val(opt, i)); } return config_file_write(opt->conf, path); }
/** * core_option_manager_flush: * @opt : options manager handle * * Writes core option key-pair values to file. * * Returns: true (1) if core option values could be * successfully saved to disk, otherwise false (0). **/ bool core_option_manager_flush(core_option_manager_t *opt) { size_t i; for (i = 0; i < opt->size; i++) { struct core_option *option = (struct core_option*)&opt->opts[i]; if (option) config_set_string(opt->conf, option->key, core_option_manager_get_val(opt, i)); } RARCH_LOG("Saved core options file to \"%s\"\n", opt->conf_path); return config_file_write(opt->conf, opt->conf_path); }
void core_option_manager_get(core_option_manager_t *opt, void *data) { size_t i; struct retro_variable *var = (struct retro_variable*)data; if (!opt) return; opt->updated = false; for (i = 0; i < opt->size; i++) { if (string_is_empty(opt->opts[i].key)) continue; if (string_is_equal(opt->opts[i].key, var->key)) { var->value = core_option_manager_get_val(opt, i); return; } } var->value = NULL; }