Annotation of 43BSDReno/games/battlestar/externs.h, revision 1.1

1.1     ! root        1: /*
        !             2:  * Copyright (c) 1983 Regents of the University of California.
        !             3:  * All rights reserved.
        !             4:  *
        !             5:  * Redistribution and use in source and binary forms are permitted
        !             6:  * provided that: (1) source distributions retain this entire copyright
        !             7:  * notice and comment, and (2) distributions including binaries display
        !             8:  * the following acknowledgement:  ``This product includes software
        !             9:  * developed by the University of California, Berkeley and its contributors''
        !            10:  * in the documentation or other materials provided with the distribution
        !            11:  * and in all advertising materials mentioning features or use of this
        !            12:  * software. Neither the name of the University nor the names of its
        !            13:  * contributors may be used to endorse or promote products derived
        !            14:  * from this software without specific prior written permission.
        !            15:  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
        !            16:  * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
        !            17:  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
        !            18:  *
        !            19:  *     @(#)externs.h   5.4 (Berkeley) 6/1/90
        !            20:  */
        !            21: 
        !            22: #include <sys/signal.h>
        !            23: #include <stdio.h>
        !            24: 
        !            25: #define BITS (8 * sizeof (int))
        !            26: 
        !            27: #define OUTSIDE                (position > 68 && position < 246 && position != 218)
        !            28: #define rnd(x)         (rand() % (x))
        !            29: #define max(a,b)       ((a) < (b) ? (b) : (a))
        !            30: #define testbit(array, index)  (array[index/BITS] & (1 << (index % BITS)))
        !            31: #define setbit(array, index)   (array[index/BITS] |= (1 << (index % BITS)))
        !            32: #define clearbit(array, index) (array[index/BITS] &= ~(1 << (index % BITS)))
        !            33: 
        !            34:        /* well known rooms */
        !            35: #define FINAL  275
        !            36: #define GARDEN 197
        !            37: #define POOLS  126
        !            38: #define DOCK   93
        !            39: 
        !            40:        /* word types */
        !            41: #define VERB   0
        !            42: #define OBJECT  1
        !            43: #define NOUNS  2
        !            44: #define PREPS  3
        !            45: #define ADJS   4
        !            46: #define CONJ   5
        !            47: 
        !            48:        /* words numbers */
        !            49: #define KNIFE          0 
        !            50: #define SWORD          1
        !            51: #define LAND           2
        !            52: #define WOODSMAN       3
        !            53: #define TWO_HANDED     4
        !            54: #define CLEAVER                5
        !            55: #define BROAD          6
        !            56: #define MAIL           7
        !            57: #define HELM           8
        !            58: #define SHIELD         9
        !            59: #define MAID           10
        !            60: #define BODY           10
        !            61: #define VIPER          11
        !            62: #define LAMPON         12
        !            63: #define SHOES          13
        !            64: #define CYLON          14
        !            65: #define PAJAMAS                15
        !            66: #define ROBE           16
        !            67: #define AMULET         17
        !            68: #define MEDALION       18
        !            69: #define TALISMAN       19
        !            70: #define DEADWOOD       20
        !            71: #define MALLET         21
        !            72: #define LASER          22
        !            73: #define BATHGOD                23
        !            74: #define NORMGOD                24
        !            75: #define GRENADE                25
        !            76: #define CHAIN          26
        !            77: #define ROPE           27
        !            78: #define LEVIS          28
        !            79: #define MACE           29
        !            80: #define SHOVEL         30
        !            81: #define HALBERD                31
        !            82: #define        COMPASS         32
        !            83: #define        CRASH           33
        !            84: #define ELF            34
        !            85: #define FOOT           35
        !            86: #define COINS          36
        !            87: #define MATCHES                37
        !            88: #define MAN            38
        !            89: #define PAPAYAS                39
        !            90: #define PINEAPPLE      40
        !            91: #define KIWI           41
        !            92: #define COCONUTS       42
        !            93: #define MANGO          43
        !            94: #define RING           44
        !            95: #define POTION         45
        !            96: #define BRACELET       46
        !            97: #define GIRL           47
        !            98: #define GIRLTALK       48
        !            99: #define DARK           49
        !           100: #define TIMER          50
        !           101: #define CHAR           53
        !           102: #define BOMB           54
        !           103: #define DEADGOD                55
        !           104: #define DEADTIME       56
        !           105: #define DEADNATIVE     57
        !           106: #define NATIVE         58
        !           107: #define HORSE          59
        !           108: #define CAR            60
        !           109: #define POT            61
        !           110: #define BAR            62
        !           111: #define        BLOCK           63
        !           112: #define NUMOFOBJECTS   64
        !           113:        /* non-objects below */
        !           114: #define UP     1000
        !           115: #define DOWN   1001
        !           116: #define AHEAD  1002
        !           117: #define BACK   1003
        !           118: #define RIGHT  1004
        !           119: #define LEFT   1005
        !           120: #define TAKE   1006
        !           121: #define USE    1007
        !           122: #define LOOK   1008
        !           123: #define QUIT   1009
        !           124: #define NORTH  1010
        !           125: #define SOUTH  1011
        !           126: #define EAST   1012
        !           127: #define WEST   1013
        !           128: #define SU      1014
        !           129: #define DROP   1015
        !           130: #define TAKEOFF        1016
        !           131: #define DRAW   1017
        !           132: #define PUTON  1018
        !           133: #define WEARIT 1019
        !           134: #define PUT    1020
        !           135: #define INVEN  1021
        !           136: #define EVERYTHING 1022
        !           137: #define AND    1023
        !           138: #define KILL   1024
        !           139: #define RAVAGE 1025
        !           140: #define UNDRESS        1026
        !           141: #define THROW  1027
        !           142: #define LAUNCH 1028
        !           143: #define LANDIT 1029
        !           144: #define LIGHT  1030
        !           145: #define FOLLOW 1031
        !           146: #define KISS   1032
        !           147: #define LOVE   1033
        !           148: #define GIVE   1034
        !           149: #define SMITE  1035
        !           150: #define SHOOT  1036
        !           151: #define ON     1037
        !           152: #define        OFF     1038
        !           153: #define TIME   1039
        !           154: #define SLEEP  1040
        !           155: #define DIG    1041
        !           156: #define EAT    1042
        !           157: #define SWIM   1043
        !           158: #define DRINK  1044
        !           159: #define DOOR   1045
        !           160: #define SAVE   1046
        !           161: #define RIDE   1047
        !           162: #define DRIVE  1048
        !           163: #define SCORE  1049
        !           164: #define BURY   1050 
        !           165: #define JUMP   1051
        !           166: #define KICK   1052
        !           167: 
        !           168:        /* injuries */
        !           169: #define ARM    6               /* broken arm */
        !           170: #define RIBS   7               /* broken ribs */
        !           171: #define SPINE  9               /* broken back */
        !           172: #define SKULL  11              /* fractured skull */
        !           173: #define INCISE 10              /* deep incisions */
        !           174: #define NECK   12              /* broken NECK */
        !           175: #define NUMOFINJURIES 13
        !           176: 
        !           177:        /* notes */
        !           178: #define        CANTLAUNCH      0
        !           179: #define LAUNCHED       1
        !           180: #define CANTSEE                2
        !           181: #define CANTMOVE       3 
        !           182: #define JINXED         4
        !           183: #define DUG            5
        !           184: #define NUMOFNOTES     6
        !           185: 
        !           186:        /* fundamental constants */
        !           187: #define NUMOFROOMS     275
        !           188: #define NUMOFWORDS     ((NUMOFOBJECTS + BITS - 1) / BITS)
        !           189: #define LINELENGTH     81
        !           190: 
        !           191: #define TODAY          0
        !           192: #define TONIGHT                1
        !           193: #define CYCLE          100
        !           194: 
        !           195:        /* initial variable values */
        !           196: #define TANKFULL       250
        !           197: #define TORPEDOES      10
        !           198: #define MAXWEIGHT      60
        !           199: #define MAXCUMBER      10
        !           200: 
        !           201: struct room {
        !           202:        char *name;
        !           203:        int link[8];
        !           204: #define north  link[0]
        !           205: #define south  link[1]
        !           206: #define east   link[2]
        !           207: #define west   link[3]
        !           208: #define up     link[4]
        !           209: #define access link[5]
        !           210: #define down   link[6]
        !           211: #define flyhere        link[7]
        !           212:        char *desc;
        !           213:        unsigned int objects[NUMOFWORDS];
        !           214: };
        !           215: struct room dayfile[];
        !           216: struct room nightfile[];
        !           217: struct room *location;
        !           218: 
        !           219:        /* object characteristics */
        !           220: char *objdes[NUMOFOBJECTS];
        !           221: char *objsht[NUMOFOBJECTS];
        !           222: char *ouch[NUMOFINJURIES];
        !           223: int objwt[NUMOFOBJECTS];
        !           224: int objcumber[NUMOFOBJECTS];
        !           225: 
        !           226:        /* current input line */
        !           227: #define NWORD  20                      /* words per line */
        !           228: char words[NWORD][15];
        !           229: int wordvalue[NWORD];
        !           230: int wordtype[NWORD];
        !           231: int wordcount, wordnumber;
        !           232: 
        !           233: char *truedirec(), *rate();
        !           234: char *getcom(), *getword();
        !           235: 
        !           236:        /* state of the game */
        !           237: int time;
        !           238: int position;
        !           239: int direction;
        !           240: int left, right, ahead, back;
        !           241: int clock, fuel, torps;
        !           242: int carrying, encumber;
        !           243: int rythmn;
        !           244: int followfight;
        !           245: int ate;
        !           246: int snooze;
        !           247: int meetgirl;
        !           248: int followgod;
        !           249: int godready;
        !           250: int win;
        !           251: int wintime;
        !           252: int wiz;
        !           253: int tempwiz;
        !           254: int matchlight, matchcount;
        !           255: int loved;
        !           256: int pleasure, power, ego;
        !           257: int WEIGHT;
        !           258: int CUMBER;
        !           259: int notes[NUMOFNOTES];
        !           260: unsigned int inven[NUMOFWORDS];
        !           261: unsigned int wear[NUMOFWORDS];
        !           262: char beenthere[NUMOFROOMS+1];
        !           263: char injuries[NUMOFINJURIES];
        !           264: 
        !           265: char uname[9];
        !           266: 
        !           267: struct wlist {
        !           268:        char *string;
        !           269:        int value, article;
        !           270:        struct wlist *next;
        !           271: };
        !           272: #define HASHSIZE       256
        !           273: #define HASHMUL                81
        !           274: #define HASHMASK       (HASHSIZE - 1)
        !           275: struct wlist *hashtab[HASHSIZE];
        !           276: struct wlist wlist[];
        !           277: 
        !           278: struct objs {
        !           279:        short room;
        !           280:        short obj;
        !           281: };
        !           282: struct objs dayobjs[];
        !           283: struct objs nightobjs[];

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.