OSDN Git Service

#37287 #37353 (2.2.0.89) ALIGNMENT 型を定義し、型の置換を継続中。 / Define ALIGNMENT, ongoing type...
authorDeskull <desull@users.sourceforge.jp>
Sat, 9 Dec 2017 07:05:08 +0000 (16:05 +0900)
committerDeskull <desull@users.sourceforge.jp>
Sat, 9 Dec 2017 07:05:08 +0000 (16:05 +0900)
src/externs.h
src/h-type.h
src/init1.c
src/load.c
src/object2.c
src/save.c
src/types.h
src/wizard1.c
src/xtra1.c

index 1d42792..85aaf6b 100644 (file)
@@ -1067,7 +1067,7 @@ extern bool inven_carry_okay(object_type *o_ptr);
 extern bool object_sort_comp(object_type *o_ptr, s32b o_value, object_type *j_ptr);
 extern s16b inven_carry(object_type *o_ptr);
 extern INVENTORY_IDX inven_takeoff(INVENTORY_IDX item, ITEM_NUMBER amt);
-extern void inven_drop(int item, int amt);
+extern void inven_drop(INVENTORY_IDX item, ITEM_NUMBER amt);
 extern void combine_pack(void);
 extern void reorder_pack(void);
 extern void display_koff(IDX k_idx);
index 2efa366..4dae520 100644 (file)
@@ -128,6 +128,8 @@ typedef s16b KIND_OBJECT_IDX;       /*!< ゲーム中のベースアイテムID型を
 
 typedef s32b POSITION;                 /*!< ゲーム中の座標型を定義 */
 
+typedef s32b ALIGNMENT;                /*!< 善悪属性の型定義 */
+
 /*!
  * @var typedef s32b HIT_POINT
  * @brief HPとその増減量の型定義
@@ -179,7 +181,7 @@ typedef s16b TERM_COLOR;            /*!< テキスト表示色の型定義 */
 typedef s32b OBJECT_TYPE_VALUE;    /*!< ゲーム中のアイテム主分類の型定義 */
 typedef s32b OBJECT_SUBTYPE_VALUE; /*!< ゲーム中のアイテム副分類の型定義 */
 typedef s16b PARAMETER_VALUE;      /*!< ゲーム中のアイテム能力値の型定義 */
-typedef s16b WEIGHT;               /*!< ゲーム中の重量の型定義(ポンド) */
+typedef s32b WEIGHT;               /*!< ゲーム中の重量の型定義(ポンド) */
 
 typedef int DICE_NUMBER; /*!< ゲーム中のダイス数の型定義 */
 typedef int DICE_SID;    /*!< ゲーム中のダイス面の型定義 */
index 14a1027..8aa0838 100644 (file)
@@ -1904,7 +1904,7 @@ errr parse_f_info(char *buf, header *head)
        }
 
        /* Oops */
-       else    return (6);
+       else return (6);
 
        /* Success */
        return (0);
index f21f6f2..d298cee 100644 (file)
@@ -370,7 +370,9 @@ static void rd_item_old(object_type *o_ptr)
        rd_byte(&o_ptr->discount);
        rd_byte(&tmp8u);
        o_ptr->number = (ITEM_NUMBER)tmp8u;
-       rd_s16b(&o_ptr->weight);
+
+       rd_s16b(&tmp16s);
+       o_ptr->weight = tmp16s;
 
        rd_byte(&tmp8u);
        o_ptr->name1 = tmp8u;
@@ -647,7 +649,8 @@ static void rd_item(object_type *o_ptr)
        }       
        else o_ptr->number = 1;
 
-       rd_s16b(&o_ptr->weight);
+       rd_s16b(&tmp16s);
+       o_ptr->weight = tmp16s;
 
        if (flags & SAVE_ITEM_NAME1)
        {
index 2509dac..5c82dce 100644 (file)
@@ -6396,11 +6396,10 @@ INVENTORY_IDX inven_takeoff(INVENTORY_IDX item, ITEM_NUMBER amt)
  * @details
  * The object will be dropped "near" the current location
  */
-void inven_drop(int item, int amt)
+void inven_drop(INVENTORY_IDX item, ITEM_NUMBER amt)
 {
        object_type forge;
        object_type *q_ptr;
-
        object_type *o_ptr;
 
        char o_name[MAX_NLEN];
@@ -7746,13 +7745,14 @@ static void drain_essence(void)
        bool observe = FALSE;
        int old_ds, old_dd, old_to_h, old_to_d, old_ac, old_to_a, old_pval, old_name2;
        TIME_EFFECT old_timeout;
-       u32b old_flgs[TR_FLAG_SIZE], new_flgs[TR_FLAG_SIZE];
+       BIT_FLAGS old_flgs[TR_FLAG_SIZE], new_flgs[TR_FLAG_SIZE];
        object_type *o_ptr;
        cptr q, s;
        POSITION iy, ix;
        byte_hack marked;
        ITEM_NUMBER number;
-       s16b next_o_idx, weight;
+       OBJECT_IDX next_o_idx;
+       WEIGHT weight;
 
        for (i = 0; i < sizeof(drain_value) / sizeof(int); i++)
                drain_value[i] = 0;
index 83cf4bf..b1d3da9 100644 (file)
@@ -173,7 +173,7 @@ static void wr_item(object_type *o_ptr)
        if (flags & SAVE_ITEM_DISCOUNT) wr_byte(o_ptr->discount);
        if (flags & SAVE_ITEM_NUMBER) wr_byte((byte_hack)o_ptr->number);
 
-       wr_s16b(o_ptr->weight);
+       wr_s16b((s16b)o_ptr->weight);
 
        if (flags & SAVE_ITEM_NAME1) wr_byte((byte_hack)o_ptr->name1);
        if (flags & SAVE_ITEM_NAME2) wr_byte((byte_hack)o_ptr->name2);
index a083bb5..434b07c 100644 (file)
@@ -1214,14 +1214,14 @@ struct player_type
        bool sutemi;
        bool counter;
 
-       s32b align;                             /* Good/evil/neutral */
+       ALIGNMENT align;                                /* Good/evil/neutral */
        POSITION run_py;
        POSITION run_px;
 
 
        /*** Extracted fields ***/
 
-       u32b total_weight;      /* Total weight being carried */
+       WEIGHT total_weight;    /*!< 所持品と装備品の計算総重量 / Total weight being carried */
 
        s16b stat_add[6];       /* Modifiers to stat values */
        s16b stat_ind[6];       /* Indexes into stat tables */
@@ -1343,7 +1343,6 @@ struct player_type
        s16b num_fire;          /* Number of shots */
 
        byte tval_xtra;         /* Correct xtra tval */
-
        byte tval_ammo;         /* Correct ammo tval */
 
        byte pspeed;            /* Current speed */
@@ -1375,13 +1374,13 @@ struct birther
        s16b wt;
        s16b sc;
 
-       s32b au;
+       PRICE au; /*!< 初期の所持金 */
 
        BASE_STATUS stat_max[6];        /* Current "maximal" stat values */
        BASE_STATUS stat_max_max[6];    /* Maximal "maximal" stat values */
        HIT_POINT player_hp[PY_MAX_LEVEL];
 
-       s16b chaos_patron;
+       PATRON_IDX chaos_patron;
 
        s16b vir_types[8];
 
index f7a3ac0..332f56c 100644 (file)
@@ -333,7 +333,7 @@ static void kind_info(char *buf, char *dam, char *wgt, char *chance, DEPTH *lev,
 
 
        /* Weight */
-       sprintf(wgt, "%3d.%d", q_ptr->weight / 10, q_ptr->weight % 10);
+       sprintf(wgt, "%3d.%d", (int)(q_ptr->weight / 10), (int)(q_ptr->weight % 10));
 }
 
 
index 9c0807e..e4cea31 100644 (file)
@@ -6302,7 +6302,7 @@ s16b empty_hands(bool riding_control)
  */
 bool heavy_armor(void)
 {
-       u16b monk_arm_wgt = 0;
+       WEIGHT monk_arm_wgt = 0;
 
        if ((p_ptr->pclass != CLASS_MONK) && (p_ptr->pclass != CLASS_FORCETRAINER) && (p_ptr->pclass != CLASS_NINJA)) return FALSE;