Source:NetHack 3.3.0/flag.h
Jump to navigation
Jump to search
Below is the full text to flag.h from the source code of NetHack 3.3.0. To link to a particular line, write [[NetHack 3.3.0/flag.h#line123]], for example.
Warning! This is the source code from an old release. For the latest release, see Source code
The NetHack General Public License applies to screenshots, source code and other content from NetHack.
This content was modified from the original NetHack source code distribution (by splitting up NetHack content between wiki pages, and possibly further editing). See the page history for a list of who changed it, and on what dates.
1. /* SCCS Id: @(#)flag.h 3.3 1999/11/26 */ 2. /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ 3. /* NetHack may be freely redistributed. See license for details. */ 4. 5. /* If you change the flag structure make sure you increment EDITLEVEL in */ 6. /* patchlevel.h if needed. Changing the instance_flags structure does */ 7. /* not require incrementing EDITLEVEL. */ 8. 9. #ifndef FLAG_H 10. #define FLAG_H 11. 12. /* 13. * Persistent flags that are saved and restored with the game. 14. * 15. */ 16. 17. struct flag { 18. #ifdef AMIFLUSH 19. boolean altmeta; /* use ALT keys as META */ 20. boolean amiflush; /* kill typeahead */ 21. #endif 22. #ifdef MFLOPPY 23. boolean asksavedisk; 24. #endif 25. boolean autoquiver; /* Automatically fill quiver */ 26. boolean beginner; 27. #ifdef MAIL 28. boolean biff; /* enable checking for mail */ 29. #endif 30. boolean botl; /* partially redo status line */ 31. boolean botlx; /* print an entirely new bottom line */ 32. boolean confirm; /* confirm before hitting tame monsters */ 33. boolean debug; /* in debugging mode */ 34. #define wizard flags.debug 35. boolean end_own; /* list all own scores */ 36. boolean explore; /* in exploration mode */ 37. #ifdef OPT_DISPMAP 38. boolean fast_map; /* use optimized, less flexible map display */ 39. #endif 40. #define discover flags.explore 41. boolean female; 42. boolean forcefight; 43. boolean friday13; /* it's Friday the 13th */ 44. boolean help; /* look in data file for info about stuff */ 45. boolean ignintr; /* ignore interrupts */ 46. #ifdef INSURANCE 47. boolean ins_chkpt; /* checkpoint as appropriate */ 48. #endif 49. boolean invlet_constant; /* let objects keep their inventory symbol */ 50. boolean legacy; /* print game entry "story" */ 51. boolean lit_corridor; /* show a dark corr as lit if it is in sight */ 52. boolean made_amulet; 53. boolean mon_moving; /* monsters' turn to move */ 54. boolean move; 55. boolean mv; 56. boolean nap; /* `timed_delay' option for display effects */ 57. boolean nopick; /* do not pickup objects (as when running) */ 58. boolean null; /* OK to send nulls to the terminal */ 59. #ifdef MAC 60. boolean page_wait; /* put up a --More-- after a page of messages */ 61. #endif 62. boolean perm_invent; /* keep full inventories up until dismissed */ 63. boolean pickup; /* whether you pickup or move and look */ 64. 65. boolean pushweapon; /* When wielding, push old weapon into second slot */ 66. boolean rest_on_space; /* space means rest */ 67. boolean safe_dog; /* give complete protection to the dog */ 68. #ifdef EXP_ON_BOTL 69. boolean showexp; /* show experience points */ 70. #endif 71. #ifdef SCORE_ON_BOTL 72. boolean showscore; /* show score */ 73. #endif 74. boolean silent; /* whether the bell rings or not */ 75. boolean sortpack; /* sorted inventory */ 76. boolean soundok; /* ok to tell about sounds heard */ 77. boolean standout; /* use standout for --More-- */ 78. boolean time; /* display elapsed 'time' */ 79. boolean tombstone; /* print tombstone */ 80. boolean toptenwin; /* ending list in window instead of stdout */ 81. boolean verbose; /* max battle info */ 82. boolean prayconfirm; /* confirm before praying */ 83. int end_top, end_around; /* describe desired score list */ 84. unsigned ident; /* social security number for each monster */ 85. unsigned moonphase; 86. unsigned long suppress_alert; 87. #define NEW_MOON 0 88. #define FULL_MOON 4 89. unsigned no_of_wizards; /* 0, 1 or 2 (wizard and his shadow) */ 90. unsigned run; /* 0: h (etc), 1: H (etc), 2: fh (etc) */ 91. /* 3: FH, 4: ff+, 5: ff-, 6: FF+, 7: FF- */ 92. int djinni_count, ghost_count; /* potion effect tuning */ 93. int pickup_burden; /* maximum burden before prompt */ 94. char inv_order[MAXOCLASSES]; 95. char pickup_types[MAXOCLASSES]; 96. char end_disclose[5]; /* disclose various info upon exit */ 97. char menu_style; /* User interface style setting */ 98. #ifdef AMII_GRAPHICS 99. int numcols; 100. unsigned short amii_dripens[ 20 ]; /* DrawInfo Pens currently there are 13 in v39 */ 101. AMII_COLOR_TYPE amii_curmap[ AMII_MAXCOLORS ]; /* colormap */ 102. #endif 103. 104. /* KMH, role patch -- Variables used during startup. 105. * 106. * If the user wishes to select a role, race, gender, and/or alignment 107. * during startup, the choices should be recorded here. This 108. * might be specified through command-line options, environmental 109. * variables, a popup dialog box, menus, etc. 110. * 111. * These values are each an index into an array. They are not 112. * characters or letters, because that limits us to 26 roles. 113. * They are not booleans, because someday someone may need a neuter 114. * gender. Negative values are used to indicate that the user 115. * hasn't yet specified that particular value. If you determine 116. * that the user wants a random choice, then you should set an 117. * appropriate random value; if you just left the negative value, 118. * the user would be asked again! 119. * 120. * These variables are stored here because the u structure is 121. * cleared during character initialization, and because the 122. * flags structure is restored for saved games. Thus, we can 123. * use the same parameters to build the role entry for both 124. * new and restored games. 125. * 126. * These variables should not be referred to after the character 127. * is initialized or restored (specifically, after role_init() 128. * is called). 129. */ 130. int initrole; /* starting role (index into roles[]) */ 131. int initrace; /* starting race (index into races[]) */ 132. int initgend; /* starting gender (index into genders[]) */ 133. int initalign; /* starting alignment (index into aligns[]) */ 134. int pantheon; /* deity selection for priest character */ 135. }; 136. 137. /* 138. * Flags that are set each time the game is started. 139. * These are not saved with the game. 140. * 141. */ 142. 143. struct instance_flags { 144. boolean cbreak; /* in cbreak mode, rogue format */ 145. boolean DECgraphics; /* use DEC VT-xxx extended character set */ 146. boolean echo; /* 1 to echo characters */ 147. #ifdef TTY_GRAPHICS 148. boolean extmenu; /* extended commands use menu interface */ 149. #endif 150. boolean IBMgraphics; /* use IBM extended character set */ 151. unsigned msg_history; /* hint: # of top lines to save */ 152. boolean num_pad; /* use numbers for movement commands */ 153. boolean news; /* print news */ 154. boolean window_inited; /* true if init_nhwindows() completed */ 155. 156. #ifdef WIZARD 157. boolean sanity_check; /* run sanity checks */ 158. #endif 159. #ifdef TEXTCOLOR 160. boolean hilite_pet; /* hilight pets on monochome displays */ 161. boolean use_color; /* use color graphics */ 162. #endif 163. #ifdef MAC_GRAPHICS_ENV 164. boolean large_font; /* draw in larger fonts (say, 12pt instead 165. of 9pt) */ 166. boolean MACgraphics; /* use Macintosh extended character set, as 167. as defined in the special font HackFont */ 168. unsigned use_stone; /* use the stone ppats */ 169. #endif 170. #ifdef MAC 171. boolean popup_dialog; /* put queries in pop up dialogs instead of 172. in the message window */ 173. #endif 174. #ifdef MICRO 175. boolean BIOS; /* use IBM or ST BIOS calls when appropriate */ 176. boolean rawio; /* whether can use rawio (IOCTL call) */ 177. #endif 178. #ifdef MSDOS 179. boolean hasvga; /* has a vga adapter */ 180. boolean usevga; /* use the vga adapter */ 181. boolean has8514; 182. boolean use8514; 183. boolean hasvesa; 184. boolean usevesa; 185. boolean grmode; /* currently in graphics mode */ 186. #endif 187. #if defined(MSDOS) || defined(WIN32) 188. boolean hassound; /* has a sound card */ 189. boolean usesound; /* use the sound card */ 190. boolean usepcspeaker; /* use the pc speaker */ 191. boolean preload_tiles; /* preload the tiles into RAM */ 192. boolean tile_view; 193. boolean over_view; 194. boolean traditional_view; 195. #endif 196. #ifdef LAN_FEATURES 197. boolean lan_mail; /* mail is initialized */ 198. boolean lan_mail_fetched; /* mail is awaiting display */ 199. #endif 200. }; 201. 202. extern NEARDATA struct flag flags; 203. extern NEARDATA struct instance_flags iflags; 204. 205. #endif /* FLAG_H */