OSDN Git Service

[feature] ソースファイルをC++に対応
[hengbandforosx/hengbandosx.git] / src / io-dump / character-dump.c
index 2c8e068..a56f848 100644 (file)
@@ -1,5 +1,6 @@
 #include "io-dump/character-dump.h"
-#include "art-definition/art-bow-types.h"
+#include "artifact/fixed-art-types.h"
+#include "cmd-building/cmd-building.h"
 #include "dungeon/dungeon.h"
 #include "dungeon/quest.h"
 #include "flavor/flavor-describer.h"
@@ -12,7 +13,7 @@
 #include "io/mutations-dump.h"
 #include "io/write-diary.h"
 #include "knowledge/knowledge-quests.h"
-#include "main/init.h"
+#include "main/angband-headers.h"
 #include "market/arena-info-table.h"
 #include "monster-race/monster-race.h"
 #include "monster-race/race-flags1.h"
 #include "monster/smart-learn-types.h"
 #include "object/object-info.h"
 #include "pet/pet-util.h"
-#include "player/avatar.h"
-#include "player/race-info-table.h"
+#include "player-info/avatar.h"
 #include "player/player-status-flags.h"
+#include "player/player-status-table.h"
+#include "player/race-info-table.h"
 #include "realm/realm-names-table.h"
 #include "store/store-util.h"
 #include "store/store.h"
 #include "system/angband-version.h"
+#include "system/building-type-definition.h"
 #include "system/floor-type-definition.h"
 #include "util/int-char-converter.h"
 #include "util/sort.h"
@@ -291,7 +294,7 @@ static void dump_aux_monsters(player_type *creature_ptr, FILE *fff)
     /* Count monster kills */
     long uniq_total = 0;
     long norm_total = 0;
-    for (IDX k = 1; k < max_r_idx; k++) {
+    for (MONRACE_IDX k = 1; k < max_r_idx; k++) {
         /* Ignore unused index */
         monster_race *r_ptr = &r_info[k];
         if (!r_ptr->name)
@@ -344,7 +347,7 @@ static void dump_aux_monsters(player_type *creature_ptr, FILE *fff)
     ang_sort(creature_ptr, who, &why, uniq_total, ang_sort_comp_hook, ang_sort_swap_hook);
     fprintf(fff, _("\n《上位%ld体のユニーク・モンスター》\n", "\n< Unique monsters top %ld >\n"), MIN(uniq_total, 10));
 
-    for (IDX k = uniq_total - 1; k >= 0 && k >= uniq_total - 10; k--) {
+    for (MONRACE_IDX k = uniq_total - 1; k >= 0 && k >= uniq_total - 10; k--) {
         monster_race *r_ptr = &r_info[who[k]];
         fprintf(fff, _("  %-40s (レベル%3d)\n", "  %-40s (level %3d)\n"), (r_name + r_ptr->name), (int)r_ptr->level);
     }
@@ -368,10 +371,10 @@ static void dump_aux_race_history(player_type *creature_ptr, FILE *fff)
         if (creature_ptr->start_race == i)
             continue;
         if (i < 32) {
-            if (!(creature_ptr->old_race1 & 1L << i))
+            if (!(creature_ptr->old_race1 & 1UL << i))
                 continue;
         } else {
-            if (!(creature_ptr->old_race2 & 1L << (i - 32)))
+            if (!(creature_ptr->old_race2 & 1UL << (i - 32)))
                 continue;
         }
 
@@ -394,7 +397,7 @@ static void dump_aux_realm_history(player_type *creature_ptr, FILE *fff)
 
     fputc('\n', fff);
     for (int i = 0; i < MAX_MAGIC; i++) {
-        if (!(creature_ptr->old_realm & 1L << i))
+        if (!(creature_ptr->old_realm & 1UL << i))
             continue;
         fprintf(fff, _("\n あなたはかつて%s魔法を使えた。", "\n You were able to use %s magic before."), realm_names[i + 1]);
     }
@@ -465,9 +468,10 @@ static void dump_aux_equipment_inventory(player_type *creature_ptr, FILE *fff)
     GAME_TEXT o_name[MAX_NLEN];
     if (creature_ptr->equip_cnt) {
         fprintf(fff, _("  [キャラクタの装備]\n\n", "  [Character Equipment]\n\n"));
-        for (inventory_slot_type i = INVEN_RARM; i < INVEN_TOTAL; i++) {
+        for (int i = INVEN_MAIN_HAND; i < INVEN_TOTAL; i++) {
             describe_flavor(creature_ptr, o_name, &creature_ptr->inventory_list[i], 0);
-            if ((((i == INVEN_RARM) && have_left_hand_weapon(creature_ptr)) || ((i == INVEN_LARM) && have_right_hand_weapon(creature_ptr))) && have_two_handed_weapons(creature_ptr))
+            if ((((i == INVEN_MAIN_HAND) && can_attack_with_sub_hand(creature_ptr)) || ((i == INVEN_SUB_HAND) && can_attack_with_main_hand(creature_ptr)))
+                && has_two_handed_weapons(creature_ptr))
                 strcpy(o_name, _("(武器を両手持ち)", "(wielding with two-hands)"));
 
             fprintf(fff, "%c) %s\n", index_to_label(i), o_name);
@@ -539,6 +543,16 @@ static void dump_aux_home_museum(player_type *creature_ptr, FILE *fff)
 }
 
 /*!
+ * @brief チェックサム情報を出力 / Get check sum in string form
+ * @return チェックサム情報の文字列
+ */
+static concptr get_check_sum(void)
+{
+    return format("%02x%02x%02x%02x%02x%02x%02x%02x%02x", f_head.v_extra, k_head.v_extra, a_head.v_extra, e_head.v_extra, r_head.v_extra, d_head.v_extra,
+        m_head.v_extra, s_head.v_extra, v_head.v_extra);
+}
+
+/*!
  * @brief ダンプ出力のメインルーチン
  * Output the character dump to a file
  * @param creature_ptr プレーヤーへの参照ポインタ
@@ -547,8 +561,9 @@ static void dump_aux_home_museum(player_type *creature_ptr, FILE *fff)
  */
 void make_character_dump(player_type *creature_ptr, FILE *fff, void (*update_playtime)(void), display_player_pf display_player)
 {
-    fprintf(
-        fff, _("  [変愚蛮怒 %d.%d.%d キャラクタ情報]\n\n", "  [Hengband %d.%d.%d Character Dump]\n\n"), FAKE_VER_MAJOR - 10, FAKE_VER_MINOR, FAKE_VER_PATCH);
+    char title[127];
+    put_version(title);
+    fprintf(fff, _("  [%s キャラクタ情報]\n\n", "  [%s Character Dump]\n\n"), title);
     (*update_playtime)();
 
     dump_aux_player_status(creature_ptr, fff, display_player);