OSDN Git Service

[Refactor] #37353 コメント整理。 / Refactor comments.
[hengband/hengband.git] / src / cmd4.c
index 2042419..aac03f1 100644 (file)
 #include "world.h"
 #include "player-status.h"
 #include "sort.h"
+#include "mutation.h"
+#include "quest.h"
+#include "store.h"
+#include "artifact.h"
+#include "avatar.h"
+#include "object-hook.h"
 
 
 /*
@@ -386,7 +392,7 @@ errr do_cmd_write_nikki(int type, int num, concptr note)
            type == NIKKI_RAND_QUEST_F ||
            type == NIKKI_TO_QUEST)
        {
-               IDX old_quest;
+               QUEST_IDX old_quest;
 
                old_quest = p_ptr->inside_quest;
                p_ptr->inside_quest = (quest[num].type == QUEST_TYPE_RANDOM) ? 0 : num;
@@ -420,13 +426,13 @@ errr do_cmd_write_nikki(int type, int num, concptr note)
                return (-1);
        }
 
-       q_idx = quest_number(dun_level);
+       q_idx = quest_number(current_floor_ptr->dun_level);
 
        if (write_level)
        {
                if (p_ptr->inside_arena)
                        note_level = _("アリーナ:", "Arane:");
-               else if (!dun_level)
+               else if (!current_floor_ptr->dun_level)
                        note_level = _("地上:", "Surface:");
                else if (q_idx && (is_fixed_quest_idx(q_idx)
                        && !((q_idx == QUEST_OBERON) || (q_idx == QUEST_SERPENT))))
@@ -434,9 +440,9 @@ errr do_cmd_write_nikki(int type, int num, concptr note)
                else
                {
 #ifdef JP
-                       sprintf(note_level_buf, "%d階(%s):", (int)dun_level, d_name+d_info[dungeon_type].name);
+                       sprintf(note_level_buf, "%d階(%s):", (int)current_floor_ptr->dun_level, d_name+d_info[p_ptr->dungeon_idx].name);
 #else
-                       sprintf(note_level_buf, "%s L%d:", d_name+d_info[dungeon_type].name, (int)dun_level);
+                       sprintf(note_level_buf, "%s L%d:", d_name+d_info[p_ptr->dungeon_idx].name, (int)current_floor_ptr->dun_level);
 #endif
                        note_level = note_level_buf;
                }
@@ -511,8 +517,8 @@ errr do_cmd_write_nikki(int type, int num, concptr note)
                {
                        fprintf(fff, _(" %2d:%02d %20s %sの最深階%d階に到達した。\n",
                                                   " %2d:%02d %20s reached level %d of %s for the first time.\n"), hour, min, note_level,
-                                                  _(d_name+d_info[dungeon_type].name, num),
-                                                  _(num, d_name+d_info[dungeon_type].name));
+                                                  _(d_name+d_info[p_ptr->dungeon_idx].name, num),
+                                                  _(num, d_name+d_info[p_ptr->dungeon_idx].name));
                        break;
                }
                case NIKKI_TRUMP:
@@ -533,8 +539,8 @@ errr do_cmd_write_nikki(int type, int num, concptr note)
                        }
                        else
                        {
-                               if (!(dun_level+num)) to = _("地上", "the surface");
-                               else to = format(_("%d階", "level %d"), dun_level+num);
+                               if (!(current_floor_ptr->dun_level+num)) to = _("地上", "the surface");
+                               else to = format(_("%d階", "level %d"), current_floor_ptr->dun_level+num);
                        }
                        fprintf(fff, _(" %2d:%02d %20s %sへ%s。\n", " %2d:%02d %20s %s %s.\n"), hour, min, note_level, _(to, note), _(note, to));
                        break;
@@ -543,8 +549,8 @@ errr do_cmd_write_nikki(int type, int num, concptr note)
                {
                        if (!num)
                        fprintf(fff, _(" %2d:%02d %20s 帰還を使って%sの%d階へ下りた。\n", " %2d:%02d %20s recalled to dungeon level %d of %s.\n"), 
-                                               hour, min, note_level, _(d_name+d_info[dungeon_type].name, (int)max_dlv[dungeon_type]), 
-                                                                                          _((int)max_dlv[dungeon_type], d_name+d_info[dungeon_type].name));
+                                               hour, min, note_level, _(d_name+d_info[p_ptr->dungeon_idx].name, (int)max_dlv[p_ptr->dungeon_idx]), 
+                                                                                          _((int)max_dlv[p_ptr->dungeon_idx], d_name+d_info[p_ptr->dungeon_idx].name));
                        else
                                fprintf(fff, _(" %2d:%02d %20s 帰還を使って地上へと戻った。\n", " %2d:%02d %20s recalled from dungeon to surface.\n"), hour, min, note_level);
                        break;
@@ -600,10 +606,10 @@ errr do_cmd_write_nikki(int type, int num, concptr note)
                case NIKKI_WIZ_TELE:
                {
                        concptr to;
-                       if (!dun_level)
+                       if (!current_floor_ptr->dun_level)
                                to = _("地上", "the surface");
                        else
-                               to = format(_("%d階(%s)", "level %d of %s"), dun_level, d_name+d_info[dungeon_type].name);
+                               to = format(_("%d階(%s)", "level %d of %s"), current_floor_ptr->dun_level, d_name+d_info[p_ptr->dungeon_idx].name);
 
                        fprintf(fff, _(" %2d:%02d %20s %sへとウィザード・テレポートで移動した。\n",
                                                   " %2d:%02d %20s wizard-teleport to %s.\n"), hour, min, note_level, to);
@@ -612,10 +618,10 @@ errr do_cmd_write_nikki(int type, int num, concptr note)
                case NIKKI_PAT_TELE:
                {
                        concptr to;
-                       if (!dun_level)
+                       if (!current_floor_ptr->dun_level)
                                to = _("地上", "the surface");
                        else
-                               to = format(_("%d階(%s)", "level %d of %s"), dun_level, d_name+d_info[dungeon_type].name);
+                               to = format(_("%d階(%s)", "level %d of %s"), current_floor_ptr->dun_level, d_name+d_info[p_ptr->dungeon_idx].name);
 
                        fprintf(fff, _(" %2d:%02d %20s %sへとパターンの力で移動した。\n",
                                                   " %2d:%02d %20s used Pattern to teleport to %s.\n"), hour, min, note_level, to);
@@ -846,11 +852,11 @@ static void do_cmd_last_get(void)
        sprintf(buf,_("%sの入手を記録します。", "Do you really want to record getting %s? "),record_o_name);
        if (!get_check(buf)) return;
 
-       turn_tmp = turn;
-       turn = record_turn;
+       turn_tmp = current_world_ptr->game_turn;
+       current_world_ptr->game_turn = record_turn;
        sprintf(buf,_("%sを手に入れた。", "descover %s."), record_o_name);
        do_cmd_write_nikki(NIKKI_BUNSHOU, 0, buf);
-       turn = turn_tmp;
+       current_world_ptr->game_turn = turn_tmp;
 }
 
 /*!
@@ -3218,7 +3224,7 @@ void do_cmd_visuals(void)
                case '4':
                {
                        static concptr choice_msg = _("モンスターの[色/文字]を変更します", "Change monster attr/chars");
-                       static IDX r = 0;
+                       static MONRACE_IDX r = 0;
 
                        prt(format(_("コマンド: %s", "Command: %s"), choice_msg), 15, 0);
 
@@ -3852,16 +3858,16 @@ void do_cmd_feeling(void)
        if (p_ptr->wild_mode) return;
 
        /* No useful feeling in quests */
-       if (p_ptr->inside_quest && !random_quest_number(dun_level))
+       if (p_ptr->inside_quest && !random_quest_number(current_floor_ptr->dun_level))
        {
                msg_print(_("典型的なクエストのダンジョンのようだ。", "Looks like a typical quest level."));
                return;
        }
 
        /* No useful feeling in town */
-       else if (p_ptr->town_num && !dun_level)
+       else if (p_ptr->town_num && !current_floor_ptr->dun_level)
        {
-               if (!strcmp(town[p_ptr->town_num].name, _("荒野", "wilderness")))
+               if (!strcmp(town_info[p_ptr->town_num].name, _("荒野", "wilderness")))
                {
                        msg_print(_("何かありそうな荒野のようだ。", "Looks like a strange wilderness."));
                        return;
@@ -3874,7 +3880,7 @@ void do_cmd_feeling(void)
        }
 
        /* No useful feeling in the wilderness */
-       else if (!dun_level)
+       else if (!current_floor_ptr->dun_level)
        {
                msg_print(_("典型的な荒野のようだ。", "Looks like a typical wilderness."));
                return;
@@ -4175,7 +4181,7 @@ static IDX collect_monsters(IDX grp_cur, IDX mon_idx[], BIT_FLAGS8 mode)
                        int j;
                        for (j = 0; j < MAX_KUBI; j++)
                        {
-                               if (kubi_r_idx[j] == i || kubi_r_idx[j] - 10000 == i ||
+                               if (current_world_ptr->bounty_r_idx[j] == i || current_world_ptr->bounty_r_idx[j] - 10000 == i ||
                                        (p_ptr->today_mon && p_ptr->today_mon == i))
                                {
                                        wanted = TRUE;
@@ -4372,10 +4378,10 @@ static byte object_group_tval[] =
  * mode & 0x01 : check for non-empty group
  * mode & 0x02 : visual operation only
  */
-static int collect_objects(int grp_cur, IDX object_idx[], BIT_FLAGS8 mode)
+static KIND_OBJECT_IDX collect_objects(int grp_cur, KIND_OBJECT_IDX object_idx[], BIT_FLAGS8 mode)
 {
-       IDX i;
-       int j, k, object_cnt = 0;
+       KIND_OBJECT_IDX i, object_cnt = 0;
+       int j, k;
 
        /* Get a list of x_char in this group */
        byte group_tval = object_group_tval[grp_cur];
@@ -4455,10 +4461,10 @@ static concptr feature_group_text[] =
  *
  * mode & 0x01 : check for non-empty group
  */
-static int collect_features(int grp_cur, IDX *feat_idx, BIT_FLAGS8 mode)
+static FEAT_IDX collect_features(int grp_cur, FEAT_IDX *feat_idx, BIT_FLAGS8 mode)
 {
-       IDX i;
-       int feat_cnt = 0;
+       FEAT_IDX i;
+       FEAT_IDX feat_cnt = 0;
 
        /* Unused;  There is a single group. */
        (void)grp_cur;
@@ -4795,7 +4801,7 @@ static void do_cmd_knowledge_inven(void)
                        do_cmd_knowledge_inven_aux(fff, &inventory[i], &j, tval, where);
                }
 
-               st_ptr = &town[1].store[STORE_HOME];
+               st_ptr = &town_info[1].store[STORE_HOME];
                strcpy(where, _("家", "H "));
                for (i = 0; i < st_ptr->stock_num; i++)
                {
@@ -5264,21 +5270,19 @@ static void do_cmd_knowledge_artifacts(void)
        }
 
        /* Check the dungeon */
-       for (y = 0; y < cur_hgt; y++)
+       for (y = 0; y < current_floor_ptr->height; y++)
        {
-               for (x = 0; x < cur_wid; x++)
+               for (x = 0; x < current_floor_ptr->width; x++)
                {
-                       cave_type *c_ptr = &cave[y][x];
+                       grid_type *g_ptr = &current_floor_ptr->grid_array[y][x];
 
                        OBJECT_IDX this_o_idx, next_o_idx = 0;
 
                        /* Scan all objects in the grid */
-                       for (this_o_idx = c_ptr->o_idx; this_o_idx; this_o_idx = next_o_idx)
+                       for (this_o_idx = g_ptr->o_idx; this_o_idx; this_o_idx = next_o_idx)
                        {
                                object_type *o_ptr;
-                               o_ptr = &o_list[this_o_idx];
-
-                               /* Acquire next object */
+                               o_ptr = &current_floor_ptr->o_list[this_o_idx];
                                next_o_idx = o_ptr->next_o_idx;
 
                                /* Ignore non-artifacts */
@@ -5503,7 +5507,8 @@ static void do_cmd_knowledge_uniques(void)
  */
 static void do_cmd_knowledge_weapon_exp(void)
 {
-       int i, num, weapon_exp;
+       int i, num;
+       SUB_EXP weapon_exp;
        KIND_OBJECT_IDX j;
 
        FILE *fff;
@@ -5562,7 +5567,8 @@ static void do_cmd_knowledge_weapon_exp(void)
 static void do_cmd_knowledge_spell_exp(void)
 {
        SPELL_IDX i = 0;
-       int spell_exp, exp_level;
+       SUB_EXP spell_exp;
+       int exp_level;
 
        FILE *fff;
        const magic_type *s_ptr;
@@ -5843,7 +5849,7 @@ static void do_cmd_knowledge_pets(void)
        for (i = m_max - 1; i >= 1; i--)
        {
                /* Access the monster */
-               m_ptr = &m_list[i];
+               m_ptr = &current_floor_ptr->m_list[i];
 
                /* Ignore "dead" monsters */
                if (!m_ptr->r_idx) continue;
@@ -6160,7 +6166,7 @@ static void browser_cursor(char ch, int *column, IDX *grp_cur, int grp_cnt,
                int old_grp = grp;
 
                /* Move up or down */
-               grp += ddy[d];
+               grp += (IDX)ddy[d];
 
                /* Verify */
                if (grp >= grp_cnt)     grp = grp_cnt - 1;
@@ -6172,7 +6178,7 @@ static void browser_cursor(char ch, int *column, IDX *grp_cur, int grp_cnt,
        else
        {
                /* Move up or down */
-               list += ddy[d];
+               list += (IDX)ddy[d];
 
                /* Verify */
                if (list >= list_cnt) list = list_cnt - 1;
@@ -6206,11 +6212,10 @@ static void display_visual_list(int col, int row, int height, int width, TERM_CO
                /* Display columns until done */
                for (j = 0; j < width; j++)
                {
-                       byte a;
-                       char c;
+                       TERM_COLOR a, ia;
+                       SYMBOL_CODE c, ic;
                        TERM_LEN x = col + j;
                        TERM_LEN y = row + i;
-                       int ia, ic;
 
                        /* Bigtile mode uses double width */
                        if (use_bigtile) x += j;
@@ -6223,8 +6228,8 @@ static void display_visual_list(int col, int row, int height, int width, TERM_CO
                            (!use_graphics && ic > 0x7f))
                                continue;
 
-                       a = (byte)ia;
-                       c = (char)ic;
+                       a = ia;
+                       c = ic;
 
                        /* Force correct code for both ASCII character and tile */
                        if (c & 0x80) a |= 0x80;
@@ -6361,8 +6366,8 @@ static bool visual_mode_command(char ch, bool *visual_list_ptr,
                {
                        int eff_width;
                        int d = get_keymap_dir(ch);
-                       byte a = (*cur_attr_ptr & 0x7f);
-                       byte c = *cur_char_ptr;
+                       TERM_COLOR a = (*cur_attr_ptr & 0x7f);
+                       SYMBOL_CODE c = *cur_char_ptr;
 
                        if (use_bigtile) eff_width = width / 2;
                        else eff_width = width;
@@ -6373,8 +6378,8 @@ static bool visual_mode_command(char ch, bool *visual_list_ptr,
                        if ((a == 0x7f) && (ddy[d] > 0)) d = 0;
                        if ((c == 0xff) && (ddx[d] > 0)) d = 0;
 
-                       a += ddy[d];
-                       c += ddx[d];
+                       a += (TERM_COLOR)ddy[d];
+                       c += (SYMBOL_CODE)ddx[d];
 
                        /* Force correct code for both ASCII character and tile */
                        if (c & 0x80) a |= 0x80;
@@ -7528,9 +7533,9 @@ static void do_cmd_knowledge_kubi(void)
 
                for (i = 0; i < MAX_KUBI; i++)
                {
-                       if (kubi_r_idx[i] <= 10000)
+                       if (current_world_ptr->bounty_r_idx[i] <= 10000)
                        {
-                               fprintf(fff,"%s\n", r_name + r_info[kubi_r_idx[i]].name);
+                               fprintf(fff,"%s\n", r_name + r_info[current_world_ptr->bounty_r_idx[i]].name);
 
                                listed = TRUE;
                        }
@@ -7581,9 +7586,8 @@ static void do_cmd_knowledge_virtues(void)
 }
 
 /*
-* Dungeon
-*
-*/
+ * Dungeon
+ */
 static void do_cmd_knowledge_dungeon(void)
 {
        FILE *fff;
@@ -7682,7 +7686,7 @@ static void do_cmd_knowledge_quests_current(FILE *fff)
        char rand_tmp_str[120] = "\0";
        GAME_TEXT name[MAX_NLEN];
        monster_race *r_ptr;
-       IDX i;
+       QUEST_IDX i;
        int rand_level = 100;
        int total = 0;
 
@@ -7695,7 +7699,7 @@ static void do_cmd_knowledge_quests_current(FILE *fff)
                        (quest[i].status == QUEST_STATUS_COMPLETED))
                {
                        /* Set the quest number temporary */
-                       IDX old_quest = p_ptr->inside_quest;
+                       QUEST_IDX old_quest = p_ptr->inside_quest;
                        int j;
 
                        /* Clear the text */
@@ -8060,7 +8064,7 @@ static void do_cmd_knowledge_quests(void)
        fd_kill(file_name);
 
        /* Free Memory */
-       C_KILL(quest_num, max_q_idx, IDX);
+       C_KILL(quest_num, max_q_idx, QUEST_IDX);
 }
 
 
@@ -8077,7 +8081,7 @@ static void do_cmd_knowledge_home(void)
        GAME_TEXT o_name[MAX_NLEN];
        concptr         paren = ")";
 
-       process_dungeon_file("w_info.txt", 0, 0, max_wild_y, max_wild_x);
+       process_dungeon_file("w_info.txt", 0, 0, current_world_ptr->max_wild_y, current_world_ptr->max_wild_x);
 
        /* Open a new file */
        fff = my_fopen_temp(file_name, 1024);
@@ -8090,7 +8094,7 @@ static void do_cmd_knowledge_home(void)
        if (fff)
        {
                /* Print all homes in the different towns */
-               st_ptr = &town[1].store[STORE_HOME];
+               st_ptr = &town_info[1].store[STORE_HOME];
 
                /* Home -- if anything there */
                if (st_ptr->stock_num)