]> git.cameronkatri.com Git - bsdgames-darwin.git/blobdiff - atc/graphics.c
Remove *another* set of useless casts. sheesh
[bsdgames-darwin.git] / atc / graphics.c
index 6565e85c49498d9b495bfabaee751f8e3d26a8cf..f081c9737400edc6929a4e9e643551c6829a0b46 100644 (file)
@@ -1,6 +1,8 @@
+/*     $NetBSD: graphics.c,v 1.16 2009/08/12 04:48:03 dholland Exp $   */
+
 /*-
- * Copyright (c) 1990 The Regents of the University of California.
- * All rights reserved.
+ * Copyright (c) 1990, 1993
+ *     The Regents of the University of California.  All rights reserved.
  *
  * This code is derived from software contributed to Berkeley by
  * Ed James.
  * 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.
  *
  * For more info on this and all of my stuff, mail edjames@berkeley.edu.
  */
 
+#include <sys/cdefs.h>
 #ifndef lint
-/*static char sccsid[] = "from: @(#)graphics.c 5.3 (Berkeley) 10/30/90";*/
-static char rcsid[] = "$Id: graphics.c,v 1.2 1993/08/01 18:57:09 mycroft Exp $";
+#if 0
+static char sccsid[] = "@(#)graphics.c 8.1 (Berkeley) 5/31/93";
+#else
+__RCSID("$NetBSD: graphics.c,v 1.16 2009/08/12 04:48:03 dholland Exp $");
+#endif
 #endif /* not lint */
 
 #include "include.h"
-#ifdef SYSV
-#include <errno.h>
-#endif
 
 #define C_TOPBOTTOM            '-'
 #define C_LEFTRIGHT            '|'
@@ -61,59 +60,65 @@ static char rcsid[] = "$Id: graphics.c,v 1.2 1993/08/01 18:57:09 mycroft Exp $";
 #define C_BEACON               '*'
 #define C_CREDIT               '*'
 
-WINDOW *radar, *cleanradar, *credit, *input, *planes;
+static void draw_line(WINDOW *, int, int, int, int, const char *);
+
+static WINDOW *radar, *cleanradar, *credit, *input, *planes;
 
-getAChar()
+int
+getAChar(void)
 {
-#ifdef BSD
-       return (getchar());
-#endif
-#ifdef SYSV
        int c;
 
-       while ((c = getchar()) == -1 && errno == EINTR) ;
+       errno = 0;
+       while ((c = getchar()) == EOF && errno == EINTR) {
+               errno = 0;
+               clearerr(stdin);
+       }
        return(c);
-#endif
 }
 
-erase_all()
+void
+erase_all(void)
 {
        PLANE   *pp;
 
        for (pp = air.head; pp != NULL; pp = pp->next) {
-               wmove(cleanradar, pp->ypos, pp->xpos * 2);
-               wmove(radar, pp->ypos, pp->xpos * 2);
-               waddch(radar, winch(cleanradar));
-               wmove(cleanradar, pp->ypos, pp->xpos * 2 + 1);
-               wmove(radar, pp->ypos, pp->xpos * 2 + 1);
-               waddch(radar, winch(cleanradar));
+               (void)wmove(cleanradar, pp->ypos, pp->xpos * 2);
+               (void)wmove(radar, pp->ypos, pp->xpos * 2);
+               (void)waddch(radar, winch(cleanradar));
+               (void)wmove(cleanradar, pp->ypos, pp->xpos * 2 + 1);
+               (void)wmove(radar, pp->ypos, pp->xpos * 2 + 1);
+               (void)waddch(radar, winch(cleanradar));
        }
 }
 
-draw_all()
+void
+draw_all(void)
 {
        PLANE   *pp;
 
        for (pp = air.head; pp != NULL; pp = pp->next) {
                if (pp->status == S_MARKED)
-                       wstandout(radar);
-               wmove(radar, pp->ypos, pp->xpos * 2);
-               waddch(radar, name(pp));
-               waddch(radar, '0' + pp->altitude);
+                       (void)wstandout(radar);
+               (void)wmove(radar, pp->ypos, pp->xpos * 2);
+               (void)waddch(radar, name(pp));
+               (void)waddch(radar, '0' + pp->altitude);
                if (pp->status == S_MARKED)
-                       wstandend(radar);
+                       (void)wstandend(radar);
        }
-       wrefresh(radar);
-       planewin();
-       wrefresh(input);                /* return cursor */
-       fflush(stdout);
+       (void)wrefresh(radar);
+       (void)planewin();
+       (void)wrefresh(input);          /* return cursor */
+       (void)fflush(stdout);
 }
 
-init_gr()
+void
+init_gr(void)
 {
        static char     buffer[BUFSIZ];
 
-       initscr();
+       if (!initscr())
+               errx(0, "couldn't initialize screen");
        setbuf(stdout, buffer);
        input = newwin(INPUT_LINES, COLS - PLANE_COLS, LINES - INPUT_LINES, 0);
        credit = newwin(INPUT_LINES, PLANE_COLS, LINES - INPUT_LINES, 
@@ -121,36 +126,37 @@ init_gr()
        planes = newwin(LINES - INPUT_LINES, PLANE_COLS, 0, COLS - PLANE_COLS);
 }
 
-setup_screen(scp)
-       C_SCREEN        *scp;
+void
+setup_screen(const C_SCREEN *scp)
 {
-       register int    i, j;
-       char            str[3], *airstr;
+       int     i, j;
+       char    str[3];
+       const char *airstr;
 
        str[2] = '\0';
 
        if (radar != NULL)
-               delwin(radar);
+               (void)delwin(radar);
        radar = newwin(scp->height, scp->width * 2, 0, 0);
 
        if (cleanradar != NULL)
-               delwin(cleanradar);
+               (void)delwin(cleanradar);
        cleanradar = newwin(scp->height, scp->width * 2, 0, 0);
 
        /* minus one here to prevent a scroll */
        for (i = 0; i < PLANE_COLS - 1; i++) {
-               wmove(credit, 0, i);
-               waddch(credit, C_CREDIT);
-               wmove(credit, INPUT_LINES - 1, i);
-               waddch(credit, C_CREDIT);
+               (void)wmove(credit, 0, i);
+               (void)waddch(credit, C_CREDIT);
+               (void)wmove(credit, INPUT_LINES - 1, i);
+               (void)waddch(credit, C_CREDIT);
        }
-       wmove(credit, INPUT_LINES / 2, 1);
-       waddstr(credit, AUTHOR_STR);
+       (void)wmove(credit, INPUT_LINES / 2, 1);
+       (void)waddstr(credit, AUTHOR_STR);
 
        for (i = 1; i < scp->height - 1; i++) {
                for (j = 1; j < scp->width - 1; j++) {
-                       wmove(radar, i, j * 2);
-                       waddch(radar, C_BACKROUND);
+                       (void)wmove(radar, i, j * 2);
+                       (void)waddch(radar, C_BACKROUND);
                }
        }
 
@@ -167,62 +173,61 @@ setup_screen(scp)
 
        str[0] = C_TOPBOTTOM;
        str[1] = C_TOPBOTTOM;
-       wmove(radar, 0, 0);
+       (void)wmove(radar, 0, 0);
        for (i = 0; i < scp->width - 1; i++)
-               waddstr(radar, str);
-       waddch(radar, C_TOPBOTTOM);
+               (void)waddstr(radar, str);
+       (void)waddch(radar, C_TOPBOTTOM);
 
        str[0] = C_TOPBOTTOM;
        str[1] = C_TOPBOTTOM;
-       wmove(radar, scp->height - 1, 0);
+       (void)wmove(radar, scp->height - 1, 0);
        for (i = 0; i < scp->width - 1; i++)
-               waddstr(radar, str);
-       waddch(radar, C_TOPBOTTOM);
+               (void)waddstr(radar, str);
+       (void)waddch(radar, C_TOPBOTTOM);
 
        for (i = 1; i < scp->height - 1; i++) {
-               wmove(radar, i, 0);
-               waddch(radar, C_LEFTRIGHT);
-               wmove(radar, i, (scp->width - 1) * 2);
-               waddch(radar, C_LEFTRIGHT);
+               (void)wmove(radar, i, 0);
+               (void)waddch(radar, C_LEFTRIGHT);
+               (void)wmove(radar, i, (scp->width - 1) * 2);
+               (void)waddch(radar, C_LEFTRIGHT);
        }
 
        str[0] = C_BEACON;
        for (i = 0; i < scp->num_beacons; i++) {
                str[1] = '0' + i;
-               wmove(radar, scp->beacon[i].y, scp->beacon[i].x * 2);
-               waddstr(radar, str);
+               (void)wmove(radar, scp->beacon[i].y, scp->beacon[i].x * 2);
+               (void)waddstr(radar, str);
        }
 
        for (i = 0; i < scp->num_exits; i++) {
-               wmove(radar, scp->exit[i].y, scp->exit[i].x * 2);
-               waddch(radar, '0' + i);
+               (void)wmove(radar, scp->exit[i].y, scp->exit[i].x * 2);
+               (void)waddch(radar, '0' + i);
        }
 
        airstr = "^?>?v?<?";
        for (i = 0; i < scp->num_airports; i++) {
                str[0] = airstr[scp->airport[i].dir];
                str[1] = '0' + i;
-               wmove(radar, scp->airport[i].y, scp->airport[i].x * 2);
-               waddstr(radar, str);
+               (void)wmove(radar, scp->airport[i].y, scp->airport[i].x * 2);
+               (void)waddstr(radar, str);
        }
        
-       overwrite(radar, cleanradar);
-       wrefresh(radar);
-       wrefresh(credit);
-       fflush(stdout);
+       (void)overwrite(radar, cleanradar);
+       (void)wrefresh(radar);
+       (void)wrefresh(credit);
+       (void)fflush(stdout);
 }
 
-draw_line(w, x, y, lx, ly, s)
-       WINDOW  *w;
-       char    *s;
+static void
+draw_line(WINDOW *w, int x, int y, int lx, int ly, const char *s)
 {
        int     dx, dy;
 
        dx = SGN(lx - x);
        dy = SGN(ly - y);
        for (;;) {
-               wmove(w, y, x * 2);
-               waddstr(w, s);
+               (void)wmove(w, y, x * 2);
+               (void)waddstr(w, s);
                if (x == lx && y == ly)
                        break;
                x += dx;
@@ -230,52 +235,57 @@ draw_line(w, x, y, lx, ly, s)
        }
 }
 
-ioclrtoeol(pos)
+void
+ioclrtoeol(int pos)
 {
-       wmove(input, 0, pos);
-       wclrtoeol(input);
-       wrefresh(input);
-       fflush(stdout);
+       (void)wmove(input, 0, pos);
+       (void)wclrtoeol(input);
+       (void)wrefresh(input);
+       (void)fflush(stdout);
 }
 
-iomove(pos)
+void
+iomove(int pos)
 {
-       wmove(input, 0, pos);
-       wrefresh(input);
-       fflush(stdout);
+       (void)wmove(input, 0, pos);
+       (void)wrefresh(input);
+       (void)fflush(stdout);
 }
 
-ioaddstr(pos, str)
-       char    *str;
+void
+ioaddstr(int pos, const char *str)
 {
-       wmove(input, 0, pos);
-       waddstr(input, str);
-       wrefresh(input);
-       fflush(stdout);
+       (void)wmove(input, 0, pos);
+       (void)waddstr(input, str);
+       (void)wrefresh(input);
+       (void)fflush(stdout);
 }
 
-ioclrtobot()
+void
+ioclrtobot(void)
 {
-       wclrtobot(input);
-       wrefresh(input);
-       fflush(stdout);
+       (void)wclrtobot(input);
+       (void)wrefresh(input);
+       (void)fflush(stdout);
 }
 
-ioerror(pos, len, str)
-       char    *str;
+void
+ioerror(int pos, int len, const char *str)
 {
        int     i;
 
-       wmove(input, 1, pos);
+       (void)wmove(input, 1, pos);
        for (i = 0; i < len; i++)
-               waddch(input, '^');
-       wmove(input, 2, 0);
-       waddstr(input, str);
-       wrefresh(input);
-       fflush(stdout);
+               (void)waddch(input, '^');
+       (void)wmove(input, 2, 0);
+       (void)waddstr(input, str);
+       (void)wrefresh(input);
+       (void)fflush(stdout);
 }
 
-quit()
+/* ARGSUSED */
+void
+quit(int dummy __unused)
 {
        int                     c, y, x;
 #ifdef BSD
@@ -283,11 +293,11 @@ quit()
 #endif
 
        getyx(input, y, x);
-       wmove(input, 2, 0);
-       waddstr(input, "Really quit? (y/n) ");
-       wclrtobot(input);
-       wrefresh(input);
-       fflush(stdout);
+       (void)wmove(input, 2, 0);
+       (void)waddstr(input, "Really quit? (y/n) ");
+       (void)wclrtobot(input);
+       (void)wrefresh(input);
+       (void)fflush(stdout);
 
        c = getchar();
        if (c == EOF || c == 'y') {
@@ -295,72 +305,70 @@ quit()
 #ifdef BSD
                itv.it_value.tv_sec = 0;
                itv.it_value.tv_usec = 0;
-               setitimer(ITIMER_REAL, &itv, NULL);
+               (void)setitimer(ITIMER_REAL, &itv, NULL);
 #endif
 #ifdef SYSV
                alarm(0);
 #endif
-               fflush(stdout);
-               clear();
-               refresh();
-               endwin();
-               log_score(0);
+               (void)fflush(stdout);
+               (void)clear();
+               (void)refresh();
+               (void)endwin();
+               (void)log_score(0);
                exit(0);
        }
-       wmove(input, 2, 0);
-       wclrtobot(input);
-       wmove(input, y, x);
-       wrefresh(input);
-       fflush(stdout);
-       return;
+       (void)wmove(input, 2, 0);
+       (void)wclrtobot(input);
+       (void)wmove(input, y, x);
+       (void)wrefresh(input);
+       (void)fflush(stdout);
 }
 
-planewin()
+void
+planewin(void)
 {
        PLANE   *pp;
-       char    *command();
        int     warning = 0;
 
 #ifdef BSD
-       wclear(planes);
+       (void)wclear(planes);
 #endif
 
-       wmove(planes, 0,0);
+       (void)wmove(planes, 0,0);
 
 #ifdef SYSV
        wclrtobot(planes);
 #endif
-       wprintw(planes, "Time: %-4d Safe: %d", clck, safe_planes);
-       wmove(planes, 2, 0);
+       (void)wprintw(planes, "Time: %-4d Safe: %d", clck, safe_planes);
+       (void)wmove(planes, 2, 0);
 
-       waddstr(planes, "pl dt  comm");
+       (void)waddstr(planes, "pl dt  comm");
        for (pp = air.head; pp != NULL; pp = pp->next) {
                if (waddch(planes, '\n') == ERR) {
                        warning++;
                        break;
                }
-               waddstr(planes, command(pp));
+               (void)waddstr(planes, command(pp));
        }
-       waddch(planes, '\n');
+       (void)waddch(planes, '\n');
        for (pp = ground.head; pp != NULL; pp = pp->next) {
                if (waddch(planes, '\n') == ERR) {
                        warning++;
                        break;
                }
-               waddstr(planes, command(pp));
+               (void)waddstr(planes, command(pp));
        }
        if (warning) {
-               wmove(planes, LINES - INPUT_LINES - 1, 0);
-               waddstr(planes, "---- more ----");
-               wclrtoeol(planes);
+               (void)wmove(planes, LINES - INPUT_LINES - 1, 0);
+               (void)waddstr(planes, "---- more ----");
+               (void)wclrtoeol(planes);
        }
-       wrefresh(planes);
-       fflush(stdout);
+       (void)wrefresh(planes);
+       (void)fflush(stdout);
 }
 
-loser(p, s)
-       PLANE   *p;
-       char    *s;
+void
+loser(const PLANE *p, const char *s)
 {
        int                     c;
 #ifdef BSD
@@ -371,49 +379,56 @@ loser(p, s)
 #ifdef BSD
        itv.it_value.tv_sec = 0;
        itv.it_value.tv_usec = 0;
-       setitimer(ITIMER_REAL, &itv, NULL);
+       (void)setitimer(ITIMER_REAL, &itv, NULL);
 #endif
 #ifdef SYSV
        alarm(0);
 #endif
 
-       wmove(input, 0, 0);
-       wclrtobot(input);
-       wprintw(input, "Plane '%c' %s\n\nHit space for top players list...",
-               name(p), s);
-       wrefresh(input);
-       fflush(stdout);
+       (void)wmove(input, 0, 0);
+       (void)wclrtobot(input);
+       /* p may be NULL if we ran out of memory */
+       if (p == NULL)
+               (void)wprintw(input, "%s\n\nHit space for top players list...",
+                   s);
+       else {
+               (void)wprintw(input, "Plane '%c' %s\n\n", name(p), s);
+               (void)wprintw(input, "Hit space for top players list...");
+       }
+       (void)wrefresh(input);
+       (void)fflush(stdout);
        while ((c = getchar()) != EOF && c != ' ')
                ;
-       clear();        /* move to top of screen */
-       refresh();
-       endwin();
-       log_score(0);
+       (void)clear();  /* move to top of screen */
+       (void)refresh();
+       (void)endwin();
+       (void)log_score(0);
        exit(0);
 }
 
-redraw()
+void
+redraw(void)
 {
-       clear();
-       refresh();
+       (void)clear();
+       (void)refresh();
 
-       touchwin(radar);
-       wrefresh(radar);
-       touchwin(planes);
-       wrefresh(planes);
-       touchwin(credit);
-       wrefresh(credit);
+       (void)touchwin(radar);
+       (void)wrefresh(radar);
+       (void)touchwin(planes);
+       (void)wrefresh(planes);
+       (void)touchwin(credit);
+       (void)wrefresh(credit);
 
        /* refresh input last to get cursor in right place */
-       touchwin(input);
-       wrefresh(input);
-       fflush(stdout);
+       (void)touchwin(input);
+       (void)wrefresh(input);
+       (void)fflush(stdout);
 }
 
-
-done_screen()
+void
+done_screen(void)
 {
-       clear();
-       refresh();
-       endwin();         /* clean up curses */
+       (void)clear();
+       (void)refresh();
+       (void)endwin();   /* clean up curses */
 }