4 /*** Option Definitions ***/
6 #define OPT_PAGE_INPUT 1
7 #define OPT_PAGE_MAPSCREEN 2
8 #define OPT_PAGE_TEXT 3
9 #define OPT_PAGE_GAMEPLAY 4
10 #define OPT_PAGE_DISTURBANCE 5
11 #define OPT_PAGE_BIRTH 6
12 #define OPT_PAGE_AUTODESTROY 7
13 #define OPT_PAGE_PLAYRECORD 10
15 #define OPT_PAGE_JAPANESE_ONLY 99
17 /*** Input Options ***/
19 extern bool rogue_like_commands; /* Rogue-like commands */
20 extern bool always_pickup; /* Pick things up by default */
21 extern bool carry_query_flag; /* Prompt before picking things up */
22 extern bool quick_messages; /* Activate quick messages */
23 extern bool auto_more; /* Automatically clear '-more-' prompts */
24 extern bool command_menu; /* Enable command selection menu */
25 extern bool other_query_flag; /* Prompt for floor item selection */
26 extern bool use_old_target; /* Use old target by default */
27 extern bool always_repeat; /* Repeat obvious commands */
28 extern bool confirm_destroy; /* Prompt for destruction of known worthless items */
29 extern bool confirm_wear; /* Confirm to wear/wield known cursed items */
30 extern bool confirm_quest; /* Prompt before exiting a quest level */
31 extern bool target_pet; /* Allow targetting pets */
32 extern bool easy_open; /* Automatically open doors */
33 extern bool easy_disarm; /* Automatically disarm traps */
34 extern bool easy_floor; /* Display floor stacks in a list */
35 extern bool use_command; /* Allow unified use command */
36 extern bool over_exert; /* Allow casting spells when short of mana */
37 extern bool numpad_as_cursorkey; /* Use numpad keys as cursor key in editor mode */
40 /*** Map Screen Options ***/
42 extern bool center_player; /* Center map while walking (*slow*) */
43 extern bool center_running; /* Centering even while running */
44 extern bool view_yellow_lite; /* Use special colors for torch-lit grids */
45 extern bool view_bright_lite; /* Use special colors for 'viewable' grids */
46 extern bool view_granite_lite; /* Use special colors for wall grids (slow) */
47 extern bool view_special_lite; /* Use special colors for floor grids (slow) */
48 extern bool view_perma_grids; /* Map remembers all perma-lit grids */
49 extern bool view_torch_grids; /* Map remembers all torch-lit grids */
50 extern bool view_unsafe_grids; /* Map marked by detect traps */
51 extern bool view_reduce_view; /* Reduce view-radius in town */
52 extern bool fresh_before; /* Flush output while continuous command */
53 extern bool fresh_after; /* Flush output after monster's move */
54 extern bool fresh_message; /* Flush output after every message */
55 extern bool hilite_player; /* Hilite the player with the cursor */
56 extern bool display_path; /* Display actual path before shooting */
59 /*** Text Display Options ***/
61 extern bool plain_descriptions; /* Plain object descriptions */
62 extern bool plain_pickup; /* Plain pickup messages(japanese only) */
63 extern bool always_show_list; /* Always show list when choosing items */
64 extern bool depth_in_feet; /* Show dungeon level in feet */
65 extern bool show_labels; /* Show labels in object listings */
66 extern bool show_weights; /* Show weights in object listings */
67 extern bool show_item_graph; /* Show items graphics */
68 extern bool equippy_chars; /* Display 'equippy' chars */
69 extern bool display_mutations; /* Display mutations in 'C'haracter Display */
70 extern bool compress_savefile; /* Compress messages in savefiles */
71 extern bool abbrev_extra; /* Describe obj's extra resistances by abbreviation */
72 extern bool abbrev_all; /* Describe obj's all resistances by abbreviation */
73 extern bool exp_need; /* Show the experience needed for next level */
74 extern bool ignore_unview; /* Ignore whenever any monster does */
75 extern bool show_ammo_detail; /* Show Description of ammo damage */
76 extern bool show_ammo_no_crit; /* Show No-crit damage of ammo */
77 extern bool show_ammo_crit_ratio; /* Show critical ratio of ammo */
78 extern bool show_actual_value; /* Show actual value of skill */
80 /*** Game-Play Options ***/
82 extern bool stack_force_notes; /* Merge inscriptions when stacking */
83 extern bool stack_force_costs; /* Merge discounts when stacking */
84 extern bool expand_list; /* Expand the power of the list commands */
85 extern bool small_levels; /* Allow unusually small dungeon levels */
86 extern bool always_small_levels; /* Always create unusually small dungeon levels */
87 extern bool empty_levels; /* Allow empty 'arena' levels */
88 extern bool bound_walls_perm; /* Boundary walls become 'permanent wall' */
89 extern bool last_words; /* Leave last words when your character dies */
92 extern bool send_score; /* Send score dump to the world score server */
95 extern bool allow_debug_opts; /* Allow use of debug/cheat options */
98 /*** Disturbance Options ***/
100 extern bool find_ignore_stairs; /* Run past stairs */
101 extern bool find_ignore_doors; /* Run through open doors */
102 extern bool find_cut; /* Run past known corners */
103 extern bool check_abort; /* Check for user abort while continuous command */
104 extern bool flush_failure; /* Flush input on various failures */
105 extern bool flush_disturb; /* Flush input whenever disturbed */
106 extern bool disturb_move; /* Disturb whenever any monster moves */
107 extern bool disturb_high; /* Disturb whenever high-level monster moves */
108 extern bool disturb_near; /* Disturb whenever viewable monster moves */
109 extern bool disturb_pets; /* Disturb when visible pets move */
110 extern bool disturb_panel; /* Disturb whenever map panel changes */
111 extern bool disturb_state; /* Disturb whenever player state changes */
112 extern bool disturb_minor; /* Disturb whenever boring things happen */
113 extern bool ring_bell; /* Audible bell (on errors, etc) */
114 extern bool disturb_trap_detect; /* Disturb when leaving trap detected area */
115 extern bool alert_trap_detect; /* Alert when leaving trap detected area */
118 /*** Birth Options ***/
120 extern bool manual_haggle; /* Manually haggle in stores */
121 extern bool easy_band; /* Easy Mode (*) */
122 extern bool smart_learn; /* Monsters learn from their mistakes (*) */
123 extern bool smart_cheat; /* Monsters exploit players weaknesses (*) */
124 extern bool vanilla_town; /* Use 'vanilla' town without quests and wilderness */
125 extern bool lite_town; /* Use 'lite' town without a wilderness */
126 extern bool ironman_shops; /* Stores are permanently closed (*) */
127 extern bool ironman_small_levels; /* Always create unusually small dungeon levels (*) */
128 extern bool ironman_downward; /* Disable recall and use of up stairs (*) */
129 extern bool ironman_empty_levels; /* Always create empty 'arena' levels (*) */
130 extern bool ironman_rooms; /* Always generate very unusual rooms (*) */
131 extern bool ironman_nightmare; /* Nightmare mode(it isn't even remotely fair!)(*) */
132 extern bool left_hander; /* Left-Hander */
133 extern bool preserve_mode; /* Preserve artifacts (*) */
134 extern bool autoroller; /* Allow use of autoroller for stats (*) */
135 extern bool autochara; /* Autoroll for weight, height and social status */
136 extern bool powerup_home; /* Increase capacity of your home (*) */
139 /*** Easy Object Auto-Destroyer ***/
141 extern bool destroy_items; /* Use easy auto-destroyer */
142 extern bool destroy_feeling; /* Apply auto-destroy as sense feeling */
143 extern bool destroy_identify; /* Apply auto-destroy as identify an item */
144 extern bool leave_worth; /* Auto-destroyer leaves known worthy items */
145 extern bool leave_equip; /* Auto-destroyer leaves weapons and armour */
146 extern bool leave_chest; /* Auto-destroyer leaves closed chests */
147 extern bool leave_wanted; /* Auto-destroyer leaves wanted corpses */
148 extern bool leave_corpse; /* Auto-destroyer leaves corpses and skeletons */
149 extern bool leave_junk; /* Auto-destroyer leaves junk */
150 extern bool leave_special; /* Auto-destroyer leaves items your race/class needs */
153 /*** Play-record Options ***/
155 extern bool record_fix_art; /* Record fixed artifacts */
156 extern bool record_rand_art; /* Record random artifacts */
157 extern bool record_destroy_uniq; /* Record when destroy unique monster */
158 extern bool record_fix_quest; /* Record fixed quests */
159 extern bool record_rand_quest; /* Record random quests */
160 extern bool record_maxdepth; /* Record movements to deepest level */
161 extern bool record_stair; /* Record recall and stair movements */
162 extern bool record_buy; /* Record purchased items */
163 extern bool record_sell; /* Record sold items */
164 extern bool record_danger; /* Record hitpoint warning */
165 extern bool record_arena; /* Record arena victories */
166 extern bool record_ident; /* Record first identified items */
167 extern bool record_named_pet; /* Record informations of named pets */
169 extern char record_o_name[MAX_NLEN];
170 extern GAME_TURN record_turn;
172 extern bool cheat_peek;
173 extern bool cheat_hear;
174 extern bool cheat_room;
175 extern bool cheat_xtra;
176 extern bool cheat_know;
177 extern bool cheat_live;
178 extern bool cheat_save;
179 extern bool cheat_diary_output;
180 extern bool cheat_turn;
181 extern bool cheat_sight;
183 extern byte hitpoint_warn;
184 extern byte mana_warn;
185 extern byte delay_factor;
186 extern s16b autosave_freq;
187 extern bool autosave_t;
188 extern bool autosave_l;
190 extern bool use_sound;
191 extern bool use_music;
192 extern bool use_graphics;
193 extern bool use_bigtile;
195 extern bool arg_fiddle;
196 extern bool arg_wizard;
197 extern bool arg_music;
198 extern bool arg_sound;
199 extern byte arg_graphics;
200 extern bool arg_monochrome;
201 extern bool arg_force_original;
202 extern bool arg_force_roguelike;
203 extern bool arg_bigtile;
205 extern BIT_FLAGS option_flag[8];
206 extern BIT_FLAGS option_mask[8];
207 extern BIT_FLAGS window_flag[8];
208 extern BIT_FLAGS window_mask[8];
210 * Available "options"
212 * - Address of actual option variable (or NULL)
214 * - Normal Value (TRUE or FALSE)
216 * - Option Page Number (or zero)
218 * - Savefile Set (or zero)
219 * - Savefile Bit in that set
221 * - Textual name (or NULL)
222 * - Textual description
225 typedef struct option_type option_type;
238 extern const option_type option_info[];
239 extern const option_type cheat_info[CHEAT_MAX];
240 extern const option_type autosave_info[2];
242 extern void extract_option_vars(void);