|
|
1.1 ! root 1: /* ! 2: * Copyright (c) 1983 Regents of the University of California, ! 3: * All rights reserved. Redistribution permitted subject to ! 4: * the terms of the Berkeley Software License Agreement. ! 5: */ ! 6: ! 7: #ifndef lint ! 8: static char sccsid[] = "@(#)save.c 1.4 11/7/85"; ! 9: #endif ! 10: ! 11: #include "externs.h" ! 12: ! 13: restore() ! 14: { ! 15: char *getenv(); ! 16: char *home; ! 17: char home1[100]; ! 18: register int n; ! 19: int tmp; ! 20: register FILE *fp; ! 21: ! 22: home = getenv("HOME"); ! 23: strcpy(home1, home); ! 24: strcat(home1, "/Bstar"); ! 25: if ((fp = fopen(home1, "r")) == 0) { ! 26: perror(home1); ! 27: return; ! 28: } ! 29: fread(&WEIGHT, sizeof WEIGHT, 1, fp); ! 30: fread(&CUMBER, sizeof CUMBER, 1, fp); ! 31: fread(&clock, sizeof clock, 1, fp); ! 32: fread(&tmp, sizeof tmp, 1, fp); ! 33: location = tmp ? dayfile : nightfile; ! 34: for (n = 1; n <= NUMOFROOMS; n++) { ! 35: fread(location[n].link, sizeof location[n].link, 1, fp); ! 36: fread(location[n].objects, sizeof location[n].objects, 1, fp); ! 37: } ! 38: fread(inven, sizeof inven, 1, fp); ! 39: fread(wear, sizeof wear, 1, fp); ! 40: fread(injuries, sizeof injuries, 1, fp); ! 41: fread(notes, sizeof notes, 1, fp); ! 42: fread(&direction, sizeof direction, 1, fp); ! 43: fread(&position, sizeof position, 1, fp); ! 44: fread(&time, sizeof time, 1, fp); ! 45: fread(&fuel, sizeof fuel, 1, fp); ! 46: fread(&torps, sizeof torps, 1, fp); ! 47: fread(&carrying, sizeof carrying, 1, fp); ! 48: fread(&encumber, sizeof encumber, 1, fp); ! 49: fread(&rythmn, sizeof rythmn, 1, fp); ! 50: fread(&followfight, sizeof followfight, 1, fp); ! 51: fread(&ate, sizeof ate, 1, fp); ! 52: fread(&snooze, sizeof snooze, 1, fp); ! 53: fread(&meetgirl, sizeof meetgirl, 1, fp); ! 54: fread(&followgod, sizeof followgod, 1, fp); ! 55: fread(&godready, sizeof godready, 1, fp); ! 56: fread(&win, sizeof win, 1, fp); ! 57: fread(&wintime, sizeof wintime, 1, fp); ! 58: fread(&matchlight, sizeof matchlight, 1, fp); ! 59: fread(&matchcount, sizeof matchcount, 1, fp); ! 60: fread(&loved, sizeof loved, 1, fp); ! 61: fread(&pleasure, sizeof pleasure, 1, fp); ! 62: fread(&power, sizeof power, 1, fp); ! 63: fread(&ego, sizeof ego, 1, fp); ! 64: } ! 65: ! 66: save() ! 67: { ! 68: char *getenv(); ! 69: char *home; ! 70: char home1[100]; ! 71: register int n; ! 72: int tmp; ! 73: FILE *fp; ! 74: ! 75: home = getenv("HOME"); ! 76: strcpy(home1, home); ! 77: strcat(home1, "/Bstar"); ! 78: if ((fp = fopen(home1, "w")) == 0) { ! 79: perror(home1); ! 80: return; ! 81: } ! 82: printf("Saved in %s.\n", home1); ! 83: fwrite(&WEIGHT, sizeof WEIGHT, 1, fp); ! 84: fwrite(&CUMBER, sizeof CUMBER, 1, fp); ! 85: fwrite(&clock, sizeof clock, 1, fp); ! 86: tmp = location == dayfile; ! 87: fwrite(&tmp, sizeof tmp, 1, fp); ! 88: for (n = 1; n <= NUMOFROOMS; n++) { ! 89: fwrite(location[n].link, sizeof location[n].link, 1, fp); ! 90: fwrite(location[n].objects, sizeof location[n].objects, 1, fp); ! 91: } ! 92: fwrite(inven, sizeof inven, 1, fp); ! 93: fwrite(wear, sizeof wear, 1, fp); ! 94: fwrite(injuries, sizeof injuries, 1, fp); ! 95: fwrite(notes, sizeof notes, 1, fp); ! 96: fwrite(&direction, sizeof direction, 1, fp); ! 97: fwrite(&position, sizeof position, 1, fp); ! 98: fwrite(&time, sizeof time, 1, fp); ! 99: fwrite(&fuel, sizeof fuel, 1, fp); ! 100: fwrite(&torps, sizeof torps, 1, fp); ! 101: fwrite(&carrying, sizeof carrying, 1, fp); ! 102: fwrite(&encumber, sizeof encumber, 1, fp); ! 103: fwrite(&rythmn, sizeof rythmn, 1, fp); ! 104: fwrite(&followfight, sizeof followfight, 1, fp); ! 105: fwrite(&ate, sizeof ate, 1, fp); ! 106: fwrite(&snooze, sizeof snooze, 1, fp); ! 107: fwrite(&meetgirl, sizeof meetgirl, 1, fp); ! 108: fwrite(&followgod, sizeof followgod, 1, fp); ! 109: fwrite(&godready, sizeof godready, 1, fp); ! 110: fwrite(&win, sizeof win, 1, fp); ! 111: fwrite(&wintime, sizeof wintime, 1, fp); ! 112: fwrite(&matchlight, sizeof matchlight, 1, fp); ! 113: fwrite(&matchcount, sizeof matchcount, 1, fp); ! 114: fwrite(&loved, sizeof loved, 1, fp); ! 115: fwrite(&pleasure, sizeof pleasure, 1, fp); ! 116: fwrite(&power, sizeof power, 1, fp); ! 117: fwrite(&ego, sizeof ego, 1, fp); ! 118: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.