int main (int argc, char **argv) { mainfunc toolmain; char *tmp; int loop; tmp = strrchr(argv[0], '/'); tmp = tmp? tmp + 1: argv[0]; if ((toolmain = find_function (tmp))) { return toolmain (argc, argv); } if (argc > 1 && (toolmain = find_function (argv[1]))) { return toolmain (argc - 1, argv + 1); } fprintf (stderr, "%s %s\n", PACKAGE, VERSION); fprintf (stderr, "Usage: %s <function> <args> or <function> <args>\n", argv[0]); fprintf (stderr, "Available functions:\n"); for (loop = 0; funcs[loop].name; loop++) fprintf (stderr, " %-10s%s\n", funcs[loop].name, funcs[loop].desc); fprintf (stderr, "For help on a particular function: %s <function> -h\n", argv[0]); return 1; }
int main(int argc, char *argv[]) { int rc, i, uid, n, c, ch, t, mtbl, line, offset; FILE *fp; char filename[64], inbuf[128], name[NATIONNMLEN+1], *p, *u; struct stat st_buf; /* set directory */ if(argc > 1) if(chdir(argv[1]) == -1) { gmove(20,18); gprintf("Error Setting Directory %s\n", argv[1]); ggetch(); gend(); exit(1); } /* set up display */ ginit(); gmove(5, 10); gputs("WARTOOL 1.0 Game Editor for Solomoriah's WAR!"); gmove(6, 10); gputs("Copyright 1994, J. Christopher Gonnerman"); gmove(7, 10); gputs("All Rights Reserved."); /* load map file */ rc = loadmap(); if(rc != 0) { gmove(20,10); gprintf("Error Loading Map (%s)\n", errors[rc]); ggetch(); gend(); exit(1); } /* load game save */ rc = loadsave(); if(rc != 0) { gmove(20,10); gprintf("Error Loading Game Save (%s)\n", errors[rc]); ggetch(); gend(); exit(1); } /* execute master file */ gmove(20,10); gputs("Reading Master Commands... "); grefresh(); fp = fopen(MASTERFL, "r"); if(fp != NULL) { for(i = 0; fgets(inbuf, 128, fp) != NULL; i++) { rc = execpriv(inbuf); if(rc == 0) { if((i+1) % 10 == 0) { gmove(20,48); gprintf("%3d lines", i+1); grefresh(); } } else { gmove(20,10); gprintf("Master Cmd Failed, Line %d, Code %d ", i+1, rc); (void)ggetch(); gend(); exit(2); } } fclose(fp); } /* main loop */ gmove(20,10); gputs("Press Any Key to Begin... "); gclrline(); ggetch(); mainscreen(); toolmain(); unlink("game.bak"); if(rename("game.sav", "game.bak") == 0) fp = fopen("game.sav", "w"); else fp = fopen("game.sv!", "w"); savegame(fp); fclose(fp); /* clean up */ endwin(); exit(0); }