1 /* SCCS Id: @(#)wbstruct.h 3.1 93/01/08 2 /* Copyright (c) Kenneth Lorber, Bethesda, Maryland, 1992, 1993. */ 3 /* NetHack may be freely redistributed. See license for details. */ 4 5 /* 6 * The NetHack WorkBench's typedef/struct definitions. 7 */ 8 typedef unsigned char flag; 9 10 typedef struct GAMEITEM 11 { 12 struct DiskObject *dobj; /* Icon structure pointer */ 13 char 14 *gname, /* Process name running this game */ 15 *name, /* name of icon without .info */ 16 *dname, /* Directory where save file is */ 17 *fname; /* File name on disk with .sav */ 18 struct GAMEITEM *nextwgad; /* Next in list current visible */ 19 struct GAMEITEM *next; /* Next in complete list */ 20 struct Process *prc; /* Process running this game */ 21 struct MsgPort *port; /* Port to send message to */ 22 struct MsgPort *prcport; /* Port for process termination */ 23 long secs, mics; /* Double click times */ 24 long oact, oflag; /* orig Flags and activation for diskobj */ 25 struct WBStartup *wbs; /* WorkBench startup message to send */ 26 struct WBArg *wba; /* WorkBench args */ 27 char **otools; /* Original dobj->do_ToolTypes pointer */ 28 BPTR lock; /* Lock on game file */ 29 int toolcnt; /* Number of pointers allocated in dobj */ 30 BPTR seglist; /* Seglist of loaded game */ 31 flag talloc; /* ToolTypes have been reallocated */ 32 flag active; /* Is this game active */ 33 } GAMEITEM, *GPTR; 34 35 typedef struct OPTIONS 36 { 37 char optval; /* Options current boolean value */ 38 char defval; /* The default boolean value nethack assumes */ 39 char *name; /* Name of the option. */ 40 char *optstr; /* Options current string value or "" */ 41 int id; /* GadgetID of gadget manipulating this 42 * options value. 43 */ 44 } OPTIONS, *OPTR; 45 46 typedef struct OPTGAD 47 { 48 struct Gadget gad; 49 char *val; 50 struct OPTGAD *next; 51 } OPTGAD; 52 53