]> git.cameronkatri.com Git - bsdgames-darwin.git/blobdiff - larn/object.c
Use __dead instead of __attribute__((__noreturn__)).
[bsdgames-darwin.git] / larn / object.c
index 59df0215097fdec0800e832ff446f57ccd141733..1c7e607dfdee3e41ca72cf10f3427602b8331a90 100644 (file)
@@ -1,18 +1,31 @@
-/*     $NetBSD: object.c,v 1.10 2001/02/05 00:57:34 christos Exp $     */
+/*     $NetBSD: object.c,v 1.15 2009/08/12 08:04:05 dholland Exp $     */
 
 /* object.c            Larn is copyrighted 1986 by Noah Morgan. */
 
 #include <sys/cdefs.h>
 #ifndef lint
 
 /* object.c            Larn is copyrighted 1986 by Noah Morgan. */
 
 #include <sys/cdefs.h>
 #ifndef lint
-__RCSID("$NetBSD: object.c,v 1.10 2001/02/05 00:57:34 christos Exp $");
+__RCSID("$NetBSD: object.c,v 1.15 2009/08/12 08:04:05 dholland Exp $");
 #endif                         /* not lint */
 #include "header.h"
 #include "extern.h"
 
 #endif                         /* not lint */
 #include "header.h"
 #include "extern.h"
 
+static void finditem(int);
+static void ostairs(int);
+static void opotion(int);
+static void oscroll(int);
+static void oorb(void);
+static void opit(void);
+static void obottomless(void);
+static void oelevator(int);
+static void ostatue(void);
+static void omirror(void);
+static void obook(void);
+static void ocookie(void);
+static void ogold(int);
+static void ohome(void);
+
 /*
 /*
-       ***************
-       LOOK_FOR_OBJECT
-       ***************
+       lookforobject
 
        subroutine to look for an object and give the player his options
        if an object was found.
 
        subroutine to look for an object and give the player his options
        if an object was found.
@@ -22,7 +35,7 @@ lookforobject()
 {
        int    i, j;
        if (c[TIMESTOP])
 {
        int    i, j;
        if (c[TIMESTOP])
-               return;         /* can't find objects is time is stopped         */
+               return;         /* can't find objects if time is stopped         */
        i = item[playerx][playery];
        if (i == 0)
                return;
        i = item[playerx][playery];
        if (i == 0)
                return;
@@ -149,7 +162,7 @@ lookforobject()
                lprcat("\nDo you (g) go inside, or (i) stay here? ");
                i = 0;
                while ((i != 'g') && (i != 'i') && (i != '\33'))
                lprcat("\nDo you (g) go inside, or (i) stay here? ");
                i = 0;
                while ((i != 'g') && (i != 'i') && (i != '\33'))
-                       i = lgetchar();
+                       i = ttgetch();
                if (i == 'g') {
                        oschool();      /* the college of larn   */
                } else
                if (i == 'g') {
                        oschool();      /* the college of larn   */
                } else
@@ -174,7 +187,7 @@ lookforobject()
                lprcat("\nDo you (g) go inside, or (i) stay here? ");
                j = 0;
                while ((j != 'g') && (j != 'i') && (j != '\33'))
                lprcat("\nDo you (g) go inside, or (i) stay here? ");
                j = 0;
                while ((j != 'g') && (j != 'i') && (j != '\33'))
-                       j = lgetchar();
+                       j = ttgetch();
                if (j == 'g') {
                        if (i == OBANK)
                                obank();
                if (j == 'g') {
                        if (i == OBANK)
                                obank();
@@ -197,7 +210,7 @@ lookforobject()
                lprcat("\nDo you (g) go inside, or (i) stay here? ");
                i = 0;
                while ((i != 'g') && (i != 'i') && (i != '\33'))
                lprcat("\nDo you (g) go inside, or (i) stay here? ");
                i = 0;
                while ((i != 'g') && (i != 'i') && (i != '\33'))
-                       i = lgetchar();
+                       i = ttgetch();
                if (i == 'g')
                        dndstore();     /* the dnd adventurers store  */
                else
                if (i == 'g')
                        dndstore();     /* the dnd adventurers store  */
                else
@@ -220,7 +233,7 @@ lookforobject()
                iopts();
                i = 0;
                while ((i != 'c') && (i != 'i') && (i != '\33'))
                iopts();
                i = 0;
                while ((i != 'c') && (i != 'i') && (i != '\33'))
-                       i = lgetchar();
+                       i = ttgetch();
                if ((i == '\33') || (i == 'i')) {
                        ignore();
                        break;
                if ((i == '\33') || (i == 'i')) {
                        ignore();
                        break;
@@ -239,7 +252,7 @@ lookforobject()
                iopts();
                i = 0;
                while ((i != 'o') && (i != 'i') && (i != '\33'))
                iopts();
                i = 0;
                while ((i != 'o') && (i != 'i') && (i != '\33'))
-                       i = lgetchar();
+                       i = ttgetch();
                if ((i == '\33') || (i == 'i')) {
                        ignore();
                        playerx = lastpx;
                if ((i == '\33') || (i == 'i')) {
                        ignore();
                        playerx = lastpx;
@@ -290,7 +303,7 @@ lookforobject()
                iopts();
                i = 0;
                while ((i != 'g') && (i != 'i') && (i != '\33'))
                iopts();
                i = 0;
                while ((i != 'g') && (i != 'i') && (i != '\33'))
-                       i = lgetchar();
+                       i = ttgetch();
                if (i == 'g') {
                        newcavelevel(1);
                        playerx = 33;
                if (i == 'g') {
                        newcavelevel(1);
                        playerx = 33;
@@ -310,7 +323,7 @@ lookforobject()
                iopts();
                i = 0;
                while ((i != 'c') && (i != 'i') && (i != '\33'))
                iopts();
                i = 0;
                while ((i != 'c') && (i != 'i') && (i != '\33'))
-                       i = lgetchar();
+                       i = ttgetch();
                if ((i == '\33') || (i == 'i')) {
                        ignore();
                        break;
                if ((i == '\33') || (i == 'i')) {
                        ignore();
                        break;
@@ -350,7 +363,7 @@ lookforobject()
                iopts();
                i = 0;
                while ((i != 'c') && (i != 'i') && (i != '\33'))
                iopts();
                i = 0;
                while ((i != 'c') && (i != 'i') && (i != '\33'))
-                       i = lgetchar();
+                       i = ttgetch();
                if ((i == '\33') || (i == 'i')) {
                        ignore();
                        break;
                if ((i == '\33') || (i == 'i')) {
                        ignore();
                        break;
@@ -446,7 +459,7 @@ lookforobject()
                lprcat("\nDo you (g) go inside, or (i) stay here? ");
                i = 0;
                while ((i != 'g') && (i != 'i') && (i != '\33'))
                lprcat("\nDo you (g) go inside, or (i) stay here? ");
                i = 0;
                while ((i != 'g') && (i != 'i') && (i != '\33'))
-                       i = lgetchar();
+                       i = ttgetch();
                if (i == 'g')
                        otradepost();
                else
                if (i == 'g')
                        otradepost();
                else
@@ -460,7 +473,7 @@ lookforobject()
                lprcat("\nDo you (g) go inside, or (i) stay here? ");
                i = 0;
                while ((i != 'g') && (i != 'i') && (i != '\33'))
                lprcat("\nDo you (g) go inside, or (i) stay here? ");
                i = 0;
                while ((i != 'g') && (i != 'i') && (i != '\33'))
-                       i = lgetchar();
+                       i = ttgetch();
                if (i == 'g')
                        ohome();
                else
                if (i == 'g')
                        ohome();
                else
@@ -481,7 +494,7 @@ lookforobject()
                lprcat("\nDo you (g) go inside, or (i) stay here? ");
                i = 0;
                while ((i != 'g') && (i != 'i') && (i != '\33'))
                lprcat("\nDo you (g) go inside, or (i) stay here? ");
                i = 0;
                while ((i != 'g') && (i != 'i') && (i != '\33'))
-                       i = lgetchar();
+                       i = ttgetch();
                if (i == 'g')
                        olrs(); /* the larn revenue service */
                else
                if (i == 'g')
                        olrs(); /* the larn revenue service */
                else
@@ -497,14 +510,13 @@ lookforobject()
 /*
        function to say what object we found and ask if player wants to take it
  */
 /*
        function to say what object we found and ask if player wants to take it
  */
-void
-finditem(itm)
-       int             itm;
+static void
+finditem(int theitem)
 {
        int             tmp, i;
 {
        int             tmp, i;
-       lprintf("\n\nYou have found %s ", objectname[itm]);
+       lprintf("\n\nYou have found %s ", objectname[theitem]);
        tmp = iarg[playerx][playery];
        tmp = iarg[playerx][playery];
-       switch (itm) {
+       switch (theitem) {
        case ODIAMOND:
        case ORUBY:
        case OEMERALD:
        case ODIAMOND:
        case ORUBY:
        case OEMERALD:
@@ -517,18 +529,18 @@ finditem(itm)
 
        default:
                if (tmp > 0)
 
        default:
                if (tmp > 0)
-                       lprintf("+ %d", (long) tmp);
+                       lprintf("+ %ld", (long) tmp);
                else if (tmp < 0)
                else if (tmp < 0)
-                       lprintf(" %d", (long) tmp);
+                       lprintf(" %ld", (long) tmp);
        }
        lprcat("\nDo you want to (t) take it");
        iopts();
        i = 0;
        while (i != 't' && i != 'i' && i != '\33')
        }
        lprcat("\nDo you want to (t) take it");
        iopts();
        i = 0;
        while (i != 't' && i != 'i' && i != '\33')
-               i = lgetchar();
+               i = ttgetch();
        if (i == 't') {
                lprcat("take");
        if (i == 't') {
                lprcat("take");
-               if (take(itm, tmp) == 0)
+               if (take(theitem, tmp) == 0)
                        forget();
                return;
        }
                        forget();
                return;
        }
@@ -538,14 +550,10 @@ finditem(itm)
 
 
 /*
 
 
 /*
-       *******
-       OSTAIRS
-       *******
-
        subroutine to process the stair cases
        if dir > 0 the up else down
  */
        subroutine to process the stair cases
        if dir > 0 the up else down
  */
-void
+static void
 ostairs(dir)
        int             dir;
 {
 ostairs(dir)
        int             dir;
 {
@@ -558,7 +566,7 @@ ostairs(dir)
        lprcat("or (f) kick stairs? ");
 
        while (1)
        lprcat("or (f) kick stairs? ");
 
        while (1)
-               switch (lgetchar()) {
+               switch (ttgetch()) {
                case '\33':
                case 's':
                case 'i':
                case '\33':
                case 's':
                case 'i':
@@ -571,7 +579,7 @@ ostairs(dir)
                                lprcat("\nI hope you feel better.  Showing anger rids you of frustration.");
                        else {
                                k = rnd((level + 1) << 1);
                                lprcat("\nI hope you feel better.  Showing anger rids you of frustration.");
                        else {
                                k = rnd((level + 1) << 1);
-                               lprintf("\nYou hurt your foot dumb dumb!  You suffer %d hit points", (long) k);
+                               lprintf("\nYou hurt your foot dumb dumb!  You suffer %ld hit points", (long) k);
                                lastnum = 276;
                                losehp(k);
                                bottomline();
                                lastnum = 276;
                                losehp(k);
                                bottomline();
@@ -609,10 +617,6 @@ ostairs(dir)
 
 
 /*
 
 
 /*
-       *********
-       OTELEPORTER
-       *********
-
        subroutine to handle a teleport trap +/- 1 level maximum
  */
 void
        subroutine to handle a teleport trap +/- 1 level maximum
  */
 void
@@ -650,20 +654,16 @@ oteleport(err)
 
 
 /*
 
 
 /*
-       *******
-       OPOTION
-       *******
-
        function to process a potion
  */
        function to process a potion
  */
-void
+static void
 opotion(pot)
        int             pot;
 {
        lprcat("\nDo you (d) drink it, (t) take it");
        iopts();
        while (1)
 opotion(pot)
        int             pot;
 {
        lprcat("\nDo you (d) drink it, (t) take it");
        iopts();
        while (1)
-               switch (lgetchar()) {
+               switch (ttgetch()) {
                case '\33':
                case 'i':
                        ignore();
                case '\33':
                case 'i':
                        ignore();
@@ -863,13 +863,9 @@ quaffpotion(pot)
 
 
 /*
 
 
 /*
-       *******
-       OSCROLL
-       *******
-
        function to process a magic scroll
  */
        function to process a magic scroll
  */
-void
+static void
 oscroll(typ)
        int             typ;
 {
 oscroll(typ)
        int             typ;
 {
@@ -879,7 +875,7 @@ oscroll(typ)
        lprcat("(t) take it");
        iopts();
        while (1)
        lprcat("(t) take it");
        iopts();
        while (1)
-               switch (lgetchar()) {
+               switch (ttgetch()) {
                case '\33':
                case 'i':
                        ignore();
                case '\33':
                case 'i':
                        ignore();
@@ -919,7 +915,7 @@ static u_char     exten[] = {
        CANCELLATION, HASTESELF, GLOBE, SCAREMONST, HOLDMONST, TIMESTOP
 };
 
        CANCELLATION, HASTESELF, GLOBE, SCAREMONST, HOLDMONST, TIMESTOP
 };
 
-u_char time_change[] = {
+static u_char time_change[] = {
        HASTESELF, HERO, ALTPRO, PROTECTIONTIME, DEXCOUNT, STRCOUNT,
        GIANTSTR, CHARMCOUNT, INVISIBILITY, CANCELLATION, HASTESELF,
        AGGRAVATE, SCAREMONST, STEALTH, AWARENESS, HOLDMONST,
        HASTESELF, HERO, ALTPRO, PROTECTIONTIME, DEXCOUNT, STRCOUNT,
        GIANTSTR, CHARMCOUNT, INVISIBILITY, CANCELLATION, HASTESELF,
        AGGRAVATE, SCAREMONST, STEALTH, AWARENESS, HOLDMONST,
@@ -996,9 +992,9 @@ read_scroll(typ)
        case 7:
                gltime += (i = rnd(1000) - 850);        /* time warp */
                if (i >= 0)
        case 7:
                gltime += (i = rnd(1000) - 850);        /* time warp */
                if (i >= 0)
-                       lprintf("\nYou went forward in time by %d mobuls", (long) ((i + 99) / 100));
+                       lprintf("\nYou went forward in time by %ld mobuls", (long) ((i + 99) / 100));
                else
                else
-                       lprintf("\nYou went backward in time by %d mobuls", (long) (-(i + 99) / 100));
+                       lprintf("\nYou went backward in time by %ld mobuls", (long) (-(i + 99) / 100));
                adjusttime((long) i);   /* adjust time for time warping */
                return;
 
                adjusttime((long) i);   /* adjust time for time warping */
                return;
 
@@ -1101,12 +1097,12 @@ read_scroll(typ)
 
 
 
 
 
 
-void
+static void
 oorb()
 {
 }
 
 oorb()
 {
 }
 
-void
+static void
 opit()
 {
        int    i;
 opit()
 {
        int    i;
@@ -1122,7 +1118,7 @@ opit()
                                        lprcat("\nYou fell into a pit!  Your fall is cushioned by an unknown force\n");
                                } else {
                                        i = rnd(level * 3 + 3);
                                        lprcat("\nYou fell into a pit!  Your fall is cushioned by an unknown force\n");
                                } else {
                                        i = rnd(level * 3 + 3);
-                                       lprintf("\nYou fell into a pit!  You suffer %d hit points damage", (long) i);
+                                       lprintf("\nYou fell into a pit!  You suffer %ld hit points damage", (long) i);
                                        lastnum = 261;  /* if he dies scoreboard
                                                         * will say so */
                                }
                                        lastnum = 261;  /* if he dies scoreboard
                                                         * will say so */
                                }
@@ -1135,7 +1131,7 @@ opit()
        }
 }
 
        }
 }
 
-void
+static void
 obottomless()
 {
        lprcat("\nYou fell into a bottomless pit!");
 obottomless()
 {
        lprcat("\nYou fell into a bottomless pit!");
@@ -1143,7 +1139,8 @@ obottomless()
        nap(3000);
        died(262);
 }
        nap(3000);
        died(262);
 }
-void
+
+static void
 oelevator(dir)
        int             dir;
 {
 oelevator(dir)
        int             dir;
 {
@@ -1154,17 +1151,17 @@ oelevator(dir)
 #endif /* lint */
 }
 
 #endif /* lint */
 }
 
-void
+static void
 ostatue()
 {
 }
 
 ostatue()
 {
 }
 
-void
+static void
 omirror()
 {
 }
 
 omirror()
 {
 }
 
-void
+static void
 obook()
 {
        lprcat("\nDo you ");
 obook()
 {
        lprcat("\nDo you ");
@@ -1173,7 +1170,7 @@ obook()
        lprcat("(t) take it");
        iopts();
        while (1)
        lprcat("(t) take it");
        iopts();
        while (1)
-               switch (lgetchar()) {
+               switch (ttgetch()) {
                case '\33':
                case 'i':
                        ignore();
                case '\33':
                case 'i':
                        ignore();
@@ -1216,14 +1213,15 @@ readbook(lev)
        }
 }
 
        }
 }
 
-void
-ocookie()
+static void
+ocookie(void)
 {
 {
-       char           *p;
+       const char *p;
+
        lprcat("\nDo you (e) eat it, (t) take it");
        iopts();
        while (1)
        lprcat("\nDo you (e) eat it, (t) take it");
        iopts();
        while (1)
-               switch (lgetchar()) {
+               switch (ttgetch()) {
                case '\33':
                case 'i':
                        ignore();
                case '\33':
                case 'i':
                        ignore();
@@ -1253,7 +1251,7 @@ ocookie()
  * routine to pick up some gold -- if arg==OMAXGOLD then the pile is worth
  * 100* the argument
  */
  * routine to pick up some gold -- if arg==OMAXGOLD then the pile is worth
  * 100* the argument
  */
-void
+static void
 ogold(arg)
        int             arg;
 {
 ogold(arg)
        int             arg;
 {
@@ -1265,13 +1263,13 @@ ogold(arg)
                i *= 1000;
        else if (arg == ODGOLD)
                i *= 10;
                i *= 1000;
        else if (arg == ODGOLD)
                i *= 10;
-       lprintf("\nIt is worth %d!", (long) i);
+       lprintf("\nIt is worth %ld!", (long) i);
        c[GOLD] += i;
        bottomgold();
        item[playerx][playery] = know[playerx][playery] = 0;    /* destroy gold  */
 }
 
        c[GOLD] += i;
        bottomgold();
        item[playerx][playery] = know[playerx][playery] = 0;    /* destroy gold  */
 }
 
-void
+static void
 ohome()
 {
        int    i;
 ohome()
 {
        int    i;
@@ -1314,7 +1312,7 @@ ohome()
                        died(269);
                }
                lprcat("\nThe diagnosis is confirmed as dianthroritis.  He guesses that\n");
                        died(269);
                }
                lprcat("\nThe diagnosis is confirmed as dianthroritis.  He guesses that\n");
-               lprintf("your daughter has only %d mobuls left in this world.  It's up to you,\n", (long) ((TIMELIMIT - gltime + 99) / 100));
+               lprintf("your daughter has only %ld mobuls left in this world.  It's up to you,\n", (long) ((TIMELIMIT - gltime + 99) / 100));
                lprintf("%s, to find the only hope for your daughter, the very rare\n", logname);
                lprcat("potion of cure dianthroritis.  It is rumored that only deep in the\n");
                lprcat("depths of the caves can this potion be found.\n\n\n");
                lprintf("%s, to find the only hope for your daughter, the very rare\n", logname);
                lprcat("potion of cure dianthroritis.  It is rumored that only deep in the\n");
                lprcat("depths of the caves can this potion be found.\n\n\n");
@@ -1323,9 +1321,9 @@ ohome()
                lprcat(" to continue, ");
                standout("escape");
                lprcat(" to leave ----- ");
                lprcat(" to continue, ");
                standout("escape");
                lprcat(" to leave ----- ");
-               i = lgetchar();
+               i = ttgetch();
                while (i != '\33' && i != '\n')
                while (i != '\33' && i != '\n')
-                       i = lgetchar();
+                       i = ttgetch();
                if (i == '\33') {
                        drawscreen();
                        nosignal = 0;   /* enable signals */
                if (i == '\33') {
                        drawscreen();
                        nosignal = 0;   /* enable signals */