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