[BACK]Return to rogue.h CVS log [TXT][DIR] Up to [contributed] / early-roguelike / rogue4

Annotation of early-roguelike/rogue4/rogue.h, Revision 1.1.1.1

1.1       rubenllo    1: /*
                      2:  * Rogue definitions and variable declarations
                      3:  *
                      4:  * @(#)rogue.h 5.2 (Berkeley) 5/10/82
                      5:  *
                      6:  * Rogue: Exploring the Dungeons of Doom
                      7:  * Copyright (C) 1980, 1981, 1982 Michael Toy, Ken Arnold and Glenn Wichman
                      8:  * All rights reserved.
                      9:  *
                     10:  * See the file LICENSE.TXT for full copyright and licensing information.
                     11:  */
                     12:
                     13: typedef struct {
                     14:     const char *st_name;
                     15:     const int   st_value;
                     16: } STONE;
                     17:
                     18: extern const char *rainbow[];
                     19: extern const STONE stones[];
                     20: extern const char *sylls[];
                     21: extern const char *wood[];
                     22: extern const char *metal[];
                     23:
                     24: #define NCOLORS 27
                     25: #define NSYLLS  159
                     26: #define NSTONES 26
                     27: #define NWOOD   33
                     28: #define NMETAL  22
                     29:
                     30: /*
                     31:  * Maximum number of different things
                     32:  */
                     33: #define MAXDAEMONS  20
                     34: #define MAXROOMS       9
                     35: #define MAXTHINGS      9
                     36: #define MAXOBJ         9
                     37: #define MAXPACK                23
                     38: #define MAXTRAPS       10
                     39: #define AMULETLEVEL    26
                     40: #define        NUMTHINGS       7       /* number of types of things */
                     41: #define MAXPASS                13      /* upper limit on number of passages */
                     42:
                     43: /*
                     44:  * return values for get functions
                     45:  */
                     46: #define        NORM    0       /* normal exit */
                     47: #define        QUIT    1       /* quit option setting */
                     48: #define        MINUS   2       /* back up one option */
                     49:
                     50: /*
                     51:  * All the fun defines
                     52:  */
                     53: #define shint          char            /* short integer (for very small #s) */
                     54: #define when           break;case
                     55: #define otherwise      break;default
                     56: #define until(expr)    while(!(expr))
                     57: #define next(ptr)      (*ptr).l_next
                     58: #define prev(ptr)      (*ptr).l_prev
                     59: #define winat(y,x)     (moat(y,x) != NULL ? moat(y,x)->t_disguise : chat(y,x))
                     60: #define DISTANCE(y1, x1, y2, x2) ((x2 - x1)*(x2 - x1) + (y2 - y1)*(y2 - y1))
                     61: #define ce(a,b)                ((a).x == (b).x && (a).y == (b).y)
                     62: #define hero           player.t_pos
                     63: #define pstats         player.t_stats
                     64: #define pack           player.t_pack
                     65: #define proom          player.t_room
                     66: #define max_hp         player.t_stats.s_maxhp
                     67: #define attach(a,b)    _attach(&a,b)
                     68: #define detach(a,b)    _detach(&a,b)
                     69: #define free_list(a)   _free_list(&a)
                     70: #ifndef max
                     71: #define max(a,b)       ((a) > (b) ? (a) : (b))
                     72: #endif
                     73: #define on(thing,flag) (((thing).t_flags & (flag)) != 0)
                     74: #undef CTRL
                     75: #define CTRL(ch)       (ch & 037)
                     76: #define GOLDCALC       (rnd(50 + 10 * level) + 2)
                     77: #define ISRING(h,r)    (cur_ring[h] != NULL && cur_ring[h]->o_which == r)
                     78: #define ISWEARING(r)   (ISRING(LEFT, r) || ISRING(RIGHT, r))
                     79: #define ISMULT(type)   (type==POTION || type==SCROLL || type==FOOD || type==GOLD)
                     80: #define INDEX(y,x)     (((x) << 5) + (y))
                     81: #define chat(y,x)      (_level[((x) << 5) + (y)])
                     82: #define flat(y,x)      (_flags[((x) << 5) + (y)])
                     83: #define moat(y,x)      (_monst[((x) << 5) + (y)])
                     84: #define unc(cp)                (cp).y, (cp).x
                     85: #ifdef WIZARD
                     86: #define debug          if (wizard) msg
                     87: #endif
                     88:
                     89: /*
                     90:  * Things that appear on the screens
                     91:  */
                     92: #define PASSAGE                '#'
                     93: #define DOOR           '+'
                     94: #define FLOOR          '.'
                     95: #define PLAYER         '@'
                     96: #define TRAP           '^'
                     97: #define STAIRS         '%'
                     98: #define GOLD           '*'
                     99: #define POTION         '!'
                    100: #define SCROLL         '?'
                    101: #define MAGIC          '$'
                    102: #define FOOD           ':'
                    103: #define WEAPON         ')'
                    104: #define ARMOR          ']'
                    105: #define AMULET         ','
                    106: #define RING           '='
                    107: #define STICK          '/'
                    108: #define CALLABLE       -1
                    109:
                    110: int spread(int nm);
                    111: /*
                    112:  * Various constants
                    113:  */
                    114: #define        PASSWD          "mTuZ7WUV9RWkQ"
                    115: #define BEARTIME       spread(3)
                    116: #define SLEEPTIME      spread(5)
                    117: #define HEALTIME       spread(30)
                    118: #define HOLDTIME       spread(2)
                    119: #define WANDERTIME     spread(70)
                    120: #define BEFORE         spread(1)
                    121: #define AFTER          spread(2)
                    122: #define HUHDURATION    spread(20)
                    123: #define SEEDURATION    spread(850)
                    124: #define HUNGERTIME     spread(1300)
                    125: #define MORETIME       150
                    126: #define STOMACHSIZE    2000
                    127: #define STARVETIME     850
                    128: #define ESCAPE         27
                    129: #define LEFT           0
                    130: #define RIGHT          1
                    131: #define BOLT_LENGTH    6
                    132: #define LAMPDIST       3
                    133:
                    134: /*
                    135:  * Save against things
                    136:  */
                    137: #define VS_POISON      00
                    138: #define VS_PARALYZATION        00
                    139: #define VS_DEATH       00
                    140: #define VS_BREATH      02
                    141: #define VS_MAGIC       03
                    142:
                    143: /*
                    144:  * Various flag bits
                    145:  */
                    146: /* flags for rooms */
                    147: #define ISDARK 0000001         /* room is dark */
                    148: #define ISGONE 0000002         /* room is gone (a corridor) */
                    149:
                    150: /* flags for objects */
                    151: #define ISCURSED 000001                /* object is cursed */
                    152: #define ISKNOW 0000002         /* player knows details about the object */
                    153: #define ISMISL 0000004         /* object is a missile type */
                    154: #define ISMANY 0000010         /* object comes in groups */
                    155:
                    156: /* flags for creatures */
                    157: #define CANHUH 0000001         /* creature can confuse */
                    158: #define CANSEE 0000002         /* creature can see invisible creatures */
                    159: #define ISBLIND        0000004         /* creature is blind */
                    160: #define ISCANC 0000010         /* creature has special qualities cancelled */
                    161: #define ISFOUND        0000020         /* creature has been seen (used for objects) */
                    162: #define ISGREED        0000040         /* creature runs to protect gold */
                    163: #define ISHASTE        0000100         /* creature has been hastened */
                    164: #define ISHELD 0000400         /* creature has been held */
                    165: #define ISHUH  0001000         /* creature is confused */
                    166: #define ISINVIS        0002000         /* creature is invisible */
                    167: #define ISMEAN 0004000         /* creature can wake when player enters room */
                    168: #define ISREGEN        0010000         /* creature can regenerate */
                    169: #define ISRUN  0020000         /* creature is running at the player */
                    170: #define SEEMONST 040000                /* hero can detect unseen monsters */
                    171: #define ISSLOW 0100000         /* creature has been slowed */
                    172:
                    173: /*
                    174:  * Flags for level map
                    175:  */
                    176: #define F_PASS         0x80            /* is a passageway */
                    177: #define F_SEEN         0x40            /* have seen this corridor before */
                    178: #define F_DROPPED      0x20            /* object was dropped here */
                    179: #define F_LOCKED       0x20            /* door is locked */
                    180: #define F_REAL         0x10            /* what you see is what you get */
                    181: #define F_PNUM         0x0f            /* passage number mask */
                    182: #define F_TMASK                0x07            /* trap number mask */
                    183:
                    184: /*
                    185:  * Trap types
                    186:  */
                    187: #define T_DOOR 00
                    188: #define T_ARROW        01
                    189: #define T_SLEEP        02
                    190: #define T_BEAR 03
                    191: #define T_TELEP        04
                    192: #define T_DART 05
                    193: #define NTRAPS 6
                    194:
                    195: /*
                    196:  * Potion types
                    197:  */
                    198: #define P_CONFUSE      0
                    199: #define P_PARALYZE     1
                    200: #define P_POISON       2
                    201: #define P_STRENGTH     3
                    202: #define P_SEEINVIS     4
                    203: #define P_HEALING      5
                    204: #define P_MFIND                6
                    205: #define        P_TFIND         7
                    206: #define        P_RAISE         8
                    207: #define P_XHEAL                9
                    208: #define P_HASTE                10
                    209: #define P_RESTORE      11
                    210: #define P_BLIND                12
                    211: #define P_NOP          13
                    212: #define MAXPOTIONS     14
                    213:
                    214: /*
                    215:  * Scroll types
                    216:  */
                    217: #define S_CONFUSE      0
                    218: #define S_MAP          1
                    219: #define S_HOLD         2
                    220: #define S_SLEEP                3
                    221: #define S_ARMOR                4
                    222: #define S_IDENT                5
                    223: #define S_SCARE                6
                    224: #define S_GFIND                7
                    225: #define S_TELEP                8
                    226: #define S_ENCH         9
                    227: #define S_CREATE       10
                    228: #define S_REMOVE       11
                    229: #define S_AGGR         12
                    230: #define S_NOP          13
                    231: #define S_GENOCIDE     14
                    232: #define MAXSCROLLS     15
                    233:
                    234: /*
                    235:  * Weapon types
                    236:  */
                    237: #define MACE           0
                    238: #define SWORD          1
                    239: #define BOW            2
                    240: #define ARROW          3
                    241: #define DAGGER         4
                    242: #define TWOSWORD       5
                    243: #define DART           6
                    244: #define CROSSBOW       7
                    245: #define BOLT           8
                    246: #define SPEAR          9
                    247: #define FLAME          10      /* fake entry for dragon breath (ick) */
                    248: #define MAXWEAPONS     10      /* this should equal FLAME */
                    249:
                    250: /*
                    251:  * Armor types
                    252:  */
                    253: #define LEATHER                0
                    254: #define RING_MAIL      1
                    255: #define STUDDED_LEATHER        2
                    256: #define SCALE_MAIL     3
                    257: #define CHAIN_MAIL     4
                    258: #define SPLINT_MAIL    5
                    259: #define BANDED_MAIL    6
                    260: #define PLATE_MAIL     7
                    261: #define MAXARMORS      8
                    262:
                    263: /*
                    264:  * Ring types
                    265:  */
                    266: #define R_PROTECT      0
                    267: #define R_ADDSTR       1
                    268: #define R_SUSTSTR      2
                    269: #define R_SEARCH       3
                    270: #define R_SEEINVIS     4
                    271: #define R_NOP          5
                    272: #define R_AGGR         6
                    273: #define R_ADDHIT       7
                    274: #define R_ADDDAM       8
                    275: #define R_REGEN                9
                    276: #define R_DIGEST       10
                    277: #define R_TELEPORT     11
                    278: #define R_STEALTH      12
                    279: #define R_SUSTARM      13
                    280: #define MAXRINGS       14
                    281:
                    282: /*
                    283:  * Rod/Wand/Staff types
                    284:  */
                    285:
                    286: #define WS_LIGHT       0
                    287: #define WS_HIT         1
                    288: #define WS_ELECT       2
                    289: #define WS_FIRE                3
                    290: #define WS_COLD                4
                    291: #define WS_POLYMORPH   5
                    292: #define WS_MISSILE     6
                    293: #define WS_HASTE_M     7
                    294: #define WS_SLOW_M      8
                    295: #define WS_DRAIN       9
                    296: #define WS_NOP         10
                    297: #define WS_TELAWAY     11
                    298: #define WS_TELTO       12
                    299: #define WS_CANCEL      13
                    300: #define MAXSTICKS      14
                    301:
                    302: /*
                    303:  * Now we define the structures and types
                    304:  */
                    305:
                    306: /*
                    307:  * Help list
                    308:  */
                    309:
                    310: struct h_list {
                    311:     char h_ch;
                    312:     char *h_desc;
                    313: };
                    314:
                    315: /*
                    316:  * Coordinate data type
                    317:  */
                    318: typedef struct {
                    319:     shint x;
                    320:     shint y;
                    321: } coord;
                    322:
                    323: /* daemon/fuse data type */
                    324:
                    325: struct delayed_action {
                    326:     int d_type;
                    327:     void (*d_func)();
                    328:     int d_arg;
                    329:     int d_time;
                    330: };
                    331:
                    332: /**/
                    333:
                    334: typedef unsigned int str_t;
                    335:
                    336: /*
                    337:  * Stuff about magic items
                    338:  */
                    339:
                    340: struct magic_item {
                    341:     const char *mi_name;
                    342:     shint mi_prob;
                    343:     short mi_worth;
                    344: };
                    345:
                    346: /*
                    347:  * Room structure
                    348:  */
                    349: struct room {
                    350:     coord r_pos;                       /* Upper left corner */
                    351:     coord r_max;                       /* Size of room */
                    352:     coord r_gold;                      /* Where the gold is */
                    353:     int r_goldval;                     /* How much the gold is worth */
                    354:     short r_flags;                     /* Info about the room */
                    355:     shint r_nexits;                    /* Number of exits */
                    356:     coord r_exit[12];                  /* Where the exits are */
                    357: };
                    358:
                    359: /*
                    360:  * Structure describing a fighting being
                    361:  */
                    362: struct stats {
                    363:     str_t s_str;                       /* Strength */
                    364:     long s_exp;                                /* Experience */
                    365:     shint s_lvl;                       /* Level of mastery */
                    366:     shint s_arm;                       /* Armor class */
                    367:     short s_hpt;                       /* Hit points */
                    368:     char s_dmg[16];                    /* String describing damage done */
                    369:     shint s_maxhp;                     /* Max hit points */
                    370: };
                    371:
                    372: /*
                    373:  * Structure for monsters and player
                    374:  */
                    375: union thing {
                    376:     struct {
                    377:        union thing *_l_next, *_l_prev; /* Next pointer in link */
                    378:        coord _t_pos;                   /* Position */
                    379:        bool _t_turn;                   /* If slowed, is it a turn to move */
                    380:        unsigned char _t_type;          /* What it is */
                    381:        char _t_disguise;               /* What mimic looks like */
                    382:        char _t_oldch;                  /* Character that was where it was */
                    383:        coord *_t_dest;                 /* Where it is running to */
                    384:        short _t_flags;                 /* State word */
                    385:        struct stats _t_stats;          /* Physical description */
                    386:        struct room *_t_room;           /* Current room for thing */
                    387:        union thing *_t_pack;           /* What the thing is carrying */
                    388:     int  _t_reserved;
                    389:     } _t;
                    390:     struct {
                    391:        union thing *_l_next, *_l_prev; /* Next pointer in link */
                    392:        shint _o_type;                  /* What kind of object it is */
                    393:        coord _o_pos;                   /* Where it lives on the screen */
                    394:        char *_o_text;                  /* What it says if you read it */
                    395:        char _o_launch;                 /* What you need to launch it */
                    396:        char _o_damage[8];              /* Damage if used like sword */
                    397:        char _o_hurldmg[8];             /* Damage if thrown */
                    398:        shint _o_count;                 /* Count for plural objects */
                    399:        shint _o_which;                 /* Which object of a type it is */
                    400:        shint _o_hplus;                 /* Plusses to hit */
                    401:        shint _o_dplus;                 /* Plusses to damage */
                    402:        short _o_ac;                    /* Armor class */
                    403:        short _o_flags;                 /* Information about objects */
                    404:        shint _o_group;                 /* Group number for this object */
                    405:     } _o;
                    406: };
                    407:
                    408: typedef union thing THING;
                    409:
                    410: #define l_next         _t._l_next
                    411: #define l_prev         _t._l_prev
                    412: #define t_pos          _t._t_pos
                    413: #define t_turn         _t._t_turn
                    414: #define t_type         _t._t_type
                    415: #define t_disguise     _t._t_disguise
                    416: #define t_oldch                _t._t_oldch
                    417: #define t_dest         _t._t_dest
                    418: #define t_flags                _t._t_flags
                    419: #define t_stats                _t._t_stats
                    420: #define t_pack         _t._t_pack
                    421: #define t_room         _t._t_room
                    422: #define t_reserved      _t._t_reserved
                    423: #define o_type         _o._o_type
                    424: #define o_pos          _o._o_pos
                    425: #define o_text         _o._o_text
                    426: #define o_launch       _o._o_launch
                    427: #define o_damage       _o._o_damage
                    428: #define o_hurldmg      _o._o_hurldmg
                    429: #define o_count                _o._o_count
                    430: #define o_which                _o._o_which
                    431: #define o_hplus                _o._o_hplus
                    432: #define o_dplus                _o._o_dplus
                    433: #define o_ac           _o._o_ac
                    434: #define o_charges      o_ac
                    435: #define o_goldval      o_ac
                    436: #define o_flags                _o._o_flags
                    437: #define o_group                _o._o_group
                    438: #define o_reserved      _o._o_reserved
                    439:
                    440: /*
                    441:  * Array containing information on all the various types of mosnters
                    442:  */
                    443: struct monster {
                    444:     const char *m_name;                        /* What to call the monster */
                    445:     const shint m_carry;                       /* Probability of carrying something */
                    446:     const short m_flags;                       /* Things about the monster */
                    447:     struct stats m_stats;              /* Initial stats */
                    448: };
                    449:
                    450: /*
                    451:  * External variables
                    452:  */
                    453:
                    454: extern struct delayed_action d_list[20];
                    455:
                    456: extern THING   *_monst[], *cur_armor, *cur_ring[], *cur_weapon,
                    457:                *lvl_obj, *mlist, player;
                    458:
                    459: extern coord   delta, oldpos;
                    460:
                    461: extern struct h_list   helpstr[];
                    462:
                    463: extern struct room     *oldrp, passages[], rooms[];
                    464:
                    465: extern struct stats    max_stats;
                    466:
                    467: extern struct monster  monsters[];
                    468:
                    469: extern struct magic_item       p_magic[], r_magic[], s_magic[],
                    470:                                things[], ws_magic[];
                    471:
                    472: /*
                    473:  * Function types
                    474:  */
                    475:
                    476: coord  *find_dest(), *rndmove();
                    477:
                    478: THING  *find_mons(), *find_obj(), *get_item(), *new_item(),
                    479:        *new_thing(), *wake_monster();
                    480:
                    481: struct room    *roomin(coord *cp);
                    482:
                    483: void    _attach(THING **list, THING *item);
                    484: void    _detach(THING **list, THING *item);
                    485: void    _free_list(THING **ptr);
                    486: bool    add_haste(bool potion);
                    487: void    add_line(char *fmt, char *arg);
                    488: void    add_pack(THING *obj, bool silent);
                    489: void    add_str(str_t *sp, int amt);
                    490: void    addmsg(char *fmt, ...);
                    491: void    aggravate(void);
                    492: int     attack(THING *mp);
                    493: void    auto_save(int sig);
                    494: void    call_it(bool know, char **guess);
                    495: bool    cansee(int y, int x);
                    496: char   *charge_str(THING *obj);
                    497: void    check_level(void);
                    498: void    chg_str(int amt);
                    499: void    command(void);
                    500: void    death(char monst);
                    501: bool    diag_ok(coord *sp, coord *ep);
                    502: void    discard(THING *item);
                    503: void    discovered(void);
                    504: void    do_daemons(int flag);
                    505: void    do_fuses(int flag);
                    506: void    do_motion(THING *obj, int ydelta, int xdelta);
                    507: void    do_move(int dy, int dx);
                    508: void    do_passages(void);
                    509: void    do_rooms(void);
                    510: void    do_run(char ch);
                    511: void    do_zap(void);
                    512: void    doctor(void);
                    513: void    door_open(struct room *rp);
                    514: void    drop(void);
                    515: bool    dropcheck(THING *op);
                    516: void    eat(void);
                    517: int     encread(void *starta, int size, FILE *inf);
                    518: void    encwrite(void *starta, int size, FILE *outf);
                    519: void    end_line(void);
                    520: void    endmsg(void);
                    521: void    enter_room(coord *cp);
                    522: void    extinguish(void (*func)());
                    523: void    fall(THING *obj, bool pr);
                    524: bool    fallpos(coord *pos, coord *newpos, bool pass);
                    525: void    fatal(char *s);
                    526: bool    fight(coord *mp, char mn, THING *weap, bool thrown);
                    527: THING  *find_obj(int y, int x);
                    528: void    fire_bolt(coord *start, coord *dir, char *name);
                    529: void    fix_stick(THING *cur);
                    530: void    flush_type(void);
                    531: void    fuse(void (*func)(), int arg, int time, int type);
                    532: void    genocide(void);
                    533: bool    get_dir(void);
                    534: THING  *get_item(char *purpose, int type);
                    535: int     get_str(char *opt, WINDOW *win);
                    536: void    give_pack(THING *tp);
                    537: bool    hit_monster(int y, int x, THING *obj);
                    538: void    init_check(void);
                    539: void    init_colors(void);
                    540: void    init_materials(void);
                    541: void    init_names(void);
                    542: void    init_player(void);
                    543: void    init_stones(void);
                    544: void    init_things(void);
                    545: void    init_weapon(THING *weap, char type);
                    546: char   *inv_name(THING *obj, bool drop);
                    547: bool    inventory(THING *list, int type);
                    548: void    invis_on(void);
                    549: bool    is_current(THING *obj);
                    550: bool    is_magic(THING *obj);
                    551: bool    issymlink(char *sp);
                    552: void    kill_daemon(void (*func)());
                    553: void    killed(THING *tp, bool pr);
                    554: void    leave(int sig);
                    555: void    leave_room(coord *cp);
                    556: void    lengthen(void (*func)(), int xtime);
                    557: bool    lock_sc(void);
                    558: void    look(bool wakeup);
                    559: void    missile(int ydelta, int xdelta);
                    560: void    msg(char *fmt, ...);
                    561: THING  *new_item(void);
                    562: void    new_level(void);
                    563: void    new_monster(THING *tp, char type, coord *cp);
                    564: THING  *new_thing(void);
                    565: void    nohaste(void);
                    566: char   *num(int n1, int n2, char type);
                    567: void    open_log(void);
                    568: void    open_score(void);
                    569: void    option(void);
                    570: char    pack_char(THING *obj);
                    571: void    parse_opts(char *str);
                    572: void    pick_up(char ch);
                    573: void    picky_inven(void);
                    574: void    playit(void);
                    575: void    quaff(void);
                    576: void    quit(int a);
                    577: void    raise_level(void);
                    578: char    randmonster(bool wander);
                    579: void    read_scroll(void);
                    580: int     readchar(void);
                    581: int     readcharw(WINDOW *win);
                    582: void    remove_monster(coord *mp, THING *tp, bool waskill);
                    583: bool    restore(char *file, char **envp);
                    584: int     ring_eat(int hand);
                    585: char   *ring_num(THING *obj);
                    586: void    ring_off(void);
                    587: void    ring_on(void);
                    588: int     rnd(int range);
                    589: void    rnd_pos(struct room *rp, coord *cp);
                    590: int     rnd_room(void);
                    591: coord  *rndmove(THING *who);
                    592: int     roll(int number, int sides);
                    593: void    rollwand(void);
                    594: void    runners(void);
                    595: void    runto(coord *runner, coord *spot);
                    596: bool    save(int which);
                    597: bool    save_game(void);
                    598: bool    save_throw(int which, THING *tp);
                    599: void    score(int amount, int flags, char monst);
                    600: bool    see_monst(THING *mp);
                    601: void    setup(void);
                    602: void    shell(void);
                    603: void    show_win(WINDOW *scr, char *message);
                    604: void    sight(void);
                    605: int     sign(int nm);
                    606: void    start_daemon(void (*func)(), int arg, int type);
                    607: void    start_score(void);
                    608: void    status(void);
                    609: bool    step_ok(char ch);
                    610: void    stomach(void);
                    611: void    strucpy(char *s1, char *s2, int len);
                    612: void    swander(void);
                    613: bool    swing(int at_lvl, int op_arm, int wplus);
                    614: void    take_off(void);
                    615: int     teleport(void);
                    616: void    total_winner(void);
                    617: char   *tr_name(char type);
                    618: bool    turn_see(bool turn_off);
                    619: void    turn_see_off(void);
                    620: void    unconfuse(void);
                    621: char   *unctrol(char ch);
                    622: void    unlock_sc(void);
                    623: void    unsee(void);
                    624: char   *vowelstr(const char *str);
                    625: char   *xcrypt(const char *key, const char *setting);
                    626: void    w_wait_for(WINDOW *win, char ch);
                    627: void    wait_for(char ch);
                    628: THING  *wake_monster(int y, int x);
                    629: void    wanderer(void);
                    630: void    waste_time(void);
                    631: void    wear(void);
                    632: void    whatis(bool insist);
                    633: void    wield(void);
                    634: void    writelog(int amount, int flags, char monst);
                    635:
                    636: #ifdef HAVE_CONFIG_H
                    637: #include "config.h"
                    638: #endif
                    639: #include "extern.h"
                    640:
                    641: #ifndef PATH_MAX
                    642: #define PATH_MAX _MAX_PATH
                    643: #endif

CVSweb