From f1aa5071758a8e4bc471ff66201f4ca315580b25 Mon Sep 17 00:00:00 2001 From: Hourier <66951241+Hourier@users.noreply.github.com> Date: Sat, 8 Oct 2022 22:36:09 +0900 Subject: [PATCH] [Refacftor] #2653 Renamed struct object_kind to class BaseItemInfo --- src/core/stuff-handler.cpp | 2 +- src/flavor/flavor-util.h | 6 +++--- src/info-reader/kind-reader.cpp | 6 +++--- src/io/interpret-pref-file.cpp | 2 +- src/knowledge/knowledge-items.cpp | 6 +++--- src/load/item/item-loader-base.cpp | 2 +- src/market/building-craft-fix.cpp | 4 ++-- src/market/building-recharger.cpp | 6 +++--- src/mind/mind-mage.cpp | 2 +- src/monster-attack/monster-eating.cpp | 2 +- src/object/object-kind-hook.cpp | 12 ++++++------ src/spell-kind/magic-item-recharger.cpp | 2 +- src/system/baseitem-info-definition.cpp | 2 +- src/system/baseitem-info-definition.h | 6 ++++-- src/system/player-type-definition.h | 2 +- src/window/display-sub-windows.cpp | 4 ++-- src/wizard/wizard-item-modifier.cpp | 2 +- 17 files changed, 35 insertions(+), 33 deletions(-) diff --git a/src/core/stuff-handler.cpp b/src/core/stuff-handler.cpp index 0005fcf10..5f95d3f23 100644 --- a/src/core/stuff-handler.cpp +++ b/src/core/stuff-handler.cpp @@ -36,7 +36,7 @@ void monster_race_track(PlayerType *player_ptr, MonsterRaceId r_idx) */ void object_kind_track(PlayerType *player_ptr, KIND_OBJECT_IDX k_idx) { - player_ptr->object_kind_idx = k_idx; + player_ptr->baseitem_info_idx = k_idx; player_ptr->window_flags |= (PW_OBJECT); } diff --git a/src/flavor/flavor-util.h b/src/flavor/flavor-util.h index 3d4d508b5..52ff87e45 100644 --- a/src/flavor/flavor-util.h +++ b/src/flavor/flavor-util.h @@ -5,7 +5,7 @@ #include "object-enchant/tr-flags.h" -struct object_kind; +class BaseItemInfo; class ObjectType; struct flavor_type { char *buf; @@ -35,8 +35,8 @@ struct flavor_type { char fake_insc_buf[30]; TrFlags tr_flags; ObjectType *bow_ptr; - object_kind *k_ptr; - object_kind *flavor_k_ptr; + BaseItemInfo *k_ptr; + BaseItemInfo *flavor_k_ptr; int avgdam; }; diff --git a/src/info-reader/kind-reader.cpp b/src/info-reader/kind-reader.cpp index 6559885f4..40d93ab65 100644 --- a/src/info-reader/kind-reader.cpp +++ b/src/info-reader/kind-reader.cpp @@ -13,12 +13,12 @@ /*! * @brief テキストトークンを走査してフラグを一つ得る(ベースアイテム用) / - * Grab one flag in an object_kind from a textual string + * Grab one flag in an BaseItemInfo from a textual string * @param k_ptr 保管先のベースアイテム構造体参照ポインタ * @param what 参照元の文字列ポインタ * @return 見つけたらtrue */ -static bool grab_one_kind_flag(object_kind *k_ptr, std::string_view what) +static bool grab_one_kind_flag(BaseItemInfo *k_ptr, std::string_view what) { if (TrFlags::grab_one_flag(k_ptr->flags, k_info_flags, what)) { return true; @@ -41,7 +41,7 @@ static bool grab_one_kind_flag(object_kind *k_ptr, std::string_view what) */ errr parse_k_info(std::string_view buf, angband_header *) { - static object_kind *k_ptr = nullptr; + static BaseItemInfo *k_ptr = nullptr; const auto &tokens = str_split(buf, ':', false, 10); if (tokens[0] == "N") { diff --git a/src/io/interpret-pref-file.cpp b/src/io/interpret-pref-file.cpp index 463c55bf2..bd3097830 100644 --- a/src/io/interpret-pref-file.cpp +++ b/src/io/interpret-pref-file.cpp @@ -71,7 +71,7 @@ static errr interpret_k_token(char *buf) return 1; } - object_kind *k_ptr; + BaseItemInfo *k_ptr; int i = (int)strtol(zz[0], nullptr, 0); TERM_COLOR n1 = (TERM_COLOR)strtol(zz[1], nullptr, 0); auto n2 = static_cast(strtol(zz[2], nullptr, 0)); diff --git a/src/knowledge/knowledge-items.cpp b/src/knowledge/knowledge-items.cpp index d66f59984..4cecf6bc6 100644 --- a/src/knowledge/knowledge-items.cpp +++ b/src/knowledge/knowledge-items.cpp @@ -180,7 +180,7 @@ static void display_object_list(int col, int row, int per_page, IDX object_idx[] int i; for (i = 0; i < per_page && (object_idx[object_top + i] >= 0); i++) { TERM_COLOR a; - object_kind *flavor_k_ptr; + BaseItemInfo *flavor_k_ptr; KIND_OBJECT_IDX k_idx = object_idx[object_top + i]; auto *k_ptr = &k_info[k_idx]; TERM_COLOR attr = ((k_ptr->aware || visual_only) ? TERM_WHITE : TERM_SLATE); @@ -276,7 +276,7 @@ void do_cmd_knowledge_objects(PlayerType *player_ptr, bool *need_redraw, bool vi object_cnt = 0; } else { auto *k_ptr = &k_info[direct_k_idx]; - object_kind *flavor_k_ptr; + BaseItemInfo *flavor_k_ptr; if (!visual_only && k_ptr->flavor) { flavor_k_ptr = &k_info[k_ptr->flavor]; @@ -302,7 +302,7 @@ void do_cmd_knowledge_objects(PlayerType *player_ptr, bool *need_redraw, bool vi bool redraw = true; int column = 0; while (!flag) { - object_kind *k_ptr, *flavor_k_ptr; + BaseItemInfo *k_ptr, *flavor_k_ptr; if (redraw) { clear_from(0); diff --git a/src/load/item/item-loader-base.cpp b/src/load/item/item-loader-base.cpp index 313b1be3f..715640b53 100644 --- a/src/load/item/item-loader-base.cpp +++ b/src/load/item/item-loader-base.cpp @@ -13,7 +13,7 @@ void ItemLoaderBase::load_item(void) { auto loading_max_k_idx = rd_u16b(); - object_kind dummy; + BaseItemInfo dummy; for (auto i = 0U; i < loading_max_k_idx; i++) { auto *k_ptr = i < k_info.size() ? &k_info[i] : &dummy; auto tmp8u = rd_byte(); diff --git a/src/market/building-craft-fix.cpp b/src/market/building-craft-fix.cpp index 8c3394a36..91cae2c1d 100644 --- a/src/market/building-craft-fix.cpp +++ b/src/market/building-craft-fix.cpp @@ -175,7 +175,7 @@ static PRICE repair_broken_weapon_aux(PlayerType *player_ptr, PRICE bcost) } else { auto tval = (one_in_(5) ? mo_ptr->tval : ItemKindType::SWORD); while (true) { - object_kind *ck_ptr; + BaseItemInfo *ck_ptr; k_idx = lookup_kind(tval, SV_ANY); ck_ptr = &k_info[k_idx]; @@ -204,7 +204,7 @@ static PRICE repair_broken_weapon_aux(PlayerType *player_ptr, PRICE bcost) dd_bonus += mo_ptr->dd - k_info[mo_ptr->k_idx].dd; ds_bonus += mo_ptr->ds - k_info[mo_ptr->k_idx].ds; - object_kind *k_ptr; + BaseItemInfo *k_ptr; k_ptr = &k_info[k_idx]; o_ptr->k_idx = k_idx; o_ptr->weight = k_ptr->weight; diff --git a/src/market/building-recharger.cpp b/src/market/building-recharger.cpp index a21af189e..ac985ee9f 100644 --- a/src/market/building-recharger.cpp +++ b/src/market/building-recharger.cpp @@ -47,7 +47,7 @@ void building_recharge(PlayerType *player_ptr) return; } - object_kind *k_ptr; + BaseItemInfo *k_ptr; k_ptr = &k_info[o_ptr->k_idx]; /* @@ -196,7 +196,7 @@ void building_recharge_all(PlayerType *player_ptr) } DEPTH lev = k_info[o_ptr->k_idx].level; - object_kind *k_ptr; + BaseItemInfo *k_ptr; k_ptr = &k_info[o_ptr->k_idx]; switch (o_ptr->tval) { @@ -244,7 +244,7 @@ void building_recharge_all(PlayerType *player_ptr) for (INVENTORY_IDX i = 0; i < INVEN_PACK; i++) { ObjectType *o_ptr; o_ptr = &player_ptr->inventory_list[i]; - object_kind *k_ptr; + BaseItemInfo *k_ptr; k_ptr = &k_info[o_ptr->k_idx]; if ((o_ptr->tval < ItemKindType::STAFF) || (o_ptr->tval > ItemKindType::ROD)) { diff --git a/src/mind/mind-mage.cpp b/src/mind/mind-mage.cpp index 860acce44..2403eba80 100644 --- a/src/mind/mind-mage.cpp +++ b/src/mind/mind-mage.cpp @@ -41,7 +41,7 @@ bool eat_magic(PlayerType *player_ptr, int power) return false; } - object_kind *k_ptr; + BaseItemInfo *k_ptr; k_ptr = &k_info[o_ptr->k_idx]; DEPTH lev = k_info[o_ptr->k_idx].level; diff --git a/src/monster-attack/monster-eating.cpp b/src/monster-attack/monster-eating.cpp index 23d37a6fa..c2c0ee216 100644 --- a/src/monster-attack/monster-eating.cpp +++ b/src/monster-attack/monster-eating.cpp @@ -228,7 +228,7 @@ bool process_un_power(PlayerType *player_ptr, MonsterAttackPlayer *monap_ptr) } bool is_magic_mastery = has_magic_mastery(player_ptr) != 0; - object_kind *kind_ptr = &k_info[monap_ptr->o_ptr->k_idx]; + BaseItemInfo *kind_ptr = &k_info[monap_ptr->o_ptr->k_idx]; PARAMETER_VALUE pval = kind_ptr->pval; DEPTH level = monap_ptr->rlev; auto drain = is_magic_mastery ? std::min(pval, pval * level / 400 + pval * randint1(level) / 400) : pval; diff --git a/src/object/object-kind-hook.cpp b/src/object/object-kind-hook.cpp index 1e12cf87f..eaea2e91f 100644 --- a/src/object/object-kind-hook.cpp +++ b/src/object/object-kind-hook.cpp @@ -182,12 +182,12 @@ bool kind_is_good(KIND_OBJECT_IDX k_idx) } } -static bool comp_tval(const object_kind *a, const object_kind *b) +static bool comp_tval(const BaseItemInfo *a, const BaseItemInfo *b) { return a->tval < b->tval; }; -static bool comp_tval_sval(const object_kind *a, const object_kind *b) +static bool comp_tval_sval(const BaseItemInfo *a, const BaseItemInfo *b) { if (a->tval != b->tval) { return comp_tval(a, b); @@ -200,9 +200,9 @@ static bool comp_tval_sval(const object_kind *a, const object_kind *b) * 最初にtvalによるソートを行い、tvalが同じものはその中でsvalによるソートが行われた配列となる * @return 上述の処理を行った配列(静的変数)への参照を返す */ -static const std::vector &get_sorted_k_info() +static const std::vector &get_sorted_k_info() { - static std::vector sorted_k_info_cache; + static std::vector sorted_k_info_cache; if (sorted_k_info_cache.empty()) { for (const auto &k_ref : k_info) { @@ -220,7 +220,7 @@ static const std::vector &get_sorted_k_info() /*! * @brief tvalとsvalに対応するベースアイテムのIDを検索する - * Find the index of the object_kind with the given tval and sval + * Find the index of the BaseItemInfo with the given tval and sval * svalにSV_ANYが渡された場合はtvalが一致するすべてのベースアイテムから等確率でランダムに1つを選択する * @param tval 検索したいベースアイテムのtval * @param sval 検索したいベースアイテムのsval @@ -230,7 +230,7 @@ KIND_OBJECT_IDX lookup_kind(ItemKindType tval, OBJECT_SUBTYPE_VALUE sval) { const auto &sorted_k_info = get_sorted_k_info(); - object_kind k_obj; + BaseItemInfo k_obj; k_obj.tval = tval; k_obj.sval = sval; diff --git a/src/spell-kind/magic-item-recharger.cpp b/src/spell-kind/magic-item-recharger.cpp index c72497d0e..abc979d5e 100644 --- a/src/spell-kind/magic-item-recharger.cpp +++ b/src/spell-kind/magic-item-recharger.cpp @@ -59,7 +59,7 @@ bool recharge(PlayerType *player_ptr, int power) return false; } - object_kind *k_ptr; + BaseItemInfo *k_ptr; k_ptr = &k_info[o_ptr->k_idx]; DEPTH lev = k_info[o_ptr->k_idx].level; diff --git a/src/system/baseitem-info-definition.cpp b/src/system/baseitem-info-definition.cpp index cf77e7087..edaf260e3 100644 --- a/src/system/baseitem-info-definition.cpp +++ b/src/system/baseitem-info-definition.cpp @@ -13,4 +13,4 @@ /* * The object kind arrays */ -std::vector k_info; +std::vector k_info; diff --git a/src/system/baseitem-info-definition.h b/src/system/baseitem-info-definition.h index c899b811e..2e4bf7889 100644 --- a/src/system/baseitem-info-definition.h +++ b/src/system/baseitem-info-definition.h @@ -9,7 +9,9 @@ enum class ItemKindType : short; enum class RandomArtActType : short; -struct object_kind { +class BaseItemInfo { +public: + BaseItemInfo() = default; KIND_OBJECT_IDX idx{}; std::string name; /*!< ベースアイテム名 */ @@ -58,4 +60,4 @@ struct object_kind { RandomArtActType act_idx{}; /*!< 発動能力のID / Activative ability index */ }; -extern std::vector k_info; +extern std::vector k_info; diff --git a/src/system/player-type-definition.h b/src/system/player-type-definition.h index 32573ece4..61c1d7da6 100644 --- a/src/system/player-type-definition.h +++ b/src/system/player-type-definition.h @@ -249,7 +249,7 @@ public: MonsterRaceId monster_race_idx{}; /* Monster race trackee */ - KIND_OBJECT_IDX object_kind_idx{}; /* Object kind trackee */ + KIND_OBJECT_IDX baseitem_info_idx{}; /* Object kind trackee */ int16_t new_spells{}; /* Number of spells available */ int16_t old_spells{}; diff --git a/src/window/display-sub-windows.cpp b/src/window/display-sub-windows.cpp index 4653c5066..819827a80 100644 --- a/src/window/display-sub-windows.cpp +++ b/src/window/display-sub-windows.cpp @@ -528,8 +528,8 @@ void fix_object(PlayerType *player_ptr) } term_activate(angband_term[j]); - if (player_ptr->object_kind_idx) { - display_koff(player_ptr, player_ptr->object_kind_idx); + if (player_ptr->baseitem_info_idx) { + display_koff(player_ptr, player_ptr->baseitem_info_idx); } term_fresh(); diff --git a/src/wizard/wizard-item-modifier.cpp b/src/wizard/wizard-item-modifier.cpp index 62e85d8f2..7087d61f8 100644 --- a/src/wizard/wizard-item-modifier.cpp +++ b/src/wizard/wizard-item-modifier.cpp @@ -264,7 +264,7 @@ static void prt_alloc(ItemKindType tval, OBJECT_SUBTYPE_VALUE sval, TERM_LEN row int home = 0; for (int i = 0; i < K_MAX_DEPTH; i++) { int total_frac = 0; - object_kind *k_ptr; + BaseItemInfo *k_ptr; for (const auto &entry : alloc_kind_table) { PERCENTAGE prob = 0; -- 2.11.0