OSDN Git Service

#37287 #37353 (2.2.0.89) EXP型を定義し、型の置換を継続中。 / Define EXP, ongoing type replacement.
authorDeskull <desull@users.sourceforge.jp>
Fri, 29 Sep 2017 15:29:02 +0000 (00:29 +0900)
committerDeskull <desull@users.sourceforge.jp>
Fri, 29 Sep 2017 15:29:02 +0000 (00:29 +0900)
src/cave.c
src/cmd4.c
src/cmd6.c
src/dungeon.c
src/effects.c
src/externs.h
src/h-type.h
src/init1.c
src/types.h
src/wizard1.c

index 8930af8..68b5596 100644 (file)
@@ -31,18 +31,18 @@ static int feat_priority; /*!< マップ縮小表示時に表示すべき地形
  * @param x2 2点目のx座標
  * @return 2点間の距離
  */
-int distance (int y1, int x1, int y2, int x2)
+POSITION distance (POSITION y1, POSITION x1, POSITION y2, POSITION x2)
 {
-       int dy = (y1 > y2) ? (y1 - y2) : (y2 - y1);
-       int dx = (x1 > x2) ? (x1 - x2) : (x2 - x1);
+       POSITION dy = (y1 > y2) ? (y1 - y2) : (y2 - y1);
+       POSITION dx = (x1 > x2) ? (x1 - x2) : (x2 - x1);
 
        /* Squared distance */
-       int target = (dy * dy) + (dx * dx);
+       POSITION target = (dy * dy) + (dx * dx);
 
        /* Approximate distance: hypot(dy,dx) = max(dy,dx) + min(dy,dx) / 2 */
-       int d = (dy > dx) ? (dy + (dx>>1)) : (dx + (dy>>1));
+       POSITION d = (dy > dx) ? (dy + (dx>>1)) : (dx + (dy>>1));
 
-       int err;
+       POSITION err;
 
        /* Simple case */
        if (!dy || !dx) return d;
@@ -67,7 +67,7 @@ int distance (int y1, int x1, int y2, int x2)
  * @param feat 地形情報のID
  * @return 罠持ちの地形ならばTRUEを返す。
  */
-bool is_trap(int feat)
+bool is_trap(IDX feat)
 {
        return have_flag(f_info[feat].flags, FF_TRAP);
 }
@@ -90,7 +90,7 @@ bool is_known_trap(cave_type *c_ptr)
  * @param feat 地形情報のID
  * @return 閉じたドアのある地形ならばTRUEを返す。
  */
-bool is_closed_door(int feat)
+bool is_closed_door(IDX feat)
 {
        feature_type *f_ptr = &f_info[feat];
 
index 8c351cd..50f669b 100644 (file)
@@ -6714,11 +6714,11 @@ static void display_monster_list(int col, int row, int per_page, s16b mon_idx[],
 static void do_cmd_knowledge_monsters(bool *need_redraw, bool visual_only, int direct_r_idx)
 {
        int i, len, max;
-       int grp_cur, grp_top, old_grp_cur;
-       int mon_cur, mon_top;
-       int grp_cnt, grp_idx[100];
-       int mon_cnt;
-       s16b *mon_idx;
+       IDX grp_cur, grp_top, old_grp_cur;
+       IDX mon_cur, mon_top;
+       IDX grp_cnt, grp_idx[100];
+       IDX mon_cnt;
+       IDX *mon_idx;
 
        int column = 0;
        bool flag;
@@ -6728,7 +6728,7 @@ static void do_cmd_knowledge_monsters(bool *need_redraw, bool visual_only, int d
        byte attr_top = 0, char_left = 0;
 
        int browser_rows;
-       int wid, hgt;
+       POSITION wid, hgt;
 
        byte mode;
 
@@ -7091,7 +7091,7 @@ static void desc_obj_fake(IDX k_idx)
 static void do_cmd_knowledge_objects(bool *need_redraw, bool visual_only, IDX direct_k_idx)
 {
        int i, len, max;
-       int grp_cur, grp_top, old_grp_cur;
+       IDX grp_cur, grp_top, old_grp_cur;
        IDX object_old, object_cur, object_top;
        int grp_cnt, grp_idx[100];
        int object_cnt;
@@ -8092,13 +8092,8 @@ static void do_cmd_knowledge_quests_current(FILE *fff)
                                }
 
                                /* Print the quest info */
-#ifdef JP
-                               sprintf(tmp_str, "  %s (危険度:%d階相当)%s\n",
-                                       quest[i].name, quest[i].level, note);
-#else
-                               sprintf(tmp_str, "  %s (Danger level: %d)%s\n",
-                                       quest[i].name, quest[i].level, note);
-#endif
+                               sprintf(tmp_str, _("  %s (危険度:%d階相当)%s\n", "  %s (Danger level: %d)%s\n"),
+                                       quest[i].name, (int)quest[i].level, note);
 
                                fputs(tmp_str, fff);
 
index aebc711..c151752 100644 (file)
@@ -4279,7 +4279,8 @@ static int select_magic_eater(bool only_browse)
                if (request_list || use_menu)
                {
                        byte y, x = 0;
-                       int ctr, chance;
+                       OBJECT_SUBTYPE_VALUE ctr;
+                       int chance;
                        IDX k_idx;
                        char dummy[80];
                        POSITION x1, y1;
index 6296c27..0448de0 100644 (file)
@@ -631,7 +631,7 @@ static void pattern_teleport(void)
                sprintf(ppp, _("テレポート先:(%d-%d)", "Teleport to level (%d-%d): "), min_level, max_level);
 
                /* Default */
-               sprintf(tmp_val, "%d", (DEPTH)dun_level);
+               sprintf(tmp_val, "%d", (int)dun_level);
 
                /* Ask for a level */
                if (!get_string(ppp, tmp_val, 10)) return;
@@ -2973,7 +2973,7 @@ static void process_world_aux_recharge(void)
                {
                        /* Determine how many rods are charging. */
                        TIME_EFFECT temp = (o_ptr->timeout + (k_ptr->pval - 1)) / k_ptr->pval;
-                       if (temp > o_ptr->number) temp = o_ptr->number;
+                       if (temp > o_ptr->number) temp = (TIME_EFFECT)o_ptr->number;
 
                        /* Decrease timeout by that number. */
                        o_ptr->timeout -= temp;
index 4e0c9b5..bf01018 100644 (file)
@@ -4328,7 +4328,7 @@ void do_poly_self(void)
 
                do
                {
-                       new_race = randint0(MAX_RACES);
+                       new_race = (CHARACTER_IDX)randint0(MAX_RACES);
                }
                while ((new_race == p_ptr->prace) || (new_race == RACE_ANDROID));
 
index 920384e..a717438 100644 (file)
@@ -644,10 +644,10 @@ extern void player_outfit(void);
 extern void dump_yourself(FILE *fff);
 
 /* cave.c */
-extern int distance(int y1, int x1, int y2, int x2);
-extern bool is_trap(int feat);
+extern POSITION distance(POSITION y1, POSITION x1, POSITION y2, POSITION x2);
+extern bool is_trap(IDX feat);
 extern bool is_known_trap(cave_type *c_ptr);
-extern bool is_closed_door(int feat);
+extern bool is_closed_door(IDX feat);
 extern bool is_hidden_door(cave_type *c_ptr);
 extern bool los(int y1, int x1, int y2, int x2);
 extern void update_local_illumination(int y, int x);
index d146eb5..2ccf04c 100644 (file)
@@ -119,6 +119,7 @@ typedef byte DISCOUNT_RATE; /*!< ゲーム中の値引き率の型を定義 */
 
 typedef s16b PLAYER_LEVEL;  /*!< ゲーム中のプレイヤーレベルの型を定義 */
 typedef int DIRECTION;         /*!< ゲーム中の方角の型定義 */
+typedef s32b EXP;                      /*!< ゲーム中の主経験値の型定義 */
 typedef s16b SUB_EXP;          /*!< ゲーム中の副経験値の型定義 */
 
 typedef byte OBJECT_TYPE_VALUE;    /*!< ゲーム中のアイテム主分類の型定義 */
index 5c86278..0f061e4 100644 (file)
@@ -2714,7 +2714,7 @@ errr parse_e_info(char *buf, header *head)
 
                /* Save the values */
                e_ptr->level = level;
-               e_ptr->rarity = rarity;
+               e_ptr->rarity = (RARITY)rarity;
                /* e_ptr->weight = wgt; */
                e_ptr->cost = cost;
        }
@@ -3617,7 +3617,7 @@ struct dungeon_grid
        int             object;                 /* Object */
        int             ego;                    /* Ego-Item */
        int             artifact;               /* Artifact */
-       int             trap;                   /* Trap */
+       IDX             trap;                   /* Trap */
        int             cave_info;              /* Flags for CAVE_MARK, CAVE_GLOW, CAVE_ICKY, CAVE_ROOM */
        int             special;                /* Reserved for special terrain info */
        int             random;                 /* Number of the random effect */
@@ -4172,7 +4172,7 @@ static errr process_dungeon_file_aux(char *buf, int ymin, int xmin, int ymax, in
                        {
                                if (a_info[artifact_index].cur_num)
                                {
-                                       int k_idx = lookup_kind(TV_SCROLL, SV_SCROLL_ACQUIREMENT);
+                                       IDX k_idx = lookup_kind(TV_SCROLL, SV_SCROLL_ACQUIREMENT);
                                        object_type forge;
                                        object_type *q_ptr = &forge;
 
@@ -4234,8 +4234,8 @@ static errr process_dungeon_file_aux(char *buf, int ymin, int xmin, int ymax, in
                                q_ptr->cur_num = atoi(zz[4]);
                                q_ptr->max_num = atoi(zz[5]);
                                q_ptr->level   = atoi(zz[6]);
-                               q_ptr->r_idx   = atoi(zz[7]);
-                               q_ptr->k_idx   = atoi(zz[8]);
+                               q_ptr->r_idx   = (IDX)atoi(zz[7]);
+                               q_ptr->k_idx   = (IDX)atoi(zz[8]);
                                q_ptr->dungeon = atoi(zz[9]);
 
                                if (num > 10)
@@ -4260,7 +4260,7 @@ static errr process_dungeon_file_aux(char *buf, int ymin, int xmin, int ymax, in
 
                                for (idx = 2; idx < num; idx++)
                                {
-                                       int a_idx = atoi(zz[idx]);
+                                       IDX a_idx = (IDX)atoi(zz[idx]);
                                        if (a_idx < 1) continue;
                                        if (a_info[a_idx].cur_num > 0) continue;
                                        count++;
index 2c535a1..178e79d 100644 (file)
@@ -694,9 +694,9 @@ struct quest_type
        s16b type;              /*!< クエストの種別 / The quest type */
 
        char name[60];          /*!< クエスト名 / Quest name */
-       s16b level;             /*!< 処理階層 / Dungeon level */
-       s16b r_idx;             /*!< クエスト対象のモンスターID / Monster race */
-
+       DEPTH level;             /*!< 処理階層 / Dungeon level */
+       IDX r_idx;             /*!< クエスト対象のモンスターID / Monster race */
+          
        s16b cur_num;           /*!< 撃破したモンスターの数 / Number killed */
        s16b max_num;           /*!< 求められるモンスターの撃破数 / Number required */
 
@@ -980,10 +980,10 @@ struct player_type
 
        PRICE au;                       /* Current Gold */
 
-       s32b max_max_exp;       /* Max max experience (only to calculate score) */
-       s32b max_exp;           /* Max experience */
-       s32b exp;                       /* Cur experience */
-       u32b exp_frac;          /* Cur exp frac (times 2^16) */
+       EXP max_max_exp;        /* Max max experience (only to calculate score) */
+       EXP max_exp;            /* Max experience */
+       EXP exp;                        /* Cur experience */
+       EXP exp_frac;           /* Cur exp frac (times 2^16) */
 
        PLAYER_LEVEL lev;                       /* Level */
 
index b4fbdff..642b939 100644 (file)
@@ -234,7 +234,7 @@ static grouper group_item[] =
  * @param k ベースアイテムID
  * @return なし
  */
-static void kind_info(char *buf, char *dam, char *wgt, char *chance, int *lev, s32b *val, int k)
+static void kind_info(char *buf, char *dam, char *wgt, char *chance, DEPTH *lev, s32b *val, IDX k)
 {
        object_type forge;
        object_type *q_ptr;
@@ -1680,7 +1680,8 @@ static bool make_fake_artifact(object_type *o_ptr, IDX name1)
  */
 static void spoil_artifact(cptr fname)
 {
-       int i, j;
+       int i;
+       IDX j;
 
        object_type forge;
        object_type *q_ptr;