1    | /*	SCCS Id: @(#)qtext.h	3.3	97/02/02	*/
2    | /* Copyright (c) Mike Stephenson 1991.				  */
3    | /* NetHack may be freely redistributed.  See license for details. */
4    | 
5    | #ifndef QTEXT_H
6    | #define QTEXT_H
7    | 
8    | #define N_HDR	16		/* Maximum number of categories */
9    | 				/* (i.e., num roles + 1) */
10   | #define LEN_HDR 3		/* Maximum length of a category name */
11   | 
12   | struct qtmsg {
13   | 	int	msgnum;
14   | 	char	delivery;
15   | 	long	offset,
16   | 		size;
17   | };
18   | 
19   | #ifdef MAKEDEFS_C	/***** MAKEDEFS *****/
20   | 
21   | #define N_MSG	100		/* arbitrary */
22   | 
23   | struct msghdr {
24   | 	int	n_msg;
25   | 	struct	qtmsg	qt_msg[N_MSG];
26   | };
27   | 
28   | struct	qthdr {
29   | 	int	n_hdr;
30   | 	char	id[N_HDR][LEN_HDR];
31   | 	long	offset[N_HDR];
32   | };
33   | 
34   | /* Error message macros */
35   | #define CREC_IN_MSG	"Control record encountered during message - line %d\n"
36   | #define DUP_MSG		"Duplicate message number at line %d\n"
37   | #define END_NOT_IN_MSG	"End record encountered before message - line %d\n"
38   | #define UNREC_CREC	"Unrecognized Control record at line %d\n"
39   | #define OUT_OF_HEADERS	"Too many message types (line %d)\nAdjust N_HDR in qtext.h and recompile.\n"
40   | #define OUT_OF_MESSAGES "Too many messages in class (line %d)\nAdjust N_MSG in qtext.h and recompile.\n"
41   | 
42   | 
43   | #else	/***** !MAKEDEFS *****/
44   | 
45   | struct	qtlists {
46   | 	struct	qtmsg	*common,
47   | #if 0	/* UNUSED but available */
48   | 			*chrace,
49   | #endif
50   | 			*chrole;
51   | };
52   | 
53   | 
54   | /*
55   |  *	Quest message defines.	Used in quest.c to trigger off "realistic"
56   |  *	dialogue to the player.
57   |  */
58   | #define QT_FIRSTTIME	 1
59   | #define QT_NEXTTIME	 2
60   | #define QT_OTHERTIME	 3
61   | 
62   | #define QT_GUARDTALK	 5	/* 5 random things for guards to say */
63   | 
64   | #define QT_FIRSTLEADER	10
65   | #define QT_NEXTLEADER	11
66   | #define QT_OTHERLEADER	12
67   | #define QT_LASTLEADER	13
68   | #define QT_BADLEVEL	14
69   | #define QT_BADALIGN	15
70   | #define QT_ASSIGNQUEST	16
71   | 
72   | #define QT_ENCOURAGE	20	/* 1-10 random encouragement messages */
73   | 
74   | #define QT_FIRSTLOCATE	30
75   | #define QT_NEXTLOCATE	31
76   | 
77   | #define QT_FIRSTGOAL	40
78   | #define QT_NEXTGOAL	41
79   | 
80   | #define QT_FIRSTNEMESIS 50
81   | #define QT_NEXTNEMESIS	51
82   | #define QT_OTHERNEMESIS 52
83   | #define QT_NEMWANTSIT	53	/* you somehow got the artifact */
84   | 
85   | #define QT_DISCOURAGE	60	/* 1-10 random maledictive messages */
86   | 
87   | #define QT_GOTIT	70
88   | 
89   | #define QT_KILLEDNEM	80
90   | #define QT_OFFEREDIT	81
91   | #define QT_OFFEREDIT2	82
92   | 
93   | #define QT_POSTHANKS	90
94   | #define QT_HASAMULET	91
95   | 
96   | /*
97   |  *	Message defines for common text used in maledictions.
98   |  */
99   | #define COMMON_ID	"-"	/* Common message id value */
100  | 
101  | #define QT_ANGELIC	10
102  | #define QTN_ANGELIC	10
103  | 
104  | #define QT_DEMONIC	30
105  | #define QTN_DEMONIC	20
106  | 
107  | #endif	/***** !MAKEDEFS *****/
108  | 
109  | #endif /* QTEXT_H */