]> git.cameronkatri.com Git - bsdgames-darwin.git/blobdiff - phantasia/misc.c
Fix formatting bug apparently introduced when the page was mdoc'd. (Had
[bsdgames-darwin.git] / phantasia / misc.c
index f741d7f159aab17c9a094abae6a51d2989afaef6..cfc8a1b10e0b4099a0270be665e7056b2606a91e 100644 (file)
@@ -1,16 +1,18 @@
-/*     $NetBSD: misc.c,v 1.3 1997/10/13 02:18:30 lukem Exp $   */
+/*     $NetBSD: misc.c,v 1.15 2008/01/28 06:20:15 dholland Exp $       */
 
 /*
  * misc.c  Phantasia miscellaneous support routines
  */
 
 #include "include.h"
+#undef bool
+#include <curses.h>
 
 
 void
 movelevel()
 {
-       struct charstats *statptr;      /* for pointing into Stattable */
+       const struct charstats *statptr; /* for pointing into Stattable */
        double  new;            /* new level */
        double  inc;            /* increment between new and old levels */
 
@@ -60,15 +62,15 @@ movelevel()
                death("Old age");
 }
 
-char   *
+const char   *
 descrlocation(playerp, shortflag)
        struct player *playerp;
-       bool    shortflag;
+       phbool  shortflag;
 {
        double  circle;         /* corresponding circle for coordinates */
        int     quadrant;       /* quandrant of grid */
-       char   *label;          /* pointer to place name */
-       static char *nametable[4][4] =  /* names of places */
+       const char   *label;    /* pointer to place name */
+       static const char *const nametable[4][4] =      /* names of places */
        {
                {"Anorien", "Ithilien", "Rohan", "Lorien"},
                {"Gondor", "Mordor", "Dunland", "Rovanion"},
@@ -343,7 +345,7 @@ tradingpost()
                                        printw("A blessing requires a %.0f gp donation.  Still want one ? ", blessingcost);
                                        ch = getanswer("NY", FALSE);
 
-                                       if (ch == 'Y')
+                                       if (ch == 'Y') {
                                                if (Player.p_gold < blessingcost)
                                                        ++cheat;
                                                else {
@@ -354,6 +356,7 @@ tradingpost()
                                                        else
                                                                Player.p_blessing = TRUE;
                                                }
+                                       }
                                        break;
                                }
                        break;
@@ -411,7 +414,7 @@ displaystats()
 void
 allstatslist()
 {
-       static char *flags[] =  /* to print value of some bools */
+       static const char *const flags[] = /* to print value of some bools */
        {
                "False",
                " True"
@@ -425,7 +428,7 @@ allstatslist()
        mvprintw(13, 0, "Sin       : %9.5f", Player.p_sin);
        mvprintw(14, 0, "Poison    : %9.5f", Player.p_poison);
        mvprintw(15, 0, "Gems      : %9.0f", Player.p_gems);
-       mvprintw(16, 0, "Age       : %9d", Player.p_age);
+       mvprintw(16, 0, "Age       : %9ld", Player.p_age);
        mvprintw(10, 40, "Holy Water: %9d", Player.p_holywater);
        mvprintw(11, 40, "Amulets   : %9d", Player.p_amulets);
        mvprintw(12, 40, "Charms    : %9d", Player.p_charms);
@@ -441,13 +444,13 @@ allstatslist()
            flags[(int)Player.p_palantir]);
 }
 
-char   *
+const char   *
 descrtype(playerp, shortflag)
        struct player *playerp;
-       bool    shortflag;
+       phbool  shortflag;
 {
        int     type;           /* for caluculating result subscript */
-       static char *results[] =/* description table */
+       static const char *const results[] =/* description table */
        {
                " Magic User", " MU",
                " Fighter", " F ",
@@ -507,12 +510,12 @@ descrtype(playerp, shortflag)
 
 long
 findname(name, playerp)
-       char   *name;
+       const char   *name;
        struct player *playerp;
 {
        long    loc = 0;        /* location in the file */
 
-       fseek(Playersfp, 0L, 0);
+       fseek(Playersfp, 0L, SEEK_SET);
        while (fread((char *) playerp, SZ_PLAYERSTRUCT, 1, Playersfp) == 1) {
                if (strcmp(playerp->p_name, name) == 0) {
                        if (playerp->p_status != S_NOTUSED || Wizard)
@@ -530,7 +533,7 @@ allocrecord()
 {
        long    loc = 0L;       /* location in file */
 
-       fseek(Playersfp, 0L, 0);
+       fseek(Playersfp, 0L, SEEK_SET);
        while (fread((char *) &Other, SZ_PLAYERSTRUCT, 1, Playersfp) == 1) {
                if (Other.p_status == S_NOTUSED)
                        /* found an empty record */
@@ -575,11 +578,11 @@ leavegame()
 
 void
 death(how)
-       char   *how;
+       const char   *how;
 {
        FILE   *fp;             /* for updating various files */
        int     ch;             /* input */
-       static char *deathmesg[] =
+       static const char *const deathmesg[] =
        /* add more messages here, if desired */
        {
                "You have been wounded beyond repair.  ",
@@ -637,10 +640,10 @@ death(how)
                                                {
                                                        mvaddstr(4, 0,
                                                            "Your ring has taken control of you and turned you into a monster!\n");
-                                                       fseek(Monstfp, 13L * SZ_MONSTERSTRUCT, 0);
+                                                       fseek(Monstfp, 13L * SZ_MONSTERSTRUCT, SEEK_SET);
                                                        fread((char *) &Curmonster, SZ_MONSTERSTRUCT, 1, Monstfp);
                                                        strcpy(Curmonster.m_name, Player.p_name);
-                                                       fseek(Monstfp, 13L * SZ_MONSTERSTRUCT, 0);
+                                                       fseek(Monstfp, 13L * SZ_MONSTERSTRUCT, SEEK_SET);
                                                        fwrite((char *) &Curmonster, SZ_MONSTERSTRUCT, 1, Monstfp);
                                                        fflush(Monstfp);
                                                }
@@ -670,7 +673,7 @@ death(how)
        if (ch == 'Y') {
                cleanup(FALSE);
                execl(_PATH_GAMEPROG, "phantasia", "-s",
-                   (Wizard ? "-S" : (char *) NULL), 0);
+                   (Wizard ? "-S" : (char *) NULL), (char *) NULL);
                exit(0);
                /* NOTREACHED */
        }
@@ -683,7 +686,7 @@ writerecord(playerp, place)
        struct player *playerp;
        long    place;
 {
-       fseek(Playersfp, place, 0);
+       fseek(Playersfp, place, SEEK_SET);
        fwrite((char *) playerp, SZ_PLAYERSTRUCT, 1, Playersfp);
        fflush(Playersfp);
 }
@@ -767,7 +770,7 @@ readrecord(playerp, loc)
        struct player *playerp;
        long    loc;
 {
-       fseek(Playersfp, loc, 0);
+       fseek(Playersfp, loc, SEEK_SET);
        fread((char *) playerp, SZ_PLAYERSTRUCT, 1, Playersfp);
 }
 
@@ -789,7 +792,7 @@ adjuststats()
 
        /* calculate effective quickness */
        dtemp = ((Player.p_gold + Player.p_gems / 2.0) - 1000.0) / Statptr->c_goldtote
-           - Player.p_level;;
+           - Player.p_level;
        dtemp = MAX(0.0, dtemp);/* gold slows player down */
        Player.p_speed = Player.p_quickness + Player.p_quksilver - dtemp;
 
@@ -927,16 +930,16 @@ readmessage()
 {
        move(3, 0);
        clrtoeol();
-       fseek(Messagefp, 0L, 0);
+       fseek(Messagefp, 0L, SEEK_SET);
        if (fgets(Databuf, SZ_DATABUF, Messagefp) != NULL)
                addstr(Databuf);
 }
 
 void
 error(whichfile)
-       char   *whichfile;
+       const char   *whichfile;
 {
-       int     (*funcp) __P((const char *,...));
+       int     (*funcp)(const char *,...);
 
        if (Windows) {
                funcp = printw;
@@ -944,20 +947,20 @@ error(whichfile)
        } else
                funcp = printf;
 
-       (*funcp) ("An unrecoverable error has occurred reading %s.  (errno = %d)\n", whichfile, errno);
+       (*funcp) ("An unrecoverable error has occurred reading %s.  (%s)\n", whichfile, strerror(errno));
        (*funcp) ("Please run 'setup' to determine the problem.\n");
        cleanup(TRUE);
        /* NOTREACHED */
 }
 
 double
-distance(x1, x2, y1, y2)
-       double  x1, x2, y1, y2;
+distance(x_1, x_2, y_1, y_2)
+       double  x_1, x_2, y_1, y_2;
 {
        double  deltax, deltay;
 
-       deltax = x1 - x2;
-       deltay = y1 - y2;
+       deltax = x_1 - x_2;
+       deltay = y_1 - y_2;
        return (sqrt(deltax * deltax + deltay * deltay));
 }
 
@@ -972,7 +975,7 @@ ill_sig(whichsig)
        /* NOTREACHED */
 }
 
-char *
+const char *
 descrstatus(playerp)
        struct player *playerp;
 {
@@ -1063,7 +1066,7 @@ collecttaxes(gold, gems)
                dtemp = 0.0;
                fread((char *) &dtemp, sizeof(double), 1, fp);
                dtemp += floor(taxes);
-               fseek(fp, 0L, 0);
+               fseek(fp, 0L, SEEK_SET);
                fwrite((char *) &dtemp, sizeof(double), 1, fp);
                fclose(fp);
        }