OSDN Git Service

[Refactor] #37353 gameoption~externs間整理。 / Refactor between gameoption and externs.
authorDeskull <deskull@users.sourceforge.jp>
Thu, 1 Nov 2018 13:00:57 +0000 (22:00 +0900)
committerDeskull <deskull@users.sourceforge.jp>
Thu, 1 Nov 2018 13:00:57 +0000 (22:00 +0900)
src/angband.h
src/externs.h
src/gameoption.c
src/gameoption.h

index 742242f..74cd401 100644 (file)
@@ -46,6 +46,7 @@
 #include "gamevalue.h"
 #include "types.h"
 #include "externs.h"
+#include "gameoption.h"
 
 /***** Some copyright messages follow below *****/
 
index d1c56c1..f81fbe8 100644 (file)
@@ -214,188 +214,9 @@ extern bool hack_mutation;
  * Software options (set via the '=' command).  See "tables.c"
  */
 
-/*** Input Options ***/
-
-extern bool rogue_like_commands;       /* Rogue-like commands */
-extern bool always_pickup;     /* Pick things up by default */
-extern bool carry_query_flag;  /* Prompt before picking things up */
-extern bool quick_messages;    /* Activate quick messages */
-extern bool auto_more; /* Automatically clear '-more-' prompts */
-extern bool command_menu;      /* Enable command selection menu */
-extern bool other_query_flag;  /* Prompt for floor item selection */
-extern bool use_old_target;    /* Use old target by default */
-extern bool always_repeat;     /* Repeat obvious commands */
-extern bool confirm_destroy;   /* Prompt for destruction of known worthless items */
-extern bool confirm_wear;      /* Confirm to wear/wield known cursed items */
-extern bool confirm_quest;     /* Prompt before exiting a quest level */
-extern bool target_pet;        /* Allow targetting pets */
-
-#ifdef ALLOW_EASY_OPEN
-extern bool easy_open; /* Automatically open doors */
-#endif
-
-#ifdef ALLOW_EASY_DISARM
-extern bool easy_disarm;       /* Automatically disarm traps */
-#endif
-
-#ifdef ALLOW_EASY_FLOOR
-extern bool easy_floor;        /* Display floor stacks in a list */
-#endif
-
-extern bool use_command;       /* Allow unified use command */
-extern bool over_exert;        /* Allow casting spells when short of mana */
-extern bool numpad_as_cursorkey;       /* Use numpad keys as cursor key in editor mode */
-
-
-/*** Map Screen Options ***/
-
-extern bool center_player;     /* Center map while walking (*slow*) */
-extern bool center_running;    /* Centering even while running */
-extern bool view_yellow_lite;  /* Use special colors for torch-lit grids */
-extern bool view_bright_lite;  /* Use special colors for 'viewable' grids */
-extern bool view_granite_lite; /* Use special colors for wall grids (slow) */
-extern bool view_special_lite; /* Use special colors for floor grids (slow) */
-extern bool view_perma_grids;  /* Map remembers all perma-lit grids */
-extern bool view_torch_grids;  /* Map remembers all torch-lit grids */
-extern bool view_unsafe_grids; /* Map marked by detect traps */
-extern bool view_reduce_view;  /* Reduce view-radius in town */
-extern bool fresh_before;      /* Flush output while continuous command */
-extern bool fresh_after;       /* Flush output after monster's move */
-extern bool fresh_message;     /* Flush output after every message */
-extern bool hilite_player;     /* Hilite the player with the cursor */
-extern bool display_path;      /* Display actual path before shooting */
-
-
-/*** Text Display Options ***/
-
-extern bool plain_descriptions;        /* Plain object descriptions */
-extern bool plain_pickup;      /* Plain pickup messages(japanese only) */
-extern bool always_show_list;  /* Always show list when choosing items */
-extern bool depth_in_feet;     /* Show dungeon level in feet */
-extern bool show_labels;       /* Show labels in object listings */
-extern bool show_weights;      /* Show weights in object listings */
-extern bool show_item_graph;   /* Show items graphics */
-extern bool equippy_chars;     /* Display 'equippy' chars */
-extern bool display_mutations; /* Display mutations in 'C'haracter Display */
-extern bool compress_savefile; /* Compress messages in savefiles */
-extern bool abbrev_extra;      /* Describe obj's extra resistances by abbreviation */
-extern bool abbrev_all;        /* Describe obj's all resistances by abbreviation */
-extern bool exp_need;  /* Show the experience needed for next level */
-extern bool ignore_unview;     /* Ignore whenever any monster does */
-extern bool show_ammo_detail;  /* Show Description of ammo damage */
-extern bool show_ammo_no_crit; /* Show No-crit damage of ammo */
-extern bool show_ammo_crit_ratio;      /* Show critical ratio of ammo */
-extern bool show_actual_value; /* Show actual value of skill */
-
-/*** Game-Play Options ***/
-
-extern bool stack_force_notes; /* Merge inscriptions when stacking */
-extern bool stack_force_costs; /* Merge discounts when stacking */
-extern bool expand_list;       /* Expand the power of the list commands */
-extern bool small_levels;      /* Allow unusually small dungeon levels */
-extern bool always_small_levels;       /* Always create unusually small dungeon levels */
-extern bool empty_levels;      /* Allow empty 'arena' levels */
-extern bool bound_walls_perm;  /* Boundary walls become 'permanent wall' */
-extern bool last_words;        /* Leave last words when your character dies */
-
-#ifdef WORLD_SCORE
-extern bool send_score;        /* Send score dump to the world score server */
-#endif
-
-extern bool allow_debug_opts;  /* Allow use of debug/cheat options */
-
-
-/*** Disturbance Options ***/
-
-extern bool find_ignore_stairs;        /* Run past stairs */
-extern bool find_ignore_doors; /* Run through open doors */
-extern bool find_cut;  /* Run past known corners */
-extern bool check_abort;       /* Check for user abort while continuous command */
-extern bool flush_failure;     /* Flush input on various failures */
-extern bool flush_disturb;     /* Flush input whenever disturbed */
-extern bool disturb_move;      /* Disturb whenever any monster moves */
-extern bool disturb_high;      /* Disturb whenever high-level monster moves */
-extern bool disturb_near;      /* Disturb whenever viewable monster moves */
-extern bool disturb_pets;      /* Disturb when visible pets move */
-extern bool disturb_panel;     /* Disturb whenever map panel changes */
-extern bool disturb_state;     /* Disturb whenever player state changes */
-extern bool disturb_minor;     /* Disturb whenever boring things happen */
-extern bool ring_bell; /* Audible bell (on errors, etc) */
-extern bool disturb_trap_detect;       /* Disturb when leaving trap detected area */
-extern bool alert_trap_detect; /* Alert when leaving trap detected area */
-
-
-/*** Birth Options ***/
-
-extern bool manual_haggle;     /* Manually haggle in stores */
-extern bool easy_band; /* Easy Mode (*) */
-extern bool smart_learn;       /* Monsters learn from their mistakes (*) */
-extern bool smart_cheat;       /* Monsters exploit players weaknesses (*) */
-extern bool vanilla_town;      /* Use 'vanilla' town without quests and wilderness */
-extern bool lite_town; /* Use 'lite' town without a wilderness */
-extern bool ironman_shops;     /* Stores are permanently closed (*) */
-extern bool ironman_small_levels;      /* Always create unusually small dungeon levels (*) */
-extern bool ironman_downward;  /* Disable recall and use of up stairs (*) */
-extern bool ironman_empty_levels;      /* Always create empty 'arena' levels (*) */
-extern bool ironman_rooms;     /* Always generate very unusual rooms (*) */
-extern bool ironman_nightmare; /* Nightmare mode(it isn't even remotely fair!)(*) */
-extern bool left_hander;       /* Left-Hander */
-extern bool preserve_mode;     /* Preserve artifacts (*) */
-extern bool autoroller;        /* Allow use of autoroller for stats (*) */
-extern bool autochara; /* Autoroll for weight, height and social status */
-extern bool powerup_home;      /* Increase capacity of your home (*) */
-
-
-/*** Easy Object Auto-Destroyer ***/
-
-extern bool destroy_items;     /* Use easy auto-destroyer */
-extern bool destroy_feeling;   /* Apply auto-destroy as sense feeling */
-extern bool destroy_identify;  /* Apply auto-destroy as identify an item */
-extern bool leave_worth;       /* Auto-destroyer leaves known worthy items */
-extern bool leave_equip;       /* Auto-destroyer leaves weapons and armour */
-extern bool leave_chest;       /* Auto-destroyer leaves closed chests */
-extern bool leave_wanted;      /* Auto-destroyer leaves wanted corpses */
-extern bool leave_corpse;      /* Auto-destroyer leaves corpses and skeletons */
-extern bool leave_junk;        /* Auto-destroyer leaves junk */
-extern bool leave_special;     /* Auto-destroyer leaves items your race/class needs */
-
-
-/*** Play-record Options ***/
-
-extern bool record_fix_art;    /* Record fixed artifacts */
-extern bool record_rand_art;   /* Record random artifacts */
-extern bool record_destroy_uniq;       /* Record when destroy unique monster */
-extern bool record_fix_quest;  /* Record fixed quests */
-extern bool record_rand_quest; /* Record random quests */
-extern bool record_maxdepth;   /* Record movements to deepest level */
-extern bool record_stair;      /* Record recall and stair movements */
-extern bool record_buy;        /* Record purchased items */
-extern bool record_sell;       /* Record sold items */
-extern bool record_danger;     /* Record hitpoint warning */
-extern bool record_arena;      /* Record arena victories */
-extern bool record_ident;      /* Record first identified items */
-extern bool record_named_pet;  /* Record informations of named pets */
-
-
-extern bool cheat_peek;
-extern bool cheat_hear;
-extern bool cheat_room;
-extern bool cheat_xtra;
-extern bool cheat_know;
-extern bool cheat_live;
-extern bool cheat_save;
-extern bool cheat_diary_output;
-extern bool cheat_turn;
-extern bool cheat_sight;
 
 extern char record_o_name[MAX_NLEN];
 extern s32b record_turn;
-extern byte hitpoint_warn;
-extern byte mana_warn;
-extern byte delay_factor;
-extern s16b autosave_freq;
-extern bool autosave_t;
-extern bool autosave_l;
 extern bool closing_flag;
 extern POSITION panel_row_min, panel_row_max;
 extern POSITION panel_col_min, panel_col_max;
index 512b2b3..36af2e4 100644 (file)
@@ -1,6 +1,205 @@
 #include "angband.h"
 #include "gameoption.h"
 
+
+/*
+* Software options (set via the '=' command).  See "tables.c"
+*/
+
+/*** Input Options ***/
+
+bool rogue_like_commands;      /* Rogue-like commands */
+bool always_pickup;    /* Pick things up by default */
+bool carry_query_flag; /* Prompt before picking things up */
+bool quick_messages;   /* Activate quick messages */
+bool auto_more;        /* Automatically clear '-more-' prompts */
+bool command_menu;     /* Enable command selection menu */
+bool other_query_flag; /* Prompt for floor item selection */
+bool use_old_target;   /* Use old target by default */
+bool always_repeat;    /* Repeat obvious commands */
+bool confirm_destroy;  /* Prompt for destruction of known worthless items */
+bool confirm_wear;     /* Confirm to wear/wield known cursed items */
+bool confirm_quest;    /* Prompt before exiting a quest level */
+bool target_pet;       /* Allow targetting pets */
+
+#ifdef ALLOW_EASY_OPEN
+bool easy_open;        /* Automatically open doors */
+#endif
+
+#ifdef ALLOW_EASY_DISARM
+bool easy_disarm;      /* Automatically disarm traps */
+#endif
+
+#ifdef ALLOW_EASY_FLOOR
+bool easy_floor;       /* Display floor stacks in a list */
+#endif
+
+bool use_command;      /* Allow unified use command */
+bool over_exert;       /* Allow casting spells when short of mana */
+bool numpad_as_cursorkey;      /* Use numpad keys as cursor key in editor mode */
+
+
+                                                       /*** Map Screen Options ***/
+
+bool center_player;    /* Center map while walking (*slow*) */
+bool center_running;   /* Centering even while running */
+bool view_yellow_lite; /* Use special colors for torch-lit grids */
+bool view_bright_lite; /* Use special colors for 'viewable' grids */
+bool view_granite_lite;        /* Use special colors for wall grids (slow) */
+bool view_special_lite;        /* Use special colors for floor grids (slow) */
+bool view_perma_grids; /* Map remembers all perma-lit grids */
+bool view_torch_grids; /* Map remembers all torch-lit grids */
+bool view_unsafe_grids;        /* Map marked by detect traps */
+bool view_reduce_view; /* Reduce view-radius in town */
+bool fresh_before;     /* Flush output while continuous command */
+bool fresh_after;      /* Flush output after monster's move */
+bool fresh_message;    /* Flush output after every message */
+bool hilite_player;    /* Hilite the player with the cursor */
+bool display_path;     /* Display actual path before shooting */
+
+
+                                       /*** Text Display Options ***/
+
+bool plain_descriptions;       /* Plain object descriptions */
+bool plain_pickup;     /* Plain pickup messages(japanese only) */
+bool always_show_list; /* Always show list when choosing items */
+bool depth_in_feet;    /* Show dungeon level in feet */
+bool show_labels;      /* Show labels in object listings */
+bool show_weights;     /* Show weights in object listings */
+bool show_item_graph;  /* Show items graphics */
+bool equippy_chars;    /* Display 'equippy' chars */
+bool display_mutations;        /* Display mutations in 'C'haracter Display */
+bool compress_savefile;        /* Compress messages in savefiles */
+bool abbrev_extra;     /* Describe obj's extra resistances by abbreviation */
+bool abbrev_all;       /* Describe obj's all resistances by abbreviation */
+bool exp_need; /* Show the experience needed for next level */
+bool ignore_unview;    /* Ignore whenever any monster does */
+
+
+                                       /*** Game-Play Options ***/
+
+bool stack_force_notes;        /* Merge inscriptions when stacking */
+bool stack_force_costs;        /* Merge discounts when stacking */
+bool expand_list;      /* Expand the power of the list commands */
+bool small_levels;     /* Allow unusually small dungeon levels */
+bool always_small_levels;      /* Always create unusually small dungeon levels */
+bool empty_levels;     /* Allow empty 'arena' levels */
+bool bound_walls_perm; /* Boundary walls become 'permanent wall' */
+bool last_words;       /* Leave last words when your character dies */
+
+#ifdef WORLD_SCORE
+bool send_score;       /* Send score dump to the world score server */
+#endif
+
+bool allow_debug_opts; /* Allow use of debug/cheat options */
+
+
+                                               /*** Disturbance Options ***/
+
+bool find_ignore_stairs;       /* Run past stairs */
+bool find_ignore_doors;        /* Run through open doors */
+bool find_cut; /* Run past known corners */
+bool check_abort;      /* Check for user abort while continuous command */
+bool flush_failure;    /* Flush input on various failures */
+bool flush_disturb;    /* Flush input whenever disturbed */
+bool disturb_move;     /* Disturb whenever any monster moves */
+bool disturb_high;     /* Disturb whenever high-level monster moves */
+bool disturb_near;     /* Disturb whenever viewable monster moves */
+bool disturb_pets;     /* Disturb when visible pets move */
+bool disturb_panel;    /* Disturb whenever map panel changes */
+bool disturb_state;    /* Disturb whenever player state changes */
+bool disturb_minor;    /* Disturb whenever boring things happen */
+bool ring_bell;        /* Audible bell (on errors, etc) */
+bool disturb_trap_detect;      /* Disturb when leaving trap detected area */
+bool alert_trap_detect;        /* Alert when leaving trap detected area */
+
+
+                                               /*** Birth Options ***/
+
+bool manual_haggle;    /* Manually haggle in stores */
+bool easy_band;        /* Easy Mode (*) */
+bool smart_learn;      /* Monsters learn from their mistakes (*) */
+bool smart_cheat;      /* Monsters exploit players weaknesses (*) */
+bool vanilla_town;     /* Use 'vanilla' town without quests and wilderness */
+bool lite_town;        /* Use 'lite' town without a wilderness */
+bool ironman_shops;    /* Stores are permanently closed (*) */
+bool ironman_small_levels;     /* Always create unusually small dungeon levels (*) */
+bool ironman_downward; /* Disable recall and use of up stairs (*) */
+bool ironman_empty_levels;     /* Always create empty 'arena' levels (*) */
+bool ironman_rooms;    /* Always generate very unusual rooms (*) */
+bool ironman_nightmare;        /* Nightmare mode(it isn't even remotely fair!)(*) */
+bool left_hander;      /* Left-Hander */
+bool preserve_mode;    /* Preserve artifacts (*) */
+bool autoroller;       /* Allow use of autoroller for stats (*) */
+bool autochara;        /* Autoroll for weight, height and social status */
+bool powerup_home;     /* Increase capacity of your home (*) */
+bool show_ammo_detail; /* Show Description of ammo damage */
+bool show_ammo_no_crit;        /* Show No-crit damage of ammo */
+bool show_ammo_crit_ratio;     /* Show critical ratio of ammo */
+bool show_actual_value;        /* Show actual value of skill */
+
+
+
+
+                                               /*** Easy Object Auto-Destroyer ***/
+
+bool destroy_items;    /* Use easy auto-destroyer */
+bool destroy_feeling;  /* Apply auto-destroy as sense feeling */
+bool destroy_identify; /* Apply auto-destroy as identify an item */
+bool leave_worth;      /* Auto-destroyer leaves known worthy items */
+bool leave_equip;      /* Auto-destroyer leaves weapons and armour */
+bool leave_chest;      /* Auto-destroyer leaves closed chests */
+bool leave_wanted;     /* Auto-destroyer leaves wanted corpses */
+bool leave_corpse;     /* Auto-destroyer leaves corpses and skeletons */
+bool leave_junk;       /* Auto-destroyer leaves junk */
+bool leave_special;    /* Auto-destroyer leaves items your race/class needs */
+
+
+                                       /*** Play-record Options ***/
+
+bool record_fix_art;   /* Record fixed artifacts */
+bool record_rand_art;  /* Record random artifacts */
+bool record_destroy_uniq;      /* Record when destroy unique monster */
+bool record_fix_quest; /* Record fixed quests */
+bool record_rand_quest;        /* Record random quests */
+bool record_maxdepth;  /* Record movements to deepest level */
+bool record_stair;     /* Record recall and stair movements */
+bool record_buy;       /* Record purchased items */
+bool record_sell;      /* Record sold items */
+bool record_danger;    /* Record hitpoint warning */
+bool record_arena;     /* Record arena victories */
+bool record_ident;     /* Record first identified items */
+bool record_named_pet; /* Record informations of named pets */
+char record_o_name[MAX_NLEN];
+s32b record_turn;
+
+
+/* Cheating options */
+
+bool cheat_peek;       /* Peek into object creation */
+bool cheat_hear;       /* Peek into monster creation */
+bool cheat_room;       /* Peek into dungeon creation */
+bool cheat_xtra;       /* Peek into something else */
+bool cheat_know;       /* Know complete monster info */
+bool cheat_live;       /* Allow player to avoid death */
+bool cheat_save;       /* Ask for saving death */
+bool cheat_diary_output; /* Detailed info to diary */
+bool cheat_turn;       /* Peek turn */
+bool cheat_sight;
+
+
+/* Special options */
+
+byte hitpoint_warn;    /* Hitpoint warning (0 to 9) */
+byte mana_warn;        /* Mana color (0 to 9) */
+
+byte delay_factor;     /* Delay factor (0 to 9) */
+
+bool autosave_l;       /* Autosave before entering new levels */
+bool autosave_t;       /* Timed autosave */
+s16b autosave_freq;     /* Autosave frequency */
+
+
 /*!
  * @brief オプションテーブル /
  * Available Options
index 9573e8e..1468731 100644 (file)
-\r
-/*\r
- * Software options (set via the '=' command).  See "tables.c"\r
- */\r
-\r
-/*** Input Options ***/\r
-\r
-bool rogue_like_commands;      /* Rogue-like commands */\r
-bool always_pickup;    /* Pick things up by default */\r
-bool carry_query_flag; /* Prompt before picking things up */\r
-bool quick_messages;   /* Activate quick messages */\r
-bool auto_more;        /* Automatically clear '-more-' prompts */\r
-bool command_menu;     /* Enable command selection menu */\r
-bool other_query_flag; /* Prompt for floor item selection */\r
-bool use_old_target;   /* Use old target by default */\r
-bool always_repeat;    /* Repeat obvious commands */\r
-bool confirm_destroy;  /* Prompt for destruction of known worthless items */\r
-bool confirm_wear;     /* Confirm to wear/wield known cursed items */\r
-bool confirm_quest;    /* Prompt before exiting a quest level */\r
-bool target_pet;       /* Allow targetting pets */\r
+/*** Input Options ***/\r
+\r
+extern bool rogue_like_commands;       /* Rogue-like commands */\r
+extern bool always_pickup;     /* Pick things up by default */\r
+extern bool carry_query_flag;  /* Prompt before picking things up */\r
+extern bool quick_messages;    /* Activate quick messages */\r
+extern bool auto_more; /* Automatically clear '-more-' prompts */\r
+extern bool command_menu;      /* Enable command selection menu */\r
+extern bool other_query_flag;  /* Prompt for floor item selection */\r
+extern bool use_old_target;    /* Use old target by default */\r
+extern bool always_repeat;     /* Repeat obvious commands */\r
+extern bool confirm_destroy;   /* Prompt for destruction of known worthless items */\r
+extern bool confirm_wear;      /* Confirm to wear/wield known cursed items */\r
+extern bool confirm_quest;     /* Prompt before exiting a quest level */\r
+extern bool target_pet;        /* Allow targetting pets */\r
 \r
 #ifdef ALLOW_EASY_OPEN\r
-bool easy_open;        /* Automatically open doors */\r
+extern bool easy_open; /* Automatically open doors */\r
 #endif\r
 \r
 #ifdef ALLOW_EASY_DISARM\r
-bool easy_disarm;      /* Automatically disarm traps */\r
+extern bool easy_disarm;       /* Automatically disarm traps */\r
 #endif\r
 \r
 #ifdef ALLOW_EASY_FLOOR\r
-bool easy_floor;       /* Display floor stacks in a list */\r
+extern bool easy_floor;        /* Display floor stacks in a list */\r
 #endif\r
 \r
-bool use_command;      /* Allow unified use command */\r
-bool over_exert;       /* Allow casting spells when short of mana */\r
-bool numpad_as_cursorkey;      /* Use numpad keys as cursor key in editor mode */\r
-\r
-\r
-                                                       /*** Map Screen Options ***/\r
-\r
-bool center_player;    /* Center map while walking (*slow*) */\r
-bool center_running;   /* Centering even while running */\r
-bool view_yellow_lite; /* Use special colors for torch-lit grids */\r
-bool view_bright_lite; /* Use special colors for 'viewable' grids */\r
-bool view_granite_lite;        /* Use special colors for wall grids (slow) */\r
-bool view_special_lite;        /* Use special colors for floor grids (slow) */\r
-bool view_perma_grids; /* Map remembers all perma-lit grids */\r
-bool view_torch_grids; /* Map remembers all torch-lit grids */\r
-bool view_unsafe_grids;        /* Map marked by detect traps */\r
-bool view_reduce_view; /* Reduce view-radius in town */\r
-bool fresh_before;     /* Flush output while continuous command */\r
-bool fresh_after;      /* Flush output after monster's move */\r
-bool fresh_message;    /* Flush output after every message */\r
-bool hilite_player;    /* Hilite the player with the cursor */\r
-bool display_path;     /* Display actual path before shooting */\r
-\r
-\r
-                                       /*** Text Display Options ***/\r
-\r
-bool plain_descriptions;       /* Plain object descriptions */\r
-bool plain_pickup;     /* Plain pickup messages(japanese only) */\r
-bool always_show_list; /* Always show list when choosing items */\r
-bool depth_in_feet;    /* Show dungeon level in feet */\r
-bool show_labels;      /* Show labels in object listings */\r
-bool show_weights;     /* Show weights in object listings */\r
-bool show_item_graph;  /* Show items graphics */\r
-bool equippy_chars;    /* Display 'equippy' chars */\r
-bool display_mutations;        /* Display mutations in 'C'haracter Display */\r
-bool compress_savefile;        /* Compress messages in savefiles */\r
-bool abbrev_extra;     /* Describe obj's extra resistances by abbreviation */\r
-bool abbrev_all;       /* Describe obj's all resistances by abbreviation */\r
-bool exp_need; /* Show the experience needed for next level */\r
-bool ignore_unview;    /* Ignore whenever any monster does */\r
-\r
-\r
-                                       /*** Game-Play Options ***/\r
-\r
-bool stack_force_notes;        /* Merge inscriptions when stacking */\r
-bool stack_force_costs;        /* Merge discounts when stacking */\r
-bool expand_list;      /* Expand the power of the list commands */\r
-bool small_levels;     /* Allow unusually small dungeon levels */\r
-bool always_small_levels;      /* Always create unusually small dungeon levels */\r
-bool empty_levels;     /* Allow empty 'arena' levels */\r
-bool bound_walls_perm; /* Boundary walls become 'permanent wall' */\r
-bool last_words;       /* Leave last words when your character dies */\r
+extern bool use_command;       /* Allow unified use command */\r
+extern bool over_exert;        /* Allow casting spells when short of mana */\r
+extern bool numpad_as_cursorkey;       /* Use numpad keys as cursor key in editor mode */\r
+\r
+\r
+                                                                       /*** Map Screen Options ***/\r
+\r
+extern bool center_player;     /* Center map while walking (*slow*) */\r
+extern bool center_running;    /* Centering even while running */\r
+extern bool view_yellow_lite;  /* Use special colors for torch-lit grids */\r
+extern bool view_bright_lite;  /* Use special colors for 'viewable' grids */\r
+extern bool view_granite_lite; /* Use special colors for wall grids (slow) */\r
+extern bool view_special_lite; /* Use special colors for floor grids (slow) */\r
+extern bool view_perma_grids;  /* Map remembers all perma-lit grids */\r
+extern bool view_torch_grids;  /* Map remembers all torch-lit grids */\r
+extern bool view_unsafe_grids; /* Map marked by detect traps */\r
+extern bool view_reduce_view;  /* Reduce view-radius in town */\r
+extern bool fresh_before;      /* Flush output while continuous command */\r
+extern bool fresh_after;       /* Flush output after monster's move */\r
+extern bool fresh_message;     /* Flush output after every message */\r
+extern bool hilite_player;     /* Hilite the player with the cursor */\r
+extern bool display_path;      /* Display actual path before shooting */\r
+\r
+\r
+                                                       /*** Text Display Options ***/\r
+\r
+extern bool plain_descriptions;        /* Plain object descriptions */\r
+extern bool plain_pickup;      /* Plain pickup messages(japanese only) */\r
+extern bool always_show_list;  /* Always show list when choosing items */\r
+extern bool depth_in_feet;     /* Show dungeon level in feet */\r
+extern bool show_labels;       /* Show labels in object listings */\r
+extern bool show_weights;      /* Show weights in object listings */\r
+extern bool show_item_graph;   /* Show items graphics */\r
+extern bool equippy_chars;     /* Display 'equippy' chars */\r
+extern bool display_mutations; /* Display mutations in 'C'haracter Display */\r
+extern bool compress_savefile; /* Compress messages in savefiles */\r
+extern bool abbrev_extra;      /* Describe obj's extra resistances by abbreviation */\r
+extern bool abbrev_all;        /* Describe obj's all resistances by abbreviation */\r
+extern bool exp_need;  /* Show the experience needed for next level */\r
+extern bool ignore_unview;     /* Ignore whenever any monster does */\r
+extern bool show_ammo_detail;  /* Show Description of ammo damage */\r
+extern bool show_ammo_no_crit; /* Show No-crit damage of ammo */\r
+extern bool show_ammo_crit_ratio;      /* Show critical ratio of ammo */\r
+extern bool show_actual_value; /* Show actual value of skill */\r
+\r
+                                                               /*** Game-Play Options ***/\r
+\r
+extern bool stack_force_notes; /* Merge inscriptions when stacking */\r
+extern bool stack_force_costs; /* Merge discounts when stacking */\r
+extern bool expand_list;       /* Expand the power of the list commands */\r
+extern bool small_levels;      /* Allow unusually small dungeon levels */\r
+extern bool always_small_levels;       /* Always create unusually small dungeon levels */\r
+extern bool empty_levels;      /* Allow empty 'arena' levels */\r
+extern bool bound_walls_perm;  /* Boundary walls become 'permanent wall' */\r
+extern bool last_words;        /* Leave last words when your character dies */\r
 \r
 #ifdef WORLD_SCORE\r
-bool send_score;       /* Send score dump to the world score server */\r
+extern bool send_score;        /* Send score dump to the world score server */\r
 #endif\r
 \r
-bool allow_debug_opts; /* Allow use of debug/cheat options */\r
-\r
-\r
-                                               /*** Disturbance Options ***/\r
-\r
-bool find_ignore_stairs;       /* Run past stairs */\r
-bool find_ignore_doors;        /* Run through open doors */\r
-bool find_cut; /* Run past known corners */\r
-bool check_abort;      /* Check for user abort while continuous command */\r
-bool flush_failure;    /* Flush input on various failures */\r
-bool flush_disturb;    /* Flush input whenever disturbed */\r
-bool disturb_move;     /* Disturb whenever any monster moves */\r
-bool disturb_high;     /* Disturb whenever high-level monster moves */\r
-bool disturb_near;     /* Disturb whenever viewable monster moves */\r
-bool disturb_pets;     /* Disturb when visible pets move */\r
-bool disturb_panel;    /* Disturb whenever map panel changes */\r
-bool disturb_state;    /* Disturb whenever player state changes */\r
-bool disturb_minor;    /* Disturb whenever boring things happen */\r
-bool ring_bell;        /* Audible bell (on errors, etc) */\r
-bool disturb_trap_detect;      /* Disturb when leaving trap detected area */\r
-bool alert_trap_detect;        /* Alert when leaving trap detected area */\r
-\r
-\r
-                                               /*** Birth Options ***/\r
-\r
-bool manual_haggle;    /* Manually haggle in stores */\r
-bool easy_band;        /* Easy Mode (*) */\r
-bool smart_learn;      /* Monsters learn from their mistakes (*) */\r
-bool smart_cheat;      /* Monsters exploit players weaknesses (*) */\r
-bool vanilla_town;     /* Use 'vanilla' town without quests and wilderness */\r
-bool lite_town;        /* Use 'lite' town without a wilderness */\r
-bool ironman_shops;    /* Stores are permanently closed (*) */\r
-bool ironman_small_levels;     /* Always create unusually small dungeon levels (*) */\r
-bool ironman_downward; /* Disable recall and use of up stairs (*) */\r
-bool ironman_empty_levels;     /* Always create empty 'arena' levels (*) */\r
-bool ironman_rooms;    /* Always generate very unusual rooms (*) */\r
-bool ironman_nightmare;        /* Nightmare mode(it isn't even remotely fair!)(*) */\r
-bool left_hander;      /* Left-Hander */\r
-bool preserve_mode;    /* Preserve artifacts (*) */\r
-bool autoroller;       /* Allow use of autoroller for stats (*) */\r
-bool autochara;        /* Autoroll for weight, height and social status */\r
-bool powerup_home;     /* Increase capacity of your home (*) */\r
-bool show_ammo_detail; /* Show Description of ammo damage */\r
-bool show_ammo_no_crit;        /* Show No-crit damage of ammo */\r
-bool show_ammo_crit_ratio;     /* Show critical ratio of ammo */\r
-bool show_actual_value;        /* Show actual value of skill */\r
-\r
-\r
+extern bool allow_debug_opts;  /* Allow use of debug/cheat options */\r
+\r
+\r
+                                                               /*** Disturbance Options ***/\r
+\r
+extern bool find_ignore_stairs;        /* Run past stairs */\r
+extern bool find_ignore_doors; /* Run through open doors */\r
+extern bool find_cut;  /* Run past known corners */\r
+extern bool check_abort;       /* Check for user abort while continuous command */\r
+extern bool flush_failure;     /* Flush input on various failures */\r
+extern bool flush_disturb;     /* Flush input whenever disturbed */\r
+extern bool disturb_move;      /* Disturb whenever any monster moves */\r
+extern bool disturb_high;      /* Disturb whenever high-level monster moves */\r
+extern bool disturb_near;      /* Disturb whenever viewable monster moves */\r
+extern bool disturb_pets;      /* Disturb when visible pets move */\r
+extern bool disturb_panel;     /* Disturb whenever map panel changes */\r
+extern bool disturb_state;     /* Disturb whenever player state changes */\r
+extern bool disturb_minor;     /* Disturb whenever boring things happen */\r
+extern bool ring_bell; /* Audible bell (on errors, etc) */\r
+extern bool disturb_trap_detect;       /* Disturb when leaving trap detected area */\r
+extern bool alert_trap_detect; /* Alert when leaving trap detected area */\r
+\r
+\r
+                                                               /*** Birth Options ***/\r
+\r
+extern bool manual_haggle;     /* Manually haggle in stores */\r
+extern bool easy_band; /* Easy Mode (*) */\r
+extern bool smart_learn;       /* Monsters learn from their mistakes (*) */\r
+extern bool smart_cheat;       /* Monsters exploit players weaknesses (*) */\r
+extern bool vanilla_town;      /* Use 'vanilla' town without quests and wilderness */\r
+extern bool lite_town; /* Use 'lite' town without a wilderness */\r
+extern bool ironman_shops;     /* Stores are permanently closed (*) */\r
+extern bool ironman_small_levels;      /* Always create unusually small dungeon levels (*) */\r
+extern bool ironman_downward;  /* Disable recall and use of up stairs (*) */\r
+extern bool ironman_empty_levels;      /* Always create empty 'arena' levels (*) */\r
+extern bool ironman_rooms;     /* Always generate very unusual rooms (*) */\r
+extern bool ironman_nightmare; /* Nightmare mode(it isn't even remotely fair!)(*) */\r
+extern bool left_hander;       /* Left-Hander */\r
+extern bool preserve_mode;     /* Preserve artifacts (*) */\r
+extern bool autoroller;        /* Allow use of autoroller for stats (*) */\r
+extern bool autochara; /* Autoroll for weight, height and social status */\r
+extern bool powerup_home;      /* Increase capacity of your home (*) */\r
 \r
 \r
                                                        /*** Easy Object Auto-Destroyer ***/\r
 \r
-bool destroy_items;    /* Use easy auto-destroyer */\r
-bool destroy_feeling;  /* Apply auto-destroy as sense feeling */\r
-bool destroy_identify; /* Apply auto-destroy as identify an item */\r
-bool leave_worth;      /* Auto-destroyer leaves known worthy items */\r
-bool leave_equip;      /* Auto-destroyer leaves weapons and armour */\r
-bool leave_chest;      /* Auto-destroyer leaves closed chests */\r
-bool leave_wanted;     /* Auto-destroyer leaves wanted corpses */\r
-bool leave_corpse;     /* Auto-destroyer leaves corpses and skeletons */\r
-bool leave_junk;       /* Auto-destroyer leaves junk */\r
-bool leave_special;    /* Auto-destroyer leaves items your race/class needs */\r
-\r
-\r
-                                       /*** Play-record Options ***/\r
-\r
-bool record_fix_art;   /* Record fixed artifacts */\r
-bool record_rand_art;  /* Record random artifacts */\r
-bool record_destroy_uniq;      /* Record when destroy unique monster */\r
-bool record_fix_quest; /* Record fixed quests */\r
-bool record_rand_quest;        /* Record random quests */\r
-bool record_maxdepth;  /* Record movements to deepest level */\r
-bool record_stair;     /* Record recall and stair movements */\r
-bool record_buy;       /* Record purchased items */\r
-bool record_sell;      /* Record sold items */\r
-bool record_danger;    /* Record hitpoint warning */\r
-bool record_arena;     /* Record arena victories */\r
-bool record_ident;     /* Record first identified items */\r
-bool record_named_pet; /* Record informations of named pets */\r
-char record_o_name[MAX_NLEN];\r
-s32b record_turn;\r
-\r
-\r
-/* Cheating options */\r
-\r
-bool cheat_peek;       /* Peek into object creation */\r
-bool cheat_hear;       /* Peek into monster creation */\r
-bool cheat_room;       /* Peek into dungeon creation */\r
-bool cheat_xtra;       /* Peek into something else */\r
-bool cheat_know;       /* Know complete monster info */\r
-bool cheat_live;       /* Allow player to avoid death */\r
-bool cheat_save;       /* Ask for saving death */\r
-bool cheat_diary_output; /* Detailed info to diary */\r
-bool cheat_turn;       /* Peek turn */\r
-bool cheat_sight;\r
-\r
-\r
-/* Special options */\r
-\r
-byte hitpoint_warn;    /* Hitpoint warning (0 to 9) */\r
-byte mana_warn;        /* Mana color (0 to 9) */\r
-\r
-byte delay_factor;     /* Delay factor (0 to 9) */\r
-\r
-bool autosave_l;       /* Autosave before entering new levels */\r
-bool autosave_t;       /* Timed autosave */\r
-s16b autosave_freq;     /* Autosave frequency */\r
-\r
+extern bool destroy_items;     /* Use easy auto-destroyer */\r
+extern bool destroy_feeling;   /* Apply auto-destroy as sense feeling */\r
+extern bool destroy_identify;  /* Apply auto-destroy as identify an item */\r
+extern bool leave_worth;       /* Auto-destroyer leaves known worthy items */\r
+extern bool leave_equip;       /* Auto-destroyer leaves weapons and armour */\r
+extern bool leave_chest;       /* Auto-destroyer leaves closed chests */\r
+extern bool leave_wanted;      /* Auto-destroyer leaves wanted corpses */\r
+extern bool leave_corpse;      /* Auto-destroyer leaves corpses and skeletons */\r
+extern bool leave_junk;        /* Auto-destroyer leaves junk */\r
+extern bool leave_special;     /* Auto-destroyer leaves items your race/class needs */\r
+\r
+\r
+                                                       /*** Play-record Options ***/\r
+\r
+extern bool record_fix_art;    /* Record fixed artifacts */\r
+extern bool record_rand_art;   /* Record random artifacts */\r
+extern bool record_destroy_uniq;       /* Record when destroy unique monster */\r
+extern bool record_fix_quest;  /* Record fixed quests */\r
+extern bool record_rand_quest; /* Record random quests */\r
+extern bool record_maxdepth;   /* Record movements to deepest level */\r
+extern bool record_stair;      /* Record recall and stair movements */\r
+extern bool record_buy;        /* Record purchased items */\r
+extern bool record_sell;       /* Record sold items */\r
+extern bool record_danger;     /* Record hitpoint warning */\r
+extern bool record_arena;      /* Record arena victories */\r
+extern bool record_ident;      /* Record first identified items */\r
+extern bool record_named_pet;  /* Record informations of named pets */\r
+\r
+\r
+extern bool cheat_peek;\r
+extern bool cheat_hear;\r
+extern bool cheat_room;\r
+extern bool cheat_xtra;\r
+extern bool cheat_know;\r
+extern bool cheat_live;\r
+extern bool cheat_save;\r
+extern bool cheat_diary_output;\r
+extern bool cheat_turn;\r
+extern bool cheat_sight;\r
+\r
+extern byte hitpoint_warn;\r
+extern byte mana_warn;\r
+extern byte delay_factor;\r
+extern s16b autosave_freq;\r
+extern bool autosave_t;\r
+extern bool autosave_l;\r