2 #include "gameoption.h"
6 * Software options (set via the '=' command).
9 /*** Input Options ***/
11 bool rogue_like_commands; /* Rogue-like commands */
12 bool always_pickup; /* Pick things up by default */
13 bool carry_query_flag; /* Prompt before picking things up */
14 bool quick_messages; /* Activate quick messages */
15 bool auto_more; /* Automatically clear '-more-' prompts */
16 bool command_menu; /* Enable command selection menu */
17 bool other_query_flag; /* Prompt for floor item selection */
18 bool use_old_target; /* Use old target by default */
19 bool always_repeat; /* Repeat obvious commands */
20 bool confirm_destroy; /* Prompt for destruction of known worthless items */
21 bool confirm_wear; /* Confirm to wear/wield known cursed items */
22 bool confirm_quest; /* Prompt before exiting a quest level */
23 bool target_pet; /* Allow targetting pets */
24 bool easy_open; /* Automatically open doors */
25 bool easy_disarm; /* Automatically disarm traps */
26 bool easy_floor; /* Display floor stacks in a list */
27 bool use_command; /* Allow unified use command */
28 bool over_exert; /* Allow casting spells when short of mana */
29 bool numpad_as_cursorkey; /* Use numpad keys as cursor key in editor mode */
31 /*** Map Screen Options ***/
33 bool center_player; /* Center map while walking (*slow*) */
34 bool center_running; /* Centering even while running */
35 bool view_yellow_lite; /* Use special colors for torch-lit grids */
36 bool view_bright_lite; /* Use special colors for 'viewable' grids */
37 bool view_granite_lite; /* Use special colors for wall grids (slow) */
38 bool view_special_lite; /* Use special colors for floor grids (slow) */
39 bool view_perma_grids; /* Map remembers all perma-lit grids */
40 bool view_torch_grids; /* Map remembers all torch-lit grids */
41 bool view_unsafe_grids; /* Map marked by detect traps */
42 bool view_reduce_view; /* Reduce view-radius in town */
43 bool fresh_before; /* Flush output while continuous command */
44 bool fresh_after; /* Flush output after monster's move */
45 bool fresh_message; /* Flush output after every message */
46 bool hilite_player; /* Hilite the player with the cursor */
47 bool display_path; /* Display actual path before shooting */
50 /*** Text Display Options ***/
52 bool plain_descriptions; /* Plain object descriptions */
53 bool plain_pickup; /* Plain pickup messages(japanese only) */
54 bool always_show_list; /* Always show list when choosing items */
55 bool depth_in_feet; /* Show dungeon level in feet */
56 bool show_labels; /* Show labels in object listings */
57 bool show_weights; /* Show weights in object listings */
58 bool show_item_graph; /* Show items graphics */
59 bool equippy_chars; /* Display 'equippy' chars */
60 bool display_mutations; /* Display mutations in 'C'haracter Display */
61 bool compress_savefile; /* Compress messages in savefiles */
62 bool abbrev_extra; /* Describe obj's extra resistances by abbreviation */
63 bool abbrev_all; /* Describe obj's all resistances by abbreviation */
64 bool exp_need; /* Show the experience needed for next level */
65 bool ignore_unview; /* Ignore whenever any monster does */
68 /*** Game-Play Options ***/
70 bool stack_force_notes; /* Merge inscriptions when stacking */
71 bool stack_force_costs; /* Merge discounts when stacking */
72 bool expand_list; /* Expand the power of the list commands */
73 bool small_levels; /* Allow unusually small dungeon levels */
74 bool always_small_levels; /* Always create unusually small dungeon levels */
75 bool empty_levels; /* Allow empty 'arena' levels */
76 bool bound_walls_perm; /* Boundary walls become 'permanent wall' */
77 bool last_words; /* Leave last words when your character dies */
80 bool send_score; /* Send score dump to the world score server */
83 bool allow_debug_opts; /* Allow use of debug/cheat options */
86 /*** Disturbance Options ***/
88 bool find_ignore_stairs; /* Run past stairs */
89 bool find_ignore_doors; /* Run through open doors */
90 bool find_cut; /* Run past known corners */
91 bool check_abort; /* Check for user abort while continuous command */
92 bool flush_failure; /* Flush input on various failures */
93 bool flush_disturb; /* Flush input whenever disturbed */
94 bool disturb_move; /* Disturb whenever any monster moves */
95 bool disturb_high; /* Disturb whenever high-level monster moves */
96 bool disturb_near; /* Disturb whenever viewable monster moves */
97 bool disturb_pets; /* Disturb when visible pets move */
98 bool disturb_panel; /* Disturb whenever map panel changes */
99 bool disturb_state; /* Disturb whenever player state changes */
100 bool disturb_minor; /* Disturb whenever boring things happen */
101 bool ring_bell; /* Audible bell (on errors, etc) */
102 bool disturb_trap_detect; /* Disturb when leaving trap detected area */
103 bool alert_trap_detect; /* Alert when leaving trap detected area */
106 /*** Birth Options ***/
108 bool manual_haggle; /* Manually haggle in stores */
109 bool easy_band; /* Easy Mode (*) */
110 bool smart_learn; /* Monsters learn from their mistakes (*) */
111 bool smart_cheat; /* Monsters exploit players weaknesses (*) */
112 bool vanilla_town; /* Use 'vanilla' town without quests and wilderness */
113 bool lite_town; /* Use 'lite' town without a wilderness */
114 bool ironman_shops; /* Stores are permanently closed (*) */
115 bool ironman_small_levels; /* Always create unusually small dungeon levels (*) */
116 bool ironman_downward; /* Disable recall and use of up stairs (*) */
117 bool ironman_empty_levels; /* Always create empty 'arena' levels (*) */
118 bool ironman_rooms; /* Always generate very unusual rooms (*) */
119 bool ironman_nightmare; /* Nightmare mode(it isn't even remotely fair!)(*) */
120 bool left_hander; /* Left-Hander */
121 bool preserve_mode; /* Preserve artifacts (*) */
122 bool autoroller; /* Allow use of autoroller for stats (*) */
123 bool autochara; /* Autoroll for weight, height and social status */
124 bool powerup_home; /* Increase capacity of your home (*) */
125 bool show_ammo_detail; /* Show Description of ammo damage */
126 bool show_ammo_no_crit; /* Show No-crit damage of ammo */
127 bool show_ammo_crit_ratio; /* Show critical ratio of ammo */
128 bool show_actual_value; /* Show actual value of skill */
133 /*** Easy Object Auto-Destroyer ***/
135 bool destroy_items; /* Use easy auto-destroyer */
136 bool destroy_feeling; /* Apply auto-destroy as sense feeling */
137 bool destroy_identify; /* Apply auto-destroy as identify an item */
138 bool leave_worth; /* Auto-destroyer leaves known worthy items */
139 bool leave_equip; /* Auto-destroyer leaves weapons and armour */
140 bool leave_chest; /* Auto-destroyer leaves closed chests */
141 bool leave_wanted; /* Auto-destroyer leaves wanted corpses */
142 bool leave_corpse; /* Auto-destroyer leaves corpses and skeletons */
143 bool leave_junk; /* Auto-destroyer leaves junk */
144 bool leave_special; /* Auto-destroyer leaves items your race/class needs */
147 /*** Play-record Options ***/
149 bool record_fix_art; /* Record fixed artifacts */
150 bool record_rand_art; /* Record random artifacts */
151 bool record_destroy_uniq; /* Record when destroy unique monster */
152 bool record_fix_quest; /* Record fixed quests */
153 bool record_rand_quest; /* Record random quests */
154 bool record_maxdepth; /* Record movements to deepest level */
155 bool record_stair; /* Record recall and stair movements */
156 bool record_buy; /* Record purchased items */
157 bool record_sell; /* Record sold items */
158 bool record_danger; /* Record hitpoint warning */
159 bool record_arena; /* Record arena victories */
160 bool record_ident; /* Record first identified items */
161 bool record_named_pet; /* Record informations of named pets */
162 char record_o_name[MAX_NLEN];
163 GAME_TURN record_turn;
166 /* Cheating options */
168 bool cheat_peek; /* Peek into object creation */
169 bool cheat_hear; /* Peek into monster creation */
170 bool cheat_room; /* Peek into dungeon creation */
171 bool cheat_xtra; /* Peek into something else */
172 bool cheat_know; /* Know complete monster info */
173 bool cheat_live; /* Allow player to avoid death */
174 bool cheat_save; /* Ask for saving death */
175 bool cheat_diary_output; /* Detailed info to diary */
176 bool cheat_turn; /* Peek current_world_ptr->game_turn */
180 /* Special options */
182 byte hitpoint_warn; /* Hitpoint warning (0 to 9) */
183 byte mana_warn; /* Mana color (0 to 9) */
185 byte delay_factor; /* Delay factor (0 to 9) */
187 bool autosave_l; /* Autosave before entering new levels */
188 bool autosave_t; /* Timed autosave */
189 s16b autosave_freq; /* Autosave frequency */
191 bool use_sound; /* The "sound" mode is enabled */
192 bool use_music; /* The "music" mode is enabled */
193 bool use_graphics; /* The "graphics" mode is enabled */
194 bool use_bigtile = FALSE;
199 bool arg_fiddle; /* Command arg -- Request fiddle mode */
200 bool arg_wizard; /* Command arg -- Request wizard mode */
201 bool arg_sound; /* Command arg -- Request special sounds */
202 bool arg_music; /* Command arg -- Request special musics */
203 byte arg_graphics; /* Command arg -- Request graphics mode */
204 bool arg_monochrome; /* Command arg -- Request monochrome mode */
205 bool arg_force_original; /* Command arg -- Request original keyset */
206 bool arg_force_roguelike; /* Command arg -- Request roguelike keyset */
207 bool arg_bigtile = FALSE; /* Command arg -- Request big tile mode */
209 BIT_FLAGS option_flag[8]; //!< The array of normal options
210 BIT_FLAGS option_mask[8]; //!< The array of normal options
211 BIT_FLAGS window_flag[8]; //!< The array of window options
212 BIT_FLAGS window_mask[8]; //!< The array of window options
218 const option_type option_info[] =
220 /*** Input Options ***/
222 { &rogue_like_commands, FALSE, OPT_PAGE_INPUT, 0, 0,
223 "rogue_like_commands", _("ローグ風キー配置を使用する", "Rogue-like commands") },
225 { &always_pickup, FALSE, OPT_PAGE_INPUT, 0, 5,
226 "always_pickup", _("常にアイテムを拾う" , "Pick things up by default") },
228 { &carry_query_flag, FALSE, OPT_PAGE_INPUT, 0, 3,
229 "carry_query_flag", _("アイテムを拾う前に確認する", "Prompt before picking things up") },
231 { &quick_messages, TRUE, OPT_PAGE_INPUT, 0, 1,
232 "quick_messages", _("クイック・メッセージを使用する", "Activate quick messages") },
234 { &auto_more, FALSE, OPT_PAGE_INPUT, 2, 6,
235 "auto_more", _("キー待ちしないで連続でメッセージを表示する", "Automatically clear '-more-' prompts") },
237 { &command_menu, TRUE, OPT_PAGE_INPUT, 2, 7,
238 "command_menu", _("メニューによりコマンド選択を有効にする", "Enable command selection menu") },
240 { &other_query_flag, FALSE, OPT_PAGE_INPUT, 0, 2,
241 "other_query_flag", _("床上のアイテムを使用するときに確認する", "Prompt for floor item selection") },
243 { &use_old_target, FALSE, OPT_PAGE_INPUT, 0, 4,
244 "use_old_target", _("常に以前のターゲットを指定する", "Use old target by default") },
246 { &always_repeat, TRUE, OPT_PAGE_INPUT, 0, 6,
247 "always_repeat", _("コマンド自動繰り返し", "Repeat obvious commands") },
249 { &confirm_destroy, FALSE, OPT_PAGE_INPUT, 5, 3,
250 "confirm_destroy", _("「無価値」なアイテムを破壊する時確認する", "Prompt for destruction of known worthless items") },
252 { &confirm_wear, TRUE, OPT_PAGE_INPUT, 5, 4,
253 "confirm_wear", _("呪われた物を装備する時確認する", "Confirm to wear/wield known cursed items") },
255 { &confirm_quest, TRUE, OPT_PAGE_INPUT, 1, 9,
256 "confirm_quest", _("クエストを諦めて階段で逃げる前に確認する", "Prompt before exiting a quest level") },
258 { &target_pet, FALSE, OPT_PAGE_INPUT, 2, 5,
259 "target_pet", _("ペットをターゲットにする", "Allow targetting pets") },
261 { &easy_open, TRUE, OPT_PAGE_INPUT, 5, 7,
262 "easy_open", _("自動的にドアを開ける", "Automatically open doors") },
264 { &easy_disarm, TRUE, OPT_PAGE_INPUT, 5, 8,
265 "easy_disarm", _("自動的に罠を解除する", "Automatically disarm traps") },
267 { &easy_floor, FALSE, OPT_PAGE_INPUT, 5, 9,
268 "easy_floor", _("床上で重なったアイテムをリストする", "Display floor stacks in a list") },
270 { &use_command, FALSE, OPT_PAGE_INPUT, 5, 10,
271 "use_command", _("「使う(a)」コマンドでアイテムを何でも使える", "Allow unified use command") },
273 { &over_exert, FALSE, OPT_PAGE_INPUT, 0, 29,
274 "over_exert", _("MPが足りなくても魔法に挑戦する", "Allow casting spells when short of mana") },
276 { &numpad_as_cursorkey, TRUE, OPT_PAGE_INPUT, 2, 31,
277 "numpad_as_cursorkey", _("エディタ内でテンキーをカーソルキーとして使う", "Use numpad keys as cursor keys in editor mode") },
279 /*** Map Screen Options ***/
281 { ¢er_player, FALSE, OPT_PAGE_MAPSCREEN, 5, 11,
282 "center_player", _("常にプレイヤーを中心に置く(*遅い*)", "Center map while walking (*slow*)") },
284 { ¢er_running, TRUE, OPT_PAGE_MAPSCREEN, 5, 12,
285 "center_running", _("走っている時でも中心に置く", "Centering even while running") },
287 { &view_yellow_lite, TRUE, OPT_PAGE_MAPSCREEN, 1, 28,
288 "view_yellow_lite", _("明かりの範囲を特別な色で表示する", "Use special colors for torch-lit grids") },
290 { &view_bright_lite, TRUE, OPT_PAGE_MAPSCREEN, 1, 29,
291 "view_bright_lite", _("視界の範囲を特別な色で表示する", "Use special colors for 'viewable' grids") },
293 { &view_granite_lite, TRUE, OPT_PAGE_MAPSCREEN, 1, 30,
294 "view_granite_lite", _("壁を特別な色で表示する(重い)", "Use special colors for wall grids (slow)") },
296 { &view_special_lite, TRUE, OPT_PAGE_MAPSCREEN, 1, 31,
297 "view_special_lite", _("床を特別な色で表示する(重い)", "Use special colors for floor grids (slow)") },
299 { &view_perma_grids, TRUE, OPT_PAGE_MAPSCREEN, 1, 6,
300 "view_perma_grids", _("明るい場所はそのままにする", "Map remembers all perma-lit grids") },
302 { &view_torch_grids, FALSE, OPT_PAGE_MAPSCREEN, 1, 7,
303 "view_torch_grids", _("明かりで照らした場所はそのままにする", "Map remembers all torch-lit grids") },
305 { &view_unsafe_grids, FALSE, OPT_PAGE_MAPSCREEN, 1, 8,
306 "view_unsafe_grids", _("トラップ感知済みでない場所を表示する", "Map marked by detect traps") },
308 { &view_reduce_view, FALSE, OPT_PAGE_MAPSCREEN, 1, 17,
309 "view_reduce_view", _("街では視野を狭くする", "Reduce view-radius in town") },
311 { &fresh_before, TRUE, OPT_PAGE_MAPSCREEN, 1, 23,
312 "fresh_before", _("連続コマンド中に画面を再描画し続ける", "Flush output while continuous command") },
314 { &fresh_after, FALSE, OPT_PAGE_MAPSCREEN, 1, 24,
315 "fresh_after", _("コマンド後に画面を常に再描画し続ける", "Flush output after monster's move") },
317 { &fresh_message, FALSE, OPT_PAGE_MAPSCREEN, 1, 25,
318 "fresh_message", _("メッセージの後に画面を再描画する", "Flush output after every message") },
320 { &hilite_player, FALSE, OPT_PAGE_MAPSCREEN, 1, 27,
321 "hilite_player", _("プレイヤーにカーソルを合わせる", "Hilite the player with the cursor") },
323 { &display_path, FALSE, OPT_PAGE_MAPSCREEN, 2, 8,
324 "display_path", _("魔法や矢の軌跡を表示する", "Display actual path before shooting") },
326 /*** Text Display Options ***/
328 { &plain_descriptions, TRUE, OPT_PAGE_TEXT, 5, 1,
329 "plain_descriptions", _("アイテムの記述を簡略にする", "Plain object descriptions") },
331 { &plain_pickup, FALSE, OPT_PAGE_TEXT, 6, 6,
332 "plain_pickup", _("「拾った」メッセージを簡略化する", "Plain pickup messages(japanese only)") },
334 { &always_show_list, TRUE, OPT_PAGE_TEXT, 4, 0,
335 "always_show_list", _("選択時には常に一覧を表示する", "Always show list when choosing items") },
337 { &depth_in_feet, FALSE, OPT_PAGE_TEXT, 0, 7,
338 "depth_in_feet", _("ダンジョンの深さをフィートで表示する", "Show dungeon level in feet") },
340 { &show_labels, TRUE, OPT_PAGE_TEXT, 0, 10,
341 "show_labels", _("装備一覧で装備場所を表示する", "Show labels in object listings") },
343 { &show_weights, TRUE, OPT_PAGE_TEXT, 0, 11,
344 "show_weights", _("アイテム一覧で重量を表示する", "Show weights in object listings") },
346 { &show_item_graph, TRUE, OPT_PAGE_TEXT, 2, 0,
347 "show_item_graph", _("アイテムのシンボルを表示する", "Show items graphics") },
349 { &equippy_chars, TRUE, OPT_PAGE_TEXT, 1, 12,
350 "equippy_chars", _("ステータスに文字で装備を表示する", "Display 'equippy' chars") },
352 { &display_mutations, FALSE, OPT_PAGE_TEXT, 5, 0,
353 "display_mutations", _("'C'コマンドで突然変異を表示する", "Display mutations in 'C'haracter Display") },
355 { &compress_savefile, FALSE, OPT_PAGE_TEXT, 1, 26,
356 "compress_savefile", _("セーブ・ファイル中のメッセージを圧縮する", "Compress messages in savefiles") },
358 { &abbrev_extra, FALSE, OPT_PAGE_TEXT, 2, 10,
359 "abbrev_extra", _("アイテムに追加耐性/能力の略称を刻む", "Describe obj's extra resistances by abbreviation") },
361 { &abbrev_all, FALSE, OPT_PAGE_TEXT, 2, 11,
362 "abbrev_all", _("アイテムに全ての耐性/能力の略称を刻む", "Describe obj's all resistances by abbreviation") },
364 { &exp_need, FALSE, OPT_PAGE_TEXT, 2, 12,
365 "exp_need", _("次のレベルに必要な経験値を表示する", "Show the experience needed for next level") },
367 { &ignore_unview, FALSE, OPT_PAGE_TEXT, 2, 13,
368 "ignore_unview", _("視界外のモンスターの行動を表示しない", "Ignore whenever any monster does") },
370 { &show_ammo_detail, TRUE, OPT_PAGE_TEXT, 2, 14,
371 "show_ammo_detail", _("矢弾のダメージの説明を表示する", "Show description of ammo damage") },
373 { &show_ammo_no_crit, FALSE, OPT_PAGE_TEXT, 2, 15,
374 "show_ammo_no_crit", _("会心を考慮しない場合の矢弾のダメージを表示する", "Show ammo damage with no critical") },
376 { &show_ammo_crit_ratio, FALSE, OPT_PAGE_TEXT, 2, 16,
377 "show_ammo_crit_ratio", _("矢弾の会心発生率を表示する", "Show critical ratio of ammo") },
379 { &show_actual_value, FALSE, OPT_PAGE_TEXT, 2, 17,
380 "show_actual_vaule", _("各技能値に実値を表示する", "Show actual value of skill") },
385 { &stack_force_notes, TRUE, OPT_PAGE_GAMEPLAY, 0, 8,
386 "stack_force_notes", _("異なる銘のアイテムをまとめる", "Merge inscriptions when stacking") },
388 { &stack_force_costs, FALSE, OPT_PAGE_GAMEPLAY, 0, 9,
389 "stack_force_costs", _("異なる割引表示のアイテムをまとめる", "Merge discounts when stacking") },
391 { &expand_list, TRUE, OPT_PAGE_GAMEPLAY, 1, 5,
392 "expand_list", _("「一覧」コマンドを拡張する", "Expand the power of the list commands") },
394 { &small_levels, TRUE, OPT_PAGE_GAMEPLAY, 0, 30,
395 "small_levels", _("非常に小さいフロアの生成を可能にする", "Allow unusually small dungeon levels") },
397 { &always_small_levels, FALSE, OPT_PAGE_GAMEPLAY, 2, 3,
398 "always_small_levels", _("常に非常に小さいフロアを生成する", "Always create unusually small dungeon levels") },
400 { &empty_levels, TRUE, OPT_PAGE_GAMEPLAY, 0, 31,
401 "empty_levels", _("空っぽの「アリーナ」レベルの生成を可能にする", "Allow empty 'arena' levels") },
403 { &bound_walls_perm, FALSE, OPT_PAGE_GAMEPLAY, 2, 1,
404 "bound_walls_perm", _("ダンジョンの外壁を永久岩にする", "Boundary walls become 'permanent wall'") },
406 { &last_words, TRUE, OPT_PAGE_GAMEPLAY, 0, 28,
407 "last_words", _("キャラクターが死んだ時遺言をのこす", "Leave last words when your character dies") },
410 { &send_score, TRUE, OPT_PAGE_GAMEPLAY, 4, 6,
411 "send_score", _("スコアサーバにスコアを送る", "Send score dump to the world score server") },
414 { &allow_debug_opts, FALSE, OPT_PAGE_GAMEPLAY, 6, 11,
415 "allow_debug_opts", _("デバッグ/詐欺オプションを許可する", "Allow use of debug/cheat options") },
417 /*** Disturbance ***/
419 { &find_ignore_stairs, FALSE, OPT_PAGE_DISTURBANCE, 0, 16,
420 "find_ignore_stairs", _("階段は通過する", "Run past stairs") },
422 { &find_ignore_doors, TRUE, OPT_PAGE_DISTURBANCE, 0, 17,
423 "find_ignore_doors", _("ドアは通過する", "Run through open doors") },
425 { &find_cut, FALSE, OPT_PAGE_DISTURBANCE, 0, 18,
426 "find_cut", _("曲り角を斜めに最短距離で通過する", "Run past known corners") },
428 { &check_abort, TRUE, OPT_PAGE_DISTURBANCE, 1, 18,
429 "check_abort", _("連続コマンドはキー入力で中断する", "Check for user abort while continuous command") },
431 { &flush_failure, TRUE, OPT_PAGE_DISTURBANCE, 1, 20,
432 "flush_failure", _("様々なミス発生時に入力をクリアする", "Flush input on various failures") },
434 { &flush_disturb, FALSE, OPT_PAGE_DISTURBANCE, 1, 21,
435 "flush_disturb", _("障害発生時に入力をクリアする", "Flush input whenever disturbed") },
437 { &disturb_move, FALSE, OPT_PAGE_DISTURBANCE, 0, 20,
438 "disturb_move", _("どこのモンスターが動いても行動を中止する", "Disturb whenever any monster moves") },
440 { &disturb_high, FALSE, OPT_PAGE_DISTURBANCE, 1, 3,
441 "disturb_high", _("レベルの高いモンスターが動いたら行動を中止する", "Disturb whenever high-level monster moves") },
443 { &disturb_near, TRUE, OPT_PAGE_DISTURBANCE, 0, 21,
444 "disturb_near", _("視界内のモンスターが動いたら行動を中止する", "Disturb whenever viewable monster moves") },
446 { &disturb_pets, FALSE, OPT_PAGE_DISTURBANCE, 5, 6,
447 "disturb_pets", _("視界内のペットが動いたら行動を中止する", "Disturb when visible pets move") },
449 { &disturb_panel, TRUE, OPT_PAGE_DISTURBANCE, 0, 22,
450 "disturb_panel", _("画面スクロール時に行動を中止する", "Disturb whenever map panel changes") },
452 { &disturb_state, TRUE, OPT_PAGE_DISTURBANCE, 0, 23,
453 "disturb_state", _("自分のステータス変化時に行動を中止する", "Disturb whenever player state changes") },
455 { &disturb_minor, TRUE, OPT_PAGE_DISTURBANCE, 0, 24,
456 "disturb_minor", _("些細なことが起きても行動を中止する", "Disturb whenever boring things happen") },
458 { &ring_bell, FALSE, OPT_PAGE_DISTURBANCE, 0, 14,
459 "ring_bell", _("エラー時にビープ音を鳴らす", "Audible bell (on errors, etc)") },
461 { &disturb_trap_detect, TRUE, OPT_PAGE_DISTURBANCE, 0, 27,
462 "disturb_trap_detect", _("トラップ感知範囲外に出る直前に行動を中止する", "Disturb when leaving trap detected area") },
464 { &alert_trap_detect, FALSE, OPT_PAGE_DISTURBANCE, 0, 25,
465 "alert_trap_detect", _("トラップ感知範囲外に出る直前に警告する", "Alert when leaving trap detected area") },
467 /*** Birth Options ***/
468 { &manual_haggle, FALSE, OPT_PAGE_BIRTH, 1, 0,
469 "manual_haggle", _("店で値切り交渉をする", "Manually haggle in stores") },
471 { &easy_band, FALSE, OPT_PAGE_BIRTH, 6, 31,
472 "easy_band", _("初心者用簡単モード(*)", "Easy Mode (*)") },
474 { &smart_learn, TRUE, OPT_PAGE_BIRTH, 1, 14,
475 "smart_learn", _("モンスターは失敗を学習する(*)", "Monsters learn from their mistakes (*)") },
477 { &smart_cheat, FALSE, OPT_PAGE_BIRTH, 1, 15,
478 "smart_cheat", _("モンスターはプレイヤーの弱みを突く(*)", "Monsters exploit players weaknesses (*)") },
480 { &vanilla_town, FALSE, OPT_PAGE_BIRTH, 6, 0,
481 "vanilla_town", _("元祖の街/クエストと荒野なし", "Use 'vanilla' town without quests and wilderness") },
483 { &lite_town, FALSE, OPT_PAGE_BIRTH, 6, 1,
484 "lite_town", _("小規模な街/荒野なし", "Use 'lite' town without a wilderness") },
486 { &ironman_shops, FALSE, OPT_PAGE_BIRTH, 6, 2,
487 "ironman_shops", _("(鉄人用)店を使用しない(*)", "Stores are permanently closed (*)") },
489 { &ironman_small_levels, FALSE, OPT_PAGE_BIRTH, 6, 3,
490 "ironman_small_levels", _("(鉄人用)常に非常に小さいフロアを生成(*)", "Always create unusually small dungeon levels (*)") },
492 { &ironman_downward, FALSE, OPT_PAGE_BIRTH, 6, 4,
493 "ironman_downward", _("(鉄人用)帰還と上り階段なし(*)", "Disable recall and use of up stairs (*)") },
495 { &ironman_empty_levels, FALSE, OPT_PAGE_BIRTH, 6, 8,
496 "ironman_empty_levels", _("(鉄人用)常に空っぽのアリーナレベルを生成(*)", "Always create empty 'arena' levels (*)") },
498 { &ironman_rooms, FALSE, OPT_PAGE_BIRTH, 6, 12,
499 "ironman_rooms", _("(鉄人用)常に普通でない部屋を生成する(*)", "Always generate very unusual rooms (*)") },
501 { &ironman_nightmare, FALSE, OPT_PAGE_BIRTH, 6, 18,
502 "ironman_nightmare", _("(鉄人用)悪夢モード(これは全く不条理です!)(*)", "Nightmare mode(it isn't even remotely fair!)(*)") },
504 { &left_hander, FALSE, OPT_PAGE_BIRTH, 6, 13,
505 "left_hander", _("左利きである", "Left-Hander") },
507 { &preserve_mode, TRUE, OPT_PAGE_BIRTH, 6, 14,
508 "preserve_mode", _("伝説のアイテムを取り逃しても再生成される(*)", "Preserve artifacts (*)") },
510 { &autoroller, TRUE, OPT_PAGE_BIRTH, 6, 15,
511 "autoroller", _("能力値にオートローラー使用(*)", "Allow use of autoroller for stats (*)") },
513 { &autochara, FALSE, OPT_PAGE_BIRTH, 6, 16,
514 "autochara", _("体格/地位にオートローラー使用", "Autoroll for weight, height and social status") },
516 { &powerup_home, TRUE, OPT_PAGE_BIRTH, 4, 3,
517 "powerup_home", _("我が家を拡張する(*)", "Increase capacity of your home (*)") },
519 /*** Easy Object Auto-Destroyer ***/
521 { &destroy_items, FALSE, OPT_PAGE_AUTODESTROY, 7, 0,
522 "destroy_items", _("アイテムの簡易自動破壊を使用する", "Use easy auto-destroyer") },
524 { &destroy_feeling, FALSE, OPT_PAGE_AUTODESTROY, 7, 8,
525 "destroy_feeling", _("簡易鑑定したとき自動破壊を適用する", "Apply auto-destroy as sense feeling") },
527 { &destroy_identify, FALSE, OPT_PAGE_AUTODESTROY, 7, 9,
528 "destroy_identify", _("鑑定したとき自動破壊を適用する", "Apply auto-destroy as identify an item") },
530 { &leave_worth, TRUE, OPT_PAGE_AUTODESTROY, 7, 2,
531 "leave_worth", _("価値があるアイテムは壊さない", "Auto-destroyer leaves known worthy items") },
533 { &leave_equip, FALSE, OPT_PAGE_AUTODESTROY, 7, 3,
534 "leave_equip", _("武器/防具は壊さない", "Auto-destroyer leaves weapons and armour") },
536 { &leave_chest, TRUE, OPT_PAGE_AUTODESTROY, 7, 7,
537 "leave_chest", _("開封されていない箱は壊さない", "Auto-destroyer leaves closed chests") },
539 { &leave_wanted, TRUE, OPT_PAGE_AUTODESTROY, 7, 4,
540 "leave_wanted", _("賞金首の死体/骨は壊さない", "Auto-destroyer leaves wanted corpses") },
542 { &leave_corpse, FALSE, OPT_PAGE_AUTODESTROY, 7, 5,
543 "leave_corpse", _("死体/骨は壊さない", "Auto-destroyer leaves corpses and skeletons") },
545 { &leave_junk, FALSE, OPT_PAGE_AUTODESTROY, 7, 6,
546 "leave_junk", _("がらくたは壊さない", "Auto-destroyer leaves junk") },
548 { &leave_special, TRUE, OPT_PAGE_AUTODESTROY, 7, 1,
549 "leave_special", _("種族/職業で特別に必要なアイテムは壊さない", "Auto-destroyer leaves items your race/class needs") },
551 /*** Play-record Options ***/
553 { &record_fix_art, TRUE, OPT_PAGE_PLAYRECORD, 4, 11,
554 "record_fix_art", _("固定アーティファクトの入手を記録する", "Record fixed artifacts") },
556 { &record_rand_art, TRUE, OPT_PAGE_PLAYRECORD, 4, 12,
557 "record_rand_art", _("ランダムアーティファクトの入手を記録する", "Record random artifacts") },
559 { &record_destroy_uniq, TRUE, OPT_PAGE_PLAYRECORD, 4, 13,
560 "record_destroy_uniq", _("ユニークモンスターを倒したときを記録する", "Record when destroy unique monster") },
562 { &record_fix_quest, TRUE, OPT_PAGE_PLAYRECORD, 4, 14,
563 "record_fix_quest", _("固定クエストの達成を記録する", "Record fixed quests") },
565 { &record_rand_quest, TRUE, OPT_PAGE_PLAYRECORD, 4, 15,
566 "record_rand_quest", _("ランダムクエストの達成を記録する", "Record random quests") },
568 { &record_maxdepth, TRUE, OPT_PAGE_PLAYRECORD, 4, 16,
569 "record_maxdepth", _("最深階を更新したときに記録する", "Record movements to deepest level") },
571 { &record_stair, TRUE, OPT_PAGE_PLAYRECORD, 4, 17,
572 "record_stair", _("階の移動を記録する", "Record recall and stair movements") },
574 { &record_buy, TRUE, OPT_PAGE_PLAYRECORD, 4, 18,
575 "record_buy", _("アイテムの購入を記録する", "Record purchased items") },
577 { &record_sell, FALSE, OPT_PAGE_PLAYRECORD, 4, 19,
578 "record_sell", _("アイテムの売却を記録する", "Record sold items") },
580 { &record_danger, TRUE, OPT_PAGE_PLAYRECORD, 4, 20,
581 "record_danger", _("ピンチになったときを記録する", "Record hitpoint warning") },
583 { &record_arena, TRUE, OPT_PAGE_PLAYRECORD, 4, 21,
584 "record_arena", _("アリーナでの勝利を記録する", "Record arena victories") },
586 { &record_ident, TRUE, OPT_PAGE_PLAYRECORD, 4, 22,
587 "record_ident", _("未判明のアイテムの識別を記録する", "Record first identified items") },
589 { &record_named_pet, FALSE, OPT_PAGE_PLAYRECORD, 4, 23,
590 "record_named_pet", _("名前つきペットの情報を記録する", "Record informations of named pets") },
592 /*** End of Table ***/
599 * チートオプションの定義テーブル / Cheating options
601 const option_type cheat_info[CHEAT_MAX] =
603 { &cheat_peek, FALSE, 255, 0x01, 0x00,
604 "cheat_peek", _("アイテムの生成をのぞき見る", "Peek into object creation")
607 { &cheat_hear, FALSE, 255, 0x02, 0x00,
608 "cheat_hear", _("モンスターの生成をのぞき見る", "Peek into monster creation")
611 { &cheat_room, FALSE, 255, 0x04, 0x00,
612 "cheat_room", _("ダンジョンの生成をのぞき見る", "Peek into dungeon creation")
615 { &cheat_xtra, FALSE, 255, 0x08, 0x00,
616 "cheat_xtra", _("その他の事をのぞき見る", "Peek into something else")
619 { &cheat_know, FALSE, 255, 0x10, 0x00,
620 "cheat_know", _("完全なモンスターの思い出を知る", "Know complete monster info")
623 { &cheat_live, FALSE, 255, 0x20, 0x00,
624 "cheat_live", _("死を回避することを可能にする", "Allow player to avoid death")
627 { &cheat_save, FALSE, 255, 0x40, 0x00,
628 "cheat_save", _("死んだ時セーブするか確認する", "Ask for saving death")
631 { &cheat_diary_output, FALSE, 255, 0x80, 0x00,
632 "cheat_diary_output", _("ウィザードログを日記に出力する", "Output wizard log to diary.")
635 { &cheat_turn, FALSE, 255, 0x81, 0x00,
636 "cheat_turn", _("ゲームメッセージにターン表示を行う", "Put current_world_ptr->game_turn to game message.")
639 { &cheat_sight, FALSE, 255, 0x82, 0x00,
640 "cheat_sight", _("「見る」コマンドを拡張する。", "Expand \"L\"ook command.")
648 const option_type autosave_info[2] =
650 { &autosave_l, FALSE, 255, 0x01, 0x00,
651 "autosave_l", _("新しい階に入る度に自動セーブする", "Autosave when entering new levels") },
653 { &autosave_t, FALSE, 255, 0x02, 0x00,
654 "autosave_t", _("一定ターン毎に自動セーブする", "Timed autosave") },
659 * @brief ビットセットからゲームオプションを展開する / Extract option variables from bit sets
662 void extract_option_vars(void)
666 for (i = 0; option_info[i].o_desc; i++)
668 int os = option_info[i].o_set;
669 int ob = option_info[i].o_bit;
671 /* Set the "default" options */
672 if (option_info[i].o_var)
675 if (option_flag[os] & (1L << ob))
678 (*option_info[i].o_var) = TRUE;
685 (*option_info[i].o_var) = FALSE;