From 72c26b306e9a912fe13a4c1dd05f7bbe76051f29 Mon Sep 17 00:00:00 2001 From: Deskull Date: Sat, 9 Dec 2017 21:49:49 +0900 Subject: [PATCH] =?utf8?q?#37287=20#37353=20(2.2.0.89)=20FLOOR=5FIDX=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=20FLOOR=5FIDX,=20ongoing=20type=20replace?= =?utf8?q?ment.?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- src/externs.h | 2 +- src/h-type.h | 1 + src/load.c | 16 +++++++++++----- src/monster2.c | 2 +- src/object1.c | 5 +++-- src/save.c | 16 ++++++++-------- src/spells3.c | 3 ++- src/types.h | 21 ++++++++++----------- src/xtra2.c | 2 +- 9 files changed, 38 insertions(+), 30 deletions(-) diff --git a/src/externs.h b/src/externs.h index 85aaf6be2..917dc21aa 100644 --- a/src/externs.h +++ b/src/externs.h @@ -978,7 +978,7 @@ extern errr get_mon_num_prep(monster_hook_type monster_hook, monster_hook_type m extern MONRACE_IDX get_mon_num(DEPTH level); extern void monster_desc(char *desc, monster_type *m_ptr, int mode); extern int lore_do_probe(MONRACE_IDX r_idx); -extern void lore_treasure(MONSTER_IDX m_idx, int num_item, int num_gold); +extern void lore_treasure(MONSTER_IDX m_idx, ITEM_NUMBER num_item, ITEM_NUMBER num_gold); extern void sanity_blast(monster_type *m_ptr, bool necro); extern void update_mon(MONSTER_IDX m_idx, bool full); extern void update_monsters(bool full); diff --git a/src/h-type.h b/src/h-type.h index 4dae520bd..ce3b681a2 100644 --- a/src/h-type.h +++ b/src/h-type.h @@ -106,6 +106,7 @@ typedef unsigned long u32b; typedef s16b IDX; /*!< ゲーム中のID型を定義 */ typedef s16b FEAT_IDX; /*!< ゲーム中の地形ID型を定義 */ +typedef s16b FLOOR_IDX; /*!< ゲーム中の地形ID型を定義 */ typedef s16b RACE_IDX; /*!< ゲーム中のプレイヤー種族ID型を定義 */ typedef s16b CLASS_IDX; /*!< ゲーム中のプレイヤー職業ID型を定義 */ diff --git a/src/load.c b/src/load.c index d298ceeb6..62dbd3ab6 100644 --- a/src/load.c +++ b/src/load.c @@ -1159,22 +1159,28 @@ static void rd_monster(monster_type *m_ptr) static void rd_lore(MONRACE_IDX r_idx) { byte tmp8u; + s16b tmp16s; monster_race *r_ptr = &r_info[r_idx]; /* Count sights/deaths/kills */ - rd_s16b(&r_ptr->r_sights); - rd_s16b(&r_ptr->r_deaths); - rd_s16b(&r_ptr->r_pkills); + rd_s16b(&tmp16s); + r_ptr->r_sights = (MONSTER_NUMBER)tmp16s; + rd_s16b(&tmp16s); + r_ptr->r_deaths = (MONSTER_NUMBER)tmp16s; + rd_s16b(&tmp16s); + r_ptr->r_pkills = (MONSTER_NUMBER)tmp16s; if (h_older_than(1, 7, 0, 5)) { r_ptr->r_akills = r_ptr->r_pkills; } else { - rd_s16b(&r_ptr->r_akills); + rd_s16b(&tmp16s); + r_ptr->r_akills = (MONSTER_NUMBER)tmp16s; } - rd_s16b(&r_ptr->r_tkills); + rd_s16b(&tmp16s); + r_ptr->r_tkills = (MONSTER_NUMBER)tmp16s; /* Count wakes and ignores */ rd_byte(&r_ptr->r_wake); diff --git a/src/monster2.c b/src/monster2.c index 6a294f99c..bb445e183 100644 --- a/src/monster2.c +++ b/src/monster2.c @@ -1924,7 +1924,7 @@ int lore_do_probe(MONRACE_IDX r_idx) * gold and items are dropped, and remembers that information to be * described later by the monster recall code. */ -void lore_treasure(MONSTER_IDX m_idx, int num_item, int num_gold) +void lore_treasure(MONSTER_IDX m_idx, ITEM_NUMBER num_item, ITEM_NUMBER num_gold) { monster_type *m_ptr = &m_list[m_idx]; diff --git a/src/object1.c b/src/object1.c index 47f8e9bad..80e043982 100644 --- a/src/object1.c +++ b/src/object1.c @@ -3646,8 +3646,9 @@ COMMAND_CODE show_floor(int target_item, POSITION y, POSITION x, TERM_POSITION * char out_desc[23][MAX_NLEN]; COMMAND_CODE target_item_label = 0; - int floor_list[23], floor_num; - int wid, hgt; + int floor_list[23]; + int floor_num; + TERM_POSITION wid, hgt; char floor_label[52 + 1]; bool dont_need_to_show_weights = TRUE; diff --git a/src/save.c b/src/save.c index b1d3da9b4..ec61b9832 100644 --- a/src/save.c +++ b/src/save.c @@ -315,11 +315,11 @@ static void wr_lore(MONRACE_IDX r_idx) monster_race *r_ptr = &r_info[r_idx]; /* Count sights/deaths/kills */ - wr_s16b(r_ptr->r_sights); - wr_s16b(r_ptr->r_deaths); - wr_s16b(r_ptr->r_pkills); - wr_s16b(r_ptr->r_akills); - wr_s16b(r_ptr->r_tkills); + wr_s16b((s16b)r_ptr->r_sights); + wr_s16b((s16b)r_ptr->r_deaths); + wr_s16b((s16b)r_ptr->r_pkills); + wr_s16b((s16b)r_ptr->r_akills); + wr_s16b((s16b)r_ptr->r_tkills); /* Count wakes and ignores */ wr_byte(r_ptr->r_wake); @@ -330,8 +330,8 @@ static void wr_lore(MONRACE_IDX r_idx) wr_byte(r_ptr->r_xtra2); /* Count drops */ - wr_byte(r_ptr->r_drop_gold); - wr_byte(r_ptr->r_drop_item); + wr_byte((byte_hack)r_ptr->r_drop_gold); + wr_byte((byte_hack)r_ptr->r_drop_item); /* Count spells */ wr_byte(0); /* unused now */ @@ -354,7 +354,7 @@ static void wr_lore(MONRACE_IDX r_idx) /* Monster limit per level */ - wr_byte(r_ptr->max_num); + wr_byte((byte_hack)r_ptr->max_num); /* Location in saved floor */ wr_s16b(r_ptr->floor_id); diff --git a/src/spells3.c b/src/spells3.c index 3cc8b7d3e..68ca0facb 100644 --- a/src/spells3.c +++ b/src/spells3.c @@ -1679,7 +1679,7 @@ void call_the_(void) void fetch(int dir, int wgt, bool require_los) { int ty, tx; - DEPTH i; + OBJECT_IDX i; cave_type *c_ptr; object_type *o_ptr; char o_name[MAX_NLEN]; @@ -1764,6 +1764,7 @@ void fetch(int dir, int wgt, bool require_los) i = c_ptr->o_idx; c_ptr->o_idx = o_ptr->next_o_idx; cave[p_ptr->y][p_ptr->x].o_idx = i; /* 'move' it */ + o_ptr->next_o_idx = 0; o_ptr->iy = (byte)p_ptr->y; o_ptr->ix = (byte)p_ptr->x; diff --git a/src/types.h b/src/types.h index 434b07c53..7bf69ef07 100644 --- a/src/types.h +++ b/src/types.h @@ -351,19 +351,18 @@ struct monster_race SYMBOL_CODE x_char; /* Desired monster character */ - byte max_num; /* Maximum population allowed per level */ + MONSTER_NUMBER max_num; /* Maximum population allowed per level */ + MONSTER_NUMBER cur_num; /* Monster population on current level */ - byte cur_num; /* Monster population on current level */ + FLOOR_IDX floor_id; /* Location of unique monster */ - s16b floor_id; /* Location of unique monster */ + MONSTER_NUMBER r_sights; /* Count sightings of this monster */ + MONSTER_NUMBER r_deaths; /* Count deaths from this monster */ - s16b r_sights; /* Count sightings of this monster */ - s16b r_deaths; /* Count deaths from this monster */ - - s16b r_pkills; /* Count visible monsters killed in this life */ - s16b r_akills; /* Count all monsters killed in this life */ - s16b r_tkills; /* Count monsters killed in all lives */ + MONSTER_NUMBER r_pkills; /* Count visible monsters killed in this life */ + MONSTER_NUMBER r_akills; /* Count all monsters killed in this life */ + MONSTER_NUMBER r_tkills; /* Count monsters killed in all lives */ byte r_wake; /* Number of times woken up (?) */ byte r_ignore; /* Number of times ignored (?) */ @@ -371,8 +370,8 @@ struct monster_race byte r_xtra1; /* Something (unused) */ byte r_xtra2; /* Something (unused) */ - byte r_drop_gold; /* Max number of gold dropped at once */ - byte r_drop_item; /* Max number of item dropped at once */ + ITEM_NUMBER r_drop_gold; /*!< これまでに撃破時に落とした財宝の数 / Max number of gold dropped at once */ + ITEM_NUMBER r_drop_item; /*!< これまでに撃破時に落としたアイテムの数 / Max number of item dropped at once */ byte r_cast_spell; /* Max number of other spells seen */ diff --git a/src/xtra2.c b/src/xtra2.c index 0eb79c958..ed73a2e44 100644 --- a/src/xtra2.c +++ b/src/xtra2.c @@ -5732,7 +5732,7 @@ cptr rumor_bind_name(char *base, cptr fullname) void display_rumor(bool ex) { - bool err; + errr err; int section = 0; char Rumor[1024]; -- 2.11.0