OSDN Git Service

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