Source:NetHack 3.3.0/flag.h

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

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 */