void MonEntropyClassesPublish(struct Item *classlist) { FILE *fp; struct Item *ip; unlink(ENVFILE_NEW); if ((fp = fopen(ENVFILE_NEW,"a")) == NULL) { DeleteItemList(PREVIOUS_STATE); PREVIOUS_STATE = classlist; return; } for (ip = classlist; ip != NULL; ip=ip->next) { fprintf(fp,"%s\n",ip->name); } DeleteItemList(PREVIOUS_STATE); PREVIOUS_STATE = classlist; for (ip = ENTROPIES; ip != NULL; ip=ip->next) { fprintf(fp,"%s\n",ip->name); } DeleteItemList(ENTROPIES); fclose(fp); cf_rename(ENVFILE_NEW,ENVFILE); }
int CFREDDoc::autoload() { char name[256], backup_name[256]; int i, r; FILE *fp; cf_create_default_path_string(name, sizeof(name) - 1, CF_TYPE_MISSIONS); strcat_s(name, MISSION_BACKUP_NAME); strcpy_s(backup_name, name); strcat_s(name, ".002"); // Check if Backup.002 exists fp = fopen(name, "r"); if (!fp) return 0; fclose(fp); if (Briefing_dialog) { // clean things up first Briefing_dialog->icon_select(-1); } // Load Backup.002 // editor_init_mission(); r = load_mission(name); Update_window = 1; // Delete Backup.001 auto len = strlen(backup_name); strcat_s(backup_name, ".001"); cf_delete(backup_name, CF_TYPE_MISSIONS); // Rename Backups. .002 becomes .001, .003 becomes .002, etc. for (i = 1; i < BACKUP_DEPTH; i++) { sprintf(backup_name + len, ".%.3d", i + 1); sprintf(name + len, ".%.3d", i); cf_rename(backup_name, name, CF_TYPE_MISSIONS); undo_desc[i] = undo_desc[i + 1]; } // Reduce the undo count and check if we can do another undo op. Undo_count--; check_undo(); return r; }
int CFREDDoc::autoload() { char name[256], backup_name[256]; int i, r, len; FILE *fp; strcpy(name, current_dir); strcat(name, MISSION_BACKUP_NAME); strcat(name, ".002"); //strcpy(name, MISSION_BACKUP_NAME); //strcat(name, ".002"); fp = fopen(name, "r"); if (!fp) return 0; fclose(fp); if (Briefing_dialog) Briefing_dialog->icon_select(-1); // clean things up first // editor_init_mission(); r = load_mission(name); Update_window = 1; strcpy(backup_name, current_dir); strcat(backup_name, MISSION_BACKUP_NAME); len = strlen(backup_name); strcat(backup_name, ".001"); cf_delete(backup_name, CF_TYPE_MISSIONS); for (i=1; i<BACKUP_DEPTH; i++) { sprintf(backup_name + len, ".%.3d", i + 1); sprintf(name + len, ".%.3d", i); cf_rename(backup_name, name, CF_TYPE_MISSIONS); undo_desc[i] = undo_desc[i + 1]; } Undo_count--; check_undo(); return r; }
static void PublishEnvironment(Item *classes) { FILE *fp; Item *ip; unlink(ENVFILE_NEW); if ((fp = fopen(ENVFILE_NEW, "a")) == NULL) { return; } for (ip = classes; ip != NULL; ip = ip->next) { fprintf(fp, "%s\n", ip->name); } MonEntropyClassesPublish(fp); fclose(fp); cf_rename(ENVFILE_NEW, ENVFILE); }