1 /* NetHack 3.6 qtext.h $NHDT-Date: 1505170347 2017/09/11 22:52:27 $ $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.18 $ */ 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, size, summary_size; 16 }; 17 18 #ifdef MAKEDEFS_C /***** MAKEDEFS *****/ 19 20 #define N_MSG 100 /* arbitrary */ 21 22 struct msghdr { 23 int n_msg; 24 struct qtmsg qt_msg[N_MSG]; 25 }; 26 27 struct qthdr { 28 int n_hdr; 29 char id[N_HDR][LEN_HDR]; 30 long offset[N_HDR]; 31 }; 32 33 /* Error message macros */ 34 #define CREC_IN_MSG "Control record encountered during message - line %d\n" 35 #define DUP_MSG "Duplicate message number at line %d\n" 36 #define END_NOT_IN_MSG "End record encountered before message - line %d\n" 37 #define TEXT_NOT_IN_MSG "Text encountered outside message - line %d\n" 38 #define UNREC_CREC "Unrecognized Control record at line %d\n" 39 #define MAL_SUM "Malformed summary in End record - line %d\n" 40 #define DUMB_SUM "Summary for single line message is useless - line %d\n" 41 #define CTRL_TRUNC "Control record truncated at line %d\n" 42 #define TEXT_TRUNC "Text record truncated at line %d\n" 43 #define OUT_OF_HEADERS \ 44 "Too many message types (line %d)\nAdjust N_HDR in qtext.h and " \ 45 "recompile.\n" 46 #define OUT_OF_MESSAGES \ 47 "Too many messages in class (line %d)\nAdjust N_MSG in qtext.h and " \ 48 "recompile.\n" 49 50 #else /***** !MAKEDEFS *****/ 51 52 struct qtlists { 53 struct qtmsg *common, 54 #if 0 /* UNUSED but available */ 55 *chrace, 56 #endif 57 *chrole; 58 }; 59 60 /* 61 * Quest message defines. Used in quest.c to trigger off "realistic" 62 * dialogue to the player. 63 */ 64 #define QT_FIRSTTIME 1 65 #define QT_NEXTTIME 2 66 #define QT_OTHERTIME 3 67 68 #define QT_GUARDTALK 5 /* 5 random things guards say before quest */ 69 #define QT_GUARDTALK2 10 /* 5 random things guards say after quest */ 70 71 #define QT_FIRSTLEADER 15 72 #define QT_NEXTLEADER 16 73 #define QT_OTHERLEADER 17 74 #define QT_LASTLEADER 18 75 #define QT_BADLEVEL 19 76 #define QT_BADALIGN 20 77 #define QT_ASSIGNQUEST 21 78 79 #define QT_ENCOURAGE 25 /* 1-10 random encouragement messages */ 80 81 #define QT_FIRSTLOCATE 35 82 #define QT_NEXTLOCATE 36 83 84 #define QT_FIRSTGOAL 40 85 #define QT_NEXTGOAL 41 86 #define QT_ALTGOAL 42 /* alternate to QT_NEXTGOAL if artifact is absent */ 87 88 #define QT_FIRSTNEMESIS 50 89 #define QT_NEXTNEMESIS 51 90 #define QT_OTHERNEMESIS 52 91 #define QT_NEMWANTSIT 53 /* you somehow got the artifact */ 92 93 #define QT_DISCOURAGE 60 /* 1-10 random maledictive messages */ 94 95 #define QT_GOTIT 70 96 97 #define QT_KILLEDNEM 80 98 #define QT_OFFEREDIT 81 99 #define QT_OFFEREDIT2 82 100 101 #define QT_POSTHANKS 90 102 #define QT_HASAMULET 91 103 104 /* 105 * Message defines for common text used in maledictions. 106 */ 107 #define COMMON_ID "-" /* Common message id value */ 108 109 #define QT_ANGELIC 10 110 #define QTN_ANGELIC 10 111 112 #define QT_DEMONIC 30 113 #define QTN_DEMONIC 20 114 115 #define QT_BANISHED 60 116 #endif /***** !MAKEDEFS *****/ 117 118 #endif /* QTEXT_H */ 119