From 5da964d84b69c761e7226862f37946e74c42ebff Mon Sep 17 00:00:00 2001 From: Deskull Date: Sat, 9 Dec 2017 16:05:08 +0900 Subject: [PATCH] =?utf8?q?#37287=20#37353=20(2.2.0.89)=20ALIGNMENT=20?= =?utf8?q?=E5=9E=8B=E3=82=92=E5=AE=9A=E7=BE=A9=E3=81=97=E3=80=81=E5=9E=8B?= =?utf8?q?=E3=81=AE=E7=BD=AE=E6=8F=9B=E3=82=92=E7=B6=99=E7=B6=9A=E4=B8=AD?= =?utf8?q?=E3=80=82=20/=20Define=20ALIGNMENT,=20ongoing=20type=20replaceme?= =?utf8?q?nt.?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- src/externs.h | 2 +- src/h-type.h | 4 +++- src/init1.c | 2 +- src/load.c | 7 +++++-- src/object2.c | 8 ++++---- src/save.c | 2 +- src/types.h | 9 ++++----- src/wizard1.c | 2 +- src/xtra1.c | 2 +- 9 files changed, 21 insertions(+), 17 deletions(-) diff --git a/src/externs.h b/src/externs.h index 1d4279224..85aaf6be2 100644 --- a/src/externs.h +++ b/src/externs.h @@ -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); diff --git a/src/h-type.h b/src/h-type.h index 2efa3664a..4dae520bd 100644 --- a/src/h-type.h +++ b/src/h-type.h @@ -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; /*!< ゲーム中のダイス面の型定義 */ diff --git a/src/init1.c b/src/init1.c index 14a1027c0..8aa08381f 100644 --- a/src/init1.c +++ b/src/init1.c @@ -1904,7 +1904,7 @@ errr parse_f_info(char *buf, header *head) } /* Oops */ - else return (6); + else return (6); /* Success */ return (0); diff --git a/src/load.c b/src/load.c index f21f6f2ea..d298ceeb6 100644 --- a/src/load.c +++ b/src/load.c @@ -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) { diff --git a/src/object2.c b/src/object2.c index 2509dac3c..5c82dce0a 100644 --- a/src/object2.c +++ b/src/object2.c @@ -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; diff --git a/src/save.c b/src/save.c index 83cf4bf2b..b1d3da9b4 100644 --- a/src/save.c +++ b/src/save.c @@ -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); diff --git a/src/types.h b/src/types.h index a083bb5a0..434b07c53 100644 --- a/src/types.h +++ b/src/types.h @@ -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]; diff --git a/src/wizard1.c b/src/wizard1.c index f7a3ac0de..332f56c8f 100644 --- a/src/wizard1.c +++ b/src/wizard1.c @@ -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)); } diff --git a/src/xtra1.c b/src/xtra1.c index 9c0807ee6..e4cea318f 100644 --- a/src/xtra1.c +++ b/src/xtra1.c @@ -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; -- 2.11.0