OSDN Git Service

[Refactor] #37353 Separated hook-perception.c/h from object-hook.c/h
authorHourier <hourier@users.sourceforge.jp>
Sun, 28 Jun 2020 06:14:30 +0000 (15:14 +0900)
committerHourier <hourier@users.sourceforge.jp>
Sun, 28 Jun 2020 06:14:30 +0000 (15:14 +0900)
Hengband/Hengband/Hengband.vcxproj
Hengband/Hengband/Hengband.vcxproj.filters
src/Makefile.am
src/object-hook/hook-perception.c [new file with mode: 0644]
src/object-hook/hook-perception.h [new file with mode: 0644]
src/object/object-hook.c
src/object/object-hook.h
src/spell-kind/spells-perception.c
src/spell/spells3.c

index 86aa24e..9bba822 100644 (file)
     <ClCompile Include="..\..\src\mind\mind-mage.c" />\r
     <ClCompile Include="..\..\src\mind\racial-kutar.c" />\r
     <ClCompile Include="..\..\src\mind\stances-table.c" />\r
+    <ClCompile Include="..\..\src\object-hook\hook-perception.c" />\r
     <ClCompile Include="..\..\src\player\bad-status-setter.c" />\r
     <ClCompile Include="..\..\src\spell-kind\spells-curse-removal.c" />\r
     <ClCompile Include="..\..\src\spell-kind\spells-perception.c" />\r
     <ClInclude Include="..\..\src\mspell\mspells1.h" />\r
     <ClInclude Include="..\..\src\mspell\mspells2.h" />\r
     <ClInclude Include="..\..\src\mspell\mspells3.h" />\r
+    <ClInclude Include="..\..\src\object-hook\hook-perception.h" />\r
     <ClInclude Include="..\..\src\player\bad-status-setter.h" />\r
     <ClInclude Include="..\..\src\player\special-defense-types.h" />\r
     <ClInclude Include="..\..\src\spell-kind\spells-curse-removal.h" />\r
index b911184..65b3552 100644 (file)
     <ClCompile Include="..\..\src\spell\spell-info.c">
       <Filter>spell</Filter>
     </ClCompile>
+    <ClCompile Include="..\..\src\object-hook\hook-perception.c">
+      <Filter>object-hook</Filter>
+    </ClCompile>
   </ItemGroup>
   <ItemGroup>
     <ClInclude Include="..\..\src\cmd\cmd-basic.h">
     <ClInclude Include="..\..\src\spell\spell-info.h">
       <Filter>spell</Filter>
     </ClInclude>
+    <ClInclude Include="..\..\src\object-hook\hook-perception.h">
+      <Filter>object-hook</Filter>
+    </ClInclude>
   </ItemGroup>
   <ItemGroup>
     <None Include="..\..\src\wall.bmp" />
     <Filter Include="cmd-building">
       <UniqueIdentifier>{6982e0e0-d2db-422e-8e92-77b1276e4030}</UniqueIdentifier>
     </Filter>
+    <Filter Include="object-hook">
+      <UniqueIdentifier>{e466c69b-eaf4-4110-bc9d-e865b36cc732}</UniqueIdentifier>
+    </Filter>
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\..\src\angband.rc" />
index ed6b9f3..9240f9d 100644 (file)
@@ -432,6 +432,8 @@ hengband_SOURCES = \
        object-enchant/trg-types.h \
        object-enchant/vorpal-weapon.c object-enchant/vorpal-weapon.h \
        \
+       object-hook/hook-perception.c object-hook/hook-perception.h \
+       \
        perception/identification.c perception/identification.h \
        perception/object-perception.c perception/object-perception.h \
        perception/simple-perception.c perception/simple-perception.h \
diff --git a/src/object-hook/hook-perception.c b/src/object-hook/hook-perception.c
new file mode 100644 (file)
index 0000000..12717c8
--- /dev/null
@@ -0,0 +1,84 @@
+#include "object-hook/hook-perception.h"
+#include "object/object-hook.h"
+#include "perception/object-perception.h"
+#include "system/object-type-definition.h"
+
+/*!
+ * @brief アイテムが並の価値のアイテムかどうか判定する /
+ * Check if an object is nameless weapon or armour
+ * @param o_ptr 判定するアイテムの情報参照ポインタ
+ * @return 並ならばTRUEを返す
+ */
+bool item_tester_hook_nameless_weapon_armour(player_type *player_ptr, object_type *o_ptr)
+{
+    /* Unused */
+    (void)player_ptr;
+
+    /* Require weapon or armour */
+    if (!object_is_weapon_armour_ammo(player_ptr, o_ptr))
+        return FALSE;
+
+    /* Require nameless object if the object is well known */
+    if (object_is_known(o_ptr) && !object_is_nameless(player_ptr, o_ptr))
+        return FALSE;
+
+    return TRUE;
+}
+
+/*!
+ * @brief アイテムが鑑定済みかを判定する /
+ * @param o_ptr 判定するアイテムの情報参照ポインタ
+ * @return 実際に鑑定済みならばTRUEを返す
+ */
+bool item_tester_hook_identify(player_type *player_ptr, object_type *o_ptr)
+{
+    /* Unused */
+    (void)player_ptr;
+
+    return (bool)!object_is_known(o_ptr);
+}
+
+/*!
+ * @brief アイテムが鑑定済みの武器防具かを判定する /
+ * @param o_ptr 判定するアイテムの情報参照ポインタ
+ * @return 実際に鑑定済みならばTRUEを返す
+ */
+bool item_tester_hook_identify_weapon_armour(player_type *player_ptr, object_type *o_ptr)
+{
+    /* Unused */
+    (void)player_ptr;
+
+    if (object_is_known(o_ptr))
+
+        return FALSE;
+    return object_is_weapon_armour_ammo(player_ptr, o_ptr);
+}
+
+/*!
+ * @brief アイテムが*鑑定*済みかを判定する /
+ * @param o_ptr 判定するアイテムの情報参照ポインタ
+ * @return 実際に鑑定済みならばTRUEを返す
+ */
+bool item_tester_hook_identify_fully(player_type *player_ptr, object_type *o_ptr)
+{
+    /* Unused */
+    (void)player_ptr;
+
+    return (bool)(!object_is_known(o_ptr) || !object_is_fully_known(o_ptr));
+}
+
+/*!
+ * @brief アイテムが*鑑定*済みの武器防具かを判定する /
+ * @param o_ptr 判定するアイテムの情報参照ポインタ
+ * @return 実際に鑑定済みならばTRUEを返す
+ */
+bool item_tester_hook_identify_fully_weapon_armour(player_type *player_ptr, object_type *o_ptr)
+{
+    /* Unused */
+    (void)player_ptr;
+
+    if (!item_tester_hook_identify_fully(player_ptr, o_ptr))
+        return FALSE;
+
+    return object_is_weapon_armour_ammo(player_ptr, o_ptr);
+}
diff --git a/src/object-hook/hook-perception.h b/src/object-hook/hook-perception.h
new file mode 100644 (file)
index 0000000..351318a
--- /dev/null
@@ -0,0 +1,9 @@
+#pragma once
+
+#include "system/angband.h"
+
+bool item_tester_hook_nameless_weapon_armour(player_type *player_ptr, object_type *o_ptr);
+bool item_tester_hook_identify(player_type *player_ptr, object_type *o_ptr);
+bool item_tester_hook_identify_weapon_armour(player_type *player_ptr, object_type *o_ptr);
+bool item_tester_hook_identify_fully(player_type *player_ptr, object_type *o_ptr);
+bool item_tester_hook_identify_fully_weapon_armour(player_type *player_ptr, object_type *o_ptr);
index 9eec7b7..db97336 100644 (file)
@@ -395,86 +395,6 @@ bool item_tester_hook_cursed(player_type *player_ptr, object_type *o_ptr)
 }
 
 /*!
- * @brief アイテムが並の価値のアイテムかどうか判定する /
- * Check if an object is nameless weapon or armour
- * @param o_ptr 判定するアイテムの情報参照ポインタ
- * @return 並ならばTRUEを返す
- */
-bool item_tester_hook_nameless_weapon_armour(player_type *player_ptr, object_type *o_ptr)
-{
-    /* Unused */
-    (void)player_ptr;
-
-    /* Require weapon or armour */
-    if (!object_is_weapon_armour_ammo(player_ptr, o_ptr))
-        return FALSE;
-
-    /* Require nameless object if the object is well known */
-    if (object_is_known(o_ptr) && !object_is_nameless(player_ptr, o_ptr))
-        return FALSE;
-
-    return TRUE;
-}
-
-/*!
- * @brief アイテムが鑑定済みかを判定する /
- * @param o_ptr 判定するアイテムの情報参照ポインタ
- * @return 実際に鑑定済みならばTRUEを返す
- */
-bool item_tester_hook_identify(player_type *player_ptr, object_type *o_ptr)
-{
-    /* Unused */
-    (void)player_ptr;
-
-    return (bool)!object_is_known(o_ptr);
-}
-
-/*!
- * @brief アイテムが鑑定済みの武器防具かを判定する /
- * @param o_ptr 判定するアイテムの情報参照ポインタ
- * @return 実際に鑑定済みならばTRUEを返す
- */
-bool item_tester_hook_identify_weapon_armour(player_type *player_ptr, object_type *o_ptr)
-{
-    /* Unused */
-    (void)player_ptr;
-
-    if (object_is_known(o_ptr))
-
-        return FALSE;
-    return object_is_weapon_armour_ammo(player_ptr, o_ptr);
-}
-
-/*!
- * @brief アイテムが*鑑定*済みかを判定する /
- * @param o_ptr 判定するアイテムの情報参照ポインタ
- * @return 実際に鑑定済みならばTRUEを返す
- */
-bool item_tester_hook_identify_fully(player_type *player_ptr, object_type *o_ptr)
-{
-    /* Unused */
-    (void)player_ptr;
-
-    return (bool)(!object_is_known(o_ptr) || !object_is_fully_known(o_ptr));
-}
-
-/*!
- * @brief アイテムが*鑑定*済みの武器防具かを判定する /
- * @param o_ptr 判定するアイテムの情報参照ポインタ
- * @return 実際に鑑定済みならばTRUEを返す
- */
-bool item_tester_hook_identify_fully_weapon_armour(player_type *player_ptr, object_type *o_ptr)
-{
-    /* Unused */
-    (void)player_ptr;
-
-    if (!item_tester_hook_identify_fully(player_ptr, o_ptr))
-        return FALSE;
-
-    return object_is_weapon_armour_ammo(player_ptr, o_ptr);
-}
-
-/*!
  * @brief 魔力充填が可能なアイテムかどうか判定する /
  * Hook for "get_item()".  Determine if something is rechargable.
  * @param o_ptr 判定するアイテムの情報参照ポインタ
index 32ef3ef..6c6fdf0 100644 (file)
@@ -22,11 +22,6 @@ bool item_tester_hook_readable(player_type *player_ptr, object_type *o_ptr);
 bool item_tester_hook_melee_ammo(player_type *player_ptr, object_type *o_ptr);
 bool item_tester_hook_weapon_except_bow(player_type *player_ptr, object_type *o_ptr);
 bool item_tester_hook_cursed(player_type *player_ptr, object_type *o_ptr);
-bool item_tester_hook_nameless_weapon_armour(player_type *player_ptr, object_type *o_ptr);
-bool item_tester_hook_identify(player_type *player_ptr, object_type *o_ptr);
-bool item_tester_hook_identify_weapon_armour(player_type *player_ptr, object_type *o_ptr);
-bool item_tester_hook_identify_fully(player_type *player_ptr, object_type *o_ptr);
-bool item_tester_hook_identify_fully_weapon_armour(player_type *player_ptr, object_type *o_ptr);
 
 bool item_tester_learn_spell(player_type *player_ptr, object_type *o_ptr);
 bool item_tester_high_level_book(object_type *o_ptr);
index 37c3530..8f40e75 100644 (file)
@@ -6,6 +6,7 @@
 #include "inventory/player-inventory.h"
 #include "io/write-diary.h"
 #include "object-enchant/special-object-flags.h"
+#include "object-hook/hook-perception.h"
 #include "object/item-use-flags.h"
 #include "object/object-flavor.h"
 #include "object/object-hook.h"
index 0100fdc..9221345 100644 (file)
@@ -66,6 +66,7 @@
 #include "object-enchant/special-object-flags.h"
 #include "object-enchant/tr-types.h"
 #include "object-enchant/trc-types.h"
+#include "object-hook/hook-perception.h"
 #include "object/item-use-flags.h"
 #include "object/object-flavor.h"
 #include "object/object-generator.h"