]> git.cameronkatri.com Git - bsdgames-darwin.git/blobdiff - larn/global.c
Heads up on Bell patents
[bsdgames-darwin.git] / larn / global.c
index 7f03c8b678f71e069e0258457ac8329702e27e37..013aa6f6954951277a871594757d8d2a067d1e67 100644 (file)
@@ -1,4 +1,4 @@
-/*     $NetBSD: global.c,v 1.8 2008/01/28 03:39:31 dholland Exp $      */
+/*     $NetBSD: global.c,v 1.14 2012/06/19 05:30:43 dholland Exp $     */
 
 /*
  * global.c            Larn is copyrighted 1986 by Noah Morgan.
  * losemhp(x)          subroutine to remove max # hit points from the player
  * raisehp(x)          subroutine to gain hit points
  * raisemhp(x)         subroutine to gain maximum hit points
- * losespells(x)       subroutine to lose spells
  * losemspells(x)      subroutine to lose maximum spells
- * raisespells(x)      subroutine to gain spells
  * raisemspells(x)     subroutine to gain maximum spells
- * recalc()            function to recalculate the armor class of the player
  * makemonst(lev)      function to return monster number for a randomly
  *                     selected monster
  * positionplayer()    function to be sure player is not in a wall
+ * recalc()            function to recalculate the armor class of the player
  * quit()              subroutine to ask if the player really wants to quit
  */
 #include <sys/cdefs.h>
 #ifndef lint
-__RCSID("$NetBSD: global.c,v 1.8 2008/01/28 03:39:31 dholland Exp $");
+__RCSID("$NetBSD: global.c,v 1.14 2012/06/19 05:30:43 dholland Exp $");
 #endif /* not lint */
 
 #include <string.h>
@@ -31,16 +29,12 @@ __RCSID("$NetBSD: global.c,v 1.8 2008/01/28 03:39:31 dholland Exp $");
 #include "header.h"
 #include "extern.h"
 extern int      score[], dropflag;
-extern int      random;                /* the random number seed               */
 extern char     *what[], *who[];
 extern char     winner[];
 extern char     sciv[SCORESIZE + 1][26][2];
-extern char    *password;
+extern const char *password;
 
 /*
-       ***********
-       RAISE LEVEL
-       ***********
        raiselevel()
 
        subroutine to raise the player one level
@@ -48,38 +42,31 @@ extern char    *password;
        uses c[EXPERIENCE]  c[LEVEL]
  */
 void
-raiselevel()
+raiselevel(void)
 {
        if (c[LEVEL] < MAXPLEVEL)
                raiseexperience((long) (skill[c[LEVEL]] - c[EXPERIENCE]));
 }
 
 /*
-       ***********
-       LOOSE LEVEL
-       ***********
     loselevel()
 
        subroutine to lower the players character level by one
  */
 void
-loselevel()
+loselevel(void)
 {
        if (c[LEVEL] > 1)
                loseexperience((long) (c[EXPERIENCE] - skill[c[LEVEL] - 1] + 1));
 }
 
 /*
-       ****************
-       RAISE EXPERIENCE
-       ****************
        raiseexperience(x)
 
        subroutine to increase experience points
  */
 void
-raiseexperience(x)
-       long   x;
+raiseexperience(long x)
 {
        int    i, tmp;
        i = c[LEVEL];
@@ -101,16 +88,12 @@ raiseexperience(x)
 }
 
 /*
-       ****************
-       LOOSE EXPERIENCE
-       ****************
        loseexperience(x)
 
        subroutine to lose experience points
  */
 void
-loseexperience(x)
-       long   x;
+loseexperience(long x)
 {
        int    i, tmp;
        i = c[LEVEL];
@@ -135,9 +118,6 @@ loseexperience(x)
 }
 
 /*
-       ********
-       LOOSE HP
-       ********
        losehp(x)
        losemhp(x)
 
@@ -145,8 +125,7 @@ loseexperience(x)
        warning -- will kill player if hp goes to zero
  */
 void
-losehp(x)
-       int    x;
+losehp(int x)
 {
        if ((c[HP] -= x) <= 0) {
                beep();
@@ -157,8 +136,7 @@ losehp(x)
 }
 
 void
-losemhp(x)
-       int    x;
+losemhp(int x)
 {
        c[HP] -= x;
        if (c[HP] < 1)
@@ -169,75 +147,44 @@ losemhp(x)
 }
 
 /*
-       ********
-       RAISE HP
-       ********
        raisehp(x)
        raisemhp(x)
 
        subroutine to gain maximum hit points
  */
 void
-raisehp(x)
-       int    x;
+raisehp(int x)
 {
        if ((c[HP] += x) > c[HPMAX])
                c[HP] = c[HPMAX];
 }
 
 void
-raisemhp(x)
-       int    x;
+raisemhp(int x)
 {
        c[HPMAX] += x;
        c[HP] += x;
 }
 
 /*
-       ************
-       RAISE SPELLS
-       ************
-       raisespells(x)
        raisemspells(x)
 
        subroutine to gain maximum spells
  */
 void
-raisespells(x)
-       int    x;
-{
-       if ((c[SPELLS] += x) > c[SPELLMAX])
-               c[SPELLS] = c[SPELLMAX];
-}
-
-void
-raisemspells(x)
-       int    x;
+raisemspells(int x)
 {
        c[SPELLMAX] += x;
        c[SPELLS] += x;
 }
 
 /*
-       ************
-       LOOSE SPELLS
-       ************
-       losespells(x)
        losemspells(x)
 
        subroutine to lose maximum spells
  */
 void
-losespells(x)
-       int    x;
-{
-       if ((c[SPELLS] -= x) < 0)
-               c[SPELLS] = 0;
-}
-
-void
-losemspells(x)
-       int    x;
+losemspells(int x)
 {
        if ((c[SPELLMAX] -= x) < 0)
                c[SPELLMAX] = 0;
@@ -253,8 +200,7 @@ losemspells(x)
                for the given cave level
  */
 int
-makemonst(lev)
-       int    lev;
+makemonst(int lev)
 {
        int    tmp, x;
        if (lev < 1)
@@ -280,7 +226,7 @@ makemonst(lev)
        function to be sure player is not in a wall
  */
 void
-positionplayer()
+positionplayer(void)
 {
        int             try;
        try = 2;
@@ -300,7 +246,7 @@ positionplayer()
        recalc()        function to recalculate the armor class of the player
  */
 void
-recalc()
+recalc(void)
 {
        int    i, j, k;
        c[AC] = c[MOREDEFENSES];
@@ -426,14 +372,14 @@ recalc()
        subroutine to ask if the player really wants to quit
  */
 void
-quit()
+quit(void)
 {
        int    i;
        cursors();
        strcpy(lastmonst, "");
        lprcat("\n\nDo you really want to quit?");
        while (1) {
-               i = lgetchar();
+               i = ttgetch();
                if (i == 'y') {
                        died(300);
                        return;
@@ -459,12 +405,12 @@ quit()
        function to ask --more-- then the user must enter a space
  */
 void
-more()
+more(void)
 {
        lprcat("\n  --- press ");
        standout("space");
        lprcat(" to continue --- ");
-       while (lgetchar() != ' ');
+       while (ttgetch() != ' ');
 }
 
 /*
@@ -472,8 +418,7 @@ more()
        returns 0 if success, 1 if a failure
  */
 int
-take(itm, arg)
-       int             itm, arg;
+take(int theitem, int arg)
 {
        int    i, limit;
        /* cursors(); */
@@ -481,10 +426,10 @@ take(itm, arg)
                limit = 26;
        for (i = 0; i < limit; i++)
                if (iven[i] == 0) {
-                       iven[i] = itm;
+                       iven[i] = theitem;
                        ivenarg[i] = arg;
                        limit = 0;
-                       switch (itm) {
+                       switch (theitem) {
                        case OPROTRING:
                        case ODAMRING:
                        case OBELT:
@@ -542,15 +487,14 @@ take(itm, arg)
        returns 1 if something there already else 0
  */
 int
-drop_object(k)
-       int             k;
+drop_object(int k)
 {
-       int             itm;
+       int             theitem;
        if ((k < 0) || (k > 25))
                return (0);
-       itm = iven[k];
+       theitem = iven[k];
        cursors();
-       if (itm == 0) {
+       if (theitem == 0) {
                lprintf("\nYou don't have item %c! ", k + 'a');
                return (1);
        }
@@ -561,7 +505,7 @@ drop_object(k)
        }
        if (playery == MAXY - 1 && playerx == 33)
                return (1);     /* not in entrance */
-       item[playerx][playery] = itm;
+       item[playerx][playery] = theitem;
        iarg[playerx][playery] = ivenarg[k];
        srcount = 0;
        lprcat("\n  You drop:");
@@ -574,7 +518,7 @@ drop_object(k)
                c[WEAR] = -1;
        if (c[SHIELD] == k)
                c[SHIELD] = -1;
-       adjustcvalues(itm, ivenarg[k]);
+       adjustcvalues(theitem, ivenarg[k]);
        dropflag = 1;           /* say dropped an item so wont ask to pick it
                                 * up right away */
        return (0);
@@ -584,7 +528,7 @@ drop_object(k)
        function to enchant armor player is currently wearing
  */
 void
-enchantarmor()
+enchantarmor(void)
 {
        int    tmp;
        if (c[WEAR] < 0) {
@@ -614,7 +558,7 @@ enchantarmor()
        function to enchant a weapon presently being wielded
  */
 void
-enchweapon()
+enchweapon(void)
 {
        int    tmp;
        if (c[WIELD] < 0) {
@@ -642,7 +586,7 @@ enchweapon()
        returns 1 if pockets are full, else 0
  */
 int
-pocketfull()
+pocketfull(void)
 {
        int    i, limit;
        if ((limit = 15 + (c[LEVEL] >> 1)) > 26)
@@ -657,7 +601,7 @@ pocketfull()
        function to return 1 if a monster is next to the player else returns 0
  */
 int
-nearbymonst()
+nearbymonst(void)
 {
        int    tmp, tmp2;
        for (tmp = playerx - 1; tmp < playerx + 2; tmp++)
@@ -672,7 +616,7 @@ nearbymonst()
        returns 1 if steals something else returns 0
  */
 int
-stealsomething()
+stealsomething(void)
 {
        int    i, j;
        j = 100;
@@ -697,7 +641,7 @@ stealsomething()
        function to return 1 is player carrys nothing else return 0
  */
 int
-emptyhanded()
+emptyhanded(void)
 {
        int    i;
        for (i = 0; i < 26; i++)
@@ -713,7 +657,7 @@ emptyhanded()
        function to create a gem on a square near the player
  */
 void
-creategem()
+creategem(void)
 {
        int    i, j;
        switch (rnd(4)) {
@@ -742,12 +686,11 @@ creategem()
        that affects these characteristics
  */
 void
-adjustcvalues(itm, arg)
-       int             itm, arg;
+adjustcvalues(int theitem, int arg)
 {
        int    flag;
        flag = 0;
-       switch (itm) {
+       switch (theitem) {
        case ODEXRING:
                c[DEXTERITY] -= arg + 1;
                flag = 1;
@@ -796,38 +739,13 @@ adjustcvalues(itm, arg)
                bottomline();
 }
 
-/*
-       function to read a string from token input "string"
-       returns a pointer to the string
- */
-void
-gettokstr(str)
-       char  *str;
-{
-       int    i, j;
-       i = 50;
-       while ((lgetchar() != '"') && (--i > 0));
-       i = 36;
-       while (--i > 0) {
-               if ((j = lgetchar()) != '"')
-                       *str++ = j;
-               else
-                       i = 0;
-       }
-       *str = 0;
-       i = 50;
-       if (j != '"')
-               /* if end due to too long, then find closing quote */
-               while ((lgetchar() != '"') && (--i > 0));
-}
-
 /*
        function to ask user for a password (no echo)
        returns 1 if entered correctly, 0 if not
  */
 static char     gpwbuf[33];
 int
-getpassword()
+getpassword(void)
 {
        int    i, j;
        char  *gpwp;
@@ -837,7 +755,7 @@ getpassword()
        lflush();
        i = strlen(password);
        for (j = 0; j < i; j++)
-               read(0, gpwp++, 1);
+               *gpwp++ = ttgetch();
        gpwbuf[i] = 0;
        sncbr();                /* system("stty echo -cbreak"); */
        if (strcmp(gpwbuf, password) != 0) {
@@ -853,12 +771,12 @@ getpassword()
        returns y or n
  */
 int
-getyn()
+getyn(void)
 {
        int    i;
        i = 0;
        while (i != 'y' && i != 'n' && i != '\33')
-               i = lgetchar();
+               i = ttgetch();
        return (i);
 }
 
@@ -867,7 +785,7 @@ getyn()
        returns the number of pounds the player is carrying
  */
 int
-packweight()
+packweight(void)
 {
        int    i, j, k;
        k = c[GOLD] / 1000;
@@ -930,15 +848,13 @@ packweight()
 #ifndef MACRORND
 /* macros to generate random numbers   1<=rnd(N)<=N   0<=rund(N)<=N-1 */
 int
-rnd(x)
-       int             x;
+rnd(int x)
 {
        return ((((randx = randx * 1103515245 + 12345) >> 7) % (x)) + 1);
 }
 
 int
-rund(x)
-       int             x;
+rund(int x)
 {
        return ((((randx = randx * 1103515245 + 12345) >> 7) % (x)));
 }