//------------------------------------------------------------------- // PURPOSE: Save parameters to paramset for script // Use: conf.script_file, conf.script_param_set // PARAMETERS: enforce = 1 mean save always // = 0 mean save only if any values was changed // (script_loaded_params[i] != conf.script_vars[i]) // // NOTE: 1. create SCRIPT_DATA_PATH/scriptname.cfg // which store # of last saved paramset // 2. create SCRIPT_DATA_PATH/scriptname_PARAMSETNUM // which param_str //------------------------------------------------------------------- void save_params_values( int enforce ) { if (conf.script_param_save && (conf.script_param_set != DEFAULT_PARAM_SET)) { // Write paramsetnum file make_param_filename( MAKE_PARAMSETNUM_FILENAME, conf.script_file, 0); save_int_value_file( cfg_name, conf.script_param_set ); int i, changed=0; // Check is anything changed since last time for(i = 0; i < SCRIPT_NUM_PARAMS; i++) { if (script_loaded_params[i] != conf.script_vars[i]) changed++; script_loaded_params[i] = conf.script_vars[i]; } if (enforce || changed) { // Write parameters file make_param_filename( MAKE_PARAM_FILENAME, conf.script_file, conf.script_param_set); do_save_param_file(cfg_param_name); } } }
//------------------------------------------------------------------- // PURPOSE: Save parameters to paramset for script // Use: conf.script_file, conf.script_param_set // PARAMETERS: enforce = 1 mean save always // = 0 mean save only if any values was changed // (script_params[i].old_val != script_params[i].val) // // NOTE: 1. create SCRIPT_DATA_PATH/scriptname.cfg // which store # of last saved paramset // 2. create SCRIPT_DATA_PATH/scriptname_PARAMSETNUM // which param_str //------------------------------------------------------------------- void save_params_values( int enforce ) { if (conf.script_param_save && (conf.script_param_set != DEFAULT_PARAM_SET)) { // Write paramsetnum file if (conf.script_param_set != last_script_param_set) { char *nm = make_param_filename(MAKE_PARAMSETNUM_FILENAME); save_int_value_file( nm, conf.script_param_set ); last_script_param_set = conf.script_param_set; } int i, changed=0; // Check is anything changed since last time sc_param *p = script_params; while (p) { if (p->old_val != p->val) { changed++; p->old_val = p->val; } p = p->next; } if (enforce || changed) { // Write parameters file do_save_param_file(); } } }