X-Git-Url: https://git.cameronkatri.com/bsdgames-darwin.git/blobdiff_plain/462fca95471224f85b85be911e72faee16cd1597..97f4239a8f8de4a7702c2a7deab9804a9e202f4b:/battlestar/battlestar.c diff --git a/battlestar/battlestar.c b/battlestar/battlestar.c index 7f4cfe92..f26e8814 100644 --- a/battlestar/battlestar.c +++ b/battlestar/battlestar.c @@ -1,6 +1,8 @@ +/* $NetBSD: battlestar.c,v 1.15 2005/07/01 06:04:54 jmc Exp $ */ + /* - * Copyright (c) 1983 Regents of the University of California. - * All rights reserved. + * Copyright (c) 1983, 1993 + * The Regents of the University of California. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -10,11 +12,7 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors + * 3. Neither the name of the University nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * @@ -31,16 +29,19 @@ * SUCH DAMAGE. */ +#include #ifndef lint -char copyright[] = -"@(#) Copyright (c) 1983 Regents of the University of California.\n\ - All rights reserved.\n"; -#endif /* not lint */ +__COPYRIGHT("@(#) Copyright (c) 1983, 1993\n\ + The Regents of the University of California. All rights reserved.\n"); +#endif /* not lint */ #ifndef lint -/*static char sccsid[] = "from: @(#)battlestar.c 5.3 (Berkeley) 6/1/90";*/ -static char rcsid[] = "$Id: battlestar.c,v 1.2 1993/08/01 18:56:14 mycroft Exp $"; -#endif /* not lint */ +#if 0 +static char sccsid[] = "@(#)battlestar.c 8.2 (Berkeley) 4/28/95"; +#else +__RCSID("$NetBSD: battlestar.c,v 1.15 2005/07/01 06:04:54 jmc Exp $"); +#endif +#endif /* not lint */ /* * Battlestar - a stellar-tropical adventure game @@ -49,26 +50,35 @@ static char rcsid[] = "$Id: battlestar.c,v 1.2 1993/08/01 18:56:14 mycroft Exp $ * on the Cory PDP-11/70, University of California, Berkeley. */ -#include "externs.h" +#include "extern.h" -main(argc,argv) -int argc; -char **argv; +int +main(int argc, char **argv) { - char mainbuf[LINELENGTH]; - char *next; + char mainbuf[LINELENGTH]; + char *next; + + /* Open the score file then revoke setgid privileges */ + open_score_file(); + setgid(getgid()); - initialize(argc < 2 || strcmp(argv[1], "-r")); + if (argc < 2) + initialize(NULL); + else if (strcmp(argv[1], "-r") == 0) + initialize((argc > 2) ? argv[2] : DEFAULT_SAVE_FILE); + else + initialize(argv[1]); start: news(); - beenthere[position]++; + if (beenthere[position] <= ROOMDESC) + beenthere[position]++; if (notes[LAUNCHED]) - crash(); /* decrements fuel & crash */ + crash(); /* decrements fuel & crash */ if (matchlight) { puts("Your match splutters out."); matchlight = 0; } - if (!notes[CANTSEE] || testbit(inven,LAMPON) || + if (!notes[CANTSEE] || testbit(inven, LAMPON) || testbit(location[position].objects, LAMPON)) { writedes(); printobjs(); @@ -77,16 +87,16 @@ start: whichway(location[position]); run: next = getcom(mainbuf, sizeof mainbuf, ">-: ", - "Please type in something."); - for (wordcount = 0; next && wordcount < 20; wordcount++) + "Please type in something."); + for (wordcount = 0; next && wordcount < NWORD - 1; wordcount++) next = getword(next, words[wordcount], -1); parse(); switch (cypher()) { - case -1: - goto run; - case 0: - goto start; - default: - exit(); + case -1: + goto run; + case 0: + goto start; + default: + errx(1, "bad return from cypher(): please submit a bug report"); } }