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