OSDN Git Service

[Refactor] #40275 Separated arena_info_table.c/h from bldg.c/h
authorHourier <hourier@users.sourceforge.jp>
Tue, 21 Apr 2020 10:17:23 +0000 (19:17 +0900)
committerHourier <hourier@users.sourceforge.jp>
Tue, 21 Apr 2020 10:17:48 +0000 (19:17 +0900)
14 files changed:
Hengband_vcs2017/Hengband/Hengband.vcxproj
Hengband_vcs2017/Hengband/Hengband.vcxproj.filters
src/bldg.c
src/bldg.h
src/character-dump.c
src/core.c
src/floor-generate.c
src/io/write-diary.c
src/market/arena_info_table.c [new file with mode: 0644]
src/market/arena_info_table.h [new file with mode: 0644]
src/monster1.c
src/player-damage.c
src/player-status.c
src/view-mainwindow.c

index b5159bd..a45b379 100644 (file)
     <ClCompile Include="..\..\src\io\special-class-dump.c" />\r
     <ClCompile Include="..\..\src\io\tokenizer.c" />\r
     <ClCompile Include="..\..\src\io\write-diary.c" />\r
+    <ClCompile Include="..\..\src\market\arena_info_table.c" />\r
     <ClCompile Include="..\..\src\market\articles-on-sale.c" />\r
     <ClCompile Include="..\..\src\market\black-market.c" />\r
     <ClCompile Include="..\..\src\market\building-util.c" />\r
     <ClInclude Include="..\..\src\io\special-class-dump.h" />\r
     <ClInclude Include="..\..\src\io\tokenizer.h" />\r
     <ClInclude Include="..\..\src\io\write-diary.h" />\r
+    <ClInclude Include="..\..\src\market\arena_info_table.h" />\r
     <ClInclude Include="..\..\src\market\articles-on-sale.h" />\r
     <ClInclude Include="..\..\src\market\black-market.h" />\r
     <ClInclude Include="..\..\src\market\building-util.h" />\r
index c81a861..824165d 100644 (file)
     <ClCompile Include="..\..\src\view\display-fruit.c">
       <Filter>view</Filter>
     </ClCompile>
+    <ClCompile Include="..\..\src\market\arena_info_table.c">
+      <Filter>market</Filter>
+    </ClCompile>
   </ItemGroup>
   <ItemGroup>
     <ClInclude Include="..\..\src\gamevalue.h" />
     <ClInclude Include="..\..\src\view\display-fruit.h">
       <Filter>view</Filter>
     </ClInclude>
+    <ClInclude Include="..\..\src\market\arena_info_table.h">
+      <Filter>market</Filter>
+    </ClInclude>
   </ItemGroup>
   <ItemGroup>
     <None Include="..\..\src\wall.bmp" />
index 32c0213..11503a8 100644 (file)
@@ -64,6 +64,7 @@
 
 #include "market/poker.h"
 #include "market/building-util.h"
+#include "market/arena_info_table.h"
 #include "view/display-fruit.h"
 
 /*
@@ -82,57 +83,6 @@ bool reinit_wilderness = FALSE;
 MONSTER_IDX today_mon;
 
 /*!
- * todo MAX_ARENA_MONSが定義されていない旨のエラーが出る……がコンパイルには成功する
- * @brief 闘技場のモンスターID及び報酬アイテムテーブル
- */
-const arena_type arena_info[MAX_ARENA_MONS + 2] =
-{
-       { MON_NOBORTA,       TV_AMULET, SV_AMULET_ADORNMENT           },
-       { MON_MORI_TROLL,    TV_FOOD,   SV_FOOD_PINT_OF_WINE          },
-       { MON_IMP,           TV_POTION, SV_POTION_SPEED               },
-       { MON_LION_HEART,    0,         0                             },
-       { MON_MASTER_YEEK,   TV_POTION, SV_POTION_CURING              },
-       { MON_SABRE_TIGER,   TV_WAND,   SV_WAND_STONE_TO_MUD          },
-       { MON_LIZARD_KING,   TV_WAND,   SV_WAND_TELEPORT_AWAY         },
-       { MON_WYVERN,        TV_POTION, SV_POTION_HEALING             },
-       { MON_ARCH_VILE,     TV_POTION, SV_POTION_RESISTANCE          },
-       { MON_ELF_LORD   ,   TV_POTION, SV_POTION_ENLIGHTENMENT       },
-       { MON_GHOUL_KING,    TV_FOOD,   SV_FOOD_RESTORING             },
-       { MON_COLBRAN,       TV_RING,   SV_RING_ELEC                  },
-       { MON_BICLOPS,       TV_WAND,   SV_WAND_ACID_BALL             },
-       { MON_M_MINDCRAFTER, TV_POTION, SV_POTION_SELF_KNOWLEDGE      },
-       { MON_GROO,          TV_SCROLL, SV_SCROLL_ACQUIREMENT         },
-       { MON_RAAL,          TV_SCROLL, SV_SCROLL_STAR_DESTRUCTION    },
-       { MON_DREADMASTER,   TV_WAND,   SV_WAND_HYPODYNAMIA            },
-       { MON_ULTRA_PALADIN, TV_STAFF,  SV_STAFF_DISPEL_EVIL          },
-       { MON_BARNEY,        TV_RING,   SV_RING_RES_CHAOS             },
-       { MON_TROLL_KING,    TV_SCROLL, SV_SCROLL_MASS_GENOCIDE       },
-       { MON_BARON_HELL,    TV_POTION, SV_POTION_AUGMENTATION        },
-       { MON_F_ANGEL,       TV_SCROLL, SV_SCROLL_RUNE_OF_PROTECTION  },
-       { MON_G_C_DRAKE,     TV_WAND,   SV_WAND_DRAGON_FIRE           },
-       { MON_IRON_LICH,     TV_STAFF,  SV_STAFF_DESTRUCTION          },
-       { MON_DROLEM,        TV_POTION, SV_POTION_STAR_HEALING        },
-       { MON_G_TITAN,       TV_WAND,   SV_WAND_GENOCIDE              },
-       { MON_G_BALROG,      TV_POTION, SV_POTION_EXPERIENCE          },
-       { MON_ELDER_VAMPIRE, TV_RING,   SV_RING_SUSTAIN               },
-       { MON_NIGHTWALKER,   TV_WAND,   SV_WAND_STRIKING              },
-       { MON_S_TYRANNO,     TV_SCROLL, SV_SCROLL_STAR_ACQUIREMENT    },
-       { MON_G_MASTER_MYS,  TV_ROD,    SV_ROD_IDENTIFY               },
-       { MON_LORD_CHAOS,    TV_POTION, SV_POTION_LIFE                },
-       { MON_SHADOWLORD,    TV_POTION, SV_POTION_STAR_ENLIGHTENMENT  },
-       { MON_ULT_BEHOLDER,  TV_AMULET, SV_AMULET_REFLECTION          },
-       { MON_JABBERWOCK,    TV_ROD,    SV_ROD_HEALING                },
-       { MON_LOCKE_CLONE,   TV_WAND,   SV_WAND_DISINTEGRATE          },
-       { MON_WYRM_SPACE,    TV_ROD,    SV_ROD_RESTORATION            },
-       { MON_SHAMBLER,      TV_SCROLL, SV_SCROLL_STAR_ACQUIREMENT    },
-       { MON_BLACK_REAVER,  TV_RING,   SV_RING_LORDLY                },
-       { MON_FENGHUANG,     TV_STAFF,  SV_STAFF_THE_MAGI             },
-       { MON_WYRM_POWER,    TV_SCROLL, SV_SCROLL_ARTIFACT            },
-       { 0,                 0,         0                             }, /* Victory prizing */
-       { MON_HAGURE,        TV_SCROLL, SV_SCROLL_ARTIFACT            },
-};
-
-/*!
  * @brief 施設毎に設定された種族、職業、魔法領域フラグがプレイヤーと一致するかを判定する。
  * @details 各種ギルドや寺院など、特定の職業ならば優遇措置を得られる施設、
  * あるいは食堂など特定の種族では利用できない施設の判定処理を行う。
index 6db9f64..f1bf6ef 100644 (file)
@@ -5,7 +5,6 @@
 #include "player-class.h"
 
 #define MAX_BLDG 32 /*!< 施設の種類最大数 / Number of buildings */
-#define MAX_ARENA_MONS 41 /*<! 闘技場のイベント件数 -KMW- */
 
 #define BUILDING_NON_MEMBER 0 /*!< 不明(現在未使用) */
 #define BUILDING_MEMBER     1 /*!< 不明(現在未使用) */
@@ -114,7 +113,6 @@ typedef struct
        OBJECT_SUBTYPE_VALUE sval;  /*!< モンスター打倒後に得られるアイテムの小カテゴリID / sval of prize */
 } arena_type;
 
-extern const arena_type arena_info[MAX_ARENA_MONS + 2];
 extern void update_gambling_monsters(player_type *player_ptr);
 extern void do_cmd_bldg(player_type *player_ptr);
 
index 2c1b71f..7a6a629 100644 (file)
@@ -17,6 +17,7 @@
 #include "io/write-diary.h"
 #include "avatar.h"
 #include "market/store-util.h"
+#include "market/arena_info_table.h"
 
 /*!
  * @brief プレイヤーのペット情報をファイルにダンプする
index 4f03e89..591e2e2 100644 (file)
@@ -65,6 +65,7 @@
 #include "mind.h"
 #include "world.h"
 #include "mutation.h"
+#include "market/arena_info_table.h"
 #include "market/store-util.h"
 #include "quest.h"
 #include "artifact.h"
index a6d4838..de2be9d 100644 (file)
 #include "io/write-diary.h"
 #include "cmd/cmd-dump.h"
 #include "grid.h"
+#include "market/arena_info_table.h"
 #include "rooms.h"
 #include "dungeon.h"
 #include "floor.h"
index aa264a7..19028f2 100644 (file)
@@ -11,6 +11,7 @@
 #include "dungeon.h"
 #include "dungeon-file.h"
 #include "world.h"
+#include "market/arena_info_table.h"
 
 // todo *抹殺* したい…
 bool write_level;
diff --git a/src/market/arena_info_table.c b/src/market/arena_info_table.c
new file mode 100644 (file)
index 0000000..c90b233
--- /dev/null
@@ -0,0 +1,52 @@
+#include "angband.h"
+#include "arena_info_table.h"
+
+/*!
+ * @brief 闘技場のモンスターID及び報酬アイテムテーブル
+ */
+const arena_type arena_info[MAX_ARENA_MONS + 2] =
+{
+       { MON_NOBORTA,       TV_AMULET, SV_AMULET_ADORNMENT           },
+       { MON_MORI_TROLL,    TV_FOOD,   SV_FOOD_PINT_OF_WINE          },
+       { MON_IMP,           TV_POTION, SV_POTION_SPEED               },
+       { MON_LION_HEART,    0,         0                             },
+       { MON_MASTER_YEEK,   TV_POTION, SV_POTION_CURING              },
+       { MON_SABRE_TIGER,   TV_WAND,   SV_WAND_STONE_TO_MUD          },
+       { MON_LIZARD_KING,   TV_WAND,   SV_WAND_TELEPORT_AWAY         },
+       { MON_WYVERN,        TV_POTION, SV_POTION_HEALING             },
+       { MON_ARCH_VILE,     TV_POTION, SV_POTION_RESISTANCE          },
+       { MON_ELF_LORD   ,   TV_POTION, SV_POTION_ENLIGHTENMENT       },
+       { MON_GHOUL_KING,    TV_FOOD,   SV_FOOD_RESTORING             },
+       { MON_COLBRAN,       TV_RING,   SV_RING_ELEC                  },
+       { MON_BICLOPS,       TV_WAND,   SV_WAND_ACID_BALL             },
+       { MON_M_MINDCRAFTER, TV_POTION, SV_POTION_SELF_KNOWLEDGE      },
+       { MON_GROO,          TV_SCROLL, SV_SCROLL_ACQUIREMENT         },
+       { MON_RAAL,          TV_SCROLL, SV_SCROLL_STAR_DESTRUCTION    },
+       { MON_DREADMASTER,   TV_WAND,   SV_WAND_HYPODYNAMIA            },
+       { MON_ULTRA_PALADIN, TV_STAFF,  SV_STAFF_DISPEL_EVIL          },
+       { MON_BARNEY,        TV_RING,   SV_RING_RES_CHAOS             },
+       { MON_TROLL_KING,    TV_SCROLL, SV_SCROLL_MASS_GENOCIDE       },
+       { MON_BARON_HELL,    TV_POTION, SV_POTION_AUGMENTATION        },
+       { MON_F_ANGEL,       TV_SCROLL, SV_SCROLL_RUNE_OF_PROTECTION  },
+       { MON_G_C_DRAKE,     TV_WAND,   SV_WAND_DRAGON_FIRE           },
+       { MON_IRON_LICH,     TV_STAFF,  SV_STAFF_DESTRUCTION          },
+       { MON_DROLEM,        TV_POTION, SV_POTION_STAR_HEALING        },
+       { MON_G_TITAN,       TV_WAND,   SV_WAND_GENOCIDE              },
+       { MON_G_BALROG,      TV_POTION, SV_POTION_EXPERIENCE          },
+       { MON_ELDER_VAMPIRE, TV_RING,   SV_RING_SUSTAIN               },
+       { MON_NIGHTWALKER,   TV_WAND,   SV_WAND_STRIKING              },
+       { MON_S_TYRANNO,     TV_SCROLL, SV_SCROLL_STAR_ACQUIREMENT    },
+       { MON_G_MASTER_MYS,  TV_ROD,    SV_ROD_IDENTIFY               },
+       { MON_LORD_CHAOS,    TV_POTION, SV_POTION_LIFE                },
+       { MON_SHADOWLORD,    TV_POTION, SV_POTION_STAR_ENLIGHTENMENT  },
+       { MON_ULT_BEHOLDER,  TV_AMULET, SV_AMULET_REFLECTION          },
+       { MON_JABBERWOCK,    TV_ROD,    SV_ROD_HEALING                },
+       { MON_LOCKE_CLONE,   TV_WAND,   SV_WAND_DISINTEGRATE          },
+       { MON_WYRM_SPACE,    TV_ROD,    SV_ROD_RESTORATION            },
+       { MON_SHAMBLER,      TV_SCROLL, SV_SCROLL_STAR_ACQUIREMENT    },
+       { MON_BLACK_REAVER,  TV_RING,   SV_RING_LORDLY                },
+       { MON_FENGHUANG,     TV_STAFF,  SV_STAFF_THE_MAGI             },
+       { MON_WYRM_POWER,    TV_SCROLL, SV_SCROLL_ARTIFACT            },
+       { 0,                 0,         0                             }, /* Victory prizing */
+       { MON_HAGURE,        TV_SCROLL, SV_SCROLL_ARTIFACT            },
+};
diff --git a/src/market/arena_info_table.h b/src/market/arena_info_table.h
new file mode 100644 (file)
index 0000000..0a23a0d
--- /dev/null
@@ -0,0 +1,5 @@
+#pragma once
+
+#define MAX_ARENA_MONS 41 /*<! 闘技場のイベント件数 -KMW- */
+
+extern const arena_type arena_info[MAX_ARENA_MONS + 2];
index 23dee9a..0cccf90 100644 (file)
@@ -38,6 +38,7 @@
 #include "view-mainwindow.h"
 #include "player-class.h"
 #include "english.h"
+#include "market/arena_info_table.h"
 
  /*
   * Pronoun arrays, by gender.
index 7ab7794..348e080 100644 (file)
@@ -7,6 +7,7 @@
 #include "bldg.h"
 #include "io/write-diary.h"
 #include "cmd/cmd-dump.h"
+#include "market/arena_info_table.h"
 #include "realm-song.h"
 #include "floor.h"
 #include "artifact.h"
index 15b5214..cf9686e 100644 (file)
@@ -44,6 +44,7 @@
 #include "cmd-magiceat.h"
 
 #include "horror-descriptions.h"
+#include "market/arena_info_table.h"
 
 /*!
  * @brief 能力値テーブル / Abbreviations of healthy stats
index 4073112..894e546 100644 (file)
@@ -45,6 +45,8 @@
 #include "objectkind.h"
 #include "targeting.h"
 
+#include "market/arena_info_table.h"
+
  /*
   * Not using graphical tiles for this feature?
   */