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