X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=src%2Fvariable.c;h=5bd2d32410162e18f0e8ebfaf00eae58928f1880;hb=9a44855a30a336d0a1900a21ddf15fbbbe05407d;hp=1574009b6dccfc0378f484eac30afbec8899363e;hpb=e037aac042564738ffbcc7ae68f2125da643cc44;p=hengband%2Fhengband.git diff --git a/src/variable.c b/src/variable.c index 1574009b6..5bd2d3241 100644 --- a/src/variable.c +++ b/src/variable.c @@ -96,36 +96,37 @@ u32b seed_town; /* Hack -- consistent town layout */ s16b command_cmd; /* Current "Angband Command" */ -s16b command_arg; /* Gives argument of current command */ -s16b command_rep; /* Gives repetition of current command */ -s16b command_dir; /* Gives direction of current command */ +COMMAND_ARG command_arg; /*!< 各種コマンドの汎用的な引数として扱う / Gives argument of current command */ +COMMAND_NUM command_rep; /*!< 各種コマンドの汎用的なリピート数として扱う / Gives repetition of current command */ +DIRECTION command_dir; /*!< 各種コマンドの汎用的な方向値処理として扱う/ Gives direction of current command */ s16b command_see; /* See "object1.c" */ s16b command_wrk; /* See "object1.c" */ -s16b command_gap = 999; /* See "object1.c" */ +TERM_LEN command_gap = 999; /* See "object1.c" */ s16b command_new; /* Command chaining from inven/equip view */ bool msg_flag; /* Used in msg_print() for "buffering" */ s16b running; /* Current counter for running, if any */ -s16b resting; /* Current counter for resting, if any */ - -s16b cur_hgt; /* Current dungeon height */ -s16b cur_wid; /* Current dungeon width */ -s16b dun_level; /* Current dungeon level */ -s16b num_repro; /* Current reproducer count */ -s16b object_level; /* Current object creation level */ -s16b monster_level; /* Current monster creation level */ -s16b base_level; /* Base dungeon level */ - -s32b turn; /*!< 画面表示上のゲーム時間基準となるターン / Current game turn */ -s32b turn_limit; /*!< turnの最大値 / Limit of game turn */ -s32b dungeon_turn; /*!< NASTY生成の計算に関わる内部ターン値 / Game turn in dungeon */ -s32b dungeon_turn_limit; /*!< dungeon_turnの最大値 / Limit of game turn in dungeon */ -s32b old_turn; /* Turn when level began */ -s32b old_battle; +GAME_TURN resting; /* Current counter for resting, if any */ + +POSITION cur_hgt; /* Current dungeon height */ +POSITION cur_wid; /* Current dungeon width */ +DEPTH dun_level; /*!< 現在の実ダンジョン階層、base_levelの参照元となる / Current dungeon level */ +MONSTER_NUMBER num_repro; /*!< Current reproducer count */ +DEPTH base_level; /*!< 基本生成レベル、後述のobject_level, monster_levelの参照元となる / Base dungeon level */ +DEPTH object_level; /*!< アイテムの生成レベル、base_levelを起点に一時変更する時に参照 / Current object creation level */ +DEPTH monster_level; /*!< モンスターの生成レベル、base_levelを起点に一時変更する時に参照 / Current monster creation level */ +bool invoking_midnight_curse; /*!< 悪夢モード時の真夜中太古の呪い発生処理フラグ */ + +GAME_TURN turn; /*!< 画面表示上のゲーム時間基準となるターン / Current game turn */ +GAME_TURN turn_limit; /*!< turnの最大値 / Limit of game turn */ +GAME_TURN dungeon_turn; /*!< NASTY生成の計算に関わる内部ターン値 / Game turn in dungeon */ +GAME_TURN dungeon_turn_limit; /*!< dungeon_turnの最大値 / Limit of game turn in dungeon */ +GAME_TURN old_turn; /* Turn when level began */ +GAME_TURN old_battle; bool use_sound; /* The "sound" mode is enabled */ bool use_music; /* The "music" mode is enabled */ @@ -140,7 +141,7 @@ bool inkey_scan; /* See the "inkey()" function */ bool inkey_flag; /* See the "inkey()" function */ bool get_com_no_macros = FALSE; /* Expand macros in "get_com" or not */ -s16b coin_type; /* Hack -- force coin type */ +OBJECT_SUBTYPE_VALUE coin_type; /* Hack -- force coin type */ bool opening_chest; /* Hack -- prevent chest generation */ @@ -150,8 +151,7 @@ bool shimmer_objects; /* Hack -- optimize multi-hued objects */ bool repair_monsters; /* Hack -- optimize detect monsters */ bool repair_objects; /* Hack -- optimize detect objects */ -s16b inven_nxt; /* Hack -- unused */ -bool hack_mind; +bool is_loading_now; /*!< ロード直後にcalc_bonus()時の徳変化、及びsanity_blast()による異常を抑止する */ bool hack_mutation; s16b inven_cnt; /* Number of items in inventory */ @@ -160,11 +160,11 @@ s16b equip_cnt; /* Number of items in equipment */ s16b o_max = 1; /* Number of allocated objects */ s16b o_cnt = 0; /* Number of live objects */ -s16b m_max = 1; /* Number of allocated monsters */ -s16b m_cnt = 0; /* Number of live monsters */ +MONSTER_IDX m_max = 1; /* Number of allocated monsters */ +MONSTER_IDX m_cnt = 0; /* Number of live monsters */ -s16b hack_m_idx = 0; /* Hack -- see "process_monsters()" */ -s16b hack_m_idx_ii = 0; +MONSTER_IDX hack_m_idx = 0; /* Hack -- see "process_monsters()" */ +MONSTER_IDX hack_m_idx_ii = 0; bool multi_rew = FALSE; char summon_kin_type; /* Hack, by Julian Lighton: summon 'relatives' */ @@ -175,199 +175,6 @@ int leaving_quest = 0; bool reinit_wilderness = FALSE; -/* - * 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 */ - - - - -/*** 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 */ - - -/* 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 */ - /* * Dungeon variables @@ -380,17 +187,17 @@ bool closing_flag; /* Dungeon is closing */ * Dungeon size info */ -s16b panel_row_min, panel_row_max; -s16b panel_col_min, panel_col_max; -s16b panel_col_prt, panel_row_prt; +POSITION panel_row_min, panel_row_max; +POSITION panel_col_min, panel_col_max; +POSITION panel_col_prt, panel_row_prt; /* * Targetting variables */ -s16b target_who; -s16b target_col; -s16b target_row; +IDX target_who; +POSITION target_col; +POSITION target_row; /* @@ -416,37 +223,37 @@ char savefile_base[40]; /* * Array of grids lit by player lite (see "cave.c") */ -s16b lite_n; -s16b lite_y[LITE_MAX]; -s16b lite_x[LITE_MAX]; +POSITION_IDX lite_n; +POSITION lite_y[LITE_MAX]; +POSITION lite_x[LITE_MAX]; /* * Array of grids lit by player lite (see "cave.c") */ -s16b mon_lite_n; -s16b mon_lite_y[MON_LITE_MAX]; -s16b mon_lite_x[MON_LITE_MAX]; +POSITION_IDX mon_lite_n; +POSITION mon_lite_y[MON_LITE_MAX]; +POSITION mon_lite_x[MON_LITE_MAX]; /* * Array of grids viewable to the player (see "cave.c") */ -s16b view_n; -byte view_y[VIEW_MAX]; -byte view_x[VIEW_MAX]; +POSITION_IDX view_n; +POSITION view_y[VIEW_MAX]; +POSITION view_x[VIEW_MAX]; /* * Array of grids for use by various functions (see "cave.c") */ -s16b temp_n; -byte temp_y[TEMP_MAX]; -byte temp_x[TEMP_MAX]; +POSITION_IDX temp_n; +POSITION temp_y[TEMP_MAX]; +POSITION temp_x[TEMP_MAX]; /* * Array of grids for delayed visual updating (see "cave.c") */ -s16b redraw_n = 0; -byte redraw_y[REDRAW_MAX]; -byte redraw_x[REDRAW_MAX]; +POSITION_IDX redraw_n = 0; +POSITION redraw_y[REDRAW_MAX]; +POSITION redraw_x[REDRAW_MAX]; /* @@ -478,7 +285,7 @@ char *macro__buf; /* * The number of quarks */ -s16b quark__num; +STR_OFFSET quark__num; /* * The pointers to the quarks [QUARK_MAX] @@ -489,54 +296,43 @@ cptr *quark__str; /* * The next "free" index to use */ -u16b message__next; +u32b message__next; /* * The index of the oldest message (none yet) */ -u16b message__last; +u32b message__last; /* * The next "free" offset */ -u16b message__head; +u32b message__head; /* * The offset to the oldest used char (none yet) */ -u16b message__tail; +u32b message__tail; /* * The array of offsets, by index [MESSAGE_MAX] */ -u16b *message__ptr; +u32b *message__ptr; /* * The array of chars, by offset [MESSAGE_BUF] */ char *message__buf; - -/* - * The array of normal options - */ -u32b option_flag[8]; -u32b option_mask[8]; - - -/* - * The array of window options - */ -u32b window_flag[8]; -u32b window_mask[8]; - +BIT_FLAGS option_flag[8]; //!< The array of normal options +BIT_FLAGS option_mask[8]; //!< The array of normal options +BIT_FLAGS window_flag[8]; //!< The array of window options +BIT_FLAGS window_mask[8]; //!< The array of window options /* * The array of window pointers */ term *angband_term[8]; - /* * Standard window names */ @@ -648,6 +444,7 @@ const cptr angband_sound_name[SOUND_MAX] = "unused", "explode", "glass", + "reflect", }; /* @@ -766,7 +563,7 @@ alloc_entry *alloc_race_table; * Specify attr/char pairs for visual special effects * Be sure to use "index & 0x7F" to avoid illegal access */ -byte misc_to_attr[256]; +TERM_COLOR misc_to_attr[256]; char misc_to_char[256]; @@ -774,7 +571,7 @@ char misc_to_char[256]; * Specify attr/char pairs for inventory items (by tval) * Be sure to use "index & 0x7F" to avoid illegal access */ -byte tval_to_attr[128]; +TERM_COLOR tval_to_attr[128]; char tval_to_char[128]; @@ -877,112 +674,30 @@ char *d_name; char *d_text; -/* - * Hack -- The special Angband "System Suffix" - * This variable is used to choose an appropriate "pref-xxx" file - */ -cptr ANGBAND_SYS = "xxx"; +cptr ANGBAND_SYS = "xxx"; //!< Hack -- The special Angband "System Suffix" This variable is used to choose an appropriate "pref-xxx" file + -/* - * Hack -- The special Angband "Keyboard Suffix" - * This variable is used to choose an appropriate macro-trigger definition - */ #ifdef JP -cptr ANGBAND_KEYBOARD = "JAPAN"; +cptr ANGBAND_KEYBOARD = "JAPAN"; //!< Hack -- The special Angband "Keyboard Suffix" This variable is used to choose an appropriate macro-trigger definition #else cptr ANGBAND_KEYBOARD = "0"; #endif -/* - * Hack -- The special Angband "Graphics Suffix" - * This variable is used to choose an appropriate "graf-xxx" file - */ -cptr ANGBAND_GRAF = "ascii"; - -/* - * Path name: The main "lib" directory - * This variable is not actually used anywhere in the code - */ -cptr ANGBAND_DIR; - -/* - * High score files (binary) - * These files may be portable between platforms - */ -cptr ANGBAND_DIR_APEX; - -/* - * Bone files for player ghosts (ascii) - * These files are portable between platforms - */ -cptr ANGBAND_DIR_BONE; - -/* - * Binary image files for the "*_info" arrays (binary) - * These files are not portable between platforms - */ -cptr ANGBAND_DIR_DATA; - -/* - * Textual template files for the "*_info" arrays (ascii) - * These files are portable between platforms - */ -cptr ANGBAND_DIR_EDIT; - -/* - * Script files - * These files are portable between platforms. - */ -cptr ANGBAND_DIR_SCRIPT; - -/* - * Various extra files (ascii) - * These files may be portable between platforms - */ -cptr ANGBAND_DIR_FILE; - -/* - * Help files (normal) for the online help (ascii) - * These files are portable between platforms - */ -cptr ANGBAND_DIR_HELP; - -/* - * Help files (spoilers) for the online help (ascii) - * These files are portable between platforms - */ -cptr ANGBAND_DIR_INFO; - -/* - * Default user "preference" files (ascii) - * These files are rarely portable between platforms - */ -cptr ANGBAND_DIR_PREF; - -/* - * Savefiles for current characters (binary) - * These files are portable between platforms - */ -cptr ANGBAND_DIR_SAVE; - -/* - * User "preference" files (ascii) - * These files are rarely portable between platforms - */ -cptr ANGBAND_DIR_USER; - -/* - * Various extra files (binary) - * These files are rarely portable between platforms - */ -cptr ANGBAND_DIR_XTRA; - - -/* - * Total Hack -- allow all items to be listed (even empty ones) - * This is only used by "do_cmd_inven_e()" and is cleared there. - */ -bool item_tester_full; +cptr ANGBAND_GRAF = "ascii"; //!< Hack -- The special Angband "Graphics Suffix" This variable is used to choose an appropriate "graf-xxx" file +cptr ANGBAND_DIR; //!< Path name: The main "lib" directory This variable is not actually used anywhere in the code +cptr ANGBAND_DIR_APEX; //!< High score files (binary) These files may be portable between platforms +cptr ANGBAND_DIR_BONE; //!< Bone files for player ghosts (ascii) These files are portable between platforms +cptr ANGBAND_DIR_DATA; //!< Binary image files for the "*_info" arrays (binary) These files are not portable between platforms +cptr ANGBAND_DIR_EDIT; //!< Textual template files for the "*_info" arrays (ascii) These files are portable between platforms +cptr ANGBAND_DIR_SCRIPT; //!< Script files These files are portable between platforms. +cptr ANGBAND_DIR_FILE; //!< Various extra files (ascii) These files may be portable between platforms +cptr ANGBAND_DIR_HELP; //!< Help files (normal) for the online help (ascii) These files are portable between platforms +cptr ANGBAND_DIR_INFO; //!< Help files (spoilers) for the online help (ascii) These files are portable between platforms +cptr ANGBAND_DIR_PREF; //!< Default user "preference" files (ascii) These files are rarely portable between platforms +cptr ANGBAND_DIR_SAVE; //!< Savefiles for current characters (binary) +cptr ANGBAND_DIR_USER; //!< User "preference" files (ascii) These files are rarely portable between platforms +cptr ANGBAND_DIR_XTRA; //!< Various extra files (binary) These files are rarely portable between platforms +bool item_tester_full; //!< Total Hack -- allow all items to be listed (even empty ones) This is only used by "do_cmd_inven_e()" and is cleared there. bool item_tester_no_ryoute = FALSE; @@ -990,7 +705,7 @@ bool item_tester_no_ryoute = FALSE; * Here is a "pseudo-hook" used during calls to "get_item()" and * "show_inven()" and "show_equip()", and the choice window routines. */ -byte item_tester_tval; +OBJECT_TYPE_VALUE item_tester_tval; /* @@ -1024,7 +739,7 @@ monster_hook_type get_mon_num2_hook; /* * Hack -- function hook to restrict "get_obj_num_prep()" function */ -bool (*get_obj_num_hook)(int k_idx); +bool (*get_obj_num_hook)(KIND_OBJECT_IDX k_idx); /* Hack, monk armour */ @@ -1047,58 +762,58 @@ building_type building[MAX_BLDG]; /* * Maximum number of quests */ -u16b max_quests; +QUEST_IDX max_q_idx; /* * Maximum number of monsters in r_info.txt */ -u16b max_r_idx; +MONRACE_IDX max_r_idx; /* * Maximum number of items in k_info.txt */ -u16b max_k_idx; +KIND_OBJECT_IDX max_k_idx; /* * Maximum number of vaults in v_info.txt */ -u16b max_v_idx; +IDX max_v_idx; /* * Maximum number of terrain features in f_info.txt */ -u16b max_f_idx; +IDX max_f_idx; /* * Maximum number of artifacts in a_info.txt */ -u16b max_a_idx; +ARTIFACT_IDX max_a_idx; /* * Maximum number of ego-items in e_info.txt */ -u16b max_e_idx; +IDX max_e_idx; /* * Maximum number of dungeon in e_info.txt */ -u16b max_d_idx; +DUNGEON_IDX max_d_idx; /* * Maximum number of objects in the level */ -u16b max_o_idx; +OBJECT_IDX max_o_idx; /* * Maximum number of monsters in the level */ -u16b max_m_idx; +MONSTER_IDX max_m_idx; /* * Maximum size of the wilderness */ -s32b max_wild_x; -s32b max_wild_y; +POSITION max_wild_x; +POSITION max_wild_y; /* * Quest info @@ -1140,21 +855,21 @@ bool world_player; int cap_mon; int cap_mspeed; -int cap_hp; -int cap_maxhp; -u16b cap_nickname; +HIT_POINT cap_hp; +HIT_POINT cap_maxhp; +STR_OFFSET cap_nickname; -s16b battle_mon[4]; +MONRACE_IDX battle_mon[4]; int sel_monster; int battle_odds; -int kakekin; +PRICE kakekin; u32b mon_odds[4]; -int pet_t_m_idx; -int riding_t_m_idx; +MONSTER_IDX pet_t_m_idx; +MONSTER_IDX riding_t_m_idx; -s16b kubi_r_idx[MAX_KUBI]; -s16b today_mon; +MONSTER_IDX kubi_r_idx[MAX_KUBI]; +MONSTER_IDX today_mon; bool write_level; @@ -1176,91 +891,91 @@ cptr screen_dump = NULL; /*** Terrain feature variables ***/ /* Nothing */ -s16b feat_none; +FEAT_IDX feat_none; /* Floor */ -s16b feat_floor; +FEAT_IDX feat_floor; /* Objects */ -s16b feat_glyph; -s16b feat_explosive_rune; -s16b feat_mirror; +FEAT_IDX feat_glyph; +FEAT_IDX feat_explosive_rune; +FEAT_IDX feat_mirror; /* Doors */ door_type feat_door[MAX_DOOR_TYPES]; /* Stairs */ -s16b feat_up_stair; -s16b feat_down_stair; -s16b feat_entrance; +FEAT_IDX feat_up_stair; +FEAT_IDX feat_down_stair; +FEAT_IDX feat_entrance; /* Special traps */ -s16b feat_trap_open; -s16b feat_trap_armageddon; -s16b feat_trap_piranha; +FEAT_IDX feat_trap_open; +FEAT_IDX feat_trap_armageddon; +FEAT_IDX feat_trap_piranha; /* Rubble */ -s16b feat_rubble; +FEAT_IDX feat_rubble; /* Seams */ -s16b feat_magma_vein; -s16b feat_quartz_vein; +FEAT_IDX feat_magma_vein; +FEAT_IDX feat_quartz_vein; /* Walls */ -s16b feat_granite; -s16b feat_permanent; +FEAT_IDX feat_granite; +FEAT_IDX feat_permanent; /* Glass floor */ -s16b feat_glass_floor; +FEAT_IDX feat_glass_floor; /* Glass walls */ -s16b feat_glass_wall; -s16b feat_permanent_glass_wall; +FEAT_IDX feat_glass_wall; +FEAT_IDX feat_permanent_glass_wall; /* Pattern */ -s16b feat_pattern_start; -s16b feat_pattern_1; -s16b feat_pattern_2; -s16b feat_pattern_3; -s16b feat_pattern_4; -s16b feat_pattern_end; -s16b feat_pattern_old; -s16b feat_pattern_exit; -s16b feat_pattern_corrupted; +FEAT_IDX feat_pattern_start; +FEAT_IDX feat_pattern_1; +FEAT_IDX feat_pattern_2; +FEAT_IDX feat_pattern_3; +FEAT_IDX feat_pattern_4; +FEAT_IDX feat_pattern_end; +FEAT_IDX feat_pattern_old; +FEAT_IDX feat_pattern_exit; +FEAT_IDX feat_pattern_corrupted; /* Various */ -s16b feat_black_market; -s16b feat_town; +FEAT_IDX feat_black_market; +FEAT_IDX feat_town; /* Terrains */ -s16b feat_deep_water; -s16b feat_shallow_water; -s16b feat_deep_lava; -s16b feat_shallow_lava; -s16b feat_dirt; -s16b feat_grass; -s16b feat_flower; -s16b feat_brake; -s16b feat_tree; -s16b feat_mountain; -s16b feat_swamp; +FEAT_IDX feat_deep_water; +FEAT_IDX feat_shallow_water; +FEAT_IDX feat_deep_lava; +FEAT_IDX feat_shallow_lava; +FEAT_IDX feat_dirt; +FEAT_IDX feat_grass; +FEAT_IDX feat_flower; +FEAT_IDX feat_brake; +FEAT_IDX feat_tree; +FEAT_IDX feat_mountain; +FEAT_IDX feat_swamp; /* Unknown grid (not detected) */ -s16b feat_undetected; +FEAT_IDX feat_undetected; /* * Which dungeon ? */ -byte dungeon_type; -s16b *max_dlv; +DUNGEON_IDX dungeon_type; +DEPTH *max_dlv; -s16b feat_wall_outer; -s16b feat_wall_inner; -s16b feat_wall_solid; -s16b floor_type[100], fill_type[100]; +FEAT_IDX feat_wall_outer; +FEAT_IDX feat_wall_inner; +FEAT_IDX feat_wall_solid; +FEAT_IDX floor_type[100], fill_type[100]; bool now_damaged; -s16b now_message; +COMMAND_CODE now_message; bool use_menu; #ifdef CHUUKEI