OSDN Git Service

[WIP] [Refactor] #3287 PlayerType への依存がなくなった関数から引数を削除した
authorHourier <66951241+Hourier@users.noreply.github.com>
Sat, 6 May 2023 07:57:00 +0000 (16:57 +0900)
committerHourier <66951241+Hourier@users.noreply.github.com>
Wed, 31 May 2023 13:51:44 +0000 (22:51 +0900)
24 files changed:
src/autopick/autopick-destroyer.cpp
src/autopick/autopick-util.cpp
src/autopick/autopick-util.h
src/autopick/autopick.cpp
src/cmd-item/cmd-destroy.cpp
src/core/stuff-handler.cpp
src/core/stuff-handler.h
src/inventory/floor-item-getter.cpp
src/inventory/item-getter.cpp
src/io/input-key-processor.cpp
src/market/building-enchanter.cpp
src/mind/mind-weaponsmith.cpp
src/object-hook/hook-expendable.cpp
src/object-hook/hook-expendable.h
src/spell-kind/magic-item-recharger.cpp
src/spell-realm/spells-craft.cpp
src/spell-realm/spells-sorcery.cpp
src/spell/spells-object.cpp
src/spell/spells-object.h
src/store/purchase-order.cpp
src/store/store-key-processor.cpp
src/window/display-sub-windows.cpp
src/window/display-sub-windows.h
src/wizard/wizard-special-process.cpp

index c8d9dc9..b68ada7 100644 (file)
@@ -149,7 +149,7 @@ void auto_destroy_item(PlayerType *player_ptr, ItemEntity *o_ptr, int autopick_i
     }
 
     disturb(player_ptr, false, false);
-    if (!can_player_destroy_object(player_ptr, o_ptr)) {
+    if (!can_player_destroy_object(o_ptr)) {
         const auto item_name = describe_flavor(player_ptr, o_ptr, 0);
         msg_format(_("%sは破壊不能だ。", "You cannot auto-destroy %s."), item_name.data());
         return;
index 9362de5..81b400b 100644 (file)
@@ -68,7 +68,7 @@ int get_com_id(char key)
 /*!
  * @brief Auto inscription
  */
-void auto_inscribe_item(PlayerType *player_ptr, ItemEntity *o_ptr, int idx)
+void auto_inscribe_item(ItemEntity *o_ptr, int idx)
 {
     if (idx < 0 || autopick_list[idx].insc.empty()) {
         return;
index 7b514c5..5362149 100644 (file)
@@ -83,10 +83,9 @@ struct text_body_type {
 extern std::vector<autopick_type> autopick_list;
 extern ItemEntity autopick_last_destroyed_object;
 
-class PlayerType;
 void free_text_lines(std::vector<concptr> &lines_list);
 int get_com_id(char key);
-void auto_inscribe_item(PlayerType *player_ptr, ItemEntity *o_ptr, int idx);
+void auto_inscribe_item(ItemEntity *o_ptr, int idx);
 int count_line(text_body_type *tb);
 
 /*!
index 1e92434..25d983c 100644 (file)
@@ -89,7 +89,7 @@ void autopick_alter_item(PlayerType *player_ptr, INVENTORY_IDX item, bool destro
     ItemEntity *o_ptr;
     o_ptr = ref_item(player_ptr, item);
     int idx = find_autopick_list(player_ptr, o_ptr);
-    auto_inscribe_item(player_ptr, o_ptr, idx);
+    auto_inscribe_item(o_ptr, idx);
     if (destroy && item <= INVEN_PACK) {
         auto_destroy_item(player_ptr, o_ptr, idx);
     }
@@ -104,7 +104,7 @@ void autopick_pickup_items(PlayerType *player_ptr, grid_type *g_ptr)
         OBJECT_IDX this_o_idx = *it++;
         auto *o_ptr = &player_ptr->current_floor_ptr->o_list[this_o_idx];
         int idx = find_autopick_list(player_ptr, o_ptr);
-        auto_inscribe_item(player_ptr, o_ptr, idx);
+        auto_inscribe_item(o_ptr, idx);
         if ((idx < 0) || (autopick_list[idx].action & (DO_AUTOPICK | DO_QUERY_AUTOPICK)) == 0) {
             auto_destroy_item(player_ptr, o_ptr, idx);
             continue;
index e6644bb..99fa8b8 100644 (file)
@@ -241,7 +241,7 @@ void do_cmd_destroy(PlayerType *player_ptr)
     destroy_ptr->o_ptr->number = destroy_ptr->old_number;
     PlayerEnergy energy(player_ptr);
     energy.set_player_turn_energy(100);
-    if (!can_player_destroy_object(player_ptr, destroy_ptr->o_ptr)) {
+    if (!can_player_destroy_object(destroy_ptr->o_ptr)) {
         energy.reset_player_turn();
         msg_format(_("%sは破壊不可能だ。", "You cannot destroy %s."), destroy_ptr->item_name.data());
         return;
index 0ef7a14..d839942 100644 (file)
@@ -57,7 +57,7 @@ void health_track(PlayerType *player_ptr, MONSTER_IDX m_idx)
     RedrawingFlagsUpdater::get_instance().set_flag(MainWindowRedrawingFlag::HEALTH);
 }
 
-bool update_player(PlayerType *player_ptr)
+bool update_player()
 {
     auto &rfu = RedrawingFlagsUpdater::get_instance();
     const auto flags_srf = {
index 09d1312..e943223 100644 (file)
@@ -9,5 +9,5 @@ void monster_race_track(PlayerType *player_ptr, MonsterRaceId r_idx);
 void object_kind_track(PlayerType *player_ptr, short bi_id);
 void health_track(PlayerType *player_ptr, MONSTER_IDX m_idx);
 
-bool update_player(PlayerType *player_ptr);
+bool update_player();
 bool redraw_player(PlayerType *player_ptr);
index 71f761f..18c1a9e 100644 (file)
@@ -328,7 +328,7 @@ bool get_item_floor(PlayerType *player_ptr, COMMAND_CODE *cp, concptr pmt, concp
         }
 
         if ((command_wrk == (USE_EQUIP) && ni && !ne) || (command_wrk == (USE_INVEN) && !ni && ne)) {
-            toggle_inventory_equipment(player_ptr);
+            toggle_inventory_equipment();
             fis_ptr->toggle = !fis_ptr->toggle;
         }
 
@@ -884,7 +884,7 @@ bool get_item_floor(PlayerType *player_ptr, COMMAND_CODE *cp, concptr pmt, concp
     }
 
     if (fis_ptr->toggle) {
-        toggle_inventory_equipment(player_ptr);
+        toggle_inventory_equipment();
     }
 
     rfu.set_flags(flags);
index 8621de5..fb45077 100644 (file)
@@ -319,7 +319,7 @@ bool get_item(PlayerType *player_ptr, OBJECT_IDX *cp, concptr pmt, concptr str,
         }
 
         if ((command_wrk && ni && !ne) || (!command_wrk && !ni && ne)) {
-            toggle_inventory_equipment(player_ptr);
+            toggle_inventory_equipment();
             item_selection_ptr->toggle = !item_selection_ptr->toggle;
         }
 
@@ -643,7 +643,7 @@ bool get_item(PlayerType *player_ptr, OBJECT_IDX *cp, concptr pmt, concptr str,
     }
 
     if (item_selection_ptr->toggle) {
-        toggle_inventory_equipment(player_ptr);
+        toggle_inventory_equipment();
     }
 
     rfu.set_flags(flags);
index 2f64999..5a20b04 100644 (file)
@@ -239,7 +239,7 @@ void process_command(PlayerType *player_ptr)
     }
 
     case KTRL('I'): {
-        toggle_inventory_equipment(player_ptr);
+        toggle_inventory_equipment();
         break;
     }
     case '+': {
index e87b04c..a2261dc 100644 (file)
@@ -47,21 +47,21 @@ bool enchant_item(PlayerType *player_ptr, PRICE cost, HIT_PROB to_hit, int to_da
 
     bool okay = false;
     for (int i = 0; i < to_hit; i++) {
-        if ((o_ptr->to_h < maxenchant) && enchant_equipment(player_ptr, o_ptr, 1, (ENCH_TOHIT | ENCH_FORCE))) {
+        if ((o_ptr->to_h < maxenchant) && enchant_equipment(o_ptr, 1, (ENCH_TOHIT | ENCH_FORCE))) {
             okay = true;
             break;
         }
     }
 
     for (int i = 0; i < to_dam; i++) {
-        if ((o_ptr->to_d < maxenchant) && enchant_equipment(player_ptr, o_ptr, 1, (ENCH_TODAM | ENCH_FORCE))) {
+        if ((o_ptr->to_d < maxenchant) && enchant_equipment(o_ptr, 1, (ENCH_TODAM | ENCH_FORCE))) {
             okay = true;
             break;
         }
     }
 
     for (int i = 0; i < to_ac; i++) {
-        if ((o_ptr->to_a < maxenchant) && enchant_equipment(player_ptr, o_ptr, 1, (ENCH_TOAC | ENCH_FORCE))) {
+        if ((o_ptr->to_a < maxenchant) && enchant_equipment(o_ptr, 1, (ENCH_TOAC | ENCH_FORCE))) {
             okay = true;
             break;
         }
index ab7e333..4fc1de2 100644 (file)
@@ -104,7 +104,7 @@ static void display_essence(PlayerType *player_ptr)
     return;
 }
 
-static void set_smith_redrawing_flags(PlayerType *player_ptr)
+static void set_smith_redrawing_flags()
 {
     auto &rfu = RedrawingFlagsUpdater::get_instance();
     const auto flags = {
@@ -156,7 +156,7 @@ static void drain_essence(PlayerType *player_ptr)
 
     /* Apply autodestroy/inscription to the drained item */
     autopick_alter_item(player_ptr, item, true);
-    set_smith_redrawing_flags(player_ptr);
+    set_smith_redrawing_flags();
 }
 
 /*!
@@ -516,7 +516,7 @@ static void add_essence(PlayerType *player_ptr, SmithCategoryType mode)
     auto effect_name = Smith::get_effect_name(effect);
 
     _(msg_format("%sに%sの能力を付加しました。", item_name.data(), effect_name), msg_format("You have added ability of %s to %s.", effect_name, item_name.data()));
-    set_smith_redrawing_flags(player_ptr);
+    set_smith_redrawing_flags();
 }
 
 /*!
@@ -542,7 +542,7 @@ static void erase_essence(PlayerType *player_ptr)
     Smith(player_ptr).erase_essence(o_ptr);
 
     msg_print(_("エッセンスを取り去った。", "You removed all essence you have added."));
-    set_smith_redrawing_flags(player_ptr);
+    set_smith_redrawing_flags();
 }
 
 /*!
index f7d1dc1..d8d946d 100644 (file)
@@ -62,12 +62,11 @@ bool item_tester_hook_quaff(PlayerType *player_ptr, const ItemEntity *o_ptr)
 }
 
 /*!
- * @brief 破壊可能なアイテムかを返す /
- * Determines whether an object can be destroyed, and makes fake inscription.
+ * @brief 破壊可能なアイテムかを返す
  * @param o_ptr 破壊可能かを確認したいオブジェクトの構造体参照ポインタ
  * @return オブジェクトが破壊可能ならばTRUEを返す
  */
-bool can_player_destroy_object(PlayerType *player_ptr, ItemEntity *o_ptr)
+bool can_player_destroy_object(ItemEntity *o_ptr)
 {
     /* Artifacts cannot be destroyed */
     if (!o_ptr->is_fixed_or_random_artifact()) {
index ff25fb9..02586c8 100644 (file)
@@ -4,4 +4,4 @@ class ItemEntity;
 class PlayerType;
 bool item_tester_hook_eatable(PlayerType *player_ptr, const ItemEntity *o_ptr);
 bool item_tester_hook_quaff(PlayerType *player_ptr, const ItemEntity *o_ptr);
-bool can_player_destroy_object(PlayerType *player_ptr, ItemEntity *o_ptr);
+bool can_player_destroy_object(ItemEntity *o_ptr);
index d3ae1e9..2d8e23c 100644 (file)
@@ -116,7 +116,7 @@ bool recharge(PlayerType *player_ptr, int power)
     }
 
     if (is_recharge_successful) {
-        return update_player(player_ptr);
+        return update_player();
     }
 
     if (o_ptr->is_fixed_artifact()) {
@@ -127,7 +127,7 @@ bool recharge(PlayerType *player_ptr, int power)
         } else if (o_ptr->is_wand_staff()) {
             o_ptr->pval = 0;
         }
-        return update_player(player_ptr);
+        return update_player();
     }
 
     const auto item_name = describe_flavor(player_ptr, o_ptr, (OD_OMIT_PREFIX | OD_NAME_ONLY));
@@ -226,5 +226,5 @@ bool recharge(PlayerType *player_ptr, int power)
         throw std::logic_error("Invalid fail type!");
     }
 
-    return update_player(player_ptr);
+    return update_player();
 }
index 8b60cb9..3578390 100644 (file)
@@ -292,7 +292,7 @@ bool pulish_shield(PlayerType *player_ptr)
         msg_format("%s %s shine%s!", ((item >= 0) ? "Your" : "The"), item_name.data(), ((o_ptr->number > 1) ? "" : "s"));
 #endif
         o_ptr->ego_idx = EgoType::REFLECTION;
-        enchant_equipment(player_ptr, o_ptr, randint0(3) + 4, ENCH_TOAC);
+        enchant_equipment(o_ptr, randint0(3) + 4, ENCH_TOAC);
         o_ptr->discount = 99;
         chg_virtue(player_ptr, Virtue::ENCHANT, 2);
         return true;
index db1ffe8..a59577e 100644 (file)
@@ -60,7 +60,7 @@ bool alchemy(PlayerType *player_ptr)
         }
     }
 
-    if (!can_player_destroy_object(player_ptr, o_ptr)) {
+    if (!can_player_destroy_object(o_ptr)) {
         msg_format(_("%sを金に変えることに失敗した。", "You fail to turn %s to gold!"), item_name.data());
         return false;
     }
index be78e6e..a6fe794 100644 (file)
@@ -345,7 +345,7 @@ void brand_bolts(PlayerType *player_ptr)
 
         msg_print(_("クロスボウの矢が炎のオーラに包まれた!", "Your bolts are covered in a fiery aura!"));
         o_ptr->ego_idx = EgoType::FLAME;
-        enchant_equipment(player_ptr, o_ptr, randint0(3) + 4, ENCH_TOHIT | ENCH_TODAM);
+        enchant_equipment(o_ptr, randint0(3) + 4, ENCH_TOHIT | ENCH_TODAM);
         return;
     }
 
@@ -377,13 +377,12 @@ static void break_curse(ItemEntity *o_ptr)
 
 /*!
  * @brief 装備修正強化処理
- * @param player_ptr プレイヤーへの参照ポインタ
  * @param o_ptr 強化するアイテムの参照ポインタ
  * @param n 強化基本量
  * @param eflag 強化オプション(命中/ダメージ/AC)
  * @return 強化に成功した場合TRUEを返す
  */
-bool enchant_equipment(PlayerType *player_ptr, ItemEntity *o_ptr, int n, int eflag)
+bool enchant_equipment(ItemEntity *o_ptr, int n, int eflag)
 {
     auto prob = o_ptr->number * 100;
     if (o_ptr->is_ammo()) {
@@ -510,15 +509,15 @@ bool enchant_spell(PlayerType *player_ptr, HIT_PROB num_hit, int num_dam, ARMOUR
 #endif
 
     auto is_enchant_successful = false;
-    if (enchant_equipment(player_ptr, o_ptr, num_hit, ENCH_TOHIT)) {
+    if (enchant_equipment(o_ptr, num_hit, ENCH_TOHIT)) {
         is_enchant_successful = true;
     }
 
-    if (enchant_equipment(player_ptr, o_ptr, num_dam, ENCH_TODAM)) {
+    if (enchant_equipment(o_ptr, num_dam, ENCH_TODAM)) {
         is_enchant_successful = true;
     }
 
-    if (enchant_equipment(player_ptr, o_ptr, num_ac, ENCH_TOAC)) {
+    if (enchant_equipment(o_ptr, num_ac, ENCH_TOAC)) {
         is_enchant_successful = true;
     }
 
@@ -660,7 +659,7 @@ void brand_weapon(PlayerType *player_ptr, int brand_type)
     }
 
     msg_format(_("あなたの%s%s", "Your %s %s"), item_name.data(), act);
-    enchant_equipment(player_ptr, o_ptr, randint0(3) + 4, ENCH_TOHIT | ENCH_TODAM);
+    enchant_equipment(o_ptr, randint0(3) + 4, ENCH_TOHIT | ENCH_TODAM);
     o_ptr->discount = 99;
     chg_virtue(player_ptr, Virtue::ENCHANT, 2);
     calc_android_exp(player_ptr);
index 8e71d04..56adeb3 100644 (file)
@@ -17,6 +17,6 @@ void brand_bolts(PlayerType *player_ptr);
 #define ENCH_TODAM 0x02 /*!< 装備強化処理: ダメージ強化 / Enchant to damage */
 #define ENCH_TOAC 0x04 /*!< 装備強化処理: AC強化 / Enchant to AC */
 #define ENCH_FORCE 0x08 /*!< 装備強化処理: 無条件に成功させる / Force enchantment */
-bool enchant_equipment(PlayerType *player_ptr, ItemEntity *o_ptr, int n, int eflag);
+bool enchant_equipment(ItemEntity *o_ptr, int n, int eflag);
 bool enchant_spell(PlayerType *player_ptr, HIT_PROB num_hit, int num_dam, ARMOUR_CLASS num_ac);
 void brand_weapon(PlayerType *player_ptr, int brand_type);
index 8bf7d16..14f816f 100644 (file)
@@ -304,7 +304,7 @@ void store_purchase(PlayerType *player_ptr, StoreSaleType store_num)
     j_ptr->ident &= ~(IDENT_STORE);
 
     const auto idx = find_autopick_list(player_ptr, j_ptr);
-    auto_inscribe_item(player_ptr, j_ptr, idx);
+    auto_inscribe_item(j_ptr, idx);
 
     item_new = store_item_to_inventory(player_ptr, j_ptr);
     handle_stuff(player_ptr);
index f97af74..f63256b 100644 (file)
@@ -150,7 +150,7 @@ void store_process_command(PlayerType *player_ptr, StoreSaleType store_num)
         break;
     }
     case KTRL('I'): {
-        toggle_inventory_equipment(player_ptr);
+        toggle_inventory_equipment();
         break;
     }
     case 'b': {
index 937457c..7e9fde1 100644 (file)
@@ -837,10 +837,9 @@ void fix_spell(PlayerType *player_ptr)
 }
 
 /*!
- * @brief サブウィンドウに所持品、装備品リストの表示を行う /
- * Flip "inven" and "equip" in any sub-windows
+ * @brief サブウィンドウに所持品、装備品リストの表示を行う
  */
-void toggle_inventory_equipment(PlayerType *player_ptr)
+void toggle_inventory_equipment()
 {
     auto &rfu = RedrawingFlagsUpdater::get_instance();
     for (auto i = 0U; i < angband_terms.size(); ++i) {
index 902c9aa..7dabbd6 100644 (file)
@@ -20,7 +20,7 @@ void fix_object(PlayerType *player_ptr);
 void fix_floor_item_list(PlayerType *player_ptr, const int y, const int x);
 void fix_found_item_list(PlayerType *player_ptr);
 void fix_spell(PlayerType *player_ptr);
-void toggle_inventory_equipment(PlayerType *player_ptr);
+void toggle_inventory_equipment();
 
 /*!
  * @brief サブウィンドウ表示用の ItemTester オブジェクトを設定するクラス
index 543e01a..85c8bda 100644 (file)
@@ -655,8 +655,7 @@ void wiz_jump_to_dungeon(PlayerType *player_ptr)
 }
 
 /*!
- * @brief 全ベースアイテムを鑑定済みにする /
- * Become aware of a lot of objects
+ * @brief 全ベースアイテムを鑑定済みにする
  * @param player_ptr プレイヤーへの参照ポインタ
  */
 void wiz_learn_items_all(PlayerType *player_ptr)
@@ -672,7 +671,7 @@ void wiz_learn_items_all(PlayerType *player_ptr)
     }
 }
 
-static void change_birth_flags(PlayerType *player_ptr)
+static void change_birth_flags()
 {
     auto &rfu = RedrawingFlagsUpdater::get_instance();
     const auto flags_srf = {
@@ -704,7 +703,7 @@ void wiz_reset_race(PlayerType *player_ptr)
 
     player_ptr->prace = i2enum<PlayerRaceType>(val);
     rp_ptr = &race_info[enum2i(player_ptr->prace)];
-    change_birth_flags(player_ptr);
+    change_birth_flags();
     handle_stuff(player_ptr);
 }
 
@@ -723,7 +722,7 @@ void wiz_reset_class(PlayerType *player_ptr)
     cp_ptr = &class_info[val];
     mp_ptr = &class_magics_info[val];
     PlayerClass(player_ptr).init_specific_data();
-    change_birth_flags(player_ptr);
+    change_birth_flags();
     handle_stuff(player_ptr);
 }
 
@@ -745,7 +744,7 @@ void wiz_reset_realms(PlayerType *player_ptr)
 
     player_ptr->realm1 = static_cast<int16_t>(val1);
     player_ptr->realm2 = static_cast<int16_t>(val2);
-    change_birth_flags(player_ptr);
+    change_birth_flags();
     handle_stuff(player_ptr);
 }