]> git.cameronkatri.com Git - bsdgames-darwin.git/blobdiff - adventure/hdr.h
Fix capitalisation of compass directions.
[bsdgames-darwin.git] / adventure / hdr.h
index 6e1440b896e66fa02d28a8c34c236f9e7220b026..3843831c64f311e6f6525ada6f2348561f2f97f3 100644 (file)
@@ -1,4 +1,4 @@
-/*     $NetBSD: hdr.h,v 1.2 1995/03/21 12:05:02 cgd Exp $      */
+/*     $NetBSD: hdr.h,v 1.10 2003/08/07 09:36:50 agc Exp $     */
 
 /*-
  * Copyright (c) 1991, 1993
  * 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.
  *
  *
  * The data file distributed with the fortran source is assumed to be called
  * "glorkz" in the directory where the program is first run.
+ *
+ * The original FORTRAN version can be found at
+ * <URL:ftp://ftp.gmd.de/if-archive/games/source/advent-original.tar.gz>.
  */
 
 /* hdr.h: included by c advent files */
 
-int datfd;                              /* message file descriptor      */
-int delhit;
-int yea;
-extern char data_file[];                /* Virtual data file            */
+#include <signal.h>
+
+extern int     datfd;                  /* message file descriptor */
+extern volatile sig_atomic_t delhit;
+extern int     yea;
+extern char data_file[];       /* Virtual data file */
 
 #define TAB     011
 #define LF      012
-#define FLUSHLINE while (getchar()!='\n')
+#define FLUSHLINE do { int flushline_ch; while ((flushline_ch = getchar()) != EOF && flushline_ch != '\n'); } while (0)
 #define FLUSHLF   while (next()!=LF)
 
-int loc,newloc,oldloc,oldlc2,wzdark,gaveup,kq,k,k2;
-char *wd1,*wd2;                         /* the complete words           */
-int verb,obj,spk;
+extern int     loc, newloc, oldloc, oldlc2, wzdark, gaveup, kq, k, k2;
+extern char   *wd1, *wd2;              /* the complete words */
+extern int     verb, obj, spk;
 extern int blklin;
-int saved,savet,mxscor,latncy;
+extern int     saveday, savet, mxscor, latncy;
 
-#define SHORT 50                        /* How short is a demo game?    */
+#define SHORT 50               /* How short is a demo game? */
 
-#define MAXSTR  20                      /* max length of user's words   */
+#define MAXSTR  20             /* max length of user's words */
 
-#define HTSIZE  512                     /* max number of vocab words    */
-struct hashtab                          /* hash table for vocabulary    */
-{       int val;                        /* word type &index (ktab)      */
-       char *atab;                     /* pointer to actual string     */
-} voc[HTSIZE];
-
-#define SEED 1815622                    /* "Encryption" seed            */
+#define HTSIZE  512            /* max number of vocab words */
+extern struct hashtab {                /* hash table for vocabulary */
+       int     val;            /* word type &index (ktab) */
+       char   *atab;           /* pointer to actual string */
+}       voc[HTSIZE];
+#define SEED 1815622           /* "Encryption" seed */
 
 struct text
-#ifdef OLDSTUFF
-{       int seekadr;                    /* DATFILE must be < 2**16      */
-#endif OLDSTUFF
-{       char *seekadr;                  /* Msg start in virtual disk    */
-       int txtlen;                     /* length of msg starting here  */
-};
+       {
+               char   *seekadr;/* Msg start in virtual disk */
+               int     txtlen; /* length of msg starting here */
+       };
 
 #define RTXSIZ  205
-struct text rtext[RTXSIZ];              /* random text messages         */
+extern struct text rtext[RTXSIZ];      /* random text messages */
 
 #define MAGSIZ  35
-struct text mtext[MAGSIZ];              /* magic messages               */
+extern struct text mtext[MAGSIZ];      /* magic messages */
 
-int clsses;
+extern int     clsses;
 #define CLSMAX  12
-struct text ctext[CLSMAX];              /* classes of adventurer        */
-int cval[CLSMAX];
+extern struct text ctext[CLSMAX];      /* classes of adventurer */
+extern int     cval[CLSMAX];
 
-struct text ptext[101];                 /* object descriptions          */
+extern struct text ptext[101];         /* object descriptions */
 
-#define LOCSIZ  141                     /* number of locations          */
-struct text ltext[LOCSIZ];              /* long loc description         */
-struct text stext[LOCSIZ];              /* short loc descriptions       */
+#define LOCSIZ  141                    /* number of locations */
+extern struct text ltext[LOCSIZ];      /* long loc description */
+extern struct text stext[LOCSIZ];      /* short loc descriptions */
 
-struct travlist                         /* direcs & conditions of travel*/
-{       struct travlist *next;          /* ptr to next list entry       */
-       int conditions;                 /* m in writeup (newloc / 1000) */
-       int tloc;                       /* n in writeup (newloc % 1000) */
-       int tverb;                      /* the verb that takes you there*/
-} *travel[LOCSIZ],*tkk;                 /* travel is closer to keys(...)*/
+extern struct travlist {               /* direcs & conditions of travel */
+               struct travlist *next;  /* ptr to next list entry */
+               int     conditions;     /* m in writeup (newloc / 1000) */
+               int     tloc;           /* n in writeup (newloc % 1000) */
+               int     tverb;          /* the verb that takes you there */
+       }      *travel[LOCSIZ], *tkk;   /* travel is closer to keys(...) */
 
-int atloc[LOCSIZ];
+extern int     atloc[LOCSIZ];
 
-int  plac[101];                         /* initial object placement     */
-int  fixd[101],fixed[101];              /* location fixed?              */
+extern int     plac[101];              /* initial object placement */
+extern int     fixd[101], fixed[101];  /* location fixed? */
 
-int actspk[35];                         /* rtext msg for verb <n>       */
+extern int     actspk[35];             /* rtext msg for verb <n> */
 
-int cond[LOCSIZ];                       /* various condition bits       */
+extern int     cond[LOCSIZ];           /* various condition bits */
 
-extern int setbit[16];                  /* bit defn masks 1,2,4,...     */
+       extern int setbit[16];          /* bit defn masks 1,2,4,... */
 
-int hntmax;
-int hints[20][5];                       /* info on hints                */
-int hinted[20],hintlc[20];
+extern int     hntmax;
+extern int     hints[20][5];           /* info on hints */
+extern int     hinted[20], hintlc[20];
 
-int place[101], prop[101],link[201];
-int abb[LOCSIZ];
+extern int     place[101], prop[101], links[201];
+extern int     abb[LOCSIZ];
 
-int maxtrs,tally,tally2;                /* treasure values              */
+extern int     maxtrs, tally, tally2;  /* treasure values */
 
 #define FALSE   0
 #define TRUE    1
 
-int keys,lamp,grate,cage,rod,rod2,steps,/* mnemonics                    */
-       bird,door,pillow,snake,fissur,tablet,clam,oyster,magzin,
-       dwarf,knife,food,bottle,water,oil,plant,plant2,axe,mirror,dragon,
-       chasm,troll,troll2,bear,messag,vend,batter,
-       nugget,coins,chest,eggs,tridnt,vase,emrald,pyram,pearl,rug,chain,
-       spices,
-       back,look,cave,null,entrnc,dprssn,
-       enter, stream, pour,
-       say,lock,throw,find,invent;
-
-int chloc,chloc2,dseen[7],dloc[7],      /* dwarf stuff                  */
-       odloc[7],dflag,daltlc;
+extern int     keys, lamp, grate, cage, rod, rod2, steps,      /* mnemonics */
+               bird, door, pillow, snake, fissur, tablet, clam, oyster,
+               magzin, dwarf, knife, food, bottle, water, oil, plant, plant2,
+               axe, mirror, dragon, chasm, troll, troll2, bear, messag,
+               vend, batter, nugget, coins, chest, eggs, tridnt, vase,
+               emrald, pyram, pearl, rug, chain, spices, back, look, cave,
+               null, entrnc, dprssn, enter, stream, pour, say, lock, throw,
+               find, invent;
 
-int tk[21],stick,dtotal,attack;
-int turns,lmwarn,iwest,knfloc,detail,   /* various flags & counters     */
-       abbnum,maxdie,numdie,holdng,dkill,foobar,bonus,clock1,clock2,
-       saved,closng,panic,closed,scorng;
+extern int     chloc, chloc2, dseen[7], dloc[7],       /* dwarf stuff */
+               odloc[7], dflag, daltlc;
 
-int demo,newloc,limit;
+extern int     tk[21], stick, dtotal, attack;
+extern int     turns, lmwarn, iwest, knfloc, detail,   /* various flags and
+                                                        * counters */
+               abbnum, maxdie, numdie, holdng, dkill, foobar, bonus, clock1,
+               clock2, saved, closng, panic, closed, scorng;
 
-char *malloc();
-char *decr();
-unsigned long crc();
+extern int     demo, limit;
 
-/* We need to get a little tricky to avoid strings */
-#define DECR(a,b,c,d,e) decr('a'+'+','b'+'-','c'+'#','d'+'&','e'+'%')
+#define DECR(a,b,c,d,e) decr(a+'+',b+'-',c+'#',d+'&',e+'%')