#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"
#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"
/* 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)
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);
}
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 (inventory_slot_type 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);
}
/*!
+ * @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 プレーヤーへの参照ポインタ
*/
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);
dump_aux_home_museum(creature_ptr, fff);
fprintf(fff, _(" [チェックサム: \"%s\"]\n\n", " [Check Sum: \"%s\"]\n\n"), get_check_sum());
-}
+}
\ No newline at end of file